분류 전체보기 236

[C#] 코딩의기술(실전편) - 1.3 순차처리

동기(Synchronous), 비동기(Asynchronous), 블락(Blocking), 넌블락(Non-Blocking)의 개념 https://jins-dev.tistory.com/entry/%EB%8F%99%EA%B8%B0Synchronous-%EC%9E%91%EC%97%85%EA%B3%BC-%EB%B9%84%EB%8F%99%EA%B8%B0Asynchronous-%EC%9E%91%EC%97%85-%EA%B7%B8%EB%A6%AC%EA%B3%A0-%EB%B8%94%EB%9D%BDBlocking-%EA%B3%BC-%EB%84%8C%EB%B8%94%EB%9D%BDNonBlocking-%EC%9D%98-%EA%B0%9C%EB%85%90 Task 값을 반환하지 않고 일반적으로 비동기식으로 실행되는 단일 작업을 ..

[C#] LINQ 연습하기

LINQ 연습하기 Exists ForEach Where Select using System; using System.Collections.Generic; using System.Linq; namespace Sample_TEST { class SampleProgram { public static void Main(string[] args) { // list 선언 및 초기화 var nums = new List { 12, 87, 94, 14, 53, 20, 40, 35, 76, 91, 31, 17, 48 }; //Q1. LINQ의 Exists 메서드 사용하여, 8, 9로 나누어 떨어지는지 확인 if (nums.Exists(x => x % 8 == 0 || x % 9 == 0)) Console.WriteLine..

프로그래밍/C# 2022.03.27

[Linux] 서버 간 시간 동기화

Linux 서버 간 시간 동기화 예를 들어 PC1의 시간을 PC2에 시간과 '똑같이' 맞춰야할 필요가 있습니다. 간단히 다음 명령어를 입력하여 '시간 동기화'를 할 수 있습니다. sudo date --set"$(ssh administrator@192.168.0.2 'date -u')" 이렇게 하면 PC2의 시간과 PC1시간이 동기화가 됩니다. 수동으로 시간 변경하기 - 타임 서버 타임 서버의 시간을 획득하여 Linux서버의 시간을 변경하는 방법도 있다. 타임 서버 주소는 아래를 참고하여 입력하자. time.bora.net time.nist.gov time.nuri.net time.kriss.re.kr time.windows.com date -s {타임 서버 주소} 수동으로 시간 변경하기 유저가 시간을 지..

Linux 2022.03.27

[C#] 문자열 거꾸로 변환하기

String 변수 거꾸로 출력하기 string 형 변수의 문자열을 거꾸로 바꿔 출력하는 방법을 알아봅시다. EX> "안녕하세요" -> "요세하녕안" using System; namespace Sample_TEST { class SampleProgram { public static void Main(string[] args) { // str 변수 선언 및 초기화 string str = "Hello World."; // str을 char형 배열로 변환 후 reversStr변수에 초기화 char[] reverseStr = str.ToCharArray(); // Array.Reverse()메서드 사용하여 // 매개변수의 요소들을 역순으로 재배열 Array.Reverse(reverseStr); // str 문자열..

프로그래밍/C# 2022.03.27

[C#] Thread 2개 사용하여 변수 값 공유 테스트

Thread 2개를 사용하게 될 때, 각 Thread 별 가지고 있는 변수가 있다. 아래 코드는 Thread끼리 변수의 값을 공유하는지 확인하는 테스트이다. using System; using System.Threading; namespace Sample_TEST { class ThreadTestProgram { public static void Main(string[] args) { Thread thread = new Thread(() => Run(0)); // 1번째 Thread 실행 thread.Start(); // 5초 지연 시킨다. Thread.Sleep(5000); // 2번째 Thread 실행 Run(1); } public static void Run(int idx) { // Thread 별..

프로그래밍/C# 2022.03.22

[C#] LINQ 이용하여 리스트 2개 비교

Linq에는 두 목록을 비교하는 유용한 방법이 있습니다.Intersect리스트의 어떤 요소가 포함되어 있는지 확인할 수 있습니다.var source = new List() { "a", "b", "c" };var compare = new List() { "b", "c", "d" };var result = source.Intersect(compare);결과Except리스트에 포함되지 않은 요소를 확인할 수 있습니다.var source = new List() { "a", "b", "c" };var compare = new List() { "b", "c", "d" };var result = source.Except(compare);결과예외사항아래 예제처럼 Person Class의 요소를 비교하려고 할 때,단순히..

프로그래밍/C# 2022.03.22

스케일 업(Scale-Up), 스케일 아웃(Scale-Out)

운영중인 서비스의 유저 수가 점점 증가가 된다면, 기존의 서버에서는 충분히 운영이 가능했지만 점점 서버의 한계가 보이기 시작한다. 이때 서버 업그레이드가 필요하다. 업그레이드 하는 방법 2가지 스케일 업과 스케일 아웃의 개념에 대해 알아보자. 스케일 업(Scale-Up) 서버의 HW를 기존 사양보다 더 좋은 HW로 업그레이드 하는 방법이다. 예를 들어, CPU나 메모리 등을 추가하는 것이다. 하나의 서버의 능력을 증강하기 때문에 수직 스케일링(vertical scaling)이라고도 한다. 장점 추가적인 네트워크 연결이 필요가 없다. 스케일 아웃보다 유지보수 비용이나 운영이슈가 적다.단점 성능 향상에 한계가 있다. 서버 한대가 부담하는 양이 많아서 위험부담이 높다. 기존 서버를 교체하기 위해 서비스 다운타..

프로그래밍 2022.03.20

[Windows] 서버 간 시간 동기화

Windows 서버 간 시간 동기화 예를 들어 PC1의 시간을 PC2에 시간과 '똑같이' 맞춰야할 필요가 있습니다. 간단히 CMD에서 다음 명령어를 입력하여 '시간 동기화'를 할 수 있습니다. 실행 -> CMD -> 관리자 권한으로 실행 -> 아래 명령어 입력 -> 엔터 net time \\192.168.0.2 /set /y 이렇게 하면 PC2의 시간과 PC1시간이 동기화가 됩니다. 실무에선 재부팅 시 혹은 일정 기간마다 PC 시간의 동기화가 필요할 때가 있는데, 이때는 batch파일 생성 후 '윈도우 스케줄러'에 등록하여 batch파일을 실행 시키는 방법이 있습니다.

Windows 2022.02.27

[Windows] 컴퓨터 2대를 마우스, 키보드 1개로 공유

Mouse Without Borders는 단일 마우스와 키보드로 최대 4대의 컴퓨터를 제어할 수 있도록 하며, 메인 컴퓨터 한대에서 다른 컴퓨터를 컨트롤 할 수 있도록 합니다. 즉, 마우스를 사용하여 경계가 없는 컨트롤이 가능하며, 컴퓨터 간에 텍스트를 복사하거나 파일을 끌어다 놓을 수 있습니다. Microsoft Garage Mouse without Borders 다운로드 : https://www.microsoft.com/en-us/download/details.aspx?id=35460 유튜브 : https://www.youtube.com/watch?v=PPHdT3LPzaE

Windows 2022.02.20

[Windows] 프로세스 탐색기

파일(혹은 폴더)을 삭제하려 할 때, 다음과 같은 에러창을 볼 수 있었을 것이다. 해당 에러는 파일이 실행중이거나, 해당 폴더의 프로그램이 실행중일 때 발생한다. 프로세스 탐색기를 사용하면 어떤 프로세스가 실행중인지, 어떤 프로세스가 해당 폴더에서 실행중인지 상세하게 확인하고 종료도 할 수 있다. 참조 : https://docs.microsoft.com/ko-kr/sysinternals/downloads/process-explorer 프로세스 탐색기

Windows 2022.02.20

[Windows] 마크다운 문석 작성 Typora 편집기

홈페이지 : https://typora.io/ Typora 편집기 블로그 포스팅을 하거나 정리가 필요할 때 주로 NotePadd++를 사용해 왔다. 다양한 확장자 문서가 호환가능하고 빠르고 간편 했기 때문인데, 한가지 아쉬운점은 마크다운 사용시 미리보기가 확인이 안된다는 점이다. Typora는 NotePad++의 단점을 보완해 주는 편집기이다. 마크다운으로 제목을 지정하면 개요탭에서 링크가 생성되어 보기 편하다. 코드블록도 마치 VisualStudio 테마를 가져온 듯 가시성이 뛰어나다. 각종 편의 기능도 있어 마크다운에 최적화 되어있는 편집기이다. Beta버전은 Free 최근 0.11.18 베타버전 이후로 1.0.0 버전으로 유료화가 되었다. 15일 체험기간 제공하니 체험 후 구매해서 사용하자. 베타버..

Windows 2021.12.05

[Windows] Aero Shake 기능 끄기

Aero Shake란 Windows10에서 여러개 창을 띄워놓고 사용하다가, 한 개창을 마우스로 잡은 상태에서 흔들면 나머지 창들이 최소화되는 기능이다. 이게 은근 불편한 점으로 다가왔는데, 이 기능을 해제하는 방법을 알아봅시다. Aero Shake 기능 끄기 시작버튼 -> gpedit.msc 입력하여 프로그램 실행합니다. 사용자구성 -> 관리 템플릿 -> 바탕 화면 -> Aero 흔들기 창 최소화 마우스 제스처 사용 안 함 선택합니다. 사용 선택 후 기능 적용합니다.

Windows 2021.12.01

[Windows] 네트워크 드라이브 접근 안돼는 경우

네트워크 드라이브 접근 오류 로컬PC에서 원격PC에서 공유한 폴더로 접근하려고 할 때 오류가 발생할 수 있습니다. 공유 폴더 접근 시 원격PC의 로그인 아이디,패스워드를 입력하는데, 폴더 접근이 안될 때가 있습니다. 네트워크 드라이브 연결 - CMD 사용하기 CMD창에서 공유 폴더로 연결이 가능합니다. 우선, CMD창을 열고 다음 명령어를 참고하여 접근하려는 공유폴더 경로, 로그인 아이디, 패스워드를 입력합니다. > net use {연결 할 로컬PC 드라이브}{공유폴더 경로} /user: {로그인 아이디} "{패스워드}" 사용예제 Microsoft Windows [Version 10.0.19042.1348] (c) Microsoft Corporation. All rights reserved. C:\Use..

Windows 2021.12.01