본문 바로가기

전체 글63

HttpSession 와 HttpServletRequest 보호되어 있는 글 입니다. 2023. 12. 20.
OpenWrt 21.02 불친절한 패키지 속에서 살아남기 보호되어 있는 글 입니다. 2023. 12. 3.
도메인기준 네이밍 vs 기능의 과정 기준 네이밍 의문: 하나의 기능이 실행될때, 동작하는 해당 과정(메서드나 변수 등등)의 역할 중심으로 네이밍을 해야할까? 아니면 철저하게 해당 과정이 하는 일을 기준으로 네이밍을 해야 할까? 박제하기 위해 캡쳐 했다. 기획했던 필수기능을 컨트롤러에 나열 했다 프론트에서 인자를 담아 요청하면 실행된다 주요 기능은 파싱, 유튜브api 요청, DB 저장 이다 저장후 바로 메인페이지로 리다이랙트 시킬지 비동기 컨트롤러를 추가해 고정 페이지에서 유효 url 통과 응답을 목업으로 출력후 사용자의 의지에 의해 패이지이동을 시킬지 이 선택사항은 기능을 구현 하고난뒤 생각할 문제다 본론: 짧은 네이밍이 좋다고 생각했었는데 딱봤을때 기능을 이해할수있는 이름을 지으려면 n개의 간단한 단어를 조합하는것이 좋다고 생각한다 요즘 고민은 그 .. 2023. 11. 21.
DB 마이그레이션 보호되어 있는 글 입니다. 2023. 9. 3.
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.
ChatGPT의 코드리뷰 적용 기록 보호되어 있는 글 입니다. 2023. 6. 1.
ChatGPT가 코드리뷰를 할수 있을까? 보호되어 있는 글 입니다. 2023. 6. 1.