elixir

#TIL elixir에서 erlang 파일 로그 핸들러를 사용하기

1 minute read

elixir 1.15에서 erlang logger 와의 통합이 이뤄졌다. 그래서 elixir에서 erlang의 파일 로거 핸들러를 손쉽게 사용할 수 있다. elixir logger backend가 deprecated 돼서 설정을 바꾸는게 귀찮았지만 erlang의 파일 로거를 사용할...

#TIL #elixir 실패한 테스트 케이스를 손쉽게 확인하는 우회책

less than 1 minute read

Elixir에서 자식 프로젝트가 여러 개 있는 프로젝트를 Umbrella projects라고 부른다. C++/C#에서 프로젝트가 여러 개 있는 솔루션과 비슷하다. mix test 태스크를 실행하면 하위 프로젝트에 있는 test가 차례로 실행된다. 테스트가 실패하면 에러 exit c...

#TIL Elixir for 포괄 구문(Comprehensions)

less than 1 minute read

Elixir의 for 포괄 구문(Comprehensions)을 잘 사용한 코드 예제를 ’Testing Elixir (Andrea Leopardi, Jeffrey Matthias, 2021)’ 책에서 봤다.

#TIL #elixir mix.lock에 있지만 사용하지 않는 의존성 검사

1 minute read

mix.exs 파일을 수정해 의존성을 추가해서 라이브러리를 사용하다가 mix.exs 파일에서만 의존성을 제거한다. mix.lock 파일에서도 지워야하는데, 그대로 놔뒀다. 이제 mix.lock 에 있어서 다운로드하지만 사용하지 않는 쓰레기 의존성이 생겼다.

#TIL #elixir 긴 코드를 편하게 테스트하기

less than 1 minute read

elixir 대화형 셸(interactive shell)인 iex를 사용하면 코드를 evaluation해서 모듈을 실시간으로 추가할 수 있고 실행할 수 있다. iex 프로그램을 실행한다. 함수를 실행한다. 코드를 수정한다. 다시 컴파일한다. 함수를 실행한다. 이런 빠른 이터레이션이...

#TIL #elixir iex에서 pid 만드는 법

less than 1 minute read

프로그래밍할 때는 숫자를 인자로 넣어서 pid(프로세스 아이디)를 만들 일이 없지만, elixir 대화형 셸(iex, elixir’s interactive shell)을 사용해 프로세스에 직접 메시지를 보낼 때, 가끔 사용한다.

#TIL #elixir EUC-KR 인코딩을 utf-8 인코딩으로 변환

less than 1 minute read

때가 어느 때인데, EUC-KR 인코딩을 UTF-8 인코딩으로 변환하는 걸 찾아봐야 하는가? 대부분 UTF-8 인코딩을 사용하고 있지만 많은 레거시 시스템은 아직도 EUC-KR 인코딩을 사용하고 있다.

#TIL #elixir 파일을 찾을 땐, Path.wildcard/2 함수

less than 1 minute read

특정 디렉터리에 있는 파일 이름을 조회하고 싶어서 관련 함수를 찾아봤다. find_file 정도를 기대하고 찾아봤는데, 찾아봐도 없더라. 구글링해서 찾았다. Path.wildcard/2.

#TIL #elixir get_in 함수에 default 값을 넣는 곳은 없나?

less than 1 minute read

리턴 값이 nil인지 검사해서 다른 값을 사용하는 것보단 nil일 때, 사용할 default 값을 인자로 넘길 수 있다면 로직이 깔끔해진다. 인자를 3개 받는 get_in/3을 기대했지만, get_in/2 밖에 없다. 필요하면 만들어 써야 한다.