본문 바로가기

Programming

(37)
Visual Studio Code shortcuts for mac OS (비주얼 스튜디오 맥 단축키) 내가 자주 쓰는 것 정리 cmdK cmdS : 단축키 변경 줄 위/아래 이동: alt+방향키 줄 위/아래 복사: shift+alt+방향키 자동 임포트(자바): shift+alt+O 자동 정렬: cmd+K+F 변수명 변경: F2
20.08.12(수) TIL 1. 알고리즘 풀이코드 깃허브에도 올리려고 VSCode를 설치했다. Sublime Text는 IDE라기 보다는 편집기에 가깝고, 이클립스는 한 번 써본 거라 VSCode로 골랐다. 단축키나 메뉴, 설정들이 달라 익숙해지는 데 시간이 조금 걸렸다. 2020/08/12 - [Development/Etc] - Visual Studio Code shortcuts for mac OS (비주얼 스튜디오 맥 단축키) 2. 깃허브에 push하려고 하는데 The requested URL returned error: 403 이런 에러 메시지가 나왔다. 해당 주소에 접근 권한이 없을 경우 발생한다는데 간단하게 원격 저장주소를 변경해 해결했다. 참고: https://mygumi.tistory.com/74 3. 개발 중에 남긴..
20.08.11(화) TIL 1. 데이터 바인딩 공부하고 있다. 익숙하지 않아서 그런가.. 공식문서에 나와있는 예제는 정말 간단한데 리사이클러뷰나 click리스너를 추가하려니 어려워서 처음에는 조금 헤맸다. 그래도 이제 프로젝트 리팩토링 할 정도로 이해는 한 것 같음. 써보니까 정말 좋다. 일단 리사이클러뷰의 뷰홀더에서 매번 xml파일 띄워놓으면서 id 찾아주고 변수지정해 줘야 했는데 그런 번거로운 작업이 2-3줄이면 끝남! 자바에서 코틀린 넘어올 때도 코드 확 줄어들어서 좋았는데 데이터바인딩도 비슷한 느낌이다. 그리고 액티비티에서 UI프레임워크를 호출하지 않으니까 UI 변경될 때 액티비티에서도 수정해 줘야 하는 이중작업이 필요 없음! 그리고 서버에서 가끔 null오는 경우 있는데 알아서 예외 처리 시킴!! 너무 좋음 2. 오늘 알..
20.08.10(월) TIL 1. 스톱워치 스레드 써서 복잡하게 구현해야 하는 줄 알았는데 안드로이드에서 제공하는 Chronometer 가 있었다. https://codinginflow.com/tutorials/android/chronometer 위 사이트 참고해서 간단하게 구현할 수 있었다. 2. 웹뷰 띄우는 데 기기의 width에 맞게 이미지가 나타나지도 않고 아래 일부분은 잘리는 문제가 발생했다. 아래 잘리는 것은 webview에 paddingBottom 값을 추가해서 해결했는데, width는 아래와 같이 head 속성을 추가해 주어야 함! 안드로이드에서 loadDataWithBaseURL()을 이용해서 아래 태그들을 string 으로 넣어줄 수 있지만 이미지파일명 등이 변경될 가능성이 있기 때문에 담당자에게 변경요청함. 3...
20.08.07(금) TIL 1. 네이버 지도 API 사용중인데 서버에서 좌표를 받아 마커를 찍어주고, 사용자가 지도를 줌인/아웃하거나 이동할 때마다 다시 서버에 좌표리스트를 받는데 마커가 중복되어 찍히는 문제가 있었다. 구글맵은 clear()해주면 되었는데 네이버는 marker.map = null 해주어야 한다. 여러 개면 반복문도 돌려야 함 2. apk 빌드 할 때마다 파일명이 동일해서 바꾸어야 할 필요성을 느꼈다. 아래 블로그 참고함 https://thecommelier.tistory.com/7 3. Retrofit으로 통신할 때 body는 로그 찍는데, 헤더나 메소드는 어디서 확인해야 하는지 몰랐다. 사실 확인해 볼 생각을 안하다가 오늘 차장님이 물어보시길래 답변하다가 찾았다! OkHttpClient 객체에서 볼 수 있음.
[Kotlin] 코틀린 Collections 코틀린은 가변성(var) 타입과 불변성(val) 타입을 선언할 때부터 구분하는데 컬렉션에서도 마찬가지이다. *컬렉션이란? 자바에서 데이터의 집합. 데이터 그룹을 처리하기 위한 자료구조 기본적인 컬렉션인 List, Set, Map은 immutble이며 원소를 추가, 삭제하려면 MutableCollection인 ArrayList, MutableList, HashSet, MutableSet, MutableMap, HashMap을 사용해야 한다.
[Kotlin] 코틀린 리스트 정렬(sorting) data class Notice( val noticePk: String, val noticeDate: String, val noticeTitle: String, val noticeTypeCode: String ) val jsonElement: JsonElement = result.data.body.asJsonObject /*1번*/ var list: List = Gson().fromJson(jsonElement, NoticeListBody::class.java).list list = list.sortedByDescending { it.noticeDate } /*2번*/ // var list: List = Gson().fromJson(jsonElement, NoticeListBody::class.java)..
[Firebase] 파이어베이스 오류, 앱을 실행하여 설치 확인 안드로이드 앱에 파이어베이스를 추가하려고 하는데, 마지막 단계인 '앱을 실행하여 설치 확인'에서 무한로딩이 나오고 넘어가질 않는다. 찾아보니 다음과 같이 해결하면 된다. 1. 안드로이드 스튜디오에서 File -> invalidate cache /restart 2. .gradle폴더와 build폴더 제거 (재빌드하면 다시 생성되기 때문에 과감하게 제거해도 되지만.. 그래도 호옥시 모르니까 깃헙에 커밋!)