이것저것

Sources

Posts

312 posts

현장) KT 남태혁 응원가 빵야빵야빵야빵야

이것저것|2017년 4월 18일

핸드폰 뒤지다 보니 2016년에 찍었던 동영상이 나왔습니다. 아마, 표를 늦게 구해 4층에서 보던 날인 것 같군요. 각도도 그렇고....영상도 별로라 그냥 잊고 살았던 모양인데 그래도 이왕 찍은 거 아까워서 올려봅니다.남태혁 선수 응원가는 우리 팀 홈페이지 - 응원가 페이지로 이동해도 볼 수 있습니다.링크 - KT 위즈 선수 응원가 [클릭]가자 빵야빵야빵야빵야 kt 남태혁 kt 남태혁 Let’s go 승리를 향해 빵야빵야빵야빵야 kt 남태혁 kt 남태혁 Let’s go승리를 향해 빵야빵야빵야빵야남태혁 선수 응원가 페이지듣다 보면 은근 중독성 있는 우리 팀 드래프트 1순위 남태혁 선수의 응원가입니다만, 이거 찍은 날 너무 높은 데 있었네요. 이래저래 너무 아쉬운데 올해 다시 찍어 봐야겠습니다. 그러려면 일단

늦은 나이에 개발자가 되려는 분들께

늦은 나이에 개발자가 되려는 분들께

이것저것|2017년 4월 11일

저는 살면서 개발자가 되려는 분들의 간접 상담을 딱 3번 해봤습니다. (친구들을 통해서요) 그리고 한결같이 부정적인 대답을 했었죠. 규칙적인 일정을 갖기도 힘들고 컨디션에 따라 결과물의 질적 수준에 큰 차이가 나는 분야인지라 일반적인 직장생활로 생각하면 안 된다는 게 하나의 이유였습니다. 다른 하나의 이유는 연봉입니다. 늦은 나이임에도 이전에 받았던 연봉을 떠올리며 "그래도 그 정도는 받아야겠다"는 생각들을 한다고 들었기에 부정적인 대답을 했습니다. 늦은 나이에 개발자가 되려는 것, 그 용기에는 박수를 치고 싶습니다. 그렇지만, 과연 그 길이 옳은진 다시금 생각해 보셨으면 좋겠습니다. 자신의 다짐이 확고한지 되새겨 봤으면 좋겠다는 의미입니다. 여기까지 생각해 봤는데도 나의 의지는 확고하며 꼭 해야겠다는

C++ 멀티스레딩 프로그램의 디버깅 방법에 대해

이것저것|2017년 4월 8일

멀티스레드 프로그램의 버그는 운영체제의 스케줄링 타이밍과 연관되어 변동되는 경우가 많으므로 재현하기가 매우 어려울 수 있다. 따라서 멀티스레드 프로그램의 디버깅은 몇 가지 특수한 테크닉을 요구한다. 1. 메시지에 기반을 두어 디버깅한다 멀티스레드 프로그램을 디버깅할 때는 디버거를 이용하는 것보다 디버그 메시지를 이용하는 것이 더 효과적일 수 있다. 애플리케이션의 종류에 따라서 cout이나 로그 파일 또는 GUI 컴포넌트 등을 통해 메시지를 출력할 수 있다. 크리티컬 섹션의 시작과 끝 그리고 락의 획득과 해제 시점 각각에 디버그 메시지를 삽입한다. 여기서 출력되는 메시지를 분석하면 두 스레드가 동시에 같은 크리티컬 섹션을 점유하거나 한 스레드가 락 때문에 무한히 대기 상태에 빠진 것을 알 수 있다. 즉

C++ LIST 랜덤 요소의 데이터 조회 소스

이것저것|2017년 4월 6일

참조 - How to get a certain element in a list, given the position? [클릭]advance 함수를 이용해 데이터를 복사해 가져오는 건데.... 별로 좋아보이진 않는군요. 저런 루틴이 반복적으로 돈다면.... 아우... 끔찍합니다. 정말 급하디급할 때 잠깐 써먹기엔 좋겠네요.참고로, .size() 함수는 매번 컨테이너를 순회하며 크기를 세다 보니 O(n)의 속도가 나옵니다. 그러니, 커다란 컨테이너에서 size()를 호출하는 함수가 있다면 당장 지우세요.c++11의 forward_list는 이점 때문에 size() 함수를 아예 제거했습니다.1234567891011121314151617std::list l;// add elements t

GDB 소개와 사용 예제 (GNU DEBUGGER)

이것저것|2017년 4월 4일

GDB 소개GNU 디버거이며, 간략하게 줄여서 GDB라고 불리는 이 소프트웨어는 GNU 소프트웨어 시스템을 위한 표준 디버거이다. GDB는 다양한 유닉스 계열 시스템에서 동작하며, C, C++, 포트란을 비롯한 수많은 프로그래밍 언어를 디버깅하도록 도와주는 이식성 높은 디버거이다. 단순하고 직관적인 디버거GDB는 CLI(명령 라인 인터페이스)를 통해 각종 정보를 제공하는데, 메모리 정보, 스택 정보, 레지스터 정보 등 매우 다양한 정보를 제공한다. GDB는 기본적으로 프로세스 단위로 정보를 제공한다 GDB의 디버깅 방법C소스 각각 한 행은 한 묶음의 어셈블리 코드와 대응. (C++도 동일하다) 컴파일이 끝난 후 생성되는 각 어셈블리 코드 묶음을 C 소스의 각 행과 비교할 수 있게 소스 파일과 해당 인