혁신을 이룹니다, 오딘박스(OdinBOX)

언제나 어디서나 오딘박스와 함께!

DEVELOPMENT 138

Google Gemini CLI, 사용방법

윈도우 기준으로 Node.js를 설치하고 Google의 최신 AI 터미널 도구인 Gemini CLI를 사용하는 방법윈도우에서 Node.js 설치부터 Gemini CLI 설정까지 한 번에!개발 입문 자라면 AI 도구를 활용해 개발 생산성을 높이고 싶을 때가 있습니다. 구글이 공개한 Gemini CLI는 터미널에서 바로 AI 도움을 받을 수 있는 오픈소스 도구로 개인 Google 계정만 있으면 무료로 구글 AI 모델인 Gemini 2.5 Pro의 기능을 사용할 수 있습니다. 이 글에서는 윈도우(Windows) 운영체제 기준으로 NodeJS 설치부터 Google Gemini CLI 설치 및 초기 설정, 그리고 기본 사용방법까지 단계별로 정리를 해보겠습니다.목차Google Gemini CLINodeJS 설치방법..

DEVELOPMENT 14:21:46

Java의 핵심 구조, JDK / JRE / JVM 완전 정복! 개념부터 구성 원리까지

JDK, JRE, JVM은 자바 플랫폼의 근간을 이루는 요소로, 각 요소의 정확한 이해는 자바 개발을 위한 첫걸음입니다.자바의 JDK,JRE,JVM은 이 글 하나로 정리 끝!Java는 1995년 Sun Microsystems에서 처음 공개된 이후, 현재까지도 다양한 산업 분야에서 널리 사용되고 있는 객체지향 프로그래밍 언어입니다. 플랫폼 독립성, 보안성, 안정성을 강점으로 하는 Java는 서버 개발, 웹 애플리케이션, 모바일 앱, 금융 시스템 등에서 핵심 기술로 자리잡아 왔습니다. 그러나 Java를 처음 접하는 개발자들이 가장 혼란스러워하는 개념이 바로 JDK, JRE, 그리고 JVM입니다. 비슷하게 생긴 이름 탓에 그 차이점이 모호하게 느껴지기도 하고, 어디서부터 설치해야 할지도 어렵게 다가올 수 있..

DEVELOPMENT 2025.04.27

PostgreSQL, 자세히 알아보기

PostgreSQL 도입을 위한 기술적 기준과 실무 적용 사례 총정리PostgreSQL에 대해서 자세히 알아봅시다. 개발을 하다보면 꼭 마주하게 되는 기술이 있는데 그것이 바로 데이터베이스(DB)입니다, 그리고 그중에서도 많이 듣게 되는 이름 중 하나가 이번에 소개하는 PostgreSQL입니다. 오픈소스임에도 불구하고 상용 데이터베이스와 비교해도 뒤쳐지지 않는 성능과 기능을 가지고 있습니다. PostgreSQL에 대해서 자세히 알아보시죠! 목차PostgreSQL소개PostgreSQL은 1986년 미국 UC버클리에서 시작된 POSTGRES 프로젝트를 기반으로 만들어진 오픈소스 데이터베이스이며, 1996년부터 현재의 이름으로 불리기 시작했고 지금은 전세계적으로 널리 사용되는 대표적인 관계형 데이터베이스이며 ..

DEVELOPMENT 2025.04.11

MutationObserver, 개념과 활용 예제

MutationObserver란 무엇인가?MutationObserver 알아보자!웹 개발 시 DOM(Document Object Model)의 변화를 감지하고 대응하는 것은 사용자 경험 향상에 중요합니다. JavaScript의 MutationObserver는 이러한 DOM 변경을 효율적으로 감지하고 처리할 수 있는 API입니다. MutationObserver의 개념과 활용법을 상세히 알아보겠습니다.목차MutationObserver개념MutationObserver는 DOM 트리의 변화를 감시하고, 변경이 발생하면 지정된 콜백 함수를 실행하는 JavaScript의 내장 객체입니다. 이전의 Mutation Events를 대체하며, 성능과 효율성 면에서 개선된 기능을 제공합니다. 이를 통해 노드의 추가, 제거,..

DEVELOPMENT 2025.04.05

Semantic Kernel 개념(예제포함) 및 교육 후기

Semantic Kernel에 대해서 알아봅시다Semantic Kernel을 알아보고 교육 후기를 알아보자인공지능 기술의 발전은 개발자들에게 지능형 애플리케이션을 구축할 수 있는 새로운 기회를 제공하고 있습니다. 이러한 흐름 속에서 마이크로소프트의 오픈소스 프로젝트인 Semantic Kernel은 대규모 언어 모델(LLM)을 가존 애플리케이션과 통합하여 AI 기능을 손쉽게 구현할 수 있는 강력한 도구입니다. Semantic Kernel을 개념과 주요 특징을 상세히 소개하고 이를 활용한 예제와 사용법을 적어보고 교육을 참여하게 되었는데 그에 관련된 후기도 남겨볼까 합니다.목차Semantic Kernel Semantic Kernel이란?최신 AI 모델을 C#, Python, Java와 같은 기존 프로그래밍 ..

DEVELOPMENT 2025.03.30

HTML id, class, name 속성 이해와 활용방법

웹 페이지의 구조, 디자인, 그리고 동적인 기능 구현에 결정적인 역할을 하는 id, class, name 속성HTML에서 사용하는 ID,CLASS,NAME을 알아봅시다!웹 개발의 기초이자 핵심인 HTML은 단순한 마크업 언어를 넘어, 웹 페이지의 의미 구조를 정의하고 다양한 기능을 구현하는 데 중요한 역할을 합니다. HTML 요소에 부여되는 여러 속성 중에서도 id, class, 그리고 name은 웹 페이지를 동적으로 만들고, 스타일을 적용하며, 사용자로부터 데이터를 효율적으로 수집하는 데 필수적인 요소입니다. 하지만 이 세 가지 속성은 각기 다른 목적과 특징을 가지고 있어, 이를 정확히 이해하고 적절하게 사용하는 것이 효율적인 웹 개발의 첫걸음입니다. 본 글에서는 id, class, name 속성의 개..

DEVELOPMENT 2025.03.22

jQuery $.getScript() 함수를 사용한 동적 스크립트 로딩

동적 스크립트 로딩으로 웹 페이지 속도 UP! jQuery $.getScript() 완벽 가이드jQuery $.getScript() 웹 페이지의 성능을 향상하는 방법 중 하나는 자바스크립트 파일을 동적으로 로딩하는 것입니다. 동적 스크립트 로딩은 필요한 시점에만 자바스크립트 파일을 로드하여 초기 페이지 로딩 시간을 단축하고, 필요하지 않은 스크립트 실행을 방지하여 웹 페이지의 전반적인 성능을 향상할 수 있습니다. jQuery는 $.getScript() 함수를 통해 동적 스크립트 로딩을 간편하게 구현할 수 있도록 지원합니다. 이 글에서는 $.getScript() 함수의 기능과 사용법, 예제 코드, 주의 사항 등을 자세히 살펴보겠습니다. 목차jQuery $.getScript()jQuery $.getScrip..

DEVELOPMENT 2025.03.09

C# ASP.NET BackgroundService 개념 및 활용 가이드

IHostedService, CancellationToken, 범위 지정 서비스 완벽 이해 및 실전 적용백그라운드 작업의 핵심, BackgroundService A to Z  ASP.NET Core는 웹 애플리케이션 개발을 위한 강력한 프레임워크이지만, 웹 요청 처리 외에도 다양한 백그라운드 작업 요구사항을 충족해야 합니다. 주기적인 작업 스케줄링, 이벤트 기반 비동기 처리, 장시간 연산 작업 관리 등 백그라운드 작업은 애플리케이션의 기능 확장과 효율성 증진에 필수적입니다. ASP.NET Core는 이러한 요구를 위해 IHostedService 인터페이스와 BackgroundService 추상 클래스를 핵심 구성 요소로 제공합니다. 본 글에서는 BackgroundService의 개념을 심층적으로 이해하고..

DEVELOPMENT 2025.03.01

JavaScript 정규 표현식 가이드, 문법과 예제

생각보다 많이 쓰닌깐 기억해 보자고요!정규 표현식 생각보다 많이 씁니다! 정규 표현식(Regular Expressions)은 텍스트 데이터를 검색, 추출, 변환하는 데 강력한 도구입니다. 특히 JavaScript에서 정규 표현식은 문자열 처리 작업을 간소화하고 효율성을 높이는 데 중요한 역할을 합니다. 하지만 복잡한 문법과 다양한 기능 때문에 처음 접하는 사람들에게는 어렵게 느껴질 수 있습니다.JavaScript 정규 표현식의 기본 문법부터 실전에서 자주 사용되는 예제까지 체계적으로 정리해 보겠습니다. 이를 통해 정규 표현식을 활용한 예제도 보시죠!목차 자바스크립트 정규식기본 구조정규 표현식은 /패턴/플래그 형태로 작성됩니다.const regex = /odinbox/; // odinbox라는 것을 찾는다..

DEVELOPMENT 2025.01.19

레거시 코드, 너는 대체 왜 이러니? 개발자의 생존 가이드

레거시 코드는 '누가 이걸 만들었어?' 하다가 거울 속 내 얼굴을 보게 되는 코드레거시 코드는 과거의 선택이 현재의 도전이 된 코드개발자라면 누구나 한 번쯤 이런 경험이 있을 겁니다."이 코드는 누가 짰지?""어라, 내가 짰네..." 이제는 손대기 무서운 코드가 되어버린 레거시 코드레거시 코드는 마치 오래된 라면 수프처럼, 없으면 안 되지만 뜯으면 뭔가 찝찝한 존재입니다. 하지만 이것도 결국 누군가의 땀과 눈물로 만들어진 유산이죠. 이번 글에서는 레거시 코드의 정체와 문제점, 이를 어떻게 다루면 좋을지, 그리고 우리에게 주는 교훈까지, 재미있고 실용적으로 풀어보겠습니다.목차레거시코드레거시 코드란 무엇인가?레거시 코드(Legacy Code)란 단순히 오래된 코드를 의미하지 않습니다. 대체로 다음과 같은 특..

DEVELOPMENT 2025.01.04