에세이 작성기본적으로 자기소개서가 많은 내용을 요구하지는 않았다. 기업 채용에서 4000자를 쓰는 자기소개서가 많아서 그런지 1문항, 500자 자기소개서는 적게 느껴졌다. 다시 생각해보면 글의 방향을 잘못 정했는데, 그때 당시는 IT 기업에서 원할 법한 답과 기술적인 내용을 적었던 것 같다. 이미 붙은 와중에 생각하는 거지만, 다시 작성한다면 온라인 설명회 내용을 토대로 나에게 왜 싸피가 필요한지와 무엇을 배우고 싶은지를 중점으로 적을 것 같다.코딩 테스트이때 당시에 5월 말까지 해야하는 졸업 프로젝트와 코딩테스트 기간이 겹치면서 많은 준비를 하지 못했다. D1, D2, D3 각 한 문제씩 풀고 테스트를 치뤘다. 타 후기 보면 시간 남았다는 사람도 있었는데 본인은 한 문제에서 삽질을 심하게 하여 마감 1..
문제도현이의 집 N개가 수직선 위에 있다. 각각의 집의 좌표는 x1, ..., xN이고, 집 여러개가 같은 좌표를 가지는 일은 없다.도현이는 언제 어디서나 와이파이를 즐기기 위해서 집에 공유기 C개를 설치하려고 한다. 최대한 많은 곳에서 와이파이를 사용하려고 하기 때문에, 한 집에는 공유기를 하나만 설치할 수 있고, 가장 인접한 두 공유기 사이의 거리를 가능한 크게 하여 설치하려고 한다.C개의 공유기를 N개의 집에 적당히 설치해서, 가장 인접한 두 공유기 사이의 거리를 최대로 하는 프로그램을 작성하시오. 입력첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi ..
발생하는 문제문제 찾기 현재 가상서버(Ubuntu 20.04)에 Elasticsearch DB가 작동되게끔 docker를 통해 컨테이너를 실행중입니다. 타 서버에 돌아가는프로젝트에서 Elasticsearch 관련 API 호출시 첫 호출이 오류로 돌아오거나 상당한 시간이 소요되는 문제점이 있었습니다.발견된 문제점기존 Ubuntu 18.04 버전에서는 확인되지 않았던 문제였지만 20.04 버전은 서버 구성 시 일정 시간이 지나면 네트워크 인터페이스까지 대기모드로 들어가는 현상이 발생합니다.해결 방안대기 모드와 관련된 서비스 유닛을 비활성화하는 대신에 'mask' 명령을 사용하여 변경하는 것으로 문제를 해결했습니다. 이를 위해 다음과 같은 단계를 수행했습니다.'mask' 명령을 사용하여 대기 모드 관련 서비스..
왜 Testcontainer를 사용하는가?Spring DB 테스트 Rollback 원리Spring에서는 테스트 코드 작성을 위해 @Test 어노테이션과 @Transactional 어노테이션을 함께 사용하면 기본적으로 롤백이 활성화됩니다. 이는 테스트가 실행된 후 변경된 데이터가 실제 데이터베이스에 영향을 미치지 않도록 보장하는 것입니다. NoSql 테스트 NoSQL 데이터베이스를 사용할 때는 이러한 접근 방식이 다소 복잡해질 수 있습니다.NoSQL 데이터베이스는 일반적으로 ACID 트랜잭션을 지원하지 않거나, 관계형 데이터베이스와는 다르게 구현됩니다. 따라서 Spring의 트랜잭션 처리 메커니즘을 NoSQL 데이터베이스에 적용하는 것은 번거롭습니다.NoSQL 데이터베이스를 사용하는 경우에는 다음과 같은 ..
간략 소개Postman은 API를 테스트하고 디버그하는 데 유용한 강력한 도구입니다. 그러나 로그인 세션을 유지해야 하는 경우, 특히 세션 정보를 다른 API 요청에도 적용해야 할 때가 있습니다. 이 글에서는 Postman을 사용하여 로그인 세션을 유지하고 다른 API를 테스트하는 방법에 대해 알아보겠습니다. 흐름로그인 요청 보내기: Postman을 사용하여 로그인 API에 요청을 보냅니다. 사용자 인증이 성공하면 서버로부터 세션 ID를 받습니다. 인증 정보 저장: 받은 인증 정보를 Postman의 환경 변수나 글로벌 변수에 저장합니다. 주로 헤더나 쿠키에 저장하여 세션을 유지합니다.다른 API 요청 시 인증 정보 사용: 다른 API를 테스트할 때, 저장된 세션 정보를 사용하여 요청합니다. Postman..
필요성교내 프로젝트 진행시에 금전적인 문제로 최종 배포 전에 테스트 단계에서는 AWS ec2 t2.medium 단계를 사용하여 Elasticsearch DB 서버를 구축해야 했습니다. 이 과정에서 DB의 노드 개수와 메모리 할당 크기를 결정해야 했습니다.과정 Docker를 이용하여 Elasticsearch를 구축했기 때문에 Docker compose.yml 파일과 설정 파일 .env 파일을 수정하여 테스트를 진행했습니다. 테스트를 진행할 때는 top 명령어를 이용하여 서버의 메모리 할당 상태를 모니터링하고, 동시에 Docker Elasticsearch 노드의 로그를 분석하여 테스트를 진행했습니다. 이를 통해 각 단계에서의 메모리 사용량과 서버의 상태를 확인하고 최적의 구성을 찾았습니다테스트 과정 및 ..
과거 Spring에서의 BoolQuery사용기존에는 AbstractElasticsearchConfiguration을 통해 Elasticsearch 설정을 처리해주고 elasticsearch.core.query 안의 관련 항목들을 통해 복잡한 쿼리문을 진행했던 것과 달리, Spring 3.* 및 Elasticsearch 8.* 버전에서는 많은 변경 사항이 있습니다. 이러한 변경 사항은 Elasticsearch와 Spring Data Elasticsearch 라이브러리의 최신 업데이트로 인해 발생했습니다. 이 글에서는 이러한 변경 사항에 대해 자세히 알아보고, 새로운 버전에서 Elasticsearch를 설정하는 방법과 주요 기능을 살펴보겠습니다."복잡하지 않은 쿼리문동적이지 않은 쿼리가 필요할때는 Elast..
문제, 제약 조건 참고https://softeer.ai/app/assessment/index.html?xid=102028&xsrfToken=9bwXqOhPN1B0nuaGBcczAKTp5pyrNhl3&testType=practice Candidate | Softeer Assessment UI softeer.ai풀이강의실 이름을 받을 배열 하나 생성 후 값을 입력받고 Arrays.sort()를 이용하여 정렬해준다각 강의실 String key값에 알맞은 빈강의실 시간 체크용 boolean[] value값을 만들어준다.(HashMap(그림 1참고)각 테스트 케이스가 들어오면 해당 강의실 이름을 hashmap.get(강의실 이름)을 줘서 해당 시간대를 가져온다. 이후에 강의시간으로 사용하는 시간을 true로 변경..
전체적인 흐름S3 티어 선택 후 S3 버킷 생성액세스 권한을 얻기 위한 IAM 생성스프링 빈에 AWS S3 등록Image API 구현 및 테스트S3 티어 선택 및 S3 버킷 생성S3 티어(스토리지 클래스)어떤 종류의 데이터를 관리하는지, 얼마나 자주 그 데이터에 접근해야하는지에 따라 분류, 사용자는 그에 맞는 티어를 선택Standard가장 보편적으로 사용되는 스토리지 타입IA자주 접근되지는 않으나 접근시 빠른 접근, standard보다 비용은 저렴하나 데이터를 불러올때마다 추가 비용One Zone IAIA와 같지만 하나의 AZ에만 데이터 저장 → 가용영역 문제 생길경우 데이터가 날라갈수도 있음Intelligent Tiering머신러능을 통한 자동으로 파일의 티어를 변경하는 서비스 ex. 접근 많으면 스탠..
Validationhttps://spring.io/guides/gs/validating-form-input Getting Started | Validating Form InputThe application involves validating a user’s name and age, so you first need to create a class that backs the form used to create a person. The following listing (from src/main/java/com/example/validatingforminput/PersonForm.java) shows how to do so: pacspring.io특정 메서드나 파타미터에 사용되어 해당 객체가 유효성 검샅를 통과..