#TIL asdf .tool-versions 파일로 GitHub Actions에서 erlang, elixir 버전 셋업
프로젝트별 erlang과 elixir 버전 관리를 Asdf로 하고 있다. .tool-versions 파일로 사용하는 버전을 정의한다. 지금 사용 중인 .tool-versions 내용은 아래와 같다.
프로젝트별 erlang과 elixir 버전 관리를 Asdf로 하고 있다. .tool-versions 파일로 사용하는 버전을 정의한다. 지금 사용 중인 .tool-versions 내용은 아래와 같다.
ImageMagick을 설치한다. macOS는 Homebrew를 사용하면 된다
ImageMagick을 설치한다. macOS는 Homebrew를 사용하면 된다
시키는대로 설치 명령을 입력해도 실패해서 알아보니 환경 변수 문제였다. 그냥 sudo 커맨드를 사용하면 환경 변수로 설정된 프록시(proxy) 서버 세팅이 적용되지 않았기 때문이다. sudo -E 커맨드로 실행하면 환경 변수를 유지해서 설치했던 기억이 있다. 매번 sudo -E 를...
’Functional Web Development with Elixir, OTP, and Phoenix (Lance Halvorsen, 2018)’ 책에서 간단한 함수 하나로 pipe operator를 끝까지 태우는 코드를 봤다. GenServer Behaviour 콜백 함수인 h...
간단한 예제 코드를 먼저 보자. alias __MODULE__ 명령문(statement)은 어떤 걸 하는 걸까?
git diff에서 변경된 줄을 나타내는 Hunk를 보여준다. @@ -418,6 +418,8 @@ 이런 식으로 라인 넘버를 같이 표시해 준다. 여기에 header를 출력해 변경 사항에 정보를 제공한다. 예를 들어 header에 포함된 함수나 클래스 선언을 보여줄 수 있다. 라인 넘...
GitHub에 있는 커밋을 내 저장소에 적용하고 싶다. 리모트 저장소로 등록을 안 한 상태라서 git cherry-pick 명령은 사용하지 못한다. 어떻게 하면 될까?
공개키를 접속하려는 서버 authorized_keys 파일에 추가하면 편하다. 패스워드 없이 접속할 수 있기 때문이다.
StreamData는 값을 생성하는 Elixir 라이브러리다. Property-based testing을 할 때, 주로 사용하고 있다.
build_list 라는 함수를 짜고 있다. 요소(element)를 원하는 개수만큼 생성하게 하고 싶다.
mix.exs 파일을 수정해 의존성을 추가해서 라이브러리를 사용하다가 mix.exs 파일에서만 의존성을 제거한다. mix.lock 파일에서도 지워야하는데, 그대로 놔뒀다. 이제 mix.lock 에 있어서 다운로드하지만 사용하지 않는 쓰레기 의존성이 생겼다.
서버를 실행하면 특정 포트(port)를 열다가 실패하는 경우가 있다. 이미 수신 대기하고 있는 포트라는 메시지가 보인다. windows에서는 netstat, findstr, taskkill 프로그램을 사용해서 특정 포트를 수신 대기하고 있는 프로세스의 ID를 찾아 해당 프로세스를 ...
elixir 대화형 셸(interactive shell)인 iex를 사용하면 코드를 evaluation해서 모듈을 실시간으로 추가할 수 있고 실행할 수 있다. iex 프로그램을 실행한다. 함수를 실행한다. 코드를 수정한다. 다시 컴파일한다. 함수를 실행한다. 이런 빠른 이터레이션이...
연말 정산을 하다가 암호가 걸린 PDF를 첨부해야 할 일이 생겼다. 암호를 풀고 첨부해야 하는데, macOS에서 제공하는 미리보기 프로그램으로 PDF를 열어서 암호화하지 않은 PDF로 익스포트 하는데 잘되지 않는다. 암호화가 풀린 게 아니라 내가 입력한 비밀번호를 기억해서 바로 열...
파인더에서 숨김 파일이 보이지 않아 불편해 변경했다.
winget을 사용하면 windows에서 커맨드라인으로 프로그램을 설치할 수 있다. apt-get, brew 처럼 손쉬운 설치가 windows에서 가능하다. 회사에서 코드 사이닝을 안 한 powershell 스크립트 파일을 사용 못 하게 도메인 정책으로 막아놓곤 해서 사용 못하던 ...
마이크로소프트에서 만든 윈도우 터미널(windows terminal)은 셸(shell)을 호스팅하는 애플리케이션(application)이다. 즉 이 애플리케이션을 사용해 cmd, bash, powershell 등을 띄울 수 있다. 화면 분할도 지원해서 그동안 사용하던 ConEmu를...
case val do 200 -> true 404 -> true _ -> false end
사내 linux 가상 머신 인스턴스에 gitlab runner를 설치하려고 했을 때였던 걸로 기억한다.