생각지도 않았던 결과를 만났을 때의 기쁨이 종종 채워진다면 그 삶은 얘기거리로 채워진다. 어젯밤의 경험이 바로 그런 것이었는데, 아마존 계정 두 개가 있었고 그 둘을 한쪽으로 몰아 옮기게 되었다.그동안 월 10만원이 넘게 나가는 비용이 몇년간 지속 됐는데도 귀찮아서 정리하지 않고 있다가 아마존 aws 명령을 클로드에게 잠시 인증없이 사용할 수 있도록 넘겨준 뒤 이 녀석에게 양쪽 상황을 파악하게 한 뒤 한쪽 가상머신과 관련 리소스를 옮겨달라는 지시를 한 뒤 지켜 보았다.내가 하려면 귀찮은 작업이다. 한번도 안해 봤지만 대충 개념은 서버 이미지를 뜨고 다른 계정으로 복사한 뒤 서버를 그 이미지로 다시 실행시킨 뒤 각종 설정을 복사 해 주는 것이다.클로드에게 계획을 세워 보라한다. 예상대로다. 클로드가 aws..
Jira 티켓의 상태를 "해야할 일" > "진행 중"으로 변경할 때, 최초 추정치를 기입하는 프로젝트라면, 자동화에서 다음 Smart Value를 이용하여 시작 시간 대비 종료 날짜를 자동으로 기입하는 예 {{issue.Start date.toDateTimeAtCurrentTime.plusBusinessDays(issue.timeestimate.divide(25200)).jiraDate}} 너무나 고생해서 알아 낸 값이라 일단 적어 둠 하루를 7시간으로 계산 함 3600 * 7 = 25200
async 함수 안에, await 가 한 번 실행되며, 그 실행 결과를 그대로 리턴하는 경우, 굳이 async / await 을 쓸 필요는 없다. // sample1 async function test1(msg) { await wait1SecPrint(msg); } 위와 같이 어떤 함수에서 test1을 호출하고 await 한다면, test1 내부 코드를 다음과 같이 써도 무방하다는 얘기이다. //sample2 function test1(msg) { return wait1SecPrint(msg); } 예를 들어 보자면, //sample3: a.js async function do_process(msg) { console.log("Begin..."); await test1(msg); console.log("..
Do you know sed? 어떤 특정 파일을 수정하는 스크립트가 유용할 때가 있다. 예를 들면 /etc/ssh/sshd_config 파일에 "AcceptEnv GIT_*" 같은 것을 추가하는 것 말이다. sed 옵션을 보면 -i 라는 sed 의 취지와 상관없는 듯한 파일을 수정하는 옵션이 있다. sed는 stream editor 이므로, pipe 로 흘러가는 text 에서 줄 단위로 에디팅 하기 위한 유틸리티 (유틸리티 치고는 내부 명령이 많은 언어 수준이긴하다)이므로 파일을 inplace 로 수정하는 옵션은 예상하기 힘들다. (아니 이 유틸리티를 사용하는 것 자체가 힘든거야 요샌! 마음대로 힘든 수준을 정하지 말라고!) 그래서 가장 많이 쓰는 sed 옵션은 외우다시피 쓰는 이런 것 아닌가? cat ..
꿈 하나를 진하게 꾸는 중에 생각의 전환을 하는 계기가 될 것 같아서 기록을 한다. 예전 회사를 방문할 일이 생겼다. 아마 누군가를 소개 받거나, 기술적인 것을 물어 보기 위해서 방문하는 아주 고전적인 이유에서의 방문이었다. 코로나로 인한 마스크 쓰기, 사회적 거리두기도 없는 상황으로 꿈은 전개 됐다. 나를 친절하게 알아봐 준 분은 내 기억 상 한 두 번 인사하고 존재는 알지만 어떤 일을 하는지 잘 모르는 그런 분이었다. 이렇게 일방적으로 친한 척 해주니 정보의 비대칭으로 인한 친밀감에 내 대응은 궁색했다. 이어진 두 번의 꿈의 첫번째 꿈에서 그는 서버 프로그래머였던 것으로 느껴졌고, 근처 카카오에 다니는 정 모 님과 인상이 비슷한 것으로 기억하고 있고 (물론 그가 들으면 말도 안되는 소리라고 하겠지만,..
상태어떤 프로젝트에 기생하는 폴더가 하나 있다. 여하한의 이유로 그 폴더가 분리되지 않은 채 있었고, 변경이력이 장기간 쌓여 왔다. 이젠 새로운 저장소로 해당 폴더만 이관하고 싶다.아이디어"git log" 명령으로 특정 파일들 또는 폴더만 지정하여 해당 경로에 영향을 준 커밋만 뽑을 수 있다."git log" 명령에는 커밋의 diff 를 출력해 볼 수 있는 "--patch" 옵션 (또는 줄여서 -p)이 있다."git log" 명령에는 binary의 변경 또한 출력할 수 있는 "--binary" 옵션이 있다."git rebase" 명령의 내부에서는 일련의 변경 이력을 replay하는 방법으로 구현된다."git am" 명령이 "git rebase" 내부에서 동작하는 방식이며, 포맷은 무려(!) 이메일 포맷이..
Linux 명령어로 제공되는 gnu coreutils의 sleep 은 양의 실수를 한 개 이상 인자로 받는다. 따라서 위와 같이 하면 10초를 쉴 수 있다. # pi, e, garbages # 10초 쉬기 sleep 3.14159265 2.71828182 4.14012553 sleep 3.14159265 2.71828182 3.14159265 0.99853288 MacOS에 설치되는 sleep은 양의 실수를 받기는 하지만, 한 개만 인자로 받는다. 그리고 man page에서는 portable 하지 않음을 경고한다. (Solaris, SunOS 시절쯤 과거엔 정수값만 받았었다!) apple 의 sleep 에서는 다음과 같은 트릭을 쓸 수 있다. 인자로 하나만 받는 대신, 숫자가 아닌 부분을 만나면 무시한다..
이 글을 읽기 위해서는 공용서버에서 github, bitbucket 사용하기(1)을 읽어야한다. GIT 사용자 정보 포워딩 공용장비에 로그인할 때 git 사용자 정보도 매번 설정하는 것도 귀찮을 때가 있다. 물론 자신의 계정이 있다면 .gitconfig에 설정하여 사용하게 된다. 그러나 공용계정을 사용하는 경우라면, 환경변수로 GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL 을 설정하여 사용해야한다. 환경변수 설정조차 공용 계정이므로 쉽지 않을 수 있다. 이 때는 이 두 변수를 PC에서 설정하고 ssh 접속할 때 전달 할 수 있도록 설정하면 된다. 서버에서는 받을 준비를 해야하므로 다음과 같이 설정한다. /etc/ssh/sshd_config 에서 AcceptEnv GIT_* 한 줄을 추가한다..
- Total
- Today
- Yesterday
- SSO
- Subversion
- url
- macosx
- 클레로덴드럼
- 커피
- writely
- perl
- VIM
- nodejs
- TCP/IP
- BlogAPI
- OpenID
- Tattertools plugin
- 킹벤자민
- 구근
- 대화
- MySQL
- 퀴즈
- 덴드롱
- 디버깅
- SVN
- ssh
- 식물
- 벤자민
- JavaScript
- tattertools
- Linux
- 수선화
- 오픈소스
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |