// Background func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) // ForeGround func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Vo..
무니몬과 나는 1월말쯤 에어팟2를 구매했다. 에어팟 프로가 나올랑말랑? 했던 시점에 가격이 싸진김에 했던 구매 인지라 아직까지 만족하면서 쓰고 있다. 6개월이 지난 지금.. 사진을 보면 알겠지만.. 에어팟 꼽는 부분 근처에 때? 철가루 같은 것들이 많이 묻어있어서 더러워졌다 성능은 아주 만족하면서 쓰고있다. 유선 이어폰과는 비교도 할 수 없을만큼 편하고. 전자기기 배터리 불안증 말기인 내가 살때 걱정했던 충전 문제도 큰 문제 없다. 출근시간이 보통 1시간 내외로 걸리는 편인데, 1시간내내 유투브 시청을 하게 되면 20% 정도 달고,, 배터리를 모두 다 써도 케이스에 넣어놓으면 5~10분? 내로 완충된다 (6개월이 지난 지금까지도) 나는 아이폰8, 무니몬은 아이폰X 를 써서 유선 이어폰을 꽂으면 유선 충전..
Observable Rx 하면 떠오르는 가장 유명한 클래스 input data를 여러개 가질 수 있다. 데이터가 발행될 때 마다 onNext() 를 호출하며, 모든 데이터가 발행 된 후 onComplete() 를 호출하고 dispose() 한다.dd println("========== Observable test ==========") Observable.just("i", "am", "ywlee", "861009") .subscribe( { // onNext() println("onNext() = ${it}") }, { // onError() println("onError() ${it.localizedMessage}") }, { // onComplete() println("onCo..
Node.js + forever module 로 백엔드 서버를 구축하여 돌리던 중, Forever log 에 아래와 같은 메세지가 떳다. Error: Connection lost: The server closed the connection. at Protocol.end (/home/ywlee/LifeCleanAPI/node_modules/mysql/lib/protocol/Protocol.js:112:13) at Socket. (/home/ywlee/LifeCleanAPI/node_modules/mysql/lib/Connection.js:97:28) at Socket. (/home/ywlee/LifeCleanAPI/node_modules/mysql/lib/Connection.js:525:10) at emi..
https://youtu.be/LoLqSbV1ELU 개발자 키노트
Custom View 를 만들때, depth 를 한번더 늘리는 dummy layout 을 없애기 위해 필요한 태그 (xml depth 에 따라 랜더링 성능이 결정되기 때문에 뎁스가 늘어날 수록 성능면에서 치명적이라고 볼 수 있음.) 예시 아래와 같은 custom view 가 있다. cusom_button.xml 소스 CustomButton.kt 소스 package com.example.mergetest import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater import android.widget.LinearLayout class CustomButton @JvmOverloads cons..
Error constructor fragmentstatepageradapter(fragmentmanager)' is deprecated. deprecated in java ViewPager 를 FragmentPager 로 이용할 때 아래와 같은 경고 문구를 만날 수 있다. Why 생성자를 타고 들어가면 아래처럼 Deprecated 되었으니 FragmentPagerAdapter(FragmentManager, Int) 생성자를 이용하라고 나옴. /** * Constructor for {@link FragmentPagerAdapter} that sets the fragment manager for the adapter. * This is the equivalent of calling {@link #Fragme..
안드로이드는 기본적으로 달빅 가상머신이 JIT(Just in Time) 방식으로 컴파일을 했음 JIT 방식은 application 이 실행되는 순간 소스코드를 컴파일 하는 방식이기 때문에 실행속도 및 메모리 측면에서 많은 이슈가 있었음 이에 안드로이드 5.0 (롤리팝) 부터는 달빅을 버리고, AOT(Ahead of Time) 방식으로 컴파일을 하게 됨 AOT 방식은 application 이 설치되는 순간 소스코드를 컴파일 하여 준비시켜 놓는 방식으로 실행속도 및 메모리 측면에서 이점을 가져갈 수 있지만, 그만큼, 앱이 차지하는 용량에서 JIT 방식보다는 불리한 면이 있음. --- 안드로이드 N (누가) 부터는 AOT, JIT 방식을 혼합하여 이용하고 있음.
- Warning Msglambda argument should be moved out of parenthesesthis inspection detects a lambda expression inside parentheses which can be moved outside of them - Why가능하면 람다 표현식을 괄호 () 밖으로 내보내라는 뜻. - Solved아래와 같은 람다 식이 있다.예제의 표현식은 Date Picker 의 init 부분이며, init 에서 마지막 parameter 는 OnDateChangedListener 이다.mBinding.dpcResrvDate.init(2019, 11, 2, { view, year, monthOfYear, dayOfMonth -> Log.d("test"..
- Total
- Today
- Yesterday
- 노드
- 앵커브리핑
- 깃헙
- CentOS
- 리눅스
- 서버
- nodejs
- 점유율
- 안드로이드
- IOS
- Phaser
- linux
- node.js
- 스위프트
- xcode
- BBC 가쉽
- Android
- 뉴스룸
- Node
- 손석희
- mysql
- Asterisk
- C
- GIT
- php
- C언어
- git hub
- 배열
- Kotlin
- Swift
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |