[구조 패턴] 데코레이터 패턴(Decorator Pattern) 이해 및 예제 by 김준비
- public class SportsCar extends CarDecorator { public SportsCar(Car c) { super(c); } @Override public void assemble(){ super
- public class LuxuryCar extends CarDecorator { public LuxuryCar(Car c) { super(c); } @Override public void assemble(){ super
- public class DecoratorPatternTest { public static void main(String[] args) { Car sportsCar = new SportsCar(new BasicCar()); sportsCar
Git 이란 by 강전혁 about Git
- 깃(Git)은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다
- 여러 명의 개발자가 하나의 프로젝트를 개발할 때 코드가 꼬일 위험이 있기 때문에 버전 관리 시스템을 사용합니다
- 변경점 관리 : 어떤 내용을 누가 작성해서 어느 시점에 들어갔는지 확인할 수 있게 해 준다
react-native-codepush by 김래영
- h> - ( NSURL * ) sourceURLForBridge : ( RCTBridge * ) bridge { # if DEBUG return [ [ RCTBundleURLProvider sharedSettings ] jsBundleURLForBundleRoot : @"index" fallbackResource : nil ] ; # else return [ CodePush bundleURL ] ; # endif }
- < resources > < string name = " app_name " > fetching-android string > < string moduleConfig = " true " name = " CodePushDeploymentKey " > --Staging Deployment Key-- string > resources >
- '"
"' // Note: It is a good idea to provide matchingFallbacks for the new buildType you create to prevent build issues // Add the following line if not already there matchingFallbacks = [ 'release' ]
[Android] MVVM 패턴에서 이벤트 처리하기 by 김준비 about Android
- class MainViewModel : ViewModel() { private val _openEvent = MutableLiveData
>() val openEvent: LiveData > get() = _openEvent val sampleText: MutableLiveData = MutableLiveData() fun onClickEvent(text: String) { _openEvent - 확장 함수를 정의해서 사용하는 이유는 Event 클래스에서 정의한 getContentIfNotHandled() 함수를 통해서 하나의 이벤트 당 한 번의 처리를 하기 위해서입니다
- sampleText}" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" />