전체 글

안녕하세요 ?
Old Posts/Effecttive Java

Item04. 객체 생성을 막을 때는 private 생성자를 사용하라 <이펙티브자바>

README Item 04 : 객체 생성을 막을 때는 private 생성자를 사용하라 (Enforce noninstantiability with a private constructor) 객체 생성을 막는 것에는 어떤것들이 있을까? java.lang.Math java.util.Arrays java.util.Collections (위 클래스들은 객체를 만들 목적의 클래스가 아니다.) 1. java.lang.Math public final class Math { /** * Don't let anyone instantiate this class. */ private Math() {} public static final double PI = 3.14159265358979323846; public static in..

Old Posts/Database

트랜잭션 4가지 특징 (ACID)

Transaction_4_Principle 트랜잭션 4가지 특징 ACID ? ㅇㅇ 이번 설날에 대학교 동아리 졸업하신 형들이랑 학교근처에서 술자리를 가졌다. 형들중 한명이 나에게 트랜잭션 4가지 특징을 물었다. 아토믹.... 이라고밖에 답을못했다. DB 수업때 교수님이 은행 거래할때 아토믹해야한다~ 이거밖에 떠오르지 않았다. 보면알거같은데... ㅠㅠ.. 안떠오른다! 그래서 이번에 트랜잭션 ACID 특징을 내 머리 깊숙히 박아놓고자 한다. 트랜잭션 ? 영어 낱말 transaction은 거래를 뜻한다. 예를 들어 돈을 줬는데 물건을 받지 못한다면, 그 거래는 이루어지지 못하고 원상태로 복구되어야 한다. 쪼갤 수 없는 하나의 처리 행위를 원자적 행위라고 한다. 여기서 쪼갤 수 없다는 말의 의미는 실제로 쪼갤 ..

Old Posts/Effecttive Java

Item03. 싱글톤을 쓸 때 property는 private 생성자나 enum타입으로 하라 <이펙티브자바>

README Item 03 : 싱글톤을 쓸때 property는 private 생성자나 enum타입으로 하라 (Enforce the singleton property with a private constructor or an enum type) 싱글톤 만드는법 using public final field using static Factory using Enum (결론: 1번 쓰지마라) 1. Using public final field public class Elvis { public static final Elvis INSTANCE = new Elvis(); private Elvis(){...} public void leaveTheBuilding(){...} } 문제점 reflection으로 private..

Old Posts/Effecttive Java

Item02. 생성자 인자가 많을 때는 Builder패턴 적용을 고려하라 <이펙티브자바>

README Item 02 : 생성자 인자가 많을 때는 Builder패턴 적용을 고려하라 (Consider a builder when faced with many constructor parameters) 아래에서 소개될 패턴들 Telescoping constructor pattern JavaBeans Pattern Builder Pattern (결론: Builder Pattern 을 써라.) 1. Telescoping constructor pattern public class NutritionFacts { private final int servingSize; // (mL) required private final int servings; // (per container) required private..

Old Posts/Effecttive Java

Item01. 생성자 대신 static factory method를 사용할 수 없는지 생각해 보라 <이펙티브자바>

README Item 01 : 생성자 대신 static factory method를 사용할 수 없는지 생각해 보라 (Consider static factory methods instead of constructors) 정적 팩토리 메서드 (static factory method) 장단점 First Adventage 생성자와는 달리, static factory method들은 이름을 붙일 수 있다. (unlike constructors,static factory methods have names.) public class Member { private String memberName; private String memberPhone; //member1 생성자 public Member(String membe..

Old Posts/Java

StringBuffer -> StringBuilder 어떻게 바뀔까 ?

asd StringBuffer -> StringBuilder buffer -> builder 로 변경하는 코드는 아래와 같습니다. public static void main(String[] args){ //buffer 생성StringBuffer buffer = new StringBuffer(); buffer.append("Add in Buffer"); //builder 생성 StringBuilder builder = new StringBuilder(); builder.append(buffer); //builder 출력 System.out.println(builder.toString());} //결과 : Add in Buffer How ?StringBuffer와 StringBuilder는 클래스가 다른데 ..

Old Posts/Think! Record

2018년 1월~2월의 나

대학생활을 하면서 개발 일은 절대 직업으로 삼지않겠다 다짐하고 행복을 찾아 방랑생활을 하며 워킹홀리데이를 생각중이던 나였는데.. 삼성S/W A형 Test를 준비하기 위해 Java로 백준 알고리즘 문제를 풀었다. 삼성전자 들어갈 일이야 없겠지만 이런것도 한번 쳐보고싶었다랄까... 결과는 탈락했다. DFS문제만 좀 풀줄알면 통과하는 테스트인데.. 알고리즘 문제풀다가 재밌어서 문제를 풀다보니 1달간 200문제를 풀게 되었다. 평소에 자기전에 유튜브를 챙겨보는데 우연히 유튜브에서 나프다를 보게되었고, 열정넘치는 많은 개발자들을 볼 수 있었다. 특히 호주에서 프로그래밍 방송하시는 분이 있는데, 그 분의 방송을 보다가 타고 타고해서 한 개발자를 알게되었다. 대기업에 입사하여 지금은 Naver Labs에서 근무하고 ..

Old Posts/Java

자바8 .collect(Collectors.joining()) 람다

이거 읽으시는분들 참고만 해주세요. 비공개하려다가 혹시 도움되는내용이 있을까싶어 공개로 바꿨습니다 제가 람다를 제대로 공부한게 아니라 그냥 주워들은거 정리차 적고있는거라 오히려 헷갈리게 만들었다면 죄송합니다. 잘못된정보있으면 댓글로 남겨주세요 감사합니다 우선 여기서 스트림 프린트찍으면 객체로 나온다. map(String::valueOf)를 추가하면 각리스트가 나올까? 안나온다... joining을 하면? 오 나온다!! 리스트의 각요소가 찍혀나온다. 여기서 Collectors.joining()을 까보면 StringBuilder 생성하고 계속 추가해준후 반환! 굿뜨 String을 추가해주기때문에 앞에서 .map(String::valueOf)로 형변환 시켜줘야만 사용가능하다. 아니 처음에 list에 Strin..

bactoria
Bactoria