- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ai
- coroutine
- pullrequest
- KotlinInAction
- 학습지
- 진짜학습지후기
- 일본어기초
- 진짜일본어
- PR
- 진짜학습지
- n3문법
- webflux
- 책리뷰
- 인공지능
- Kotlin
- errorhandling
- blog
- GIT
- androidstudio
- 코틀린
- rxjava
- Android
- github
- jlpt
- 안드로이드
- 책추천
- CustomTab
- 일본어문법
- posting
- suspend
목록분류 전체보기 (354)
코딩하는 개굴이
사용자가 앱을 사용하는 과정에서 앱을 나가거나 잠시 멈춰지거나 다시 시작하는 등의 상태가 변화하는 상황이 발생할 수 있다. 이러한 과정에 있어서 Activity 클래스는 각 상황의 상태 변화를 알 수 있도록 여러 콜백을 제공한다. Activity의 상태 별 전환 과정의 클래스는 onCreate, onStart, onResume, onPause, onStop, onDestroy 로 총 6가지 콜백을 제공하며, 액티비티가 새로운 상태에 들어가게 되면 시스템은 각 콜백을 호출해준다. 아래 다이어그램은 이를 알기 쉽게 시각적으로 나타낸 것이다. 각 콜백 메서드들에 대해 간략히 알아보자. onCreate 액티비티가 생성될 때 호출되는 콜백으로, setContentView 가 여기서 수행된다. 이유는 해당 콜백은 ..
Android Manifest 에서 LaunchMode 라는 것을 본 적이 있을 것이다. 아래와 같이 activity 의 옵션으로 들어가는 것 중 하나로, 각 액티비티를 시작하는 방법을 지정하는 것이다. (스포이지만, exported 설정에 대해서는 차후의 포스팅에서 다루도록 하겠다.) 아래 중 총 4가지 중 하나로 설정할 수 있다. standard singleTop singleTask singleInstance 각각에 대해 간략하게 알아보도록 하자. [참고!] 하위 설명들은 편의를 위해 A, B, C... 액티비티들이 존재하며 그 중, A 액티비티가 특정 launchMode의 설정임을 가정합니다. A > B > C 의 표현은 액티비티 스택을 의미하며, A 액티비티 위 B가, B 액티비티 위에 C 가 쌓..
개발자라면 위의 짤을 한번씩은 본 적이 있을 것이다. 이름 짓기란 제일 힘들고 많이 시간을 소요하는 의도치 않은 부분이기도 하다. 본인은 실제로 현업에서 함께 사용하는 식별자의 네이밍에 대해 3시간 이상도 논의해본 적이 있다. 대체 네이밍은 왜 이렇게 시간을 잡아먹고 이렇게 중요한 것일까? 해당 내용은 Udemy의 '개발자 영어' 강의를 기반으로 작성되었습니다. 식별자 이름 식별자 종류 : 타입, 변수, 메서드, 함수, 모듈, 라이브러리, 네임스페이스 등이 존재한다. 이름의 중요성 이름은 코드 기반의 상당한 부분을 차지 코드 리뷰 시 지적되는 사항의 약 25%가 식별자 이름 이름은 표식이자 이해에 도움을 주는 일종의 문서 역할을 수행 프로그램 개발 초기에 만들어진 식별자의 품질이 계속 유지될 가능성이 큼..
본 리뷰는 한빛 미디어 프로그램을 통해 책을 제공받아 작성된 리뷰임을 알립니다. 책 소개 책 제목 : 이것이 자바다 개정판:교육 현장에서 가장 많이 쓰이는 JAVA 프로그래밍의 기본서 글쓴이 : 신용권, 임경균 출판사 : 한빛미디어 책의 특징 프로그래밍 언어의 기본서들을 대개 두껍다. 완전한 베이스부터 활용까지 최대한 폭 넓은 내용을 다루기 위함인데, 해당 책도 그러하다. 웬만한 사람의 뚝배기는 던지면 뽀가질 것만 같은 두께로 인심 좋게 많은 내용을 넣고 있다. 실제로 얼마나 많은 내용들을 담고 있는지에 대해서는 아래 더 자세히 설명해보려한다. [나의 부족한 내용을 마주하다] 사실 본인은 살짝 부끄럽지만 자바를 업무에 주 언어로 사용하는 주니어 개발자이다. 여기서 본인이 표현을 할 때 '부끄럽지만' 이라..
자료 구조에서 많이 쓰이는 Map, Set, List 에 대해서 헷갈리는 Map-HashMap, Set-HashSet, List-ArrayList 간의 관계의 개념을 정리해보고자 한다. Map과 HashMap의 관계 Map은 key-value 형태를 가지는 자료형의 인터페이스로 value의 중복을 허용한다. HashMap, SortedMap 등이 해당 인터페이스를 구현한 예시이다. HashMap은 HashTable을 사용하고, Hash 알고리즘을 이용해 검색 속도가 매우 빠르다. key-value 를 묶어 하나의 table의 entry로 저장한다. TreeMap은 key-value를 한쌍으로 데이터를 구성해 이진 검색 트리의 형태로 저장한다. (정확히는 Red-Black Tree로 이진 검색 트리의 향상..
시작하기 전에, 해당 글에서는 본인이 헷갈리는 부분이 다소 많았기 때문에 부가 설명을 많이 추가했음을 먼저 알리고싶다. 코루틴은 무엇일까? 코루틴은 시작된 스레드를 중단하지 않으면서 비동기적으로 실행되는 코드로, AsyncTask처럼 스레드의 직접 관리가 필요하지 않고, 기존의 다중 스레드보다 효율적으로 동작하는 장점이 있다. # 코루틴은 Thread를 중단하지 않는다? 스레드를 중단하지 않는다는 것이 어떤 의미일까? 우선, 코루틴1을 실행 중인 상태에서 코루틴2가 실행 될 때를 가정해보자. 이때, 실행 중인 Thread를 중지시키면서 Context Switching을 수행하는 것이 아닌 잠시 코루틴1을 멈춰두었다가 다시 실행할 때 이전 상태를 불러와 다시 스레드에서 이를 수행한다. 따라서, 코루틴은 T..
JWT 토큰 인증이란? JWT 토큰 인증은 유저를 인증/식별하기 위한 토큰 기반 인증으로, 토큰은 세션과 달리 서버가 아닌 클라이언트에 저장되어 메모리나 스토리지 등으로 세션을 관리했던 서버의 부담을 덜 수 있다. 토큰 자체에는 사용자의 권한 정보나 서비스를 사용하기 위한 정보가 포함된다. 데이터가 많아지면 토큰이 커질 수 있으며 토큰이 한 번 발급 된 이후 사용자의 정보를 바꾸더라도 토큰을 재발급하지 않는 이상 반영되지 않는다. JWT를 사용하면 RESTful 과 같은 무상태(Stateless)인 환경에서 사용자 데이터를 주고 받을 수 있게 된다. 세션을 사용하게 될 경우 서버에 세션을 저장하였지만 JWT와 같은 토큰을 클라이언트에 저장하고 요청 시 단순히 HTTP 헤더에 토큰을 첨부하는 것으로 단순하..
이전에 아래의 포스팅에서 Volley 및 Retrofit 에 대하여 간략하게 다루었는데 이번에는 Volley 의 간단한 사용법에 대해 정리해보고자 한다. https://yejinson97gaegul.tistory.com/entry/Retrofit-%EA%B3%BC-Volley-%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC Retrofit 과 Volley 에 대하여 Retrofit 2 실습한 GITHUB 링크를 기반으로 조사하였습니다. OkHttp, Retrofit, Volley의 등장 배경 한때 HttpUrlConnection 이나 HttpsUrlConnection을 NetworkManager class에 넣고 AsyncTask로 접근하는 방식을.. yejinson97gaegul.t..
항상 한 세트로 등장하지만 정확히 무엇인지 모르겠던 저 세가지 아이들을 한꺼번에 정리해보려한다. 아래 나올 내용들을 한줄 정리로 스포해보자면 결론적으로 Handler, Looper, Thread 사이의 관계는 Handler, Looper는 Thread에 사용되는 역할이라는 것이다. 시작하기 전에, 이 모든 설명은 Android 의 "Single Thread System" 으로부터 뻗어나가기 때문에 정확히 무엇인지 모르겠다면 아래 포스팅에서 관련 내용을 참고하는 것을 권장하고 싶다. https://yejinson97gaegul.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C%EC%9D%98-SingleThread-%EC%83%81%ED%83..
시작하기 전에 # Thread란? Thread가 무엇인지 알아보기 위해서는 Program, Process, Thread 사이의 관계를 아는 것이 이해에 도움이 될 것이다. - Program : 컴퓨터에서 어떤 작업을 위해 실행할 수 있는 "정적인 상태의 파일" 로 명령어들의 집합이다. - Process : 운영체제로부터 자원을 할당받은 "작업의 단위"로, Program의 동적인 상태라고 할 수 있다. - Thread : 프로세스가 할당 받은 자원을 이용하기 위한 "실행 흐름의 단위" 이다. Android에서의 Thread Android에서 Thread는 기본적으로 Main Thread 하나만 존재한다. 해당 상태를 "Single Thread" 라고 부른다. 그러나, 하나의 Main Thread에서는 ..