2016. 6. 30.

[RaspberryPi] MongoDB 설치하기

라즈베리파이에서 간단하게 apt-get을 이용해서 간단하게 MongoDB를 설치할 수 있습니다. 컴파일 버젼도 설치할 수 있지만, 컴파일 버젼이 성능면에서 뛰어나지만, 보수유지면에서 불편하다고 합니다.

최근에는 성능을 업그레이드를 하면 효율면에서 더 좋다고 생각합니다. 기기에 최적화를 하는 시간도 많이 드니 말입니다. Gentoo와 같은 몇몇을 제외하고는 일반적으로 바이너리 설치를 추천합니다.

apt를 이용한 설치

apt-get install mongodb

service mongodb [명령어] 를 통해서 몽고서비스를 설정할 수 있습니다.

  • Force-reload … 강제
  • force-stop … 강제종료
  • restart … 서비스 재시작
  • start … 서비스 시작
  • status … 서비스 상태
  • stop … 서비스 중지

일단 설치를 하고 나면, 재시작을 해도 자동으로 mongdb 가 실행되는 것을 확인할 수 있습니다.

  • /etc/mongodb.conf … 설정파일
  • /var/lib/mongodb … DB 파일 저장되는 폴더

2016. 6. 29.

마리나DB vs 몽고DB 비교하기

5NVvQPd.pngvsez46bN1.png
라즈베리파이에 DB를 하나 설치해서 관리를 하려고 하는데 무엇을 할까 고민하다가. 이왕 이렇게 된거 검색을 하고 결정하자고 생각, 이것저것 찾아보았다.

2016년 6월 DB 사용 순위
6S4WSy5.jpg

DB-Engines 에 올라온 글을 바로 인용해서 적는다.MongoDB와 MariaDB를 이용한 빅데이터 처리 비교 연구 숭실대학교 발표내용을 보면, 몽고DB와 마리아DB의 처리속도에 관한 데이터분석이 있는데 많은 차이가 보이지 않는다.
Oracle DB로 프로젝트를 사용하는 사람에 비하면 오픈소스인 NoSql 언어들이 상당한 매력으로 작용한다. 기존에 존재했었던 MySql도 있고, 선택의 범위는 다양하다.
무엇보다 다양한 언어를 지원하고 있다는 점에서 범용으로 사용할 수 있다.
몽고DB 쓰지마세요라는 글 참조.
MySQL를 개발했던 주요개발자 Michael Monty Widenius 가 만들어서 로고가 비슷하다는 말이 있다.

2016. 6. 28.

[RaspberryPi] SSH는 접속이 되는데 SFTP가 접속이 안 될때,

ssh 접속할때 많은 문장들이 나오면 ftp 에서 접숙을 거부하는 사례가 있습니다.

저 같은 경우에도 아래와 같은 장문이 접속을 하게 되면 메세지가 나왔습니다.

이를 제거하면 원할한 접속이 가능합니다.

Zdy0Peb.png

메세지가 출력되는 순서를 보면

/etc/bashrc

~/.profile

~/.bashrc

순으로 정보를 읽어드립니다.

여기서 출력되는 내용을 지우면 됩니다.

FileZilla 를 통해서 접속을 해 봤는데 수정을 하고 난 뒤에, 에러도 없이 잘 접속이 되네요.

2016. 6. 27.

[RaspberryPi] kodi 15.2 에서 동영상을 틀어도 화면이 안나와요.

/boot/config.txt 파일을 편집해서

gpu_mem = 160

을 추가 합니다.

gpu_mem = 192 1080p 화질을 감사하려고 하는 사람은 이렇게 설정을 해야합니다

이래도 안되는 경우에는 더 높은 숫자를 사용해서 성공했다는 사람이 있습니다.

제가 본 게시문에서는 gpu_mem=512 로 설정을 해서 화면이 보인다는 글도 봤습니다.

일단 저는 클린 설치 상태에서 잘 작동하네요.

라즈비안에서 KODI 설치하기

raspbian 에서 설치를 해 봤지만,, 제대로 안 돌아갑니다.
일단 저는 1.5까지는 안정화되어 있다고 하는데, 저는 잘 설치가 안되네요.

KODI 1.6 설치하기

/etc/apt/sources.list.d/raspi.list 에 아래를 추가한다,

deb http://pipplware.pplware.pt/pipplware/dists/jessie/main/binary /

sudo apt-get update 를 실행하기 위해서 apt-key를 얻어와야 한다.

wget -O - http://pipplware.pplware.pt/pipplware/key.asc | sudo apt-key add -
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install kodi

일단, 이렇게 하면,, 설치가 끝난다

KODI 1.5 설치

이미 Raspbean 을 바로 설치해서 따로 OS를 다운받고 설치하기가 귀찮았다. 그리고, 여러가지 다운받고 설정해 놓은 것들도 있어서 OS를 바꾸고 새로 설정하고 싶지 않았다.
그래도 Raspbean 을 설치한 상태에서 kodi 1.6을 설치하는 방법을 찾아보았다. 일단 kodi.wiki 에서 다양한 OS를 지원한다고 한다.

sudo apt-get update
sudo apt-get install kodi

이라고 입력을 하면, 될 것이라고 생각하지만, 이상하게 나는 잘 안 됐다. 그래서 여러가지 검색을 해보니 이미 다른 사람들이 이를 찾아서 만들어 놨다. 아직 라즈베리파이3 에서는 지원하는 버전이 KODI 1.5 버젼까지 지원을 한다고 한다. 1.6 은 지금 테스트 중이고, 곧 정식으로 지원을 하게 될 것 같다

wget http://steinerdatenbank.de/software/kodi-15.1-wheezy.tar.gz
tar -xzf kodi-15.1-wheezy.tar.gz
cd kodi-15
sudo ./install

2016. 6. 26.

맥에서 라즈베리안 설치하기

터미널을 열어서 diskutil list 를 입력, 디스크정보들을 불러오자

/dev/disk2 에 SD카드가 잡힌 것을 볼 수 있다.
FAT32 로 포맷을 하기 위해 다음과 같은 명령어를 입력하자

diskutil eraseDisk FAT32 none MBRFormat /dev/disk2

갈이 입력을 하고, 다음과 같은 화면을 보이면 성공이다.
만약, 여기서 계속 파티션 이름이 안 맞다는 에러가 나오면, 이와 같이 입력해 보자

diskutil partitionDisk /dev/disk2 1 MBRFormat "MS-DOS FAT32" EDISON 805.30M

제대로 됐다면,, 아래와 같은 화면이 나온다.

만약, 다음과 같이 -69877 에러가 나온다면 본인이 장착한 sdcard 옆의 락 레버를 해놨는지 한번 확인해 보자

sudo diskutil eraseDisk FAT32 NAME MBRFormat /dev/disk2
Started erase on disk2
Unmounting disk
Error: -69877: Couldn't open device

라즈베리파이 OS 다운받기

라즈베리파이는 공식 홈페이지에서 간단하게 다운받을 수 있다. 여러가지 OS를 지원하기 때문에 자신이 원하는 OS를 맞춰서 다운 받으면 된다.

기본적으로 추천하는 설치 os 는 NOOBS 와 Raspbian 두 중류가 존재한다. NOOBS 는 os 를 설치할 때에 OS를 선택하는 메뉴가 나와서 Raspbian, Ubuntu 등을 선택해서 설치할 수 있습니다. 그리고 나중에 부팅할 때 shift 버튼을 누르고 있으면 다른 os 로 선택할 수 있습니다. 여러가지 os 를 사용해보고 싶으면 선택하면 됩니다. 일종의 부트 관리자라고 보면 되겠네요.
저는 Raspbian으로 바로 설치를 하려고 합니다. 기본적인 OS가 많은 써드파티 어플을 제공하고 있을 것이 분명히니까 말이죠.

압축을 풀고나면 다음과 같은 파일을 볼 수 있습니다.

이미지 SD카드에 설치하기

저는 2016-05-27-raspbian-jessie.img 파일을 다운받았고 ~/Desktop 에 위치하고 있습니다.
diskutil list 를 입력했다면 아까와 같은 /dev/disk2 에 sdcard가 있는 것을 확인할 수 있습니다.
우선 SD카드를 언마운트합니다.

diskutil unmountDisk /dev/disk2

그리고, 이제 dd 명령어를 통해서 이미지를 SD카드로 설치할 것입니다.

sudo dd bs=1m if=2016-05-27-raspbian-jessie.img of=/dev/rdisk2

중간에 ctrl+t 를 눌러서 얼마나 진행이 되었는지 진행상황을 확인할 수 있습니다. 다시 명령 커맨드가 나왔다면 설치가 끝났습니다. 이제 라즈베리파이에 SD카드를 삽입해서 다시 설치과정을 거치면 됩니다.

리눅스 하드웨어 정보 확인

/proc/ 폴더에 시스템에 대한 정보들이 저장되어 있습니다. 간단히 cat 명령을 통해서 이 것들을 조회할 수 있습니다.

리눅스 버전(Linux Version)

대략적인 기본적인 모든 정보들을 담고 있습니다.
uname -a

메모리 Memory

cat /proc/meminfo

CPU

cat /proc/cpuinfo

DISK 용량확인

df -h

Hardisk

scsi : cat /proc/scsi/scsi
ide : cat /proc/ide/hda/model
raid : cat /proc/mdstat

Network

cat /proc/net/netlink

2016. 6. 25.

라즈베리파이 무선랜(와이파이) 끄기

와이파이 명령어

iwconfig … 무선랜 설정들을 확인할 수 있습니다.


sudo ifdown wlan0 … 무선랜 끄기
sudo ifup wlan0 … 무선랜 켜기

와이파이 끄기

이미 랜으로 연결되어 있는데, 굳히 와이파이를 사용할 필요는 없을 때에 와이파이를 꺼서 리소스를 확장하는 방법이 있다. 솔직히 이 것을 한다고 해서 속도가 많이 차이나고 그러지는 않는다. 하지만, 깔끔한 설정과 라즈베리파이에 대해서 잘 알아 가고자, 이러한 기능도 있다는 것을 알면 좋겠다.

sudo /etc/network/interface

명령어를 통해서 iface wlan0 interface 아래 부분에 아래와 같은 설정을 추가합니다.

post-up iw dev $IFACE set power_save off

그리고 sudo reboot 를 통해서 재부팅을 하면 됩니다.

ps. 이거 이상하게 잘 안되네요. 왜 이러지., 처음에는 됐는데 다음부터는 잘 안되네요..

WIFI 설정이 저장되는 곳

/etc/wpa_supplicant/wpa_supplicant.conf 에 network에 저장이 된다.

2016. 6. 24.

영국의 EU 탈퇴 이유

  • 영국은 이미 NATO 에 가입국
  • EU연방이 아니더라고 자국의 영국연방(스코틀랜드, 잉글랜드, 웨일스, 북아일랜드) 갈등문제
  • 금융정책, 일자리, 과도한규제 등 으로 피해
  • 주변국들의 경제상황
  • 난민문제
일단 영국 EU탈퇴를 주장하는 독립당이 영국의 제1당이 되었습니다. 제 1당이 될 수 있었던 이유는 이민자들이 저임금과 낮은 일자리를 자치하면서 자국민들의 일자리가 부족해지면서 경제상황이 달라졌습니다.
EU연합에 가입되어 있었기 때문에 EU연합끼리의 이동이 자유로웠기 때문에 많은 난민들이 들어올 수 있었기 때문이죠.
하지만, EU연합을 기반으로하는 산업기반들, 일반기업이나 금융회사들이 존재하기 때문에 쉽게 탈퇴하기는 어려울 것 같습니다. 지금 표가 계속 진행중에 있는데, 계속 역전되는 상황이 이뤄지고 있습니다.
만약에 영국의 EU탈퇴가 이뤄진다면, 영국기업들이 유럽으로 진출할 수 있는 발판이 사라지기 때문에 영국에 대한 투자가 급감하게 되지 않을까 생각합니다. 당연히 영국경제가 미래클 알 수 없는 상황에 놓여지게 된다는 것입니다.
어떤 사람들은 영국의 독립이라고 하기도 합니다.
탈퇴확정이네요.

파이썬 공부자료


파이썬을 공부하는 자료들이 많이 널렸는데, 필요한 이 때에 수집해서 저장해 놓을 심산

마이크로소프트 강좌

마이크로소프트의 개발도구 비쥬얼 스튜디오를 이용해서 배우는 파이썬 강좌가 된다. 나온지는 얼마 안 됐지만, 외국인들은 자주 사용하는 사이트. 파이썬 뿐만 아니라 다른 언어와 분야에 대해서 강의를 하고 있다. 한번 정도는 들어가서 내용을 확인할 필요는 있는 사이트

Wikidocs 강좌

온라인으로 책을 공유하는 사이트.
온라인으로 책을 제작 공유하는 사이트. 책도 판매하고 있고, 기본적으로 문서들이 공개되어 있다. 파이썬 뿐만 아니라 C++, C# 등의 책이 올라와 있다.
정리가 잘 되어 있고, 피드백을 할 수 있따는 장점이 있다.

2016. 6. 23.

어떻게 블로그로 수익을 남길 수 있을까

블로거로 100% 이익을 남길 수 있습니다.
많은 블로그 생태계가 변화했지만, 여전히 수익을 내는 블로그를 만들 수 있습니다. 경쟁은 치열하고 블로거들이 예전에 하지않았던 여러가지 일들을 해야 합니다.

예를들어, 처음 블로그가 생겼을 때에는 단순한 키워드를 주제로 새로운 독자들을 유입할 수 있습니다. 하지만, 오늘날에는 10년 전과는 달리 많은 경쟁과 소셜 미디어들이 혼합되는 세상에 살고 있습니다.

구글은 웹마케팅와 SEO(검색엔진 최적화) 전문가들을 괴롭히고 있습니다. 그들은 끊임없이 알고리즘을 변경하고 더 나은 결과을 위해 애쓰고 있습니다.

그러나, 여전히 성공적인 블로그 생활을 할 수 있는 공간이 있습니다. 간단하게 독자를 확보하고 수익으로 이어지기 위한 스마트한 방법을 찾을 수 있습니다.

2016년 5월, Harsh Agrawal은 $28000 달러를, Pet Flynn 은 $150,000 달러를 받았습니다. 그들이 수익을 내는 중요한 방법은 바로 복합적 수익원을 갖고있다는 점입니다. 그들은 하나의 수익원에만 의존하지 않고, 책판매, 직접 광고, 팟케스트 후원 등을 합니다.

그렇다면, 어떻게 Hash Agrawal 과 Pet Flynn 처럼 성공을 되풀이 할 수 있을까요?

첫째, 당신은 수익성이 있는 위치에 있어야 합니다.

당신은 단지 무작위적인 돈을 벌수 있을 것이라고 예상하는 주제를 선택하면 안됩니다. 쉽게 돈을 벌 수 있는 주제를 선백해야 할 필요가 있습니다.

당신이 쓰고있는 주제에 열정을 갖는 것이 중요합니다. - 당신은 이 주제에 대해서 몇년 동안 블로그를 하게 될 것입니다 - 그 틈 안에서 수익이 생기는 것이 똑같이 중요합니다.


중고차에 대해서 광고주가 1530원을 지출하고 있다는 것을 알 수 있습니다. 당신은 이 주제로 하는 블로그를 만들 수 있나요?그래서, 당신은 이익을 낼 수 있는 주제를 선택했습니다. 기다리세요! 당신의 첫번째 목표를 수익으로 생각하지 않는 것입니다.

장기간 동안 성공적인 블로거가 되기 위해서는 실제생활에서 사람들의 문제점을 해결할 수 있도록 도움이 되어야 한다. 당신이 이 기술이 없을 때에는 이 기술을 개발해야 합니다. 당신 블로그의 유용함은 장기적 성공의 기본이 됩니다. 다른 사람들이 제공하지 않았던 정보를 제공해야 합니다. 당신의 목적인 이용자들의 질문에 대답을 하십시오. 당신의 분야에서 전문가가 되어야 합니다.

사람들의 요구와 문제를 해결하지 못하는 블로그 내용과 마케팅 전략은 아무런 의미도 없습니다.

  • 팻플린, 예로 다양한 사업을 시작하고 수동적인 소득을 얻는 것들에 대해서 배우고 싶어합니다. - 사람들은 그의 경험을 배우고 싶어합니다. 그들은 그가 하는 행동을 반복합니다. 한달에 150,000달러를 버는 것은 매력적이고, 사람들은 그렇게 되고자 합니다.
  • Pinch of Yum 의 린제이는 아름다운 사진과 요리를 잘 할 수 있도록 사람들을 돕습니다. 린제이는 토마토 버터 소스와 마늘, 바질 치킨 등 독특한 요리방법에 대한 전문 지식을 제공합니다.
  • Jon Loomer는 페이스북 광고에 스스로를 광고합니다.

모든이들의 요점은 또다른 유용한 블로그로 도약하기 전에 실제로 사람들을 어떻게 도울 수 있을 것인지 시간을 들이는 것입니다.

당신이 틈새시장에서 추구하는 것은 어떤 가치입니까.

다음, 대상 트래픽(traffic)을 찾기


당신의 블로그가 이익을 만들기 위한 충분한 목표 트래픽(targeted traffic) 이 있어야 합니다. 이 것들은 소셜미디어, 콘텐츠 마케팅, 검색 엔진 최적화 서비스와 같은 마케팅 전략을 사용하여 얻을 수 있습니다.당신의 목표 구독자는 당신의 틈새시장과 밀접한 관련이 있는 정보를 찾는 사람들 입니다.목적대상의 관심을 얻는 것은 귀운 일이 아닙니다. 당신은 SEO, SMM 를 잘 사용해야 합니다. 당신은 이 안에서 당신의 기술을 개발하는 일을 원해야 합니다. 더 많은 목표 트래픽들은 많은 방문객들을 만들 것입니다.

수익 = 트래픽 x 전환 요금

이 것이 어떻게 작동하는지 알려드리겠습니다.

  • 블로그를 통해서 제품을 판매 제휴사링크
  • 평균 전환요금 3%
  • 평균적으로 100명중 3명 만이 사이트를 방문해서 구매합니다.
  • 만약 당신이 200명의 방문객을 제공하면, 제휴관계를 갖게 되는 것입니다.

물론 실제 방법은 더 복잡하지만, 생각을 갖게 되었을 것입니다. 이건 숫자 게임입니다. 당신은 이익을 낼 수 았는 숫자를 가져야만 합니다.

2016. 6. 22.

파이썬3 로그인하기

Packtpub 에서 매일 무료로 책을 배포하고 있습니다. 이를 매일 받아오기가 갑자기 귀찮아져서 파이썬이라는 언어를 사용해서 간단하게 만들어 보고 싶었습니다. 웹상에 소스들에 대한 정보가 많이 있다는 것을 알고 python3로 작성을 해 보고 싶었습니다. 여러가지 소스들을 봤는데, 이상하게 저는 잘 작동이 되지 않더라구요. github.com 에 올라와 있는 소스는 장황하게 설명이 되어 있어서 입문자인 저에게는 버거웠습니다. 그래서 만들어 보았습니다.

1.무료책을 구매하는 링크를 가져오기

header = {'User-Agent': 'Mozilla/5.0'}
r = requests.post(authentication_url, headers=header)
r.encoding = 'utf-8'
bs4_packt = BeautifulSoup(r.text, "html.parser")
getBook_url = base_url + str(bs4_packt.find('a', attrs={'class': 'twelve-days-claim'})['href'])


getBook_url 로 구매하는 책의 링크를 받아온다.

2. Cookie를 저장하기

cj = http.cookiejar.LWPCookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
urllib.request.install_opener(opener)


http.cookiejar 를 이용해서 cookie 저장소를 만들고, opener 를 통해서 쿠키를 자유롭게 이용하면서 이동을 할 수가 있습니다.

3. 정보입력 하기

value = {
        'op': 'Login',
        'email': email,
        'password': password,
        'form_id':'packt_user_login_form'
    }
data = urllib.parse.urlencode(value).encode("utf-8")


로그인 할 데이터를 relencode(value).encode(“utf-8”) 를 합니다. 다른 블로그들을 찾아보니 python3 에서는 utf-8 로 encode 를 해서 이용해야 한다고 합니다. 아직 확인할 방법이 없습니다.

4. 로그인하기

conn = opener.open(authentication_url, data)

opener func(url, data) 를 이용해서 로그인을 할 수 있습니다.

5. 로그인 한 상태로 다른 GET 방식으로 이동하기

conn = opener.open(getBook_url)

같은 명령어로 주소만 적어주면 알아서 GET 방식으로 이동합니다.

2016. 6. 13.

Ubuntu 16.04 에 R 설치하기

Reference - http://www.r-bloggers.com/how-to-install-r-on-linux-ubuntu-16-04-xenial-xerus/


Install R-Base
소프트웨어 센터 패키지 주소를 추가해서 새로운 버전을 업데이트 받을 수 있는 방식으로 만든다.

1. R 소스 추가하기.

우선 /etc/apt/sources.list 에 소스를 추가한다. Ubuntu 16.04 에서 “xenial” 옵션이 추가된 것을 확인합니다.

sudo echo "deb http://cran.rstudio.com/bin/linux/ubuntu xenial/" | sudo tee -a /etc/apt/sources.list

2. 키 받아오기

설치하는 과정에서 http://cran.rstudio.com/bin/linux/ubuntu xenial/ InRelease: 다음 서명들은 공개키가 없기 때문에 인증할 수 없습니다: NO_PUBKEY 51716619E084DAB9 라는 오류를 뿜어내는데 이를 제어하기위해서 아래 코드를 입력하면 된다.

gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9
gpg -a --export E084DAB9 | sudo apt-key add -

3. R-base 설치하기

sudo apt-get update
sudo apt-get install r-base r-base-dev

4. R-Studio 설치하기

deb 파일을 설치하다보면 가끔 오류가 나는데, gdebi 를 사용해주면 편하다.
https://www.rstudio.com/products/rstudio/download/ 에서 자신에게 맞는 파일을 다운로드 한다.

## sudo apt-get install gdebi-core
## wget https://download1.rstudio.org/rstudio-0.99.896-amd64.deb
sudo gdebi -n rstudio-0.99.896-amd64.deb