일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 인스턴스
- JNI
- 부의추월차선
- mutable
- ViewModel
- 멀티쓰레드
- 람다
- 코루틴
- 자청
- AsyncTask
- 동기
- 가치생산주의
- java
- 코틀린
- Kotlin
- View
- 부자아빠가난한아빠
- Android
- 타이탄의도구
- 비동기
- 안드로이드
- 부자의그릇
- 언스크립티드
- Coroutines
- NDK
- 책리뷰
- 기업가정신
- ViewGroup
- MVVM
- SharedPreferences
- Today
- Total
목록Dev Tools (20)
타이탄의 도구들
배열의 사전적 의미 Array : An array of objects is a collection of them that is displayed or arranged in a particular way. 배열이란, 특정한 방식으로 정리되거나 진열한 무리 혹은 모은 것들이다. 배열의 고유명사적 의미 + 왜 사용하는가? 동일한 자료형(Data Type)의 데이터를 연속된 공간에 저장하기 위한 자료구조이다. 즉, 동일한 자료형인 데이터들을 그룹화하여 묶어준다고 생각하면 된다. 리스트의 사전적 의미 List : 목록(어떤 물품의 이름이나 책 제목 따위를 일정한 순서로 적은 것), 명단 index : 인덱스, 색인 색인 : 어떤 것을 뒤져서 찾아내거나 필요한 정보를 밝힘. 책 속의 내용 중에서 ..
Collection(콜렉션)은 대부분의 프로그래밍 언어에 있는 자료구조이며 데이터들을 한 곳에 모아 관리와 사용을 편하게 하기 위해 제공하는 프레임워크입니다. 코틀린의 List, Map, Set 등이 Collection에 해당합니다. Collection은 제네릭으로 구현이 되어 다양한 타입과 함께 사용될 수 있습니다. (ex Map, List...) 개인적으로 이 개념에 대해 정리하게 된 계기는 안드로이드 개발에서 LiveData를 활용할 때, 왜 LiveData와 MutableLiveData를 구분하는지 의문에서부터 시작되었습니다. 코틀린의 Collection은 기본적으로 Mutable(변할 수 없는)과 Immutable(불변의)을 별개로 지원합니다. Mutable로 생성하면 추가, 삭제가 ..
회사에서 결제 시스템 도입으로 인해 최근 구글 인앱결제 이슈를 정리해보았다. 과거에는 외부 결제 방식을 도입하면 구글에 수수료를 내지 않아도 되었지만, 최근 구글의 발표에 따르면 외부결제 방식을 도입하더라도 구글에 수수료를 따로 지불해야 한다. (예: PG 결제 도입시 26%를 구글에 수수료 지불하고, PG사에도 수수료를 별도로 지불함) 참고 링크 https://news.naver.com/main/read.naver?mode=LSD&mid=sec&sid1=105&oid=031&aid=0000634693 외부 결제를 도입하더라도 Google Play 결제 시스템을 필수로 선택지에 넣어야한다. 즉, 외부결제를 도입한다 하더라도 구글 인앱 결제 방식까지 추가로 개발해야한다. 구글 공식 블로그 설..
Kotlin 사전적 의미 JetBrains의 R&D(Research and development) 센터가 위치한 상트페테르부르크 근처의 섬 이름 고유명사적 의미 IntelliJ IDEA의 개발사 JetBrains에서 2011년에 공개한 오픈 소스 프로그래밍 언어. JVM 기반의 언어이며, Java와 100% 호환이 가능하다. 왜 사용하는가? (안드로이드 개발자로서) 1. 안드로이드, 백엔드, 프론트엔드, 데이터 사이언스 등 다양한 분야에 활용할 수 있는 언어이기 때문 2. 구글이 2017년에 안드로이드의 공식 언어로 Kotlin을 추가하였고, 자바에 비해 간결하게 코드를 짤 수 있다. 3. Kotlin 코루틴은 비동기 프로그래밍을 간소화하여 네트워크 호출, 데이터베이스 업데이..
오랜만에 안드로이드 어플을 개발하다보니, 쉐어드 쓸 일이 생겼는데, 기억이 안나서 과거에 정리해 놓은 자료를 보고 적용했는데, 도움이 많이 되었다. 물론 부족한 자료지만, 나에게는 다 소중한 자산같은 자료들이다 :) SharedPreferences의 사전적 의미 쉐어드(Shared) : 공유하는 프레퍼런스(Preference) : 우선권, 더 좋아함 SharedPreferences란 (고유명사적 의미) 데이터를 키와 밸류 형태로 저장하고 불러올 수 있게 하는 안드로이드에서 제공하는 인터페이스다. interface : 사물과 사물 사이 또는 사물과 인간 사이의 경계에서, 상호 간의 소통을 위해 만들어진 매개체 왜 사용하는가? 1. 데이터를 서버가 아닌 로컬(휴대폰이라고 생각하면 됨)에 저장하기 위해서 2...
안드로이드에서 리스트를 표현하는 대표적인 3가지 방법인 ListView, RecyclerView, LazyColumn에 대해 알아보도록 하겠습니다. ListView 사전적 의미 List : 목록 View : 그림, 보기, 시야 목록을 나타내는 것 고유명사적 의미 데이터를 특정한 형식에 따라 차례대로 뷰를 나열하는 방식 차례로 나열되는 자료를 표현하기 위해 사용하는 뷰 데이터 목록을 아이템 단위로 구성하여 화면에 출력하는 ViewGroup의 한 종류 왜 사용하는가? 데이터를 일정한 규칙으로 표현해 알아보기 쉽도록 하기 위해서 + 리스트뷰는 리사이클러뷰가 있는데 왜 deprecated 되지 않았을까? →리스트뷰만의 여러 장점이 있기 때문에 리스트뷰의 장점 -ListView는 간단하게 리스트..
사전적 의미 view : 그림, 보기, 시야 group : 무리, 집단 고유명사적 의미(developers) 뷰는 유저가 보고 상호작용할 수 있는 것을 나타냅니다. 뷰그룹은 뷰와 다른 뷰그룹 객체의 레이아웃 구조를 정의하는 투명 컨테이너입니다. 뷰 클래스의 객체는 일반적으로 '위젯(widget)' 이라고 하고 여러 하위 클래스 중 하나가 될 수 있습니다.(예:Button 또는 TextView) 즉, 버튼, 텍스트뷰, 이미지뷰 등은 위젯이라는 말로도 불립니다. 뷰그룹 클래스의 객체는 종종 '레이아웃'이라고 부르고 (반드시는 아닙니다. 리스트뷰나 리사이클러뷰 같은 경우도 있습니다.) 다양한 레이아웃 구조를 제공하는 여러 유형 중 하나일 수 있습니다. (예: 리니어 레이아웃, 컨스트레인트 레이아웃 등..
자바의 기초 개념인 클래스, 객체, 인스턴스, 생성자, 쓰레드, 멀티쓰레드에 대해 최대한 간결하게 정리해보려고 합니다. 클래스란? '객체'에 대한 설명을 적은 설명서 혹은 설계도 (개발자식 설명: 객체의 메소드(기능)와 변수(속성)를 정의해 놓은 것) 그렇다면 '객체'란? 클래스라는 설계도를 통해 만든 소프트웨어에 존재하는 대상 그 자체입니다. 인스턴스란? 인스턴스는 추상적으로 '어떤 것으로부터 생성된 복제본' 이라는 의미를 담고 있습니다. 그래서 '객체는 클래스의 인스턴스다'라고 말할 수 있습니다. 하지만, 클래스와 객체 사이의 관계에서만 쓰이는 말은 아닙니다. 생성자란? 객체 생성 시 가장 먼저 '반드시' 실행되어야 하는 것으로 객체를 초기화하기 위해 '가장 먼저 실행되는' ..
사전적 의미 Native Development Kit(NDK) Native : 꾸밈없는, 천연 그대로의 Development : 개발 Kit : 조립을 해서 무엇을 바로 만들 수 있도록 부품들을 모아 놓은 것 참고 Software Development Kit 소프트웨어 개발 키트(SDK)는 응용 프로그램을 만들 수 있게 해주는 개발 도구의 집합이다. 한 예로, 안드로이드 앱 개발을 위해서는 Java를 포함한 SDK가 필요하다. 네이티브 언어에 대한 이해 https://ssaturn.tistory.com/99 Java Native Interface (JNI) java : 자바 언어 native : 꾸밈없는, 천연 그대로의 interface : 사물과 사물 사이 또는 사물과 인간 사이의 경계에서,..
(1) 동기와 비동기, 블로킹과 논블로킹 [태스크(task)] 작업의 단위을 뜻하는 포괄적인 용어다 (프로세스, 스레드 등) [동기식 처리 모델 (Synchronous processing model)] 동기식 처리 모델은 직렬적으로 태스크(task)를 수행한다. 즉, 태스크는 순차적으로 실행되며 어떤 작업이 수행 중이면 다음 작업은 대기하게 된다. 예를 들어 서버에서 데이터를 가져와서 화면에 표시하는 작업을 수행할 때, 서버에 데이터를 요청하고 데이터가 응답될 때까지 이후 태스크들은 블로킹(blocking, 작업 중단)된다. → 동기란 작업의 결과를 기다리는것! (기다린다 = 블로킹상태) [비동기식 처리 모델 (Asynchronous processing model 또는 Non-Block..