프로그래밍 150

[C#] CMD 실행 후 원격PC의 tasklist 확인하기

CMD 실행 후 command 명령어를 입력한 결과 값을 받아오는 코드 아래 코드에서 startInfo.Arguments에 CMD의 command를 입력하는데, 입력 시 /C를 입력해줘야한다. static void Main(string[] args) { // Create a ProcessStartInfo object ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = "cmd.exe"; startInfo.Arguments = "/C tasklist /s 127.0.0.1 -u administrator -p 123456 | find \"processname\""; // The command you want to execute ..

프로그래밍/C# 2023.03.17

[MinIO] MinIO Windows에 설치하기

1. MinIO Open Source Object Storage Kubernetes, docker, OS (linux, macOS, Windows)등 다양한 운영 환경을 지원합니다. MinIO는 2개 모드를 구성할 수 있습니다. Standalone : Node 1개 - Drive 1개 Distributed : Node n개 - Drive n개 1.1. MinIO - Distributed 모드 multi drive를 하나의 object storage 로 묶는 기능입니다. Distributed 모드로 사용하면 Erasure Coding 기법을 사용하여 Object를 관리합니다. Erasure Coding 기법을 사용함으로써 데이터 중복을 허용, 가용성을 지원합니다. 데이터를 인코딩하여 추가한 후 데이터 손실..

프로그래밍 2023.03.10

Zero Copy 란?

참조 : https://soft.plusblog.co.kr/7 Normal Copy (일반복사) 애플리케이션은 디스크에서 정적 파일을 읽어 네트워크 소켓으로 데이터를 전송하는 일을 반복적으로 수행한다. 간단한 이 동작에는 운영체제 내부에서의 불필요한 컨텍스트 스위칭(Context Switching)과 데이터 복사(Data Copy)가 수반된다. 버퍼를 할당 받고 디스크에서 파일을 버퍼로 읽어들여서 다시 소켓으로 전송하는 형태다. Zero Copy Java의 Transferto()를 사용한 예로 설명하겠다. Transferto()를 사용하면, 2~3번 과정 없이 애플리케이션을 거치지 않고 ReadBuffer -> SocketBuffer로 데이터가 복사된다. 컨텍스트 전환은 4회 -2회, 데이터 복사는 4회..

프로그래밍 2023.03.05

[Docker] Docker VS Podman

참조 : https://www.lambdatest.com/blog/podman-vs-docker/ 일반적으로 Podman과 Docker는 동일한 작업을 수행합니다. Docker VS Podman Docker 데몬은 단일 호스트에서 모든 컨테이너를 관리하는 백그라운드 프로세스입니다. 모든 Docker 이미지, 컨테이너, 네트워크, 스토리지 등을 처리할 수 있습니다. Docker는 컨테이너를 관리하기 위해 데몬이 필요하므로 프로세스를 실행하려면 루트 권한이 필요합니다. 반면 Podman은 데몬이 필요하지 않습니다. 사용자가 컨테이너(루트리스) 실행을 시작하는 데 도움이 되는 (데몬리스 아키텍처)가 있습니다. 즉, Podman은 컨테이너를 관리하기 위해 루트 권한이 필요하지 않습니다. Security Dock..

[Docker] Container란?

What is Container 컨테이너화는 사용 가능한 매우 효율적인 가상화 방법입니다. 개발자가 대규모 애플리케이션을 훨씬 쉽게 테스트, 구축 및 배포할 수 있습니다. 컨테이너와 가상 머신은 유사하지만 동일하지 않습니다. 너무 비슷하기 때문에 어떤 사람들은 같은 일을 하지만 다르게 하기 때문에 혼동하는 경향이 있습니다. 도커없이 컨테이너 만들기 : https://www.youtube.com/watch?v=mSD88FuST80

[C#] 웹 사이트 접속하기

특정 웹사이트를 접속, 버튼 클릭을 알아봅시다. 우선적으로 `크롬 브라우저`가 설치 돼있어야합니다. 네이버 접속 var driverService = ChromeDriverService.CreateDefaultService(); var options = new ChromeOptions(); var driver = new ChromeDriver(driverService, options); driver.Navigate().GoToUrl("https://naver.com"); 버튼 클릭 버튼은 개발자도구(f12) - 요소 - 로그인 버튼의 Xpath 복사 //로그인 버튼 클릭 var loginButton = driver.FindElement(By.XPath("//*[@id=\"account\"]/a")); lo..

프로그래밍/C# 2022.12.06

[C#] 문자열(string) 자릿수 맞추기 | 보간법

대개 double, float형 변수의 자릿수를 맞추는 방법에 대해서는 많이 다루고 있다. 이번엔 string의 자릿수(?)를 일정하게 맞추는 방법을 알아보자. 문자열 자릿수 맞추기 string str1 = "항목1"; string str2 = "항목100"; string str3 = "항목10000"; Console.WriteLine("== 문자열 일반 =="); Console.WriteLine($"{str1}:아디다스"); Console.WriteLine($"{str2}:나이키"); Console.WriteLine($"{str3}:샤넬"); Console.WriteLine(); Console.WriteLine("== 문자열 오른쪽 Align =="); Console.WriteLine($"{str1,-..

프로그래밍/C# 2022.12.06