언어(46)
-
[C# 스터디 - Day1] DBHelper 작성하기
1. DB Connection DB ConnectionString 작성할 때, SqlConnectionStringBuilder 클래스를 사용하면 연결문자열의 내용을 손쉽게 만들 수 있다. (가독성 ⬆) 🔸 일반적인 방식 - Data Source, InitialCatalog, UserID, Password 등을 변수로 넘겨줘서 문자열을 붙여주거나 하드코딩 string ConnectionString = @"Data Source=14.43.254.50;Initial Catalog=RUBY_DEV;User id=sa;Password=1234;" 🔸 SqlConnectionStringBuilder 사용 - ConnectionString 프로퍼티 또는 ToString() 메서드를 사용하면 문자열을 연결해 Conne..
2020.12.24 -
[C#] txt 파일에 로그 기록하기 (StreamWriter 메서드)
간단하게 로그남기고 싶을 때 추가해서 사용하면 된다. StreamWriter 메서드 public StreamWriter (string path, bool append, System.Text.Encoding encoding); Parameters path 파일경로 append true이면 파일에 데이터 추가, false이면 파일을 덮어씀 encoding 문자깨짐 방지 *Encoding.Default로 지정하면 현재 이용중인 운영체제의 ANSI Code Page 의미 (한국은 대부분 ANSI 949) 소스 // 로그 사용 AddLog(MessageType.Error, "Input message!"); // 로그 함수 public void AddLog(MessageType type, string message..
2020.12.18 -
[C#] 크리티컬 섹션, 뮤텍스, 세마포어
C# lock 키워드를 검색하던 중 설명이 재밌어서 퍼온 글 관련된 이론 분야 : 운영체제론 크리티컬 섹션(임계구역) / 뮤텍스(상호배제) / 세마포어 이것들은 한양대 컴공과 3학년 1학기 과정에 있었던 운영체제론의 핵심적인 내용이었습니다. 허신 교수님의 운영체제론 수업을 들었었는데 이론의 맥을 잘 짚어주셨던 기억이 나네요. 열심히(?) 공부해서 시험도 보고 성적도 좋았지만 막상 그 개념들을 실제로 적용해볼 기회가 없으니 개념이 좀 두리뭉실해서 한 번 정리해 보았습니다. 제가 이해한 내용을 복습하기 위해 정리한 것이라서 틀릴 수도 있으니 많은 성원 바랍니다 (뭔 소리야 ㅋㅋ) 모두 동기화 오브젝트에 관련된 이론인데... 이 이야기를 할 때면 어김없이 나오는게 호프집 화장실에서 똥싸는 이야기더군요 - _ ..
2020.06.04 -
[C#] WinAPI(Kernel32 dll) 사용하기
Kernel32.dll에서 GetSystemTime / SetSystemTime 호출해서 사용하기 C# / .NET 에서 Native DLL (Unmanaged DLL)에 있는 함수를 호출하는 P/Inovoke(Platform Invoke) 방식을 사용하여 C#에서 WinAPI를 호출하거나 C/C++로 작성된 Native DLL 함수를 호출한다. 1. DllImport 키워드를 사용해서 함수 호출하기 using System.Runtime.InteropServices; namespace TEST.APIs { public static class Kernel32 { [DllImport("kernel32.dll", SetLastError = true)] public static extern bool GetSys..
2019.08.12