일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- AWS
- Redis
- EC2
- 어노테이션
- 유효성 검사
- Intellij
- Til
- aop
- algorihm
- querydls
- MSA
- algorithm
- Github Actions
- Java
- JPA
- CI/CD
- 객체지향원칙
- testcode
- rabbitmq
- trouble shooting
- spring boot
- 멀티 모듈
- 테스트 코드
- swagger
- 프로그래머스
- JWT
- docker
- springboot
- Kafka
- DevOps
- Today
- Total
목록Java (6)
개발노트
문제상근이는 환갑을 바라보던 나이에 수능 시험을 다시보고 교대에 입학했고, 초등학교 선생님으로 취직했다.상근: 요즘 애들은 친구를 사귀지 않나봐. 내가 앞에서 보고 있으면, 친구가 있는 학생이 별로 없는 것 같아.??: 오빠! 오빠는 말콤의 친구와 성적이라는 책 안 읽어 봤어? 이 책에는 성적과 친구가 무슨 관계가 있는지 나와. 요즘 애들은 친구를 사귀기 전에 먼저 그 친구의 반 등수를 살펴봐. 말콤은 이 연구를 하기 위해서 6년동안 초등학교에서 선생님으로 위장 했었지. 하지만, 6년이라는 시간을 초등학교에서 보냈지만, 그 사람은 결국 결론을 얻지 못했어.상근: 근데???: 말콤이 어느 날 자신이 초등학생이 되어 학교를 활보하는 꿈을 꾸었어. 근데 잠을 깨고 나니 내가 꿈을 꾸고 초등학생이 된건지, 아니..
시간 제한1.5초 메모리 제한128MB 문제 KOI 통신연구소는 레이저를 이용한 새로운 비밀 통신 시스템 개발을 위한 실험을 하고 있다. 실험을 위하여 일직선 위에 N개의 높이가 서로 다른 탑을 수평 직선의 왼쪽부터 오른쪽 방향으로 차례로 세우고, 각 탑의 꼭대기에 레이저 송신기를 설치하였다. 모든 탑의 레이저 송신기는 레이저 신호를 지표면과 평행하게 수평 직선의 왼쪽 방향으로 발사하고, 탑의 기둥 모두에는 레이저 신호를 수신하는 장치가 설치되어 있다. 하나의 탑에서 발사된 레이저 신호는 가장 먼저 만나는 단 하나의 탑에서만 수신이 가능하다.예를 들어 높이가 6, 9, 5, 7, 4인 다섯 개의 탑이 수평 직선에 일렬로 서 있고, 모든 탑에서는 주어진 탑 순서의 반대 방향(왼쪽 방향)으로 동시에 레이저 ..

문제 설명게임개발자인 "죠르디"는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다."죠르디"는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 "1 x 1" 크기의 칸들로 이루어진 "N x N" 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 "5 x 5" 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 "1 x 1" 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은 바구니에 쌓이게 되는 데, ..

개요redis를 사용해보려한다. 개념과 특징을 정리하고 자료형의 주요 메서드를 알아본 다음 RedisTemplate 를 구현하는 법도 정리해본다. Redis란?Redis(Remote Dictionary Server)는 오픈 소스 인메모리 데이터 저장소로 주로 캐시, 세션 저장소, 메시지 브로커 등의 용도로 사용된다.Redis의 특징 인메모리 데이터 저장소데이터를 메모리 ( RAM )에 저장하여 읽기/쓰기 속도가 매우 빠름디스크보다 접근 속도가 빠르므로 캐싱에 최적Key-Value 구조지원 데이터 타입문자열(String)리스트(List)셋(Set)정렬된 셋(Sorted Set)해시(Hash)퍼시스턴스(Persistence) 지원데이터를 디스크에 저장하여 데이터 손실 방지 가능 디스크 저장 방식RDB (Re..
개요첫 프로젝트가 끝이났다.아쉬움이 조금 남지만 이정도면 나름 잘했다고 생각한다.Spring Security에 대해서 조금 더 알 수 있는 기회가 된 것 같다.코드 리팩터링 과정에서 아쉬웠던 부분은 객체지향 원칙을 최대한 지키려했지만 아쉽게도 전부다 적용하지는 못했다.오늘은 객체 지향 설계의 5가지 원칙 SOLID에 대해 정리해본다. 객체 지향 설계프로그래머가 시간이 지나도 유지 보수와 확장이 쉬운 시스템을 만들고자 할 때 이 원칙들을함께 적용할 수있다.SOLID 원칙들은 소프트웨어 작업에서 프로그래머가 소스 코드가 읽이 쉽고 확장하기 쉽게 될 때 까지 소프트웨어 소스 코드를 리팩터링하여 코드의 문제점을 제거하기위해 적용할 수있는 지침이다. 1. 단일 책임 원칙 (Single Responsibility..
개요controller에서 스웨거 @Opration 설정을 하고있었는데 관련 설정이 너무 길어 controller의 코드가 지저분한게 상당히마음에 걸렸다. 그래서 이문제를 해결하고자 커스텀 어노테이션을 만들어 설정을 다른 파일에서 관리하고 컨트롤러에서 깔끔하게 적용하게 변경했다. 커스텀 어노테이션 작성에 대해 정리해본다. 어노테이션이란?메타데이터를 제공하는 Java의 기능으로, 코드에 추가 정보를 첨부하여 컴파일러나 프레임워크가 이를 활용할 수있도록 제공한다. 어노테이션은 클래스,메섣,필드 등에 부착할 수있으며, 런타임 또는 컴파일 타임에 특정한 동작을 수행한다. 커스텀 어노테이션 만드는 방법@interface 키워드를 사용하여 어노테이션을 생성한다.@Retention 어노테이션을 사용하여 어노테이션..