본문 바로가기

개발노트

(111)
git branch 전환을 좀 더 간편하게 gcop() { git branch -a | grep -v remotes | grep "$1" | head -n 1 | xargs git checkout } `~/.zshrc` 파일에 위 함수를 선언하기. 그러면 `gcop API-1000` 과 같이 편하게 브랜치의 부분 이름으로 전환을 할 수 있다.
맥에서 특정 프로그램 때문에 '복구할 수 없는 오류' 뜰 때 어제 saaspass 라는 맥용 앱을 잠깐 깔았다가 지웠고, 맥을 끄고 퇴근했는데 오늘 아침에 부팅 후에 '복구할 수 없는 오류' 라면서 로그인 화면에 진입이 안 되서 잠깐 패닉이 왔다. 업무상 휴대폰으로 saaspass 앱을 써야하는 일이 빈번한데, 맥용 앱을 쓰면 모바일을 대체할 수 있을까해서 설치해본건데 기대대로 되지 않아서 바로 지웠다. 그런데 정식 언인스톨러로 삭제했음에도 불구하고 앱이 지워지면서 덜 지워진 게 있었나본데, 다행히 복구모드에서 auth.db 파일 삭제를 통해 간단히 해결이 됐다. 강제 종료 -> 부팅을 누른 직후 Cmd + R 꾹 누르고 있기 -> 복구화면에서 터미널 띄우기 -> `rm /Volumes/Macintosh HD/var/db/auth.db` -> 재부팅
Rails + Sidekiq 에서 Retrying Jobs 를 rails console 에서 한 번에 kill 하기 rs = Sidekiq::RetrySet.new rs.select { |job| job.args[0]['job_class'] == 'SomeNameSpace::SomeModule::SomeClassName' && job.args[0]['arguments'][0] == 'target job arg.' } .sample(remaining_1_count) .each { |job| job.delete }
Google maps API 에 Signature 추가를 위한 URL Signing Secret 찾기 어딨는지 위치를 한참 못찾아서, 나중에 또 헤맬까봐 기록해둠 진입점 : API 및 서비스 > 대시보드 > Maps Static API > URL 서명 보안 비밀 https://console.cloud.google.com/google/maps-apis/apis/static-maps-backend.googleapis.com/staticmap?project=project_name
Rspec 에서 "여러" 인스턴스가 지정한 메소드를 실행하는지에 대한 Assertion 이번에 rails 에서 aws-sdk gem 을 이용하여 sns 를 사용하는 코드를 만들고 있다. 그런데 어떠한 이유로 aws 의 상태가 좋지 않거나, 인터넷 상태가 좋지 않는 등의 이유로 해당 로직이 실패할 수 있을 것 같아, begin ~ rescue 문법을 이용해 retry 로직을 구현하였다. begin 블럭안에서 처리하는 로직에서 Aws::SNS::Topic 클래스의 인스턴스를 retry 할 때마다 새로 생성하도록 했는데 (처음에는 singleton 으로 했다가, thread safeness 를 보장한다는 내용을 찾을 수 없어서, local variable 로 매번 인스턴스 생성하도록 처리하게 하였음) 여러 인스턴스가 생긴 것에 대해서 Rspec 에서는 자주 쓰이는 expect 나 expect_a..
Rspec 에서 어떤 Mailer 를 이용하여 발송될지에 대한 테스트 it '메일의 종류는 A 메일이다' do expect { subject }.to have_enqueued_job.on_queue('mailers').with('AMailer', any_args) end 간단한 건데도, 삽질을 좀 많이 했네. rails 에서의 mail 발송(deliver 메소드)은 결국 queue 를 통해서 이뤄지므로, queue 에 넣는 내용을 확인하면 된다. "mailers" 라는 이름의 큐로 enqueue 될 땐, Mailer 클래스의 이름이 전달인자 중 가장 처음으로 들어가기 때문에, with 메소드의 전달인자로 mailer 이름 문자열을 넣어주면 된다.
ubuntu 18.04 에서 캡스락을 마우스 왼쪽 클릭으로 쓰기 책상에 앉아 컴퓨터를 오래 하다보면, 오른쪽 손으로 클릭을 많이 하다보면 왼손의 사용률과 격차가 심해지면서 오른 손목이 가끔 저려올 때가 있다. 한.. 1년 반 전 쯤, 유난히 오른손이 많이 불편한 날이 있었는데, 그 날을 계기로 그 당시에 회사에서 쓰는 키보드(Cougar)에서 UX 툴을 이용하여 캡스락을 클릭으로 변경해서 잘 쓰고 있다. 그런데, 집에 있는 데스크톱 2대 중, 지금 이 글을 쓰고 있는 머신은 운영체제가 우분투이다. (18.04) 키보드는 한성컴퓨터의 무접점 키보드인데, 많이 사용하는 컴퓨터는 아니라 큰 불편을 못 느끼고 있다가, 요즘 다시 많이 쓰는 것 같은데 오른손으로 클릭을 몇 번 하다보니 뭔가 어색함이 느껴졌다. 그래서 우분투에서도 캡스락을 클릭으로 사용하기 위해 찾아보았고, 의..
리눅스에서 프로그램 업데이트 후 dock 에 등록 안 될 때 집에 2대의 데스크톱 컴퓨터 중 1대는 우분투 데스크톱이다. 공부할 때 많이 쓰는 머신인데, 공부를 영 안 했는지 최근 너무 오랜만에 켰다. 그리고 개발툴인 idea, pycharm 등 프로그램 업데이트를 하고 싶어졌다. 근데 윈도우즈에선 .exe 로, 맥에선 .dmg 로 설치하다보면 알아서 예전 버전을 삭제해주고, path 도 잡아주고 사용자가 별 다른 액션을 하지 않아도 깔끔하게 업데이트 된 버전을 사용할 수 있는 반면에, 리눅스 데스크톱을 쓰다보면, 사용하는 프로그램은 대부분 .tar 로 배포된다. jetbrains 의 프로그램도 그러하다. 그래서 사용자가 tar 파일을 압축풀고 원하는 설정(dock 에 추가, 터미널에서 실행 가능하게 등등)은 직접 해줘야 하는데, 그 중 dock 에 등록이 안 되..

반응형