전체 글

이것저것 기록합니다... :)
· 오류
개발자들에게 가장 사랑받는 에디터 중 하나인 Visual Studio Code (VS Code)는 강력한 기능과 확장성을 자랑합니다. 하지만 많은 플러그인을 설치하고 프로젝트 규모가 커지다 보면 어느 순간 "왜 이렇게 느려졌지?"라는 느낌을 받을 때가 있습니다. 타이핑 반응이 늦어지거나, 파일을 열 때 로딩 시간이 길어지면 개발 생산성은 뚝 떨어집니다. 오늘은 VS Code의 성능 저하로 고통받는 분들을 위해, 에디터를 다시 빠르고 쾌적하게 만드는 실질적인 방법들을 단계별로 소개합니다. 각 단계별로 참고할 수 있는 스크린샷도 함께 준비했으니 천천히 따라 해 보세요! 1단계: 문제의 근본 원인 파악, 확장(Extensions) 점검VS Code가 느려지는 가장 흔한 원인은 바로 너무 많은 확장 기능입니다..
지난 포스팅 "01. 가상화란 무엇인가?"에서는 하나의 물리적 서버를 여러 대의 논리적 서버처럼 쪼개어 쓰는 가상화의 기본 개념과 장점에 대해 알아보았습니다. 그렇다면, 이 거대한 물리 서버의 자원(CPU, Memory, Storage)을 어떻게 쪼개고, 각각의 가상 머신(VM)에 할당해 줄 수 있는 걸까요? 이 마법 같은 일을 수행하는 지휘자가 바로 하이퍼바이저(Hypervisor) 입니다. 오늘은 하이퍼바이저의 개념과 두 가지 핵심 구동 방식, 그리고 실무에서 자주 접하게 되는 솔루션들에 대해 정리해 보겠습니다. 1. 하이퍼바이저(Hypervisor)란?하이퍼바이저는 호스트(물리적 서버) 컴퓨터에서 다수의 운영 체제(게스트 OS)를 동시에 실행하기 위한 논리적 플랫폼을 말합니다. 다른 말로는 VMM(..
프론트엔드 개발을 하다 보면 필연적으로 백엔드 API와 데이터를 주고받게 됩니다. 특히 엔터프라이즈급 관리자 대시보드나 규모가 있는 B2B 서비스를 개발할 때, 종종 마주치는 당혹스러운 순간이 있습니다. 바로 백엔드 에서 화면에 필요한 데이터보다 훨씬 방대하고 거대한 'Super DTO'를 내려줄 때입니다. 단일 type.ts 파일에 모든 파일을 때려 넣어서 했던 과거를 제쳐두고, TypeScript 환경에서 이 거대한 DTO를 어떻게 해체하고 우아하게 관리할 수 있는지 실무적인 접근법을 공유해 보려 합니다. 🚨 문제 제기: 거대한 DTO와 비대해진 types.ts초기 개발 단계에서는 보통 하나의 types.ts 파일에 모든 인터페이스를 정의합니다. 하지만 프로젝트가 커지고 다루어야 할 도메인(사용자..
· C#/.NET
실시간 웹 기능을 추가하는 데 있어 SignalR은 매우 유용한 라이브러리입니다. 이 글에서는 SignalR의 개요와 작동 방식, 그리고 이를 활용한 애플리케이션 예시를 자세히 살펴보겠습니다.SignalR?SignalR은 Microsoft에서 개발한 라이브러리로, .NET 애플리케이션에 실시간 웹 기능을 추가하는 데 필요한 도구입니다. 이 라이브러리는 클라이언트와 서버 간의 실시간 통신을 가능하게 하여, 사용자가 새 데이터를 요청할 때까지 기다리지 않고 서버가 클라이언트에 즉시 콘텐츠를 푸시할 수 있도록 합니다. 이러한 기능은 채팅 애플리케이션, 실시간 게임, 주식 거래 시스템 등 다양한 분야에서 활용됩니다. 실시간 웹 기능의 필요성현대의 웹 애플리케이션은 사용자 경험을 극대화하기 위해 실시간 데이터 처..
가상화란?가상화는 서버, 스토리지, 네트워크 및 기타 물리적 시스템에 대한 가상 표현을 생성하는 데 사용할 수 있는 기술입니다.다시말하자면 이런 뜻입니다. 물리적 하드웨어 기능을 모방하여 하나의 물리적 머신에서 여러 가상 시스템을 동시에 실행하는 것 왜 가상화를 사용해야 하나요?일반적으로 OS를 사용하려면 각 OS를 각각의 물리서버에서 실행해야 합니다.즉, 아래의 그림처럼 한대의 PC에 하나의 OS를 설치하고 그것을 관리하는 물리서버가 또 필요한 것입니다.이렇게, 여러 운영체제를 실행하는 것은 비용이 많이 드는 작업이라, 서버 구입 비용 뿐만 아니라 구입한 서버의 운영 및 유지보수 비용도 증가하게 됩니다.  그래서 사용해야 하는 것이 가상화 입니다. 가상화를 이용하면 운영체제를 기반 하등웨어로부터 분리가..
· devops
도커란 무엇일까요? 도커는 컨테이너 기술을 기반으로 한 일종의 가상화 플랫폼입니다. ❓컨테이너 기술 컨테이너 기술이란 리눅스에서 기본적으로 기존 시스템에서 독자적인 시스템의 환경을 분리, 구축하는 기술입니다. ❓ 가상화 가상화란 하드웨어를 효율적으로 활용하기 위해서 사용중인 운영체제 위에 가상의 머신을 만드는 기술이고, 컨테이너란 컨테이너가 실행되고 있는 호스트 운영체제 즉, 실행되고 있는 운영체제의 기능을 그대로 사용하면서 프로세스를 격리해 독립된 환경을 만드는 기술을 뜻합니다. 도커의 예시 예를들어 보자면 도커는 도시락이랑 비슷합니다. 우리가 도시락을 싸서 소풍을 가게 되었다고 가정해봅시다. 만약, 도시락을 먹을 시간이 되어서 도시락을 먹게 되었을 때 도시락을 열어서 문제될게 있을까요? 거의 없을 겁..
[이전글] https://yooseong12.tistory.com/47 SpringBoot+Redis 를 사용해서 조회수 중복방지 구현해보기 -1 최근에 개인 프로젝트를 진행하면서 조회수 증가 로직을 해당 게시글을 작성한 유저만 조회수 가 증가하지 않게 설정하였습니다. 하지만 위의 사진에 보이듯이 NullPointException 문제가 발생하였 yooseong12.tistory.com 이전의 글에서는 왜 Redis를 사용해서 중복방지를 해야하는지와 Redis 가 무엇인지 간단하게 설명드렸습니다. 이 포스팅에서는 실제로 Redis를 통해 중복방지를 구현해보려고합니다. 우선 Redis-server 가 설치 되어 있어야 합니다. Reids-server 설치 [Window] https://inpa.tistor..
기존에 잘 사용하던 EnableGlobalMethodSecurity 가 Spring Boot 3.x, Spring security 6.x 로 버전을 올리면서 Deprecated가 되었습니다... 이에 따라 값들을 수정해주어야 하는데, 아직 전부 파악하지는 않았고, 어떻게 해결해야하는지 까지는 파악했습니다. 우선, @EnabelGlobalMethodSecurity 는 @EnableMethodSecurity 를 쓰라고 해당 페이지에서 알려줬습니다. https://docs.spring.io/spring-security/site/docs/current/api/deprecated-list.html 또한, 지금까지 옵션으로 설정해주던 prePostEnabled의 값이 ture가 defalut 값이 되면서 설정을 안..
recordYoo
천천히 꾸준하게