분류 전체보기
코틀린 기본개념
자바 JVM 이란? JAVA Compiler 이 java코드를 byte Code로 변환 -> Class Loader System 을 통해 Class파일들을 JVM으로 로딩 로딩된 Class 파일들은 Execution Engine을 통해 해석됨 -> 해석된 프로그램은 Runtime Data Areas에 배치되어 실질적인 수행이 이루어짐 실행과정속에서 JVM은 필요에 따라 Thread Synchronization 과 Garbage Collection 같은 관리 작업을 수행하게 됨 원시(기본형)타입과 참조형변수 gc는 어떻게 동작하는지 GC(Garbage collectior)를 직접 개발한다면 어떻게 구현하겠어요? 메모리 구조(낮은주소->높은주소) 코드영역, 데이터영역, 힙영역, 스택영역 Byte를 사용하면 ..
Android 기본개념 4
Unit Test/UI Test TDD 경험이 있으신가요? 안드로이드에서 테스트는 어떻게 자동화 할 수 있을까요? Reactive RxJava 적용했을 때 좋은 점 기존 안드로이드 개발에서 큰 문제였던 복잡한 스레드의 사용을 해결하기 위해 사용하는 것 수많은 핸들러와 콜백 떄문에 발생하는 디버깅, 이벤트 중복, 2개의 비동기 처리 후 결과를 하나로 합성하는 작업 등등등... 이 문제점이였음. 하지만 RxJava를 사용하면 간단한 코드로 복잡한 병행 프로그래밍이 가능하며 비동기 구조에서 에러를 다루기가 쉽다. DI(Dagger, Hilt) DI (Dagger, Coin) 써보셨나요? 의존성 주입이란? 프로그래밍에서 구성요소간의 의존 관계가 내부가 아닌 외부를 통해 정의되게 하는 디자인 패턴 중의 하나입니다..
Android 기본개념 3
1. Android Jetpack aac의 ViewModel ? 구성요소의 라이프사이클을 알고있어서 Activity나 Fragment의 Destroy시 onClear 함수를 통한 데이터 해제 DataBinding ? Ui 요소와 데이터를 프로그램적 방식으로 연결하지 않고, 선언적 형식으로 결합할 수 있게 도와주는 라이브러리 ButterKnife와 비슷한기능 LiveData ? 1) Observer 패턴: LiveData는 관찰 가능한, Observable 데이터 홀더 클래스 ViewModel과 View 간의 통신을 쉽게 한다. 여러 위치(SQLite, ArrayList, ViewModel)에서 데이터 참조를 추가 및 삭제하는 여러 호출을 수행하는 대신, 데이터 변경을 관찰하고 데이터를 자동으로 업데이트 ..
Android 기본개념 2
1. Android Recyclerview ListView와 RecyclerView의 차이가 무엇인가요? 둘 다 리스트를 나타내는 뷰라는 점은 동일하다. 데이터가 저장되어 있는 아이템들을 화면에서 리스트로 출력해주며 스크롤 기능을 통해 모든 데이터들을 보여준다. RecyclerVIew는 강제로 ViewHolder를 사용하여 뷰를 재활용함 ListView는 스크롤을 내려서 새로운 아이템이 화면에 출력될 때마다 새 객체를 생성해야하고 이로 인해 과부하가 온다는 단점이 있어 RecyclerView가 이 단점을 보완하고자 만들어진 뷰이다. 새로운 아이템이 화면에 등장하면 이전에 사용했던 ( 화면 밖으로 사라진) 객체를 재활용하는 방식으로 이 문제를 해결 RecyclerVIew는 ArrayAdapter가 아닌 A..
Android 기본개념1
1. Android 기본 Application클래스란? 더보기 어플리케이션 앱 프로세스가 실행되면 가장 먼저 생성되는 객체 하나의 어플리케이션 객체는 하나의 앱 프로세스와 대응됨 안드로이드의 Application Class 는 액티비티 및 서비스와 같은 다른 모든 구성 요소에 접근 가능한 기본 클래스 앱이 백그라운드로 내려가도 앱 프로세스는 계속 살아있기 때문에 어플리케이션 객체도 살아있다 그렇기 때문에, 보통 앱 전역에서 일관성있게, 사용하는 요소들을 등록하여 사용 Context란? 더보기 현재 사용되고 있는 안드로이드의 컴포넌트들에 대한 포괄적인 정보를 지니고 있는 객체 다른 Context 와 다른 중요한 점은 애플리케이션에서 현재 실행되고 있는 환경을 가지고 있다는 것이다 각각의 컴포넌트들(액티비티..
설계의 기본
MVP, 최소한의 설계 최소 기능 제품과 MVP 피드백 루프 MVP로 시장 검증에 성공한 드롭박스와 에어비앤비 경쟁자 경쟁자 분석을 하는 이유 경쟁사 목록표 만들기 기능 비교 표 만들기 데이터 데이터 A/B 테스트 퍼널 AARRR 근본 문제 심층 인터뷰 어피니티 다이어그램 UX 페르소나 사용자 유형을 대변하는 가상인물 문제의 근본 원인 5 Way 골든 서클 UX 라이팅 UX 라이팅 이란 (vs 카피라이팅 UX 라이팅 4 법칙 UX 라이팅 적용하기