Docker - 이미지 또는 컨테이너 삭제
도커 공식문서 참고 https://docs.docker.com/engine/reference/commandline/rm/ docker images 를 통하여 현재 도커 이미지 리스트를 출력합니다. root@ip-172-31-18-246:/home/docker# docker images REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE hax0r/truckup       latest              e644e5a96830        10 hours ago        103.6 MB registry            latest              5c929a8b587a        4 weeks ago         33.27 MB jenkins             latest              1ee9a7400f7b        5 weeks ago         711.8 MB ubuntu              latest              426844ebf7f7        7 weeks ago         127 MB ubuntu...
OCSP stapling
OCSP stapling, formally known as the TLS Certificate Status Request extension, is an alternative approach to the Online Certificate Status Protocol (OCSP) for checking the revocation status of X.509 digital certificates.[1] It allows the presenter of a certificate to bear the resource cost involved in providing OCSP responses by appending (“stapling”) a time- stamped OCSP response signed by the CA to the initial TLS handshake, eliminating the need for clients to contact the CA OCSP 정보를 서버에 캐싱해두고 인증서와 함께 클라이언트게 응답함.
php shorthand condition
자주 사용하는 것들, 이전에도 이 주제로 포스트한게있음. 참고 : http://blog.hax0r.info/140 Basic True / False Declaration $is_admin = ($user[‘permissions’] == ‘admin’ ? true : false); ** ** Conditional Welcome Message echo ‘Welcome ‘.($user[‘is_logged_in’] ? $user[‘first_name’] : ‘Guest’).’!’; Conditional Items Message echo ‘Your cart contains ‘.$num_items.’ item’.($num_items != 1 ? ‘s’ : ‘’).’.’;
도커(Docker) 간략한 설명
하루에도 수천 번, 수백개의 서버의 빠르게 배포하자. 본 문서는 도커의 개념과 설치 및 실행 방법을 다루고 있다. 그래서 도커가 뭔대 ? ** ** 도커는 리눅스 기반의 _Container RunTime 오픈소스_입니다. 16년 현재 가장인기있는 클라우드 오픈소스이다. 도커는 Go 언어로 작성되었습니다. 현 시점 기준으로 도커는 현재 Github 에서 36,836 star 1,577명의 contributors를 보유하고있습니다. 도커의 인기는 13년도부터 현재까지 건재한 것은 클라우드 시장의 성장의 비례할 수 있습니다. 단 한 명의 프로그래머가 몇 번의 클릭으로 수 백대의 서버를 간단히 띄울 수 있는 시대가 온 것이다. 하지만 서버의 대수가 증가함에 따라 소스 동기화 관련하여 문제점이 많이 거론되면서 수많은 배포 방법론이 나왔다. 여러 서비스들마다 서로 각기 다른 배포 방법론을 찾아 배포하고 있을 것입니다. 초창기의 서비스들은 FTP를 통해 파일을 복사하는 방식으로 동작했다. Rsync (capistrano, fabric )등과 같은 프로그램을 통하여 파일이나 디렉토리들을 다수의 서버의 동기화시키는 방법입니다. 이전부터 사용했던 셸 스크립트를 통해 자동화 구현이 어느정도 가능하지만 이 또한 한계가있습니다. 셸 스크립트로 중앙 관리기능이나 복잡한 기능은 사실상 구현하기 힘들기 때문입니다. 위 방법들의...
도커 명령어 정리
#컨테이너 docker run 컨테이너를 생성한다. docker stop 컨테이너를 정지시킨다. docker start 컨테이너를 다시 실행시킨다. docker restart 컨테이너를 재가동한다. docker rm 컨테이너를 삭제한다. docker kill 컨테이너에게 SIGKILL을 보낸다. 이에 관련된 이슈가 있다.. docker attach 실행중인 컨테이너에 접속한다. * docker wait 컨테이너가 멈출 때까지 블럭한다. _일시적인 컨테이너를 생성_하고자 할 때는 docker run -rm 명렁어를 사용해 컨테이너를 생성할 수 있다. 이 컨테이너는 멈춰지면 삭제된다. docker ps 명령어는 실행중인 컨테이너 목록을 보여준다. docker inspect ip 주소를 포함한 특정 컨테이너에 대한 모든 정보를 보여준다. docker logs 컨테이너로부터 로그를 가져온다. docker events 컨테이너로부터 이벤트를 가져온다. docker port 컨테이너의 특정 포트가 어디로 연결되어있는지 보여준다. docker top 컨테이너에서 실행중인 프로세스를 보여준다. docker diff 컨테이너 파일 시스템에서 변경된 파일들을 보여준다. #이미지 docker images 모든 이미지 목록을 보여준다. docker import tarball 파일로부터 이미지를 생성한다. docker build Dockerfile을 통해 이미지를 생성한다. docker commit 컨테이너에서 이미지를 생성한다. docker rmi 이미지를 삭제한다. docker insert URL에서 이미지로 파일을 집어넣는다. * docker load 표준 입력으로...
How well do you know prototype
Prototype 1.6의 옳은 사용법과 바르지 못한 사용법을 비교하는 포스트(How well do you know prototype)를 작성했습니다. 출처 : How well do you know prototype Part 2 http://firejune.com/1216 // 옳지 않은 방법 document.getElementById(“foo “) //적당한 방법: 놀랍게도 어떤 사람들은 이것에 대해 잘 모른다.// 옳지 않은 방법 $(“foo “) //바르지 못한 방법: var woot = document.getElementById(“bar”).value var woot = $(“bar”).value //적당한 방법: 폼 값의 편리하고 빠른 호출 var woot = $F(“bar”) $(‘footer’).style.height = ‘100px’; $(‘footer’).style.background = ‘#ffc’;    //적당한 방법: 모든 브라우저가 W3C의 권고를 따르고 있지 않다. $(‘footer’).setStyle({     height: ‘100px’,     background: ‘#ffc’ }) $(‘coolestWidgetEver’).innerHTML = ‘some nifty content’ //적당한 방법: $(‘coolestWidgetEver’).update(‘some nifty content’) $(‘coolestWidgetEver’).update(‘some nifty content’).addClassName(‘highlight’).next().hide() //바르지 못한 방법: new Ajax.Request(‘ninja.php?weapon1=foo&weapon2=bar’) new Ajax.Request(‘ninja.php’, {     parameters: {         weapon1: ‘foo’,         weapon2: ‘bar’     } }) new Ajax.Request(‘blah.php’, {     method: ‘POST’,     asynchronous: true,     contentType: ‘application/x-www-form-urlencoded’,...
SSL Certificate 이슈
SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch 위 에러는 두 모듈 정보가 달라서 생긴문제이다. 아래의 명령어를 통해서 두개의 정보가 서로 일치하는지 확인한다. 서로 다르다면 대칭할수없는 값이므로 발급받은 기관이나 키의 정보를 재확인해야한다. openssl x509 -noout -text -in haxor.crt openssl rsa -noout -text -in haxor.key
Linux IO Diagram
클린 코드:: Clean code (a handbook of agile software craftsmanship)
요즘 클린 코드에 관심이 많다. 코드또한 하나의 글이다. 잘 쓰여진 코드는 아름다운 문장과 같고, 버그를 심을 확률이 낮아진다. 깔끔한 코드를 원한다면, 바로 코드를 작성하기 앞 서 생각을 하길 바란다. 이 후, 자신의 생각 또한 깔끔히 정리가 되었다면 그 때 코드를 작성하면 좋다. 깔끔하게 글을 쓰고 싶다면, 먼저 생각을 깔끔하게 정리하라. -요한 폰 괴테 코드를 대체해 주석으로 의도를 가리키는 개발자들도 많이봤다. 항상 주석이 중요하다고 배웠다. 그런데 왜 ? 코드가 명확하다면 코드자체로 의도를 가리킬수있는 것 아닌가? 깔끔한 코드는 단순 문법만을 나타내는 것은 절대 아니다. 해당 책에는 정말 좋은 내용들이 많이 담겨있다. 그 내용들만 잘 살려 나 자신에게 반영한다면 더 좋은 개발자로 거듭나는데 한 발자국 내딛는 것 아닌가.. ! 장인 정신을 익히는 과정은 두 단계로 나뉜다. 바로 이론과 실전이다. 첫째, 장인에게 필요한 원칙, 패턴, 기법, 경험이라는 지식을 습득해야 한다. 둘째, 열심히 일하고 연습해 지식을 몸과 마음으로 체득해야 한다. 함수는 추상화 수준을 한 단계만 내려가야 한다. 함수 내 모든 문장은 추상화 수준이 동일해야 한다...
AWS 미납(폭탄)요금
Amount Past Due: $428.86 Amount Due: $0.00 Total: $428.86 최근 3개월 동안 접속하지 않고 방치하던 테스트용 개인 계정에 최근 로그인하고 경악을 금할 수 없었습니다. 많아 봐야 10달러 정도 생각하고 있었는데.. *4 가 되어 버렸네요.. (모두 테스트한 이후에 인스턴스 Terminate 하시는거 잊지마시길바래요..) 우선 당황스러웠습니다. 일단 저의 부주의를 자신이 인지하고있었고 어쩔수없지만 요금을 지불해야하는게 맞다고 생각하고있었습니다. 하지만 주변에서 이런 경우에는 AWS측의 문의하면 취소해주는 경우가 많다고 들어서 직접 문의를 해보았습니다. I am a student who dreams of becoming a developer in Korea. In order to practice programming and test my codes, I used AWS. However, I have not used AWS for last 3 months. When I found out about the fee charged on my account two days ago, I was very surprised and shocked. It was because I forgot to stop the instance after testing my code. This is unusal and serious occasion for me, so I decided to contact AWS customer service to...
클린코드, 프로그래머여 깨끗한 코드를 작성하라.
주변에 괜스레 코드를 복잡하게 작성하는 것을 즐기는 개발자가 있다면 그 사람은 절대 잘하는 개발자는 아니라는 것은 확신할 수 있다. 좋은 코드란 다른 개발자가 볼 때 이해하기 쉽고 해당 로직이 직관적이어야 한다고 생각한다. 엉터리 코드를 작성한 후에 해당 코드의 의도를 주석으로 작성하는 것보다, 주석 없이 코드로 의도를 표현하는 것 이 좋다. 그만큼 코드가 나 이외의 개발자들이 읽었을 때 이해하기 쉽도록 작성해야 한다.
프로그래머의 뇌를 단련하는 수학퍼즐
수학 퍼즐 “프로그래머의 뇌를 단련하는,간단하고 빠른 코드를 작성하도록 돕는 68가지 문제” 지인의 추천으로 알게된 책, 저번에 구매했던 서적들을 이제 슬슬 마무리 짓고 이 책을 읽어볼 예정이다. 한국에서 해당 책에 대한 정보를 알수없어 조금 구글링을 해보았는데 아래 목차를 보듯이 내용들은 다소 쉬운편에 속한다. 하지만 프로그래머라면 여러가지 상황에따라 새로운 도구(도구 = 프록그래밍 언어)를 사용할때가 많다. 이 책에서는 문제의 식에따라 다른 프로그래밍 언어들로 구성하여 독자에게 보여주고있다. 평소에 관심있던 언어들이 몇개 보여 아마 책을 읽는데있어 더 도움이 되지않을까 싶다. 제1장 입문편 2진수와 10진수 01 앞뒤가 같은 10진수 만들기 02 수열의 사칙연산 03 카드를 뒤집어라! 04 막대 자르기 05 아직도 현금으로 계산하다니! 06 콜라츠 추측 07 날짜의 2진수 변환 08 똑똑한 로봇 청소기 09 남녀 불균형 10 룰렛의 최댓값 제2장 초급편 비용 대비 효과 생각하기 11 피보나치 수열 12 제곱근의 숫자 13 복면산을 만족하게 하는 것은 몇 가지일까? 14 월드컵 출전국 끝말잇기 15 계단에 서서 수다 떨기 16 끈 세 개로 만드는 사각형 17 30인...
Hacker News 글 노출 알고리즘
Hacker News의 랭킹 알고리즘을 찾아보았다. 스코어 = (P-1) / (T+2)^G P 글의 점수, 추천-반대 글쓴이의 추천도 고려하여 1을 뺌 (points of an item (and -1 is to negate submitters vote) T 글을 쓴 뒤 지난 시간 (time since submission (in hours) G 중력계수 .news.arc.에선 보통 1.8을 사용한다고함. (Gravity, defaults to 1.8 in news.arc) 글 추천이 많을 수록(분자) 오래 살아남고, 시간이 많이 지나거나, 중력계수가 클수록 (분모) 빨리 소멸된다. 가속도를 제공하기 때문에 Linear한 알고리즘보다 역동적인 것이 특징이다. 참고 링크 https://medium.com/hacking-and-gonzo/how-hacker-news-ranking-algorithm- works-1d9b0cf2c08d#.1mux4qa3u
아톰(atom) Code Navigation & Management
아톰을 좀 더 효울적으로 사용하고자 적었습니다. Mac OSX 는 이 곳을 참고해주세요. 내가 자주 사용하는 단축키 Ctrl + Alt+ O 현재 디렉토리 기준으로 파일을 연다. Alt+b / f 현재 단어의 처음 또는 끝으로 이동 Ctrl+f 현재 파일에서 찾기 Ctrl+Shift+f 현재 프로젝트에서 찾기
2016 고려대학교 해커톤 고카톤 GOKATHON
고대 해커톤, 이른바 고카톤에 참여하게 되었다. 하루가 어떤식으로 지나갔는지, 침대에 누우면 멍하고… 이번 해커톤에서 재밌게 놀아서 전에 쌓아두던 스트레스 다 날려버리길..ㅠㅠ 아마 끝나면 저 번처럼 후기아닌 후기 쓸 듯. 참가대상 고려대학교 학부/대학원 졸업/재-휴학생 중, 아이디어 기획, 기술 구현 및 제품 디자인을 원하거나 창업 (스타트업) 에 관심있는 누구나 - 비-개발자도 참여하실 수 있는 행사입니다. - 개인 혹은 팀으로 참가 (최대 약 100명) 개인: 개발 / 기획 / 디자인 등 역할 수행 개인 참가자에 한해 주최측에서 제반사항을 고려 팀 배정. 07/14 정정. 외부 개인 참가자 (비 고려대생)도 신청 가능합니다. 단, 가능한 SLOT에 배정할 것이므로, 참여 확정은 아닙니다. 이 경우, 참여 확정 메일을 참조해주세요. 팀: 2 - 6인으로 구성한 팀 고려대 학생이 포함된 팀이어야 합니다. - 파트별 비율에 맞게 참가 신청을 받을 것이며, 개인/팀 참가 신청은 조기 마감될 수 있습니다. - 기존 공식홈페이지에서 신청하신 분은 다시 onoffmix를 통해 참가신청하지 않으셔도 됩니다. (현재 모두 onoffmix를 통해 참가신청) 주제 대회 주제를 크게 두 가지 선정하며,...