전체 글
2,122개의 글
[JAVA] 책 구매하기 2 (백준 11406)
문제 총 N명의 사람이 책을 구매하려고 한다. 각 사람은 1번부터 N번까지 번호가 매겨져 있고, 각 사람이 사려고하는 책의 개수는 A 1 , A 2 , ..., A N 권이다. 이 책을 판매하는 온…
Swagger란
1. 개요 REST API 설계 및 문서화 등에 유용하게 사용되는 Swagger에 대해 소개하고, Spring Boot에 적용하여 REST API를 문서화하는 예제를 소개한다. 2. Swagger란…
AWS Systems Manager - Session Manager
1. AWS Session Manager 소개 AWS Systems Manager 서비스 카테고리 중 하나인 Session Manager는 (온프레미스 인스턴스를 포함한) EC2 인스턴스에 액세스할…
Cloud Computing & MSAIaC (Infrastructure as Code) 란?
1. 개요 이 게시판에 보면 Terraform에 대해 소개한 글이 있다. 해당 글에서도 얘기하고 있는데, Terraform은 AWS의 CloudFormation과 같은 대표적인 IaC(Infrast…
[Python] 프로그래머스(그래프) - 순위
1. 문제 n명의 권투선수가 권투 대회에 참여했고 각각 1번부터 n번까지 번호를 받았습니다. 권투 경기는 1대1 방식으로 진행이 되고, 만약 A 선수가 B 선수보다 실력이 좋다면 A 선수는 B 선수…
Algorithm[Python] 프로그래머스(DP) - 타일장식물
1. 문제 대구 달성공원에 놀러 온 지수는 최근에 새로 만든 타일 장식물을 보게 되었다. 타일 장식물은 정사각형 타일을 붙여 만든 형태였는데, 한 변이 1인 정사각형 타일부터 시작하여 마치 앵무조개…
golang에서 MongoDB 사용하기
개요 go.mongodb.org/mongo-driver를 활용하여 golang에서 MongoDB를 사용하는 방법을 알아본다. 모듈 다운로드 go get go.mongodb.org/mongo-driv…
트랜잭션(Transaction)이란?
1. 개요 트랜잭션은 참 다양한 곳에서 의미를 가지고 있다. 데이터베이스에서는 상태를 변화시키기 위해 수행하는 작업의 단위를 뜻한다. 일반적인 컴퓨터 과학에서는 쪼개질 수 없는 업무처리의 단위를 의…
Cloud Computing & MSACDP - CDN 패턴
CDN(Contents Delivery Network) Pattern 설명 CDN은 사용자에게 웹 콘텐츠를 효율적으로 제공할 수 있는 서버의 분산 네트워크이다. 최종 사용자와 가까운 POP 위치의 …
Algorithm스킬트리 (JAVA-문제해결)
문제 풀이 : 검사할 스킬트리의 전체 개수를 정답으로 저장해놓고, 필수 스킬트리의 제약조건을 위반하면 개수에서 차감하는 방식으로 해결한다 1. 검사할 스킬트리 안, 필수 스킬의 첫번째 스킬의 인덱스…
Spring Dependency Injection (의존성 주입)
1. 개요 의존성 주입에 대해 보다 자세히 알아본다. 2. 의존성 연결 방법 @Required 어노테이션 사용 (Setter 메소드에 사용) @Autowired 어노테이션 사용 (생성자, 메소드, …
[AWS] API Gateway Endpoint 를 통하는 Private API Gateway 주소 확인 방법.
API Gateway 를 보안 목적으로 VPC 내부로 Private으로 생성할 경우가 요즘 많아지고 있습니다. 이 경우, VPC Endpoint를 통한 Endpoint 주소가 필요할 수 있게 됩니다…
Container Image Timezone 설정
Docker container의 경우 timezone은 UTC(협정세계표준시, Coordinated Universal Time) 를 따라간다. (왜 CUT가 아닌 UTC일까..) Kubernetes…
Algorithm(2) Add Two Numbers
모든 요소가 양수인 두 개의 non-empty linked list가 주어집니다. linked list 내의 숫자는 역순으로 저장되며, 각 노드에는 단일 숫자가 포함됩니다. 두 숫자를 더한 다음 I…
Azure Automation
1. 개요 WSUS가 없는 환경에서 Azure플랫폼에 올라간 윈도우 VM에 대한 windows 업데이트 관리가 필요하여 서비스를 찾게 되었습니다. "Azure Automation"은 Azure 리소…
인터셉터 (Interceptor)
1. Interceptor란? Interceptor는 컨트롤러에 들어오는 요청(HttpRequest), 컨트롤러의 응답(HttpReesponse)를 가로채는 역할을 한다. 정식 명칭은 Handler…
AWS MFA 사용법(Multi Factor Athentication)
* MFA (멀티 팩터 인증) 을 사용하여 보안을 강화하며, 리소스를 보호 할수 있습니다. IAM 사용자 또는 AWS 계정 루트 사용자에 대해 MFA를 활성화할 수 있습니다. 최근 뱅킹, 포털 등 …
Azure Automaion-1
개요 Azure환경에 리소스에 대한 자동화 및 구성관리, OS업데이트 관리를 지원해주는 기능으로 AWS Systems Manager와 유사하다. 1. 프로세스 자동화
MSA - Transactional Outbox Pattern
1. 개요 MSA에서는 서비스 간 결합도가 낮아야 하기 때문에 데이터 송수신 방법으로 Messaging System을 사용합니다. 마이크로서비스 간 비동기 처리 시에 보통 Kafka나 RabbitM…
[JAVA] 다이나믹 프로그래밍 - 타일채우기(백준 2133번)
백준 알고리즘 2133 번, 다이나믹 프로그래밍 - 타일 채우기 https://www.acmicpc.net/problem/2133 문제 3xN 크기의 벽을 2x1, 1x2 크기의 타일로 채우는 경우…
Cloud Computing & MSACDP - Snapshot 패턴
Sanpshot Pattern 등장 배경 데이터의 안전성을 위해 데이터를 백업하는 것이 중요하다. 그러나 데이터 백업은 많은 비용이 발생하며, 자동화하기가 어렵다. 고가의 장비를 구매하여 어느 정도…
golang MySQL 연동
개요 golang을 통해 MySQL의 데이터베이스에 쿼리를 날리는 방법을 알아본다. 필요 모듈 DB의 연동과 관련된 database/sql 모듈과 MySQL 드라이버인 go-sql-driver/my…
Cloud Computing & MSAAzure Kubernetes Service 클러스터 배포
1. 개요 Azure Kubernetes Service에서 클러스터를 배포하기 위해 Azure CLI와 ARM Template을 사용하는 방법을 소개한다. 2. Azure CLI를 사용하여 클러스터…
[Python] 백준 - 2206번 (벽 부수고 이동하기))
1. 문제 원본 링크 - https://www.acmicpc.net/problem/2206 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽…