본문 바로가기

분류 전체보기13

[Kafka] 메시지 큐와 Kafk 메시지 큐 메시지 지향 미들 웨어(Message Oriented Middleware: MOM)는 비동기 메시지를 사용하는 다른 응용 프로그램 사이에서의 데이터 송수신을 의미하며 MOM을 구현한 시스템이 메시지 큐(Message Queue: MQ). 메시지 큐는 메시지를 임시로 저장하는 간단한 버퍼라고 생각하면 된다. 메시지를 전송 및 수신하기 위해 중간에 메시지 큐를 두는 것이다. 프로그래밍에서 MQ는 프로세스 또는 프로그램 인스턴스가 데이터를 서로 교환할 때 사용하는 방법으로 데이터 교환 시 시스템이 관리하는 메세지 큐를 이용하는 것이 특징 일반적으로 서로 다른 프로세스나 프로그램 사이에 메시지를 교환할 때 AMQP(Advanced Message Queueing Protocol)을 이용(Kafka의 경.. 2023. 4. 12.
[DB] NL JOIN, SORT MERGE JOIN, HASH JOIN 개인적으로 느린 쿼리의 성능을 튜닝할때 가장 먼저 어떤 종류의 조인 연산자를 사용했는지 확인하는 편이다. 물론 조인연산자가 쿼리 개선을 시작하기에 가장 훌륭한 방법은 아닐수도 있겠지만 대규모 프로젝트의 경우일수록 더더욱 조인연산자를 확인하는것을 추천한다 그런 의미로 NL JOIN, SORT MERGE JOIN, HASH JOIN에 대해 한번 알아보자 NL JOIN(NESTED LOOP JOIN - 중첩 루프 조인) 2개 이상의 테이블에서 하나의 집합을 기준으로 순차적으로 상대방 Row를 결합하여 원하는 결과를 조합하는 JOIN방식으로 조인해야 할 데이터가 많지 않은 경우에 유용하게 사용된다. 수행방식 1. 선행 테이블에서 조건을 만족하는 첫번째 행을 찾음 → 이때 선행 테이블에주어진 조건을 만족하지 않은.. 2022. 5. 11.
[MSSQL]컬럼명으로 테이블 찾기 SELECT T.name AS table_name, C.name AS column_name FROM sys.tables AS T INNER JOIN sys.columns AS C ON T.object_id = C.object_id WHERE C.name = '[컬럼명]' 2022. 3. 23.
[Javascript] prototype과 상속 자바스크립트에는 Java와 C++같은 클래스가 없다. ES2015부터 class키워드를 지원하긴 하나, 특별한 함수에 불과할 뿐이며 자바스크립트는 여전히 프로토타입기반의 언어다. 상속 관점에서 보자면 자바스크립트의 유일한 생성자는 객체뿐이다. 각각의 객체는 Prototype이라는 private속성을 가지는데 이는 자신의 프로토타입이 되는 다른 객체를 가리킨다. 그 객체의 프로토타입 또한 프로토타입을 가지고 있는것이 반복되며 이를 프로토타입 체인이라고 한다. 프로토타입 체인은 null을 프로토타입으로 가지는 오브젝트에서 끝나며, null은 더이상의 프로토타입이 없다고 정의된다. 이 프로토타입 체인이 자바스크립트의 약점이라고도 하지만 프로토타입적 상속모델은 사실 고전적인 방법보다 좀 더 강력한 방법이다. 간.. 2022. 3. 23.
[JavaScript]드래그 앤 드롭으로 파일 업로드 구현하기 그냥 마음에 드는거 없길래 만들었습니다. 서버를 통해 이미지를 저장시키는 로직이 있으니 웹에서만 처리하실 분들은 알아서 고쳐쓰시면 됩니다. HTML 구조 이미지를 업로드할 영역을 하나 만들어 줍니다. form태그의 action부분에는 서버에 파일 업로드를 위한 url을 설정합니다. 드래그 앤 드롭 파일 업로드에 앞서서 일반 파일 업로드부터 설정합니다. 라벨태그가 이미지를 선택하는 영역이고 file-list-container클래스가 업로드된 이미지를 리스트로 보여주는 영역입니다. 우선 라벨태그에 클릭시 파일 선택 기능을 추가해줍니다. 이어서 파일 선택시 서버에 업로드 후 리스트를 만들어주는 로직까지 만들어 주겠습니다. var search = '.upload-container'; var upload = '#.. 2021. 12. 2.
[Python3] 방의 개수 (Level 5) 보호되어 있는 글 입니다. 2021. 2. 5.