본문 바로가기
VMware ESXi 물리적 서버에 VMware로 가상머신을 생성할 일이 생겼다.해당 서버에는 ESXi Host Client가 설치되어 있고, 이를 사용하여 생성하기 전에 정확히 어떤 것인지 몰라 확인하게 되었다. VMware란?가상 머신을 만드는 소프트웨어다. 가상화 소프트웨어가 있기 전에는 컴퓨터 한 대 당 하나의 운영체제만 설치할 수 있었다. Pros,VMware를 사용하면 하나의 컴퓨터에 여러 운영체제를 동시에 띄울 수 있다.이외에, 가상머신이 망가지는 것은 내 컴퓨터에 영향이 없어 테스트나 개발 등에 활용할 수 있고 스냅샷 기능의 장점이 있다. Cons,내 컴퓨터의 자원을 나눠 쓰므로 컴퓨터 성능에 따라 가상 컴퓨터 성능 또한 달라진다. 그럼 VMware ESXi는 뭘까?서버 가상화를 위한 하이퍼바이저다.하이퍼 .. 2025. 4. 30.
API | Parameter for Multiple Values 오늘 업무를 하면서 API 요구사항과 관련해 고민했던 내용이다.요구사항기존에 구현한 API는 long 타입의 id 값을 받도록 되어있었는데,한번에 여러 id에 대한 데이터를 갱신할 수 있도록 하는 요구사항이 들어왔다. 그래서 아래 둘 중에 무엇이 좋을지 고민했다.1) 기존 id 파라미터를 확장: 타입을 long 또는 배열 타입으로 허용2) 신규 파라미터 ids 생성: 배열 타입으로 여러 값을 처리하도록 제공 결론은 2번이었다. 이유는, 파라미터를 보고 타입을 구분할 수 있도록 명확성을 주기 위해서이고 이미 1번으로 작업된 상태에서 추가 요구사항이기 때문에, 최소한의 변경으로 가는것이 맞다 판단하였다. 현재 Spring으로 구축된 백앤드는 아니지만,Spring 사용시 Spring의 어노테이션을 통해 .. 2025. 4. 1.
Algorithm | Two Pointers 다음과 같은 문제는 모든 경우의 수를 구하여 풀 수 있다. 하지만 단순 이중 루프 구현으로는 시간 복잡도가 O(N^2)이라 비효율적이다.  n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i i, aj)쌍의 수를 구하는 프로그램을 작성하시오.출처: https://www.acmicpc.net/problem/3273 어떻게 개선할까? 방법은 투 포인터를 이용하는 것이다.투 포인터는 정렬된 배열에 적합한 방식으로, 포인터를 양 끝에 배치하여 target과 비교하며 조정하는 것이다. left와 right이 같아질 때까지 아래 과정을 반복1) t.. 2025. 2. 18.
Email 일을 하며 정말 많은 메일을 작성하였다. 메일도 어떻게 쓰느냐에 따라서 두 사람간의 이해도가 일치하거나 혹은 반대로 더 많은 의사소통을 불러오게 된다. 그동안은 따로 메모 없이 휘발하였는데, 계속 인지하며 업무하기 위해 작성해본다.   이전 메일에 여러 안건들이 나와 답변으로 안건들을 다룰 때, 숫자가 아닌 참조 문장을 달자. 예를 들어 이렇다. 1) a 안건2) b 안건에 대해 진행합시다.  이에 대한 답으로 아래 두 경우를 생각해본다면, res1) 네 1번은 문제없으며, 2번에 대해서는 확인이 필요합니다.res2)   1) a 안건 => 문제없습니다.  2) b 안건 => 확인 필요하여 검토 후 공유드리겠습니다.  에 대해 진행합시다.  res2가 시간이 지난 후에 봐도 이전 메일을 일일이 확인할 필.. 2025. 2. 11.
Apache Zookeeper - Maintenance (Logs and Snapshot) 현재 업무에서 오픈소스 검색 플랫폼인 Solr를 사용하여 인덱싱에 활용하고 있다. 항상 사용할 컬렉션 몇 가지가 있어, 쥬키퍼가 관리하는 데이터 폴더를 활용하여 초기 데이터를 세팅해주고 있었다. 그런데 Solr가 설치 되지 않은 환경에 최초 구동시, 원하는대로 컬렉션이 세팅되지 않는 이슈가 있었다.   쥬키퍼가 데이터를 관리하는 방법은 다음과 같다. 1. transaction logs쥬키퍼 노드에 변경 사항이 있을 때마다 트랜잭션 로그에 추가한다.2. snapshot로그가 커지는 경우 모든 노드의 스냅샷이 기록되고 미래 트랜잭션을 위한 새 트랜잭션 로그 파일이 생성된다.스냅샷을 만드는 동안의 신규 트랜잭션은 이전 로그 파일에 계속하여 추가된다. 따라서, 스냅샷보다 최신의 일부 트랜잭션은 스냅샷 직전의 마.. 2025. 1. 31.
Baekjoon | 가장 긴 바이토닉 부분 수열 https://www.acmicpc.net/problem/11054 문제 바이토닉 수열: 수열 S가 어떤 수 Sk를 기준으로 S1 2 k-1 k > Sk+1 > ... SN-1 > SN을 만족하는 경우수열 A가 주어졌을 때, 그 수열의 부분 수열 중 바이토닉 수열이면서 가장 긴 수열의 길이를 구하기문제 해결 방법이 문제는 지난번에 LIS 문제를 푼 기억을 가지고 접근했다.처음에는 LIS를 구하여 max 값을 가지는 인덱스를 기준으로, 마지막 인덱스부터 가장 긴 증가하는 수열을 구하였다. 그러나 아래 풀이 중 ! 와 같이 위 풀이는 모든 경우를 해결 할 수 없다.결국 각 인덱스 별로 LIS + LDS를 구하는 것이 핵심으로, 더한 값에서 중복된 인덱스 1(LIS 한번 + LDS 한번 = 2)을 감소시키면 .. 2024. 11. 28.