이 포스팅에서 작성하는 내용은 EFFECTIVE JAVA(이펙티브자바) 에서 발췌하였습니다. 아이템 2. 생성자에 매개변수가 많다면 빌더를 고려하라. 빌더를 사용하기 전의 방법 1) 점층적 생성자 패턴 필수 매개변수만 받는 생성자, 필수 매개변수와 선택 매개변수 1개를 받는 생성자, 필수 매개변수와 선택 매개변수 2개를 받는 생성자, ... 과 같이 매개변수를 달리하여 생성자 사용하는 방법. → 매개변수의 갯수가 많아지면 관리하기 어려워 진다. (가독성 저하, 매개변수의 갯수, 순서 실수 등) public class Human{ private String name;// 필수값 private int age; private String email; // 생성자 1 public Human(String name..
자기 개발
들어가기에 앞서... 필자는 자바 웹 개발자로 근무한지 2년 차인데 자바에 대해서 더욱 효율적으로 사용하고 싶어 해당 서적을 구매하였다. 공부한 내용은 블로그에 포스팅하며 정리하는 식으로 진행할 예정이다. Q. 이펙티브자바를 선택한 이유? A. 워낙 유명한 책 중 하나이며, 자바 개발자라면 필수 서적이라는 주변 개발자 지인들의 강력한 추천으로 구매하게 되었다. 이 포스팅에서 작성하는 내용은 EFFECTIVE JAVA(이펙티브자바) 에서 발췌하였습니다. 아이템 1. 생성자 대신 정적 팩토리 메서드를 고려하라. 자바에서 객체를 생성할 때 public 생성자를 이용하는 방법도 있지만 정적 메서드 팩토리를 이용하면 더욱 효율적으로 사용할 수 있다. 물론, 정적 팩토리 메서드에도 단점은 존재한다. - 정적 팩토리..
- 알고리즘 분류 : 트리 - 사용 언어 : JAVA - 문제 요점 - 트리 이용 소스 설명은 주석을 참고해주세요. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.HashMap; import java.util.StringTokenizer; // Link : https://www.acmicpc.net/problem/14725 public class Main { public static StringBuilder sb = new StringBuilder(); public static void main(String[] ..
이 포스팅은 아래의 강의를 참고한 개인 정리본이니 강의를 통해 공부하시는 것을 추천드립니다. https://inf.run/bWm8 mongoDB 기초부터 실무까지(feat. Node.js) - 인프런 | 강의 mongoDB, NoSQL 요즘 많이 들리지만 아직은 낯선 데이터베이스인가요? 관계형 데이터베이스(RDS/SQL)처럼 사용하고 계시지는 않으신가요? 아무리 좋은 기술도 올바르게 사용하지 않으면 역효과가 발 www.inflearn.com 1. Transaction 사용방법 Mongoose에서 Transaction은 아래와 같은 구조로 사용할 수 있다. 아래 소스처럼 session을 이용해야한다. const {startSession} = require('mongoose'); commentRouter.p..
이 포스팅은 아래의 강의를 참고한 개인 정리본이니 강의를 통해 공부하시는 것을 추천드립니다. https://inf.run/bWm8 mongoDB 기초부터 실무까지(feat. Node.js) - 인프런 | 강의 mongoDB, NoSQL 요즘 많이 들리지만 아직은 낯선 데이터베이스인가요? 관계형 데이터베이스(RDS/SQL)처럼 사용하고 계시지는 않으신가요? 아무리 좋은 기술도 올바르게 사용하지 않으면 역효과가 발 www.inflearn.com 1. Index - Index : 탐색을 빠르게 해줄 수 있는 기능. ex) 서적의 목차, 책갈피와 비슷 Index를 사용하면 데이터를 조회하는데 시간이 단축되며, 정렬도 Index에서 설정해둔 정렬로 된다. 하지만 데이터를 생성, 수정,삭제 시에 인덱스도 같이 생성..
- 알고리즘 분류 : 문자열 - 사용 언어 : JAVA - 문제 요점 - 정렬을 이용 - 정렬 후 접두어 비교하면 간단하게 풀이 가능 소스 설명은 주석을 참고해주세요. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; // Link : https://www.acmicpc.net/problem/5052 public class Main { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub int caseCount; BufferedR..
이 포스팅은 아래의 강의를 참고한 개인 정리본이니 강의를 통해 공부하시는 것을 추천드립니다. https://inf.run/bWm8 mongoDB 기초부터 실무까지(feat. Node.js) - 인프런 | 강의 mongoDB, NoSQL 요즘 많이 들리지만 아직은 낯선 데이터베이스인가요? 관계형 데이터베이스(RDS/SQL)처럼 사용하고 계시지는 않으신가요? 아무리 좋은 기술도 올바르게 사용하지 않으면 역효과가 발 www.inflearn.com 1. boards 안에 users, comments 데이터를 같이 저장하기 1) BoardSchema 정의 BoardSchema 안에 아래처럼 users와 comments를 정의해줌. comments처럼 CommentSchema를 가져와서 그대로 넣어줄 수도 있음. ..
이 포스팅은 아래의 강의를 참고한 개인 정리본이니 강의를 통해 공부하시는 것을 추천드립니다. https://inf.run/bWm8 mongoDB 기초부터 실무까지(feat. Node.js) - 인프런 | 강의 mongoDB, NoSQL 요즘 많이 들리지만 아직은 낯선 데이터베이스인가요? 관계형 데이터베이스(RDS/SQL)처럼 사용하고 계시지는 않으신가요? 아무리 좋은 기술도 올바르게 사용하지 않으면 역효과가 발 www.inflearn.com 1. 모든 데이터 삭제하기 mongoDB Compass에서 아래의 사진처럼 휴지통 버튼을 누르면 데이터베이스를 Drop 할 수 있다. * ?? is not allowed to do action [dropDatabase] on [??] 권한이 없을 때 발생하는 에러. ..