분류 전체보기128 [이펙티브 자바] 01. 객체 생성과 파괴 [이펙티브 자바] 01. 객체 생성과 파괴 객체의 생성과 파괴를 다룬다. 객체를 만들어야 할 때와 만들지 말아야 할 때를 구분하는 법, 올바를 객체 생성 방법과 불필요한 생성을 피하는 방법, 제때 파괴됨을 보장하고 파괴 전에 수행해야 할 정리 작업을 관리하는 요령을 알아본다. 아이템1. 생성자 대신 정적 팩터리 메서드를 고려하라 클래스의 인스턴스를 얻는 전통적인 수단은 public 생성자이고, 이와 별도로 정적 팩터리 메서드(static factory method)를 제공할 수 있다. // 기본타입인 boolean을 받아 박싱 클래스인 Boolean 객체 참조로 변환하는 정적 메소드 public static Boolean valueOf(boolean b){ return b ? Boolean.TRUE : .. 2022. 8. 2. [헤드퍼스트 디자인패턴] 08. 반복자 패턴 (Iterator Pattern) 과 컴포지트 패턴 (Composite Pattern) [헤드퍼스트 디자인패턴] 08. 반복자 패턴 (Iterator Pattern) 과 컴포지트 패턴 (Composite Pattern) 1. 반복자 패턴 (Iterator Pattern) 1.1 반복자 패턴이란? 컬렉션의 구현 방법을 노출하지 않으면서 집합체 내의 모든 항목에 접근하는 방법을 제공한다. 1.2 요구사항 팬케이크 하우스에서 파는 아침 메뉴와 객체 마을에서 파는 점심메뉴를 한곳에서 제공한다. 팬케이크 하우스에서는 메뉴를 List로 관리하고 객체 마을에서는 메뉴를 Array로 관리한다. 1.3 자격 요건 구현하기: 1차 시도 pancakeHouseMenu pancakeHouseMenu = new PancakeHouseMenu(); ArrayList breakfastItems = pancakeHou.. 2022. 7. 31. [Spring Boot] aws s3 presignedUrl로 업로드 하는 법(One Time Token, OTT) [Spring Boot] aws s3 presignedUrl로 업로드 하는 법 회사에서 이미지 업로드시 서버의 I/O 부하를 줄이기 위해 클라이언트에서 바로 aws의 S3에 업로드를 할 수 있도록 presignedUrl을 내리라는 미션을 받았다. "만든 Url이 정상적으로 작동하는지는 프론트에서 확인을 해줘야하나요?" 라고 팀장님께 물으니, 프론트 서버도 직접 만들어 api 테스트 하고 머지하라는 팀장님의 말씀에.. 만만한 vue와 kotlin을 사용해서 aws s3 presignedUrl을 받아 이미지를 업로드 하고, 이미지를 받아오는 것까지 구현해보았다. 처음에 one time token = OTT 라는 키워드를 주셔서 검색을 했는데 잘 안나왔다. 그래서 이리저리 보니 서명된 url이라는 키워드가 있.. 2022. 7. 29. [도메인주도설계] 2022.06.19 ~ 2022.07.24 네번째 스터디 회고록 [도메인주도설계] 2022.06.19 ~ 2022.07.24 네번째 스터디 회고록 도메인주도설계! 이름하여 DDD 네번째 스터디 회고록 이번 스터디는 조금 규모가 컸다 디자인 패턴 스터디 같이 하는 개발자분이 동생과 도메인주도설계 스터디를 하려는데 참가할 사람을 모집하여 첫 스터디 인원은 총 10명! 그러나 첫 스터디 후 두명이 탈주하여 최종적으로 8명으로 스터디를 마무리하게 되었다. 내가 DDD 라는 개념을 처음 접한건 인프런에서 김영한님의 JPA 강의를 들으면서인데, 사실 이때는 이게 도메인 주도 설계 방법인지 모르고 들었다. 그냥 "엔티티에 비즈니스 로직을 넣는것을 도메인 모델 패턴이라고 하고 서비스에 비즈니스 로직을 넣는것을 트랜잭션 스크립트 패턴이라고 한다. 복잡한 로직은 도메인 모델 패턴을 사.. 2022. 7. 25. [쿠버네티스/도커] 2022.06.22 ~ 2022.07.20 세번째 스터디 회고록 [쿠버네티스/도커] 2022.06.22 ~ 2022.07.20 세번째 스터디 회고록 미친듯이 달렸던 세번째 스터디 쿠버네티스/도커 회고록. 두번째 스터디인 네트워크 스터디가 끝날즈음에 네트워크 스터디원 중 한분이 쿠버네티스/도커 스터디를 만들건데 관심있냐고 물어보셨다. 이제 도커는 너무나도 보편적인 기술이 된 것 같고 쿠버네티스 또한 알고 있어야 할것 같다고 생각이 들어 조인하게 되었다. http://www.yes24.com/Product/Goods/102099414 컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 - YES24 실무에 바로 적용할 수 있는 컨테이너 인프라 환경 기술!IT 자원을 효율적으로 빠르게 사용할 수 있는 방법으로 컨테이너 환경이 거론되었으나 그동안 관리가 어렵고 복잡해서 상용되.. 2022. 7. 25. [헤드퍼스트 디자인패턴] 08. 템플릿 메소드 패턴(Template method) [헤드퍼스트 디자인패턴] 08. 템플릿 메소드 패턴(Template method) 1. 템플릿 메소드란? 알고리즘을 일련의 단계로 정의한다. 템플릿 메소드를 사용하면 알고리즘의 일부 단계를 서브클래스에서 구현할 수 있으며, 알고리즘의 구조는 그대로 유지하면서 알고리즘의 특정 단계를 서브클래스에서 재정의할 수도 있다. public abstract class CaffeineBeverage { // prepareRecipe()은 템플릿 메소드 // override를 방지하기 위해 final로 선언 final void preparedRecipe() { boilWater(); brew(); pourInCup(); addCondiments(); } abstract void brew(); abstract void a.. 2022. 7. 24. 이전 1 ··· 5 6 7 8 9 10 11 ··· 22 다음 728x90 반응형