전체 글(31)
-
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 -
POJO Class란 무엇일까?
POJO Class (Plain Old Java Object) 예시 코드는 아래와 같습니다 public class StudentResponse { private String name; private int age; private double average; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public double getAverage() { return average; } public void setAverage(doub..
2020.03.09 -
synchronized란 무엇일까?
synchronized (동기화) - synchronized는 하나의 객체에 여러 개의 객체가 동시에 접근해 처리하는 것을 막기 위해 사용합니다. (Thread의 불규칙적인 자원 공유를 막기 위해 사용) - synchronized 식별자는 보통 메소드의 선언부에 쓰고 이 키워드가 붙은 메서드는 한 번에 하나의 스레드만 접근이 가능하며 메서드가 사용 중일 때 다른 스레드가 메서드를 호출하면 앞의 스레드가 종료될 때까지 기다려야 합니다. Ex) public String data = null; public synchronized String getData() { if (data == null) { data = new String(); } return data; } 동기화 블럭 사용 Ex) public Stri..
2020.02.14 -
LinkedList 와 ArrayList의 특징
LinkedList와 ArrayList는 모두 Java에서 제공하는 List 인터페이스를 구현한 Collection 구현체입니다. 인터페이스만 같을 뿐 내부 동작방식은 다릅니다. ArrayList - 무작위접근(random access)이 가능합니다. - n개의 자료를 저장할때 ArrayList는 자료들을 하나의 연속적인 묶음으로 저장합니다. - 삽입 시 사이즈를 늘려주는 연산이 발생됩니다. - 삭제 시 빈 인덱스를 채워야 하기 때문에 연산이 발생됩니다. - 지속적으로 삭제 되는 과정에서 공간만큼 낭비되는 메모리가 많습니다. - 삽입 삭제가 빈번하게 발행하는 프로세스의 경우 좋지 않습니다. LinkedList - 순차접근(sequential access)만 가능합니다. - n개의 자료를 저장할때 자료들을..
2020.01.13