Peony의 기록 창고 🌼
article thumbnail
[Algorithm] 백준 21608번_상어_초등학교(Java)
Algorithm/백준 [BOJ] 2023. 4. 6. 01:00

🔗 21608번 상어 초등학교 https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 문제 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호가 매겨져 있고, (r, c)는 r행 c열을 의미한다. 교실의 가장 왼쪽 윗 칸은 (1, 1)이고, 가장 오른쪽 아랫 칸은 (N, N)이다. 선생님은 학생의..

article thumbnail
Gson 라이브러리 JsonParser deprecated

동아리에서 프로젝트를 하면서 애플 로그인을 구현하게 되었는데 Gson 라이브러리의 JsonParser가 deprecated 되었다고 뜬다😢 https://github.com/google/gson/commit/dc20b7561af3a793e4945842040e956803b641c9 Fix error prone warns (#2320) · google/gson@dc20b75 * Adds `@SuppressWarnings("NarrowingCompoundAssignment")` * Adds `@SuppressWarnings("TypeParameterUnusedInFormals")` * Adds `@SuppressWarnings("JavaUtilDate")` ... github.com 찾아보니, Gson 2.8..

[DDD] DDD(Domain Driven Design)에 대해 알아보자.
디자인패턴/DDD 2023. 2. 19. 17:08

도메인 개발자 입장에서 온라인 서점을 구현해야 할 소프트웨어로 바라보자. 온라인 서점 소프트웨어는 온라인으로 책을 판매하는 데 필요한 상품조회, 구매, 결제, 배송 추적 등의 기능을 제공해야 한다. 이때, '온라인 서점'은 소프트웨어로 해결하고자 하는 문제 영역, 즉 도메인에 해당된다. 특징 한 도메인은 다시 하위 도메인으로 나눌 수 있다. 도메인마다 고정된 하위 도메인이 존재하는 것은 아니다. 하위 도메인을 어떻게 구성할지 여부는 상황에 따라 달라진다. 도메인 모델 도메인 모델 패턴 이란? 마틴 파울러가 재창한 두 개의 개념으로, 비즈니스 로직을 처리하는 2가지 패턴을 말한다. 책임 소재가 Domain Level이냐 Script Level이냐의 차이에 따라 구분된다. Domain 부분에서 비즈니스 로직..

[PART 01 기초] 3. 람다 표현식
도서/Modern Java in Action 2023. 1. 30. 03:36

이 글은 모던 자바 인 액션 책을 읽고 정리한 내용입니다. http://www.yes24.com/Product/Goods/77125987 모던 자바 인 액션 - YES24 자바 1.0이 나온 이후 18년을 통틀어 가장 큰 변화가 자바 8 이후 이어지고 있다. 자바 8 이후 모던 자바를 이용하면 기존의 자바 코드 모두 그대로 쓸 수 있으며, 새로운 기능과 문법, 디자인 패턴 www.yes24.com 2장에서 동작 파라미터화를 이용해서 변화하는 요구사항에 효과적으로 대응하는 코드를 구현한 수 있음을 확인했다. 동작 파라미터화를 이용하면 더 유연하고 재사용할 수 있는 코드를 만들 수 있다. 익명 클래스로 다양한 동작을 구현할 수 있지만, 만족할 만큼 깔끔하지는 않았다. 3장에서는 더 깔끔한 코드로 동작을 구현..

[PART 01 기초] 2. 동작 파라미터화 코드 전달하기

이 글은 모던 자바 인 액션 책을 읽고 정리한 내용입니다. http://www.yes24.com/Product/Goods/77125987 모던 자바 인 액션 - YES24 자바 1.0이 나온 이후 18년을 통틀어 가장 큰 변화가 자바 8 이후 이어지고 있다. 자바 8 이후 모던 자바를 이용하면 기존의 자바 코드 모두 그대로 쓸 수 있으며, 새로운 기능과 문법, 디자인 패턴 www.yes24.com 시시각각 변하는 사용자 요구사항에 어떻게 대응해야 할까? 특히 우리의 엔지니어링적인 비용이 가장 최소화될 수 있으면 좋을 것이고, 새로 추가한 기능은 쉽게 구현할 수 있어야하며 장기적인 관점에서 유지보수가 쉬워야 한다. 동작 파라미터화란 아직 어떻게 실행할 것인지 결정하지 않은 코드 블록을 의미한다. 이 코드 ..

article thumbnail
[JPA] 프록시와 연관 관계
SpringBoot/JPA 기본 2022. 12. 23. 02:40

프록시 ❓Member를 조회할 때 Team도 함께 조회해야 할까? package hellojpa; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.EntityTransaction; import javax.persistence.Persistence; public class JpaMain { public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntit..

article thumbnail
우테코 프리코스 4주차 회고

벌써 마지막주차,,! 저번주에 프리코스를 시작한 것 같았는데 벌써 마지막주차다. 이번 주차는 '다리 건너기' 였다. 이번 주차는 3주차 과정에 리팩터링이라는 목표가 추가되었다. 저번 주차때, 리팩토링을 할 시간이 부족했어서 아쉬움이 많았는데, 이번주는 코드 작성을 일단 빨리 해보고, 차근차근 리팩터링을 하자!라는 마음가짐으로 과제를 했던 것 같다. 이번 미션 역시 역할별로 클래스를 분리하고, 기능 목록 단위의 커밋을 하려고 노력했다. 처음에 읽을 때는 구현하기 쉬울 것 같았지만, 제약조건을 지키면서 하려다보니, 쉽지는 않았던 것 같다. 중점적으로 한 것들 Controller, Service 분리하기 : 저번주에는 Controller와 Model의 기능을 헷갈려서. Model은 객체의 상태변화를 위주로, ..

[PART 01 기초] 1 .자바 8, 9, 10, 11 : 무슨 일이 일어나고 있는가?
도서/Modern Java in Action 2022. 11. 26. 02:10

이 글은 모던 자바 인 액션 책을 읽고 정리한 내용입니다. http://www.yes24.com/Product/Goods/77125987 모던 자바 인 액션 - YES24 자바 1.0이 나온 이후 18년을 통틀어 가장 큰 변화가 자바 8 이후 이어지고 있다. 자바 8 이후 모던 자바를 이용하면 기존의 자바 코드 모두 그대로 쓸 수 있으며, 새로운 기능과 문법, 디자인 패턴 www.yes24.com 1.1 역사의 흐름은 무엇인가? 자바 역사를 통틀어 가장 큰 변화가 자바 8에서 일어났다. 자바 9에서도 중요한 변화가 있었지만 곧 책에서 살펴볼 수 있듯이 자바 8만큼 획기적이거나 생산성이 바뀌는 것은 아니다. 자바 10에서는 형 추론과 관련해 약간의 변화만 일어났다. 이런 크고 작은 변화 덕분에 프로그램을 ..