본문 바로가기

[GDG Seoul | 코틀린 ] 코틀린의 미래는 어디로? | Kotlin / Everywhere Seoul 2019에 가다 [2부] 저번 월요일에 마루180 지하에서 Kotlin / Everywhere Seoul 2019가 열렸다. 첫번째 시간으로 진행되었던 What's new in Kotlin?에 대해서 리마인드 할만한 내용을 정리해보고자 한다. 세션은 Kotlin in action의 공동저자이자 JetBrains의 Developer Advocate로 활동중인 Svetlana Isakova가 진행하였다. 1. 코틀린은 모두가 함께 만들어나가는 언어다. 코틀린은 자바를 대체할만한 언어로써, 형추론 및 람다 코드등을 조합해 간결하게 코딩이 가능하다는 장점을 가지고 있는 것으로 알고 있었다. 코틀린의 역사는 오래되지 않았는데, 2010년부터 개발에 착수해 2014년에 정식으로 릴리즈 되었고, 이후 구글로부터 안드로이드의 공식언어로까지 채..
[안드로이드] 안드로이드 스튜디오 Build 에러 | Unfortunately you can't have non-Gradle Java modules and > Android-Gradle modules in one project 기존 프로젝트의 마이너버전 개발을 위해 원본 프로젝트를 복사해 단순히 버전 네이밍만 바꾸어주었는데, 안드로이드 스튜디오에서 빌드 오류가 발생했다. Unfortunately you can't have non-Gradle Java modules and > Android-Gradle modules in one project 이후 스택 오버플로우에서 간단한 해결법을 찾았는데 해결방법은 아래와 같았다. 1. 안드로이드 스튜디오를 종료한다. (완전종료) 2. 프로젝트 폴더에 존재하는 .idea 디렉토리를 제거. 3. 프로젝트 폴더에 존재하는 .imi 확장자 파일을 전부 제거. 4. 안드로이드 스튜디오 Open, 빌드 재수행 기존 프로젝트가 빌드될 때의 속성이나 기타등등 설정값이 제거한 위치등에 존재하기 때문에 충돌..
[GDG Seoul | 코틀린 ] Kotlin / Everywhere Seoul 2019에 가다 [1부] 넌지시 마음에 품던 개발 컨퍼런스를 그동안 못 가보다가, 이제 개발 2년차에 접어든 시기에 처음으로 GDG Seoul에서 주최하는 개발 컨퍼런스에 참가하게 되었다. 열심히 공부해서 손에 익히고자 했던 코틀린을 어느새 주 랭귀지로 개발하게 된 중에 코틀린 관련 컨퍼런스가 열린다는 사실은 적잖이 반가울 수 밖에 없었다. 프로그램은 Kotlin의 현재와 앞으로의 미래를 간략히 그리는 Svetlana lsakova 님의 1부 세션, 그리고 Kotlin에 대해 좀 더 구조적인 깊이를 안내해주셨던 Pluu님의 2부 세션으로 이루어져 있었다. 2부로 구성된 간략한 세션이었지만, 코틀린의 초보, 중수의 레벨에서 앞으로 '무엇을 배워야'하는지, 그리고 앞으로 코틀린이 나아갈 로드맵에 대해서도 알 수 있는 유익한 컨퍼런스..
[안드로이드] 안드로이드 스튜디오의 Inspect Code로 프로젝트 자가진단하기 최근에 안드로이드 스튜디오를 3.5.0으로 업데이트하면서 Lint라는 도구의 존재를 알게 되었고, 거기에서 나아가 Lint 도구가 포함된 Inspect Code를 안드로이드 스튜디오에서 활용할 수 있음을 알았다. 사용법은 매우 간단한데, 안드로이드 스튜디오 상단 메뉴에서 Analyze로 들어가 Inspect Code를 수행하면 된다. 그렇게 정해진 조건으로 분석을 수행하고 나면 다양한 관점에서 꽤나 상세한 내용을 가지고 에러 및 개선의 여지가 있는 부분들을 보여준다. 팀에서 코드리뷰를 하지 않거나 스스로 프로젝트를 점검해보고 최적화하고 싶은 개발자들이 간편하게 활용할 수 있는 좋은 방법이 아닌가 싶다. 다만 언제나 이런류의 리팩토링을 진행할 때에는 필히 먼저 저장하고, 부분적으로 개선 후 재실행 하는 3..
[안드로이드] getter for type : Int is deprecated on NetworkInfo 처리 기존 프로젝트에서는 기기가 인터넷에 연결되어 있는지 확인하기위해 NetworkInfo class를 가져와 클래스의 type을 ConnectivityManager의 파라미터로 확인했었는데 (아래처럼) ... val connManager = ApplicationClass.instance.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager// ConnectivityManager 클래스 val activeNetwork = connManager.activeNetworkInfo // NetworkInfo 클래스 if (activeNetwork.type == ConnectivityManger.TYPE_WIFI) { // something hap..
[RxJava] RxJava 첫걸음. RxJava란 무엇인가? RxJava의 첫발을 떼기 위해 책을 구입했던지는 오래되었으나, 골랐던 책의 난해함(다짜고짜 자, 코딩해봅시다)때문에 진도를 나가기가 어려웠고, 그러한지 몇개월 뒤 다시 손쉽고 국내 개발자분들이 쓴 좋은 책을 접하게 되어 드디어 첫발을 떼게 되었다. (이것마저 사실 책을 산지 어언 한달만의 일..) http://www.hanbit.co.kr/store/books/look.php?p_code=B3448548347 RxJava 프로그래밍 8가지 핵심 개념으로 쉽게 이해하는 리액티브 프로그래밍 입문 www.hanbit.co.kr 첫 챕터를 마치고 두번째 챕터에 접어든 찰나, 첫 챕터를 다시 리뷰하며 머릿속에 넣어보고자 포스트를 작성하기로 했다. 전체적인 내용을 What, Why, How로 정리해 세 묶음으로 ..
[안드로이드] RecyclerView의 사이즈를 애니메이션과 함께 바꾸기, 아이템이 추가될 때 애니메이션 적용하기 UI/UX를 구성하는 중에 유동적으로 사이즈를 바꾸는 RecyclerView의 구현이 필요했다. 목표로는 두가지 목표가 있었는데, 첫째로는 2개 이상의 아이템이 RecyclerView에 추가될 때 RecyclerView의 사이즈를 늘리기. 둘째로는 신규 아이템이 추가될 때 Fade in 애니메이션 적용하는 것이었다. 여러 방법들을 동원하던 중 코드 수도 적고 무난하게 사이즈를 늘릴 수 있는 레퍼런스를 찾았다. https://stackoverflow.com/questions/32835397/android-property-animation-how-to-increase-view-height Android property animation: how to increase view height? How to inc..
[안드로이드] Lottie 3.0.7 적용기 (json 파일 재생 라이브러리) 기존 안드로이드 프로젝트에 튜토리얼 단계에 적용하고자 GIF 에셋을 활용했었는데(Glide 라이브러리), GIF의 단점은 사이즈가 대체적으로 커질 수 있다는 점과, 기기별로 재생 속도가 천차만별로 달라지던 현상이 발생한다는 것이었다. 이를 대체하기 위해 새로 도입하게 된 게 JSON 애니메이션이다. JSON은 현재 여타 웹사이트에도 다양하게 적용되고 있는 애니메이션 포맷인데, 이를 안드로이드 등 기타 플랫폼에서 간편하게 적용이 가능하도록 만들어진 Lottie 라이브러리를 추가로 알게되었다. Lottie의 상세 소개는 아래에서. https://airbnb.design/lottie/ Lottie Easily add high-quality animation to any native app. Lottie is ..