Good Article Roundup: AI Coding
I often can’t find good articles I’ve read. Therefore, I’m for once write a blog post that is just a stash of good links.
좋은 기사 모음: AI 코딩
(이 글은 영어로 또 있어요.)
저는 좋은 기사를 읽은후에 자주 기사를 다시 못 찾아요.
좋은 오류 메시지가 시간을 절약하다
(이 글은 영어로 또 있어요.)
개발자는 자주 오류를 보고 오류의 메시지를 읽어야 해요. 그래서 나쁜 오류 메시지 시간 많이 필요할 수 있잖아요. 오류의 안내가 없으면 사람들 추측하기 시작해야 돼요.
나쁜 오류 예: - 프로세스는 비정상 종료 코드만 하하지마! 제발, 표준 에러에 오류를 설명해주세요! - 파일을 못 찾았다고요. 끝. 무슨 파일!, 무슨 파일 못 차았어요? - 등
근데 진짜 좋은 예도 있어요: Babashka HTTP client.
REPL에서:
(http/post "http://gamlor.info/nowhere"
{:headers {"Authorization" "Bearer open-sesame"}})
=> Execution error (ExceptionInfo) at babashka.http-client.interceptors/fn (interceptors.clj:251).
Exceptional status code: 404근데, 오류 정보를 더 잘 살펴보면 정보 많이 생기다:
Good Error Messages Save Time
Developers often face errors and will read error messages. So, a bad error message will use a lot of time. If there is no good information, people have to start guessing.
Bad error examples: - Do not a process with only an error code. Please explain the error in the error standard out. - "File not found error." End. What file! WHAT file was not found - etc
However, a good example is Babashka HTTP client.
In the REPL:
(http/post "http://gamlor.info/nowhere"
{:headers {"Authorization" "Bearer open-sesame"}})
=> Execution error (ExceptionInfo) at babashka.http-client.interceptors/fn (interceptors.clj:251).
Exceptional status code: 404Not much, but you can ask for the full error information in the REPL:
루트 없는 포트 80/443 사용하기 방법: 방화벽으로
(이 글은 영어로 또 있어요.)
유닉스는 루트만 1024이한 포트를 사용할 수 있어요. 근데 인터넷 듣기 위험해요: 이 프러그램이 보안 취약 있으면 나쁜 넘들이 루트 권한을 받을 수 있어요. 그래서 비루트로 1024이한 포트를 사용한 방법 필요해요.
잘 아는 방법은:
`setuid`과 `setgid`로 포트 바인딩 하기 후에 일반 사용자 바꼬기 보텅 권한 해제해요.
자근 유틸리티
privbind는 모든 프로그램 1024이한 포트를 사용 권한으로 비루트로 시작해요.리눅스의
CAP_NET_BIND_SERVICE capability프로그램에게 권한을 해요.Docker아니면 다른 컨테이너는 포트과 사용자 옵션이 있어요.




