개발 관련(35)
-
[python] dictionary 선언, 접근, 수정, 삭제, 변환, 복사
목차 Dictionary immutable한 key와 mutable한 value로 맵핑되어 있는 순서가 없는 집합 특징 순서가 없다. = index로 접근할 수 없다. key값은 중복될 수 없다. key값으로 value(값)에 접근한다. 요약 dic = {} dic = {'a' : 1, 'b' : 2, 3 : 3, 'c' : 'c', 'milk' : [0, 1, 2, 3, 5]} dic['a'] = 0 dic['milk'].append(22) 'a' in dic# True 'a' not in dic# False for k, v in dic.items() : print(k, v) id_list = ['01001', '01220'] dic2 = {id : 0 for id in id_list}# key값은 i..
2022.01.19 -
[Java][Spring] Optional 정리 : null 체크 관리 메소드
Optional : Java8부터 새롭게 추가된 null 처리를 쉽게 하기 위한 함수 "존재할 수도 있지만 안 할 수도 있는 객체" "null일 수도 있는 객체"를 감싸는 래퍼 클래스 java.util.Optional 목차 1. 기존 null 처리 관련 문제점 2. Optional 사용 시 장점( + ) 및 단점( - ) 3. Optional 사용법 + 선언 및 초기화 ( 시작 ) + stream처럼 사용하는 방법 ( map, filter, stream, or ), ( 중간 ) + orElseGet ( 종단 ) 4. 사용 방법 + return null일 때 + 예외 처리 try/catch문에 Optional 적용 기존 ( Java 8 이전 ) null 처리 관련 문제점 런타임 중 NPE ( Null Po..
2021.04.28 -
[C++] Vector 사용법 ( 삽입, 삭제, 검색, 공간 관리, call by reference )
Vector은 java의 ArrayList와 비슷하다. add, remove 등의 명령어 한 줄만 적으면 알아서 사이즈를 줄여준다. 근데 for문이 돌면서 찾아주는걸까? 요약 저장할 데이터 개수가 가변적일 때, 중간에 삽입과 삭제가 없을 때 사용 ( 범위 검사할 필요가 없기 때문에 v.at(i) 대신에 v[i]를 사용하였다. ) 삽입과 삭제가 빈번할 때는 list나 deque를 사용하자. #include #include void swap(int i, int j, vector &v) { int temp = v[i]; v[i] = v[j]; v[j] = temp; } void main() { vector v(10, 0);// 10 크기 할당, 모두 0으로 초기화 v.emplace(v.begin()+1, 1)..
2021.04.06 -
[C++] 배열 초기화(-1로 초기화), call by value, pointer, reference
C++ 배열 초기화 방법 #include #include // memset int main() { int arr1[100];// arr1은 초기화하지 않는다. int arr2[100] = {0,};// arr2를 전부 0으로 초기화 int arr3[100]; std::fill_n(arr3, 100, -1);// arr3을 배열의 크기 100까지 -1로 초기화 // 이차원배열도 마찬가지 int arr4[10][20]; std::fill(arr4[0], arr4[10], 100)// arr4의 0부터 10까지 100으로 초기화 for (int i = 0; i < 10; i++ ) printf("%d " , *arr4[i] );// print하면 10개가 100으로 초기화되어있다. int arr5[100]; ..
2021.04.06 -
[Spring] Spring Framework 기본 개념 정리
Spring Framework란 ? java platform을 위한 오픈소스 애플리케이션 프레임워크로서 enterprise급 애플리케이션을 개발하기 위한 모든 기능을 종합적으로 제공하는 경량화된 솔루션 * 엔터프라이즈급 애플리케이션 : 기업을 대상으로 하는 개발. 대규모 데이터 처리와 트랜잭션이 동시에 여러 사용자로부터 행해지는 매우 큰 규모의 환경을 가지는 애플리케이션 Spring Core = Spring Container, 이 중 핵심은 Bean Factory Container : IOC 패턴을 적용하여 객체 구성부터 의존성 처리까지 모든 일을 처리 Spring Context Spring Framework의 context 정보들을 제공하는 설정 파일. JNCI, EJB, Validation, Sche..
2021.02.19 -
[안드로이드 스튜디오] OpenAPI 데이터 받아오기 - xml parsing
XML 파싱 방법 DOM (Document Object Model ) Parser Dom parser ( Document, DocumentBuilder ) jsoup : 자바 HTML 파서 SAX (Simple API for XML ) Parser XML Pull Parser 1. DOM 파서 xml 문서를 파싱 -> 1:1로 매핑되는 object로 생성 -> 메모리에 문서 구조 그대로인 Tree 구조 ( 리턴된 Object ) 로 적재 끝까지 파싱하고 객체를 생성하여 리턴하기 전까지는 다른 event 발생 불가 ( 완료될 때까지 대기 ) + 한번 파싱하면 언제든 원하는 element 정보를 얻을 수 있다( name, text, attribute ) + root, child, parent, sibling..
2021.01.11