공공데이터란? 공공기관이 만들어내는 모든 공적인 정보 각 공공기관이 보유한 데이터를 개방하여 누구나 원하는 기능에 활용 가능 www.data.go.kr 등 회원 가입 후 개별 키를 발급 받아 사용 데이터의 형태 CSV comma separated value ‘,’로 구분되는데이터 용량이 작지만 구조적이지 못함 xml Extensible markup language 태그(element)를 이용하여 문서나 데이터의 구조를 명기하는 언어 구조적, 정확한 문법이 필요, 큰 용량 json javascript object notation 구조를 가지며 객체로 다른 언어와 호환 XML 기본문법 문서의 시작은 로 한다 반드시 root element가 존재해야 한다 나머지 태그들은 Tree형태로 구성 시작 태그와 종료 ..
String이 가지고 있는 메서드 String s; s.equals(str); // 두 문자 비교 s.equalsIgnorecase(”YES”); // 대소문자 구분 없이 비교 s.substring(2, 3); //s 자르기 s.toCharArray(); // 문자열을 char 배열에 넣은 메서드 s.charAt(0); // 한 글자를 char 타입으로 변환 s[0] s.compareTo(”java”); // s랑 비교 s = s.concat(”algo”); // s 뒤에 붙인다 s.getBytes(); // s를 byte로 변환 s.indexOf(”s’); // s가 몇번째에 s.indexOf(”s”, 2); // s를 2번부터 찾는다 s.lastIndexOf(””); // s를 마지막 부터 앞으로 찾..
람다 (Ramda) 람다 함수는 프로그래밍 언어에서 사용되는 개념으로 익명 함수(Anonymous functions)를 지칭하는 용어 함수를 보다 단순하게 표현하는 방법 특징 람다 대수는 이름을 가질 필요가 없음 - 익명 함수 (Anonymous functions) 두 개 이상의 입력이 있는 함수는 최종적으로 1개의 입력만 받는 람다 대수로 단순화 가능 - 커링 (Curring) 장점 1. 코드의 간결성 - 람다를 사용하면 불필요한 반복문의 삭제가 가능하며 복잡한 식을 단순하게 표현 가능 2. 지연연산 수행 - 람다는 지연연상을 수행 함으로써 불필요한 연산을 최소화 할 수 있음 3. 병렬처리 가능 - 멀티쓰레디를 활용하여 병렬처리를 사용 할 수 있음 단점 1. 람다식의 호출이 까다롭습니다 2. 람다 st..
I/O와 Stream 데이터의 입력(Input)과 출력(Output) 데이터는 한쪽에서 주고 한쪽에서 받는 구조로 되어있음 이때 입력과 출력의 끝단: 노드(Node) 두 노드를 연결하고 데이터를 전송할 수 있는 개념: 스트림(Stream) 스트림은 단방향으로만 통신이 가능하며 하나의 스트림으로 입력과 출력을 같이 처리할 수 없음 InputStream의 주요 메서드 read() public abstract int read() throws IOException - byte 하나를 읽어서 int로 반환. 더 이상 읽을 값이 없으면 -1을 리턴 (4byte=-1, 3byte=0, 1byte=-1) public int read(byte b[]) throws IOException - 데이터를 읽어서 b를 채우고 읽..
자료구조 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미 자료구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미 배열 가장 기본적인 자료 구조 동일한 데이터 타입만 관리 가능 Collection Framework java.util 패키지 - 다수의 데이터를 쉽게 처리하는 방법 제공 -> DB 처럼 CRUD 기능 중요 collection framework 핵심 interface Iterable c) retainAll(Collection c) 수정 기타 toArray() List 순서가 있는 데이터의 집합 추가 add(int index, E element) addAll(int index, Collection
에러와 예외 어떤 원인에 의해 오동작 하거나 비 정상적으로 종료되는 경우 삼각도에 따른 분류 - Error - 메모리 부족, stack overflow 같이 일단 발생하면 복구할 수 없는 상황 - 프로그램의 비 정상적 종료를 막을 수 없음 -> 디버깅 필요 - Exception - 읽으려는 파일이 없거나 네트워크 연결이 안 되는 등 수습될 수 있는 비교적 상태가 약한 것들 - 프로그램 코드에 의해 수습될 수 있는 상황 exception handling(예외 처리)란 - 예외 발생 시 프로그램의 비 정상 종료를 막고 정상적인 실행 상태를 유지 하는 것 - 예외의 감지 및 예외 발생 시 동작할 코드 작성 필요 예외 클래스의 계층 checked exception - 예외에 대한 대처 코드가 없으면 컴파일이 진..
추상 클래스 정의 자식 클래스에서 반드시 재정의해서 사용되기 때문에 조상의 구현이 무의미한 메서드 메서드의 선언부만 남기고 구현부는 세미클론으로 대체 구현부가 없다는 의미로 abstract 키워드를 메서드 선언부에 추가 객체를 생성할 수 없는 클래스라는 의미로 클래스 선언부에 abstract를 추가 추상 클래스의 특징 abstract 클래스는 상속 전용의 클래스 - 클래스에 구현부가 없는 메서드가 있으므로 객체를 생성할 수 없음 - 하지만 상위 클래스 타입으로써 자식을 참조할 수는 있다. 조상클래스에서 상속받은 abstract 메서드를 재정의 하지 않은 경우 - 클래스 내부에 abstract 메서드가 있는 상황이므로 자식 클래스는 abstract 클래스로 선언되어야 함 추상 클래스를 사용하는 이유 abs..
다형성 polymorphism 하나의 객체가 많은 형(타입)을 가질 수 있는 성질 상속 관계에 있을 때 조상 클래스의 타입으로 자식 클래스 객체를 레퍼런스 할 수 있다. SpiderMan onlyOne = new SpiderMan("피터파커", false); SpiderMan sman = onlyOne; Person person = onlyOne; Object obj = onlyOne; * 객체는 모두 Object에 담을 수 있다 * 기본형은 각각의 클래스형태가 있다 Wrapper클래스라고 함 다형성의 활용 다른 타입의 객체를 다루는 배열 매개변수의 다형성 int a = 10; Integer aobj = a; // int ==> Integer : autoboxing int sum = a + aobj; /..