일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 다자인패턴
- 디자인패턴
- 개발
- 전략패턴
- 클래스다이어그램
- 객체지향
- 의존관계
- 코딩
- cache
- caching
- jpa
- backend
- redis
- 프로그래밍
- java
- spring data jpa
- 봇
- 백엔드
- 웹
- 연관관계
- IT
- 집합관계
- Web
- 웹개발
- 서버개발
- Sprign
- OOP
- 자바
- Programming
- Spring
- Today
- Total
목록웹개발 (5)
괴발나라

다음과 같이 엔티티를 INSERT할때 기본 키를 JPA가 자동생성하도록 할 수 있다. @Id @GeneratedValue(startegy = GenerationType.AUTO) private Long id; startegy 에 다양한 기본 키 매핑 전략을 설정할 수 있다. JPA는 4개의 전략을 제공한다. 참고로 JPA는 대리키를 기본키로 사용하는 것을 추천한다. (회원아이디, 이메일, 주민등록번호 등이 아닌 그냥 기본키를 위한 값) GenerationType.IDENTITY 데이터베이스에 기본키 생성을 위임한다. 예를 들어 MySQL의 auto_increment, PostgreSQL의 serial을 사용한다. 주의점 persist 시 즉시 INESRT 쿼리가 실행됨. 이러면 쓰기 지연 할 수 없음 -..

웹 애플리케이션을 개발하다 보면 URL을 암호화하여 클라이언트와 주고받아야 하는 경우가 있다. 클라이언트에서 URL 을 암호화하여 HTTP API를 호출하면 서버에서 그 URL을 복호화하여 처리해야 한다. 많은 시도 끝에 한가지 방법을 알아내어 공유하고자 한다. URL 복호화를 Spring Interceptor 혹은 HandlerMethodArguementResolver 혹은 Converter 로 처리하려고 했으나, 다음과 같은 문제가 있었다. - 암호화된 것은 문자열(String)일텐데, 컨트롤러 메서드에서는 그 파라미터의 타입이 Integer인 경우 NumberFormatException 이 발생한다. - 이는 Interceptor, HandlerMethodArguementResolver , Conv..

오늘은 전략 패턴에 대해 알아보겠습니다. 위키백과의 전략 패턴에 대한 설명은 다음과 같습니다. "The strategy pattern is a behavioral software design pattern that enables selecting an algorithm at runtime." 대충 알고리즘(기능)을 런타임 시점(실행 중)에 동적으로 선택할 수 있게 해준다고 합니다. 이게 무슨 소리일까요? 설명하기 어렵네요. 바로 예시를 봅시다. ✈ 비행기 만들기 ✈ 1942 라는 게임을 아시나요? 게임 화면을 보시면 바로 아실 겁니다. 게이머는 위 화면 하단에 있는 작은 비행기를 조종합니다. 비행기로 적들을 공격하며 물리치죠. 그러면 이 비행기를 클래스로 만들어 봅시다! public class Game1..

나는 객체 지향 시스템을 개발하는 일을 한다. 그런데 일을 시작한지 얼마 되지 않아서 그런지, 아니면 내가 머리가 나쁜건지, 아니면 다들 그런건지 단 하루라도 난관에 부딪치지 않은 적이 없다. 머리를 쥐어짜며 문제를 어떻게든 해결해도 뭔지 모를 찝찝함이 남아있을 때가 있다. 디자인 패턴들을 마스터했다면, 훨씬 빠르게 확장성있는 코드를 작성했을텐데.... 디자인 패턴 디자인 패턴이 뭘까? JAVA 객체 지향 디자인 패턴 이라는 책에서는 디자인 패턴을 다음과 같이 소개한다. 디자인 패턴은 우리 주변에서 자주 반복해서 발생하는 문제와 그 문제를 해결하는 핵심을 기술해 동일한 일을 두번 다시 하지 않고 해결할 수 있도록 한다 그러니까, 쉽게 말하면 어떤 유형의 문제를 해결할 수 있게 도와주는 도구다. 나는 수능..

객체 지향 시스템 안에서는 여러 클래스들이 서로 긴밀한 관계를 맺으며 기능을 수행한다.클래스들은 다양한 방법으로 다른 클래스들과 관계를 맺는다.이 관계들의 종류에는 여러가지가 있는데,이번에는 비슷하면서도 다른 연관 관계와 의존 관계의 차이에 대해서 설명한다.연관관계와 의존관계의 공통점이 두 관계는 모두 한 클래스가 다른 클래스의 기능을 사용할 때를 나타낸다.이해가 잘 되지 않는다면, 실세계의 예시를 통해 이해해보자!당신은 친구에게 문자를 보내고 싶다.친구에게 문자를 보내려면 핸드폰을 사용해야 한다.구체적으로는 핸드폰의 문자 전송 기능을 사용해야 한다.당신은 핸드폰과 연관관계 혹은 의존관계를 맺는 것이다.당신이 친구에게 문자를 보내는 상황을 코드로 작성하면 다음과 같을 것이다.// 당신class Perso..