Head First - Design Patterns 의 템플릿 메소드 패턴 기반으로 작성하였습니다. 자세한 설명은 도서를 참고해주세요. 레거시코드를 보다보면 한번쯤은 보셨을 패턴인 빌더 패턴에 대해서 이번 시간 이야기하겠습니다. 빌더패턴이란?? 제품을 여러 단계로 나눠서 만들 수 있도록 제품 생산 단계들을 캡술화하고 싶다면 빌더 패턴을 활용하면 됩니다. ◆ 장점 ‣ 복합 객체가 생성되는 과정을 캡술화 합니다. ‣ 제품의 내부 구조를 클라이언트로부터 보호 할 수 있습니다. ‣ 여러 단계와 다양한 절차를 통해서 객체 생성가능합니다. ◆ 단점 ‣ 팩토리를 사용하는 경우에 비해 객체를 만들기 위해서 클라이언트에 대해 더 많이 알아야합니다. 예제를 통한 빌더패턴을 알아보기 손님마다 휴일 일자와 숙소가 달라지게 됩..
Head First - Design Patterns 의 템플릿 메소드 패턴 기반으로 작성하였습니다. 자세한 설명은 도서를 참고해주세요. 이번 포스트는 브릿지패턴에 대해서 이야기하려고 합니다. 브리지 사전전 정의는 기본적으로 다리 구조물을 뜻합니다. 다리의 역할은 강이나 두 지점을 건널 수 있게 만드는 시설을 의미하는데요. 왜 이름을 브리지 패턴으로 선언하고 브리지 패턴의 장점과 단점을 알아보겠습니다. 브리지 패턴을 왜 사용하는가? 브리지 패턴은 구조(Structural)패턴으로써 클래스 및 객체들읠 구성을 통하여 구현 뿐만 아니라 추상화된 부분까지 변경시켜야하는 경우에는 브리지 패턴을 사용하면됩니다. 예를들어서 만능 리모컨을 만든다고 가정합시다. 조금 더 편한 가정을 위해서 모든 TV의 리모콘은 똑같은 ..
알고리즘을 캡슐화해서, 서브클래스에서 언제든 필요 할때마다 사용할 수 있는 방법을 고민하신다면 디자인 패턴 중 하나인 템플릿 메소드 패턴을 제안드립니다. 이번 포스트는 템플릿 메소드 패턴에 대해서 간단히 알아보겠습니다. * Head First - Design Patterns 의 템플릿 메소드 패턴 기반으로 작성하였습니다. 자세한 설명은 도서를 참고해주세요. 템플릿 메소드 패턴 메소드에서 알고리즘의 골격을 정의합니다. 알고리즈의 여러 단계 중 일부는 서브클래스에서 구현할 수 있습니다. 템플릿 메소드를 이용하면 알고리즘의 구조는그대로 유지하면서 서브클래스에서 특정 단계를 재정의할 수 있습니다. 후크 추상 클래스에서 선언되는 메소드긴 하지만 기본적인 내용만 구현되어 있거나 아무 코드도 들어있지 않은 메소드입니..
* Head First - Design Patterns 의 데코레이터 패턴을 기반으로 작성하였습니다. 자세한 설명은 도서를 참고해주세요. 다양한 디자인패턴이 존재합니다. 디자인패턴은 누군가가 나의 문제를 이미 해결해 놓았고, 이미 경험한 개발자들의 경험이 모여 디자인패턴을 만들어 졌습니다. 디자인 패턴은 코드를 재사용하는 것과 마찬가지로 경험을 재사용하는 것입니다. 데코레이션 패턴을 소개하기 앞써 OCP(Open-Close Principle) 에 대해서 언급하겠습니다. OCP(Open-Closed Principle)는 가장 중요한 디자인 원칙 가운데 하나입니다. "클래스는 확장에 대해서는 열려 있어야 하지만 코드 변경에 대해서는 닫혀 있어야 한다." 데코레이터 패턴 데코레이터 패턴(Decorator Pa..
MacBookPro2014 을 사용하다가 M1 칩이 탑제된 MacBookPro 가 출시 되었다고 해서 오랜 고민 끝에 구매하였습니다. 여러 프로그램을 설치하며 만족함을 느끼며 마지막으로 Android Studio 을 설치하였는데 예상하지 못한 문제가 발생하였습니다. M1 환경에서 Android Studio(정식버전)의 에뮬레이터가 실행되지 않습니다. 구글쪽에서 M1 환경에 대한 Android Studio 대응 버전을 개발하고 있는 현재 상황에서 안드로이드 개발자로써 너무 성급히 장비를 바꾸었나 자책하고 있던중 저와 같은 고민을 하고 해결한 사례가 있는지 찾아봤는데 역시나.. 있었습니다. 이번 포스트에서는 M1에서 Android Studio 에물레이터 돌리는 방법 및 Android Studio M1 에서 ..
운영중인 안드로이드을 모니터링 하는 다양한 방법 가운데 가장 적은 비용으로 구축 할 수 있는 방법 중 하나는 Firebase Crashlytics 을 도입하는 것입니다. 제가 운영하는 Toy App 에서 웹뷰를 사용하는 앱이 있는데요. 그 앱에는 Firebase Crashlytics을 구축하여 앱 안정성을 모니터링 하고 있습니다. 최근 다음과 같은 Webviw에서 이슈가 발생했습니다. Caused by java.lang.RuntimeException Using WebView from more than one process at once with the same data directory is not supported. https://crbug.com/558377 : Current process com.x..
구글에서 코틀린을 공식 언어로 추가하면서 Java로 열심히 개발했던 안드로이드 개발자에게는 새로운 언어를 배워야하는 환경이 조정되고 있습니다. 이미 많은 개발자분들은 자바 소스로 구성된 프로젝트를 코틀린 소스로 변경하고 운영중일 것입니다. '굳이 코틀린으로 변경할 필요 있겠어?' 라는 생각으로 자바 소스를 계속 유지하고 계신 분들도 있을 것입니다. 코틀린 vs Java 코틀린과 Java을 비교하는 방법 중 Java의 단점을 코틀린이 보완 할 수 있는지 확인하는 것도 방법이라 생각합니다. 이번 포스트는 Java와 다른 코틀린의 장점인 크게 2가지로 Null 안정성과 코드 간소화의 주제로 진행합니다. Null 안정성 Java 개발 하다보면 가장 많인 접하는 Exception은 Null Point Except..
스마트 디바이스을 통해 웹과 앱에서 다양한 컨텐츠(Content)을 접하고 있습니다. 다양한 컨텐츠에서도 UI 가 Nice 한 컨텐츠에 더 눈이 가서 진입율도 높은 편입니다. 가장 많이 사용하는 디자인 중 하나는 Corner Round 처리라고 할 정도로 디자인에서 사용하고 있는데요. 이번 포스트에서는 Corner Round 하는 방법에 대해서 알아보겠습니다. SHAPE 을 활용한 방법 Corner Round 하는 방법 중 하나는 shape 을 활용하는 방법입니다. Shape 는 xml을 통하여 만들 수 있으며 아래와 같이 안에 을 두어 Corner에 Radius을 설정할 수 있습니다. 생성한 Shape을 Layout Background 로 설정하여 Corner Round View을 설정할 수 있습니다...
- 미션차이나센터
- 고시문헬퍼
- DI
- 알고리즘
- 스코어헬퍼
- view
- IOS
- Android Studio
- 패턴
- 고시문
- issue
- 임용고시
- 안드로이드
- MCC
- Kotlin
- 탁구
- 디자인패턴
- java
- flutter
- missioon
- RXjava
- missionchina
- IT
- push
- swift
- 코틀린
- Android
- 점수판
- 선교
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |