prior post : [Spring + JPA] Spring Data JPA 란? (1) | 명세(specification) - 명세를 이해하기 위한 핵심 단어는 술어(predicate), ㄴ 이것은 단순히 참이나 거짓으로 평가 ㄴ AND, OR 같은 연산자로 조합 가능 ㄴ 데이터를 검색하기 위한 제약 조건 하나하나를 술어라고 할 수 있음 - 술어를 Spring Data JPA는 org.springframework.data.jpa.domain.Specification 로 정의 - Specification은 composite pattern 으로 구성되어 여러 specification 조합 가능 (SQL Where) - Specification 기능 사용을 위해 org.springframework.data..
| QueryDSL - 쿼리언어를 코드로 작성할 수 있도록 해주는 오픈소스 프로젝트 - 데이터 조회 기능이 특화 Documentation ko-KR ver. || 설정 ㅇ 라이브러리 추가 및 환경설정 (pom.xml) - querydsl-jpa : QueryDSL JPA 라이브러리12345 com.querydsl querydsl-jpa ${querydsl.version}cs - querydsl-apt : 쿼리 타입 생성 시 필요한 라이브러리123456 com.querydsl querydsl-apt ${querydsl.version} providedcs 12345 org.slf4j slf4j-log4j12 1.6.1cs - 엔티티를 기반으로 쿼리 타입이라는 쿼리용 클래스를 생성1234567891011121..
#. Problemhttps://www.inflearn.com/course/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98* The copyright in this matter is in Inflearn #. Resolution Process 1. Read and understand problem 2. Redefine the problem + abstract 3. Create solution plan (select Algorithm, Data structure) 4. Prove the plan (check performance time and usage memory) 5. Carry out the plan 6. Look back on the plan and find a way to im..
#. Problemhttps://www.inflearn.com/course/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98* The copyright in this matter is in Inflearn #. Resolution Process 1. Read and understand problem 2. Redefine the problem + abstract 3. Create solution plan (select Algorithm, Data structure) 4. Prove the plan (check performance time and usage memory) 5. Carry out the plan 6. Look back on the plan and find a way to im..
#. Problemhttps://www.inflearn.com/course/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98* The copyright in this matter is in Inflearn #. Resolution Process 1. Read and understand problem 2. Redefine the problem + abstract 3. Create solution plan (select Algorithm, Data structure) 4. Prove the plan (check performance time and usage memory) 5. Carry out the plan 6. Look back on the plan and find a way to im..
# Divide & Conquer ## about- 가장 유명한 알고리즘 디자인 패러다임- 분할 정복 패러다임을 차용한 알고리즘들은 주어진 문제를 둘 이상의 부분 문제로 나눈 뒤 각 문제에 대한 답을 재귀 호출을 이용해 계산, 각 부분 문제의 답으로부터 전체 문제의 답을 계산- 일반적인 재귀 호출과 다른 점은 문제를 한 조각과 나머니 전체로 나누는 대신 거의 같은 크기의 부분 문제로 나눔- 일반 재귀 호출은 항상 문제를 한 조각과 나머지로 쪼개는 방식, 분할정복법은 항상 문제를 절반씩으로 나누는 분할 정복 알고리즘출처 : https://kugistory.net/76 ## 구성 요소- 문제를 더 작은 문제로 분할(Divide)- 각 문제에 대해 구한 답을 원래 문제에 대한 답으로 병합(Merge)- 더이상..
#. 색인 (.np.ix_, .iloc, .loc) *# 슬라이스 색인 (얕은 복사, 원본 갱신) - 1차원 : ar[n:m] # n~m-1 - 2차원 : arr[:2] # 행 우선 (n~1행) arr[:2, 1:] # (n~1행, 1~m열) # 다차원 색인 - arr[[1,5,3], [2,6,4]] # point 색인 (1,2), (5,6), (3,4) - arr[[1,5,3], [:,[2,6,4]] # 1,5,3행의 2,6,4열 # np.ix_() 함수 색인 - arr[np.ix_([1,5,3], [2,6,4])] # 1,5,3행의 2,6,4열 (np.ix_ 함수 : 위치 값으로 전달) # iloc[] 정수 색인 - df.iloc[0,:] # 0번째 행 - df.iloc[:,0] # 0번째 열 - d..
참고글[Python] Pandas - Series [Python] Pandas - DataFrame[Python] DataFrame 그룹 함수 적용(map,apply,applymap) # 행/열 전치 (T 메서드)fruits.T 0 1 2 3nameapplemango bananacherryprice2000 150 500 400qty 5 4 10 NaN # 연산 (add, sub, div, mul 메서드)# NA 처리 가능한 연산 메서드 df1 = DataFrame({'a':[1,2,3], 'b':[10,NA,20]})a b0 1 10.01 2 NaN2 3 20.0 df2 = DataFrame({'b':[1,2,3], 'c':[10,NA,20]}, index = [0,1,3])b c0 1 10.01 2 N..