일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 전처리기
- getopts
- 컴퓨터 강좌
- 커널
- Windows via c/c++
- UNIX
- Golang
- SQLite
- 한빛미디어
- 함수포인터
- OS 커널
- Programming
- 포인터
- go
- bash
- 포인터변수
- TiDB
- 약어
- newSQL
- DBMS
- 긴옵션
- TiKV
- 구조와 원리
- Symbol
- Preprocessor
- Pointer
- kernel
- DBMS 개발
- FreeBSD
- UNIX Internals
- Today
- Total
목록개발자 이야기 (97)
sonumb
출처: http://psoug.org/reference/data_dict.html Oracle Data Dictionary Catalog DBA ALL USER V$ GV$ Dictionary Objects Object categories X$ In memory structures (arrays) V$ Views based on X$ structures GV% Global views: Same as V$ except include instance identifier as the first column DBA_ All objects in the database ALL_ All objects owned by the user an psoug.org Object categories Desc. X$ In memo..
ddd로 디버깅할 때, 실제 실행위치와 화면의 소스코드 라인이 맞지 않을 때ddd로 디버깅할 때, 현재 실제 디버깅하는 위치와 ddd에서 출력하는 소스코드의 위치가 서로 다를 때가 있다. 문제의 실제 원인은 LOCPATH라는 환경변수 때문이다. https://www.ibm.com/support/knowledgecenter/ko/ssw_aix_71/com.ibm.aix.nlsgdrf/understand_locale_environ_var.htm또한 ddd를 실행할 때도 LC_TIME 변수 역시 실행에 영향을 끼치지만, 코드라인의 위치를 다르게 트레이싱하는 문제는 LOCPATH 때문이다.따라서 환경변수를 LC_ALL=C 로 하여, ddd를 실행하면 모든 문제는 해결되지만, vim이나 다른 프로그램을 이용할 때..
프로그램이 죽는 현상 혹은 디버깅을 해야하는 어떤 상황을 재현하기 위해 gdb 내에서 실행하는 경우가 종종있다.그러나 이럴때 재현되지 않는 경우가 종종있다. 프로그램을 실행시킨다면, 또다시 오류상황이 발생.. -_-;이유야 여러가지가 있겠으나, 멀티쓰레드 환경, 디버깅 옵션 유무, 옵티마이징 레벨, 실행하던 하드웨어(CPU) 등등이 있다.여튼 이런 것을 디버거로 실행하는 것은, 벌레와의 전쟁에서 백전백패를 의미한다. 이럴땐 프로그램에 "죽는 조건 혹은 어떤 조건을 만족하는 순간이 온다면 디버깅툴로 attach하는 코드"를 기입하는 방법이 있다.그러나 gdb나 cgdb와 같이 CUI 프로그램을 다른 창에 띄워서 어태치하는 방법은 힘들다. 이럴땐 ddd라는 GUI로 된 디버깅 툴을 이용한다.아래 코드를 적절..
참조: https://superuser.com/questions/1045791/icloud-drive-sync-stuck 1. 증상아이클라우드 드라이브가 이전에 다운받았던 파일을 반복적으로 계속 다운하는 혹은 sync 하는 현상이 생긴다. 2. 해결 방법1) iCloud Drive 연동해제 시스템환경설정 -> icloud -> iCloud drive에 체크박스 해제 "복사본 유지"를 선택한다. 2) CloudDocs 폴더를 제거iterm이나 터미널을 열어서 아래 내용을 입력한다. killall birdcd ~/Library/Application\ Supportrm -rf CloudDocs 3) iCloud Drive를 활성화 한다.시스템환경설정 -> icloud -> iCloud drive에 체크박스 선..
mac에서 forcetouch 를 이용하거나 cmd+ctrl+D를 이용해서 찾기(lookup)을 하면, 단어 창이 뜬다. 근데, 단어도 좋긴한데, 원치않는 ibook store, appstore를 검색한다던가 해서 자꾸 버벅이는 현상이 발생한다. 애플티비도 검색하고... 난리가 남.. 단어 하나 보는데, 영화 정보까지 뜬다.(검색정보도 어디론가 흘러가서 저장되겠지?); 쉘창을 띄어 놓고 아래 라인을 실행하면 사전창만 홀로 뜬다. (굳!) $ defaults write com.apple.lookup.shared LookupSuggestionsDisabled -int 1
1. 기본 2010년 이후로 업데이트가 안되던 개발환경을 업데이트 했다. vim + vim.plugins + fzf 다른 개발자들은 zsh도 많이 쓰는 것 같다. 하지만, 기본적인 bash가 좋은 선택이 될 수도 있다. 그래도 변경하고자 하면 brew를 통해 설치한다. 기본 쉘을 변경하려면, chsh 명령어를 이용하여 변경.(linux는 루트권한을 가질수 있다면 /etc/passwd 파일을 수정해도 된다.) https://subicura.com/2017/11/22/mac-os-development-environment-setup.html 을 참조. space.vim은 예쁘고 다양한 기능들이 많아 보이나, 무거워서 쓰지 않기로 한다. 2. VIM plugins예전(2008년)에 쓰이던 개발 환경의 조합들은..
macos에서 XQuartz를 이용해서 X11 을 출력하다보면, 창이 화면밖으로 나갈 때가 있다. 예를들어, 회의실에서 서브모니터에 연결해서 리뷰를 한뒤, 제자리에 돌아와서 내 서브모니터에 연결하면 백프로 창의 위치가 바뀌어 있다. 사파리나 일반 앱들은 유틸을 이용해서 화면으로 출력가능하지만, XQuartz를 통해 포워딩된 창들은 크기 및 이동 제어가 안된다. 단순히 최소화 정도만 가능한 수준... 여담으로, 추측컨데 1. XQuartz에서 윈도우 포지션을 adjusting 하는 부분 2. 창이 어느 모니터에 위치하고 있으며, 이에 따라 좌표 (0,0)을 계산하는 부분 고치면 될 듯하다. 여튼 이럴 시간이 없으니 wmctrl 이라는 프로그램을 이용하자. # 설치$ brew install wmctrl ds..
참조: https://www.cyberciti.biz/faq/finding-bash-shell-array-length-elementsHow do I define bash array?# varname=('elem1' 'elem2' ... )ArrayNum=(1 2 3 4)ArrayNumChar=({0..10} {a..z}) How do I reference any element in bash array?# ${varname[idx_num]}echo ${ArrayNum[0]}echo ${ArrayNumChar[12]}How do I find out bash shell array length?# ${#varname[@]}echo ${#ArrayNum[@]}len=${#ArrayNumChar[@]}for (( ..
컬러계산기. https://geoff.greer.fm/lscolors export TERM=xterm-256colorexport LSCOLORS='내용' # MacOS를 포함한 BSD 계열 (참고로 리눅스는 LS_COLORS 이다) 자세한 내용은 터미널을 열고 $ man ls 한후 LSCOLORS 항목을 참조. 아래의 내용을 파일에 저장한후 실행 해보는 것도 좋다. (디렉토리의 색깔을 확인하는 소스) #!/bin/bash export LSCOLORS_post=xGxFxDaCxdaDaabagaced lowcase=({a..h} x)upcase=({A..H}) idx=`expr ${#lowcase[@]} - 1`for i in `seq 0 $idx`;do LSCOLORS=${lowcase[$i]}${LSCO..
출처: http://15418.courses.cs.cmu.edu/spring2013/article/46 Implementing Lock-free Stacks and Linked ListsBy kverrier, acappiello, malsup, and bourneBlocking vs. Non-blockingThe primary difference between blocking and non-blocking algorithms is which threads are able to make progress in the code execution. In a blocking model, a single thread is allowed to prevent all other threads from making any..