포인트3 테크니컬 하우스
포인트3 테크니컬 하우스
Domain-Driven-Design
저희 팀은 프로덕트가 점차 비대해지며 추가되는 도메인끼리 얽히고 얽히는 빅볼(Big-Ball) 구조가 되는 것에 대비하고자 이번 정산 서비스는 DDD(Domain-Driven-Design) 아키텍처를 체택했습니다. 또한 기존의 core bank service 도 DDD 구조로 리팩토링 할 계획에 있는데요, 이러한 결정이 내려지고 처음 DDD를 접했을 때 느낀 첫인상은 말 그대로 Domain 특별 대우 아키텍처였습니다.도메인을
TLS Handshake (HTTPS)는 어떻게 동작할까?
HTTP(Hypertext Transfer Protocol)은 웹에서 데이터를 주고 받아 페이지를 로드하는 데에 사용되는 프로토콜이에요.HTTPS는 HTTP의 보안 버전으로, HTTP와 달리 전송 시 패킷을 암호화하여 중간자가 데이터를 도청하거나 진짜 서버/클라이언트로 위장하여 데이터를 바꿔치기하는 등의 공격을 방지해요. 일반 HTTP로 통신할 경우 주고 받는 데이터가 통신 과정에 그대로 노출되기 때문에 마음만 먹으면 도청하거나 바꿔치기 할
Promise, async/await
Promise는 비동기 처리가 성공(fulfilled)하였는지 또는 실패(rejected)하였는지 등의 상태(state) 정보를 갖는다.후속 처리 메소드에는 대표적으로 then(Promise 반환)과 catch(예외)가 있다.위와 같은 프로미스지옥과 같은 상황을 극복하기 위해 또다른 자바스크립트 문법 나오게 된다.유의해야 할 점 async/await가 Promise를 대체하기 위한 기능은 아니다. 출처:https://inpa.tistory.
컴퓨팅 사고 2
컴퓨터는 입력된 정보를 어떻게 가공하여 출력하게 될까? 우리가 일상에서 다양한 문제를 해결하는 방식처럼 컴퓨터도 일련의 동작을 순서대로 실행하여 문제를 처리한다.이런 일련의 동작을 정의하는 것이 바로 알고리즘이다.알고리즘은 어떻게 정의될 수 있으며 그 정확성과 효율성에 대해 어떻게 평가할 수 있을까?알고리즘은 입력(input)에서 받은 자료를 출력(output)형태로 만드는 처리 과정을 뜻한다.간단히 말해,알고리즘이란 입력값을 출력값의 형태로
Race Condition이란? InnoDB를 통해 알아보기
재욱이와 찬수가 은행 계좌에 돈을 넣고 있어요. 재욱이의 계좌는 현재 3만원이 있고, 현금 1천원을 추가로 입금하려고 해요. 찬수는 재욱에게 전에 빌렸던 돈 2천원을 송금하려고 해요.재욱이와 찬수는 재욱이의 계좌에 돈을 비슷한 시기에 (거의 동시에) 입금했어요. 하지만 재욱이의 계좌 잔액은 3만 3천원이 아닌 3만 2천원이 됐어요. 어떻게 된 일일까요?입출금 프로그램이 어떻게 작동하는지 자세히 살펴볼게요.재욱의 경우)찬수의 경우)이제 두
유연한 변경을 위한 컴포넌트
우리는 수많은 변화에 마주한다 제품이 변화되지 않는다면 사용자가 어려움없이 잘사용하고 있다는것이다. 그렇다면 사용자들이 제품을 대부분 잘사용할까? 사용자 지표를 보면 그렇지 않는다고 한다. 좋은 제품을 만들기 위해서는 “변경”이 필요하다. 고객이 원하는것을 찾고 빠르게 전달하기위해 제품은 변화를 겪으며 올바른 성장을 하게 된다. 변경은 곧 고객의 “니즈” → 곧 “기회” 이다. 하지만 우리는 사용자를 모르고 어떤 니즈를 가지는지 모르기
Event Driven Non-Blocking I/O Model
JavaScript는 싱글 스레드를 기반으로 실행된다. 즉 코드를 실행하는 Call Stack 이 단 하나라는 의미이다.‘싱글 스레드’ 에 의한 장단점은 극명하다. 직관적인 코드 실행 동작 과정과 Dead-Lock 과 같이 복잡하고 디버깅 하는데에 많은 노력이 필요한 버그에 부담이 줄어든다는 것이다. 여담으로 교수님들이 종종 말씀하시길 Dead-Lock 문제는 ‘군대에서 탄피 찾기’ 또는 ‘크리스마스 명동 사거리 교통정리’ 에 비유된다.
컴퓨팅 사고
우리가 매일 사용하는 컴퓨터는 어떤 원리로 작동할까?컴퓨터로 수행하는 다양한 작업은 어떻게 가능한 것일까?컴퓨터 과학은 종종 어렵게 느껴질 수 있지만,실제로는 문제 해결의 학문이다.입력을 받아 처리하여 출력을 생성하는 과정을 컴퓨터 과학이라고 한다.우리가 일상에서 사용하는 10진법과 달리,컴퓨터는 0과 1, 두 가지 숫자만을 사용하는 2진법으로 데이터를 표현한다.이러한 2진법은 컴퓨터가 데이터를 저장하고 처리하는 데에 매우 적합한 방식이다.컴퓨
Point3 연동하기
좋은 소프트웨어
전세계 개발자 수는 매 5년마다 2배씩 늘어난다고 합니다 (O(2^n) 이 되겠네요 ㅎㅎ).현재 개발자 인구가 대략 2천 9백만명인데, 거꾸로 추산해보면 1930년대에는 전세계에는 고작 100명의 개발자가 있었다고 말할 수 있어요. 2차 세계대전때 튜링의 컴퓨터가 처음 등장하고, 나치의 에니그마가 그 시절의 산물임을 생각해보면 얼추 정확한 수치라고 볼수 있을것 같아요.이 시절 소프트웨어는 하드웨어와 강하게 결합되어 있었고, 연산 명령의 주체는
Subscribe to our newsletter
Get the latest news and updates from our team