본문 바로가기

생각정리8

도메인기준 네이밍 vs 기능의 과정 기준 네이밍 의문: 하나의 기능이 실행될때, 동작하는 해당 과정(메서드나 변수 등등)의 역할 중심으로 네이밍을 해야할까? 아니면 철저하게 해당 과정이 하는 일을 기준으로 네이밍을 해야 할까? 박제하기 위해 캡쳐 했다. 기획했던 필수기능을 컨트롤러에 나열 했다 프론트에서 인자를 담아 요청하면 실행된다 주요 기능은 파싱, 유튜브api 요청, DB 저장 이다 저장후 바로 메인페이지로 리다이랙트 시킬지 비동기 컨트롤러를 추가해 고정 페이지에서 유효 url 통과 응답을 목업으로 출력후 사용자의 의지에 의해 패이지이동을 시킬지 이 선택사항은 기능을 구현 하고난뒤 생각할 문제다 본론: 짧은 네이밍이 좋다고 생각했었는데 딱봤을때 기능을 이해할수있는 이름을 지으려면 n개의 간단한 단어를 조합하는것이 좋다고 생각한다 요즘 고민은 그 .. 2023. 11. 21.
Java LTS 버전별 특징에 대한 내 생각 LTS인 8, 11, 17 에 대해 내가 중요하게 생각하는것들만 정리 해봤다 Java 8 람다 표현식 / 디폴트 메서드 (인터페이스) / static 메서드 (인터페이스) Java 11 HTTP 클라이언트 업데이트 / 향상된 접근 제한자 (var) Java 17 swith 문 개선 / ARM 아키텍쳐 지원 (M1 macOS ) Java 8 - 인터페이스의 기능 확장 디폴트 메서드와 스테틱 메서드 모두 인터페이스를 확장하거나 개선하는 요소라고 생각한다 인터페이스는 오래전부터 있었지만 Java8에서 인터페이스에 대한 업데이트가 있다는건 Java8 즈음 부터 인터페이스에 대한 개선이 필요했던것이 아닐까 생각한다 Java11 - HTTP 클라이언트 확장 HTTP2와 websocket 에 대한 내용 이다 HTTP.. 2023. 7. 31.
완전 탐색과 이분탐색 비교 java18111 BF 문제를 풀었다 https://www.acmicpc.net/problem/18111 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 www.acmicpc.net 이 문제는 어려워 보이지만 브루트포스로 풀경우 특이사항을 무시하고 0~256층 까지 무조건 연산해서 최적의 답을 출력하면 쉽게 통과 할 수 있었다 조금 연산 시간을 줄여보자면 2차원 배열 값의 최소,최대 수 범위를 넘어선 값이 답으로 나올수 없기때문에 층의범위 0~256 를 2차원 배열의 min~max 범위롤 줄여주면 조금 범위를 출일수 있다 당연히 0~25.. 2023. 7. 14.
ChatGPT와 코드 비교 (greedy) 그리디유형의 문제를 풀고 있었다 https://www.acmicpc.net/problem/14916 14916번: 거스름돈 첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다. www.acmicpc.net 간단한 문제여서 첫 시도에 통과후 다른사람의 코드와 ChatGPT의 코드를 살펴보고 있었다 카태고리가 그리디유형 이였지만 N을 나눠가거나 곱해가는 문제는 패턴을 알면 O(1)로 시간을 대폭 개선 할수 있을것이라 생각했기 때문에 패턴부터 파악했다 패턴 설명 더보기 1~4 까지는 예외처리, 그후부터 일정한 패턴을 가진다 사실 1~4도 일정한 패턴을 준수하지만 5보다 작은수 이기 때문에 동전을 -X개 줄수없다 그래서 예외로 처리 해주어야 한다 N 5원 2원 출력(동전 갯수) 1 -1 2 5.. 2023. 6. 18.
Arrays.sort()와 Collections.sort() 알고리즘 sort 문제를 풀었다 간단한 문제였기 때문에 평소에 궁금했던 빠른 입출력의 시간차이를 알아보기 좋다고 생각했다 Scanner 보다는 bufferedReader 가 빠른것은 당연하다 bufferedWriter와 StringBuilder 중 StringBuilder 가 더 빠르다 굳이 bufferWriter를 사용할 필요는 없다 그리고 이 문제에서 요구하는? 1. Arrays.sort 와 2. Collections.sort를 비교해봤다 1은 배열을 정렬하는, 2는 리스트를 정렬한다 나는 BufferedReader + Arrays.sort + BufferedWriter BufferedReader + Collections.sort + BufferedWriter 로 비교해봤다 둘의 큰 차이는없었다 Bu.. 2023. 4. 27.
chatGPT 가 GitHub 코드리뷰를 할수있을까? 보호되어 있는 글 입니다. 2023. 2. 23.
BOJ PS java 2941 크로아티아 알파벳 package org.problem.solving.BOJ; import java.util.Scanner; public class Java2941 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.nextLine(); sc.close(); int num =0; for (int i=0;i 2023. 2. 17.
교내 대회 대상 수상 기록 2021년 12 월 24일 캡스톤 디자인 경진 대회 대상 safe of kickboard 아이디어를 경진대회 출품작으로 선택했고 생명의 수호자 팀에서 4명의 인원중 팀리더를 담당 했다 safe of kickboard(SOK) 는 늘어나는 전기 킥보드 서비스에 비해 지켜지지 않는 안전규칙 때문에 늘어나는 안전사고 소식과, 안좋아지는 전동킥보드의 인식을 개선해보자는 취지로 시작하게 되었다 사용자의 의지에 의해 지켜지는 규칙들은 사용자에게 강제할 수 없어 지켜지기 어렵다 하지만 전동킥보드를 운영하는 업체의 서비스에 sok가 채택 된다면 안전규칙을 지키지 않아 발생하는 사고를 줄일 수 있다 SOK는 사용자가 안전 규칙을 지켰는지 확인한 뒤 킥보드를 사용할 수 있도록 강제하여 안전사고를 줄이는 서비스이다 SOK .. 2022. 2. 17.