ubuntu 서버의 gitolite 저장소 추가 생성 방법 개발환경 리눅스 우분투 16.04.5 LTSUbuntu gitolite 3.6.10윈도우 PuTTY 리눅스 우분투로 서버를 구성하고 『윈도우 환경에서 저장소를 제어』하는 예시입니다. 윈도우10에서 putty를 사용하며, 편의에 따라 푸티는 다른 툴로 대체해도 상관없습니다. 그리고 이 포스트는 우분투 서버에 gitolite가 설치되었다는 전제하에 쓰였습니다. 크게 3단계로 구분할 수 있는데 비교적 쉽게 구성할 수 있으니 천천히 읽어주세요. 1. 윈도우10 PuTTYPuTTY 설치 링크 : https://www.putty.org/ 위 사이트에서 푸티를 다운로드하여 설치하고 실행합니다.아래처럼 서버 IP와 포트를 설정하고 아래쪽에 OPEN 버튼을 눌러..
MFC CString 합치기, 분리하기, GetBuffer 사용하기, 예제 3종 MFC CString 합치기, 분리하기 MFC CString, 기본적인 형태 12345678CString data1 = "a";CString data2;CString result; int num = 12;data2.Format("%d", num); result = data1 + data2; cs 변수 a가 문자열일 경우, 1234CString data1 = "a";CString result; int num = 12; result.Format("%s%d", data1, num); cs 변수 a가 문자일 경우, 1234char data1 = 'a';CString result; int num = 12; result.Format("..
임베디드 리눅스 커널, 부팅, 컴파일, 포팅과 루트 파일 시스템 이전 포스트에서 이어집니다. [임베디드 리눅스 개발 환경 [링크]] 4. 리눅스 커널 개념 운영체제의 핵심 부분 운영체제는 HW 플랫폼에 포함된 모든 하드웨어 구성요소에 작용하면서 컴퓨터에서 실행되는 모든 응용 프로그램의 구동 환경을 제공- 모든 프로세스, 하드웨어, 메모리, 시스템 자원 등도 관리 커널이란 운영체제와 사용자 간의 연결 고리 커널 이미지 zImage : 압축된 형태의 커널uImage : u-boot에서 사용할 압축된 형태의 커널 : zImage는 u-boot의 파라미터를 전달받을 수 없는 구조이기에 uImage를 사용 커널 부팅 과정 프로세스 정보 검색- ARM일 경우 ARM과 관련된 프로세스 정보를 검색- 정보가 없다면 사..
[MFC강좌] 폴더 파일 경로 2. PathFindFileName 등 15개 함수 LPTSTR PathFindFileName( LPCTSTR pPath );파일 경로에서 『파일 이름』을 찾아준다. pPath에서 이름이 시작되는 위치를 반환. LPTSTR PathFindNextComponent( LPCTSTR pszPath );다음 위치의 경로를 찾아준다. 어떤 경로에 대해 순차 접근이 필요하다면 사용해볼 법하다. PathFindNextComponent( "c:\windows\system32" ) = windows\system32PathFindNextComponent( "windows\system32") = system32 BOOL PathFindOnPath( LPTSTR pszFile, LPCTSTR *..
[MFC강좌] CStringArray, CPtrList, CList 사용법 CStringArray[New, Delete] 12CStringArray* pA5 = new CStringArray;delete( pA5 );cs [SetSize, SetAt, GetUpperBound, GetAt] 12345678910CStringArray AL5;AL5.SetSize( 2 );CString S5("AAA");AL5.SetAt( 0, (LPCTSTR)S5 );AL5 [1] = "BBB"; int N5 = AL5.GetUpperBound( );CString D5;D5 = AL5.GetAt( 0 );D5 = AL5 [1];cs CPtrList[New, Delete] 123456CPtrList* pA3 = new CP..
C# MySql 설치, 사용법 (참조 추가) 간단한 예제 C# 프로젝트에서 직접 MySql을 이용하는 방법입니다. 다른 언어들처럼 뭔가를 설치하면 가능한데, 이것을 도와주는 것이 바로 MySql 커넥터입니다. C# MySql 커넥터 connector를 참조 추가하면, 마치 닷넷 프레임워크에 미리 포함된 것처럼, 자유자재로 응용할 수 있습니다. 공식적으로 지원하는 언어는 꽤 많은데, C# 이외의 언어도 함께 다루는 분들은 미리 알아두시는 게 좋습니다. C/C++C#/F#볼랜드 델파이 (dbExpress를 통한)자바 (네이티브 자바 드라이버를 통한)파이썬루비REALbasic (매킨토시 계열)프리베이직스몰토크기타 등등 꽤 많네요. 요즘 뜨고 있는 파이썬도 connector 지원됩니다. 이젠 C# MySql 설..
C++ Signed Integer 데이터 타입 공부하기 Signed Integer 자료형double-word는 2바이트 2개, 또는 16비트 2개의 결합(4바이트, 32비트)을 의미하며 맨 우측 0비트에서 맨 좌측 31 비트까지를 나타냅니다. 우측 0비트 : 최하위 비트, LOBIT로 부름좌측 31비트 : 최상위 비트, HIBIT라 부름 다른 비트들은 위치값을 사용하여 부릅니다. 첫 번째 8비트(0~7비트) 그룹 : 하위 바이트, LOBYTE라 부fma마지막 8비트(24~31비트)는 상위 바이트, HIBYTE라 부르며, 다른 바이트들은 위치 값을 사용하여 호출됩니다.오른쪽 16비트 : 오른쪽 워드, 하위 워드, LOWORD라 부름좌측 16비트 : 왼쪽 워드, 상위 워드, HIWORD라 부름. double..
고급 컴파일러 문제 풀이, 파싱 테이블, LL 파서 4.9 다음 『파서 문법』을 생각해보시오 lexp ⟶ atom | listatom ⟶ number | identifierlist ⟶ (lex-seq)lexp-seq ⟶ lexp, lexp-seq | lexp a. 이 문법에 대한 좌측 인수 분해한 결과의 파서 문법을 구하시오. lexp ⟶ atom | listatom ⟶ number | identifierlist ⟶ (lexp-seq)lexp-seq ⟶ lexp lexp-seq'lexp-seq' ⟶ , lexp-seq | ε b. 결과 문법의 비단말기호에 대한 First와 Follow 집합을 생성하시오. First(lexp) = { number, identifier, ( }First(atom) = { n..
C# Dictionary, ContainsValue, 인덱서, Clear 예제 3개 ContainsValue. 이 함수는 ContainsKey 보다 아주 느립니다. 전체를 순회하는 복잡한 선형 구조입니다. 모든 요소를 탐색하며 일치하는 항목을 찾거나, 순회가 끝나면 종료합니다. 123456789101112131415161718using System;using System.Collections.Generic; class Program{ static void Main() { Dictionary d = new Dictionary(); d.Add("cat", 1); d.Add("dog", 2); if (d.ContainsValue(1)) { Console.WriteLine(true); // True. } }} ..
C# 속도 최적화 9가지, 성능 튜닝 방법 타입 유추 일반적으로 C#에선 아래와 같이 (최적화 되기 전) 정의합니다. 1string MyString = “Hello World”;cs =의 우측에 하나의 데이터 타입(string)을 적어 선언하는 건 일반적입니다. (속도 또한 일반적) 근데, 이런 작업을 컴파일러가 대신하여 개선할 순 없을까요? 1var MyString = “Hello World”;cs 바로 위의 코드 또한 〈MyString〉라는 C# 문자열 변수를 생성합니다. 일반적인 상황에서 유추(inference)를 통해 처리 성능이 향상되진 않습니다. 컴파일 시, 어떤 작업 과정이든 데이터 타입을 먼저 생각하진 않습니다. 아래 예를 통해 유추를 알아볼 수 있습니다. 1234var SeniorStaf..
C++, QString -> std::string 변환 예제 소스 UTF-8 형식에서 작업할 때와 윈도우 환경에서 작업할 때 구현 소스가 조금 다릅니다. 1234567QString qs; // Either this if you use UTF-8 anywherestd::string utf8_text = qs.toUtf8().constData(); // or this if you're on Windows :-)std::string current_locale_text = qs.toLocal8Bit().constData();cs 출처는 스택 오버 플로우 출처 : How to convert QString to std::string? [링크] C++ QString -> std::string(CString) 변환 예..
Visual Studio 텍스트 전체 찾기 버그 해결, 레지스트리 편집 방법 UI가 예쁜 2017 쓰다가 일이 생겨 2013을 쓰게 되었는데 느닷없이 찾기 버그가 생겼네요. VisualStudio 전체 찾기 버그- Ctrl + Shit + F로 전체 검색 시도- 전체 결과가 아닌 마지막 결과 1줄만 찾기 창에 나타남 전체 검색이 안 되다 보니 답답한 게 많았는데, 알고 봤더니 이거 비주얼스튜디오 버그였습니다. 해결책은 단순한데, 아래 코드를 텍스트 편집기에 붙여넣으세요. 그리고 확장자를 .reg로 하여 저장합니다. 파일 이름은 마음대로 지으세요. 12345678Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{73B7DC..