전체 글 43

EC2 인스턴스 스토리지

EBS Volume- 물리적 드라이브가 아닌, 네트워크 드라이브이다. - 한번에 두개의 인스턴스에 연결할 수 없다. 한 인스턴스에 두개의 ebs를 연결할 수 있다.  - EC2 인스턴스에 쉽게 detached 할수도, 다른 인스턴스에 쉽게 부착할 수 있다. - AZ 가용영역에 국한되어 있다. - 용량을 미리 정해야 한다. - 종료 시 삭제라는 옵션이 있다.  기본설정으로는 루트 볼륨에 설정되어 있다. 다른 볼륨은 비활성화 되어 있다. EBS 스냅샷- EBS 볼륨의 backup을 만들어 놓는 것- 복원하는데 24시간-72시간이 걸린다. - 휴지통에서 복원하는 시간은 1일 - 1 year 로 설정할 수 있다. AMI - EC2 인스턴스의 customization을 할 수 있다.  EC2 Instance St..

[백준 3372] 보드 점프

알고리즘DFSDP풀이 방법해멧던 부분 :DFS 로 했다가 메모리 초과가 남.메모리 초과를 → dp로 바꿈.하향식에 실패해서 상향식으로 바꿈.2^63보다 큰 숫자는 long으로 해결이 안됨. bigInteger를 써야 함.BigIntger 를 처음에 0으로 초기화 해줬는데 메모리 초과가 남.BigInteger 배열은 처음에 Null로 초기화 되어 있음. 따라서 이때 null이 아닐 경우 바로 계산된 값 반환해야 함.코드 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.math.BigInteger;import java.util.StringTokenizer;public clas..

[백준 11559번] JAVA Puyo Puyo

접근 방식 해당 문제는 구현(implementation) 이다.  문제의 요구사항은1. 4개 이상 '.'이 아니고, 인접한 문자가 같을 때 연쇄적으로 터지고, 이를 '.' 기록한다.2. 연쇄적으로 터진 이후, 배열이 재배열 된다. (문자가 있을 경우, 맨 아래까지 내려간다.)3. 연쇄적인 것들은, 여러개가 터져도 하나로 기록한다.  코드 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue;import java.util.Stack;import java.util.StringTokenizer;public clas..

부산 3박 4일 여행 기록기

새해를 맞아, 혼자 생각하고 내재화 하는 게 부족하다고 느꼈다.행복한 기억뿐만 아니라 느꼈던 감정들을 기록화하는 것이 중요한 것을 느꼈고, 이를 새해 다짐으로 삼기로 했다. 앞으로 블로그에다가 배웠던 것과 공부하는 것, 일상들을 담으면서 글쓰기 실력도 키워볼 생각이다.  이번 12월 달에는 여행을 갔다왔는데 24일 부터 27일까지 남자친구랑 부산 여행을 갔다왔다!처음에 수서역에서 SRT를 탔어야 했는데, 짐을 아침에 부리나케 싸느라 약간 늦을 뻔 했다. 수서역으로 가는 지하철 에스컬레이터에서 무거운 짐 때문에 한번 넘어질 뻔 했는데, 주마등 처럼 삶이 스치면서 사고가 나는 상상을 하였다. 사실 여행은 늦어도 상관없지만, 기차를 놓쳐도 여러 방안이 있지만, 내가 넘어져서 혹은 내 짐때문에 누군가가 다쳤으면..

여행/국내 2025.01.05

EC2 - 배치 그룹

클러스터인스턴스를 가용영역 안에 서로 근접하게 패팅한다. 전송 지연 수준이 낮으므로, 고성능 컴퓨팅 애플리케이션에 적합하다. 분산데이터 소실 및 서비스 실패와 같은 위험을 감소 시키기 위해, 다수의 AZ를 사용하고,서로 다른 하드웨어 랙에 인스턴스를 분산 배치한다. 파티션 인스턴스를 논리적 파티션으로 분산하여, 한 파티션에 있는 인스턴스 그룹이 다른 파티션의 인스턴스 그룹과 기본 하드웨어를 공유하지 않도록 한다.

EC2 기초

온프레미스 애플리케이션을 AWS로 이전하려 합니다. 여러분의 기업에는 애플리케이션을 전용 서버에서 실행해야 한다는 엄격한 규정이 있습니다. 또한 비용 절감을 위해 전용 서버 바운드 소프트웨어 라이선스를 사용해야 합니다. 이 경우, 다음 중 어떤 EC2 구매 옵션이 적합할까요?전환 가능 예약 인스턴스 컨버터블 예약 인스턴스전용 호스트스팟 인스턴스     전용 호스트 같은 경우, Ec2 인스턴스 용량을 사용자 전용으로 제공하는 물리적 서버이다. 다른 AWS 고객과 물리적으로 격리 된다. 이는, 특정 하드웨어에 적용해야 하는 라이선스가 있는 시나리오에 유용하다. 전용 인스턴스 같은 경우, 단일 고객 전용 하드웨어의 VPC에서 실행되는 인스턴스 이다. 다른 AWS 고객과 격리된 환경에서 처리 가능하지만, 특정 ..

1. 도메인 주도 설계

도메인 모델이란? 그레디 부치는 모델을 단순하게 표현한 실제 세계라고 표현한다. 소프트웨어에서 모델은 해결해야 하는 문제를 바라보는 다양한 관심사 중 하나를 선택해서 문제를 설명하는데 필요한 것만을 표현하는 것을 말한다. 이는 관심사의 분리라는 개념과도 연관이 되는데, 관심사의 분리는 구성 요소 관 관계를 정의하는 것으로 이를 통해, 높은 응집도와 구성 요소간 낮은 결합도를 만들어 유지보수에 도움이 된다.  1.1 도메인 로직 패턴도메인 로직을 어디에 두는 것이 좋을까란 질문에서 마틴 파울러는 애플리케이션 아키텍쳐 패턴에서 도메인 로직을 구현하는 방법을 네가지로 정리했다.  1.1.1 트랜잭션 스크립트 패턴트랜잭션 스크립트는 클라이언트가 요청한 비즈니스 로직을 하나의 프로시저가 모두 처리한다. 이는 반복..

메타 데이터 락

배경 메타 데이터락을 공부하던 도중, 의문점이 들었습니다 문제의 코드입니다. 다음의 코드는 access_log의 구조를 바꾸기 위해 access_log_new를 생성하여 access_log의 데이터를 옮기고, access_log_new를 다시 access_log 로 만드는 과정입니다. 궁금증 P166의 중반부에 있는 예제에서 '트랜젝션을 autocommit으로 실행(BEGIN 이나 START TRANSACTION으로 실행하면 안됨)' 라고 적혀있는데 왜 그럴까요? start commit 을 쓰면 안되는 이유가 있을까요? 공식문서에 따르면, 트랜젝션을 시작하게 되면(start transaction..등) 기존에 있었던 UNLOCK TABLE 이 수행됩니다. 이는, 코드를 보면 중간에 commit을 통해서 ..

테스트 더블이란 무엇인가

테스트 더블, 테스트 대역 모든 유형의 비운영용 가짜 의존성을 포괄하는 용어이다. 더미, 스텁, 스파이, 목, 페이크로 나눌 수 있다. 하지만 크게 보면 크게 목(목, 스파이)과 스텁(스텁, 더미, 페이크) 로 나눌 수 있다. 목 외부로 나가는 상호작용을 모방하고 검사. 목과 스파이 목 : 검증 기능을 제공한다. 스파이 : 기능적으로 목과 같다. SUT의 간접 출력을 제공하기 위한 대역이다. 스텁 내부로 들어오는 상호작용을 모방. 스텁, 더미, 페이크는 얼마나 똑똑한지에 따라 달라진다. 더미는 SUT를 구성하거나 테스트를 실행하는 데 필요하지만, 테스트 하려는 요구사항에는 전혀 영향을 주지 않는 대역이다. Stub은 SUT의 간접 입력을 제공하기 위한 대역이다. Fake는 실제로 동작하지만, 운영 환경에..

좋은 단위 테스트의 4대 요소

페어프로그래밍을 하면서 거짓 양성, 블랙 박스, 화이트 박스… 같은 용어들이 생소했다. 그래서 단위 테스트 책을 읽으면서 해당 관련 지식을 보충하게 되었다! 단위 테스트 책 4단원에 해당 지식이 나온다. 좋은 단위 테스트의 4가지 특성 회귀 방지 리팩터링 내성 빠른 피드백 유지 보수성 회귀 방지 회귀 = 소프트웨어 버그로, 코드 수정 후 기능이 의도한 대로 동작하지 않는 경우이다. 회귀 방지는 테스트가 얼마나 버그의 존재를 잘 나타낼 수 있는지 척도를 말한다. 회귀에는 다음과 같은 요소들이 영향을 미친다. 테스트 중에 실행되는 코드의 양 실행되는 코드가 많을 수록 회귀가 나타날 가능성 많다. 코드 복잡도,코드 도메인 유의성 복잡한 비즈니스 로직이 보일러 플레이트 코드보다 중요하다. 리팩터링 내성 테스트를..