일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이진탐색
- 스토어드 프로시저
- 연결리스트
- FetchType
- execute
- 힙
- dfs
- 데코레이터
- 백트래킹
- fetch
- BOJ
- shared lock
- 다대다
- 비관적락
- PS
- CHECK OPTION
- 스프링 폼
- 낙관적락
- 동적sql
- 유니크제약조건
- 즉시로딩
- querydsl
- SQL프로그래밍
- JPQL
- 다대일
- 지연로딩
- 일대다
- exclusive lock
- eager
- 연관관계
- Today
- Total
목록All (557)
흰 스타렉스에서 내가 내리지
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dbm6Jh/btsuShEPW3h/qCFR2uJkKGK4mVh2vJz6qK/img.png)
Amazon Lambda를 사용하는 여러 방법 중 하나이다. "Amazon API Gateway는 어떤 규모에서든 개발자가 API를 손쉽게 생성, 게시, 유지 관리, 모니터링 및 보안 유지할 수 있도록 하는 완전관리형 서비스입니다. API는 애플리케이션이 백엔드 서비스의 데이터, 비즈니스 로직 또는 기능에 액세스할 수 있는 '정문' 역할을 합니다. API Gateway를 사용하면 실시간 양방향 통신 애플리케이션이 가능하도록 하는 RESTful API 및 WebSocket API를 작성할 수 있습니다. API Gateway는 컨테이너식 서버리스 워크로드 및 웹 애플리케이션을 지원합니다." > API Gateway - AWS의 서비스 및 외부 서비스를 위한 API를 생성/관리해주는 서비스 - HTTP/Web..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/sG3hL/btsuJdcgHxP/zZlsTRkAIxi79c3pN1KqwK/img.png)
> Serverless - 서버의 관리와 프로비전 없이 코드를 실행할 수 있음 - 사용한 만큼만 비용을 지불 (OnDemand) - 고가용성과 장애 내구성이 확보되어 있음 - 빠르게 배포하고 업데이트 가능 - Serverless 환경을 잘 활용할 수 있는 아키텍처 필요 - 병렬 처리 - 이벤트 기반 아키텍처 등 > AWS Lambda "AWS Lambda는 서버를 프로비저닝 또는 관리하지 않고도 실제로 모든 유형의 애플리케이션 또는 백엔드 서비스에 대한 코드를 실행할 수 있는 이벤트 중심의 서버리스 컴퓨팅 서비스이다. 200개가 넘는 AWS 서비스와 서비스형 소프트웨어 (SaaS) 애플리케이션에서 Lambda를 트리거할 수 있으며 사용한 만큼만 지불하면 됩니다." - AWS의 Serverless 컴퓨팅 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bMd9dc/btsuTQ1ev48/QqPAqCJQ9vRVHc2PBUnVAk/img.png)
> AWS의 이벤트 > Amazon EventBridge 규칙 - 발생한 이벤트를 대상 서비스가 처리할 수 있도록 전달 - 다양한 대상에 동시에 전달 가능 - API Gateway, CloudWatch Log 그룹, CodePipeline, StepFunctions, SQS, SNS등 - 두 가지 모드 - 이벤트 패턴 : AWS의 이벤트 버스에서 특정 이벤트를 패턴 매칭하여 대상에 전달 - 스케쥴 : Cron 이벤트를 활용하여 특정 시간, 혹은 주기로 대상에게 전달 > Amazon EventBridge 규칙 - 이벤트 패턴 매칭 - AWS의 이벤트에 내용 중 필요한 내용을 선별하여 패턴으로 정의 - 이후 패턴에 매칭되는 이벤트를 대상으로 보냄 - JSON 형식으로 구성 - 매칭하고 싶은 이벤트의 내용은 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cV1bMD/btsuTNwyymX/MhdXkOnHxTAKffGuWeHCh1/img.png)
> 기본 지식 - AWS Lambda - Amazon DynamoDB - Amazon EventBridge - Amazon SNS - Node.js - Serverless Framework > 주요 토픽 - AWS Lambda - AWS Lambda Layer - Amazon EventBridge Cron 규칙 - Puppeteer (Node.js 기반의 크롬브라우저를 컨트롤하는 프레임워크) - Serverless Framework 디시인사이드 지진희 갤러리에 지진이 일어나면 집중적으로 글이 올라온다. > 로직 - 다수의 유저가 지진을 느낄 경우 디시인사이드의 지진희갤러리에 글을 게시 - 일정 주기로 갤러리를 크롤링하여 게시글의 변동을 확인 - 디시인사이드에는 갤러리 글 별로 인덱스가 부여됨 - 주기적으..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bAx6mU/btsuJdwgAzp/kJOLnLkt4w53XX3IHble0k/img.png)
Serverless Framework는 엄밀히 말해서 aws에서 제공하는 서비스는 아니고, aws 바깥에서 오픈소스로 제공되는 프레임워크다. > 기본 지식 - AWS CloudFormation - Amazon DynamoDB - AWS Lambda - Node.js > Serverless Framework "All-in-one development & monitoring of auto-scaling apps on AWS Lambda" - Serverless 아키텍처를 쉽게 구현할 수 있는 오픈소스 프레임워크 - 기능 - AWS Lambda의 배포 및 관리 - CloudFormation 기반으로 AWS의 인프라를 생성 - 참고 사항 - AWS Lambda에 관한 설정에 따라 기본적으로 프로비전하는 인프라 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/c1kizk/btsuIDac3qs/AgIkJEhBHB7a8l9zOvcplK/img.png)
# 이벤트의 특성 > 명령이 아닌 관찰한 내용 - 명령 : 생성 주체가 대상에 행동에 대한 관심을 가지고 회신을 기다림 - 이벤트 : 생성 주체는 대상의 행동에 관심이 없음 > 구성요소 - 사건의 내용 - 사건의 발생 시간 및 주체 - 불변성: 과거의 생성된 이벤트는 변경될 수 없음을 보장 > AWS의 이벤트 > Amazon EventBridge "Amazon EventBridge는 자체 애플리케이션, 통합 Software-as-a-Service(SaaS) 애플리케이션 및 AWS 서비스에서 생성된 이벤트를 사용하여 이벤트 기반 애플리케이션을 대규모로 손쉽게 구축할 수 있는 서버리스 이벤트 버스입니다. " > AWS의 이벤트 처리 "이벤트 버스" 라는 곳에서 이벤트가 발생하면 "규칙"들이 지켜보고 있다가,..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/uDYQC/btsuAsmWRZe/AxeqA6d58RfellkeDZ0yQ1/img.png)
디커플링 : 서로 결합이 되어 있는 것을 분리시키는 작업. 어떻게 하면 좀 더 유연하게 아키텍처링을 할 수 있을까에 대한 고민에서 나왔다. 예를 들어 피자 주문은 [업체 연락, 돈 차감, 레코드 갱신] 과 연관되어 있다. '주문 이메일 발송'이라는 새로운 로직이 추가되었다고 하자. '주문 이메일 발송'이라는 애플리케이션 로직을 업데이트함과 동시에 '피자 주문' 애플리케이션도 업데이트가 불가피하다. 이러면 '긴밀한 결합'이 되어 있다고 부른다. 이것을 어떻게 유연하게 만들 수 있을까? 이렇데 하면, 주문 애플리케이션을 하는 일이 이벤트 큐에 주문을 밀어넣는 것 하나밖에 없다. 그럼 이벤트 큐를 다른 모듈들이 구독하고 있다가 변화가 생기면 각자 일을 하는 것이다. 만약 '배달업체 연락'이라는 로직을 추가한다..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cAA9nV/btsueikVDnr/rWjEjg0INhcmtqaF2bInSk/img.png)
# Static vs Dynamic Contents > 정적 컨텐츠 (Static Contents) - 서버에 저장된 파일이 모든 사용자에게 동일하게 전달되는 컨텐츠 - 매번 서버에 요청할 필요 없이 캐싱 가능 - HTML/Javascript 등으로 구성 - 예 : 이미지, 글 뉴스 등 > 동적 컨텐츠 (Dynamic Contents) - 시간, 사용자, 입력 등에 따라 내용이 변경되는 컨텐츠 - 매번 서버에 요청하여 내용을 구성하고 전달받아야 함 - PHP, JSP, ASP.net 등으로 서버 처리 - 예 : 로그인이 필요한 내용, 게시판, 댓글 등 # Amazon S3 Static Hosting - S3를 사용해서 정적(static) 웹 컨텐츠를 호스팅하는 기능 - 별도의 서버 없이 웹사이트 호스팅 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/OGIeG/btsuqAY4nSC/K7Ki3p9l25STdkYKuonol1/img.png)
aws S3 권한을 관리하는 방법은 크게 두 가지가 있다. - Identity-based policied (자격 증명 기반 정책) - 자격증명 (IAM유저, 그룹, 역할)에 부여하는 정책 - 해당 자격증명이 무엇을 할 수 있는지 허용 - Resource-based policies (리소스 기반 정책) - 리소스 (예: S3, SQS, VPC Endpoint, KMS 등)에 부여하는 정책 - 해당 리소스에 누가 무엇을 할 수 있는지 허용 가능 - 예 : SQS 대기열에 Lambda Service가 접근 가능 # 1. S3 버킷 정책 - 버킷 단위로 부여되는 리소스 기반 정책 - 해당 버킷의 데이터에 "언제 어디서 누가 어떻게 무엇을" 할 수 있는지 정의 가능 - 리소스의 계층 구조에 따라 권한 조절 가능 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/t6M3E/btsueMx0aVJ/fiT9C6FEuTkVi2M8n31eI1/img.png)
JetBrains 사의 IntelliJ는 유료버전인 IDEA와 무료버전인 COMMUNITY가 있다. 학생인증을 받으면 유료버전인 IDEA를 쓸 수 있게 해준다. 학생인증의 유효기간은 1년이다. 1년이 지나 학생인증이 만료되어 학교 메일로 다시 인증을 받으려 했지만 망할 우리 학교의 메일이 막혀 직접 요청할 수 밖에 없었다. https://www.jetbrains.com/shop/eform/students 학습용 JetBrains 제품 www.jetbrains.com 학생인증을 받는 곳에서, '대학 이메일 주소'로 신청하면 바로 인증을 받을 수 있지만, 우리 학교의 메일주소는 막혔기 때문에, '공식 문서' 탭을 통해 직접 서류를 제출하여 JetBrains 사 직원 분께 직접 요청을 하는 수 밖에 없다. 승..