728x90

전체 글 347

이펙티브 자바 읽고 정리해보기 2.

아이템 2 : 생성자에 매개변수가 많다면 빌더를 고려하라정적 팩터리와 생성자 방식은 선택적 매개변수에 관련해 동일한 제약을 공유한다. 선택 매개변수가 많아질 수록 대응이 어렵다는 점이다. 이 경우 점층적 생성자 패턴을 통해 모든 경우의 수에 해당하는 생성자를 만들어 이 경우에 대비할 수 있으나, 이는 매개변수가 많아질 수록 코드 가독성과 작성 난이도가 올라가는 것은 똑같다다른 대안으로 자바 빈즈 패턴을 이용해 매개변수가 없는 생성자로 객체를 만든 후, 설정자를 이용해 원하는 매개변수의 값을 설정하는 것이다public class A { // 기본값이 있는 경우, 매개변수는 초기화된다 private int a = -1; // 필수; 기본값 없음 private int b = -1; // 필수; 기본값 없..

07. 09 TIL : 엑셀 다운로드 기능 구현에 필요한 스터디

참고한 글https://techblog.woowahan.com/2698/ 아 엑셀다운로드 개발,,, 쉽고 빠르게 하고 싶다 (feat. 엑셀 다운로드 모듈 개발기) | 우아한형제{{item.name}} 1. 들어가며 안녕하세요! 정산시스템팀 병아리 개발자 최태현입니다. 최근에 엑셀 다운로드 개발을 편하게 할 수 있는 모듈을 만들게 되었습니다. 제가 엑셀 다운로드 모듈을 만들게techblog.woowahan.com https://jindory.tistory.com/entry/Java-POI%EB%A1%9C-%EC%97%91%EC%85%80-%EB%82%B4%EB%B3%B4%EB%82%B4%EA%B8%B0 [Java] POI로 데이터 엑셀 다운받기안녕하세요. 개발자 Jindory입니다. 오늘은 POI 라이브..

TIL, WIL/TIL📘 2024.07.09

06. 12 TIL : 문자열을 IntStream으로 변환하는 쉬운 방법 chars()

프로그래머스 문제를 풀다가 마주한 chars() Instream으로 아주 쉽게 변환해준다. 또는 이번 문제는 그냥 CharArray로만 비교해도 된다. https://school.programmers.co.kr/learn/courses/30/lessons/120886 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr

TIL, WIL/TIL📘 2024.06.12

05. 17 TIL: 엔티티 객체 참조 vs id 참조

애그리거트(애그래게잇) 첫 등장! 참고한 글 : https://medium.com/@SlackBeck/id%EB%A1%9C-%EB%8B%A4%EB%A5%B8-%EC%95%A0%EA%B7%B8%EB%A6%AC%EA%B2%8C%EC%9E%87%EC%9D%84-%EC%B0%B8%EC%A1%B0%ED%95%98%EB%9D%BC-4d64f1591e60 ID로 다른 애그리게잇을 참조하라필자는 지난 글 전반부에서 도메인 주도 설계Domain-Driven Design에서 말하는 구조물 중 하나인 조립물AGGREGATE[1]에 대해 이야기했다. 조립물을 구현하다 보면 다른 조립물을 참조해야 할 때가 있다.medium.com

TIL, WIL/TIL📘 2024.05.17

05.16 TIL : JNDI, Wildfly, JBOSS

1. JNDI참고한 글 :https://velog.io/@zzjs11/JNDI%EB%9E%80 JNDI란(With JDBC, DBCP)현재 투입한 프로젝트에선 DB연결을 JNDI 관리하고있다. JNDI 이름은 들어봤는데 정확히 무엇을 의미하는 것인지 몰라서 이번 기회에 내용을 정리해보고자 한다.JNDI에 대해 찾다보면 DBCP에 대한 설velog.ioWAS에서 DB 커넥션을 미리 네이밍하는 방식을 의미한다. 커넥션이란, 일반적으로 트랜잭션 하나를 처리하기 위한 객체로, 이를 미리 생성해서 관리하는 방식은 커넥션 풀이다.이 커넥션 풀을 관리할 때 JDBC를 기반으로 한 것이 DBCP이며, JNDI는 DBCP를 호출해 커넥션 풀의 커넥션를 쉽게 얻을 수 있다(DataSource 객체를 활용하면 보다 쉽게 이..

TIL, WIL/TIL📘 2024.05.17

05. 08 JS 이벤트 버블링 : return false

이벤트 버블링되지 않기 때문에 동일 이벤트가 발생하지 않는 것이다. 태그에서 발생한 이벤트가 태그까지 전파되는 경우에 해당되며, 이 경우에 태그에 return false;를 추가하면 태그에서 발생한 이벤트는 태그에서만 일어나고 이벤트 버블링은 일어나지 않는다*이벤트 버블링이란?HTML 요소에서 이벤트가 발생할 때 DOM을 따라 상위 요소로 이벤트가 전파되는 메커니즘. 일반적으로 요소가 중첩된 경우 발생한다반대의 의미로 "이벤트 캡쳐링"이 있다

05. 07 TIL : 사이드 프로젝트 도메인 리스트 업

유저/기타 AdminUsers: 어드민 유저 정보 AuditLogs: 어드민 로깅 Users: 프로필에 들어가는 정보 (Auths): 로그인에 필요한 정보(카카오, 애플에서 제공하는 데이터) Notices: 공지사항 Reports: 신고 벚꽃 명소 (함께)Posts: 벚꽃 명소Footprins: 방문 인증Bookmarks: 즐겨찾기Likes: 댓글 좋아요Reviews: 댓글PostImages: 벚꽃 명소 이미지ReviewImages: 리뷰 이미지

TIL, WIL/TIL📘 2024.05.08

04. 24. TIL : Decode(), With(), 데이터베이스 인덱스

1. Decode()- decode 함수는 CASE-WHEN 구문의 역할과 같이 if else 구문으로 활용할 수 있는 쿼리문이다(표준 SQL은 CASE)- 마지막 else는 비어있어도 상관없다. Null로 표시됨- NVL2와 같이 Null 체크 가능- Decode 함수 내부에 또 다른 Decode 함수 사용가능2. With()참고 : https://heodolf.tistory.com/71: 처음 보는 구문으로, 학습이 더 필요하다- 이름을 가진 SubQuery, 가독성을 높힐 수 있고, 재사용할 수 있다- 계층형 쿼리를 구현할 수 있다 기본 구조ex)WITH PR_ORDER AS (         SELECT         ROW_NUMBER() OVER(ORDER BY A.REG_DT) as PR_N..

TIL, WIL/TIL📘 2024.05.02

4월 마지막 주 : 사이드 프로젝트 개발 스택

GitHub Organization도커를 사용해서 프론트에서 테스트 할 수 있도록 : 성재배포를 어떻게 할지 (인프라)AWS : 프리티어가 없어 비용 지불해야함GCP : 러닝커브가 있다백엔드 개발JAVA, KOTLINDBMYSQL vs PostgreSQL 유현지도 API 규격에 맞는 DB 구성RDS, EC2, superbase식?사용량이 적다면 굳이 RDS를 택해?JWT(인증) vs REDIS : 성재Session/Cookie - RedisJWT - 복호화 JWT Java Library 지원CI/CDCI: Jenkins, GitHub, CodebuildCD: Manual(script), Codedeploy, JenkinsSwagger : 테스트 코드 작성 시 실제 클래스를 활용한 테스트 코드 작성을 위해..

TIL, WIL/WIL📗 2024.04.28

9월 백엔드 챌린지 정리 : 클린 코드 (4)

ISP : Interface Segregation Principle 인터페이스도 작게 쪼개자 객체는 자신이 사용하는 기능(메서드)에만 의존해야 한다는 원칙에 따라 분리하는 것과 마찬가지로, 인터페이스는 그 인터페이스를 사용하는 클라이언트(객체)를 기준으로 분리해야 한다. 클래스(인터페이스)가 가진 책임의 크기를 줄일 수 있고, 관심사의 분리를 해낼 수 있으며 확장성을 가져갈 수 있기 때문에 필요하다 A 인터페이스를 상속하는 B와 C 클래스가 있다. B는 A의 모든 메서드를 사용하기 때문에 상속에 문제가 없지만, C의 경우 A의 모든 메서드를 사용할 필요가 없을 때, C는 사용하지도 않는 메서드와 의존성을 맺는 것이다. 이러한 경우, ISP를 위반하면서, A의 a-1 메서드(C가 사용하지 않는 메서드)에 ..

728x90