전체 글

· C
[배경] Dev-C++ 를 사용하다가 느낀 단점. 2015년 4월까지 릴리즈 이후로는 업데이트가 없음. 컴파일 이전단계에서 auto-syntax, auto-complete 가 미흡하단점 Debug attach 수동으로 변수명을 일일히 입력해줘야 한다는점 (혹은 text-editor 창에서 커서를 올려야함) 새로운 Realease가 지속적으로 출시되는 Open source based IDE인 kDevelop를 찾아보았다. [Setting Environment] Windows 10 Home Edition 64 bit [Install] 1. kDevelop4 설치 https://userbase.kde.org/KDevelop4/Manual/WindowsSetup 2. CMake 설치 https://cmake.o..
· C/C++
1. General Naming Rules 외부인도 알아볼 수 있는 변수사용 권장. 되도록 약어를 쓰지 말 것, ※ 단, 위키피디아 등에 등재된 약어, 이미 개발자들 사이에 익히 알려진 약어는 사용가능 ex) i for an iteration(for, while), T for template parameter, 짧은 코드 내의 갯수를 의미하는 n '단어'는 Camel Case or Pascal Case 사용 ex) start rpc 라는 단어를 변수로 선언한다면? Camel Case: startRpc Pascal Case: StartRpc ※ StartRPC같은 네이밍은 잘못된 예이다. 2. Type Name Type names should start with a capital letter and hav..
· Low Level/OS
Unix 계열의 어셈블리어의 3줄의 코드로 표현되는 시스템 콜 함수 인터럽트 수행과정을 살펴보자. 우선 cpu Register의 'EAX' 'EBX'부터 가볍게 눈으로 보고 넘어가자 EAX (Extended Accumulator Register) : Arithmetic Logic Operation 수행, 함수의 반환값이 이 레지스터에 저장됨. EBX (Extended Base Register): 메모리 주소를 저장하기 위한 용도 (32 bit Linux OS 기준) 시스템콜 인터럽트의 수행 과정을 살펴보자 1. 시스템콜 어셈블리 코드 실행 (살펴보기!) [Assembly Code] mov eax, 1 mov ebx, 0 int 0x80 eax : systemcall number (주소)가 저장됨 ebx:..
· C/C
1. 정의 #define을 통해 정의된 함수로 컴파일 이전 '전처리기' 단계에서 소스 코드를 대체시키는 원리로 작동한다. 2. 장점 일반 함수를 호출 할 경우 스택에 메모리를 잡게된다. 매크로함수는 코드를 대치시키는 방식으로 작동하기 때문에 컴파일 단계, 메모리 소비에 대한 부담을 덜 수 있다. 3. 사용 예시 적용될 data type을 지정해주기 위해 인자로 type을 받는다. (어떤 타입이건 컴파일시에 유연하게 적용 가능) 4. 예시 코드 (선택 정렬) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #include #include #include #define MAX 10000 #define SWA..
· C/C
1. 정의 메모리에서 해제 된 공간(ex. free(ptr))을 가리키는 포인터 (허상 포인터) 2. 발생 원인 free를 통해 메모리를 해제했지만 해당 포인터변수가 해제된 메모리 주소를 가지고 있는 경우. 블록 스코프 내에서(ex. 임의의 함수 내에서) 할당된 변수의 주소를 가리키고 블록이 끝난 경우 3. 증상 Segmentation fault memory access deny -> 예측 불가능한 동작 4. 해결 방법 free 할 경우 메모리 해제 이후 해당 포인터변수를 자동으로 NULL을 가리키게한다. free(ptr) ptr = NULL; Dangling Pointer 문제를 자동으로 발견하게 해주는 third party tool 사용 5. 예제 free해도 Dangling Pointer가 되지 않..
· Web/FrontEnd
https://devlog.jwgo.kr/2016/10/16/bootstrap-css-not-working-properly/ 부트스트랩을 사용할 때 커스텀 CSS 레이아웃이 잘 적용되지 않는다면 · Tonic 사이트 운영에 도움을 주실 수 있습니다. 고맙습니다. --> 부트스트랩을 사용할 때 커스텀 CSS 레이아웃이 잘 적용되지 않는다면 2016년 10월 16일 주의! 아래 글 중 중괄호와 퍼센트 사인 사이의 공백은 실제 코드에서 제거되어야 합니다. jekyll 문법에서 인식 오류가 발생해 공백이 삽입되어 있습니다 부트스트랩 사이트에서 제공하는 기본 레이아웃에, 장고(Django)의 html 상속과 css 중첩 구조를 사용할 때 실수하기 쉬운 부분을 설명하기 devlog.jwgo.kr 자바스크립트(jav..
M_Falcon
Falcon