loading
Computer/C#

컴파일타임과 런타임 그리고 상수

C#은 컴파일타임 상수와 런타임상수 두 유형의 상수를 있습니다. 컴파일타임과 런타임은 서로 다르게 동작하기 때문에 적절하지 않은 상수 타입을 사용하면 상응하는 대가가 따릅니다. (허걱!) 컴파일타임 상수보다는 런타임 상수를 사용하라. 컴파일타임 상수가 약간 더 빠르긴 하지만 런타임 상수에 비해 유연성이 상당히 떨어진다. 컴파일타임 상수는 성능이 매우 중요하고 상수의 값이 절대로 바뀌지 않는 경우에만 제한적으로 사용하는 것이 좋다. 런타임 상수는 readonly 키워드를 사용하여 선언하고, 컴파일타임 상수는 const 키워드를 사용한다. 그럼? 런타임(Runtime)과 컴파일타임(Compiletime) 서로 다른 두 계층의 차이는? 런타임(Runtime)과 컴파일타임(Compiletime)은 소프트웨어 프..
Computer/C#

DateTime

일정관리로 자주 사용하는데, 조금씩 헷갈리는 부분이 있어서 정리해둠. 둠둠둠둠 둠둠둠.! 그럼 시작! [System.Serializable] public struct DateTime : IComparable, IComparable, IConvertible, IEquatable, IFormattable, System.Runtime.Serialization.ISerializable DateTime 값 형식은 00:00:00 (자정), 01 년 1 월 1 일 Anno 기 (공통 연대)부터 11:59:59 P.M., 9999 년 12 월 31 일 까지의 값을 포함 하는 날짜 및 시간을 나타냅니다. DateTime.Now// {2020-04-23 오전 10:26:28} DateTime.Today// {2020-0..
Project/APP_로또번호생성기

모바일 애플리케이션 만들기 환경준비2

6. 안드로이드 스튜디오 설치 설치프로그램 받으러 가기 https://developer.android.com/studio/ 점점 글이 줄어든다. 귀찮아서 그런건 절대 맞다... ㅜ_ㅜ 위의 링크에서 안드로이드 스튜디오를 다운받아 설치한다. SDK 컴포넌트 설정할때 한글이름의 폴더가 포함되지 않도록 주의한다. 에뮬레이터 설정까지 하면 설치가 완료된다. 안드로이드 SDK 설정에서 Android 9.0 (Pie)를 설치한다. (이 버전 기준으로 앱 만들기 시작합니다 :D, 보고 있는 책도 사이트도 9.0임) Android SDK Platform 28 Intel x86 Atom System Image Google APIs Intel x86 Atom System Image Google APIs Intel x86 ..
Project/APP_로또번호생성기

모바일 애플리케이션 만들기 환경준비1

늦은 시간에 자리에 앉아서 또 다시 시작해본다. * 참고하면서 보는 사이트와 책은 많으나, 현재는 스무디 한잔 마시며 끝내는 React Native를 보고있다. 자! 그럼 개발환경을 만들어보자 맥과 윈도우를 둘다 사용하고 있어서, 맥에서는 이미 개발중이고 설정도 끝냈다. 사실 윈도우도....... 그래도 집에서 편하게 블로그에 글을 적기 위해서는 윈도우를 사용하고 있기에, 윈도우 기준으로 개발환경을 설정해보자. 두둥탁! 윈도우에서 React Native 개발하기 위해서는 노드, 파이썬, 안드로이드 스튜디오 등을 설치해야된다. 여기에 VSCODE까지 같이 설치해서 해보자. (몰라 난! 코드가 편해..) React Native는 안드로이드와 IOS 앱을 동시에 개발 할 수 있지만, 개발 후 애플리케이션을 배..
Project/APP_로또번호생성기

모바일 애플리케이션(&앱) 만들기

오늘부터, 흔히 어플 또는 앱을 만들어 볼려고 한다. 만드는 과정 또는 설명들을 하나하나 적어볼 생각이다. 앞서, 다 적어두고 '완료'를 누르려는 순간 갑자기 브라우저 창이 닫히면서 저장도 안되고 다 날라갔다. (웨일 ㅜ_ㅜ ,, 네이버 형님 왜 그라요~, 이제 글 적을때 그냥 크롬 써야겠다.) 만들어볼 어플은 '로또 번호 자동 생성기' 뭐 나도 처음이고(너도 처음) 이 글을 보는분들은 잘 만드는 분들일수 있지만.. (사실 조금은 할줄 안다..) 뭐 여튼! 개발언어는 '리액트 네이티브'로 사용해 볼 생각이다. 그냥 시작해보자 두둥탁! 먼저 리액트 사이트들을 보자. React : https://ko.reactjs.org/ React – 사용자 인터페이스를 만들기 위한 JavaScript 라이브러리 A Ja..
Computer/C#

[C#] 입력 다이얼로그 하드코딩 코드

프로그래밍을 하다 보면, 패스워드를 확인하거나, 단순하게 값을 입력받을 일이 많다. 매번 폼 또는 사용자 컨트롤 만들어서 사용하기도 귀찮고, 딱! 넣으면 딱! 추가되는 소스 하나 있으면 좋잖아~ 아래 소스를 네임스페이스 안으로 추가하면 기본적인 사용 준비가 끝난다. // ---------------------------- // 패스워드 또는 값 입력받기 툴 // ---------------------------- public static class Prompt { public static string ShowDialog(string text, string caption) { Form prompt = new Form() { Width = 260, Height = 170, FormBorderStyle = F..
Computer/C, CPP, MFC

CRegKey/SetValue 바꾸자

디자인변환 프로그램을 만들일이 있어서 오랜만에 C++를 만지작 만지작 하던 중, 레지스트리에 저장된 값을 불러오고, 저장할 일이 생겼다. 그래서 생각없이, 예전에 많이 사용하던 그때 그 코드로 사용했다. 저장할때, SetValue를... CRegKey RegKey; RegKey.Create(HKEY_CURRENT_USER, "블라블라"); RegKey.SetValue(nConversionEnabled, "이거블라블라"); RegKey.Close(); 그리고 빌드. 빌드. 빌드... 으움? 왜!!!!!!!! C4996이 뜨냐고!!!!! 그랬다. 또, 무언인가 고전틱한 고전고전의 느낌이라 취약점이 있겠지. 오버플로우가 생길수 있을려나... 바로 검색! 뚜뚱! 해당함수는 QueryValueEx , Setval..
Computer/C, CPP, MFC

ReadFile()

간단정리 RedFile(파일핸들, 저장버퍼 포인터, 읽어오는 바이트수,출력용인수, 비동기아니면 NULL) ReadFile() 파일에서 데이터를 읽어옴. 동기, 비동기 모두 사용가능함. 원형 BOOL ReadFile( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped ); - HANDLE hFile: 읽고자 하는 파일의 핸들. 이 파일은 GENERIC_READ 액세스 권한으로 열어야 합니다. - LPVOID lpBuffer: 읽어 올 데이터를 저장할 버퍼의 포인터 입니다. - DWORD nNumberOfBytesToRead: 실제 읽어오는 바이트 수를 지..
Computer/C, CPP, MFC

SetFilePointer()

간단정보SetFilePointer(대상 파일의 핸들, 옮길 위치, NULL, 시작위치)파일을 처음 열었을때, 포인터의 위치는 파일의 처음, IO 처리에 따라 파일포인터가 자동으로 이동. SetFilePointer()파일 포인터를 원하는 위치로 옮길때 사용.32비트와 64비트를 동시에 지원하기 위해 2번째 인수와 3번째 인수를 통해 각 4바이트씩 64비트, 오프셋을 전달할수 있다.SetFilePointerEx 를 사용하는것이 좋다. 원형DWORD SetFilePointer( HANDLE hFile, LONG IDistanceToMove, PLONG lpDistanceToMoveHigh, DWORD dwMoveMethod); - HANDLE hFile: 파일포인터를 옮기고자 하는 대상 파일의 핸들. - LO..
Computer/C, CPP, MFC

프로그램 종료

프로그래밍을 하던중 어떻게 하면 안전하게 프로그램을 종료할까 생각해보았다.바로 구글링 메모릭 발생 때문에..문제들이 대부분 발생하는것으로 보여지더라.. 아하! 그렇구나, 라고 다시 한번 느낀 후... 쓰던대로 그냥 'ExitProcess' 이거 사용하였다. 끝! 메인 다이얼로그::OnInitDialog()에서 프로그램을 종료하고 싶다.OnClose나 기타 메소드가 먹지 않거나 먹어도 메모리 충돌 오류메시지가 나온다.exit(0);를 넣어줘도 되나 비정상적인 terminated라 메모리 누수가 발생한다. 방법은 다음과 같다. ::SendMessage(this->m_hWnd, WM_CLOSE, NULL, NULL);혹은 ::SendMessage(GetSafeHwnd(), WM_CLOSE, NULL, NULL..
EIGHTBOX
EIGHTBOX
hwaya.

programmer

소소한 행동에 감동하며 기뻐하고 즐거워하는 그것에 감사하는 한 사람.

Today6 Yesterday125 Total262,251
최신글
Project/TISTORY_SKIN
티스토리 스킨을 새롭게 만들고 있다.
2023.03.15 17:41
STORY/창업이야기
통신판매업신고 주의!! 알아보고 등록하자.
2023.02.01 17:38
Computer/Micro:bit
마이크로비트란?
2022.12.28 17:04
STORY/창업이야기
기업 구분
2022.12.12 18:14
Lost Time/Any Intelligence TEXT
롱패딩 인기 요인 알아보기
2022.12.06 13:46
Lost Time/Any Intelligence TEXT
블록체인의 위험성
2022.12.05 18:56
STORY/일상다반사
사운드 오브 뮤직 유튜브 & 자막파일
2022.12.05 14:13