Raspbian 버전 확인하기

라즈베리 파이에서 Raspbian을 사용하면서 간간이 설치된 운영체제의 버전을 확인할 필요가 있었다. 주로 버그 리포팅이나 포럼에 도움을 구할 때지만, 간단한 macOS 버전도 헷갈리기 시작하는 입장에서 릴리즈 날짜를 일일이 기억하는 건 벅찬 일이었다. 커널 버전은 말할 것도 없고. 때문에 Raspbian의 릴리즈 데이트와 커널 버전을 확인하는 방법을 기록해 둔다.

커널 버전 확인하기

커널 버전은 uname -a 로 확인할 수 있다. cat /proc/version 으로도 가능하다고 한다.

운영 체제 확인하기

글 작성 시점에서 Raspbian에는 두 가지 버전이 있다. 최신 버전은 Debian 8 기반의 jessie지만 Debian 7 기반의 wheezy도 간간이 사용되는 듯 하다. 확인은 cat /etc/os-release 로 할 수 있다.

배포판 릴리즈 날짜 확인하기

궁극적으로 이게 필요했는데 릴리즈 날짜는 cat /etc/rpi-issue 를 입력해서 확인할 수 있다.

이 외

sudo apt-get install lsb-release 명령어를 통해서 lsb-release 패키지를 설치하고 lsb_release -a 명령어로 운영체제를 확인하는 방법도 있다고 한다. 다만 커널 버전이나 릴리즈 날짜는 기본적으로 보여주지 않는다.


via


iconservicesagent가 리소스를 과도하게 차지하는 건에 관하여

특히 맥 미니에서 발생하는 증상인데 iconservicesagent라는 프로세스가 램을 잔뜩 잡아먹는 증상을 보임. 심한 경우 istat menus 기준으로 71GB(MB가 아니라 GB) 까지도 차지함. 물론 물리적으로 그 정도의 램이 없으니 가상 뭐시기겠지만.

iconservicesagent가 71GB까지 차지함

이런 글도 있던 모양인데 그닥 도움은 안 됨. Quicklook 관련해서 생기는 문제라는 것 같은데아무튼 해결은 안 됨

해결은 아니고 더 이상 이 건이 문제가 되지 않게 됐는데, Google Backup and Sync를 사용하면서.

학교가 학교 메일을 구글로 옮기면서 구글 드라이브 무제한 용량이 열림. 덕분에 맥미니와 맥북을 통째로 백업을 할 수 있게 됨.

그래서 맥미니 주요 경로(다운로드 경로나 작업 폴더 정도)를 백업을 걸어두었더니 iconservicesagent의 리소스 차지 용량이 확 줆. 아마도 백업하면서 파일들을 건드리거나 한 게 아닌가 싶긴 한데 아무튼.

대신 Google 백업 동기화가 램을 무쟈게 잡아먹기 시작함. 기록 끝.


커맨드라인에서 파일 제어하기

커맨드라인에서 파일을 제어해봅시다

요즘 근 3년 동안 쌓인 다운로드 폴더의 파일을 정리하고 있는데요. 생각이 난 김에 macOS 커맨드라인에서 파일 정리하는 법을 적어봅시다.

명령어 설명서 보기

man 명령어를 입력하면 됩니다. 여기서 설명하지 않은 나머지 플래그와 기능들에 대한 설명이 적혀 있습니다.


파일 보기

파일 보기는 ls 명령어로 합니다. list 로 기억하시면 좋습니다.

ls 디렉터리

[디렉터리] 에 아무것도 안 넣으면 현재 디렉터리의 항목을 보여줍니다.

파일의 세부 사항(최근 변경일이라든가 권한이라든가)을 보기 위해서는 -ㅣ 플래그를 붙여주면 됩니다.

ls -l [디렉터리]

파일 복사하기

파일 복사는 cp 명령어로 합니다. copy 로 기억하시면 좋습니다.

cp 복사_대상 복사_목적지

파일이 아닌 디렉터리는 -r 플래그를 주어야 합니다. recursive 로 기억하시면 됩니다.

cp는 기본적으로 알아서 덮어씌워버립니다. 그러니 이걸 원치 않을 때에는 -n 플래그를 지정해줍니다.


파일 이동하기

파일 이동은 mv 명령어로 합니다. move 로 기억하시면 좋습니다.

mv 이동_대상 이동_목적지

mv 명령어 역시 cp 와 마찬가지로 알아서 덮어씌워버립니다. 그러니 이걸 원칙 않을 때에는 cp와 마찬가지로 -n 플래그를 지정해줍니다.

이동 못하겠다고 뻗튕기더라도 강제로 옮기려면 -f 플래그를 지정해줍니다. -f-n 상호 간에는 나중에 지정된 플래그에 따라 명령이 수행됩니다.

-f와 -n이 충돌 시 상호 간 순서에 의해 결정됩니다.

파일의 이름명 변경도 mv 명령어를 사용합니다.


파일 링크하기

가끔 커맨드라인에서 작업하다보면 일일이 경로를 입력해서 찾아들어가기 귀찮은 경로가 있습니다. 그런 경우에는 ln 명령어를 사용하여 Symbolic link를 만들면 됩니다. link 로 기억하면 편합니다.

ln -s 원본_경로 링크가_있을_경로

-s 플래그가 없는 ln 명령어는 파일에 대해서만 동작합니다. 둘 다 만들어진 링크가 이동하는 경우에는 유효한 링크로 남으나 원본이 이동하는 경우에는 망가진 링크가 됩니다. Finder의 Aliases와 다른 종류의 링크에 대해서는 이 글을 참조하면 좋을 것 같습니다.


디렉터리 생성하기

디렉터리의 생성은 mkdir 명령어를 사용합니다. make directory로 기억하면 편합니다.

mkdir 디렉터리이름

파일 생성하기

파일의 생성은 touch 명령어를 사용합니다.

touch 파일명.확장자

파일 생성도 어쨌든 경로를 생성하는 것이기 때문에 확장자까지 입력해주어야 합니다.


파일 삭제하기

파일의 삭제는 rm 명령어를 사용합니다. remove로 기억하면 편합니다.

rm 파일명.확장자

디렉터리의 삭제는 -r 플래그를 줍니다.

디렉터리에 바로 rm하면 에러를 뱉습니다.

rm 명령어는 Finder의 삭제와 달리 파일을 바로 삭제하고 되돌릴 수 없기 때문에 유의해서 사용해야 합니다. 1


경로 내 파일 비교하기

두 개 경로의 내용물을 비교하고 싶을 수 있습니다. 최근 파일 정리하면서 가장 유용하게 써먹는 명령어 중 하나인데요. diff 명령어를 사용하면 됩니다. difference 쯤 되겠죠.

diff -rq 경로1 경로2

경로 병합하기

서로 다른 두 개 경로의 내용물을 비교했으면 경로에 있는 파일들을 병합하는 방법도 있겠습니다. ditto 명령어를 쓰면 됩니다.

ditto 원본1 [원본2 … 원본n] 병합본

여러 개 경로를 한 번에 병합할 수도 있습니다. 파일을 이동하는 것이 아니라 복사하는 것이기 때문에 병합하고 난 후에는 약간의 뒷정리가 필요할 수 있습니다.


와일드카드 사용하기

커맨드라인에서 파일을 다룰 때에는 와일드카드(*)를 사용할 수 있습니다.

예를 들어서 확장자가 있는 모든 파일을 files 디렉터리에 몰아넣으려고 한다면

mv *.* files/

처럼 하면 되는 것이죠.

macOS의 경우 동일한 이름의 파일이 있다면 뒤에 1, 2, 3을 붙이는 식으로 파일을 추가하게 되는데 이런 중복파일은

rm * 1.*

같은 식으로 지울 수 있습니다.


  1. Finder에서 삭제는 ~/.Trash 경로로 파일을 mv 하는 것이고 휴지통 비우기가 rm ~/.Trash/* 라고 이해하시면 됩니다. 


Vim에서 여러 줄 주석처리하기

외부에서 맥 미니에 접속해 원격 작업을 할 때 가장 즐겨쓰는 에디터는 Vim입니다. 뭐 작업 디렉터리를 Resilio Sync로 동기화시켜놔서 다른 에디터로 작업하고 동기화해도 되지만 직접 수정하는 게 아무래도 속이 편하죠. 가볍기도 하고.

Vim이 다른 에디터에 비해서 아쉬웠던 점 중에 하나는 여러 줄을 한 번에 주석 처리하는 기능이 기본적으로 없다는 것이었는데요. 찾아보니 Stackoverflow에 이런 글이 올라와 있었습니다.

주석 처리하기

1. 노멀 모드에서 주석 처리할 첫 줄의 머리에 커서를 위치한 뒤에 ctrl + v 를 눌러줍니다.

2. 화살표 등을 이용해서 주석 처리할 부분의 끝 줄까지 이동합니다.

3. shift + i 를 눌러서 입력 모드로 변경합니다.

4. # 키를 눌러 주석 처리를 한 후에 esc 키를 눌러 주석 처리를 마무리합니다.

# 키를 눌렀을 때 맨 첫 줄만 # 처리되어서 안 되는 건가 했는데 esc 키를 눌러야 전체 줄에 적용이 되는 방식이더라구요.

주석 해제하기

1.# 문자 앞에 커서를 위치한 후에 ctrl + v 키를 누르고 해제할 마지막 # 문자까지 블럭을 설정해줍니다.

2. x 키를 눌러서 # 문자를 모두 삭제합니다.


via


카카오톡은 왜 욕을 먹는가

아이패드용 카카오톡이 출시된다고 한다

저는 카카오톡을 대단히 싫어합니다. 카카오톡보다 백만 배 뛰어난 텔레그램이 있는데 왜 카카오톡을 쓰고 있는지 의아할 뿐이죠. 물론 그 답은 스스로 잘 알고 있습니다만.

카카오가 아이패드용 카카오톡을 출시한다는 클리앙 글을 보았습니다. 생각이 난 김에 왜 카카오톡이 개 구리고 텔레그램보다 못하며. 텔레그램은 왜 카카오톡보다 나은지 적어볼까 합니다.

멀티 디바이스

아이패드 앱을 내놓으면서 카카오가 우리도 멀티 디바이스 지원해요!!(당당) 하고 싶었던 모양인데, 개 풀 뜯어먹는 소리입니다. 그게 됐으면 내가 맥북에서 굳이 sleepwatcher까지 설치하면서 카카오톡을 종료시키는 짓은 하지 않았겠지.

자세히 읽어보니 아이폰 1대, 아이패드 1대, PC 1대 해서 총 3대 기기에서 접속이 가능하게 만든다고 합니다. 라인 메신저가 그런 방식을 택하고 있죠. 그래도 위챗 수준은 면했네요. 그거라도 지원해주는 게 어디냐 - 그게 딱 카카오톡의 현주소입니다.

카카오톡도 봇 있어 할 지도 모르겠는데 카카오톡은 반쪽짜리 봇만 지원합니다. 텔레그램이 애저녁에 봇을 만들 때 카카오톡은 스티커 팔아먹기 바빴고, 카카오톡이 봇을 지원할 즈음에는 텔레그램은 이미 인라인 봇을 지원하기 시작했죠.

인라인 봇이 뭔고 하니, 채팅방 내에서 채팅방에 없는 봇을 호출할 수 있는 겁니다. @ 뒤에 봇 아이디와 쿼리를 적어서 채팅방에 띄우면 봇이 채팅방에 없어도 쿼리를 처리해서 그 자리에 결과물을 날려줍니다. 텔레그램 소개 페이지에 잘 적혀있군요.

이걸 활용하면 채팅하면서 바로 유투브 비디오를 검색하거나 gif를 검색하거나 여타의 수많은 기능을 활용할 수 있게 됩니다. 그리고 약간의 코딩 지식과 검색하는 시간을 투자하면 직접 봇을 만들어버리는 것도 가능하죠. 튜토리얼이나 문서화도 체계적으로 잘 되어 있고 라이브러리가 정말 수십 종류인 데다가 이런 봇의 등록을 관리하는 봇이 따로 있어서 바로바로 처리가 되거든요. 카카오톡이요? 봇 삭제하는데 일주일 걸립디다.

사실 오래 걸리는 것보다 초심자가 따라할 수 있도록 스텝 바이 스텝 튜토리얼 같은 게 있어야 하는데 카카오톡은 그딴 거 없죠. 물론 다른 사람들이 만들어 놓은 스텝 바이 스텝 예제 봇이 있긴 합니다만.

이외

사실 카카오톡의 가장 큰 문제는 메신저를 지나치게 플랫폼화했다는 겁니다. 물론 이걸로 돈을 벌어야 하는 기업 입장이니 그렇다손 치더라도 사용자 경험은 갖다 버렸다는 게 문제죠.

일례로 최근에 안드로이드 UI를 완전히 개박살내면서 뒤집어 엎고서는 구글의 머티리얼 가이드를 따랐습니다~~ 라고 했다고 하더라구요?

사실 저는 안드로이드를 잘 안 쓰고 당분간은 안 쓸 것 같으니 안드로이드 클라이언트 UI 개편에 크게 영향을 받지 않았습니다만 답장 기능은 정말로 화가 날 정도입니다. 뭔가 텔레그램이 좋다고 하니 따라는 해야 겠는데 따라했다는 소리는 듣기 싫어서 완전히 거지같이 구현한 걸로 밖에 안 느껴졌거든요.

텔레그램에서 답장을 하려면 그냥 슥 슬라이드 해서 보내면 됩니다. 카카오톡에서는요? 1초 동안 메세지를 누르고 있으면 팝업이 (2018. 11. 1. iOS 최신 클라이언트 기준으로) 8개가 뜨고 그 중에서 답장을 찾아서 눌러야 답장 기능을 쓸 수 있습니다. 메신저 사용에 있어서 1초라는 시간은 꽤 긴 시간인데 말이죠. 과연 릴리즈하기 전에 써보기는 했는지, 이걸 쓰라고 추가한건지 궁금할 따름입니다. 그래놓고서 답장 기능 생겼다고 꽤 대대적으로 홍보했죠? 양심의 상태가 거의?

한 가지 더 카카오톡에서 상상도 못했던 기능인데, 텔레그램에서는 챗 단위로 알림음을 다르게 설정할 수 있습니다. 친구한테 얘기했더니 카카오톡도 그거 돼 라고 하던데 카카오톡은 챗 별로 켜고 끄고만 되고(그리고 그것도 도입된 지 그리 오래되지 않은 걸로 기억하는데) 다른 알림음을 설정할 수는 없죠.

이렇게 사용자 경험에 유익한 기능은 대거 누락해놓고서는 무슨 뉴스에 검색에 선물에 카카오 페이까지 덕지덕지 뭉쳐놨으니 모바일 메신저 앱 크기 하나가 얼마? 195MB? 거의 어지간한 게임 수준의 공룡을 만들어냈습니다.


그런데 더 짜증나는 건 메신저는 사용자 많은 게 장땡이라는 겁니다. 거기다 시장 선점을 잘 해서 노인네들은 카카오톡을 쓰려고 스마트폰을 사고 있고 노친네들이랑 연락을 해야 하는 중장년층도 카카오톡을 벗어날 수 없는 거죠. 사용자가 몰려 있으니 당연히 홍보·개발팀 입장에서는 카카오톡을 타겟으로 개발을 할 수 밖에 없습니다. 결국 카카오톡은 무슨 개삽질을 해도 살아남을 거라는 거죠. 적어도 한국에서는.


사실 텔레그램도 찾자면 깔 게 없는 건 아닙니다. 클라우드 동기화 방식이라서 메시지 발신과 수신 사이에 꽤 시간 차가 있고, 클라이언트는 완전히 분화되어 버려서 기기 간 기능이 비대칭성을 이루기 시작해버렸죠. 하지만 그래서 이런 부분이 메신저로서 본연의 기능에 충실하지 못하고 사용자 경험을 해치느냐 하면 글쎄요.

생각해보니 텔레그램은 아예 문의를 텔레그램 내에서 받고 있습니다. 그리고 해결이 되든 안 되든 일단 24시간 내에 답변을 주죠. 적어도 개발팀에 전달하겠다는 답변이라도 말이죠. 카카오톡은 어떻게 하고 있죠?