2025/04 7

vscode marketplace download extension 버튼 없어짐 : VSIX 없어진 다운로드 버튼??

최근 Visual Studio Marketplace에서 확장 프로그램 다운로드 버튼이 사라지면서, 오프라인 설치나 백업 목적의 다운로드가 불편해졌습니다. 특히 사내망이나 인터넷이 차단된 환경에서는 이 문제가 더 크게 다가오죠. 다행히도, 예전 방식대로 직접 URL을 통해 .vsix 파일을 받아 설치하는 방법이 여전히 유효합니다. 이 글에서는 그 방법을 정리해보겠습니다.  기존에는 있었던 "Download Extension" 버튼... 지금은?? 예전에는 아래와 같이 확장 페이지에서 쉽게 .vsix 파일을 다운로드할 수 있는 버튼이 있었습니다.지금은 더 이상 제공되지 않습니다! 지금 가능한 방법: 직접 URL 생성 예전 공식 문서에 따르면, 다음과 같은 형식의 URL로 확장 프로그램을 직접 다운로드할 수 ..

업무 기록/ETC 2025.04.11

스트랭글러 패턴(Strangler Pattern): 레거시 시스템 현대화의 지혜와 어원

자연에서 배운 시스템 전환 전략소프트웨어 세계에서 레거시 시스템을 현대화하는 것은 항상 큰 도전입니다. 한 번에 모든 것을 교체하는 '빅뱅' 방식은 위험이 크고, 오랜 서비스 중단을 초래할 수 있습니다. 이러한 문제를 해결하기 위해 등장한 것이 스트랭글러 패턴(Strangler Pattern)입니다.  스트랭글러 무화과에서 영감을 얻다이 패턴의 이름은 호주 열대우림에서 볼 수 있는 '스트랭글러 무화과(Strangler Fig)' 식물에서 유래했습니다. 소프트웨어 설계 패턴의 대가인 마틴 파울러(Martin Fowler)가 2004년에 이 패턴을 명명했을 때, 그는 이 식물의 독특한 생존 방식에서 영감을 받았습니다.스트랭글러 무화과는 다음과 같은 과정으로 성장합니다:다른 나무의 가지에 씨앗이 떨어져 발아합..

업무 기록/ETC 2025.04.11

PreparedStatement 란? 기본개념, 장점, 성능향상, 메서드 활용과 주의사항 등

(구)웹에서 무지성으로 대충 내용만 알고 사용하던 방식을 이번에 정리가 하고 싶어서 작성하게 되었습니다.   PreparedStatement란?PreparedStatement는 자바(Java)의 JDBC(Java Database Connectivity) API에서 제공하는 인터페이스로, 데이터베이스와 상호작용할 때 SQL 쿼리를 안전하고 효율적으로 실행할 수 있게 해주는 도구입니다.  기본 개념PreparedStatement는 일반적인 Statement와 달리, SQL 쿼리를 미리 컴파일하고 실행 시점에 파라미터 값만 바인딩하는 방식으로 동작합니다.  작동 방식 (단계별) SQL 쿼리 준비: 물음표(?)를 사용하여 값이 들어갈 자리를 표시합니다.쿼리 컴파일: 데이터베이스가 쿼리를 미리 분석하고 실행 계획..

Java/Java 2025.04.09

LLM의 중추, 트랜스포머 아키텍처

2편 LLM의 중추, 트랜스포머 아키텍처1. 트랜스포머 아키텍처란?트랜스포머(Transformer)는 2017년 구글이 발표한 "Attention Is All You Need" 논문에서 소개된 딥러닝 모델로, 자연어 처리(NLP) 분야에서 획기적인 변화를 가져왔다. 기존의 순차적 처리 방식(RNN, LSTM)과 달리 병렬 연산이 가능하여 학습 속도가 빠르고 성능이 뛰어나다. 트랜스포머의 핵심 개념은 어텐션 메커니즘(Attention Mechanism)이며, 특히 셀프 어텐션(Self-Attention)과 멀티 헤드 어텐션(Multi-Head Attention)을 활용하여 문맥을 효과적으로 파악한다. 또한, 기본적으로 인코더-디코더(Encoder-Decoder) 구조를 가지며, 이후 BERT, GPT 등의..

LLM(Open AI) 2025.04.04

메시징 웹 애플리케이션 아키텍처 분석

메시징 기능을 갖춘 웹 애플리케이션의 현대적인 아키텍처에 대해 상세히 알아보겠습니다. 이 아키텍처는 실시간 메시징, 확장성, 모니터링 기능을 갖춘 엔터프라이즈급 시스템을 위해 설계되었습니다.  전체 아키텍처 구성이 메시징 웹 아키텍처는 다음과 같은 주요 구성 요소로 이루어져 있습니다:개발 환경 (Development)CI/CD 파이프라인프론트엔드 서버백엔드 서버메시지 브로커캐시 시스템데이터베이스모니터링 시스템테스트 인프라이미지 서버각 구성 요소의 역할과 상호작용을 자세히 살펴보겠습니다.  1. 개발 환경 (Development)개발자는 코드를 작성하고 Git을 통해 소스 코드를 관리합니다:Git: 분산형 버전 관리 시스템으로, 개발자는 이를 통해 코드 변경사항을 푸시합니다.Git Push: 개발자가 코드..

웹 애플리케이션 관리자 사이트 아키텍처 분석

프로젝트를 하면서 잊지 않기 위해 정리용으로 작성하였습니다.관리자 사이트 아키텍처에 대해 상세히 알아보겠습니다. 이 아키텍처는 대규모 트래픽을 처리하고 개발 효율성을 높이는 데 최적화되어 있습니다.    전체 아키텍처 구성 이 아키텍처는 크게 다음과 같은 주요 구성 요소로 이루어져 있습니다:개발 환경 (Development)CI/CD 파이프라인 (Jenkins)서버 인프라 (프론트엔드, 백엔드)테스트 인프라데이터베이스 시스템 각 구성 요소의 역할과 상호작용을 자세히 살펴보겠습니다. 1. 개발 환경 (Development) 백엔드 개발 환경백엔드는 다음과 같은 기술 스택으로 구성되어 있습니다:Kotlin: JVM 기반의 현대적인 프로그래밍 언어로, Java와 완벽한 상호 운용성을 제공하면서도 더 간결한 문..

LLM의 기초 뼈대 세우기

최근 몇 년간 대형 언어 모델(LLM, Large Language Model)의 발전은 인공지능(AI) 분야에서 가장 뜨거운 이슈 중 하나입니다. 챗GPT와 같은 AI 챗봇부터 코드를 작성하는 AI까지, LLM이 우리의 삶과 업무에 미치는 영향은 점점 커지고 있습니다. 이번 글에서는 LLM의 기초 개념부터 현재의 발전 과정, 그리고 미래의 전망까지 깊이 있게 살펴보겠습니다.    1. 딥러닝과 언어 모델 LLM을 이해하려면 먼저 딥러닝과 언어 모델의 기본 개념을 알아야 합니다.  딥러닝(Deep Learning)이란? 딥러닝은 다층 신경망(Deep Neural Network)을 활용하여 데이터를 학습하는 기계 학습 기법입니다. 특히 자연어 처리(NLP, Natural Language Processing)..

LLM(Open AI) 2025.04.01