분류 전체보기

💋 인트로 우테코에서는 매 레벨이 끝날 때마다 레벨 인터뷰를 진행한다. 일종의 모의면접 이번 레벨에서는 각 팀이 서비스 구현을 끝냈기 때문에 해당 서비스를 만드는 동안 생겼던 이슈들을 바탕으로 레벨인터뷰 질문지를 구성하고 진행했다. 내 질문은 미리 작성해둔 레벨로그를 바탕으로 크루들이 해줬으며, 이후에 인터뷰어, 옵저버에게 피드백을 받았다. 이번 포스팅에서는 네이버 클로버노트를 통해 정리한 실제 대화 스크립트와 받았던 피드백을 정리해 보려고 한다. 실제 면접 상황에서 이렇게 대답한다면 어떨지 나중에 또 읽어봐야겠다...ㅋㅋ 💋 실제 대화 스크립트 2023.08.29 화 오후 2:30 ・ 28분 48초 인터뷰어(토리) 01:28 안녕하세요. 간단한 자기소개와 서비스 소개 한 번만 부탁드립니다. 깃짱 01:..
⭐ 레벨3 인터뷰를 준비하며 레벨3은 그간 레벨1, 레벨2와 다르게 팀프로젝트로 진행되었다. 그간은 좀 강의나 책 내용을 학습하면서 작은 프로젝트에 적용하면서 공부했기 때문에 먼저 개념을 배우고 예제를 풀어나간 느낌이었다면, 레벨3는 프로젝트를 진행하면서 해당 프로젝트에서 적용해야 할 문제점을 위해서 공부를 했달까..? 더 당장에 필요한 내용을 공부했기 때문에 와닿았던 것 같다. 💋 서비스 기획 ✔서비스 기획의 중심점은 페인 포인트 팀원들의 모든 상상과 욕심이 합쳐져서 매우 어려운 요구사항이 도출됨. 우리 팀이 마주한 고객의 페인포인트는, 카페 사장 측의 '개성', 그리고 카페 이용 고객의 '편리'에 대한 부분이었음. 카페 사장의 개성을 구현하기 위한 자유도를 꽤나 과감히 포기하면서 본격적으로 기능 구..
· Spring/JPA
프로젝트를 진행하던 도중, 우리 팀은 모든 데이터를 soft delete하기로 했다. 먼저 Soft Delete, Hard Delete의 차이점부터 간단히 짚고 넘어가보자! 💋 Soft Delete VS Hard Delete ✔ Soft Delete 논리적 삭제 데이터를 실제로 삭제하지 않고, 삭제 플래그를 설정하여 삭제된 것으로 표시하는 방법 데이터는 시스템에서 더 이상 사용되지 않지만, 필요한 경우 되돌릴 수 있다. 공간 절약과 데이터 관리의 편의성을 위해 유용하지만, 복구가 불가능하므로 신중하게 사용해야 한다. 데이터 보존을 위해 유용하며, 실수로 삭제된 데이터를 복구할 수 있는 장점이 있다. 삭제된 데이터를 유지하려면 추가적인 저장 공간이 필요하고, 데이터베이스 쿼리에 삭제 여부를 고려해야 할 수..
· DevOps
💋 인트로 이 포스팅은 우아한테크코스5기 깃짱이 코치 토미의 강의를 듣고 작성했습니다. 해당 글을 읽기 전에, 아래 포스팅을 먼저 읽는 것이 이해에 도움이 될 것 같다! [Infrastructure] 무중단 배포 시 고려사항: 서비스 장애를 막기 위한 백엔드 개발자의 눈물나는 노력쿠 [Infrastructure] 무중단 배포 시 고려사항: 서비스 장애를 막기 위한 백엔드 개발자의 눈물나는 노력 💋 인트로 이 포스팅은 우아한테크코스5기 깃짱이 코치 토미의 강의를 듣고 작성했습니다. 💋 서비스 장애 서비스의 장애는 언제 발생할까? 새로운 기능을 만들어서 코드에 변경사항이 있을 engineerinsight.tistory.com 💋 서비스 장애가 발생한다. 대규모 서비스를 운영하다 보면, 코드를 병합하기 전에 ..
💋 인트로 이번 포스팅에서는 몇백만 사용자를 지원하는 시스템에서 규모 확장성과 관련된 설계 문제들을 정리해볼 것이다. 해당 내용은 가상 면접 사례로 배우는 대규모 시스템 설계 기초를 읽고 키워드를 얻어 정리한 내용이다. 지난 포스팅에 이어서 현재 인프라를 더욱 더 개선해볼 것이다. 이제는 응답 시간을 개선할 것이다. 응답 시간은 캐시를 붙이고, 정적 컨텐츠를 컨텐츠 전송 네트워크로 옮기면 개선할 수 있다. 💋 캐시 값비싼 연산결과 또는 자주 참조하는 데이터를 데이터베이스가 아닌 메모리에 두고, 요청이 빨리 처리될 수 있도록 하는 저장소 데이터베이스를 호출하는 횟수가 줄어들어서 애플리케이션의 성능 향상 참고: https://aws.amazon.com/ko/caching/ ✔ 캐시 계층 데이터가 잠시 보관되..
· DevOps
💋 SPOF (Single Point of Failure) 시스템 구성 요소 중에서, 동작하지 않으면 전체 시스템이 중단되는 요소 시스템 신뢰성과 가용성을 평가하는 데 중요한 역할을 함. 예) 이더넷 케이블과 전원, 이더넷 허브(HUB), 접속 단말들의 NIC(Network Interface Card) 등으로 이루어진 간단한 이더넷(Ethernet) 네트워크 시스템에 있어서 네트워크 허브(HUB) 장치의 전원은 SPOF임. 허브의 전원이 차단됨과 동시에 나머지 모든 요소들은 네트워크를 사용할 수 없기 때문 높은 가용성을 추구하는 네트워크, 소프트웨어 애플리케이션, 상용 시스템에 단일 장애점이 있는 것은 바람직하지 않음. 단일 고장점, 단일 실패점이라고도 함. 잠재적인 단일 장애점을 평가함으로써, 복잡한 ..
· DevOps/AWS
💋 인트로 23.06.03 AWS 컨퍼런스에서 강의를 듣고 강의 내용을 기반으로 작성한 글입니다. 💋 AWS AWS는 세계적으로 많이 사용되고 있는 클라우드 서비스이다. 내 눈 앞에 존재하는 핸드폰, 노트북이 아니지만, 인터넷이 있다면 언제 어디서든 클라우드에 접속해 데이터를 보낼 수도 받아올 수도 있다. 구름처럼 늘 하늘 위에 떠있고, 언제나 쳐다볼 수 있어서 클라우드라고 부르기도 한다. AWS는 다양한 기능이 존재하고, 최적화되어 있어 많은 사람들이 편리하게 사용하고 있다. 진입장벽이 조금 높다고 느껴질 수도 있겠지만 기술을 천천히 익히다 보면 편리하게 서비스를 사용할 수 있게 된다. 이번 포스팅에서는 EC2와 RDS에 대해서 소개하려고 한다. 💋 EC2 Amazon Elastic Compute C..
💋 인트로 이번 포스팅에서는 몇백만 사용자를 지원하는 시스템에서 규모 확장성과 관련된 설계 문제들을 정리해볼 것이다. 해당 내용은 가상 면접 사례로 배우는 대규모 시스템 설계 기초를 읽고 정리한 내용이다. 단일 서버에서 모든 트래픽 처리와 데이터베이스를 겸용하는 설계에서 시작한다. 이후에 하나씩 인프라를 개선해나가는 절차를 보여줄 것이다. 💋 단일 서버일 때 사용자는 DNS 서버를 통해서 접속하고자 하는 도메인 이름을 IP 주소로 변환해 웹 서버의 주소를 알아낸다. 해당 IP 주소로 요청을 보내고 응답을 받음. 💋 데이터베이스 서버와 트래픽 처리 서버를 분리한다 웹/모바일 트래픽 처리 서버(웹 계층), 데이터베이스 서버(데이터 계층)를 분리한다. 각각 독립적으로 확장해나갈 수 있게 된다. ✔ 어떤 ..
· TIL/2023
💋 오늘 공부한 내용 ERD 테이블 구조를 만들었다. 근데 우리팀 테이블 진짜 많다...ㅋㅋ 우리팀 드디어 main 브랜치에 합쳤는데, commit 메세지 쭉 보니깐 정말....ㄷㄷ 눙물.. 우리의 피땀눈물 기존에 사용하던 서버에 도메인도 사서 붙여놓고 등등 많은 공을 들여서, 그걸 prod 서버로 사용하기로 하고, 새로 dev 서버를 만들었다. 우리팀 배포 스크립트를 넣어놓고, jar 파일 실행 시에 프로필은 dev로 설정했다. 명령어도 안 쳐질 정도로 느려져서 보니깐,,, 메모리가 거의 다 쓴 상태... 진짜 인스턴스 죽기 직전에 발견했다... 일단 아쉬운대로 swap memory라도 할당했다. 💋 감정 회고 내일이면 레벨3까지 끝이라니.. 말도안돼 💋 오늘의 포스팅
· TIL/2023
💋 오늘 공부한 내용 오늘 제나랑 같이 OAuth 구현을 마무리했다. 할일 목록 가운데 필수적인 것들은 마무리했는데, 아직 리팩터링이 미흡.. 근데 레벨3 기간 안에 할 시간이 있을지는 잘 모르겠다 백엔드 4인방이 열심히 멀티 쓰레드로 돌리고 있는데, 나름 오늘은 다들 성과가 있는 것 같아서 기분이 좋다. OAuth 카카오 소셜 로그인을 구현했는데, 주는 정보가 필수는 닉네임 딱 하나라서.. (당황) 전화번호가 필수인 우리 비즈니스 로직상 전화번호를 별도로 입력받아야만 한다. 따라서 전화번호 조회 및 저장 API를 새로 만들기로 했다. 호다닥 저녁 먹고나서 만들었음... CICD에 조금 문제가 생겨서, 팀원 모두가 수동 배포를 할 수 있도록 스크립트를 작성했다. 💋 감정 회고 광복절, 그리고 월요일 샌드..
깃짱
'분류 전체보기' 카테고리의 글 목록 (21 Page)