일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 코틀린인액션
- 20055 컨베이어 벨트 위의 로봇
- kotlin in action 정리
- Kotlin in action 10장
- 기능개발 python
- 스프링 컨테이너와 스프링 빈
- spring
- 스프링 핵심 원리 - 기본편
- 7장 고급매핑
- 스프링 핵심 원리
- 싱글톤 컨테이너
- Kotlin in action 6장
- 백준 20055 컨베이어 벨트 위의 로봇
- 객체 지향 설계와 스프링
- Kotlin
- 백준 13460 Python
- Kotlin in action 3장
- 고급매핑
- 코틸린인액션
- 13460 구슬탈출 2
- Kotlin in action 5장
- 컨베이어 벨트 위의 로봇 Python
- 20055
- 스프링 핵심 원리 이해
- 백준
- Python
- Kotlin In Action
- 코틀린
- KotlinInAction
- 자바 ORM 표준 JPA 프로그래밍 7장
- Today
- Total
목록2022/07 (41)
기록하는 습관
일반적인 의미 소스코드 파일을 컴퓨터에서 실행할 수 있는 독립적인 형태로 변환하는 과정과 그 결과 소스코드 compile .class로 변환 resource를 .class에서 참조할 수 있는 위치로 옮김 META-INF, MANIFEST.MF들을 하나로 압축하는 과정 compile 이란? java의 경우, 컴파일 결과로 .class 파일이 생김. build를 진행하는 과정에서 발생하는 하나의 task build tool에서의 build의 의미 빌드 대상에 어떤 행위를 하는 것이 Build Tool 에서의 Build 의미 Gradle에서는 이런 행위의 단위를 task라고 함. 이런 task를 실행하는 것을 Build라고 함. intellij 실행 버튼으로 빌드 vs gradle build https://w..
ant 특징 XML 기반 빌드 스크립트 개발 규칙이 없음 절차적이다. 생명주기를 갖지 않아 각각의 Target에 대한 의존관계와 작업을 정의해 주어야 함. 단점 스크립트의 재사용이 어렵다. maven 특징 모든 Dependency를 리스트의 형태로 Maven에게 알려서 종속성을 관리한다. XML, Repository를 가져올 수 있다. → Jar, Class Path를 선언만 하면 직접 다운로드 할 필요가 없이 Repository에서 자동으로 필요한 라이브러리 파일을 불러와 준다. 단점 라이브러리가 서로 종속할 경우 XML이 복잡해진다. 라이프 사이클(빌드 순서) Clean : 이전 빌드에서 생성된 파일들을 삭제하는 단계 Validate : 프로젝트가 올바른지 확인학고 필요한 모든 정보를 사용할 수 있는..

maven gradle id 'io.spring.dependency-management' version '1.0.11.RELEASE' Gradle 사용 시, io.spring.dependency-management 플러그인을 적용하면 자동으로 spring-boot-starter-parent을 import. Gradle 사용 시 Parent 설정 불필요한 이유 springboot & gradle version 기존 datacenter spring boot version: 1.5.4 시도한 gradle version: 7.x → 빌드는 되지만, jar를 실행하면 "기본 클래스를 로드할 수 없습니다." 에러발생 bootRepackage: 1.5 까지 사용된 스프링 부트 태스크 bootJar(or bootWar..

Spring Batch 벡엔드의 배치처리 기능을 구현하는 데 사용하는 프레임워크 장점 로깅/추적, 트랜잭션 관리, 작업 처리 통계, 작업 재시작, 건너뛰기, 리소스 관리 등 대용량 레코드 처리에 필수적인 기능을 제공 최적화 및 파티셔닝 기술을 통해 대용량 및 고성능 배치 작업을 가능하게 하는 고급 기술 서비스 및 기능을 제공 배치가 실패하여 작업 재시작을 하게 된다면 처음부터가 아닌 실패한 지점부터 실행 중복 실행을 막기 위해 성공한 이력이 있는 Batch는 동일한 Parameters로 실행 시 Exception이 발생 참고 chunk 지향 프로세싱 transaction 경계 내에서 chunk 단위로 데이터를 읽고 생성하는 프로그래밍 기법 tasklet 단일 작업에 사용합니다 일반적으로 Resource ..
mybatis 가 동적이거나 커스텀이 강한, 다르게 말하면 데이터 가공이 쉽지만 데이터베이스 친화적인 성격이 강함. -> 어플리케이션에서는 독립적인 데이터셋에 대한 것을 리턴 받아 처리 되는 로직으로 인해 의존성이 데이터베이스에 종속적임. hibernate / queydel등의 ORM에서는 어플리케이션 관점에서 객체 지향적인 부분으로 데이터를 바라보고 있음. 컴파일 시점에 언어에 대한 부분을 검증 가능하지 않는 부분은 단점이 될 수도 있고 장점이 될 수 있음. JPA vs MyBatis JPA와 MyBatis의 차이 (ORM과 SQL Mapper)
2022. 1. 25 기준, 17.0.2 version 왜 흔히 Java8이 안전하다고 하는것인지? → 외부 툴과 연동할 때 Oracle JDK가 아닌, Open JDK를 사용해야 하며 생기는 이슈들이 생길 수 있음. Java8 2014년 오라클 인수 후 첫 번째 버전 2개의 버전으로 나뉨 (Oracle JDK, OpenJDK) Optional Stream 새롭게 추가된 날짜 API 애플릿 뷰어 도구 사용 가능 애플릿이란? 패널(Panel)을 상속하는 클래스로, 웹브라우저에 담겨서 실행되는 작은 응용 프로그램. String 문자열 관련 메소드가 적음 lambda 등장. lambda 파라미터에는 특수 변수 사용되지 않음 PermGen Area 제거 interface default method 추가 Java..

Hadoop 2006년 4월, 아파치에서 발표한 대용량 데이터를 분산 처리할 수 있는 자바 기반의 오픈 소스 프레임워크 map 함수가 모두 종료해야 reduce 함수가 실행됨. → 실시간 처리는 힘듦. map: 전체 데이터를 작은 단위로 나눈 청크에 대해 수행할 로직 reduce: 처리된 데이터를 병합하는 과정 map 함수의 결과가 디스크에 저장되고, 그걸 reduce 함수가 다시 읽어와야 합니다. 이것이 주는 성능상의 손실이 큼 따라서, 빅데이터 기반의 배치성 통계작업에 주로 사용됨. 맵리듀스 잡(작업)의 결과물은 hdfs에 저장해야만 하는데 hdfs는 분산파일시스템이기 때문에 저장과 로드에 상당한 비용(시간/자원소모)이 듦. 요약 저장은 HDFS에 저장하고, 분석작업은 맵리듀스를 통해 수행하고, 이러..
1. Offset 기반 페이지 단위로 데이터를 불러오는 방식. offset 기반 페이지네이션은 우리가 원하는 데이터가 '몇 번째'에 있다는 데에 집중 offset을 사용해도 되는 경우 데이터의 변화가 거의 없다시피하여 중복 데이터가 노출될 염려가 없는 경우 일반 유저에게 노출되는 리스트가 아니라 중복 데이터가 노출되어도 크게 문제 되지 않는 경우 검색엔진이 인덱싱 할 이유도, 유저가 마지막 페이지를 갈 이유도, 오래 된 데이터의 링크가 공유 될 이유도 없는 경우 애초에 row 수가 그렇게 많지 않아 특별히 퍼포먼스 걱정이 필요 없는 경우 문제점 각각의 페이지를 요청하는 사이에 데이터의 변화가 있는 경우 중복 데이터 노출 대부분의 RDBMS 에서 OFFSET 쿼리의 퍼포먼스 이슈 2. Cursor 기반 클..