본문 바로가기

개발관련33

메시지 스트리밍 MQTT와 WebSocket 무엇을 적용하는게 좋을까? 사이드 프로젝트 팀에서 채팅 기능을 구현하기로 했다. Pub/Sub 메시지 스트림을 어떤 방식으로 구현할지 논의하던 중, 회사에서 대량의 데이터를 DB에 저장하기 위해 MQTT를 사용했던 경험이 떠올랐다. 물론 WebSocket이 널리 사용되는 이유가 있겠지만, 왜 MQTT 방식은 잘 사용되지 않는지에 대한 의문이 들었다. IoT 기기에서 데이터를 받아오기 위해 주로 쓰이는 기술이라는 것과, 낮은 배터리 성능이나 불안정한 네트워크 환경에서 적합하다는 사실은 알고 있었지만, MQTT와 WebSocket의 차이점을 더 깊이 이해하고 싶어서 관련 자료를 조사해 정리해보았다.1. MQTT (Message Queuing Telemetry Transport)MQTT는 경량의 Publish/Subscribe 기반 메.. 2024. 9. 10.
패키지 매니저의 대한 고찰 npm, yarn, pnpm NextJS를 시작하기 앞서 몇가지 개념을 잡고 가야겠다는 생각이 들었다. 첫 번째로 패키지 매니저에 대해서 다뤄볼까 한다. 패키지 매니저?어느정도 개발을 접해본 사람이라면 npm, pip, apt, brew같은 패키지 매니저를 다뤄본 적 있을 것이다. 이러한 패키지 매니저들은 웹 사이트에서 패키지를 다운받아 컴퓨터에 저장하는 역할을 한다. 또한 패키지들의 의존성, 버전 관리, 자동화 스크립트 실행 등등을 수행한다. 이번에 다룰 패키지 매니저는 3가지. npm, yarn, pnpm이다.1. npm? 흔히들 Node Package Manager의 줄임말로 알고 있으나, 공식적으론 줄임말이 아닌 npm 그대로다. npm 공식 문서에 따르면 기존의 "pkgmakeinst", 줄여서 "pm"을 진화시킨 작품으로.. 2024. 6. 17.
TIL? 잔디 채우기? 제발 그런 것 좀 하지마 요새 하도 주변에서 잔디 채우기니 TIL이니 쓸데 없는 짓 한다고 고생들한다. 물론 이건 지극히 개인적인 내 의견일 뿐이고, 받아들일지 말지는 여러분의 선택이다. 지금 당장 제목을 보고 이게 왜 쓸데없는 짓이지? 당신 정신병자야? 라고 생각할 수는 있다. 요컨데 내 말은 TIL을 아예 하지말란게 아니다. 할거면 제대로 하란거다 TIL이든, 잔디밭 채우기든 중요한 것은 그에 대한 본질이다. 여러분이 TIL이든 잔디밭 채우기든 하는 것은 별로 중요치 않다. 중요한 것은 그 활동 하나하나가 헛되지 않았는가다. 사실 기술 블로그도 마찬가지다. 이거 아무리 잘 써봤자 보는 사람 극 소수고, 다 읽을 시간도 없다. 그냥 자기만족이라면 상관없다. 나 역시도 그저 내가 공부한 것을 기록하는 것에 불과하다. 그 어떤 의.. 2024. 1. 4.
Spring Boot - 쿼리 파라미터와 모델 그리고 로깅 Chapter 2 - 쿼리 파라미터와 모델 그리고 로깅 쿼리 파라미터와 모델 쿼리 파라미터란? 쿼리 스트링이라고도 불린다. 만약 URL이 다음과 같이 존재한다면 ?를 기준으로 다음으로 오는 것이 쿼리스트링(파라미터)이다. key=value 형태로 구성되어 있으며, 여러개 보내고 싶다면 &연산자들 추가로 보내주면 된다. key값을 기준으로 받을 수 있다. 이걸 자바 코드에서 어떻게 받는지 간단하게 알아보자. login.jsp Welcome to the login page! login.jsp를 만들어준다. 그리고 새 클래스를 생성한다. LoginController.java package com.yjooanywhere.springboot.mytodowebapp.login; import org.springfra.. 2023. 12. 26.
Spring Boot - ResponseBody와 JSP 페이지 응답받기 ResponseBody와 JSP 페이지 응답받기 I. 서버 포트 변경하기 기본적으로 Tomcat 서버는 8080에서 작동한다. 만약 다른 포트로 바꾸고 싶다면, application.properties에 다음 코드를 추가하자. server.port=8081 II. Hello World 응답 받아보기 새 클래스를 추가해준다. SayHelloController.java package com.yjooanywhere.springboot.mytodowebapp.hello; public class SayHelloController { //"say-hello" => "Hello World! What are you learning today?" //say-hello //http://localhost:8080/say-h.. 2023. 12. 26.
Spring MVC로 Todo 웹 애플리케이션 만들기 - 프로젝트 생성 🧩 Spring MVC로 Todo 웹 애플리케이션 만들기 목차(완성 후 작성예정) * * 프로젝트 생성하기 START.SPRING.IO Spring Web과 Spring Boot Dev Tools만 추가하여 프로젝트를 생성한다. 그리고 IntelliJ에서 프로젝트를 생성하고 빌드한다. 2023. 12. 25.