개발(58)
-
MySQL에서 접속 중인 session 정보를 확인해보자
개요 MySQL에서 접속 중인 session 정보들을 확인해보자. Connection monitoring MySQL에서는 현재 잡혀있는 session에 대한 모니터링 테이블이 존재한다. 문제가 되는 session들을 찾아내거나 kill할 필요가 있을 때, 참조하면 좋다. SHOW PROCESSLIST; 현재 실행 중인 process list들을 확인할 수 있다. show full processlists; show processlist; 확인할 수 있는 field들은 아래와 같다. id: session id user: 접속한 계정의 id host: host + port db: 접속한 db command: thread가 현재 실행 중인 명령, Sleep의 경우는 idle 상태를 의미하며, 자세한 내용은 Th..
2021.02.07 -
Javascript arrow function vs function
개요 method decorator를 작성하면서 arrow function에 대해서 파악할 일이 생겼다. 해당 부분을 찾아보면서 정리해보자. 몇가지 사전지식을 위해서 앞에 this, bind(), call(), apply()에 대해서 따로 설명하고 있다. this란? 해당 부분은 execution context를 이해해야 하는데, 그 부분은 해당 Blog 글에 설명된 내용을 참고하면 좋을 것 같다. bind(), call(), apply() javascript에서 몇 가지 글들을 찾아보면 bind(), call(), apply()를 많이 찾아보게 될 것이다. 해당 부분을 설명하는 이유는 arrow function의 몇 가지 특성과 연관이 되기 때문에 따로 설명한다. bind() bind의 경우에는 thi..
2021.01.27 -
Ch3. Inter-Process communication
IPC Methods Rest gRPC AMQP, STOMP formating avro protocol buffer 방식 일대일 vs 일대다 동기 vs 비동기 sync/async task 협동자 sync 요청/응답 - async 비동기 요청/응답, 단방향 알림 pub/sub, pub/비동기 응답 ( callback ) API 정의 IDL(Interface Definition Language) 정의 시멘틱 버저닝 ${MAJOR}.${MINOR}.${PATCH} 와 같은 상태로 버저닝 MAJOR : 하위 호환성이 보장되지 않음 MINOR : 하위 호환성이 보장됨 PATCH : 버그 수정 표기는 path에다가도 할 수 있고, 또는 content negotiation에 끼워 넣을 수도 있습니다. Accept: ..
2021.01.22 -
Ch2. Decomposition strategy
4 + 1 view model 어플리케이션을 바라보는 여러가지 관점을 정의한 내용입니다. 각 뷰는 아래와 같습니다. Logical view: 상속, 연관, 의존 등 클래스와 패키지 사이의 관계를 말합니다. Implementation view: 빌드 시스템의 결과물, 코드, 컴포넌트 및 이 컴포넌트 모듈 간의 조합 관계를 의미합ㄴ디ㅏ. Process view : 런타임 컴포넌트, 즉, 개별 프로세스와 IPC를 통해 프로세스간 관계를 나타냅니다. Deployment view: 프로세스가 머신에 매핑되는 방법을 보여줍니다. 머신 및 프로세스 간의 관계를 네트워킹으로 표현 합니다. 시나리오 (+1) : 특정 뷰 내에서 아키텍쳐 요소가 협동하여 요청을 처리하는지 보여줍니다. 어플리케이션의 요건 기능 요건: 기능적..
2021.01.22 -
Ch1. Monolithic vs Micro service
Overview Definition 딱 맞는 정의라고 보기는 어렵지만 일반적으로 통용되는 내용으로 작성하여 보면 Monolithic은 단일 어플리케이션에서 다양한 서비스를 제공하는 구조이고, Micro Service는 service 또는 도메인 중심으로 어플리케이션을 나눈 구조라고 볼 수 있습니다. Micro service architecture의 대두 기존의 소규모 프로젝트에서는 Monolithic 구조로 진행을 하여도, 큰 문제는 없습니다. 하지만 점차 프로젝트 규모가 커지고, 이에 따른 요구사항이 커져감에 따라서 Monolithic 구조는 개발자에게 많은 피로감을 선사합니다. 크게 다음과 같은 문제점들이 있습니다. 개발이 더디다 : IDE를 통한 빌드 시간, 코드를 고치고 실행에 걸리는 시간이 증가..
2021.01.22 -
Javascript - Array-like objects란?
개요 실제 자바 스크립트에서의 array와 array-like object의 차이점을 알고 이를 해결할 수 있는 방법에 대해서 알아본다. array-like object란? 실제로는 object인데, console.log()를 찍을 때, array로 보이게 하는 것 instanceOf Array나, Array.isArray()를 통해서 판별 가능. length의 속성을 가지면 array처럼 보이는 것을 차용함. 결국 배열도 객체이기 때문에 해당 방식을 사용가능 왜 알아야 하는가? array처럼 보여서 작각하는데, 실제로 forEach 같은 iterator를 사용하지 못함. ( 상위 브라우저는 괜찮으나 하위 브라우저에서 문제 생길 수 있음) 선언 방식 var a = { 0: 'zzz', 1:..
2021.01.22