일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 기능개발 python
- kotlin in action 정리
- Kotlin in action 10장
- 코틀린
- Kotlin in action 3장
- KotlinInAction
- Kotlin In Action
- Python
- 스프링 핵심 원리
- 코틀린인액션
- Kotlin in action 5장
- 백준 13460 Python
- 스프링 컨테이너와 스프링 빈
- 스프링 핵심 원리 이해
- 객체 지향 설계와 스프링
- spring
- 7장 고급매핑
- 컨베이어 벨트 위의 로봇 Python
- 20055 컨베이어 벨트 위의 로봇
- 싱글톤 컨테이너
- 코틸린인액션
- 13460 구슬탈출 2
- 자바 ORM 표준 JPA 프로그래밍 7장
- 스프링 핵심 원리 - 기본편
- 백준 20055 컨베이어 벨트 위의 로봇
- 고급매핑
- Kotlin in action 6장
- 백준
- Kotlin
- 20055
- Today
- Total
기록하는 습관
AWS에서 제공하는 서버리스 컴퓨팅 플랫폼 사용한 컴퓨팅 시간, 용량에 대해서만 AWS에게 비용을 지불하면 됨. 장점 코드를 계속 실행시키기 보다는 특정한 시기에만 실행시키는 경우에 Lambda를 사용하면 유용하다. 서버 띄우지 않고 간단한 코드를 실행시키고 싶은 경우 특정 기간 또는 특정 주기로 코드를 실행시켜야 하는 경우 트리거가 실행될때만 코드를 실행시키고 싶은 경우 단점 코드 용량이 최대 250MB 이다. 함수 실행 시간은 최대 15분이다. 처음 함수 호출시 Cold Start를 하게되고 초기 지연시간이 발생한다. 비싸다. 적용 S3를 lambda 함수 트리거로 추가하여 객체 생성 이벤트가 발생할 때 lambda 함수를 실행시킬 수 있음. 아래 링크처럼, s3에 객체 생성 이벤트가 발생할 때 la..
S3 ##1. S3 특징 Simple Storage Service의 약자로 파일 서버의 역할을 하는 서비스 S3 자체가 수천 대 이상의 매우 성능이 좋은 웹 서버로 구성되어 있어서 EC2와 EBS로 구축했을 때 처럼 Auto Scaling이나 Load Balancing에 신경쓰지 않아도 된다. 웹하드 서비스와 비슷하지만, 별도의 클라이언트 설치나 ActiveX를 통하지 않고 HTTP 프로토콜로 파일 업로드/다운로드 처리 최소 1바이트에서 최대 5TB의 데이터를 저장하고 서비스 할 수 있으며, 저장할 수 있는 파일의 수가 제한이 없다. 파일에 인증을 붙여서 무단으로 엑세스 하지 못하도록 할 수 있다. 데이터를 여러 시설에서 중복으로 저장해 데이터의 손실이 발생할 경우 자동으로 복원한다. ##2. datac..
Redis ##1. 특징 메모리 기반의 key-value 구조의 데이터 관리 시스템 모든 데이터를 메모리에 저장하고 조회하기때문에 빠른 Read, Write 속도를 보장하는 NoSql 영속성을 지원하는 In-memory 데이터 저장소 읽기 성능 증대를 위한 서버 복제 지원 쓰기 성능 증대를 위한 클라이언트 측 sharding 지원 성능은 서버에 따라 다르나 초당 2만 ~ 10만회 수행 ##2. 기능 In-Memory 캐싱 Pub/Sub 메세지 큐 세션 스토어 ##3. 장점 리스트, 배열과 같은 데이터를 처리하는데 유용 리스트형 데이터 입력과 삭제가 MySql에 비해 10배정도 빠름. 메모리를 활용하면서 영속적인 데이터 보존(Persistence) 스냅샷 기능을 제공해 메모리 내용을 *.rdb 파일로 저장..
기본적으로 JPA에서 update를 하려면 다음과 같이 진행하는 것이 일반적이다. @Modifying @Query("UPDATE Post p SET p.title = :title WHERE p.id = :id") int updateTitle(String title, Long id); 예제 step 저장 - Post 객체 save() 수정 - post.updateTitle("변경진행") 조회 - findById(post.getId()) 위와 같은 코드를 짰을 때, 발생하는 문제점은 다음과 같다. updateTitle 함수 실행 후, 객체를 확인하면 값이 변경되어 있지 않다. findById()를 호출시, select 쿼리는 수행되지 않는다. → 이유: findById()는 DB를 확인하기 전에 우선적으로 ..
연관관계의 대칭성 일대다 ↔ 다대일 일대일 ↔ 일대일 다대다 ↔ 다대다 다대일(N:1) - @ManyToOne ex) 게시판(Board)과 게시글(Post)의 관계 요구 사항 하나의 게시판(1)에는 여러 게시글(N)을 작성할 수 있다. 하나의 게시글은 하나의 게시판에만 작성할 수 있다. 게시글과 게시판은 다대일 관계를 갖는다. 데이터베이스를 기준으로 다중성(게시글N : 게시판1)을 결정. 즉, 외래 키를 게시글(N)이 관리하는 일반적인 형태이다. 참고) 데이터베이스는 무조건 다(N)쪽이 외래 키를 갖는다. 단방향 Post(N) 객체에 Board(1) 객체 선언 후, @ManyToOne 어노테이션 추가. Board 객체에서는 참조하지 않음. 1 2 3 4 5 6 7 8 9 10 @Entity public ..
연관 관계 정의 규칙 방향 : 단방향, 양방향 (객체 참조) 연관 관계의 주인 : 양방향일 때, 연관 관계에서 관리 주체 다중성 : 다대일(N:1), 일대다(1:N), 일대일(1:1), 다대다(N:M) 단방향, 양방향 데이터베이스: 외래 키 하나로 양 쪽 테이블 조인이 가능 객체: 참조용 필드가 있는 객체만 다른 객체를 참조하는 것이 가능 그렇기 때문에 두 객체 사이에 하나의 객체만 참조용 필드를 갖고 참조하면 단방향 관계, 두 객체 모두가 각각 참조용 필드를 갖고 참조하면 양방향 관계라고 한다. 엄밀하게는 양방향 관계는 없고 두 객체가 단방향 참조를 각각 가져서 양방향 관계처럼 사용하고 말하는 것. 단방향, 양방향 선택? 비즈니스 로직에서 두 객체가 참조가 필요한지 여부를 고민하기. GroupCondi..
##1. Newman 이란? Newman은 포스트맨을 cmd/터미널에서 실행시킬 수 있는 러너. 포스트맨에 만들어 놓은 컬렉션과 환경 변수를 지정해서 실행하고 테스트할 수 있다. 일반적으로 서버는 윈도우보다는 Unix 계열 OS를 많이 사용하기 때문에 newman을 설치해서 배치성이나 api 자동화 테스트하는 데 사용을 많이 한다. Newman 을 사용하면 좋은 점 수동적이고 반복적으로 GUI를 조작해야하는 방식에서 벗어날 수 있다. Terminal상에서 실행하였을 시 바로 Feedback을 확인할 수 있다. 각종 CI/CD에 적용할 수 있다. ##2. 3가지 적용 방법 1) URL Postman의 Web버전에서 Collection단위로 share하는 기능이 있다. 해당 기능을 이용하여 Public한 U..
분산 된 데이터 검색의 과제 문제: 느슨하게 결한 된 여러 독립 서비스에서 데이터를 검색하려고 함. 해결법 1. 모든 정보가 포함 된 단일 데이터베이스가 있다면 검색이 쉬울 것. a. 문제점: 단일 데이터베이스에는 팀이 독립적으로 작업할 수 있는 유연성이 제한, 대규모 성능이 제한됨. 2. 데이터 자체 색인을 작성하는 사용자 지정 집계 서비스를 사용하는 것. 데이터 인덱싱 GraphQL을 사용하여 데이터를 인덱싱 하려면? - GraphQL 쿼리를 업데이트 하여 관련 데이터를 검색한 다음 데이터베이스에 해당 쿼리를 한 번씩 호출해 결과를 ES에 색인화 할 수 있음 ES에는 데이터를 인덱싱 할 때 많은 사용자 정의 옵션이 있지만 대부분 기본 설정이 좋은 결과를 제공함. GraphQL 쿼리를 사용해 스키마를 ..