일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- devops
- jwt-java
- C++
- Spring
- OpenSource
- prometeus
- fosslight
- umc
- monitoring
- konga
- 메소드
- metricbeat
- roll over
- supabase
- 화자분리
- java
- API Gateway
- elastic search
- pyannote
- curl
- mybatis
- 자료구조
- 파이썬
- 하이브리드 데이터 모델
- kong
- template/callback
- DI
- Nice
- ELK
- docker
- Today
- Total
목록전체 글 (160)
youngseo's TECH blog

https://youngseo-computerblog.tistory.com/158 에 이어지는 글입니다.트러블 슈팅Elastic Beanstalk을 사용하다 여러 문제 상황에 부딪히면 어디에서 발생하는 문제인지 찾기가 너무 어렵다.. 우선 AWS에서 친절하게 Elastic Beanstalk 내부 작동과정을 설명해주지 않을 뿐더러 에러 로그에 대한 해결방법 내용이 잘 나와있지 않다 🥲그래도,, 용을 쓰고 EC2를 뜯어보고, eb-engine.log를 참조하며 해결할 수 있었다. 1. 환경변수 를 못 읽는 문제Failed to parse the host:port pair '${RDS_HOSTNAME}:${RDS_PORT}'ElasticBeanstalk으로 RDS를 연동할 경우 자동으로 연동된 RDS의 H..

Lost Update 문제Tomcat(Java/SpringBoot)와 같은 멀티쓰레드 환경에서 트랜잭션 격리 수준으로 온전히 해결되지 않는 동시성 문제가 있다. 바로 Lost Update 현상이다. 아래 예시를 살펴보자. A 트랜잭션이 data를 0으로 읽었고, B 트랜잭션이 끼어들어 data를 0으로 읽었다. (잘못 읽었음에도) A는 +1 연산을 수행하고 B 또한 +1 연산을 수행한다. 최종적으로 원한 값은 2였으나 Update 하나를 잃어버려 +1의 결과값을 갖게 되었다.결론부터 말하면, 이 문제를 해결하기 위해 DB Lock 을 사용할 수 있다.문제가 되는 코드아래는 Member가 WishList를 추가하는 과정에서 Portfolio에 wishListCount 필드를 +1 해주는 과정이다.우선 요청..

모두가 알다시피 인증 기능 구현은 매우 무겁다 😬현재 진행 중인 프로젝트는 모바일 기반 플랫폼 서비스로, OAuth2.0를 사용한 카카오, 구글, 애플 로그인을 구현하는 것을 목표로 하고 있다. 그러나 소셜 로그인 기능의 경우 메인로직이 아닐 뿐더러, 유저 입장에서 거부감도 심하게 들 것이고, 우리 팀도 OAuth2.0를 모두 이해해 구현하기에는 2주 정도의 시간이 허비될 것 같아 간단히 유저만 구분할 수 있는 로직으로 1차 배포를 진행하기로 하였다.SpringSecurity 를 사용한 이유SpringSecurity는 Springboot로 들어오는 Request/Response와, 실질적인 CRUD를 처리하는 DispatcherServlet 사이의 Filter chain 형태로 이루어져 있다. (Req..

S3S3는 AWS에서 가장 처음 런칭한 프로젝트라고 한다. 이미지 저장소로 잘 알고 있는 이 S3, Simple Storage Service에 이미지 저장소를 만들어보자.S3 Object의 구성요소Key - 파일의 고유 식별자로, bucket/test/example.png와 같은 고유한 파일 경로를 의미한다.Value - 파일의 내용(예: 이미지 바이너리 데이터, 텍스트 데이터)Version ID - 파일의 버전 아이디로, 같은 파일명이나 다른 버전으로 올리고 싶을 때 사용한다. 이를 통해 롤백 가능!Metadata - 데이터의 데이터라고도 불리는, 파일의 정보를 담은 데이터를 의미한다.(예. 최종 수정일, 파일 타입)CORS(Cross Origin Resource Sharing) - 한 버킷의 파일을 ..

프로젝트를 본격적으로 수행하기 전에 CI/CD를 미리 구축해 놓기로 하였다. 🙌CI/CDCI/CD는 지속적 통합/배포 환경을 뜻한다. 여러 명의 개발자가 함께 작업하는 과정에서 꼭 필요한 작업이다. CI를 통해 코드를 지속적으로 통합(PR 후 merge 과정으로 이해해도 좋음)할 때 이를 자동으로 테스트하여 충돌이나 버그를 최소화할 수 있으며, CD를 통해 지속적으로 통합된 코드를 자동으로 프로덕션 환경에 배포할 수 있다.무중단 배포CD 과정에서 무중단 배포가 존재하지 않는다면 이 세상 서비스들은 모두 업데이트 시 사용자를 blocking해야 하는 불상사가 일어날 것이다!! 이를 막기 위해 무중단 배포가 필요하다.간단하게 무중단 배포 방식을 알아보자.Rolling 배포 구버전에서 신버전으로 점진적으로 ..

전체적인 후기실무적인 부분에 대해서 엿볼 수 있다.아키텍처 설명이 비교적 얕아서 해석이 어렵지 않다.구현 툴(예를 들면 RDBMS vs NoSQL) 을 선택하는 기준에 대한 기술이 잘 되어있다.CS적인 해결방식을 많이 엿볼 수 있다. 여러 해결과정들이 어디서 들어본 느낌이 계속 든다. 이것이 CS 의 중요성..?? 돌고도는 CS..어떻게 활용하면 좋을까?요즘 면접 질문들이 더욱 현업과 관련해서 많이 물어보는 게 느껴진다. 아키텍처에 관심이 많다면 이번 기회에 여러 기술을 살펴보고, 기억해두었다가 이후에 적용할 때 써보면 좋을 것 같다.문제 해결의 방향성을 컴퓨터 공학적으로 풀어 나가고 싶다면 추천! 경쟁력이 생길 것이다.기억에 남는 내용들블룸필터라고 들어봤는가..?특정 원소가 집합에 속하는지 검사하는데..

Template 메소드 패턴과 Callback 패턴에 대해 우선 따로따로 이해해보는 게 좋겠다 ! (이론 -> 구현 내용 순으로 구성하였습니다.)이론Template 메소드 패턴(문제 상황) 핵심 기능 & 부가 기능이 모조리 섞여 있는 문제 (해결 방법) 변하는 것과 변하지 않는 것(반복되는 코드)을 분리하겠다 !-> 상속으로 푼다.이론보다 , 코드 샘플로 이해해보자!AbstractTemplate (변하지 않는 부분, 반복되는 부분)이 부분이 바로 Template, 우리가 아는 파워포인트 템플릿과 비슷하게 변하지 않는, 반복되는 부분에 해당한다.package hello.advanced.trace.template.code;import lombok.extern.slf4j.Slf4j; @Slf4jpublic a..

❆ 문제 시 삭제하겠습니다. 개요 대충 이렇게 풀어봤다.. 네이버 2024 코딩테스트 전형 3.18 까지 서류를 작성해서 제출한 이후 3.22 에 코딩테스트를 보게 되었다. 총 3문제를 2시간동안 풀어야 하고, 따로 해설이나 기출문제는 제공해주지 않는다. ❆ 제가 풀이한 내용을 바탕으로 정리하였습니다. 풀이가 정해가 아닐 수 있습니다. ❆ 자세한 문제 지문은 생략하였습니다. 1번 문제 - 자료구조 + 누적합 우선 누적합으로 각 식물의 상황들을 전체적으로 구현해볼 생각이었으나 누적합 2차원 배열을 만들 경우 시간초과 문제로 택도 없었다. 따라서 자료구조를 사용했다. {식물 num: 해당 식물에게 물을 주는 날짜들} 예를 들면 {1:[1, 3, 6, 19]} 로 식물에게 물을 주는 날짜들을 딕셔너리 형태로 ..