분류 전체보기 321

자바(java)/ Tip 1

1. 자바에서 메인(main) 에서드는 무조건 'static' 제한자. 프로그램 시작시, 객체 생성 없이 호출 위함 2. 자바는 클래스 import/ C#은 클래스 using으로 사용 3. 문자, 숫자 파싱 int a = 3; String str = Integer.toString(a); int b = Integer.parseInt(str); 4. 자바에서 파라미터에 [] 배열 형식이라면 직접 배열 전달x, 변수에 할당 후 사용해야함. func(int[] arr, int[][] arr2){}; int[] arr = {1,2,3}; int[][] arr2 = {{1,2,3},{4,5,6}}; func(arr, arr2); 5. 문자열 char배열로 만들기 Sgtring my_string; char[] cAr..

C#/ 가상 키코드(virtual key)

https://learn.microsoft.com/ko-kr/windows/win32/inputdev/virtual-key-codes 가상 키 코드(Winuser.h) - Win32 apps 다음 표에서는 시스템에서 사용하는 가상 키 코드에 해당하는 기호 상수 이름, 16진수 값 및 마우스 또는 키보드를 보여 줍니다. 코드는 숫자 순서로 나열됩니다. learn.microsoft.com 가상 키 코드는 키보드의 각 키에 대한 고유한 식별자를 나타내는 정수 값입니다. 이러한 코드는 특히 Windows API와 같은 저수준 프로그래밍에서 사용됩니다. 몇 가지 이유로 인해 가상 키 코드를 사용하는 것이 편리할 수 있습니다: 1. **플랫폼 독립성:** 가상 키 코드를 사용하면 동일한 코드가 여러 플랫폼에서 동작..

C#/ unsafe 키워드

# `unsafe` 키워드 일반적인 안전한 언어 기능을 벗어나서 포인터 연산 및 포인터 산술을 수행할 수 있도록 하는 기능을 제공합니다. 이는 일반적으로 관리되는 환경에서 사용되는 안전한 언어로 개발되었지만, 특정 상황에서는 낮은 수준의 메모리 조작이 필요할 수 있기 때문입니다. `unsafe` 키워드를 사용하는 것은 보안 문제를 야기할 수 있으므로 주의해서 사용해야 합니다. 1. **포인터 조작:** 메모리 주소를 직접 조작하여 빠르게 데이터에 접근할 수 있습니다. 이는 성능 향상을 위해 일부 알고리즘에서 사용될 수 있습니다. unsafe { int x = 10; int* ptr = &x; Console.WriteLine(*ptr); // 포인터를 통해 변수의 값을 읽음 } 2. **외부 코드와의 상호..

C#/ FTP 파일 서버 사용하기

# 폴더 생성 public void CreateFtpDirectory(string ftpServer, string folderPath, string ftpUsername, string ftpPassword) { try { // FTP 전송 요청 FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create(ftpServer + folderPath); ftpRequest.Credentials = new NetworkCredential(ftpUsername, ftpPassword); ftpRequest.Method = WebRequestMethods.Ftp.MakeDirectory;// 폴더 덮어쓰기 x // * (서버 폴더에 대해서) 폴더는 덮어쓰기가 안되어 에..

C#/ 디렉터리 및 파일 copy와 delete

# 디렉터리 및 파일 copy // 로컬 폴더 및 데이터 카피 로직(재귀적 생성) public void CopyDirectory(string sourceDir, string destDir) { try { if (!Directory.Exists(destDir)) { Directory.CreateDirectory(destDir); } foreach (string file in Directory.GetFiles(sourceDir)) { string destFile = Path.Combine(destDir, Path.GetFileName(file)); File.Copy(file, destFile, true); // true: 덮어쓰기 허용 } foreach (string subDir in Directory.Ge..

C#/ 레지스트리 등록 사용

public void EnrollReg() { // 레지스트리 등록. 부팅시 자동 실행프로그램 등록 if (IsRegisteredInRegistry()) { // 레지스트리 등록 파일 경로 string executablePath = Application.StartupPath + "\앱이름.exe"; // 레지스트리 키 등록 경로 string keyPath = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"; using (RegistryKey registryKey = Registry.CurrentUser.OpenSubKey(keyPath, true)) { registryKey.SetValue("앱이름", executablePath); } // * 레지스트리 키 ..