Android(21)
-
Memory Leak이란 무엇일까?
Memory Leak (메모리 누수) 위키백과에 Memory Leak을 검색해보면 메모리 누수현상은 프로그램이 필요하지 않은 메모리를 계속 점유하고 있는 현상을 말합니다. 할당된 메모리를 사용한 다음 반환하지 않고 누적이 되기때문에 메모리가 누수가 발생합니다. 자바에서 메모리 누수는 더 이상 사용되지 않는 객체가 Garbage Collection에 의해서 회수되지 않고 계속 누적되는 현상입니다. Old 영역에 누적된 객체로 인해서 Major Garbage Collection이 계속 발생하게 되고, 프로그램의 응답속도가 늦어지다가 결국 OOM(OutOfMemory) 오류가 발생되어 프로그램이 종료됩니다. 주로 빈번한 전역변수의 선언, 리스트, 해쉬맵 같은 콜렉션에 해당하는 객체를 해제하지 않고 계속 유지하..
2020.08.09 -
JVM(Java Virtual Machine)이란 무엇일까?
특징 - Java가 OS에 종속되지 않고 프로그램을 실행할 수 있도록 합니다. (JVM은 OS에 종속됩니다.) - JVM은 JRE(Java Runtime Environment)에 포함되어 있습니다. - JVM은 스택을 기반으로 하는 가상머신입니다. 역할 - Java와 OS 사이에서 중계자 역할을합니다. - Java Application을 Class Loader를 통해서 읽어 들이고 Java API와 함께 실행합니다. - 메모리와 Garbage Collector를 관리합니다. JAVA 프로그램 실행 과정과 JVM의 메모리 구조 프로그램 실행 -> JVM이 OS에게 메모리 할당 요청 -> JVM은 할당 받은 메모리를 용도에 따라 나누어 관리합니다. - JAVA source : 개발자가 작성한 Java cod..
2020.08.03 -
Boiler plate란 무엇일까?
Boiler plate 보일러를 찍어내는 통이라는 뜻을 가지고 있습니다. - 최소한의 변경으로 재사용할 수 있는 것 - 적은 수정만으로 여러 곳에 활용 가능한 코드, 문구 - 각종 문서에서 반복적으로 인용되는 문서의 한 부분 ex)getter, setter Java의 경우 Lombok Lib를 사용하면 자동화가 가능합니다.
2020.05.07 -
IoC와 DI란 무엇일까?
IoC (Inversion of Control) IoC는 제어의역전이란 뜻을 가집니다. 쉽게 말해 제어가 반대로 간다는 개념입니다. IoC는 객체 생명 관리, 흐름 제어를 제 3자에게 위임하는 프로그래밍 모델입니다. 아래는 IoC 프로그래밍 패턴으로 AnimalFactory 추상 클래스에게 권한을 위임한 예제입니다. ex) public abstract class AnimalFactory { private Animal animal; public Animal getAnimal () { return make(); } private Animal make() { return animal; } protected abstract void tiger(); protected abstract void horse(); } ..
2020.05.06 -
공공데이터 포털 (SERVICE KEY IS NOT REGISTERED ERROR)
현재 개인적으로 MVVM 패턴을 적용한 Kotlin 토이 프로젝트를 진행 중입니다. 공공데이터포털에서 API를 신청해서 개발 중인데요 공공데이터 포털 doc 에 명시되어있지 않은 부분 때문에 시간을 많이 잡아먹었습니다... 분명히 정상적인 API 키를 받았고, 키를 받은지 1시간이 경과 했지만 아래와 같은 오류가 계속 발생했습니다. 공공데이터포털에서 서비스 호출시 SERVICE KEY IS NOT REGISTERED ERROR(등록되지 않은 서비스 키)라고 나올 경우 * 해당 키는 공유가 불가능하므로 일부분을 조금 수정하였습니다. Ex) 정상적인 키 : S9clkaRNYI3IsIkBXLS%2BIrtxLnFNkUbfg46FNTuMTfAeAlBVnLDjjgtm9F%2FGnf5sm4NrgWM%2FnUOcO9U..
2020.04.16