일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 어떻게 나답게 살 것인가
- 베드테이블
- 아비투스
- 자취필수템
- 브런치작가되기
- 재택근무
- 캐치마인드
- 함수형 프로그래밍
- 목적중심리더십
- 좌식테이블
- 면접
- 한달브런치북만들기
- 소프시스 밤부 좌식 엑슬 테이블
- 리얼하다
- 커스텀린트
- 1일1커밋
- 슬기로운 온라인 게임
- T자형인재
- 목적 중심 리더십
- 지지않는다는말
- 한달독서
- 소프시스
- 안드로이드
- 북한살둘레길
- 베드트레이
- 끝말잇기
- 한달어스
- 한단어의힘
- 프래그먼트
- 테트리스
- Today
- Total
목록분류 전체보기 (351)
정상에서 IT를 외치다
안녕하세요. 불랙진입니다.책 HeadFirstDesignPattern 을 보며 코드를 Kotlin 으로 바꿔가며 공부한 내용입니다. 어댑터 패턴과 퍼사드 패턴 데코레이터 패턴을 기억하시나요? 객체를 래퍼로 감싸서 새로운 역활을 부여했습니다. 이번에는 다른 목적으로 객체를 감쌀 것입니다. 실재와 다른 인터페이스를 가진 것처럼 보이도록 하는 방법입니다. 어댑터 어떤 인터페이스를 클라이언트에서 요구하는 형태의 인터페이스에 적응시켜주는 역활 오리처럼 걷고 꽥꽥거린다면 반드시 오리라고 할 수 없습니다.오리 어댑터로 감싼 칠면조일 수도 있습니다.interface Duck { fun quack() fun fly() } class MallardDuck: Duck { override fun quack() { printl..
안녕하세요. 블랙진입니다.책 HeadFirstDesignPattern 을 보며 코드를 Kotlin 으로 바꿔가며 공부한 내용입니다. 호출 캡슐화 - 메소드 호출을 캡슐화하는 방법에 대해 배워보겠습니다. 커맨드 패턴 커맨드 패턴을 이용하면 요구 사항을 객체로 캡슐화 할 수 있으며, 매개변수를 써서 여러 가지 다른 요구 사항을 집어넣을 수도 있습니다. 또한 요청 내역을 큐에 저장하거나 로그로 기록할 수도 있으며, 작업 취소 기능도 지원가능합니다 커맨드 패턴을 이용하면 요청을 하는 객체와 그 요청을 수행하는 객체를 분리시킬 수 있습니다. 사용방법 커맨드 객체는 일련의 행동을 특정 리시버하고 연결시킴으로써 요구 사항을 캡슐화합니다. 이렇게 하기 위해서 행동과 리시버를 한 객체에 집어넣고, excute()라는 메..
안녕하세요. 블랙진입니다.책 HeadFirstDesignPattern 을 보며 코드를 Kotlin 으로 바꿔가며 공부한 내용입니다. New는 구상 객체를 뜻합니다. new를 사용하는 것은 구상 클래스의 인스턴스를 만드는 것입니다. 당연히 인터페이스가 아닌 특정 구현을 사용합니다. 구상 클래스를 바탕으로 코딩을 하면 나중에 코드를 수정해야 할 가능성이 높아지고, 유연성이 떨어지게 됩니다. 문제 피자를 주문할 수 있는 orderPizza가 있습니다. type을 매개변수로 받아 Cheese, Greek, Pepperoni 피자를 new 를 사용해 만들고 있습니다. 이런 코드가 있다는 것은 뭔가 변경하거나 확장해야 할 때 코드를 다시 확인하고 추가 또는 제거해야 되는 불편함이 있습니다. 또한 오류가 생길 가능성..
안녕하세요. 블랙진입니다. CoordinatLayout을 사용해 애니메이션을 구현해야 되는 미션을 받아 공부한 내용을 간략히 정리해 보았습니다. 개요 CoordinatorLayout CoordinatorLayout 은 강력한 FrameLayout 으로 2가지 주요 행동이 있습니다. 1. 애플리케이션에서 최상위 장식(decor) 뷰로써 사용 2. 자식 뷰들간의 특정한 인터렉션을 위한 컨테이너로써 사용 CoordinatorLayout의 자식뷰에 Behaviors를 지정하는 방식으로 하나의 부모뷰 안에서 다양한 인터렉션을 지원할 수 있고 자식뷰들 간의 인터렉션을 할 수 있습니다. 또한 CoordinatorLayout의 자식뷰는 anchor 와 insetEdge 속성을 가질 수 있습니다. anchor는 Coor..
안녕하세요. 블랙진입니다.책 HeadFirstDesignPatter 을 보며 코드를 Kotlin 으로 바꿔가며 공부한 내용입니다. 데코레이터 패턴(Decorator pattern)이란 주어진 상황 및 용도에 따라 어떤 객체에 책임을 덧붙이는 패턴으로, 기능 확장이 필요할 때 서브클래싱 대신 쓸 수 있는 유연한 대안이 될 수 있다.출처 위키 객체의 추가적인 요건을 동적으로 첨가한다. 데코레이터는 서브클래스를 만드는 것을 통해서 기능을 유연하게 확장할 수 있는 방법을 제공한 - 객체 작성이라는 형식으로 실행중에 클래스를 꾸미는 방법입니다.- 객체에 추가적인 요건을 동적으로 첨가할 수 있습니다. 예제 음료수를 상속한 에스프레소가 있고 여기에는 스팀밀크가 들어갈 수도 있고 모카가 들어갈 수도 있습니다.//음료를..
안녕하세요. 블랙진입니다. 이번 독서모임에서 읽은 책은 "미움받을 용기" 입니다. 2019년 5월 12일 소개 '미움받을 용기'는 아들러의 사상을 청년과 철학자의 대화라는 형식으로 엮은 책입니다. 저자 고가 후미타케는 우연히 아들러 심리학에 매료되어 관련 책을 찾아 보게됩니다. 그러면서 기시미 이치로라는 철학자의 필터를 통해 걸러진 아들러 심리학에 크게 공감하여 이분과 함께 책을 책을 내고 싶다고 생각합니다. 가시미 선생이 "소크라테스의 사상을 기록으로 남긴것은 플라톤이었어요. 나는 아들러에게 있어서 플라톤이 되고 싶습니다."라고 말씀하셨고, 그 말을 듣고 제가 불현듯 "그러면 제가 가시미 선생님의 플라톤이 되겠습니다."라고 답변학 것이 이 책의 출발점이 되었습니다. 내용 "트라우마란 존재하지 않는다" ..
안녕하세요. 블랙진입니다. 5월 7~9일 캘리포니아에서 2019 Google I/O가 열립니다. 이에 Google I/O 의 열기를 간접적으로 나마 느끼기 위해 라이브 시청을 위한 Viewing Party가 우아한형제들 작은집에서 진행되어 참여했습니다. 시차로 캘리포니아는 오전 10시 이지만 한국에서는 오후 9시 ~ 오전 6시에 라이브 방송을 볼 수 있습니다. 그렇게 퇴근 후 우아한형제들 작은집으로 이동! 좋은 음식을 먹고 싶은 곳에서~!! 우아한형제들 후원으로 Viewing Party 가 진행되고 있습니다. 9시 10분에 도착했는데 벌써 많은 분들이 자리에 앉아 주셨습니다. 번호가 적힌 이름표를 받고 입장을 했고 번호표를 기준으로 자리에 앉아 네트워킹 시간을 가졌습니다. Google I/O 는 개발자 ..
안녕하세요. 블랙진입니다. 오늘은 퇴근 후 GDG에서 진행하는 Meetup at Pangyo 에 다녀왔습니다. 출처 - Festa 장소는 알파돔 12층 카카오페이입니다. 이번 기회에 카카오페이 회사를 구경할 수도 있어 정말 좋았습니다. 입구를 지키고 있는 카카오 캐릭터들!! 그리고 떡하니 보이는 행사 마크!! 이렇게 입구를 지나 7시 30분 세션1 시작시간에 딱 맞춰 도착했습니다. 타임라인은 아래와 같습니다. * 7:15 ~ 7:30 * 키노트* 7:30 ~ 7:55 * 세션 1 : 안드로이드 스튜디오의 디버거, 조금 더 잘 활용해보기 (안세원)안드로이드 스튜디오의 디버거가 제공하는 다양한 기능들을 살펴보고, 효과적으로 사용하는 방법을 같이 고민해보아요.* 7:55 ~ 8:10 * 세션 2 : Navig..
안녕하세요. 블랙진입니다. 디자인패턴을 공부하다가 IoC, DI와 DIP에 관해 개념이 헷갈려 제 나름대로 정리 해봤습니다. IoC (Inversion of Control) 제어 반전, 제어의 반전, 역제어는 프로그래머가 작성한 프로그램이 재사용 라이브러리의 흐름 제어를 받게 되는 소프트웨어 디자인 패턴을 말한다. 줄여서 IoC(Inversion of Control)이라고 부른다. 전통적인 프로그래밍에서 흐름은 프로그래머가 작성한 프로그램이 외부 라이브러리의 코드를 호출해 이용한다. 하지만 제어 반전이 적용된 구조에서는 외부 라이브러리의 코드가 프로그래머가 작성한 코드를 호출한다. 설계 목적상 제어 반전의 목적은 다음과 같다:작업을 구현하는 방식과 작업 수행 자체를 분리한다.모듈을 제작할 때, 모듈과 외..
안녕하세요. 블랙진입니다.책 HeadFirstDesignPattern 을 보며 코드를 Kotlin 으로 바꿔가며 공부한 내용입니다. 스트래티지 패턴(strategy pattern) 전략 패턴(strategy pattern) 또는 정책 패턴(policy pattern)은 실행 중에 알고리즘을 선택할 수 있게 하는 행위 소프트웨어 디자인 패턴이다. 전략 패턴은특정한 계열의 알고리즘들을 정의하고각 알고리즘을 캡슐화하며이 알고리즘들을 해당 계열 안에서 상호 교체가 가능하게 만든다.전략은 알고리즘을 사용하는 클라이언트와는 독립적으로 다양하게 만든다.[1] 전략은 유연하고 재사용 가능한 객체 지향 소프트웨어를 어떻게 설계하는지 기술하기 위해 디자인 패턴의 개념을 보급시킨 디자인 패턴(Gamma 등)이라는 영향력 있..