본문 바로가기

전체 글5

Coroutine, Room, Livedata 의 궁금. 부캠에 붙고 방 이사하고 근로 인수인계 등등하느라 며칠 공부를 잘 안 했는데 방금 조금 하면서 Coroutine, Room, Livedata에 느낀점 몇 가지 의문점에 대한 해답 궁금증 1 suspend fun refreshVideos() { withContext(Dispatchers.IO) { Timber.d("refresh video is called") val playList = DevByteNetwork.devbytes.getPlaylist() database.videoDao.insertAll(playList.asDatabaseModel()) } } 여기서 왜 withContext로 IO Dispatchers로 스위칭 해줄까 궁금했다. suspend를 사용하면 retrofit 도 room 도 자동.. 2022. 7. 15.
네이버 부스트캠프 7기 챌린지 합격 작년에 지원했던 6기에 이어 7기를 다시금 봤다. 작년엔 2 문제 중 1 솔을 했었고 1차에서 탈락했었다. 1년전과 비교하면 차이가 크다. 쓸 이력도 많이 생기고 개발에 대한 견해도 풍부해졌다. 작년엔 웹으로 지원했었지만 이번엔 안드로이드로 지원했다. 작년 난이도로 생각해서 크게 어려움이 없을 줄 알았지만 어려웠다. 결국 2 문제 중 1 솔을 똑같이 했고, 1차를 합격했다. 2차 테스트는 알고리즘 3문제 + 서술형 2문제였는데 1번 문제와 서술형 한 문제를 1시간에 풀고 나머지 2시간을 2번 문제와 나머지 서술형에 쏟았다. 완벽한 2 솔인지는 모르겠지만 주어진 테케는 모두 통과했었다. 사실 3학년이라 지원하는 것에 고민을 했다. 학사 미졸업이라 취업연계의 벽이 있겠다는 걱정이 있었다. 하지만 내가 부스트.. 2022. 7. 13.
google login api(oauth2) 에 대한 고찰 진행 중인 프로젝트에서 google login을 구현하기로 결정되었다. 이를 구현하기 위한 노력들을 정리 간단하게 정리를 하자면 로직은 이렇다. 1. 구글에 로그인을 한다(GCP에 프로젝트 등록 후 구현 가능) 2. 그러면 각 계정에 맞는 auth_code값을 구글에서 전달한다. 3. auth_code값과 기타 중요 정보들을 다시 구글에 보내 access_token을 발급받는다. 4. access_token을 서버로 전달한다. 이 정도이다. 물론 결론이라 간단해 보이지만 이것들을 알아내는 데에도 많은 시간을 소요했다. https://developers.google.com/identity/sign-in/android/start-integrating Android 앱에 Google 로그인 통합 시작 | Go.. 2022. 1. 25.
konlpy 설치 오류 일단 pip install konlpy를 하고 import를 해서 사용할려고 하면 오류가 발생한다. 일단 내가 크게 마주친 오류는 두가지 였다. 1. Illegal char at index 55: ~~~~~~ 2. Native Library C:\Users~~~.pyd already loaded in another classloader 먼저 구글링은 해서 크게 해결 방안들은 먼저 환경변수 설정이다 jdk를 설치해 https://www.oracle.com/java/technologies/downloads/#java8 (맞는 OS로) 환경변수에 JAVA_HOME이란 이름으로 jdk의 경로를 값으로 설정해준다. 그리고 또 하나는 JPype1 을 다운 받는 것이다. https://www.lfd.uci.edu/~.. 2021. 11. 11.
editText 엔터키를 누르면 키보드가 내려가고 키워드 등록 editText.setOnEditorActionListener { textView, action, keyEvent -> var handled = false if (action == EditorInfo.IME_ACTION_DONE) { Log.d("성공",editText.text.toString()) val inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager inputMethodManager.hideSoftInputFromWindow(editText.windowToken, 0) handled = true } handled } test 프로젝트에서 해본 결과 잘된다. 문제는 이걸 기존의 프로젝트에 옮.. 2021. 11. 1.