본문 바로가기

맥에서 특정 프로그램 때문에 '복구할 수 없는 오류' 뜰 때 어제 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 이름 문자열을 넣어주면 된다.
2019-11-29 새로운 시작을 위한 한 걸음 스타벅스, 오픈서베이. 두 회사의 공통점은? 서로를 닉네임으로 부른다. "테리"라는 이름으로 살아온 세월이 합쳐서 5년은 넘네. (스타벅스 3년, 오픈서베이 2년 3개월) 퇴사날을 정한 이후에도 사실, 아무런 실감이 나지 않았는데 마지막 날 내 책상 위를 하나, 둘씩 정리를 하고, 먼지를 닦다보니 그제서야 실감이 나기 시작했다. 이전의 막장 회사에서는 8개월만 다녔고, 4대 보험 미가입 & 근로계약서 미작성 등 문제가 매우 많아 그 회사에서의 마지막 퇴근은 아주 속 시원했는데, 지금은 뭔가 해야할 일을 덜 끝낸 것 같기도 하고 다음주 월요일에 계속 나와야할 것 같은 그런 느낌이 많이 들었다. 그리고 평소에는 대화를 많이 못 나누던 동료들이 먼저 인삿말을 해주고, 좋은 인연 계속 이어가자며 얘기해주셔서 참..
2019-12-15 셀프로 블랙박스 장착, 파머스 대디 얼마전, 오랜만에 고향에 다녀오면서 공짜로 블랙박스를 하나 얻어왔다. 센터에 맡기면 5만원 정도한다고 하고, 직접 해볼 수도 있다고 하길래 직접 하는 걸 좋아하는 나는 직접하기로 했다. 직접하는 것인 만큼 마감이 좀 부족하고, 작업시간도 많이 걸렸다. 그래도 직접 무언가를 만들거나, 고치거나, 뜯어보는 것은 언제나 즐겁다. 그리고 이 날, 경기도 광주시 퇴촌면 정영로에 위치한 "파머스 대디"라는 곳에 다녀왔는데, 온실 컨셉의 카페이다. 외관, 인테리어가 인상적이었다. 근데 커피는 매우매우 입맛에 맞지 않았다. 직접 만들었다는 밀크티도 먹었는데, 밀크티도 내 입맛에 매우 맞지 않았다. 비치해놓은, 레몬 물은 맛있었다. 한 번쯤은 가볼만한 곳이라 생각된다.