본문 바로가기

분류 전체보기

[코틀린] kapt 안녕하세요 남갯입니다. https://pluu.github.io/blog/kotlin/2017/07/23/kotlin-generatestubs/ kapt란? kapt Annotation Processing for kotlin 는 코틀린이 자바파일의 Annotation 처리시 Kotlin 파일의 Annotation 처리를 포함합니다.1. javac 보다 먼저 kotlinc가 동작합니다.2. kotlin 바이너리 파일은 javac 컴파일 대상이 됩니다.3.그러나 javac는 Annotation이 부여된 Kotlin 파일까지 자동으로 포함시키는 기구는 없습니다. 데이터 바인딩을 이용할때 BindingAdapter라는 annotation을 작성하게 되는데 kotlin의 annotation을 동작시키기 위해서는 ..
Enum을 통한 개선경험 안녕하세요 남갯입니다 오늘은 Enum을 통해 소스를 개선한 경험을 작성해보려고 합니다. http://woowabros.github.io/tools/2017/07/10/java-enum-uses.html 우아한 형제들의 Enum 활용기를 읽으며 참고를 했습니다. 이번에 온 회사에서 기존코드를 리뉴얼하여 서비스를 제공하는 앱을 개발하라는 임무를 맡았습니다. 많은 변경점 중 결제 타입을 설정하는 코드를 변경한 내용을 공유 해보려고합니다. 기존의 코드의 경우 StringArray를 xml을 통해 스피너를 생산하고 그 스피너의 입력값을 가져와서 해당하는 값의 코드를 가져와서 서버로 전송하는 화면이었습니다. 이전코드 1 int position = 0; switch (payment_type) { case "1": p..
[안드로이드] 안드로이드 리소스 네이밍 컨벤션 안드로이드 네이밍 리소스 컨벤션 https://jeroenmols.com/blog/2016/03/07/resourcenaming/
[JAVA] GC(가비지 컬렉터)의 동작원리 안녕하세요 남갯입니다 오늘은 네이버 D2에서 읽은 GC 의 내용을 옮겨서 정리해보려고합니다. 출처: https://d2.naver.com/helloworld/1329 가비지 컬렉터(GC) GC의 동작원리GC는 가비지 콜렉터로 힙영역에 동적할당된 메모리를 회수해가는 역할을한다.Stop The World를 통해 GC를 실행시킨다. Stop The World란 GC를 실행시키기 위해 JVM이 어플리케이션 실행을 멈추는것 이다.GC스레드를 제외한 나머지 스레드는 작업을 멈춘다. GC가 끝나야 중단한 작업을 시작한다.GC의 튜닝은 Stop the world의 시간을 줄이는것 GC의 생성 가설1. 대부분의 객체는 금방 접근불가능 상태가된다.2. 오래된 객체의 젊은 객체로의 참조는 아주 적게 존재한다.이 가설의 이름..
[Java] String, StringBuilder, StringBuffer 란? 안녕하세요 남갯입니다. 오늘은 String과 StringBuffer와 StringBuilder에 대해 알아보려고 합니다. 세 클래스의 비교String , StringBuffer , StringBuilder문자열을 관리하고 저장하는 클래스 String 은 immutable, StringBuffer,StringBuilder는 mutable하다는점 String 의 동작String a = "aa"일 경우 heap영역의 String pool에 들어가게 되고String b = new String("aa")일때는 heap에 객체를 생성하게 된다. 즉 a == b 는 다르게 되지만즉 String a = "aa"는 내부적으로 b.intern()이라는 함수를 통해 String pool에 등록된다.b.intern()을 통해..
[CS] Java HashMap 안녕하세요 남갯입니다. 출처 : https://d2.naver.com/helloworld/831311 오늘은 Hash Map에 대해 정리한것을 글로 써보려고합니다. HashMap의 정의 Key와 Value로 이루어져 있고 그 갯수에 따라 동적으로 증가하는 associate array이다. HashMap 과 HashTable 차이점 둘은 거의 기능은 동일하다. 하지만 HashTable은 특정버전 이후 업데이트를 안하고 있는 반면 Hashmap은 특정버젼 이후에 꾸준한 업데이트를 해왔다.또한 Hashmap 보조해시함수라는것을 이용해 해시충돌을 적게 발생시키므로 성능상 더 좋은 이점을 갖고있다. HashMap의 저장방법 해시맵은 Key와 Value를 해시함수를 통해 버킷의 특정 인덱스에 저장한다. 해시함수는 ..
[코틀린] let, with, run, also, apply 정리 안녕하세요 남갯입니다. run과 let 등등 대충의 쓰임새만 알고 있고 따로 물어보면 사용처에 대한 정리가 되어 있지 않아 정리를 못했던거같은데 에서 다시 정리해서 포스팅해보려고 작성했습니다. with run 둘다 this1. with는 입력하는 객체가 따로 필요없을때2. run은 nullable일때 ex ) with(person){ this?.name this?.age } person?.run{ this.name this.age } let run let은 it run은 this다중문을 사용했을때 혹은 this가 모호할때let을 사용 it말고 이름을 지정함으로써let{ a1 -> a1.let { a2-> //todo } } also letalso 객체 자체의 동일한 내용 이용하고 싶을때 "abc".let..
UWP TeachingTip 예제 안녕하세요 YTS 입니다 : )오늘은 UWP에서 간단하게 안드로이드와 비슷한? 다이얼로그 알람을 띄우는 방법을 알아보도록 하겠습니다! 1. Xaml 파일에서 Page 태그 밑에 작성 xmlns:controls="using:Microsoft.UI.Xaml.Controls" 2. Xaml 파일에 작성 3. C# 파일에서 필요할때 알람이 필요할때에 호출! TeachingTip.IsOpen = true; 아래는 호출 되었을때에 모습입니다! Title = 에러SubTitle = 이름을 입력해주세요. 이상입니다!!!!