본문 바로가기

반응형

전체 글

(76)
[JAVA] Jackson library - 1 지난 챕터에서 content-type이 application/json 이란것, 즉 통신 대상 데이터가 json 형태라는 것을 알게되었다. json parsing 을 위해 jackson library 를 사용해보자 1. jar files download - Jackson Core : https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core - Jackson Databind : https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind - Jackson Annotations : https://mvnrepository.com/artifact/com.fa..
[JAVA] Jackson library - 0 기존에 설계된 API 문서에 따라 서버측 API를 개발하던 중 Json parsing 이 필요한 부분이 있어 Jackson library를 사용하게 되었고, 그 과정을 적어두려한다. 클라이언트 측 : Http Request Body에 넣어둘거구요. Content-Type은 application/json 입니다. ???? 일단 공부부터 갈겼다... 웹보단 앱 쪽 플젝만 했었어서 HTTP에 대한 상세내용을 모르고있었다. Content Type Http Header에 쓰이는 정보로 Request에 실어 보내는 데이터(body)의 type 정보이다. 간단히 네가지 타입만 적어보겠다. TYPE Content-Type TEXT test/css, text/javascript, text/html, text/plain ..
관계형 DB vs 비관계형DB 관계형 DB 특징 엄격한 데이터 스키마를 따라 행과 열의 구조를 가지는 테이블에 저장된다. 관계를 통해서 연결된 여러 테이블에 분산/저장된다. 장점 명확하게 정의된 스키마, 데이터 무결성이 보장된다. 데이터의 무결성은 데이터의 정확성, 일관성, 유효성이 유지되는 것을 말한다. 효율적으로 저장한다면 데이터의 중복이 없다. 단점 스키마 수정이 어렵다. 수평 확장이 어렵고, 수직 확장만이 가능하다. (수직확장 또한 한계가 있다) 비관계형 DB 특징 스키마 / 관계가 없다. 장점 스키마가 없기 때문에 유연성이 높다. 데이터를 가져오는 속도가 빠르다. 수직 및 수평 확장이 가능해서 데이터베이스가 애플리케이션에서 발생시키는 모든 읽기 / 쓰기 요청을 처리 할 수 있다. 따라서 방대한 양의 데이터를 저장하는데 유리하..
[python] 정규식 처리 [ ] 문자클래스 [ ] 사이의 문자들과 매치 - [From - To] ex) [a-zA-Z] = 알파벳 모두 [0-9] = 모든 숫자 \d 숫자 = [0-9] \D 숫자가 아닌 것 = [^0-9] \s 공백 = [ \n\t\r\f\v] \S 공백이 아닌 것 = [^ \n\t\r\f\v] \w 문자+숫자+_ = [a-zA-Z0-9_] \W 문자+숫자+_가 아닌 것 =[^a-zA-Z0-9_] \ 이스케이프 \와 함께 사용하면 일반 문자로 인식된다. . \n를 제외한 모든 문자 . = 모든 문자 [.] []안에 .을 넣을 경우 그냥 '.'으로 인식 [.] = 온점. | or ^ [] 바깥에 있을 경우 문자열의 시작과 매치 re.MULTILINE과 함께 쓰인다면 각 줄의 첫 문자와 일치 ex) ^a = a로 ..
[python] 리스트 자료형 # 리스트 자료형 # 내부적으로 연결리스트 자료구조 채택 # 리스트 혹은 배열 혹은 테이블이라고 불림 # 리스트 초기화 lists = [] print(lists) lists = list() print(lists) lists = [0] * 10 print(lists) # 리스트 컴프리헨 # 대괄호 안에 조건문과 반복문을 넣어 리스트를 초기화화는 방법 # 1과 2가 동일하게 초기화된다. # 코딩테스트에서 2차원 배열 초기화에 효과적으로 사용됨 # ver 1 lists = [] for i in range(1, 20): if i % 2 == 1: lists.append(i) print(lists) # ver 2 lists = [] lists = [i for i in range(1, 20) if i % 2 == ..
[python] 수 자료형 # 수 자료형 # 실수표현 시 소수부가 0이거나 정수부가 0일 때 0 생략 가능 a = 5. print(a) a = -.7 print(a) # 최댓값을 10억정도로 설정할 때 # 보통 987,654,321 이라고 적지만 # 1e9와 비슷하므로 지수 표현 방식을 사용 a = 1e9 print(a) # 아래와 같이 2진수에서는 실수를 정확히 표현하지 못함 # 따라서 문제에 적힌 반올림 조건에 따라 조건문을 처리 a = 0.3 + 0.6 print(a) if round(a, 4) == 0.9: print(True) else: print(False) # 파이썬에서 나누기 연산자(/)는 기본적으로 실수형으로 처리함 a = 4 b = 2 print(a / b) # 몫 연산자 print(a // b) # 거듭제곱 연..
[JAVA] Priority Queue PriorityQueue 란? 우선순위가 높은 순서대로 정렬되는 큐 자료구조 priority queue 구현 방법 우선순위 큐에 저장할 객체는 필수적으로 Comparable 인터페이스를 구현해야 한다. -> implement Comparable 그 다음 compareTo라는 메서드를 오버라이딩 해서 값이 크면 1을 값이 작으면 -1을, 같으면 0을 리턴해준다. 또한 get메서드를 만들어서 나중에 PQ에서 값을 불러올 수 있게 한다. PriorityQueue 주요 함수 offer : list의 add와 같다. isEmpty : Queue가 비었는지 확인 poll : 데이터 추출 priority queue 구현 소스 class Vehicle implements Comparable{ private String..
[JAVA] Map Map은 Key-Value로 구성되어있다. key는 중복저장이 안되지만 value는 가능하다. HashMap, Hashtable, LinkedHashMap, TreeMap 등이 있다. HashMap 해싱 검색을 사용하기 때문에 데이터 접근이 빠르다. HashTable HashMap은 null을 허용하고 FIFO(First in First out)인 반면 HashTable은 null을 허용하지 않고, FILO(First in Last out)이다. 또한 vector와 같이 특정 Thread가 접근 시 다른 Thread가 접근 할 수 없다. LinkedHashMap TreeMap 숫자 > 알파벳 대문자 > 알파벳 소문자 > 한글 순으로 key가 정렬된다.

반응형