일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- window size
- 드라이버
- QT
- AWS
- VIM
- sudo
- 패키지
- port
- docker
- Linux
- docker-compose
- 도커
- 루비
- docker registry
- opsworks
- ubuntu
- VMware
- 리눅스
- docker container
- Chef
- ssh command
- VPN
- 우분투
- DevOps
- RUBY
- 방화벽체크
- golang
- ssh
- Openswan
- driver
- Today
- Total
구리의 창고
ssh로 터미널을 돌아다니다보면 글씨색이 너무 어두워서 안보이는 경우가 있다. 이런 경우 .bashrc 파일에 다음과 같은 행을 추가해주면 된다. LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01..
SSH Client를 켜두고 아무것도 하지 않으면 자동으로 종료되는 걸 볼 수 있다. 이 것은 리눅스의 screen 을 사용 할 때도 마찬가지로 자동으로 screen이 닫힌다. * SSH 설정 변경 1) /etc/ssh/sshd_config 를 연다. - Server 2) 아래 항목을 수정하거나 추가한다. TCPKeepAlive yes ClientAliveInterval 60 ClientAliveCountMax 99999 3) /etc/init.d/sshd restart 로 ssh를 재시작한다. * 리눅스 세션 시간 변경 1) bashrc 항목 중 TMOUT 이라는 항목이 있다. 2) 초 단위로 사용하지 않는 세션을 종료해버리는데 이게 설정 돼있다면 지워준다. 확인 방법은 export TMOUT 혹은 /..
웹 작업을 하다보면 문자열이 깨지는 경우가 많다. vim에 깨지는 경우, 웹에서 깨지는 경우, meta tag에 있는 charset을 따라가지 않는 경우 등 다양하다. 흔히 EUC-KR과 UTF-8 문제이다. 리눅스 서버에서 작업을 한다는 가정하에 해결방법을 적어보겠다. 우리의 목표는 UTF-8로 맞추는 것이다. * 터미널 인코딩 맞추기 1) locale 명령어를 이용해 서버 인코딩을 확인한다. 2) 만약에 ko_KR.EUC-KR 로 돼있다면 vi /etc/sysconfig/i18n 에서 아래와 같이 바꿔준다. LANG="ko_KR.UTF-8" SUPPORTED="en_US.UTF-8:en_US:en:ko_KR.UTF-8:ko_KR.eucKR:ko_KR:ko" SYSFONT="latarcyrheb-sun..
메신저의 알림기능같은 다이얼로그는 작업표시줄에 뜨면안된다. (예: 대화알림, 쪽지알림 등등) 다른방법이 또 있을지 모르겠지만 나는 이렇게 해결했다. setWindowFlags(Qt::Tool | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint); setAttribute(Qt::WA_ShowWithoutActivating); Qt::Tool 이 작업표시줄에 안뜨도록 도와준다. 그리고 Qt::WA_ShowWithoutActivating 은 포커스가 이동돼 유저가 방해받지 않도록 해준다.
” ” : 공백(스페이스 한 칸)을 의미 < 부등호() & 앰퍼샌드(&) 기호 " 쌍따옴표(“) # sharp(#) ' 따옴표(‘)
프로그램을 만드는데 QMainWindow를 상속 받아 투명처리와 테두리를 없애고 타이틀바와 메뉴바를 붙이고 있다. * 투명처리와 테두리를 없애는 코드 setAttribute(Qt::WA_TranslucentBackground, true); setWindowFlags(Qt::FramelessWindowHint); 일단 QMainWindow의 기본적인 레이아웃은 아래와 같다. 해당 레이아웃은 (src/gui/widgets/qmainwindowlayout.cpp) 에 정의 돼 있다. 저 레이아웃에 정의 돼 있는 MenuBar 위치를 그대로 쓰게되면 타이틀 바를 넣을 수가 없으므로 기본적으로 제공하는 QLayout::setMenuBar() 함수는 쓸 수가 없다. QWidget 위에 타이틀바를 먼저 넣고 메뉴바를..
현재 개발환경 탓일지 모르겠으나 간략히 적어보면 AMD 쿼드코어 , 윈도우7 64bit , QT 4.7.3 을 쓰고있다. 사운드파일을 재생하려고하는 QSound가 작동을 안한다. 이유는 알 수 없다... 윈도우에선 QSound::isAvailable() 이 무조건 true 란다. 그래서 Phonon을 사용하기로 했다. 예제도 만들겸 알람 프로그램을 만들었다. 소스는 아래와 같다. 그리고 QT plugin을 쓰면 해당 dll 파일도 폴더에 맞게 넣어줘야한다. 궁금하면 첨부파일 다운로드 후 dll 파일 위치를 확인하자. Alarm.cpp #include "alarm.h" #include #include Alarm::Alarm(QWidget *parent, Qt::WFlags flags) : QMainWind..
sqlite를 사용하는 프로그래밍을 한 후 다른 컴퓨터에서 실행하면 아무 에러메시지도 출력하지도 않고 프로그램이 정상 실행되지 않는걸 발견 할 수 있다. sqlite 공홈에서 dll을 다운받아도 마찬가지고 QT 폴더에서 qsqlite4.dll 을 복사해와도 안된다. 이게 QT버그인지 아닌지는 모르겠으나.. 이럴 땐 폴더를 생성해줘야한다. qsqlite4.dll 은 %QTDIR%/plugins/sqldrivers에 존재한다. 그렇다면 dll 파일을 %YOURAPPDIR%/sqldrivers 아래에 넣어줘야한다. 만약에 QMovie같은 class를 쓴다면 imagesformats 폴더를 만들고 qgif4.dll을 첨부해줘야한다. 아무리 생각해도 이건 버그같다..
QT에 있는 SIGNAL SLOT을 쓰다보면 !! signal을 다른 개체로 통과시켜야 하는 경우가 있다. 아래와 같이 다이얼로그 위에 버튼이 있고 엔터를 치면 clicked() 시그날이 발생한다고 하자. 그렇다면 버튼이 발생시키는 시그날은 사실상 다이얼로그 밖에 알 수 없다. 이 때 발생한 시그날을 다른 슬롯에 연결하기 위해선 적절히 QObject::connect를 해줘야한다. 처음 생각한 방법은 Dialog.cpp QObject::connect(pushButton, SIGNAL(clicked()), this, SLOT(passClicked())); void Dialog::passClicked() { emit pushClicked(); } Controller.cpp QObject::connect(dia..
코드를 최적하는데 가장 필수적인 도구는 프로파일러다. 프로파일러는 어느 함수가 얼마나 많이 호출되었는지, 어느 정도의 수행 시간을 점유하는지 따위를 파악할 수 있도록 해주는 도구인데, 프로그래머라면 실제로 써본 적은 없더라도 이름은 많이 들어보았을 것이다. 유닉스 플랫폼에서 코드를 작성하고 있다면, 유닉스 컴파일러 시장은 이미 gcc가 대세를 이루고 있으므로 GNU Profiler라는 좋은 툴을 무료로 사용할 수 있다(GNU는 가난한 프로그래머에게 신의 축복이다). 그러나, 역시 중요한 플랫폼 중 하나인 윈도우에서는 Visual Studio와 잘 맞는 프로파일러를 구하기가 쉽지 않다. 물론, Visual Studio Team Suite 버전이라면 Visual Analyzer가 IDE에 포함되어 있기 때문..