일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- eventloop
- architecture
- 객체지향
- V8
- Redis
- Single Thread
- Developer
- 싱글스레드
- node.js
- OOP
- TypeScript
- AWS
- 레디스
- 경력채용
- 백엔드
- acid
- 면접
- 트랜잭션
- roadmap
- Transaction
- 아키텍처
- solid
- JavaScript
- 개발자
- 데이터베이스
- PostgreSQL
- 컨퍼런스
- promise
- NoSQL
- Database
- Today
- Total
목록전체 글 (32)
devlog.akasai
Promise.allSettled() | devlog.akasai Promise.allSettled함수는 iterator의 모든 Promise함수들의 결과가 처리( 또는 )될 때까지 대기한 뒤 결과를 반환하는 함수입니다. 이와 관련된 내용을 알아보려 합니다. Promise.all… akasai.space Promise.allSettled함수는 iterator의 모든 Promise함수들의 결과가 처리(fulfilled 또는 rejected)될 때까지 대기한 뒤 결과를 반환하는 함수입니다. 이와 관련된 내용을 알아보려 합니다. Promise.all은 여러개의 PromiseLike함수들을 병렬로 실행하여 효율성을 높여주는 함수로 많이 사용되고 있습니다. iterator형태의 매개변수를 받고 배열형태의 결과값을..
상반기에 진행했던 이직경험을 공유해보려고 합니다. 시간이 꽤 지났지만 크게 문제 되지 않는 정도만 적어보겠습니다. 직방 부동산 서비스 백엔드 개발 파트에 지원하였습니다. 전형 방법 서류전형 → 코딩 테스트 → 알고리즘 테스트 → 1차 면접 → 2차 면접 → 임원 면접 서류전형 직방 채용 사이트에서 채용공고 확인 후 지원하게 되었습니다. 따로 양식이 있진 않고 개인 이력서를 첨부하는 식이었습니다. 지금까지 진행했던 프로젝트를 기반의 이력서를 작성하였습니다. 2주일 전후로 결과 메일을 받았습니다. 향후 진행될 코딩 테스트에 대한 일정이 안내되었습니다. 코딩 테스트 처음 전형 방법을 확인했을 때 테스트가 2개여서 약간 거부감이 있었습니다. 첫 테스트가 코딩테스트라고 나와 있었지만 흔히 알고 있는 코딩테스트는 ..
VPC란? | devlog.akasai AWS기반의 클라우드 환경을 사용하면 자연스럽게 사용하게 되는 리소스가 바로 VPC입니다. 전반적인 구성요소에 대한 개념을 간단하게 알아봤습니다. VPC (Virtual Private Cloud) 논리적으로 격리된 네 akasai.space AWS기반의 클라우드 환경을 사용하면 자연스럽게 사용하게 되는 리소스가 바로 VPC입니다. 전반적인 구성요소에 대한 개념을 간단하게 알아봤습니다. VPC (Virtual Private Cloud) 논리적으로 격리된 네트워크를 의미합니다. 완전히 독립적인 네트워크로서 실제로 같은 네트워크상에 존재하지만, 논리적으로 다른 네트워크인 것처럼 동작합니다. 이름과 IPv4 CIDR 블록으로 구성되어 있으며, 사설 아이피 대역에 맞추어 구..
Web Server와 WAS | devlog.akasai 자주 헷갈리는 개념인 Web Server와 WAS의 차이점을 알아보았습니다. Web Server Server의 문지기 Http요청이 들어오면 WAS로부터 해석된 HTML문서와 같은 웹페이지를 반환하는 역할을 합니다. 주로 정적(Sta akasai.space 자주 헷갈리는 개념인 Web Server와 WAS의 차이점을 알아보았습니다. Web Server Server의 문지기 Http요청이 들어오면 WAS로부터 해석된 HTML문서와 같은 웹페이지를 반환하는 역할을 합니다. 주로 정적(Static)인 데이터를 처리합니다. 종류 Apache, IIS, NginX 관점 웹서버는 관점에 따라 다르게 해석될 수 있습니다. H/W 측면: 실제 물리적인 서버 장비..
DB의 Index | devlog.akasai 인덱스를 간단하게 살펴보고 클러스터 인덱스와 넌 클러스터 인덱스를 알아보았습니다. Index란? 추가적인 쓰기와 저장공간을 사용하여 Database 테이블의 검색속도를 높여주는 자료구조입니다. CU akasai.space 인덱스를 간단하게 살펴보고 클러스터 인덱스와 넌 클러스터 인덱스를 알아보았습니다. Index란? 추가적인 쓰기와 저장공간을 사용하여 Database 테이블의 검색속도를 높여주는 자료구조입니다. CUD 작업(Insert, Update, Delete)은 기본적으로 R 작업(Select)을 선행하기 때문에 효율적인 인덱스의 사용은 테이블의 CRUD 작업의 성능을 높여줍니다. 인덱스로 설정되지 않은 컬럼의 조회는 Full Scan수행하기 때문에 속..
MSA(Microservice Architecture)이란? | devlog.akasai 실무에서 실제로 사용중인 아키텍처 패턴인 MSA에 대하여 간략히 알아보았습니다. MSA(Microservice Architecture)란? Microservice Architecture의 약자로 독립적인 배포가 가능한 서비스들로 구성된 아키텍처 akasai.space 실무에서 실제로 사용중인 아키텍처 패턴인 MSA에 대하여 간략히 알아보았습니다. MSA(Microservice Architecture)란? Microservice Architecture의 약자로 독립적인 배포가 가능한 서비스들로 구성된 아키텍처라고 요약할 수 있습니다. In short, the microservice architectural style ..
TTL을 이용한 DynamoDB Stream Trigger | devlog.akasai 주기적으로 캐싱을 해야 하는 작업이 있어 삽질해본 경험을 공유하려 합니다. 단순하게 Crontab이나 배치 등을 이용하여 처리하는 방법과 Request 단위로 캐싱을 하는 방법을 생각해보았지만, 여러 akasai.space 주기적으로 캐싱을 해야 하는 작업이 있어 삽질해본 경험을 공유하려 합니다. 단순하게 Crontab이나 배치 등을 이용하여 처리하는 방법과 Request 단위로 캐싱을 하는 방법을 생각해보았지만, 여러 조건이 존재해서 아래 방법을 선택했습니다. Data Modeling 기존 API의 latency를 줄이기 위한 일부 데이터를 캐싱하는 작업이였기 때문에 스키마를 복잡하게 모델링하진 않았습니다. 키를 기..
EDA(Event Driven Architecture)이란? | devlog.akasai 최근 기존 구조를 고도화하는 작업을 진행했습니다. 동기 처리되던 로직을 비동기로 변경하면서 EDA(Event Driven Architecture)를 도입하였습니다. 관련된 내용을 정리해보려고 합니다. EDA(Eventt Driven Ar akasai.space 최근 기존 구조를 고도화하는 작업을 진행했습니다. 동기 처리되던 로직을 비동기로 변경하면서 EDA(Event Driven Architecture)를 도입하였습니다. 관련된 내용을 정리해보려고 합니다. EDA(Eventt Driven Architecture)란? 분산된 시스템에서 이벤트를 생성(발행)하고 발행된 이벤트를 수신자에게 전송하는 구조로 수신자는 그 이..
작년 하반기에 지원했었던 경험을 간단하게 적어보려고 합니다. 시간이 꽤 지났지만 크게 문제 되지 않는 정도만 적어보겠습니다. 게임 개발 파트가 아니라 백오피스 서버 개발 부분이었습니다. 현재는 크래프톤으로 합병된 걸로 알고 있습니다. 전형 방법 서류전형 → 필기 테스트 → 기술면접 → 임원면접 서류전형 원티드에 뜬 채용공고를 보고 지원하였습니다. 원티드가 답변이 다소 느린 느낌을 받아서 따로 이력서를 작성한 뒤 PUBG 채용사이트에서 직접 제출하였습니다. 지금까지 진행했던 프로젝트를 기반의 이력서를 작성하였습니다. 약 1주일 정도 후에 결과 메일을 받았습니다. 향후 진행될 테스트에 대한 일정 조율이 메일로 진행되었습니다. 필기 테스트 코딩 테스트를 무서워하는 편이라 필기 테스트라는 소식에 조금 안심했습니..
async/await 병목현상 줄여보기 | devlog.akasai 블로그 글을 보다 나는 지금 어떻게 개발하고 있는지 궁금해서 직접 테스트해보았다. async/await를 습관적으로 쓰고 있지만, 잘 쓰고 있는지 되돌아보는 계기가 되었다. Async/Await의 병목현상 Promise akasai.space 블로그 글을 보다 나는 지금 어떻게 개발하고 있는지 궁금해서 직접 테스트해보았다. async/await를 습관적으로 쓰고 있지만, 잘 쓰고 있는지 되돌아보는 계기가 되었다. Async/Await의 병목현상 Promise의 등장으로 callback 함수 불편한 부분이 많이 개선되었다. async/await의 등장은 .then() 체인으로 인한 가독성까지도 보완하였다. 하지만, 정리되지 않은 사용은 함..
Isolation Level이란? | devlog.akasai 격리 수준(isolation level)이란? 격리수준(isolation level)이란 트랜잭션끼리 얼마나 서로 고립되어 있는지를 나타내는 수준입니다. 즉, 한 트랜잭션이 다른 트랜잭션이 변경한 데이터에 대한 접근 강 akasai.space 격리 수준(isolation level)이란? 격리수준(isolation level)이란 트랜잭션끼리 얼마나 서로 고립되어 있는지를 나타내는 수준입니다. 즉, 한 트랜잭션이 다른 트랜잭션이 변경한 데이터에 대한 접근 강도를 의미합니다. 레벨이 높아질수록 트랜잭션간 고립정도가 높아지며, 성능저하도 야기됩니다. 일반적인 온라인 서비스에서는 READ COMMITTED나 REPEATABLE READ 중 하나를 ..
Redis가 싱글스레드인 이유? | devlog.akasai 레디스의 대표적인 특징은 싱글스레드입니다. 왜 싱글스레드로 구성되었는지 알아보았습니다. 레디스가 싱글스레드인 이유? 레디스는 Event Loop(이벤트루프)를 이용하여 요청을 수행합니다. 즉, akasai.space 레디스의 대표적인 특징은 싱글스레드입니다. 왜 싱글스레드로 구성되었는지 알아보았습니다. 레디스가 싱글스레드인 이유? 레디스는 Event Loop(이벤트루프)를 이용하여 요청을 수행합니다. 즉, 실제 명령에 대한 작업(Task)는 커널 I/O 레벨에서 Multiplexing(멀티플렉싱)을 통해 처리하여 동시성을 보장합니다. 따라서, 유저 레벨에서는 싱글스레드로 동작하지만, 커널 I/O 레벨에서는 스레드풀을 이용합니다. 4가지 이유 C..