전체 글147 [Stomp] - Spring 일대일 채팅 구현하기 (1) Stomp란Stomp란 The Simple Text Oriented Messaging Protocol 이다클라이언트와 서버의 메시징을 지원하는 프로토콜로 웹소켓 위에서 동작한다.WebSockets를 통해 웹 애플리케이션에서 메시지를 주고받을 때 자주 사용된다. 주요특징 텍스트 기반 프로토콜: STOMP 메시지는 사람이 읽을 수 있는 텍스트 형식으로 구성되어 있어 디버깅과 이해가 용이합니다.경량: STOMP는 단순하고 가벼운 프로토콜로 설계되어 있어, 메시징에 필요한 최소한의 오버헤드만 제공합니다.언어 독립적: 다양한 프로그래밍 언어와 프레임워크에서 사용할 수 있으며, 이는 다수의 클라이언트 라이브러리가 존재함을 의미합니다.호환성: 다양한 메시징 브로커와 호환됩니다. 예를 들어, Apache ActiveM.. 2024. 6. 14. [Spring] JAR, WAR 스프링부트에서 프로젝트를 시작하면 JAR와 WAR를 선택할 수 있는데 그동안 JAR만 사용해왔어서 WAR에 대해 생각을 해본 적이 딱히 없었다.JAR는 Java 아카이브 파일이라고 알고 있는데 WAR는 무엇인지 스프링에서 JAR는 무엇이 다른지, 배포할 때 무슨 차이가 있는지 궁금해서 정리를 해보려 한다. JAR (Java Archive) 란JAR는 Java Archive의 약자로 일반적으로 Java의 Class 파일, 관련 메타데이터 및 리소스를 포함한다.간단하게 Java 어플리케이션이 동작할 수 있도록 해당 프로젝트를 압축한 파일이다.JAR는 원하는 구조로 구성이 가능하고, JDK 내부에 있는 JRE만 있어도 실행이 가능하다.JDK,JRE란? ▼더보기JDK란 Java Development Kit.. 2024. 5. 23. [Spring] RabbitMQ 연결해서 메세지 주고받기 프로젝트를 진행하면서 선착순으로 쿠폰을 발급하는 기능을 개발하는데,쿠폰을 발급하는 요청이 한번에 많이 들어모면 동시성 문제가 생길수있는데, 이를 메세지큐를 이용해 해결하기 위해 간단히 정리를 하고 간단한 실습을 해보았다. Message QueueQueue는 선입선출(First in First out) 구조를 가진 자료구조이다.메세지 큐(Message Queue)는 Queue를 이용해서 메세지를 전달하는 시스템이며, 메세지 지향 미들웨어(MOM) 을 구현한 시스템이다.메세지 브로커 VS 이벤트 브로커메세지 큐에서 데이터를 운반하는 방식에 따라 메세지 브로커 와 이벤트 브로커로 나누어진다.메세지 브로커(Message Broker)메세지 브로커는 Producer 가 생산한 메세지를 메세지 큐에 저장하고, 저장.. 2024. 5. 21. [React] Suspense, Error boundary 란? Suspense Suspense란 자식 컴포넌트가 로딩이 끝날때 까지 fallback을 보여주는 컴포넌트라고한다. SomeComponent가 로딩이 끝날때까지 fallback에 해당하는 Loading 컴포넌트를 보여준다.SomeComponent의 비동기 작업이 처리 되는 동안 fallback에 할당된 Loading 컴포넌트가 랜더링되는것이다. 그리고 해당 비동기 작업이 완료가 되면 다시 랜더링을 해서 SomeComponent를 랜더링해준다. 즉, Suspense 컴포넌트는 비동기 작업을 진행하는 자식 컴포넌트가 비동기 작업을 진행하는동안 fallback에 할당된 컴포넌트를 랜더링하고, 자식 컴포넌트의 비동기 작업이 완료되면 자식컴포넌트를 랜더링해준다. 만약 Suspense를 사용하지 않고 비동기 처리의.. 2024. 5. 8. [Next.js] fetch를 이용해서 api 호출하기, CORS 해결하기 fetchfetch(url, options) .then((response) => console.log("response:", response)) .catch((error) => console.log("error:", error)); fetch() 함수는 JavaScript에서 서버로 네트워크 요청을 보내고 응답을 받을 수 있도록 해주는 매서드이다.fetch() 함수는 첫번째 인자로 URL, 두번째 인자로 옵션 객체를 받고, Promise 타입의 객체를 반환한다. // get 요청fetch("http://localhost:3000/user/newMember@naver.com") .then((response) => response.json()) .then((data) => console.log(dat.. 2024. 4. 29. [React] useState, useEffect, useRef 정리 ComponentReact 애플리케이션을 구성하는 블록컴포넌트는 상태(state)를 가질 수도 있고, 속성(props)을 통해 데이터를 받아와서 렌더링할 수 있다.state"State(상태)"는 React 컴포넌트 내부에서 관리되는 데이터이다.각 컴포넌트는 자체적으로 상태를 가질 수 있으며, 상태가 변경될 때마다 React는 해당 컴포넌트를 다시 렌더링하여 UI를 업데이트한다.props리액트에서는 하나의 컴포넌트에서 다른 컴포넌트에게 데이터를 전달할 때 props를 사용한다. (부모컴포넌트가 자식 컴포넌트에게)props는 다른 컴포넌트에 데이터를 전달하기 위한 메커니즘, 시스템이다. // 자식 컴포넌트에게 props를 전달하는 방법export default function Profile() { retu.. 2024. 4. 19. [Node.js] Node.js, Express, NPM Node.jsNode.js는 Chrome V8 JavaScript 엔진 위에서 구축된 JavaScript 런타임 환경 이다.Node.js는 브라우저 외부에서 JavaScript 코드를 실행하는 환경이며, 서버 측 애플리케이션을 구축하는 데 사용 ExpressExpress는 Node.js를 위한 웹 프레임워크이다. Express의 장점 (사용 이유)웹 애플리케이션을 만들기 위한 각종 라이브러리와 미들웨어 등이 내장되어 있어 개발하기 편하고, 수많은 개발자들에게 개발 규칙을 강제하여 코드 및 구조의 통일성을 향상할 수 있다. NPMNode Package Manager패키지 설치: npm을 사용하여 Node.js 애플리케이션에 필요한 외부 패키지를 손쉽게 설치할 수 있다. 이를 통해 다양한 기능을 추가할 수 .. 2024. 4. 18. [express] jsonwebtoken 로그인 구현하기 jsonwebtokenexpress에서 jwt를 사용하려면 jsonwebtoken 모듈이 필요하다.https://www.npmjs.com/package/jsonwebtoken jsonwebtokenJSON Web Token implementation (symmetric and asymmetric). Latest version: 9.0.2, last published: 8 months ago. Start using jsonwebtoken in your project by running `npm i jsonwebtoken`. There are 27478 other projects in the npm registry using jsonwebtoken.www.npmjs.com npm install jsonweb.. 2024. 4. 17. [C++ STL] next_permutaion next_permutaion 순열과 조합 관련 문제를 풀때 C++의 next_permutaion을 사용하면 더 편리하게 해결할 수 있다. #include algorithm 헤더를 추가해줘야 한다. next_permutation은 다음 순열이 존재하면 해당 배열을 다음 순열로 변환하고 true를 리턴 한다. 다음 순열이 존재하지 않으면 다시 첫번째 순열로 변환하고 false를 리턴한다. 순열 next_permutation은 다음 순열이 존재하면 true를 리턴하고 다음순열로 변환 시켜주기 때문에 do~while문을 사용하면 쉽게 순열을 구할수 있다. #include #include using namespace std; int main() { int a[3] = { 1,2,3 }; do { for (int .. 2024. 4. 16. 이전 1 2 3 4 5 6 7 ··· 17 다음