프로그래밍 161

[Akka.Net] `SchedulerExtensions`사용하여 예약메시지 보내기

https://getakka.net/api/Akka.Actor.SchedulerExtensions.htmlSchedulerExtensions 클래스SchedulerExtensions Class에는 다양한 스케줄러 작업에 사용되는 확장 메서드가 포함되어 있습니다.메서드ScheduleTellOnce지정된 시간 후에 메시지가 한 번 전송되도록 예약합니다.public static void ScheduleTellOnce(this ITellScheduler scheduler, int millisecondsDelay, ICanTell receiver, object message, IActorRef sender, ICancelable cancelable = null)ScheduleTellOnceCancelable지정된..

[JavaScript] JavaScript란

자바스크립트 란?JavaScript는 웹의 프로그래밍 언어이다.HTML과 CSS를 모두 업데이트하고 변경할 수 있다.- HTML : 웹페이지의 내용 정의- CSS : 웹페이지의 레이아웃 정의- JavaScript : 웹페이지의 동작 정의동작 원리javascript는 single threaded 언어이다.single thread환경에선 아래와 같은 코드를 위에서부터 한줄한줄 실행시켜준다.pythonprint(1+1)time.sleep(1)print(2+2)결과출력24javascript코드는 어떨까?아래 setTimeout()은 python의 time.sleep()과 비슷한 코드이다. 일정 시간 정지 후 console.log('3+3');을 실행 시키는 코드이다.javascriptconsole.log('1+..

[HTML] HTML 개념

HTMLHTML은 웹 페이지를 생성하기 위한 표준 마크업 언어HTML 예제My First HeadingMy first paragraph. 선언은 이 문서가 HTML5 문서임을 정의합니다. 요소는 HTML 페이지의 루트 요소입니다. 요소에는 HTML 페이지에 대한 메타 정보가 포함되어 있습니다. 요소는 HTML 페이지의 제목을 지정합니다(브라우저의 제목 표시줄이나 페이지 탭에 표시됨). 요소는 문서의 본문을 정의하며 제목, 단락, 이미지, 하이퍼링크, 표, 목록 등과 같이 표시되는 모든 콘텐츠에 대한 컨테이너입니다. 요소는 큰 제목을 정의합니다. 요소는 단락을 정의합니다.HTML 요소란?시작 태그, 일부 콘텐츠 및 종료 태그로 정의ex> Content goes here... ex> My First Hea..

[Docker] Docker Engine 설치

Docker Desktop이 유료화 되면서 사용할 수 없게 됐다.Windows 컨테이너만 실행할 수 있도록 하는 Docker 데몬을 Windows Server에 설치하여 사용할 수 있다.Docker EngineDocker Engine은 다음 세 가지 주요 부분으로 구성Docker Daemon Docker Engine의 백그라운드 프로세스모든 주요 작업(컨테이너 실행, 이미지 관리, 네트워킹 등)을 처리하고 클라이언트 요청(Docker CLI 및 API)을 수행합니다.REST API를 통해 Docker 클라이언트와 통신Docker CLI 사용자가 명령을 내릴 때 사용하는 명령줄 인터페이스(CLI)입니다.ex> docker run, docker build, docker pull Container Runtim..

[LLM] Ollama 모델 사용기 - 2

Open WebUIOpen WebUI는 완전히 오프라인으로 작동되며, 사용자 친화적인 자체 호스팅 AI 플랫폼이다.RAG용 추론 엔진이 내장되어 Ollama 및 OpenAI 호환 API와 같은 다양한 LLM 실행기를 지원한다.github : https://github.com/open-webui/open-webuiOpen WebUI doc : https://docs.openwebui.com/getting-started/quick-start/docker image 다운로드open webui 도커이미지 다운로드한다.docker pull ghcr.io/open-webui/open-webui:maindocker container 실행Container 실행위하여 아래 명령어 참고한다.Model Load없이 순수하게..

프로그래밍 2025.01.09

[LLM] Ollama 모델 사용기 - 1

OllamaOllama는 LLM 중 한 종류이다.ChatGPT와 비교하여 성능이 우수하다고 들었고, 사용해보기로 했다.그리고 아래는 누군가가 모델 별 성능을 비교해 놓은 표이다.https://medium.com/@ruslanmv/how-to-run-ollama-webui-chatbot-locally-offline-5a23ec47459a작업환경OS: Window 10GPU : GeForce GTX 1050 TiOllama 설치ollama githubhttps://github.com/ollama/ollama아래 링크 중 한 곳에서 셋업파일 다운로드 진행 및 설치까지 진행한다.https://ollama.com/downloadhttps://github.com/ollama/ollama?tab=readme-ov-f..

프로그래밍 2025.01.09

[C#] 팩토리 패턴

팩토리 패턴직접 생성자(new 연산자)호출 사용 대신 객체 생성 시 사용됩니다.팩토리 메서드의 반환 유형은 일반적으로 추상 클래스 또는 인터페이스로 선언됩니다.샘플 코드 static void Main(string[] args) { IDBConnector dbConnector = DBFactory.CreateDBConnector("Oracle"); dbConnector.Connection(); dbConnector.Disconnection(); } public class DBFactory { public static IDBConnector CreateDBConnector(string dbType) { return dbType switch {..

프로그래밍/C# 2025.01.03

[C#] C# 10.0 CallerArgumentExpression특성

샘플 코드static void Main(string[] args){ int a = 1; Assert(a > 0); }static void Assert(bool argument1, [CallerArgumentExpression("argument1")] string? paramName = null){ if (argument == false) { Console.WriteLine($"argument = {argument1}, paramName = {paramName} "); }}CallerArgumentExpression 특성이 붙은 인자는 기본값이 있어야 하고 그 특성에 전달된 argument1은 해당 메서드에 전달된 또 다른 매개 변수의 이름이어야 합니다.출력 결..

프로그래밍/C# 2025.01.02

[Docker] Windows 이미지 사용기

docker windows : https://hub.docker.com/r/dockurr/windows테스트 배경온라인으로 은행 업무를 볼 때마다 수많은 보안 툴들이 설치되는데,이 보안 툴들이 프로세스들을 계속적으로 감시하면서 PC성능 저하를 일으키므로, (실제로 보안 툴 설치 여부에 따라서 동일한 프로그램 실행에도 버벅임이 줄었음을 확인했다.)은행 업무 후엔 설치 된 모든 보안 툴을 삭제해주는 작업을 진행했다.하지만 이 작업들이 반복되면서 짜증을 느꼈다.별도의 OS환경이 필요함을 느꼈고, Docker 기반 Windows OS를 실행시켜 사용할 수 있다는걸 발견했다.물론 Windows 에는 샌드박스라는 좋은 시스템이 있긴하지만, 샌드박스는 임시로 실행되는 인스턴스 환경을 제공하므로,샌드박스 종료 시 모든..

[WPF] MaterialDesign 아이콘 사용하기

Open source Iconpictogrammers 사이트에 접속합니다. (https://pictogrammers.com/libraries)Open source Icon 제공Icon 선택 후 `Download XAML (Canvas) for Windows` 선택하여 다운로드합니다.Notepad사용하여 내용 복사합니다.wpf xaml파일에서 사용합니다.ViewBox를 사용하면 크기 조절이 가능합니다.Account.xaml Canvas Class : https://learn.microsoft.com/ko-kr/dotnet/api/system.windows.controls.canvas?view=windowsdesktop-9.0

프로그래밍 2024.12.17

클래스 간의 관계 (UML)

클래스 간의 관계 (UML)UML 다이어그램에서 클래스 간의 관계는 객체 지향 프로그래밍에서 클래스들이 어떻게 연결되고 상호작용하는지를 나타냅니다.1. Association (연관 관계)표현 방식의미클래스 간의 일반적인 참조 관계를 나타냅니다.한 클래스가 다른 클래스의 인스턴스를 속성이나 필드로 가지는 경우 나타납니다.두 클래스는 독립적으로 존재할 수 있지만 서로 연결됩니다.예시 코드public class Student{ public Teacher Teacher { get; set; }}public class Teacher{ public string Name { get; set; }}관계 표시Student → Teacher설명Student 클래스는 Teacher 객체를 참조하는 속성을 가지고 ..

프로그래밍 2024.12.06

[EFCore] Entity Framework Core

Entity Framework Core란?EF Core(Entity Framework Core)는 .NET 애플리케이션에서 데이터베이스와 상호 작용하기 위한 ORM(Object-Relational Mapping) 프레임워크입니다.EF Core는 C# 같은 객체 지향 언어의 클래스를 데이터베이스 테이블과 매핑하여, SQL 쿼리를 작성하지 않고도 데이터베이스 작업을 수행할 수 있도록 도와줍니다.https://learn.microsoft.com/ko-kr/ef/core/Model이란?EF Core에서는 데이터 액세스가 모델을 통해 수행됩니다.모델은 엔터티 클래스 및 데이터베이스와의 세션을 나타내는 컨텍스트 개체로 구성됩니다.컨텍스트 개체를 사용하여 데이터를 쿼리하고 저장할 수 있습니다.마이그레이션(Migrat..

프로그래밍 2024.11.29

Hypervisor (하이퍼바이저)

하이퍼바이저란?하이퍼바이저는 프로세서, 메모리, 스토리지와 같은 컴퓨팅 리소스를 가상 머신(VM)에 재할당하는 소프트웨어입니다.이 기술을 통해 여러 VM을 생성하여 단일 물리 머신에서 실행하는 가상화가 실현될 수 있습니다. 하이퍼바이저는 각 VM에 할당된 리소스를 제공하고 물리적 리소스에 대한 VM 리소스의 스케줄링을 관리합니다.예를 들어 하이퍼바이저가 스케줄을 관리하는 동안에도 물리적 하드웨어는 여전히 실행을 수행하므로 CPU는 VM의 요청에 따라 CPU 명령을 실행합니다. 하나의 하드웨어에서 여러개의 운영 체제를 동시에 실행되고 가상화된 동일한 하드웨어 리소스를 하이퍼바이저와 공유할 수 있습니다.이것이 가상화의 주요 장점입니다. 가상화가 없으면 하나의 하드웨어에서 하나의 운영 체제만 실행할 수 있습니다.

프로그래밍 2024.11.28

[C#] CPU, DISK I/O 스트레스 테스트

CPU, DISK I/O 사용률을 최대로 사용한 상태에서 APP 테스트가 필요하여 사용하게 된 코드입니다.using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CPU_Disk_PerformanceTEST{ public class CPU_DiskPerformanceTEST { public static void Main(string[] args) { Console.WriteLine(" 1 : Use Cpu 100% \n 2 : Usage DIsk IO"); ..

프로그래밍/C# 2024.10.18