
생성패턴 (Creational Pattern) 구조패턴 (Structural Pattern) 행위패턴 (Behavioral Pattern) - 추상 팩토리 (Abstract Factory) - 팩토리 메소드 (Factory Method) - 프로토타입 (Prototype) - 빌더 (Builder) - 싱글톤 (Singleton) - 어댑터 (Adapter) - 컴포지트 (Composite) - 브리지 (Bridge) - 데코레이터 (Decorator) - 플라이웨이트 (Flyweight) - 프록시 (Proxy) - 퍼사드 (Facade) - 책임 연쇄 (Chain of Responsibility) - 커맨드 (Command) - 인터프리터 (Interpreter) - 이터레이터 (Iterator) -..
생성패턴 (Creational Pattern) 구조패턴 (Structural Pattern) 행위패턴 (Behavioral Pattern) - 추상 팩토리 (Abstract Factory) - 팩토리 메소드 (Factory Method) - 프로토타입 (Prototype) - 빌더 (Builder) - 싱글톤 (Singleton) - 어댑터 (Adapter) - 컴포지트 (Composite) - 브리지 (Bridge) - 데코레이터 (Decorator) - 플라이웨이트 (Flyweight) - 프록시 (Proxy) - 퍼사드 (Facade) - 책임 연쇄 (Chain of Responsibility) - 커맨드 (Command) - 인터프리터 (Interpreter) - 이터레이터 (Iterator) -..

생성패턴 (Creational Pattern) 구조패턴 (Structural Pattern) 행위패턴 (Behavioral Pattern) - 추상 팩토리 (Abstract Factory) - 팩토리 메소드 (Factory Method) - 프로토타입 (Prototype) - 빌더 (Builder) - 싱글톤 (Singleton) - 어댑터 (Adapter) - 컴포지트 (Composite) - 브리지 (Bridge) - 데코레이터 (Decorator) - 플라이웨이트 (Flyweight) - 프록시 (Proxy) - 퍼사드 (Facade) - 책임 연쇄 (Chain of Responsibility) - 커맨드 (Command) - 인터프리터 (Interpreter) - 이터레이터 (Iterator) -..

생성패턴 (Creational Pattern) 구조패턴 (Structural Pattern) 행위패턴 (Behavioral Pattern) - 추상 팩토리 (Abstract Factory) - 팩토리 메소드 (Factory Method) - 프로토타입 (Prototype) - 빌더 (Builder) - 싱글톤 (Singleton) - 어댑터 (Adapter) - 컴포지트 (Composite) - 브리지 (Bridge) - 데코레이터 (Decorator) - 플라이웨이트 (Flyweight) - 프록시 (Proxy) - 퍼사드 (Facade) - 책임 연쇄 (Chain of Responsibility) - 커맨드 (Command) - 인터프리터 (Interpreter) - 이터레이터 (Iterator) -..
들어가며 회사에서 여유있을때 소스 리팩토링 좀 해보려고 한번씩 쭉 보고 있는데, 문자열 연결하는 부분이 거의 String.format으로 되어있었다. 특별히 이렇게 쓴 이유가 있을까?? 이 방식이 다른 방법보다 속도나 성능면에서 우수한걸까?? 라는 궁금증으로 시작해 찾아보게 되었다. 문자열 연결 방법 및 테스트 1. (+)연산자 (string + string) 2. StringBuilder 3. String.format (concat, join 등등 여러 방법이 있지만 주로 사용하는 것들 세가지 정도만 테스트해봤다.) @Test public void 문자열_연결_테스트() { final int COUNT = 1000000; String header = "앞쪽에 붙일 문자열..."; String foote..
Date, Calendar 클래스의 문제점 Naver D2 - JAVA의 날짜와 시간 API 예전에 본 글이지만 정리할 생각은 따로 없었는데, 사내 개발 자료 공유 차원에서 wiki에 정리하다보니 블로그 생각도 나서 간만에 글을 쓰게 되었다. (위 글의 요약에 불과하며 직접 들어가서 보는걸 추천합니다!) 1) 불변 객체가 아니다 set 메서드가 있어서 악의적으로 값 변경시 기존 사용하는 date 값의 side effect가 있을 수 있다. 2) int 상수 필드 남용 calendar.add(Calendar.SECOND, 2); 첫번째 파라미터에 Calendar.JUNE 등 엉뚱한 상수가 들어가도 컴파일 시점에서 확인이 어렵다. 3) 헷갈리는 월 지정 calendar.set(2021, 5, 3); 1월 =..
들어가며 "순서를 다시 세팅해서 불러오도록 해주세요" 듣자마자 꿀냄새가 진동했다. 쿼리에 ORDER BY 살짝 얹어주면 끝날거라 생각했기 때문이다. 하지만 역시 날먹을 허락해주지 않는다... 하필 적용해야하는 데이터가 VARCHAR 형식이라 ORDER BY를 적용하면 '1, 10, 11, 2, 3, ...' '그럼 간단하게 숫자로 바꿔서 돌려볼까 ?' 라고 생각해도 'A01, A02, ...' 이런 문자 + 숫자 혼합된 애들도 있을 수가 있어서 바꾸기도 애매했다. 쿼리로는 해결이 안되니깐 API에서 가공을 해주기로 했다. 처음 생각했던 단순하면서도 수술같이 정교함을 요하는 아이디어는 이랬다. 1) 문자가 있는 경우 (숫자는 그냥 처리하면 되니깐!) 문자를 따로 분리해서 변수에 담아둠 (문자는 임의의 알파..

다른 업체와 API로 데이터를 주고 받아서 처리해야 하는데, 아직 협의는 안됐지만 아마도 JSON으로 하지 않을까 싶다. 그래서!!! 미리 테스트해보며 준비해보고자 구글링한 것을 적어야겠다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 public static void main(String[] args) throws Exception { sendPostJson(); sendGetJson(); } public static void sendPostJson(..
- Total
- Today
- Yesterday
- 객체지향과 디자인패턴
- 최솟값
- 알고리즘
- 스프링 부트
- 예매 알림
- 자바
- 다음 맵 api
- cgv
- codility
- 텔레그램
- K번째수
- json
- 124 나라의 숫자
- 문자열 내 마음대로 정렬하기
- 쇠막대기
- API
- 안드로이드 스튜디오
- 맵 api
- java
- 파이팅코리아
- 기능개발
- AWS
- 프로그래머스
- FrogJmp
- 타겟 넘버
- 더 나은 내일
- Spring
- 카카오인턴
- 완주하지 못한 선수
- 노션트렐로광고X
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |