전체 글 8

[VSCode] Visual Studio Code extension 추천

주로 자바 개발을 진행하지만 현재 회사에선 React, node 등 유지보수를 진행하여 VSCode를 자주 사용하고 있다.유용하게 사용되는 extension들을 소개하려고 한다.1. Project ManagerProject Manager의 경우 여러 프로젝트를 볼 때 유용하다.프로젝트를 일일이 열 필요도 없고, 여러 프로젝트를 한 번에 봐야할 때 자주 쓰고 있다.2. CSS FormatterCSS를 순서대로 정렬해주는 확장프로그램이다.3. Live Server로컬에서 실시간으로 확인할 수 있다. 우측 하단에 Go Live 선택 시 브라우저에서 확인이 가능하다.4. Prettier - Code formatter코드 자동 정렬 확장 프로그램이다.5. PostCSS Sorting원하는 선언순서에 맞게 css ..

VSCode 2025.04.07

[Linux] 우분투 명령어 모음.zip

내가 보려고 만든 명령어 모음.zip백엔드 직무에서 일하다보면 생각보다 현업에서 많이 사용하는 명령어 모음이다.1. 현재 돌고 있는 서비스 확인netstat 의 경우 사용하려면 apt-get install net-tools 해줘야 함$ netstat -ntlpoption : -l (listen) : 연결 가능한 상태-n (number port) : 포트 넘버-t (tcp) : tcp-u (udp) : udp-p : 프로그램 이름 / PID-a : 모두-i : 이더넷 카드별 정상/에러/드랍 송수신 패킷 수 확인-r : 라우팅 테이블-s : 네트워크 통계$ ps -ef | grep "서비스명"ex) ps -ef | grep java2. 서비스 죽이기$ kill -9 "PID"ex) kill -9 32013...

서버 2025.04.07

[DB] MariaDB Master - Master 설정

고객 사 전산팀에서 서버 및 DB 이중화를 요청했다. (몇 년 동안 안 하다가 왜 내가 입사하니까 갑자기..)서버 이중화는 기존에 L4가 세팅되어 있어서 간단한 Nginx 세팅과 서비스만 올리면 되었고, DB는 따로 세팅해주어야 했다.1.Master - Slave처음에는 Master - Slave로 설정하면 될 줄 알고 세팅해봤는데 문제점이 있었다.Slave 서버는 껐다 켜도 동기화가 되지만 Master 서버를 껐다 키면 동기화가 되지 않았다.내가 (고객사에서) 바라던 방식은어느 DB에 데이터를 넣어도 동기화 되어야 한다.한 개의 DB를 껐다 켜도 동기화가 되어야 한다.라는 조건이었다.2.Master - Master그래서 알게된 Master - Master 설정서로를 서로의 Master이면서 Slave로..

DB 2025.04.04

[iOS] iOS 17.2 Not Installed 해결

iOS 17.2 Not Installed회사에서 iOS 개발을 진행하려고 XCode를 켠 순간 마주친 오류이다. 그래도 생각보다 쉽게 해결하였다.나의 경우 Get 하여 다운로드 받았는데 계속 Not Installed 라는 문구가 출력됐다. (댕빡치지 않을 수 없음..)iOS 17.2 Not Installed 해결방안XCode - Preferences - Platforms 클릭설치한 iOS 삭제 터미널 창 클릭하여 (나는 iTerms 사용한다) 아래 명령어 입력sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService이후에 Get 버튼 클릭하여 재설치세팅 완료하면 아래 사진처럼 핸드폰 및 Simulator를 정상적으로 기동시킬 수 있다

iOS 2025.03.24

[DB] INDEX란?

실무를 진행하면서 DB 설계를 많이 진행해보았는데 INDEX 설계는 진행해본 적이 없어서 이해도가 떨어지는 것 같아 찾아보게 되었다.1. INDEX란?INDEX란 테이블의 검색 성능을 높혀주기 위한 자료구조이다. 하나 또는 여러 개 컬럼에 대하여 설정할 수 있다.INDEX가 걸려 있어도, WHERE절 없이 단순히 컬럼을 조회하는 경우에는 인덱스가 사용되지 않기 때문에 성능 향상에 도움이 되지 않는다.(예를 들어 ‘홍길동’이라는 단어를 찾고싶으면 색인 페이지에서 ‘홍’으로 시작하거나 ‘ㅎ’으로 시작하는 색인을 찾아보면 빠르게 찾을 수 있다.)2. INDEX의 장단점장점적절한 인덱스를 생성하고 사용하면 조회 성능을 획기적으로 개선할 수 있다.단점INSERT, UPDATE, DELETE의 속도가 저하된다.대략..

DB 2025.03.24

[Spring] Filter와 Interceptor 차이

새로운 프로젝트를 시작하면서 Redis를 통하여 세션 관리를 하도록 설정하였다. 그래서 세션이 없어도 사용할 수 있는 API 이외에는 세션 체크를 공통으로 처리해줘야 했다.처음에 잘 모르고 Filter로 무작정 설정하였다가 복잡한 세팅으로 애를 먹고 Interceptor로 수정하며 찾아본 Filter와 Interceptor의 차이점을 알아보았다.1. Filter란?Filter는 DispatcherServelt에 요청이 전달되기 전/후에 URL 패턴에 맞는 모든 요청에 대하여 부가 작업 처리할 수 있는 기능을 제공한다.Filter 주요 특징ServeltRequest, ServleResponse 객체를 직접 다룰 수 있음DispatcherServlet 이전 단계에서 실행되므로 Spring MVC와 무관하게 ..

Spring 2025.03.18

[네트워크] RabbitMQ와 Kafka

(이전) 회사에서 프로젝트 설계 중 Message Queue에 대한 얘기가 나왔다. RabbitMQ와 Kafka 중 어떤 것을 사용하는 것이 더 효율적일지 정리 후 보고해달라 하셔서 알아보게 되었다.일단, Kafka와 RabbitMQ의 정의를 알아보기 전 메시지 큐 (Message Queue)에 대하여 알아야 한다.1. 메시지 큐 (Message Queue) 란?간단하게 말하면, 메시지를 일시적으로 저장하는 대기열(queue) 역할을 하는 것이다.특징FIFO(First-In-First-Out) 방식으로 메시지를 전달메시지가 소비되기 전까지 queue에서 대기비동기 방식으로 시스템간 결합도를 낮춤2. RabbitMQ란?RabbitMQ는 AMQP를 구현한 오픈소스 메시지 브로커이다. 여기서메시지 브로커(Me..

네트워크 2025.03.18

[네트워크] 소켓(Socket) 통신

웹 개발을 시작하면서 네트워크 공부에 대한 필요성을 깨닫게 되었다. 사실 고등학교 시절에 배웠는데 다 까먹어서 다시 공부를 시작하게 되었다. Socket 통신과 HTTP 통신에 대하여 다룰 것인데 이번 장에는 Socket 통신에 대하여 알아보자. 1. 소켓(Socket)이란?사실 Socket에 대한 개념이 잡히지 않아서 정의부터 찾아보았다.소켓(Socket)의 정의네트워크 상에서 서버 프로그램과 클라이언트 프로그램이 통신하는 end-point이다. end-point는 IP 주소와 port 번호를 조합한 것으로, 최종 목적지를 나타낸다. 즉, 서버 프로그램과 클라이언트 프로그램이 통신할 수 있도록 하는 연결부, 연결 구멍이라고 할 수 있다.소켓은 IP 주소, 포트 번호, 프로토콜이 필요하다.2. 소켓(So..

네트워크 2025.03.17