728x90
반응형
- [ pinslog/Log.daily() ][Java, Kotlin] SimpleDataFormat 밀리세컨까지 나타내기2023-11-30 23:16:59밀리세컨드까지 나타내야할 때가 있다. 찾아다니다 까먹지 않기 위해 기록한다. val sdf = SimpleDateFormat("yyyy.MM.dd HH:mm:ss.SSS", Locale("ko", "KR")) val dateString = sdf.format(System.currentTimeMillis()) println(dateString) // 2023.11.30 23:14:26.975 패턴은 yyyy.MM.dd HH:mm:ss.SSS 인데 여기서 주의할 점은 뒤의 SSS는 반드시 대문자로 써주어야 한다는 점이다. yyyy.MM.dd HH:mm:ss.sss 로 입력할 경우 결과는 2023.11.30 23:15:47.047 와 같다.
- [ pinslog/Log.daily() ][Android] onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState)2023-11-16 23:13:19화면을 그리기 위해 여느 날과 다름 없이 onCreate()를 호출했다. 그러나 아무것도 그려지지 않았다. 아니 도대체 왜....? 그래서 열심히 화면을 들여다 봤다. 보통 화면이 create될 때 호출되는 함수는 잘 알겠지만 onCreate(@Nullable Bundle savedInstanceState) 이다. onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) 하지만 나는 다른 onCreate(위)를 호출하여 이러한 문제가 생긴 것인데, 이 onCreate는 도대체 뭐하는 친구이며, 언제 호출될까? 하는 일은 화면은 생성하는 것으로 동일하지만 파라미터부분에서 알 수 있듯 savedInsta..
- [ pinslog/Log.daily() ][NCP CSR] 기능 구현을 하며 만난 에러와 대응방안2023-11-14 21:13:46음성인식 기능 구현을 위해 네이버 클라우드 CSR(CLOVA Speech Recognition) SDK 를 사용하고 있는데, 기능을 구현하며 만난 에러와 그에 대한 대응방안에 대해 정리하려고 한다. (검색을 해봐도 나오지 않아 남긴다..정확한 방법이 아닐 수 있다.)음성인식 기능 사용중 onPause() 호출시 에러음성인식 중에 홈버튼 또는 최근작업 버튼을 눌러 앱이 pause - stop 상태였다 다시 돌아오면 앱이 아예 재시작이 돼버리는 현상을 발견했다. (process가 아예 다시 시작됨) 음성 관련 예외는 제대로 로그도 남지 않아 디버깅이 힘들어 아주 난감하다. CSR의 가이드대로 onStart()에서 음성인식 관련 자원을 초기화하고, onPause()에서 음성인식 즉, 음성 녹음이 진행중이면 멈..
- [ pinslog/Log.daily() ][Google Play Console] 개발자 계정 확인 기한2023-11-11 14:43:21WW가 출시되고 나서, 하루에 한번씩 플레이스토어 콘솔에 들어가본다. 오늘은 들어갔더니 메인화면에 이런 것이 떠있었다.기한이 선착순이라니 당장 시작하기를 눌러 들어갔다. 그리고 완료하지 않으면 프로필과 앱이 삭제된다니 너무 무시무시한 것 아닌가... 계정 확인 시 제공해야 하는 항목을 보니 신원 확인을 위한 공문서...라는 항목이 마음에 턱하고 걸린다. 비즈니스 (조직) 계정이라면 조직 인증을 위한 공문서를 제공해야하다니.... 뭐가됐든 귀찮은 일임에는 틀림없다. 기한 선택을 눌러보니 가장 빠른 일자가 24년 8월이었다. 도대체 몇달이나 남은거얏 지금 하라고 해도 할 수 있을 것 같아 가장 빠른 걸로 신청해두었다. 다음주에 회사가면 신청해둬야겠다.
- [ pinslog/Log.daily() ][Android Studio] Live Template으로 JavaDoc 쉽게 작성하기2023-11-08 20:43:09코드를 보다보면 위와 같은 형식의 주석을 만난 적이 있을 것이다. 편집창에서 /** 를 입력하면 자동으로 주석의 색이 변하면서 아래와 같이 되는데, 이를 JavaDoc이라고 한다. Java 소스 파일에서 API 문서의 HTML 페이지를 생성합니다. JDK가 설치되어있다면 JavaDoc을 사용할 수 있다고 한다. JavaDoc을 작성하고 해당 클래스에 커서를 갖다대면 위와 같이 주석의 내용을 확인할 수 있다. 주석을 생활화(?)해야하는 개발자에게 아주 중요한 것이 아닐 수 없다. 그런데 클래스를 생성할 때 마다 위의 정보를 하나하나 일일이 작성하는 것은 너무 귀찮다. 좀 더 쉽게 할 순 없을까? 그때 필요한 것이 바로 IntelliJ에서 제공하는 Live Template이다. 라이브 템플릿을 사용하여 루프..
- [ pinslog/Log.daily() ][Android Studio] 내가 몰랐던 단축키2023-11-07 22:58:57IDE를 잘 쓰면 생산성이 굉장히 높아진다. 예전에 메소드 시그니처를 변경해주는 기능을 몰라서 메소드를 하나하나 찾아가서 변경해주던 기억이 난다... 이름 변경하는 건 또 어떻고... (메소드 시그니처는 윈도우 기준 ctrl + F6, 이름 변경은 shift + F6 이다.) 애석하게도 삽질을 한번 해야 땅파는 법을 체득하고만다 아무튼 우리 가족보다 자주 보는 안드로이드 스튜디오 좀 더 쉽고 간편하게 사용하기 위한 단축키에 대해 알아보려고 한다. 함수 블록 설정 공식문서에 따르면 정확한 명칭은 '계속 증가하는 코드 블록 선택' 이다. 아래 예시를 보면 내가 뭘 말하고자 하는지 알기 쉬울 것이다. 맥에서는 option + 위쪽 화살표 윈도우에서는 ctrl + w 반대로 설정 해제는 맥은 option + 아..
- [ pinslog/Log.daily() ][Android] Thread.UncaughtExceptionHandler() 와 Firebase Crashlytics2023-11-03 21:36:12[Android] 전역적인 예외처리하기 | Thread.setDefaultUncaughtExceptionHandler상황 앱 사용 중 앱이 픽 죽어버리거나 응답 없음 창(ANR)이 뜨는 것을 경험한 적 있을 것이다. 한두번이야 왜이래~~ 하면서 다시 앱을 실행해 사용하겠지만 이러한 상황이 지속된다면? 끔찍한 사www.pinslog.com전역적인 예외 (정확하게는 잡아내지 못한 예외)를 처리하기 위해 사용중이던 Thread.UncaughtExceptionHandler() 앱이 갑자기 픽 죽어버리는 것을 방지하기 위해 해당 핸들러를 통해 오류가 발생하였음을 알리고 앱을 재시작할 수 있도록 처리를 해두었다. 그리고 원인을 파악하여 해결하기 위해 Firebase Crashlytics를 이용해 크래쉬 로그를 수집..
- [ pinslog/Log.daily() ][IDE] VSCode 새탭에서 열기2023-10-30 22:01:52간간히 VSCode를 사용할 일이 있는데 폴더에서 새로운 항목을 클릭할 때마다 새로운 창이 열리는 것이 아니라 기존에 열려있던 파일에 덮어씌워져 열리는 바람에 불편했던 적이 한두번이 아니었다. 파일을 열때마다 새로운 창에서 열리게 하기 위해서는 설정 > enable preview 관련 설정 두개를 해제해주면 된다.파일 오픈 시 기본 설정은 한번 클릭이 미리보기 모드 두번 클릭이 편집 모드라고 한다. 이때 미리보기 모드에서 다른 파일을 오픈할 경우 위에서 말했던 것 처럼 덮어씌워져 열린다고 한다.
728x90
반응형