본문 바로가기

분류 전체보기837

[컨퍼런스 후기] 우아콘 2023 우리나라에서 우아한 형제들은 몰라도 ‘배달의 민족’ 앱을 모르는 사람은 거의 없습니다.몇년 전만 해도 대부분 책자로 배달 주문을 시켜먹었는데, 현재는 배달 플랫폼 애플리케이션을 대부분 사용합니다.요즘 오히려 전화 주문이 불편하고, 휴대전화 앱을 사용해 주문하는게 훨씬 편합니다.배달 플랫폼에서도 대표격인 배달의 민족에서 여는 컨퍼런스 우아콘을 다녀왔습니다. 배달의 민족도 지난 몇 년간 크게 성장했습니다. 현재에 이르러 매일 평균 주문량이 300만 건 가까이 된다고 합니다. 또한, 월드컵이나 아시안게임 등의 이벤트가 발생하면 주문량이 훨씬 증가한다고 합니다.우아콘은 배달의 민족이 성장하면서 겪은 성장통을 얘기해 주는 자리였습니다.  일 평균 300만 건의 주문이 발생하면서 주로 발생했던 문제들, 문제의 해결.. 2023. 11. 16.
[책 후기] 디자인 패턴의 아름다움 - 왕정 https://product.kyobobook.co.kr/detail/S000202093794 회사에서 복지로 도서 비용을 지원해줘서, 추천 받았던 책을 구매하였다. 정답이 정해져 있지 않는 것들을 저자의 입장에서 말해주는 책이다. 기술적으로 딥하지는 않지만, 다양한 원칙과 디자인 패턴을 간단한 예제를 통해 설명해준다. 하지만 기대한 만큼 좋은 책은 아니라고 생각된다. 차라리 유튜브에 있는 무료 디자인 패턴 강의가 더 이해가 쉽고 나을 수도… 어떤 부분은 정말 어렵게 설명한다. 또한 디자인 패턴이라는게 고전적인 만큼, 안티 패턴으로 간주되는 것도 있고, 특정 분야에서만 사용하거나, 잘 사용하지 않는 패턴이 많다. 해당 책을 통해 프레임워크, 라이브러리 등을 구성하는 주요 패턴을 What, Why, How.. 2023. 11. 10.
코틀린 - 기본 문법 Foundation fun main() { println("Hello, World") } fun 은 함수를 선언하는데 사용된다. fun main()는 프로그램이 시작되는 곳 함수의 본문은 중괄호 안에 작성 { } println(), print() 는 인수를 표준 출력으로 인쇄 Variable 코틀린의 변수는 2가지 종류가 존재 읽기 전용 변수 : val 변경 가능한 변수 : var main() 프로그램 시작 시 함수 외부에서 변수를 선언 가능 → top level variable var 변수는 선언 후 다시 할당 가능 기본적으로 val 변수를 선언, var 변수는 필요한 경우 선언 String templates String Templates를 사용해 변수의 내용을 표준 출력으로 사용 가능 Template.. 2023. 10. 25.
JPA Entity 기본 생성자 JPA는 인수없는 기본 생성자가 존재해야 한다. JPA에서는 public 또는 protected로 정의해야 한다. JPA는 DB 값을 객체 필드에 주입할 때 기본 생성자로 객체를 생성하고, Reflection을 사용하여 값을 매핑한다. 만약 private 생성자를 만들게 되면 지연 로딩으로 인해 생성된 프록시 객체를 사용하는데 제약이 생긴다. 그래서 Entity에는 public, protected scope를 가진 기본 생성자가 필요하다. 2023. 9. 29.
기본 키 할당 전략 기본 키 할당 전략 JPA가 제공하는 DB 기본 키 할당 전략은 직접 할당 방식, 자동 생성 방식 두 가지가 존재한다. 직접 할당 방식은 기본 키를 애플리케이션에서 직접 할당하는 방식으로 @Id 어노테이션만 붙이고, id 값을 직접 할당하면 된다. 자동 생성 방식은 데이터베이스에서 제공하는 대리키를 사용하는 방식이다. 총 3가지 방식이 존재한다. Identity Sequence Table Identity 전략 Identity 전략은 기본 키 관리를 DB에 위임한다. 엔티티가 영속 상태가 되려면 식별자가 반드시 필요하다. Identity 전략은 엔티티를 데이터베이스에 저장해야 식별자를 얻을 수 있다. 즉, 저장하는 순간 Insert SQL이 DB에 전달되어 쓰기 지연이 동작하지 않는다. 또한 기본 키는 n.. 2023. 9. 29.
Wrapper Type vs Primitive Type In JPA Wrapper Type vs Primitive Type In JPA Primitive Type 자바의 기본 자료형으로 int, long, boolean, char, short, byte, double, float 자료형이 존재한다. 특징으로 기본값으로 0이 들어가게 된다. 기본 데이터 타입으로 크기가 고정되어 있다. Wrapper Type 기본 자료형을 객체로 다루기 위한 클래스이다. 즉, 객체로 래핑하여, 객체 지향 적인 기능을 활용 할 수 있다. JPA Entity Field Type @Entity public class Member{ @Id Long id; } 여기서 Long 타입과 long 타입으로 선언하는 방법이 있다. Long 타입을 선언해도, long 타입을 선언해도 동일하게 동작한다. 하지.. 2023. 9. 29.