728x90 반응형 전체 글163 알면 유용한 파이썬 문법 enumerate * iterable 객체는 리스트처럼 보이지만 리스트가 아니다. pass stack del set 루프 테크닉 Counter itertools 중요*** 2023. 6. 22. 분할 정복(Divide And Conquer) 분할 정복 분할 정복 알고리즘이란 말 그대로, 1. 분할 2. 정복 순으로 해결하는 것을 말한다. 큰 덩어리의 문제를 분할해서 점점 작은 덩어리로 만들어 간다. 그러다가 충분히 분할되서 풀기 쉬워질 정도가 되면, 그때부터 하나씩 정복해 나간다. 그리고 작은 문제들을 하나씩 합쳐가면서, 큰 문제로 조립해나간다. 그렇게 처음 해결하려고 했던 문제까지 올라가서 결과를 도출한다. 분할 정복은 언제 사용해야 할까? 답은 그냥 풀었을 때보다 분할하고 합치면서 풀었을 경우에 월등히 연산속도가 빠른 경우에 사용한다. 분할 정복 알고리즘 수행시간 계산법 1. 나누어지는 문제의 개수 2. 분할 후 문제의 크기 3. 각 문제마다 병합(정복) 단계에서 걸리는 시간 만약, 병합 정렬을 예로 들면, 1은 2, 2는 N/2, 3은.. 2023. 6. 17. Spring boot 채팅 구현 #4 STOMP 기반 채팅 구현 STOMP 기반 채팅 구현 우선 build.gradle에 아래와 같은 의존성을 추가해준다. implementation 'org.springframework.boot:spring-boot-starter-websocket' build.gradle plugins { id 'java' id 'org.springframework.boot' version '3.1.0' id 'io.spring.dependency-management' version '1.1.0' } group = 'com.example' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annotationPro.. 2023. 6. 15. Spring boot 채팅 구현 #3 AMQP 개념 정리 이 포스팅을 작성하기 위해, RabbitMQ 공식 사이트를 참조하였습니다. https://www.rabbitmq.com/tutorials/amqp-concepts.html AMQP 0-9-1 Model Explained — RabbitMQ AMQP 0-9-1 Model Explained This guide provides an overview of the AMQP 0-9-1 protocol, one of the protocols supported by RabbitMQ. AMQP 0-9-1 (Advanced Message Queuing Protocol) is a messaging protocol that enables conforming client applications to communi www.rab.. 2023. 6. 15. Spring boot 채팅 구현 #2 Web Socket, STOMP, Message Broker 개념 정리 1편에서 나왔던 Polling의 단점을 보완하기 위해 Web Socket이 등장한다. Web Socket 역사 2008년 Web Socket은 TCP 기반 소켓 API를 대체할 목적으로, HTML5에서 TCPConnection으로 처음 참조되며, 최초 버전의 프로토콜이 탄생되었다. 2009년 Web Sockets API는 W3C에 의해 표준화되었다. https://www.w3.org/TR/2009/WD-websockets-20091222/ 2023. 6. 14. Spring boot 채팅 구현 #1 HTTP, Polling, Long Polling 개념 정리 서론 미니 프로젝트를 하면서 프론트엔드에서 firebase로 채팅 기능을 구현하려고 했으나, 다소 미흡하게 끝나서 개인적으로 아쉬움이 많이 남았다. 그래서 다시 업데이트한다는 의미에서 이번에는 스프링부트 서버 쪽에서 채팅 기능을 구현하기로 마음먹었다. 그렇게 채팅 기능을 구현하기 위한 기본? 이라고 할 수 있는 Web Socket부터 다시금 공부를 시작하게 되었다. 그런데 역시, 프로그래밍 기술이라는 것은, 과거에 존재했던 기술의 단점을 보완하는 새 기술이 등장하는 식으로 다 연계되어있다. Web Socket을 공부하다 보니, STOMP라는 프로토콜이 있다는 것을 알게 되고, STOMP를 공부하다 보니, 또 RabbitMQ나 Kafka 같은 외부 메세지 브로커의 존재를 알게 되었다. 그렇게 꼬리에 꼬리를.. 2023. 6. 14. 이전 1 ··· 12 13 14 15 16 17 18 ··· 28 다음 728x90 반응형