반응형 분류 전체보기125 Git Submodule과 Git Subtree Git Submodule과 Git Subtree 이해하기Git을 사용하다 보면 프로젝트 안에서 다른 Git 저장소(Repository)를 관리해야 할 때가 있습니다. 이때 유용하게 쓸 수 있는 두 가지 방법이 바로 Git Submodule과 Git Subtree입니다. Git Submodule Git Submodule 이란?Git Submodule은 Git 저장소 안에 다른 별도의 저장소를 하위 모듈(서브모듈)로 포함시키는 방식입니다. 메인 프로젝트에서 별도의 독립된 프로젝트를 참조하여 사용하는 개념으로 생각하면 쉽습니다. 언제 사용하면 좋을까?여러 프로젝트에서 공통으로 사용되는 라이브러리나 모듈을 별도의 저장소로 분리 하여 관리하고 싶을 때 유용합니다.독립적인 개발 주기와 릴리즈를 가진 모듈을 유지.. 2025. 4. 14. Naver Cloud Icon 공유 draw.io에서 아키텍처 다이어그램을 작성할 때, 종종 특정 클라우드 플랫폼의 공식 아이콘을 활용해야 하는 경우가 있습니다. 그러나 최근 Naver Cloud Platform(NCP)의 아이콘 세트를 draw.io에서 직접 지원하지 않아, 아이콘을 찾는 데 어려움이 있었습니다.이에 따라 Naver Cloud Platform의 공식 웹사이트(ncloud)에서 제공하는 아이콘 자료를 확인한 결과, 현재는 아쉽게도 PowerPoint 형식(.ppt)으로만 제공되고 있었습니다. draw.io는 주로 SVG, PNG와 같은 이미지 파일을 지원하기 때문에 이 PPT 형식의 아이콘을 바로 사용하는 데는 불편함이 있었습니다. 그래서 직접 아이콘들을 추출하여 draw.io에서 즉시 사용 가능한 형태로 변환하여 정리해 .. 2025. 3. 31. AOP(Aspect-Oriented Programming, 관전 지향 프로그래밍) AOP란?AOP(Aspect-Oriented Programming, 관점 지향 프로그래밍)는 애플리케이션의 핵심 로직과는 별개로 반복적으로 사용되는 횡단 관심사(Cross-cutting concerns)를 효과적으로 분리하는 프로그래밍 패러다임입니다. AOP를 활용하면 로깅, 보안, 트랜잭션 관리, 성능 모니터링과 같은 기능을 핵심 비즈니스 로직에서 분리하여 유지보수성과 재사용성을 높일 수 있습니다. 왜 AOP가 필요할까?전통적인 OOP(Object-Oriented Programming, 객체 지향 프로그래밍)에서는 비즈니스 로직과 횡단 관심사 같은 클래스 내에서 섞이기 쉽습니다. 이러한 방식은 코드의 중복을 초래하고, 유지보수를 어렵게 만듭니다. 만약, 횡단 관심사에 대해 모르거나 알고 싶다면 아래를 .. 2025. 3. 19. 💢횡단 관심사 (Cross-cutting concerns) 횡단 관심사(Cross-cutting Concerns)소프트웨어 개발에서는 여러 기능이나 모듈에서 반복적으로 사용되는 공통적인 요소들이 있습니다. 이를 '횡단 관심사(Cross-cutting concerns)'라고 합니다. 쉽게 말해, 특정 기능에 국한되지 않고 다양한 부분에서 필요로 하는 기능들을 의미합니다.예를 들어, 회사에서 여러 부서가 공통적으로 사용하는 업무 프로세스를 생각해 볼 수 있습니다. 모든 부서에서 개별적으로 문서를 관리한다고 가정하면 다음과 같은 공통적인 규칙이 필요할 것입니다.문서는 보안 규정에 따라 접근 권한이 있어야 한다.변경 사항이 기록되어야 한다.일정 기간이 지나면 보관하거나 삭제해야 한다.이러한 규칙은 특정 부서에만 적용되는 것이 아니라, 회사 전체에서 공통적으로 적용되어야.. 2025. 3. 19. [Semantic Kernel] Kernel 생성 방법 ProjectProject: Console ProjectFramework: .NET 9C#: 13IDEVisual Studio 2022 Nuget PackageMicrosoft.SemanticKernel.Core : 1.30.0Microsoft.SemanticKernel : 1.30.0Microsoft.SemanticKernel.Abstractions : 1.30.0Microsoft.SemanticKernel.Connectors.AzureOpenAI : 1.30.0Microsoft.Extensions.DependencyInjection : 9.0.0Microsoft.Extensions.Logging : 9.0.0 appsettings.json{ "LLMOptions": { "AzureOpenA.. 2024. 11. 22. [Semantic Kernel] Kernel 이란? Kernel Kernel 개념Kernel은 Semantic Kernel의 중심 구성 요소입니다. Kernel은 AI 애플리케이션을 실행하는데 필요한 모든 서비스 및 플러그인을 관리하는 종속성 주입 컨테이너입니다. Kernel은 모든 서비스 및 플러그인을 제공하는 경우 필요에 따라 AI에서 원활하게 사용됩니다. 간단히 말해, Semantic Kernel에서 AI 모델, 플러그인, 메모리, 그리고 그 외의 여러 기능을 연결하고 관리하는 역할을 수행합니다. Kernel은 위의 이미지와 같이 모니터링할 수 있는 단일 위치를 가지고 있다. 이 전체 프로세스에서 이러한 각 단계에서 트리거되는 이벤트 및 미들웨어를 만들 수 있다. 즉, 로깅과 같은 작업을 수행하고, 사용자에게 상태 업데이트를 제공하고, 가장 중요한.. 2024. 11. 21. [Microsoft] Semantic Kernel 이란? Semantic Kernel Semantic Kernel: AI 통합의 미래를 열다요즘 AI 모델과의 통합은 IT 개발자들에게 더 이상 선택이 아닌 필수입니다. 이 글에서는 최신 AI 모델을 쉽고 빠르게 코드베이스에 통합할 수 있는 오픈 소스 툴인 **Semantic Kernel**을 소개합니다. C#, Python, Java와 같은 언어를 지원하며, IT 개발자라면 한 번쯤 관심 가져볼 가치가 있습니다. Semantic Kernel이란?Semantic Kernel은 단순한 도구가 아닙니다. 경량 오픈 소스 개발 키트로, AI 모델과의 통합을 미들웨어 수준에서 최적화해 줍니다. 최신 AI 기술을 활용하여 AI 에이전트를 구축하거나 기존 코드를 업그레이드하고 싶다면 바로 이 툴이 해답입니다. 주요 기능C.. 2024. 11. 15. [.NET] appsettings.json 추가하기 appsettings.json 추가하기 IDE : Visual Stuio 2022.NET Version : .NET 8Project : Console Projectgithub : anonyDevMan/Kor-IT-ConsoleProject: Kor-IT Console Project (github.com) 1. "Microsoft.Extensions.Configuration.Json" Nuget Install 2. appsettings.json 추가 3. "출력 디렉토리 복사" 속성 변경appsettings.json 파일의 "출력 디렉토리 복사" 속성 값을 "항상 복사"로 변경한다. 해당 속성값을 변경하지 않으면 Debug 또는 Release 폴더에 복사가 되지 않아 오류가 발생한다. 4. Code .. 2024. 5. 30. AI-102 공부 자료 책임 있는 AI 원칙공정성:AI 시스템은 모든 사람을 공평하게 대해야 합니다.신뢰성 및 안전성: AI 시스템은 믿을 수 있고 안전하게 작동해야 합니다.개인 정보 및 보안: AI 시스템은 안전하고 개인 정보를 존중해야 합니다.포괄성(포용성):AI 시스템은 모든 사용자를 지원하고 참여를 이끌어야 합니다. AI 시스템을 계획, 테스트 및 빌드해야 한다.투명성:AI 시스템은 이해하기 쉬워야 합니다.책임:사람들은 AI 시스템에 대한 책임을 져야 합니다. Document Intelligence (From Recognizer)파일 학습 요구사항PDF, 이미지(JPEG/JPG), PNG, BMP, TIFF, HEIF 형식파일 크기는 유료(S0) 계층의 경우 500MB 미만, 무료(F0) 계층의 경우 4MB 미만이어야 .. 2024. 5. 29. [C#] Distinct(), DistinctBy() 중복제거 Distinct() 정의 namespace : Systme.Linq assembly : Systme.Linq.dll 시퀀스의 고유 요소를 반환한다. Overloads Distinct(IEnumerable, IEqualityComparer) 지정된 IEqualityComparer로 값을 비교(필터)하여 시퀀스에서 고유 요소를 반환된다. Distinct(IEnumerable) 기본 '같음' 비교자로 값을 비교하여 시퀀스에서 고유 요소를 반환한다. ❗비교값 반환 시 첫 번째 값이 반환된다. ⭐지연실행 Distinct(IEnumerable, IEqualityComparer) 지정된 IEqualityComparer로 값을 비교(필터)하여 시퀀스에서 교유 요소를 반환한다. public static System.Co.. 2024. 1. 10. 설겆이 vs 설거지 어떤게 표준어일까❓ '설거지'가 표준어이다. 설거지 '설거지'는 음식을 먼은 뒤에 그릇 따위를 씻어 치우는 일을 뜻하며 다른 의미로는 비가 오려 할 때, 비에 맞으면 안 되는 물건을 치우거나 덮는 일을 뜻한다. '설겆이'로 잘못된 표준어를 알고 있는 사람들이 있다. '설겆이'는 '설거지'의 비표준어 이다. '설겆다'의 뜻을 찾아보면 규범 표기는 '설거지하다'라고 나온다. 이전 '설겆다'는 더 이상 '설겆어라, 설겆으니, 설겆더니'와 같은 활요하는 일이 없다. 따라서 '설겆-'이란 어간은 현재에는 없어졌다고 봐야한다. 제20 항에서는 이와 같이 사어가 되어 쓰이지 않게 된 단어는 고어로 처리하고 현재 널리 사용되는 단어를 표준어로 쓰도록 규정하고 있다. 언어별 단어 영어 dish-washing washing-up do the.. 2023. 12. 20. Gemba Walk / Genba Walk 란 Gemba Walk / Genba Walk 겜바워크(겐바워크)는 실제 프로세스(현장)를 보고 작업을 이해하고, 질문을 던지고, 배우는 활동을 뜻한다. Taiichi Ohno라는 도요타의 생산 시스템의 아버지라 불리는 일본의 산업 기술자이자 사업가이다. Taiichi Ohno가 겜바워크(겐바워크) 개념을 주도했으며 직원들이 직접 작업장(현장)을 직접 걸어 다니며 경험하게 하여 낭비적인 활동을 파악하고 안전상의 위험이 없는지 확인하며 작업장(현장)에 대한 지식을 얻어 직원과의 관계를 바로 세우기 위해 설계했다. 해당 목적은 깊이있는 지식을 얻기보다는 흐름을 이해하며 문제를 이해하는데 초점이 맞추어져 있다. 겜바워크(겐바워크)를 함으로써 시간의 낭비와 기회를 찾아내는 개선 활동이다. 국내에서 이와 비슷한 사례.. 2023. 10. 20. [비즈니스] 겐바❓(gemba) 겜바❓ (genba) 現場(gemba) 現場는 문자 그대로 의미하는 뜻은 (사건·사고 등의)현장, (작업의) 현장의 의미로 쓰인다. 발음으로는 겐바, 겜바 모두 사용되며 아직 한국어 규범 표기로는 미확정이다. 본문 글에서는 '겐바'를 주로 사용하겠다. 겐바는 일본어로 げんば 이며 일본어에서 온 단어이며 영어로는 gemba 라고 표기한다. 제조 환경에서의 겐바(gemba)는 제조 현장을 의미하며 이렇듯 특정 환경의 현장 또는 장소를 의미하는 바가 크다. 일반적으로 사용하는 의미로는 "실제 장소" 또는 "가치가 창출되는 장소"를 의미한다. 2023. 10. 20. 플랫폼 vs 플렛폼 어떤게 표준어일까❓ '플랫폼'이 표준어이다. 플랫폼 '플랫폼'은 역에서 승객이 열차를 타고 내리기 쉽도록 철로 옆으로 지면보다 높여서 설치해 놓은 평평한 장소로 뜻하며 사방 4미터의 각재로 만든 대라는 뜻도 있다. 하지만 회사 또는 IT 에서는 '플랫폼'이라는 단어의 뜻은 어떤 재화나 서비스를 공급하기를 원하거나, 혹은 그 재화와 서비스를 소비하기를 원하거나, 혹은 그냥 단순히 검색같은 서비스 이용자가 한 자리에 모이게 되는 공간 또는 서비스를 뜻한다. 이렇듯 '플랫폼'은 크게 감싸서 하나를 뜻하는 의미를 같기도 한다. 국립국어원 표준국어대사전을 좀더 참고해서 설명하면 정보·통신 컴퓨터 시스템의 기반이 되는 소프트웨어가 구동 가능한 하드웨어 구조 또는 소프트웨어 프레임 워크의 하나이다. 구조, 운영 체제, 프로그래밍 언어 .. 2023. 10. 17. Swagger 란? API Documentation & Design Tools for Teams | Swagger Loved by all • Big & Small Thousands of teams worldwide trust Swagger to deliver better products, faster. swagger.io Swagger는 애플리케이션 RESTful API 문서를 자동으로 구성해 주는 도구이다. API를 만들면 해당 API에 대한 문서를 Excel, Word .. 같이 따로 API에 대한 문서를 작성해야 하지만 Swagger를 이용하면 코드자체에서 이루어질 수 있다. Swagger는 2015년에 OpenAPI에 기부되었다. 기본적인 UI 가 제공되어 누구나 쉽게 API 문서를 보며 진행할 수 있게 되어있다. .. 2023. 7. 31. [Azure] Cognitive Search - SearchOptions Class SearchOptions Class Properties Facets 검색 쿼리에 적용할 패싯 식의 목록입니다. 각 패싯 표현식에는 필드 이름이 포함되며, 선택적으로 쉼표로 구분된 이름:값 쌍 목록입니다. public System.Collections.Generic.IList Facets { get; } IList Filter 검색 쿼리에 적용할 OData $filter 표현식입니다. Create(FormattableString)을 사용하여 필터 식을 구성할 수 있습니다. public string Filter { get; set; } String HighlightFields hit highlights에 사용할 필드 이름 목록입니다. 검색 가능한 필드만 hit highlights에 사용할 수 있습니다. pu.. 2023. 7. 19. Anchor Tag Helper 란? (앵커 태그 도우미) Anchor Tag Helper 란? 설명 Anchor Tag Helper는 표준 HTML 태그에 새로운 특성을 추가하여 향상시킨다. 규칙에 따라 해당 특성들의 이름은 asp- 접두사로 시작된다. 렌더링 되는 Anchor 요소의 href 특성 값은 asp- 특성들의 값에 따라 결정된다. 특성 asp-controller asp-controller 는 URL 생성에 사용되는 Controller를 할당한다. All Speakers All Speakers asp-action asp-action 은 생성되는 href 특성에 작업되는 이름을 나타낸다. Controller 에 Route에 [action] 부분과 동일한 부분이다. Speaker Evaluations Speaker Evaluations 만약 asp-ac.. 2023. 7. 11. [C#] Linq - Aggregate 메서드 Aggregate namespace : Systme.Linq Assembly : System.Linq.dll Aggregate는 정확히는 Enumerable.Aggregate 이다. 반복적으로 일어나는 행위에 대해서 처리되는 메서드 이다. Overloads Method Description Aggregate(Ienumerable, Func) 시퀀스에 누적 함수를 적용한다. Aggregate(IEnuerable, TAccumulate, Func) 시퀀스에 누적시 삼수를 적용한다. 지정된 시드 값은 초기 누적기 값으롤 사용된다. Aggregate(IEnumerable, TAccumulate, Func, Func) 시퀀스에 누적기 함수를 적용한다. 지정된 시드 값은 초기 누적기 값으로 사용된다. 지정된 함수는.. 2023. 6. 27. [Azure] Azure Cosmos DB Emulator Install (간단설치방법) Azure Cosmos DB Emulator Install Azure Cosmos DB Emulator 란? 오늘은 Azure Cosmos DB Emulator 설치 방법에 대해서 알아보자. 만약, Azure Cosmos DB 에 대해 모른다면 이전에 Azure Cosmos DB 에 대해서 작성해둔 글을 보고 오길 바란다. (아래⬇️ 링크 클릭) [Cosmos] Azure Cosmos DB 란? Cosmos DB 소개 Azure Cosmos DB는 Microsoft에서 제공하는 클라우드 기반의 NoSQL 데이터베이스 서비스이며 완전 관리형 서비스이다. Azure Cosmos DB는 자동관리, 업데이트 및 패치를 통해 데이터베이스 관리 it-developer-tistory.tistory.com Azure .. 2023. 6. 19. [Azure] Azure Blob Storage 란? Azure Blob Storage Azure Blob Storage 란? Azure Blob Storage는 클라우드릴 위한 Microsoft의 개체 스토리지 솔루션이다. Blob Storage는 대량의 비정형 데이터를 저장하는데 최적화되어 있다. 비정형데이터란 텍스트 or 이진 데이터와 같은 특정 데이터 모델이나 정의를 따르지 않는 데이터를 뜻한다. Azure Blob Storage는 전 세계 어디서나 Http/Https 를 통해 Blob Storage에 액세스 할 수 있다. Blob Storage는 Azure Storage REST API, Azure PowerShell, Azure CLI or Azure Storage 클라이언트 라이브러리를 통해 액세스 할 수 있다. Azure Blob Storag.. 2023. 6. 16. [Azure] Azure App Service 란? What is Azure App Service ? 소개 Azure App Service는 Microsoft Azure 에서 제공하는 서비스중 하나로, 웹 애플리케이션을 간편하게 호스팅 할 수 있도록 도와주는 플랫폼이다. 웹 애플리케이션, REST API, 및 백 엔드를 호스트하는 HTTP 기반 서비스 이다. 개발자들이 복잡한 인프라 관리나 서버 설정에 신경 쓰지 않고도 애플리케이션을 배포하고 실행할 수 있다. Azure App Service 는 다양한 언어와 프레임워크를 지원하며, 개발자들이 원하는 도구와 기술로 애플리케이션을 개발할 수 있는 유연성을 제공하고 있다. 개요 - Azure App Service Azure App Service로 웹 애플리케이션을 개발 및 호스팅하는 방법에 대해 알아보세요. .. 2023. 6. 12. 이전 1 2 3 4 ··· 6 다음 반응형