SQL joins
출처 : http://blog.naver.com/gksshdk8003/220723307634
키자드에 등록된 총 159개의 포스트를 확인하실 수 있습니다.
git branch | grep -v "master\|exceptbranch1\|exceptbranch2" | xargs git branch -D
SELECT DATEADD(wk, DATEDIFF(wk, 0, GETDATE()), 0) 참조 : https://blog.sqlauthority.com/2007/08/20/sql-server-find-monday-of-the-current-week/
[distutils] index-servers = pypi [pypi] repository: https://pypi.python.org/pypi username: password: 1. C:\Users\유저네임\.pypirc 파일 생성 후 위의 내용 입력 2. username / password 입력 2-1. (콘솔..
PRIMARY KEY와 똑같은 필드로 인덱스를 중복해서 만든다 참고 : https://blog.naver.com/birdparang/221574304831
cmd 창에 nbtstat -a [computer name] nbtstat -a [IP address] 컴퓨터 이름이나 아이피 주소를 입력하면 해당 정보로 네트워크 내 연결 정보를 조회할 수 있다 출처 : https://technet.microsoft.com/en-us/libra..
repository 에서 특정 폴더만 내려받고 싶을때 그럴때!! * git init <repository> * cd <repository> * git remote add -f origin <URL> - [-f] : fetch the remote branches * git checkout <branch> * git confi..
배치파일을 이용해서 cd 로 폴더를 옮기고 원하는 파일을 실행하고 다른 폴더로 또 옮겨서 파일실행을 하다가 다음 문장이 실행이 안되는 문제를 겪었는데 구글링 끝에 해답을 얻음 "앞에 call 을 붙여준다." 참고..
다른건 필요없고 딱 내가 원했던 명령어 git update-index --assume-unchanged [filename] 참고 : http://codethug.com/2013/09/20/4-ways-to-ignore-files-with-git/
1. Click the Windows button on the task bar. 2. Click All Programs. 3. Click Accessories. 4. Right-click on Command Prompt and click Run as administrator. 5. If prompted click the Allow button. 위의..
* 일회용 1. Run > cmd 2. w32tm /resync 입력 후 실행 * 스케쥴링 1. Run > regedit HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient\SpecialPollInterval 값 수정 60480..
CTRL + M + O will collapse all regions. CTRL + M + L will expand all regions. CTRL + K + D to format the entire document. CTRL + K + E to format the selection only.
Visual Studio를 이용하여 catch 블록 내부를 디버깅하는 경우라면 조사식(watch) 창에 $exception을 입력하여 현재 발생한 예외가 무엇인지 확인할 수 있다. - CLR via C#
GitHub 로 PR 을 날리면 line ending 문제로 아래 그림처럼 x같이 나오는 경우가 있는데 <이미지 출처 : http://www.hanselman.com/blog/YoureJustAnotherCarriageReturnLineFeedInTheWall.aspx> cmd 창에 아래..
Windows Forms Application 개발시 Debug 모드일때만 Cross-thread operation not valid: ??? Control accessed from a thread other than the thread it was created on. 이라는 예외가 발생한다면 CheckForIlleg..
Windows 10 을 설치하고 기존에 DriveInfo.GetDrives() 로 잘 가져오던 네트워크 드라이브 정보를 못가져오는 사태가 발생해서 구글링 (탐색기로 네트워크 드라이브 연결함) cmd 창에서 드라이브 마다 요 net use..
Windows NT부터 Windows 7에서 까지 ‘시스템 속성 > 성능 > 설정 > 성능 옵션 > 고급 > 프로세서 사용 계획’에 ‘프로그램’과 ‘백그라운드 서비스’ 옵션 두 가지 중 하나를 사용자가 선택할 수 있습니다. 이..
* ListBox - listBox1.TopIndex = listBox1.Items.Count - 1; * ListView - listView1.Items[listView1.Items.Count -1].EnsureVisible(); * TextBox - tbMessage.SelectionStart = tbMessage.Text.Length; - tbMe..
Check out the Form.AcceptButton property 출처 : http://stackoverflow.com/questions/6290967/stop-the-ding-when-pressing-enter
regedit 를 실행 HKEY_CURRENT_USER\Software\TortoiseGit 에 OpenRebaseRemoteBranchUnchanged 키를 지우면 다시 자동으로 열것인지를 물어본다 출처 : https://gitlab.com/tortoisegit/tortoisegit/issues/2653
netsh advfirewall firewall set rule [name=<string>] [dir=in|out] new [enable=yes|no] [remoteip=<address>] 위 명령어로 제어가 가능하다 [name=<string>] : rule name [dir=in|out] : direction (inbound or..
참조 : https://msdn.microsoft.com/en-us/library/ms189794.aspx DATEDIFF(datepart, startdate, enddate) 를 이용한다 ex) DATEDIFF(s, '2016-04-27 12:00:00', '2016-04-27 12:00:30') 은 30을 리턴한다
Macro Description $(RemoteMachine) Set to the value of the Remote Machine property on the Debug property page. SeeChanging Project Settings for a C/C++ Debug Configuration for more information. $(Re..
출처 : https://wiki.kldp.org/wiki.php/OpenSourceLicenseGuide
출처 : http://www.gnu.org/licenses/gpl-howto.html
ref 는 메소드 호출 전에 초기화 해야되고 out 은 메소드 내에서 반드시 한번은 값을 할당해야한다 속도(Performance) 테스트 결과 out 을 쓴 경우가 더 빠른 것으로 나타남 (.NET 4.0 기준)
http://www.codeproject.com/Articles/8804/Collecting-Remote-System-Information-With-WMI System.Management 를 References 에 등록하고 ManagementScope class 를 이용하여 구현
Debug.Assert(bool condition) { if (condition == false) Debug.Fail(); } 위와 같단다
_netrc 라는 이름의 파일을 (확장자 없음) C:\Users\<Your-Username> 폴더에 생성하고 내용으로 machine github.com login <Username> password <Password> 입력하고 저장 명령 프롬프트 창을 열고 setx home C:\U..
* When a Windows Forms application starts - Control.HandleCreated - Control.BindingContextChanged - Form.Load - Control.VisibleChanged - Form.Activated - Form.Shown * When an application closes - Fo..
VisualStudio 2012, .NET Framework 4.5부터 지원하는 대표적인 기능 중 하나가 바로 비동기 프로그래밍 입니다. 여기서는 비동기 프로그래밍이 무엇인지 정리 드리고자 합니다.. 비동기가 왜 필요할까? 웹 2.0 시..
※ C++ 소스 코드 상에서 현재 윈도우가 32bit 버전인지 64bit 버전인지 구분하는 방법에 대한 자료는 검색해보면 금방 구할 수 있습니다. 근데 그 중 많은 자료들이 IsWow64Process 함수 하나만 가지고 64bit 여..
확률을 계산하려면 경우의 수를 헤아려야 한다고 했습니다. 전체의 갯수 n개에서 일부의 r개를 뽑을 때, 뽑는 순서를 고려해야 하는 지와 고려하지 않아도 되는 지를 구별하는 것은 중요합니다. (같은 의미로 r개..
5. 싱글턴 패턴 싱글턴패턴은 인스턴스가 하나 뿐인 특별한 객체를 만들 수 있게 해주는 패턴이다. 어떤 용도로 쓰는 건가? 스레드 풀이라던가, 캐시, 대화상자, 사용자설정, 디바이스드라이버 등등 객체가 전체프..
// NamedPipeServer.h #pragma once namespace EventType { enum EventType { Exit, Connect, Max }; } class NamedPipeServer { public: NamedPipeServer(LPCWSTR name); ~NamedPipeServer(); BOOL Start(); VOID..
하나의 프로시져로 입력과 수정을 같이 처리하는 경우가 종종 있는데 굳이 Update, Insert를 분기 처리 하지 않고 다음처럼 한번에 처리 할 수 있다. update table1 set column1 = @column1 where id = @id if @@r..
1. Active Mode (1) 연결 진행 절차 - 1단계 : 클라이언트에서 서버의 TCP/21번 포트로 접속 시도 및 클라이언트가 사용할 두번째 포트를 서버에게 알려준다. (연결방향 : 클라이언트 → 서버) - 2단계 : 서버는 T..
#include <iostream> using namespace std; #include <atlstr.h> int main() { char* src = "한글"; // ANSI CP949 CA2W unicode1(src); // ANSI -> UNICODE CW2A utf8(unicode1, CP_UTF8); // UNICODE -> UTF8 CA..
Windows 에서는 __int64 타입의 변수를 플랫폼(x86/x64)에 관계없이 printf("%I64d", val) 형태로 출력할 수 있다. Linux 에서는 플랫폼에 영향이 없이 처리할려면 고려할 사항들이 있다. x86에서는 long long int..
[Server - C#] using System; using System.IO; using System.IO.Pipes; namespace NamedPipeCs { class Program { static void Main(string[] args) { while (true) { using (var server = new NamedPipeServerSt..
GetCurrentDirectory() 함수는 현재 폴더를 가져오고 GetModuleFileName() 함수는 실행파일이 있는 폴더의 위치를 가져온다는 차이가 있다.
#pragma comment(lib, "urlmon.lib") #include <urlmon.h> BOOL Download(LPCWSTR url, LPCWSTR filename) { DeleteUrlCacheEntry(url); HRESULT result = URLDownloadToFile(NULL, url, filename, 0, NULL); if (..
C++에서 Singleton의 구현은 몇가지 방법이 있다. 이중 내가 주로 사용하는 방법은 아래의 방법이다. class A { private: static A* m_Instance; public: static A* Instance() { if( m_instance == NULL ) { m_In..
CreateWindow를 할때 보통 많이 쓰는 윈도우 스타일은 WS_OVERLAPPEDWINDOW이며 여기에는 크기 조정용 WS_THICKFRAME이 포함되어있기때문에 실 작업영역은 (설정한 윈도우 사이즈 - 프레임 사이즈) 만큼 감소되서..
Windows에서 Named Pipe를 실제로 사용하기 위해서는 Read/Write를 비동기적으로 처리해야 하는데, 이를 위해 흔히 사용되는 방법은 Overlapped I/O와 Event를 기반으로 하는 것입니다. 다시 말해서, 파이프를 생..
HTML5 1. 웹사이트를 만드는 마크업 언어로써 가장 쉽고 대부분 언어인줄 모르고 많이들 쓴다. 가령 <img src ="image.jpg"> 이런거나 Youtube 나 Vimeo 링크 딸때 <iframe 어쩌구> 하는 그런걸 말한다. 암튼 이것..
From Wiktionary: (computing) In assembly languages, a loop which contains few instructions and iterates many times. (computing) Such a loop which heavily uses I/O or processing resources, failing to..
ContentControl은 아주 유용한 Control이면서 아주 기본적인 Control입니다. 우리가 알고 있는 대부분의 Control이 ContentControl을 상속받고 있죠. 일단 모든 Button류가 상속하고 있고 ListBoxItem등도 상속하..
What happens when you create a Control? When do overrides get called and events get raised? When do styles get applied? In response to this thread on silverlight.net, I've whipped this simple table..
[DllImport("user32.dll")] static extern bool PostMessage(IntPtr hWnd, uint msg, int wParam, int lParam); const uint WM_USER_CUSTOM = WM_USER + 8423; public void Post() { // Get Processes var process..
string.Join() 이 더 빠르다 자세한 사항은 아래에서 확인 출처 : http://blog.naver.com/vactorman/80208961985
이번 기사의 내용은 2014 게임 개발 성과 측정 프로젝트에서 가장 중요한 40가지 발견의 요약입니다. 우리는 상관계수의 값을 기준으로 가장 중요한 요인부터 내림차순으로 정렬하였습니다. 우리의 연구는 273명의..
변수값 음수화는 보통 양수값 앞에 -를 붙이거나 -1 을 곱하는데 문득 속도 차이가 얼마나 날지 궁금해서 테스트를 해보았다. #include <iostream> using namespace std; #include <windows.h> int main() { int t..
Random 클래스는 난수를 얻고자 할 때 쓰는 클래스다. 생성자는 2가지가 있는데 public Random(); // 시간에 따라 달라지는 시드 값을 사용 public Random(int seed); // seed 인수에 지정된 시드 값을 사용 * See..
git update-index --assume-unchanged 파일명 명령을 실행하면 대상 파일은 commit 대상에서 제외된다. git update-index --no-assume-unchanged 파일명 명령은 복원.
Text="{StringFormat={}{0\,11:'#'#\,#}}" {0\,11} 자릿수가 총 11자리가 된다는 거 '#' 샾 문자를 삽입 #\,# 3자리 수 마다 콤마 찍힘 출처 : http://msdn.microsoft.com/en-us/library/0c899ak8.aspx
#define 과 얼핏 비슷해 보이지만, 비슷한 유형별의 데이터를 표현하기 위해 반드시 필요한 C++의 필수 타입인 enum 의 몇 가지 재미있고 유용한 팁을 소개합니다. 1. namespace 와 결합하기 일반적으로 enum 을..
함수 포인터의 타입은 함수가 취하는 인수들의 타입과 리턴값까지 정확하게 밝혀야 하기 때문에 타입의 형식이 너무 길어서 쓰기에 번거롭다. 또한 함수 포인터로부터 파생된 타입을 만드는 것도 헷갈리고 생소한..
strncpy()는 복사되었으면 하는 문자열의 길이를 넘어서지 않게 복사해 준다. 그리고 대상 버퍼를 넘어서게 되면 NULL로 끝나지 않는 문자열까지 복사하게 된다. 예를 들면 아래와 같다. strncpy(dest, 8, "123456..
#과 ##은 전처리기의 연산자로서 컴파일러가 #define 전처리 과정에서만 사용하는 특수한 연산자이다. C 언어 자체의 연산자는 아니므로 우선 순위나 결합 규칙 등은 적용되지 않는다. 둘 다 사용 빈도가 높지는..
#include <iostream> using namespace std; #include <atlbase.h> // add int main() { HKEY hKey; TCHAR szDefaultPath[MAX_PATH] = { 0, }; DWORD dwBufLen = MAX_PATH; RegOpenKeyEx( HKEY_CURRENT_USER, L"Sof..
_T 매크로는 _T("문자열") 이라고 썼을때 _UNICODE가 define 되어 있으면 L"문자열" 을 리턴하고 define되어있지 않으면 그냥 "문자열" 을 리턴 합니다. 문자열 앞에 L 접두사가 붙으면 그 문자열은 유니코드 형태..
설치프로그램 등을 직접 만드는 경우, 파일명에 setup 등과 같은 이름이 들어가면, 종료 후 다음과 같은 경고창이 뜰 수 있습니다. (Vista / Win7 이상) 파일명이 qqqq.exe 라고 하더라도 발생하였습니다. 이런 정..
#include <bitset> #include <limits> using namespace std; const int QUEST_SECTION = numeric_limits<char>::digits; const int QUEST_SECTION_MAX = numeric_limits<char>::max(); const int QUEST_COUNT_COLU..
#include <iostream> using namespace std; #include <sstream> int main() { stringstream ss("/exp 1000"); // ss << "/exp 1000"; char command[20] = {0}; int val = 0; ss >> command; ss >> val; assert( !s..
* Formula * Source sqrt( pos( x1 - x2, 2 ) + pow( y1 - y2, 2 ) + pow( z1 - z2, 2 ) ); 속도는 모르겠다 ㅋㅋ
보통 Try, Catch 문이라고 하면 이런식으로 쓰게 될 것입니다. void function() { Try { } Catch { Throw; } } 하지만 throw 를 하게 되면 내부적으로 다소 많은 부하가 걸릴 수 있다고 합니다. (이 부분에 대해서..
printf 뿐만 아니라 sprintf 나 CString 의 Format 에서도 사용 가능합니다. 64비트 숫자를 %d 로만 출력했을시 int 32bit 의 수가 넘어가면 이상하게 출력되는 것을 막아주는 코드입니다. INT64 i64; printf( "%I..
vector 는 erase 를 한 후에 다음 위치를 반환하지만 map 은 반환이 없으므로 이런식으로 짜야한다 v 는 vector m 은 map for( it = v.begin(); it != v.end(); ) { if( (*it) % 2 ) it = v.erase( it ); else ++i..
override 꽤 갈망해왔던 키워드이다. base class에 있는 virtual을 상속받아서 쓰는경우에 base class에 있는 함수를 바꾸고 drived class 의 함수를 바꾸지 않았을 때 오작동하는 잡기 쉽지 않은 버그가 컴파일할..
1. 포인터가 가리키는 변수의 상수화 void main() { int a = 10; const int* p = &a; *p = 20; // 에러 a = 20; // 정상 출력 } 즉, p가 가리키는 대상이 상수화가 된다. 그렇기 때문에 *p = 20 했을 때, *p가 가..
Proxy Pattern 으로 구현된 vector<bool>은 이런저런 문제가 있다는 것만 기억해 두시기 바랍니다 그러니 vector<bool>을 사용할 것이라면 bitset을 사용하세요 출처 : http://cafe.naver.com/cafec.cafe?iframe_u..
This class is specialized for each of the fundamental types, with its members returning or set to the different values that define the properties that type has in the specific platform in which it c..
<stdlib.h> #define EXIT_SUCCESS 0 #define EXIT_FAILURE 1 int main() { return EXIT_SUCCESS; } return 0; 보다 좀더 간지남 ㅋ
15-3.가변 인수 15-3-가.가변 인수 함수 여기서는 가변 인수 함수에 대해서 알아 본다. 가변 인수의 함수를 만드는 방법에 대해서는 물론이고 가변 인수 함수가 동작하는 원리에 대해서도 자세하게 분석해 볼 것이..
소스를 분석하다가 switch 문을 여러개로 분할해서 호출하는 것을 보고 의구심이 들어 테스트를 해보았다 ㅋ #include <iostream> using namespace std; #include <windows.h> const DWORD TEST_COUNT = 100000000..
코딩을 하다보면 발생하는 버그중 가장 악질적인 것중 하나가 디버그 버전에서는 나타나지 않고 릴리즈 버전에서만 나타나는 버그다. 그것도 랜덤하게.... 랜덤하게 나타나는 버그 중에서도 자신이 만든 루틴에서..
자료형의 종류와 범위 구분 자료형 크기(byte) 범위 문자형 char 1 byte -128 ~ 127 unsigned char 1 byte 0 ~ 255 정수형 __int8 1 byte -128 ~ 127 __int16 2 byte -32,768 to 32,767 unsigned int 2 byte -32,7..
MS의 구조체 중에는 첫번째 인자가 구조체의 사이즈인 경우가 많습니다. 흔히 사용하는 CreateProcess의 STARTUPINFO구조체를 예로 들자면... STARTUPINFO StartupInfo; ZeroMemory(&StartupInfo, sizeof(STARTUPI..
#pragma warning(disable: 4018) // signed/unsigned mismatch #pragma warning(disable: 4100) // unreferenced formal parameter #pragma warning(disable: 4146) // unary minus operator applied to unsigned..
이것은 XOR 이라는 비트연산의 특성을 이용한 방법 XOR은 같은 값으로 연산을 두번 시켜주면 다시 원래대로 돌아오는 특성을 가지고 있다 예를 들어 두 값 A, B 가 있고 처음 XOR을 했을 때의 값을 X 라 한다면 A..
float fValue = 12.3456789f; fValue = float( int( fValue * 100.0f ) ) / 100.0f; assert( 12.34f == fValue );
char* _strtime( char* timestr ); Parameter timestr : Time string Return Value Returns a pointer to the resulting character string timestr 전달된 char형 포인터에 현재시간을 문자열로 저장해준다.
#include <time.h> struct tm { // seconds after the minute - [0,59] int tm_sec; // minutes after the hour - [0,59] int tm_min; // hours since midnight - [0,23] int tm_hour; // day of the month - [1,3..
//////////////////////////////////////////////////////////////////////////////// // Title : 소수판정 알고리즘 // Author : 최민혁 // Revision : 2006. 9. 29 First implementation //////////////////////..
//////////////////////////////////////////////////////////////////////////////// // Title : 달팽이 배열 // Author : 최민혁 // Revision : 2006. 10. 12 First implementation ///////////////////////////..
//////////////////////////////////////////////////////////////////////////////// // Title : Euclid 알고리즘 // Author : 최민혁 // Revision : 2006. 9. 29 First implementation ////////////////////////..