#WITHYOU
Lum7671's Weblog
#WITHYOU

Archives

경력에 대한 생각

장인이 있는 창착이나 공예와 같은 분야에서 경력이 쌓일수록 기술이 다듬어지고 빨라지고 기술 노하우도 늘어서 초급 기술자보다 고급 기술자와 격차가 눈에 띄게 많이 난다. 하지만, 컴퓨터 프로그래머로 고급 기술자가 되는 길은 명확하지 못한 것 같다. “넓고 얕게” 또는 “좁고 깊게” 보통 내 경력에 대해 얘기할 때, “넓고 얕게 알고 있다”라고 하는데 경력을 쌓는 방법으로는 이것도 한 방법이고, 그 반대인 좁고 깊게 아는 방법도 경력을 쌓는 방법이라고 생각이 된다. 분야 92학번 나이에 한국에서 프로그래머로 살아가는 것은 미래에 대한 알 수 없는 불안으로 계속해서 걱정을 하며 살았던 것 같다. 선배가 있으면 선배를...

Aquamacs

customizations.el 위치 : $HOME/Library/Preferences/Aquamacs\ Emacs/customizations.el PATH 설정 (setenv "PATH" (concat "/Users/1001028/bin" ":" "/usr/local/bin" ":" (getenv "PATH") ) ) PATH 확인 M-x getenv => PATH LANG=ko_KR.UTF-8 (setenv "LANG" (concat "ko_KR.UTF-8"...

Bookmarks

Ubuntu How to Delete Old Unused Kernels in Debian andUbuntu : byobu script 책 텍스트 데이터 처리툴 awk 강좌 1.0 release : gitbook, github, github 게시판 Utils Free Password Manager Compatible with KeePass: KeeWeb : Free cross-platform password manager compatible with KeePass 개발 LemonJar - iOS Console : The most awesome iOS console log viewer. Ever. 유의적 버전 2.0.0 | Semantic Versioning gitignore.io - Create Useful .gitignore Files For Your Project Manpages : This makes a total of 195795 available manpages (including...

자동차 메모

베터리 상식 volt 차량과 배터리의 규격에 따라 조금 다르기는 하지만, 정격 충전 전압은 대략 13.6 - 14.2V DC 입니다. 13.6V가 안 나오면, 알터네이터(발전기) 혹은 전압 레규레이터(정압기)의 문제가 있음을 의미 합니다. 차량을 정상적으로 어느 정도 장거리 운행한 후 엔진을 정지시키고, 차량에서 사용되는 모든 엑세서리나 부속 장비의 전원을 완전 차단 후, 배터리 단자의 전압을 측정합니다. 정격 무부하 전압은 대략 12.6V DC 정도가 될 것입니다. 참고 : 차량용 밧데리 체크방법...

Docker Memo

Youtube 강좌 https://www.youtube.com/playlist?list=PLfI752FpVCS84hxOeCyI4SBPUwt4Itd0T 온라인 책 가장 빨리 만나는 Docker 두서없는 메모 docker run hello-world hello-world를 찾아서 설치하고 실행한다. 보통은 ‘출처/제품’ 으로 출처를 지정하나 생략하면 공삭적인 출처에서 설치를 하는 것 같음. (의견/확인 필요) docker pull : 이미지를 받는다. docker image 이미지 리스트 docker rmi $(docker image -aq) 모든 이미지 삭제 docker container ls —all(-a) 실행한 컨테이너까지 보여줌 image 는 class container 는 instance value 같은 느낌 한 개의 image 는 여러 개의 container를 만들 수 있다. docker stop $(docker container ls -aq) 모든 컨테이너 중지 docker rm $(docker container ls -aq) 모든 컨테이너 삭제 docker ps (-a) 실행중인(했던) 목록 docker info 정보 CI/CD : Continuous integration and continuous deployment Dockerfile docker build -t hellowworldtest . docker image hellowworldtest...

Python 와 Emacs

ipython shell 깨지는 문제 (setq python-shell-interpreter "ipython" python-shell-interpreter-args "--simple-prompt -i") 참고 : Weird shell output when using IPython 5...

Firefox 사용팁

주소(검색)줄에서 자동완성 목록에서 필요없는 것 지우기. 방향키를 사용해서 해당 목록으로 이동 “Shift” + “Delete” 키를 눌러서 목록에서 삭제 참고: Awesome Bar - Search your Firefox bookmarks, history and tabs from the address bar | Firefox Help...

Git 팁

관련 링크 Learn X in Y Minutes: Scenic Programming Language Tours github/gitignore: A collection of useful .gitignore templates rebase task001 => rebase_branch 로 rebase 하기 % git checkout task001 % git rebase rebase_branch First, rewinding head to replay your work on top of it... Applying: added staged command ... % git checkout rebase_branch % git merge task001 commit 후 되돌리기 # 1번 상태 % git checkout HEAD~1 README.md % git reset 12ffb81 README.md # commit 되돌리기 #...

iOS, JavaScript 와 통신

1. JavaScript의 console.log 를 NSLog 로 찍어 보기. ViewController.m : 44라인 JSContext *ctx = [_webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"]; ctx[@"console"][@"log"] = ^(JSValue * msg) { NSLog(@"%@ log message: %@", [JSContext currentContext], msg); }; test.html : 19, 31라인 console.log('=== Java Script Start...

iOS Memo

참고 On-Demand Resources Guide UITableView Performance URL : A Closer Look at Table View Cells Cells and Table View Performance The proper use of table view cells, whether off-the-shelf or custom cell objects, is a major factor in the performance of table views. Ensure that your application does the following three things: Reuse cells. Object allocation has a performance cost, especially if the allocation has to happen repeatedly over a short period—say, when the user scrolls a table view. If you reuse cells...

iOS, UILabel 에서 글자 간격 조정하기.

1. 소스 @interface ViewController () @property (assign, nonatomic) BOOL toggle; @end @implementation ViewController #define LABEL_TEXT @"MAGENTA" #define SMALL_FLOAT 0.0f #define LARGE_FLOAT 20.0f - (IBAction)clickedTestButton:(id)sender { _toggle = (_toggle)?NO:YES;

Java 팁

HttpPost, json-simple(JSONObject) 에서 한글 인코딩이 ‘???’ 로 나올 때, Spring 개발 환경에서 FCM 을 구현 하던 중 한글 Push Message 가 ‘???’ 로 나오는 문제가 있었는데… 해결 후 메모를 남긴다. 이 문제는 단순히 JSONObject와 StringEntity 간 변환 문제였다. URL : Json-Simple String tmpJson = jsonObject.toString(); StringEntity stringEntity = new StringEntity(tmpJson, "UTF-8"); httpPost.setEntity(stringEntity

https, letsencrypt.org 와 nginx

인증서 갱신 (renew, certonly) crontab % sudo crontab -l # 2월, 4월, 6월, 8월, 10월, 12월 매 6일 새벽 4시 17분에 let's encript 갱신 17 4 6 2,4,6,8,10,12 * /opt/local/sbin/letsencrypt_renew.sh 참고 : /etc/crontab /opt/local/sbin/letsencrypt_renew.sh % cat /opt/local/sbin/letsencrypt_renew.sh #!/bin/sh # NginX Stop service nginx stop # or whatever your webserver is # LetsEncrypt Update /opt/local/letsencrypt/letsencrypt-auto certonly -w /var/www/html -d oh.mypi.co --force-renewal --no-self-upgrade --standalone LE_STATUS

Linux Tips

Here document Keybase 와 shell의 “here document” 기능을 사용한 예: % keybase pgp sign -c << EOF hello EOF -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 hello -----BEGIN PGP SIGNATURE----- wsFcBAEBCAAQBQJbzu4wCRDbzYs3KlGl4QAAvvUQAFqpyLCc8DeS5jNNLGr2hdqL 55zKqntXq/4J++JzlcASzkde5fdh34IA8ALi3ZBMrdI36pxpGShmL7+aVTR941WH EnHv/emEhIEkLPve+VJVx0Rc8ylwRJ4wi4rP4bKoBD29J4wmU26PaaCqZNpIdTWu VbjASz5KDrBJjZkPlTV3hpoJUl0zAoHPBmtkPfx+KXDI88oRiA8Y8h7FAxlwicwy WMM4KLmXlGNHSBGMPRFOUjgAKo5YnXjAsKgrDiTW8hubsYXWgO5NUCDa9lWsNoW+ bVrynqgGYfTgovy66Y4b7uzU8wzVKiDhRSR5B1MUOiquAjD0veRQdl9RMmZ4Hpz5 z/SdPKk/PYNhg84wQdgQRmtwYUau8utXmqXrqsnyBzzp4fYomFWxcITPr7uki8ks AsvGJv0cw6zUyMUpPjyO7l2qsrDPvZiQe+Nqe5rueoZ3YWjHWYCUy/IyIziUGhv+ xv6InINIazqEqgsNUwVF0fexF0tEkla/ggXRjTQ7Ht0uYlngV6DmJ0QXNsOs3f2y E6XIR2Z3iQwo1XPCtYbmXNzZ4n4nBB2vpcBN3o6L/kyU7ITcBgfCylZSkACh9A96 aNaEilAX7Xty31128XlAET8E+loFmRLZnozL426Y1t62yTzpsww1a5YpMPgaR91/ ClWaFiPcpFuSYRB38cnV =5W1g -----END PGP SIGNATURE----- % ssh, password 자동입력 % ssh-keygen -t rsa -b 2048 % ssh-copy-id id@server 출처 : How to automate SSH login with password? 용어, Shebang (Unix)

Xcode, LLDB Memo

break point, 몇 가지 방법 (lldb) breakpoint set --name func001 --name func002 (lldb) break set --method method001 (lldb) br set --selector obj001_selector001: (lldb) b set --name "-[class001 method001:]" (lldb) breakpoint set --file test.swift --line 26 (lldb) breakpoint set --selector viewWillAppear breakpoint 는 break, br, b 로 줄여서 쓸 수 있다. ‘-r’ : 정규식표현식 break point, 추가 설명

MacOS에서 Python3를 python으로 사용하기.

MacOS에서 Python3를 python 으로 사용하는 방법. 1. 필요 소프트웨어 설치 % pip install virtualenv % pip install virtualenvwrapper 2. 환경 설정 $ mkdir ~/.virtualenvs # .zshrc export WORKON_HOME=~/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh 3. python3 를 python 기본으로… % mkvirtualenv --python=/usr/local/bin/python3 myenv 4. 확인 % python --version Python 3.6.2 % deactivate # 기본 python 으로 되돌림 % python --version Python 2.7.10 % workon myenv # python3 을 python 으로... %...

MacOS Tips

brew, tor proxy 사용하기 % HOMEBREW_FORCE_BREWED_CURL=/usr/local/opt/curl/bin/curl;ALL_PROXY=socks5://127.0.0.1:9050 brew cask install filezilla 원하는 curl 지정 추가. 참고: Homebrew behind proxy ? brew cask 를 upgrade 하기 % brew cask outdated | xargs brew cask reinstall 참고: osx - Upgrade all the casks installed via Homebrew Cask - Stack Overflow cron 설정 문제 crontab -e 로 설정을 하고 ‘wq’로 저장하면 아래와 같은 메세지가 나오면서 저장 되지 않는 문제가 있다. % crontab -e crontab: no crontab for userid - using an...

macOS, ZFS를 사용해서 RAM 디스크 만들기

Change Logs 2016-11-20 15:33 : $DEVDISK 변수를 이용해서 RAM 디스크 만듬. 2016-11-15 20:35 : 최초 작성. 용도는 주로 $HOME/Library/Caches 디렉터리에서 브라우저용 캐시와 같은 속도를 높이고 싶은 파일들을 RAM Disk로 옮겨서 빨리 실행되도록 한다. 특히, 필자와 같이 HDD를 주 Disk로 사용하는 경우 RAM Disk가 보다 효과적일 것 같다. 관련 링크: A short ramdisk & ZFS anecdote (Ramblings from Richard’s Ranch) OpenZFS on OS X mkRamDisk.sh RAM 디스크를 생성하고 Disk에 backup 된 내용을 복사한다. % cat ~/bin/mkRamDisk.sh #!/usr/bin/env sh

Nginx Memo

Add ngx_pagespeed module to Ubuntu 17.10 Nginx install from Ubuntu Source Package 참고: Compile Nginx with ngx_pagespeed Module on Ubuntu 16.04 - LinuxBabe.Com Get Nginx Source Package % mkdir ~/nginx && cd ~/nginx % sudo apt install dpkg-dev % sudo apt source nginx % ls nginx-1.12.1 nginx_1.12.1-0ubuntu2.dsc nginx_1.12.1-0ubuntu2.debian.tar.xz nginx_1.12.1.orig.tar.gz Modify rules file %...

Python 에서 Lambda

Lambda 와 and, or trick >>> s = "this is\na\ttest" # Case #1 >>> collapse = False >>> processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s) >>> print(

Ruby Memo

RVM 전환 및 기본 ruby 설정 현재 ruby 설정 확인 % rvm list ruby-2.4.1 [ x86_64 ] =* ruby-head [ x86_64 ] # => - current # =* - current && default # * - default 일시적으로 사용할 ruby 지정 % rvm use ruby-head 기본적으로 사용할 ruby 지정 (부팅 후 기본) rvm --default use ruby-head...

Snort, To install Snorby with Nginx

참고 문서 PDF, Snort 2.9.8.x on Ubuntu 12 LTS and 14 LTS and 15 Snort 설치 Barnyard2 설치 PulledPork 설치 Snorby 설치 (Apache2 에서) 특이 사항 거의 모두 참고 문서를 통해서 어려움 없이 설치가 가능하다. 설명이 자세하고 친절해서 설치의 어려움이 없다. 하지만, ‘Asia/Seoul’ locale과 Nginx에서 Snorby를 설치하기 위한 내용을 추가한다. 서버 정보 % uname -a Linux ubuntu 4.2.0-34-generic #39-Ubuntu SMP Thu Mar 10 22:13:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux % cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=15.10 DISTRIB_CODENAME=wily DISTRIB_DESCRIPTION="Ubuntu 15.10"

Synology NAS

DSM 6.1 - Seagate IronWolf 씨게이트 아이언울프 헬스 매니지먼트 (IronWolf Health Management, IHM) 하드로 씨게이트 아이언울프를 사야 할 이유??? ㅎㅎ 링크 : DiskStation Manager 6.1 씨게이트와 시놀로지, 지능형 드라이브 진단 소프트웨어 출시 ::: 베타뉴스 씨게이트가 제공하는 최첨단 데이터 복구 기술은 물론, 주요 변수를 지속적으로 모니터링하고, 문제를 차단, 신속한 문제 해결 등 시놀로지 DSM에 장착된 드라이브를 관리한다. 온도나 습도처럼 NAS 운용 환경과 연관된 추가 정보를 수집해 발생할 수 있는 문제를 미리 예방할 수 있다. 아이언울프 헬스 매니지먼트는 드라이브 사용 환경과...

template

테스트 % ls ::uml:: format=”png” alt=”Sample sequence diagram” participant User User -> A: DoWork activate A #FFBBBB A -> A: Internal call activate A #DarkSalmon A -> B: << createRequest >> activate B B —> A: RequestCreated deactivate B deactivate A A -> User: Done deactivate A ::end-uml::...

Test Creole

<> title: Créole tags: creole, python, pelican_open date: 2013-12-12 <> = Title 1 == Title 2 Some nice text with strong and //emphasis//. A nice list ** With sub-elements Python <> print("Hello World") <> An ordered list A second item...

tmux

tmux 참고: Learn X in Y minutes, Where X=tmux 시작 % tmux -lu new -s pug 임시 종료 Ctrl-b Ctrl-d 이어서 다시 시작 % tmux attach 완전 종료 % tmux kill-server Commands start-server (alias: start) new-session [-c start-directory] [-F format] [-n window-name] [-s session-name] [-t group-name] [-x width] [-y height] [shell-command] (alias: new) list-clients (alias: lsc) attach-session [-c working-directory] [-t target-session] (alias: attach) detach-client [-s target-session] [-t target-client] (alias: detach) has-session [-t target-session] (alias: has) kill-server kill-session [-t target-session]...

Tomcat7, Deploy with Maven3

설정파일 위주로 간략하게 설명을 한다. 참고: http://www.mkyong.com/maven/how-to-deploy-maven-based-war-file-to-tomcat/ Mac의 Homebrew 로 Tomcat7 설치 % brew install homebrew/versions/tomcat7 설치된 위치는 “/usr/local/Cellar/tomcat7/7.0.69” 입니다. CATALINA_BASE=/usr/local/Cellar/tomcat7/7.0.69/libexec CATALINA_HOME=/usr/local/Cellar/tomcat7/7.0.69 $CATALINA_HOME/conf/tomcat-users.xml ...

Ubuntu Note

기본 editor 를 vim 으로 설정 % sudo update-alternatives --config editor There are 4 choices for the alternative editor (providing /usr/bin/editor). Selection Path Priority Status ------------------------------------------------------------ * 0 /bin/nano...

웹과 브라우져

403 에러에 대하여 developer.apple.com 의 403 에러, Cookie 문제 Safari 는 정상적으로 로딩이 되었다. Firefox 를 재시작해도 변함 없이 403 에러가 났다. 해결: developer.apple.com 오류 페이지에서 Cookie를 모두 삭제했다. 해결: 잘못된 Cookie가 403 에러 문제를 일으킬 수 있다. 해결: Cookie 를 모두 지우고 403 에러가 없어졌다....

Xcode Memo

UCP to UTF-8, Automator 를 활용 Xcode 에서 NSLog결과 한글이 UCP 로 아래와 같이 나온다. message = "\Uc874\Uc7ac\Ud558\Uc9c0 \Uc54a\Ub294 \Ud68c\Uc6d0\Uc785\Ub2c8\Ub2e4."; 이것을 UTF-8로 변환해서 보도록 Automator 를 사용해서 팝업으로 띄우도록 만들었다. 아래쪽의 Automator 를 ~/Library/Services 쪽에 설치를 한다. % cd ~/Library/Services;ls ucp2utf8.workflow/ Xcode 에서 UCP 문자를 선택하고 오른쪽 버튼으로 메뉴에서 Service 의 ucp2utf8 을 선택한다. 팝업에 UTF-8 한글로 변환되서 보여진다. MacOS 메뉴에서 Services 설정을 연다. MacOsMenu001_png

zsh tips

expr % expr 10 \* 3 30 % expr length 1234567 7 # expr substr [string] [pos] [length] % expr substr 1234567 3 2 34 # expr index [string] [chars] % expr index 1234567 34 3 noglob 파일 이름 치환 기능을 비활성화한다. % echo * file1 file2 file3 file4 % ls * file1 file2 file3 file4 % * zsh:...