CSV (comma-separated values)는 ,(콤마)로 구분되 있는 데이터파일 엑셀로 열어볼 수는 있으나 정보를 엑셀로 막 수정하다가는 파일 전체가 깨질수도 있으니 엑셀로는 읽기만 하는걸 권장 보통 DB에서 csv로 추출한 정보를 가공할때 쓰거나, 데이터를 분석할때등 많이 쓰임 [예시 데이터] (출처: data.go.kr) // 전라남도 메뉴정보 // https://www.data.go.kr/data/15076624/fileData.do // 전라남도 식당 정보 // https://www.data.go.kr/data/15076621/fileData.do CSV파일을 자바 프로젝트로 끌어온 뒤 데이터가 콤마(,)로 구분되있고 " 로 묶여있는걸 확인 엑셀이 아닌 메모장이나 notepad++ 등등으..
[파싱할 데이터] 영화진흥위원회 오픈API 제공서비스 영화관입장권통합전산망이 제공하는 오픈API서비스 모음입니다. 사용 가능한 서비스를 확인하고 서비스별 인터페이스 정보를 조회합니다. www.kobis.or.kr API를 얻어오기 위해서 간단하게 회원가입 후 키를 발급 받자 그리고 JSON 데이터를 확실하게 확인하기위해 크롬 확장 프로그램을 받음 JSON Formatter Makes JSON easy to read. Open source. chrome.google.com REST란 URL을 통해서 데이터에 접근하는거라 생각하면 편함 SOAP 방식도 있는데 좀 옛날 방식 (WSDL에서 분석해서 요청URL에서 가져온다) 잘 사용하지 않음 (복잡함) REST방식의 요청 URL을 긁어오자 만약 긁어온 링크를 시..
[프로그램 오류] 오류의 종류 1. 컴파일 에러 : 프로그램의 실행을 막는 소스 상의 문법 에러, 소스 구문을 수정하여 해결 2. 런타임 에러 : 입력 값이 틀렸거나, 배열의 인덱스 범위를 벗어났거나, 계산식의 오류 등 주로 if문 사용으로 에러 처리 3. 시스템 에러 : 컴퓨터 오작동으로 인한 에러, 소스 구문으로 해결 불가 2번과 같은 소스 수정을 해결 가능한 에러를 예외(Exception) 라 하고 이는 예외처리를 통해 해결함 try ~ catch 문 try ~ catch ~ resource 문 자바7에서 추가된 기능으로 finally에서 작성했던 close 처리를 try문에서 자동 close 처리 최근 자바 17버전 패치 이후로 바깥 선언도 가능 사용자 정의 예외 짜잘한 예외들을 Exception..
jdk 1.5 부터 제공하며 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법이다. 하나의 값이 여러 다른 데이터 타입들을 가질 수 있는 기술에 중점을 두어 재사용성을 높일 수 있는 프로그래밍 방식 장점으로는 1. 컴파일 시 제네릭 코드에 대해 강한 타입 체크를 함 • 잘못된 타입이 사용될 수 있는 문제를 컴파일 과정에서 제거 할 수 있음 2. 컬렉션, 람다식, 스트림, NIO에서 널리 사용됨 3. 불필요한 타입변환을 제거 • 제네릭 코드로 타입을 지정해 놓으면 해당 타입으로 사용할 때 타입변환을 하지 않아도 됨 단점은.. 문법이 어렵다 정도? 익숙해 지기만 하면 매우 편함 제네릭 멀티 타입 파라미터 두 개 이상의 멀티 타입 파라미터 사용 가능 public class 클래스명 { ... } publi..
MVC SW공학 아키텍처 디자인 패턴 중 하나로 Model View Controller 의 약자 MVC 줄여 말하는 패턴 MVC의 핵심은 화면 (View), 제어 (Controller), 데이터 연동 ( 을 구성하는 로직 코드 를 분리하여 서로간의 영향도를 줄이고 코드를 간결하게 관리하여 코드 설계 품질을 향상시킬 수 있는 기법 한국에서만 주로 사용하는 구조 해외에선 자바의 지분률이 낮다 패키지 구조 ◆ View : 프론트 UI ◆ Controller : 뷰와 모델을 적절히 제어, View 로 부터 전달 받은 사용자의 입력 요청 을 분석하고 , 이에 필요한 데이터를 Model 로 부터 전달 받아 올바른 결과의 View 를 구성하도록 전달만 수행 ◆ Model : 백엔드, DBMS, 데이터 처리 가공 (비..
나중엔 JPA나 MyBatis 배우면 이걸 쓸 예정 JDBC란? 자바에서 데이터베이스에 접근할 수 있게 해주는 Java의 Library로 실제 DB 접근하기 위해선 벤더 사 별로 다른 JDBC Driver(.jar 파일)를 활용하고, Java에선 JDBC Interface를 통해 동일한 코드로 각기 다른 DB를 접근 할 수 있는 Interface MySQL에서 제공하는 Java-DB간 연결을 위한 Connect j를 다운받아 적용하고 (Mysql 홈페이지 회원가입 필요) MySQL :: Download Connector/J MySQL Connector/J is the official JDBC driver for MySQL. MySQL Connector/J 8.0 and higher is compatibl..
이미지 같은걸 처리할땐 바이트 기반 스트림을 사용한다. PipedInputStream : 소스값이 파이프와 필터를 거치며 필요한 값을 추출 (마치 정수기의 물의 여과과정) Source -> [pipe1] - [filter1] - [pipe2] - [filter2] - [pipe3] - [filter3] - Result 주로 프로세스를 다룰때 사용 FilterInputStream : 보조스트림으로 용도에 따라 4가지가 있음 - BufferedInputStream ByteArrayInputStream : 바이트로 구성된 Array를 읽어옴 StringbufferedInputStream : 문자열 읽어오는 스트림 InputStream 바이트 기반 입력스트림의 최상위 클래스로 추상클래스임 - FileInputS..
Map은 나중에 JPA Criteria (JPQL) 사용할때 알아둬야하니 공부공부.. ORM와 MyBatis(배우기쉽고 표준적으로 많이씀, 우리나라,중국등 동양쪽에서 많이씀) 도 있음 해싱? 해시 함수를 통해서 일정한 길이의 값을 뽑아 데이터를 저장, 검색 해쉬 테이블은 배열과 링크드 리스트가 조합된 형태이다. (해싱은.. 보안 포렌식쪽에서만 써봤는데, 자바에서도 쓰이는줄은 몰랐다.) 1. 키로 해쉬함수를 호출해서 해쉬코드(hash code)를 얻는다. 2. 해쉬코드(해쉬함수 반환값)에 대응하는 Linked List를 배열에서 찾는다 3. Linked List에서 키와 일치하는 데이터를 찾는다. 해쉬 테이블은 잘 사용하지 않아 적지 않음 Map 계열 주요 메소드 키와 값을 String 타입으로 제한한 M..