전체 글

좋은 영향력을 전파하기 위해 노력하는 엔지니어 리오입니다.
elasticsearch를 사용해야되는 상황이 생겨서 직접 실습하고 사용하기전에 elasticsearch에 대한 전체적인 구조에 대한 간단한 이해와 elasticsearch와 함께 사용되는 툴들이 어떤 것이 있고 어떤 용도로 활용되는지 이해하기 위해 글로 정리하려고 한다. 인덱스(index) VS 역인덱스(inverted index) Elastic Search는 Lucene의 역인덱스(역색인)을 활용하여 높은 검색 성능을 자랑하는데 대체 역색인이 어떤 구조를 가지고 있고 어떤 역활을 하기에 Elasticserach의 높은 검색 성능에 도움을 주는지 인덱스와 비교하여 알아보려고한다. 인덱스(Index) 인덱스부터 간단하게 설명하자면 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스의 테이블에서 특정 ..
· 일상
스타트업을 선택한 이유 일단 스타트업을 다닌 이유는 SI에서 클라이언트 개발자에서 백엔드로 이직을 하면서 네카라쿠배라는 대기업에서 일하는 경험을 하고 싶었지만 지금 당장 현실적으로는 다른 지원자에 비해 경쟁력을 가진 경험도 없었고 높은 수준의 진입장벽도 존재하기 때문에 당장 준비하기보다는 차근차근 스탭을 거쳐서 올라가겠다는 생각과 드라마 실리콘벨리를 보고 내가 몸을 담고 있는 이 스타트업이 그런 기업이 될 수 있을 것이라는 꿈을 품고 스타트업에서의 여정을 시작하게 되었다. 스타트업의 현실 내가 생각했었던 스타트업의 개발자는 위그림처럼 적어도 3~5명의 엔지니에가 뭉쳐서 밤새 같이 고민하고 개발하는 미래를 생각하고 시작했지만 현실은 단 두명의 개발자분들이 백엔드와 Ios를 담당하여 개발을 진행하고 있었다...
· devops/aws
AWS에서 VPC란? 서버를 구축하는데 있어서 중요한 것은 배포도 있지만 배포한 서비스를 외부 공격에 있어서 안전하게 설계하는 것도 중요하다. 그래서 핵심 시스템은 네트워크 망을 분리시켜서 외부에 노출되지 않도록 설계를 해야된다. AWS는 이러한 네트워크 망을 쉽게 분리시키고 관리할 수 있도록 인터페이스를 제공해준다. AWS VPC 생성 1. VPC 설정 이름 태그(선택): VPC의 이름을 지정합니다. IPv4 CIDR 블록: 우리가 흔하게 알고있는 192.168.0.1형태의 IP를 어떤 방법으로 선택할 지 고르는 항목 IPv4 CIDR 수동 입력: 10.0.0.0/24로 설정하게 되면 10.0.0.0 ~ 10.0.0.255까지 IP를 사용할 수 있다. IPAM 할당 IPv4 CIDR 블록: AWS에서 ..
· CS
도메인 주도 설계하기 도메인 주도 개발을 진행할 때 가장 먼저 진행해야되는 것은 도메인 모델과 바운디드 컨테스트를 정의하는 것이이다. 만약 개발 먼저 진행했을 때의 문제점을 아래와 같은 문제점이 발생할 수 있다. 아래와 같은 문제점을 발생하지 않기 위해서는 개발을 먼저 진행하기 전에 도메인 전문가와 함께 설계를 같이 진행해야 한다. 도메인 이해 부족: DDD는 모두가 같은 수준의 도메인 지식을 가지는 것을 추구하고 통일된 유비쿼터스 언어를 사용하여 소통하는 것을 지향한다. 개발을 먼저 시작하면 같이 일하는 팀원 모두가 도메인에 대한 충분한 이해가 부족할 수 있다. 유지보수성 감소: 팀원 모두가 각각 다른 도메인 모델을 개발하면서 서로 간의 간극이 커지고 코드의 유지보수성이 감소하게 된다. 이는 시간이 지..
· devops/aws
ECR 이란? 아마존에서 설명하는 ECR Amazon Elastic Container Registry(Amazon ECR)는 안전하고 확장 가능하고 신뢰할 수 있는 AWS 관리형 컨테이너 이미지 레지스트리 서비스입니다. Amazon ECR은 AWS IAM을 사용하여 리소스 기반 권한을 가진 프라이빗 리포지토리를 지원합니다. 따라서 지정된 사용자 또는 Amazon EC2 인스턴스가 컨테이너 리포지토리 및 이미지에 액세스할 수 있습니다. 원하는 CLI를 사용하여 도커 이미지, Open Container Initiative(OCI) 이미지 및 OCI 호환 아티팩트를 푸시, 풀 및 관리할 수 있습니다. 한마디로 도커 허브와 같은 컨테이너의 이미지를 관리하는 레지스트리 서비스 이다. 거기에 추가적으로 IAM(AW..
배포된 서비스에서 특정 API가 리다이렉트되고 난 뒤 401 에러가 발생하면서 문제를 일으키게 되었다. 해당 문제에 대해 원인은 발견하고 해결 했지만 무슨 이유로 생기는지 어떻게 해결해야되는지 정리하면 좋을 것 같아서 정리하게 되었다. 문제가 되었던 컨트롤러 @GetMapping("") public void hello(HttpServletRequest request, HttpServletResponse response) throws IOException { String nickname = "riospring"; logging(request); response.sendRedirect("/api/v1/user/" + nickname); } 내가 원했던 API 통신 path variable을 입력하지 않았을 ..
ri5
리오의 개발일지