개발자 블로그

IDE에서 기본적으로 설치되는 플러그인 외에 별도의 플러그인을 사용해본적이 최근에는 없는 것 같다. 아주 오래전 Visual Studio 6.0을 사용하던 시절에는 코드 자동완성 같은 기능이 IDE 자체에 없었기 때문에, 그 때는 자동완성 플러그인을 사용하긴 했었다. 아마도 그게 마지막 플러그인이었던 것 같네. Android Studio는 그냥 그 자체로도 대단히 훌룡한 IDE지만 찾아보니 유용한 플러그인이 있어서 추천하는 포스팅을 작성해보려고 한다. 플러그인 이름은 "SonarLint". "SonarQube"는 아는 사람이 있을지도 모르겠네. 소나큐브는 별도의 서버에 설치를 해야 되서 사용이 그리 간단하지 않지만, SonarLint는 SonarQube와 같은 기능을 별도의 서버 없이 아주 편리하게 제공..

x발! 나이먹고 이런 저급한 단어들을 사용하는게 스스로 부끄럽게 느껴져서 웬만해서는 욕을 안하려고 하지만 최근 구글의 행태를 보면 욕이 안 나올 수가 없다. 최근 하루에 한 번씩 앱이 삭제되었다는 메일을 받는 것 같다. 사유는 모두 동일하다. 위 내용과 같이 사용자 생성 컨텐츠(UGC) 정책 가이드를 위반 했다는 내용이다. 아니 처음에 앱 등록 할 때는 아무런 제지도 없다가 갑자기 이제 와서 아무런 사전 통보도 없이 그냥 앱을 삭제해버린다. 뭐 대응할 수 있는 시간이라도 주던가 해야 되는데 그런 것도 없다. 애플과는 참 대비되는 모습이다. 애플은 심사 할 때 좀 빡쎄게 리뷰를 하긴 하지만 리뷰가 통과 된 뒤에 이런식으로 사전 통보 없이 삭제 해버리는 짓은 하지 않는다. '악마가 되지 말자'라고 외치던 구..

뭐 대부분의 문제가 그렇겠지만, 이 문제 역시 바보 같은 나의 실수 때문에 발생한 문제였다. RecyclerView.Adapter의 getItemCount() 함수만 호출 안되는 것이 아니고, 다른 override 함수들인 onCreateViewHolder(), onBindViewHolder() 함수 역시 모두 호출이 되지 않았다. 브레이크 포인트를 걸어보고, 로그를 찍어봤지만 역시 호출이 안된다는 것이 확인됐다. 구글링을 해보면 LayoutManager 설정을 빼먹은게 아니냐는 글이 많고, 실제로 가끔 겪는 실수이긴한데, 이번에는 그 문제가 아니었다. 그리고 LayoutManager 설정을 빼먹었을 때는 Logcat 메시지에 아래 이미지처럼 친절하게 알려준다. 이번에 getItemCount()를 비롯해..

안드로이드 스튜디오의 새로운 버전이 출시 되었다. 뭐 새 버전 출시야 계속 반복되는 일이지만, 버전 네이밍 룰을 변경한걸 보면 뭔가 큰 변경이 생긴 것 같기도하고.. 이번 Android Studio 버전의 이름은 Arctic Fox이다. 한국어로는 북극여우 또는 흰여우. 그래서인지 이제 Android Studio를 실행시키면 잠깐 뜨는 로딩 화면에 흰여우가 그려져있다. 'A'부터 시작해서 'B', 'C', 'D'... 의 알파벳 순으로 동물의 이름으로 버전네임을 정할꺼라는데.. 'B'는 뭐가 될까? 'Bear'? 기대가 되네. 서론이 좀 길었다. 암튼 Android Studio를 업데이트 하고나니 아래 이미지처럼 한글이 깨진다. 별로 놀랍지는 않다. Android Studio를 업데이트 하면 자주 겪게되..

완전한 해결 방법은 아니지만 혹시나 도움이 될까 싶어서 공유한다. Node.js 환경에서 MySQL(mariaDB)에 연결할 때 발생하는 에러인데, 아래는 전체 에러 로그 캡처 화면이다. 메시지는 이렇다: Error: Cannot enqueue Query after fatal error. 치명적인 오류가 발생 한 뒤에는 쿼리를 큐에 넣을 수 없다.. 정도로 번역이 가능할 것 같은데, 왜 치명적인 오류가 발생한건지는 모르겠다. Node.js와 MySQL(mariaDB)를 이용해서 서비스를 운영하고 있다면 잘 알테지만 일정시간동안 서비스 요청이 없으면 DB connection이 끊긴다. 그러면서 node.js 서비스도 종료가 되고. 그래서 많이들 이용하는게 아마 PM2가 아닐까 싶다. 나 역시 PM2를 사용..