Tech

Sequence Model 수강 후기

한창 머신러닝 붐이 일어나던 2년 전쯤 텐서플로우와 케라스를 활용해서 기본적인 선형회귀 정도를 해본 이후로는 딱히 공부라 할 만한 것을 하지 않고 있다가, 작년 연말에 다시 공부를 시작했었다. GAN 샘플 돌려보는 수준까지를 목표로 했었지만 회사 일이 바빠지면서 RNN을 조금 살펴보던 상태에서 또다시 멈추게 되었다. GAN까지는 아니더라도 RNN 정도는 이해를 해야 가변길이의 데이터로 어떻게 머신러닝을 하는지 이해할 …

Sequence Model 수강 후기 Read More »

mac에서 오디오파일 변환하기

맥에서 별도의 툴을 설치하지 않고도 간단한 변환 작업을 할 수 있다. afconvert라는 툴이 기본적으로 설치되어있는데 문서가 제대로 되어있지 않아서 활용이 편하지는 않다. 아래 링크의 내용으로 대략적인 사용법을 유추할 수 있다. https://www.raywenderlich.com/2432-audio-tutorial-for-ios-converting-and-recording-2014-edition 머신러닝 과제를 위해서 m4a 파일을 wav 형태로 바꾸기 위해서 방법을 찾아보다가 발견한 것.

동일한 이벤트에 대해 최초와 그 이후를 다르게 처리하기

어떤 이벤트에 대해, 그 이벤트가 최초로 발생했을 때와 그 이후에 발생했을 때를 다르게 처리해야하는 경우가 있다. 보통은 이럴 때 isFirst 같은 변수를 하나 만들어두고 이벤트 핸들러에서 분기처리하는 식으로 구현하는데, 이벤트에 대한 처리를 객체로 캡슐화하면 조건문을 제거할 수 있다. 변수를 사용하는 방식 객체로 캡슐화한 방식 아래는 메서드에 대한 참조 변수를 사용하여 구현한 것이다. 이렇게 하면 최초에 …

동일한 이벤트에 대해 최초와 그 이후를 다르게 처리하기 Read More »

때로는 과감히 소스를 까보자

대략 3년 전쯤, 잠시 내 손을 떠났던 프로젝트의 코드를 수정하는 동료가 기존에 (아마도) RadioButton으로 구현했던 Tab 버튼영역 UI를 TabLayout을 사용해 구현하는 방식으로 바꾸면서 각 탭 버튼들의 폭이 디바이스에 따라 다르게 그려지는 현상이 나타난다며 도움을 요청해왔다. 화면 디자인상 Tab은 통짜 이미지를 슬라이스해서 버튼을 만들고, 항상 가로를 가득 채우도록 확대/축소 되는 식이어서 정확히 지정된 폭으로 그려지지 않으면 …

때로는 과감히 소스를 까보자 Read More »

IntelliJ에서 Kotlin 버전 지정하기

안드로이드 스튜디오에서도 Kotlin을 쓸 수 있지만, 단순히 몇가지 문법과 기능들만 테스트해보고 싶을 때는 프로젝트를 따로 만드는 것이 편리하다. 현재 작업 중인 프로젝트에서 잠깐 코드를 작성했다가 지우는 방법도 있겠지만, 빌드가 가능한 상태가 되기까지 해야할 작업이 많이 남아있거나 하는 경우도 있으므로 인텔리제이에서 프로젝트를 따로 만들어두는 것이 좋다. 인텔리제이에서 Kotlin 프로젝트를 생성해서 사용하고 있었는데, 코루틴 최신 라이브러리를 추가하고 …

IntelliJ에서 Kotlin 버전 지정하기 Read More »

워드프레스 child theme 만들기

워드프레스에 Google Analytics를 적용하려면 head 태그에 스크립트를 삽입해야하는데 테마 파일을 직접 수정하는 경우 테마 업데이트를 할 때마다 작업을 다시 해줘야하는 번거로움이 있다. 자식 테마를 생성하면 이런 문제를 해결할 수 있는데, 여기서는 다른 내용들은 전부 생략하고 오로지 구글 어낼리틱스를 적용하기 위한 최소한의 작업만 다루도록 한다 1. 자식 테마를 위한 디렉터리 생성 wp-content/themes에 원하는 이름으로 디렉터리를 생성한다. …

워드프레스 child theme 만들기 Read More »

머신러닝 공부 다시 시작

2년 전쯤 ‘밑바닥부터 시작하는 딥러닝’, ‘프로그래머를 위한 선형대수’ 책과 케라스를 가지고 딥러닝을 잠깐 공부했었는데 다른 일이 많아서 우선순위도 밀리고 흥미를 잃었다가 요즘 다시 공부하고 했다. 이번에는 이론적인 배경을 깊게 파고들기보다는 핵심개념과 텐서플로 위주로 진행하고 있는데 머릿속에 정리가 잘 되는 느낌이다. 모두를 위한 딥러닝 강의를 보면서 진도를 나가고 있는데 이론과 실습의 분량과 난이도가 나에게는 딱 맞는 …

머신러닝 공부 다시 시작 Read More »

모하비에서 pyenv install 에러

모하비에서 pyenv를 사용해서 새 파이선 버전을 설치하려고 하면 아래와 같은 에러가 발생하게 된다. zipimport.ZipImportError: can’t decompress data; zlib not available 깃헙에 이슈가 보고되어있고 제보자의 해결책은 다음과 같다. 위 명령 실행 후 정상적으로 설치되는 것을 확인했다.

네트워크 스토리지에 .DS_Store 파일 생성 방지

아래 명령을 터미널에서 실행하고 맥에서 로그아웃하고 다시 로그인한다. defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE 다시 원래대로 하려면 마지막의 TRUE를 FALSE로 바꿔준다. defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool FALSE   참고: https://support.apple.com/en-us/HT208209

Product Flavor에 따라 google-services.json 파일 따로 적용하기

Firebase 서비스를 연동할 때 테스트 프로젝트와 실서비스 프로젝트를 구분해서 운영하게 되는데, 이 때 각 프로젝트를 위한 google-services.json 파일이 따로 나오게 된다. 테스트용 빌드와 배포용 빌드를 product flavor로 구분하고, 각 빌드에 따라 google-services.json 파일을 따로 적용할 수 있다. 별도로 설정할 부분은 없고, product flavor 디렉토리에 json 파일을 각각 넣어두면 자동으로 적용된다. 예를 들어 내부 테스트와 배포용 …

Product Flavor에 따라 google-services.json 파일 따로 적용하기 Read More »