스도쿠 답 만들기 스도쿠 문제를 출제하는 방법은 다음과 같다. 숫자를 섞어서 답을 먼저 만들어야한다. 9x9 빈 칸이 있는 판을 준비한다. 편의 상 왼쪽 위에서부터 오른쪽으로 그리고 그 다음 줄로, 0번부터 80번이라는 숫자를 부여한다. 각 빈 칸에 1에서 9까지의 숫자 후보가 씌여 있는 카드가 무작위로 섞여 쌓아 놓는다. 모든 칸은 다른 칸에 영향을 주는 친구 칸들이 있는데, 일단 같은 3x3 속의 나머지 8개, 바깥으로 가로 6개, 세로 6개, 총 20개가 존재한다. 판 전체의 상태 (선택한 숫자와 후보 카드 모음)를 그대로 복사하여 저장할 수 있는 스택이 있다고 가정한다. 0번 칸의 숫자를 맨 위에 놓인 카드의 숫자로 선택한다. 현재 모든 판의 상태를 그대로 스택에 저장한다. 0번 칸의 친구 칸들 ..
어제 밤에 회사 슬랙에 쓴 글. 어젯밤에 술기운으로 그렇게 업돼서 썼는데, 아침되어 보니 그런 퀄리티가 아니었음. 조금 오래되었지만, 2000년대 초반에 Joel Test라는 것이 소개된 적이 있었습니다.MS의 엑셀팀을 이끌던 사람이 나와서 컨설팅을 하면서 만든 테스트였고, 12개의 항목에 Yes/No로 체크하여 얼마나 좋은 팀인지 확인하는 그런 테스트였죠.2000년대 초반만해도 이 테스트를 9점이상 통과하는 팀은 우리나라에도 그렇게 많지 않았습니다.지금은 많은 팀들이 대부분을 합니다. 몇가지 테스트를 인용해 봅시다. 한 번에 빌드를 만들어 낼 수 있는가? 데일리빌드가 있나? 버그 추적시스템이 있나? 새 코드 작성 전에 버그 수정하나? 무작위 사용성 테스트하나? 매일 빌드를 하며, 해당 결과를 누구나 테..
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("..
이틀전 3월 14일 혼자 사는 지민이가 코로나19 간이 검사 키트로 양성이 나왔는데, 도저히 움직일 힘도 없다했다. 급히 휴가를 내어 달려가 근처 안성 성모 병원으로 이동시켜 코로나 확진 판정을 받고 다시 집으로 귀가 시켰다. 심지어 같은 시각 지안이는 학교에서 목이 아프다며, 조퇴를 하고 집에 왔다. 어제는 각종 구호품(?)을 싸 들고 다시 큰 딸네를 방문하여 목소리도 안나오는 딸을 뒤로 하고 말 그대로의 한 짐 구호품을 전달만 하고 다시 올라와야했다. 오늘 아침, 둘째 딸이 아침에 목이 아픈 증상이 심해져 간이 키트로 검사하니 두 줄, 양성이 나왔다. 오늘 하루도 병원을 왔다 갔다 분주함이 예상된다. 그 와중에 더운 물을 계속 유지시킬 방법을 찾다가 안쓰던 커피 포트가 생각 났다. 먼지가 쌓여 그대로..
아침 비몽사몽간에, 며칠 동안 하고 싶었던 것을 했다. 아이폰 비밀번호 바꾸기. 그 일이 오늘 하루 절반을 매우 절망적이게 만들었다. 비밀 번호를 바꾼지 1분도 안돼서 잊은 것이다. 어떻게 그럴 수 있지? 틀린 비번을 넣을 때마다 입력 대기시간이 늘어났다. 1분이던 것이 5분이 됐고, 15분이 됐으며, 한 시간이 됐다. 대략 그렇게 10번 이상인가를 틀리게 넣자마자 아예 잠금상태가 됐다. 더 이상 비번을 넣을 기회도 주지 않는다. 어렵지 않은 숫자였으며, 분명 조합 몇 개로 찾을 수 있을 것 같았다. 아마 대기 시간이 늘어 나지만 않았어도 바로 찾아 냈을지도 모른다. 다행인 것은, 내 아이폰을 노트북에 USB로 연결하면 바로 백업을하도록 설정해 놓은 탓에, 백업이 존재하고 있었고, 폰 초기화 후에 백업본..
Do you know sed? 어떤 특정 파일을 수정하는 스크립트가 유용할 때가 있다. 예를 들면 /etc/ssh/sshd_config 파일에 "AcceptEnv GIT_*" 같은 것을 추가하는 것 말이다. sed 옵션을 보면 -i 라는 sed 의 취지와 상관없는 듯한 파일을 수정하는 옵션이 있다. sed는 stream editor 이므로, pipe 로 흘러가는 text 에서 줄 단위로 에디팅 하기 위한 유틸리티 (유틸리티 치고는 내부 명령이 많은 언어 수준이긴하다)이므로 파일을 inplace 로 수정하는 옵션은 예상하기 힘들다. (아니 이 유틸리티를 사용하는 것 자체가 힘든거야 요샌! 마음대로 힘든 수준을 정하지 말라고!) 그래서 가장 많이 쓰는 sed 옵션은 외우다시피 쓰는 이런 것 아닌가? cat ..
꿈 하나를 진하게 꾸는 중에 생각의 전환을 하는 계기가 될 것 같아서 기록을 한다. 예전 회사를 방문할 일이 생겼다. 아마 누군가를 소개 받거나, 기술적인 것을 물어 보기 위해서 방문하는 아주 고전적인 이유에서의 방문이었다. 코로나로 인한 마스크 쓰기, 사회적 거리두기도 없는 상황으로 꿈은 전개 됐다. 나를 친절하게 알아봐 준 분은 내 기억 상 한 두 번 인사하고 존재는 알지만 어떤 일을 하는지 잘 모르는 그런 분이었다. 이렇게 일방적으로 친한 척 해주니 정보의 비대칭으로 인한 친밀감에 내 대응은 궁색했다. 이어진 두 번의 꿈의 첫번째 꿈에서 그는 서버 프로그래머였던 것으로 느껴졌고, 근처 카카오에 다니는 정 모 님과 인상이 비슷한 것으로 기억하고 있고 (물론 그가 들으면 말도 안되는 소리라고 하겠지만,..
- Total
- Today
- Yesterday
- TCP/IP
- 수선화
- Tattertools plugin
- OpenID
- url
- tattertools
- nodejs
- 퀴즈
- 대화
- perl
- writely
- 식물
- 킹벤자민
- macosx
- SSO
- 덴드롱
- 커피
- JavaScript
- 벤자민
- 오픈소스
- VIM
- 클레로덴드럼
- BlogAPI
- MySQL
- SVN
- Linux
- 디버깅
- 구근
- Subversion
- ssh
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |