생성자에 매개변수가 많다면 빌더를 고려하라 정적 팩터리와 생성자에는 똑같은 제약이 하나 있다. 선택적 매개변수가 많을 때 적절히 대응하기 어렵다는 점이다. 식품 포장의 영양정보를 표현하는 클래스를 생각해보자. 필수 항목 몇개와 대부분 값이 그냥 0인 선택 항목으로 이루어 진다. 프로그래머들은 아래와 같은 방식들로 해결하고자 하였다. 점층적 생성자 패턴(telescoping constructor pattern) public class NutritionFacts { private final int servingSize; // (ml, 1회 제공량) 필수 private final int servings; // (회, 총 n회 제공량) 필수 private final int calories; // (1회 제공량당..
생성자 대신 정적 팩터리 메서드를 고려하라 클라이언트가 클래스의 인스턴스를 얻는 전통적인 수단은 public 생성자다. 하지만 모든 프로그래머가 꼭 알아둬야 할 기법이 하나 더 있다. 클래스는 생성자와 별도로 정적 팩터리 메서드(static factory method)를 제공할 수 있다. 그 클래스의 인스턴스를 반환하는 단순한 정적 메서드 말이다. public static Boolean valueOf (boolean b) { return b?Boolean.TRUE:Boolean.FALSE; } 위 코드는 boolean 기본 타입의 박싱 클래스(boxed class)인 Boolean에서 발췌한 간단한예다. 이 메서드는 기본 타입인 boolean 값을 받아 Boolean 객체 참조로 변환해준다. 정적 팩터리..
1. Coroutine 코루틴은 비동기적으로 실행되는 코드를 간소화하기 위해 사용할 수 있는 동시 실행 설계 패턴이다. 코루틴을 사용하는 전문 개발자중 50% 이상이 생산성이 향상되었다고 보고했다. 코루틴(coroutine)은 루틴의 일종으로서, 협동 루틴이라 할 수 있다(코루틴의 "Co"는 with 또는 togather를 뜻한다). 상호 연계 프로그램을 일컫는다고도 표현가능하다. 루틴과 서브 루틴은 서로 비대칭적인 관계이지만, 코루틴들은 완전히 대칭적인, 즉 서로가 서로를 호출하는 관계이다. 코루틴들에서는 무엇이 무엇의 서브루틴인지를 구분하는 것이 불가능하다. 코루틴 A와 B가 있다고 할 때, A를 프로그래밍 할 때는 B를 A의 서브루틴으로 생각한다. 그러나 B를 프로그래밍할 때는 A가 B의 서브루틴이..
https://055055.tistory.com/106?category=1095791 뱅크샐러드 유전자 검사 뱅크 샐러드에서는 매일 선착순 모집을 통해 유전자 검사를 무료로 해주고 있다. 나는 약 두 달 넘게 신청했으나 매일 익숙한 화면을 보게됐다. 그러다가 이미 신청한 지인들의 조언을 받아서 055055.tistory.com 이전에 신청했던 뱅크샐러드 유전자 검사 결과가 나왔다. 주변 지인들 이야기로는 3주가 걸린다는 사람도 있다는데 나는 2주 정도 걸린 것 같다. 우선 유전자 검사 결과 Top3 를 보자면 아래와 같다. 일반적으로 마른 체형을 유지하고 있긴 한데.. 조금 놀라웠다. 모태 마름과 모태 다이어터.. 마음 먹고 운동을 하게 되면 살을 금방 빼는 체질이여서 알고는 있었는데.. 이정도일 줄이야..
신시아 A.몽고메리의 '당신은 전략가입니까'를 읽고(2020.02.09) https://book.naver.com/bookdb/book_detail.nhn?bid=7423303 당신은 전략가입니까 세계 0.1%에게만 허락된 특권, 하버드경영대학원의 전설적 전략 강의 『당신은 전략가입니까』. 최고의 전략가로 이끄는 8개의 결정적 질문을 통해 전략의 실체를 밝힌다. 수십 년간 간과되어온 book.naver.com 책을 읽기 전에는 ‘기업의 전략’이라는 부분은 개발자인 나와는 상관없는 분야라고 생각했다. 그러나 책을 다 읽고 나서는 최고 경영자 또는 사업부서 소속이 아니더라도, 내 위치에서 이룰 수 있는 목적을 정하고, 계속해서 개선하고 발전시키며 실행해 나가는 사람이 전략가이고 나 또한 전략가가 될 수 있다..
트랜잭션의 격리 수준(isolation level) 여러 트랜잭션이 동시에 처리될 때 특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터를 볼 수 있게 허용할지 말지를 결정하는 것 격리 수준 Dirty Read Non-Repleatable Read Phantom Read READ UNCOMMITTED 발생 발생 발생 READ COMMITTED 없음 발생 발생 REPEATABLE READ 없음 없음 발생 (innoDB는 없음) SERIALIZABLE 없음 없음 없음 4개의 격리 수준에서 순서대로 뒤로 갈수록 각 트랜잭션 간의 데이터 격리(고립) 정도가 높아지며, 동시 처리 성능도 떨어지는 것이 일반적이다. 격리 수준이 높아질수록 MySQL 서버의 처리 성능이 많이 떨어질 것으로 생각하는 사용자가 ..
사내 이벤트로 몽당 커피 연필을 당첨 받았다. 어린이날 기념으로 진행한 이벤트였고 운이 좋게 당첨되었다. 커피 찌꺼기와 채소 추출물만을 활용하여 화학소재 코팅 없는 100% 친환경 공정으로 제작되었다고 한다. 아래 링크를 통해 구입할 수 있다. https://front.wemakeprice.com/product/2098259848 우리 아이 첫 몽당 커피연필(6자루) ▶ 구경하러가기 가격, 상품, 스타일 비교를 한 번에! 쇼핑프로 위메프로! front.wemakeprice.com 커피박(커피 찌꺼기)를 활용한 업사이클링 기업은 커피큐브에서 제작했다고 한다. https://www.coffeecube.co.kr/ Coffee Cube All Natural Used Coffee Grounds -Coffee C..
옵저버 패턴 정의 옵저버 패턴(Observer Pattern)에서는 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다 (ont-to-many) 의존성을 정의한다. 예) 신문사와 정기구독자로 이루어지는 신문 구독 서비스에 비유할 수 있다. 일대다 관계는 주제 와 옵저버에 의해 정의된다. 옵저버는 주제에 의존하며 주제의 상태가 바뀌면 옵저버한테 연락이 간다. 옵저버 패턴을 구현하는 방법에는 여러 가지가 있지만, 대부분 주제(Subject) 인터페이스와 옵저버(Observer) 인터페이스가 들어있는 클래스 디자인을 바탕으로 한다. 여기서 Subject는 Observer에게 갱신된 정보를 전달하며, CurrentConditionsDisplay는 주..
- Total
- Today
- Yesterday
- SpringBoot
- 뱅크샐러드 유전자
- update set multi
- java
- 이것이 자바다
- effectivejava
- 그레이들
- Slack
- visual studio code
- update query multi row
- update query set multiple
- springboot https
- gradle
- 다중 업데이트
- update set multiple
- multiple row update
- 슬랙
- MSSQL
- 몽고DB 완벽가이드
- 업데이트 쿼리
- 슬랙 /
- update query mutiple row
- 이펙티브자바
- spring-boot-starter-data-redis
- 뱅크샐러드
- 싱글턴
- update query
- 뱅셀 유전자
- 슬랙봇
- vue.js
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |