- 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 |
- pullrequest
- rxjava
- blog
- androidstudio
- CustomTab
- 진짜일본어
- Android
- withContext
- 안드로이드
- GIT
- github
- 진짜학습지후기
- webflux
- errorhandling
- 코틀린
- n3문법
- posting
- 일본어문법
- PR
- 책추천
- 일본어기초
- KotlinInAction
- coroutine
- ai
- jlpt
- runBlocking
- 책리뷰
- Kotlin
- suspend
- 진짜학습지
목록2023/03 (7)
코딩하는 개굴이
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 이 발생할 수 있기 때문이다. 따라서, 안드로이드 스레드 사용 시 아래와 같은 사항을 유념해야한다. 시간이 오래걸리는 ..