뽀득이 업데이트

몇년간 로봇 청소기(LG 로보킹)를 사용했는데, 초반에는 아주 잘 사용했습니다.
딸래미가 붙인 청소기 이름이 뽀득이..

일단 사용하면서 느낀 장점으로는 매일 정해진 시간에 청소하도록 설정해두었기 때문에 “바닥에 있는 짐만 약간 정리하면, 돌아왔을 때 바닥에서 먼지가 느껴지지 않는다. “는 점입니다.

위의 문장에 장점과 단점이 모두 있는데요. 바닥에 책이나 연필이 떨어져 있거나 러그가 깔려 있거나 전선이 떨어져 있는 경우에는 로봇 청소기가 상당히 힘들어합니다.

요즘에 사용 빈도가 줄어든 가장 큰 이유는 화장실 문턱에 너무 자주 걸린다는 점입니다. 화장실, 베란다, 리클라이닝 의자 턱에 걸려서 멈춰있는 경우가 많아서, 저녁때 충전 포드에 없으면 어디선가 걸려있겠지.. 하면서 매번 찾아야 한다는 문제가 있죠. 오늘 유심히 청소하다가 걸리는 모습을 보니 한번 떨어졌다 기어 올라온 다음에, 조금 있다가 다시 그 위치로 가서 떨어지고 요게 몇번 반복되면서 못올라오는 경우가 있을때까지 시도하는 느낌이랄까.. (아.. 답답해..)

그래서, 혹시나 하고 구글신께 검색해보니 https://www.lgservice.co.kr/download/selectSearchView.do#none 에서 역시 펌웨어를 찾을 수 있더군요.

새 펌웨어는 받았는데, 어떻게 하라는 가이드가 없네요. 같이 있는 메뉴얼에도 업데이트 정보는 없고.. (그렇지.. 이래야 우리 LG지..)

다시 인터넷 검색.. 다음과 같은 절차를 밟으면 되더군요.

  • 다운로드 받은 펌웨어를 USB스틱에 풀어서 넣는다. (USB root directory에 bin과 sh 파일이 있어야 하는듯)
  • 로봇 청소기 전원을 끄고
  • 먼지통을 빼고, USB 포트에 USB 스틱을 끼우고
  • 전원을 켜고, 시작 버튼을 누르면 자동으로 업데이트를 시작합니다. (안내 메시지로 “업데이트를 시작합니다” )
    • 커버를 연 상태에서도 전원만 켜면 되더군요.
  • 업데이트가 끝나면 안내 메시지로 firmware 버전 정보가 나옵니다.

 

업데이트는 체감상 대략 30초~1분 정도? 업데이트 이후의 상황은 좋아진게 있는지 아직은 잘 모르겠네요. (느낌상으로는 좋아졌겠지.. 하는 생각이고 아직 문턱에 걸리진 않았지만.. 보고 있으면 아직 아~주 똑똑해 보이지는 않네요..)

 

블로그 살렸습니다.

연휴인걸 귀신처럼 알고 사망하신 블로그를 살렸습니다.

제 문제는 blog를 들어갔을 때 아무런 내용도 나오지 않는 문제였습니다.

[코드를 봐도 참담합니다 ㅠㅠ]

같은 문제를 겪으신 분도 있을 테니 짧게 정리해 보겠습니다.

일단, index.php 를 확인해봤습니다. 혹시라도 연결이 잘못되었는지 확인해야 하니까 말이죠.

그 다음으로 DB를 확인해봤습니다. DB 손상이면(실수든, 해킹이든) 백업된 걸로 되돌려야 하니까요.
잠시 살펴보니 문제가 없어보여서 다음 단계로…

뭐 일단 DB가 살아있으면 데이터는 어떻게든 살릴수 있으니, 조금은 편안한 마음으로 일단 현재 디렉토리를 backup하고 수동으로 새 버전을 upload한 다음 DB update를 위해서 wp-admin/upgrade.php에 들어갔는데, DB가 벌써 upgrade되어 있더군요.

아마도 auto upgrade하다가 문제가 발생했을 것이라는 추측에 조금 더 무게가 실렸습니다.

wp-config 설정이 잘못되었는지 확인하고, wp-config에서 WP_DEBUG option을 켜고 돌려보았습니다.
제 경우는 wp-include에 있는 functions에서 문제가 있는 것 같더군요. Google을 뒤져보니 이런 메시지는 보통 plugin이 잘못되었을때 나타난다고 하더군요.

deprecated since version 2.3.0 with no alternative available. in…

그래서, 일단 모든 plugin을 수동으로 disable 시켰습니다. 이 방법도 역시 google검색을 통해서 도움을 받았죠.
두 가지 방법이 나와있던데 저의 경우는 plugin 디렉토리에서 하나씩 디렉토리 명을 변경해서 disable 시켰습니다. (사용하는게 원래 몇개 없어서..)
음.. 제대로 되네요. 예상한 것처럼 plugin 문제가 맞습니다.

하나씩 켜보면서 보니, 결과적으로 몇몇 단어를 wikipedia에 연결해주는 wikipedia-autolink plugin이 너무 오래되어서 문제가 된 것 같습니다.

일단 요걸 꺼서 문제 해결이네요.

생각보다는 짧게 끝났네요.. 휴~

기술 면접에 대한 짧은 생각

오늘은 면접에 대해서 제가 생각하는 것을 써보려고 합니다.
어차피 제가 경험한 면접이란 것이 개인적인 경험일 수 밖에 없겠지만, 혹시 도움이 될까.. 하는 생각에 씁니다.

좋든 싫든 면접이란 것을 종종 들어가게 됩니다. 작은 회사일수록 인력 채용이란 것이 중요하다보니, 제가 다니는 회사 역시 기술 면접 과정이 까다롭다고 알려져 있습니다. 일단 상당히 오랜시간 상당히 깊숙히 들어가는 면이 있어서 그렇기도 하고, 하드웨어 엔지니어를 뽑는 회사치고는 드물게 실기 면접을 병행하고 있기 때문이기도 할 것 같습니다.

첫 번째로 실기 면접의 경우 많은 경우에 아주 간단한 설계 + 이를 검증하기 위한 테스트 벤치로 구성되는데요.
실기 시험이란 것의 특성상 1) 문제를 읽고 설계 스펙을 구체화시켜 간단한 아키텍처를 만들어 내는 능력, 2) 이를 RTL(혹은 C)로 구현하는 능력, 3)구현된 부분을 검증하기 위한 테스트 벤치를 작성하는 능력, 4) 테스트 벤치에 맞는 테스트 시나리오를 만들고 이를 테스트 케이스로 만드는 능력, 5) 설계물과 설계 과정에 대해서 설명하는 능력을 보려고 하는 것이죠.
이 이야기는 정상적으로 동작하는 것을 만드는 것도 중요하지만, 이걸 어떤 방식으로 검증해야 하는지, 그리고 어떻게 분석해서 왜 이렇게 만들었는지를 논리적으로 설명하는 과정 역시 매우 중요하다는 것입니다.
즉, 실수한 부분이 있더라도 이걸 논리적으로 설명하려 노력하는 것이 중요합니다. 가끔은 실기 시험이란 것이 이야기를 풀어나가기 위한 시작점으로 사용되기 때문입니다.

두 번째로 경력 사항에 대한 설명이 있는데요.
경력자(혹은 석/박사)는 당연히 그 동안 했던 프로젝트 중 지원자가 생각하기에 가장 참여도가 높거나 가장 기억에 남는 주요 프로젝트 한 두가지를 가지고, 내용에 대해서 설명하고 질문에 답을 하는 것입니다.
(물론, 면접 위원들에게 특별히 눈이 가는 프로젝트가 있다면 (예를 들어, 저희 회사 같은 경우는 Video Codec) 이 부분에 대한 질문이 추가되기는 합니다. )
이때, 가장 fancy 해 보이는 프로젝트를 선택하지 마시고 가장 자신 있는 프로젝트를 선택하시는 것이 좋습니다.
보통 면접위원들은 프로젝트 자체에 대해서는 대부분 별로 관심이 없습니다. 다만, 어떤 식으로 일을 했는지 살펴보기 위한 “이야기꺼리”로 프로젝트를 사용하는 것뿐이죠.
따라서, 보통 상당히 긴 시간동안 프로젝트에 대해서 이야기하게 되는데, 이런 종류의 일을 할 때 반드시 알고 있어야 할 것이라 생각하는 다양한 사항들을 물어보며, 스펙부터 설계, 기법까지 다양한 부분에 대해서 질문과 답을 나누게 됩니다.

이 부분에서 중요한 건 틀려도 되니까, 당황하지 않고 논리적으로 이야기가 진행되는 것이 중요합니다.
예를 들어, bandwidth등을 물어봤을 때 실제 수치가 중요한 것이 아니라 논리적으로 어떤 방법으로 계산을 진행했으며, 이런 이런 파라미터가 왜/어떻게 사용된다가 중요한 것이지 정확한 숫자를 기억해 내기 위해서 노력할 필요까지는 없습니다. (보통은 말이죠. 다만 그 수치 자체가 중요한 경우도 있기는 합니다. – 이 일을 하는데 당연히 알아야만 하는 숫자라면 말이죠. )
또한, 앞에도 언급했지만 이런 종류의 일을 하기 위해서 반드시 알아야 하는 사항들이 이 이야기 프로젝트 이야기에 질문으로 나오게 됩니다. (보통 하드웨어 엔지니어, 검증 엔지니어, 소프트웨어 엔지니어의 기본적인 면접 질문을 포함해서..)

[image from https://www.pexels.com/]
가끔 상당히 괜찮아 보이는데, 면접 과정에서 계속된 질문으로 심하게 당황하셔서 당연히 아실 것이라 생각되는 질문조차 답을 못하는 경우가 있습니다.
이런 경우에는 면접위원으로 들어갔음에도 제가 더 안타깝습니다.  조금만 보고 왔다면 당황하지 않을텐데.. 하는 생각이 들기도 하고요.
(사실 이 글을 쓰게 된 직접적인 원인이기도 합니다.)

마지막으로, 글의 성격에 맞게 기술 면접 전에 챙겨보면 도움이 될 만한 것을 이야기하자면..

  1. 구글에서 일반적인 “하드웨어 설계 엔지니어/하드웨어 검증 엔지니어/ 소프트웨어 엔지니어 ” 인터뷰 질문을 대충 한번 훓어보고 오면 도움이 됩니다. 예를 들어 하드웨어 엔지니어라면 metastable/CDC 문제는 아주 기본입니다. (http://babyworm.net/archives/150 )
  2. 경력 사항 중 중요한 프로젝트에 대해서 한번 보면서, 당시에 “어떻게” 스펙을 정했는지, “어떻게” 일을 진행해 나갔는지, “어떻게” 검증 시나리오를 작성했는지, “어떻게” 합성 조건을 잡았는지 등을 기억해 보는 것도 도움이 됩니다. “어떤”일을 했는지도 중요하긴 한데 “어떻게”가 더 중요합니다.
  3. 목적으로 하는 회사에서 원하는 것이 어떤 것인지 확인해 보는 것도 중요합니다. 보통 필수 부분과 우대 부분이 있는데, 이 부분에서 대해서 강조하는 것이 좋습니다.
  4. 면접이란 것이 ‘지원자’가 이 회사를 선택하지 않으면 이루어질 수 없습니다. 따라서, 면접 과정에서 이 회사에서 나에게 어떤 것을 원하는지를 탐색해 보는 것도 잊으면 안될 것 같습니다. (물론, 국내에서는 이게 허용되지 않는 곳도 있습니다만…)

진짜 마지막으로, 인터뷰는 누구를 배제하기 위한 과정이 아니라, 뽑기 위한 과정이기 때문에 질문이 반복되더라도 ‘공격받는다’라고 생각하셔서 당황하실 필요가 없다고 봅니다.

면접 보시는 분들께 좋은 결과가 있길 바랍니다.