- 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 |
- Android
- blog
- 일본어기초
- 인공지능
- GIT
- 코틀린
- PR
- 안드로이드
- errorhandling
- 책리뷰
- CustomTab
- ai
- pullrequest
- github
- 진짜학습지후기
- 학습지
- 진짜학습지
- Kotlin
- androidstudio
- KotlinInAction
- 일본어문법
- 책추천
- suspend
- coroutine
- webflux
- rxjava
- jlpt
- 진짜일본어
- posting
- n3문법
목록분류 전체보기 (354)
코딩하는 개굴이
Pull Request 리뷰를 할 때, 특히나 아래와 같이 수정 사항이 많은 경우에는 물론 꼼꼼히 모든 것을 보면 좋겠지만 막막한 기분이 먼저 들곤한다. 저 모든 파일을 다 클릭해보아야 얼만큼 바뀌었는지 보이고 더 많이 변경된 것들을 먼저 보고싶어도 하나하나 눈으로 봐야하기 때문이다. 이럴 때, 조금 리뷰에 도움이 되는 크롬 확장 프로그램이 있어 소개해보고자한다. Better Pull Request for GitHub Better Pull Request for GitHub 는 크롬의 확장 프로그램이다. 단순히 들어가 크롬에 추가한 후, GitHub 의 원하는 PR 에서 정상적으로 Enable 되었는지 확인만하면 적용은 완료이다! 이제 어떤 것이 달라졌는지 한번 살펴보자. 좌측의 파일 트리에서는 몇줄이 바..
기존에 액티비티에서 결과를 받아올 때, 어떤 방식을 사용했는지 기억하는가? 우리는 지금까지 StartActivityForResult 로 액티비티를 호출하고, onActivityResult를 사용해 결과를 받아오곤했다. 그러나, 이 방법은 Deprecated 되었다. Activity 클래스에서 여전히 사용할 수는 있지만, Android는 AndroidX Activity 와 Fragment 에 도입된 새로운 방식을 통한 사용으로 변경될 것을 권장하고 있다. 그것이 바로 registerForActivityResult 이다. 우선, 우리는 가장 심플한 케이스인 MainActivity ← → SecondActivity 로 상호 데이터를 전달하는 케이스를 기반으로 알아보도록하자. MainActivity: Activ..
💡 "해당 포스팅은 길벗 출판사의 개발자 리뷰어로써 책을 제공받아 작성된 서평입니다." 책 소개 책 제목 : 아토믹 코틀린 글쓴이 : 브루스 에켈, 스베트라나 이사코바 옮긴이: 오현석 출판사 : 길벗 출판사 초판 : 2023년 03월 08일 코틀린, 커지는 그의 입지 코틀린은 이전과 달리 매우 강력한 입지를 자랑하며 안드로이드의 주류 언어를 꿰찼을 뿐 아니라 서버까지 자리를 넓혀가고 있다. 그 이유는 가독성, 다중 패러다임, 자바 상호 운용성, null 오류 최소화 등 다양한 이점에 있을 것이다. 그러나, 이 장점들을 전부 활용하기 위해서 코틀린은 깊이 있는 이해를 요구한다. 그리고 해당 책은 이 과정을 위해 필요한 내용들을 최대한 많으면서도 작게 쪼개 독자들을 안내한다. 책의 특징 [ ‘아토믹’ 한 설..
JAXB JAXB 는 (Java Architecture for XML Binding) Java Object 를 XML 로 직렬화하고, XML 을 JAVA Object 로 역직렬화 해주는 JAVA API 로, JDK6~9 은 내장되어있으므로 라이브러리를 추가할 필요가 없다. marshalling: JAXB 에서 JAVA 객체를 XML 로 변환하는 작업을 말하며, JAXB 는 이를 위해 Marshall 클래스를 제공한다. 일반적인 JAVA 코드 하에서는 아래와 같이 사용할 수 있는데, try { JAXBContext context = JAXBContext.newInstance(Books.class); Marshaller marshaller = context.createMarshaller(); marshall..
💡 "해당 포스팅은 한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다." 책 소개 책 제목 : UX/UI 디자이너를 위한 실무 피그마 개정판 글쓴이 : 클레어 정 출판사 : 한빛미디어 개정판 2쇄 발행 : 2023년 1월 31일 개발자에게 Figma란? 작년까지만해도 디자인 및 기획을 받을 때 Zeplin을 많이 사용했던 기억이 난다. 사실 개발자 입장에서 한동안 사용하는데 정이 들었던 Zeplin 을 하루아침에 Figma 로 대체하는 것은 큰 거부감이 들었던 것은 사실이었지만, 오히려 피그마가 더 폭넓게 지원하고 있다는 것을 알 수 있다. 참고 링크: https://kkimin.tistory.com/13 따라서, 피그마로 UX/UI 디자인을 하지는 않지만 사용하는 입장으로써 더 자세히 기능을 파..
지난번에, 아래 링크 포스팅에서 Optimize Import 를 Macro 로 지정해놓았더니 몇개 이상의 Import 들이 상위 패키지가 겹치면 그냥 묶어버리는 현상이 발생하였다. https://yejinson97gaegul.tistory.com/entry/Android-Studio-Android-Macro-feat-Save-All-Reformat-Optimize (증말… 하나하나 일일이 풀어주는데 놓치는것도 생기고 귀찮기 그지없다… 편리함을 위해 불편함을 감수하다니..) 사실, 그래도 큰 문제는 없긴하지만 불필요한 subpackages 까지 포함되는 문제와, 그러한 이유로 lint rule 로 이를 막고 있는 경우도 있다. 그래서 오늘은 Optimize Import 시 “single name impor..
비동기 작업 관련 개발을 하고 있던 중, 생각 외로 시간이 오래 걸린다 싶은 경우가 있을 수 있다. 얼마나 걸리는지 파악해보고 Thread 분리를 수행할지 어찌 할지 등을 고려해야하기 때문인데, Android Studio 의 Profiler 를 활용해 이를 측정하고, UI Janky frame (버벅거림) 을 확인할 수 있는 방법에 대해 알아보자. Android Studio Profiler Android Studio Profiler (구 Android Monitor 도구) 는 앱의 CPU, Memory, Network, Battery 리소스를 사용하는 방법을 이해하는데 도움이 되는 실시간 데이터를 제공하는 도구이다. 기본적인 사용 방법에 대해 Developers 가이드에 기입되어있는 내용은 아래와 같다...
RxJava 는 비동기를 위해 주로 사용되는데, 그냥 사용한다고 비동기 처리가 수행되는 것이 아니라, 스케줄러를 통해 스레드를 분리해주어야한다. 스케줄러란? Scheduler 는 RxJava 의 코드가 어느 스레드에서 실행될 것인지를 지정하는 역할을 수행한다. 스케줄러의 지정은 subscribeOn, observeOn 연산자를 이용한다. subscribeOn: Observable 이 데이터의 흐름을 발생시키고 연산하는 스레드를 지정할 수 있다. 데이터를 발생시키는 쪽에서 흐름을 제어하기 위해 사용 observeOn: Observable 이 Observer에게 알림을 보내는 스레드를 지정할 수 있다. 전달받는 쪽에서 데이터를 처리하는 부분을 위해 사용 스케줄러의 종류 💡 RxJava 에서는 Computat..
Subject 는 데이터 스트림과 subscriber 성격을 둘다 갖고있다. Observable 과 Observer 를 둘다 구현한 추상 타입이기 때문에, 하나의 소스로부터 다수의 subscriber 에게 멀티 캐스팅이 가능한 장점이 있다. Observer 를 직접 구현하기 때문에, onNext, onError, onComplete 등의 이벤트를 수동으로 subscriber 에게 전달해줄 수 있다. 데이터 스트림의 성격 예를들어 PublishSubject 를 기준으로 살펴보자. 간단하게 PublishSubject 는 가장 단순한 구현체로, 이벤트를 subscriber 에게 전달할 수 있다. 단, 구독한 시점에서부터 발생하는 데이터를 전달하기 때문에, 데이터가 모두 발행된 뒤 구독하면 받을 수 없다. va..
Android 에서 비동기 실행을 할때 본인은 간혹 실수하여 에러를 마주하곤 한다. 바로 View 를 UI Thread 에서 변경하지 않아서 발생하는 것이 그것이다. 안드로이드 시스템은 애플리케이션이 실행되면 하나의 실행 스레드로 애플리케이션의 프로세스를 실행하는데, 이것을 메인 스레드라고 한다. UI 도구 키트 구성 요소를 생성 및 조작할 때 상호작용하는 스레드가 MainThread 이며, 그렇기 때문에 UI Thread 라고도 불린다. Main Thread 에서는 오래 소요되는 작업을 수행하지 않는 것을 권장하는데, 오래 소요되어 응답성/반응성이 떨어진다면 사용성이 떨어지거나 ANR 이 발생할 수 있기 때문이다. 따라서, 안드로이드 스레드 사용 시 아래와 같은 사항을 유념해야한다. 시간이 오래걸리는 ..