분류 전체보기 201

오드로이드 XU4 를 개인 클라우드 서버로 - 5. Plex

Plex Media Server는 개인 모바일 기기 등 외부에서 자신의 동영상과 음악을 쉽고 빠르고 간편하게 관리, 스트리밍할 수 있게 해줍니다. 게다가 트랜스코딩을 지원해 원본이 고화질이라도 화질을 낮춰 스트리밍할 수 있어 데이터 또한 아낄 수 있어요. 돈을 내면 여러 사용자가 내 서버에 접속해 스트리밍이 가능하다던가 하지만, 무료로도 여러 기기에서 볼 수 있습니다. 전 제 스마트폰, 태블릿, 노트북에서 접속해서 봅니다. 하지만.. 1분단위로 끊기므로, 노트북이 아닌 모바일 OS에서 제대로 활용하시려면 활성화 코드를 구매해야 합니다. 6천원 정도 합니다. 설치하러 갑시다. 1. Plex Media Server 설치 1.1 저장소 추가 및 설치 Plex Media Server는 armhf(ARM 프로세서..

오드로이드 XU4 를 개인 클라우드 서버로 - 4. Samba

연결한 외장하드는 Samba로 관리하는 게 가장 편하더군요 1. Samba 설정(옵션) Samba 패키지 설치sudo apt-get install samba이미 설치되어 있다고 하네요. 하지만 혹시 모르니 한 번 타이핑 해줍시다. 1.1. Samba 계정 추가Samba 로 공유하는 디렉토리에 접근하기 위해선, 따로 계정을 추가해 줘야 합니다. 편의상 기존 오드로이드 접속 계정(root가 아닌)과 같은 이름으로 추가해줍니다.sudo smbpasswd -a {계정이름} 1.2 Samba 설정sudo vi /etc/samba/smb.conf 파일을 열고, 마지막에 다음 형식으로 추가해줍니다. 제 경우엔,[ODROID NAS - 3.0TB] comment = Awesometic's NAS path = /medi..

오드로이드 XU4 를 개인 클라우드 서버로 - 3. 외장하드 마운트

NAS 용도인데, 외장하드는 꼭 달아야죠. 하지만 주의하실 점은, 유전원 USB 3.0 허브가 아닌 무전원 USB 허브거나 USB 허브 없이 바로 오드로이드에 외장 하드를 꼽으실 경우.. 파워가 부족해 작동하지 않습니다. 하드커널에선 기존 오드로이드용 5V 4A 전원 어댑터가 아닌 NAS 용도를 위한 5V 6A 어댑터를 팔기도 하지만, 전 유전원 허브를 추천드립니다. 그리고 외장하드의 부팅 시 자동 마운트를 위해 /etc/fstab를 수정하지만, 이런 수정은 외장하드를 뺀 후 모르고 fstab 파일을 수정하지 않은 채 재부팅하면 모니터와 키보드를 들고와야 하기 때문에 autofs라는 패키지를 사용하겠습니다. 참고로 전 USB 3.0 유전원 허브에 외장하드 두 개를 달았습니다. 0. USB 외장하드를 오드..

오드로이드 XU4 를 개인 클라우드 서버로 - 2. Webmin 설치

Webmin 은 웹 기반 유닉스 시스템 관리자 인터페이스입니다. OpenMediaVault 등 NAS를 위한 운영체제에는 기본적으로 딸려 있는데, 우린 그런 걸 사용하지 않을 것이기 때문에 사용자 관리, 패키지 업데이트 같은 웹 기반 관리는 불가능하죠. 하지만 Webmin을 통해서는 할 수 있습니다. 설치하러 갑시다. 1. 패키지 설치 1.1 PPA 등록 apt 명령어로 설치, 업데이트하기 위해서 PPA를 등록해줍니다. echo "deb http://download.webmin.com/download/repository sarge contrib" | sudo tee /etc/apt/sources.list.d/webmin.list 그리고 저장소 인증을 위해 GPG 키를 설치합니다. wget http://w..

오드로이드 XU4 를 개인 클라우드 서버로 - 1. 우분투 설치

오드로이드 XU4에서 리눅스 커널 4.9 버전을 공식 지원받기 시작했습니다. 4.9는 LTS 버전으로, 하드커널 블로그에 따르면 2019년 초까지 지원받는다 하네요. 기존 3.10도 LTS지만, 이젠 legacy니까 mainline 커널로 이사해 봅시다. 커널만 따로 컴파일하여 올리는 방법도 있지만, 어차피 이것 저것 해보느라 더러워진 제 오드로이드 XU4에 새로이 하나씩 설정하려고 해요. 설정하면서, 제가 제 오드로이드 XU4를 NAS 및 개인 클라우드 서버로서 설정하는 방법을 포스팅해보려 합니다. 독자가 어느 정도 오드로이드와 리눅스 시스템에 지식이 있다고 생각하며 작성하겠습니다. 주의할 점은! 안정화된 버전이 아니고 한창 디버깅중이라 모든 기능이 정상 작동하진 않을 것입니다. 자주 커널 업데이트를 ..

안드로이드 - MVC 패턴 개념, 안드로이드에서 MVC 패턴의 미묘함

PHP CodeIgniter를 공부하면서.. MVC 패턴이란 걸 알게 됐습니다. 원래 기존에도 프로그램을 만들 때 모듈화에 대한 고민을 했긴 했었는데, 예를 들어 DB에 접근하는 프로그램을 개발할 땐 DB 접근 부분을 완전히 독립시키려 노력한다던가.. 물론 완전히 모듈화시키진 못하고 코드가 중구난방이었습니다. 그러다보니 최근에 MVC 패턴이 있다는 걸 알고 아 역시 이런 디자인 패턴도 있었군! 하면서 한창 공부 중입니다. 안드로이드 개발에선 MVC의 파생격인 MVP 패턴을 이용한다는데, 그 개념을 간단하게 정리하고자 포스팅합니다. [MVC 패턴] MVC 패턴은 Model-View-Controller 패턴을 가리킵니다. 사용자 인터페이스 영역과 비즈니스 로직 영역을 서로 영향 없이 쉽게 고칠 수 있도록, ..

안드로이드 - 외부 스레드에서 UI 스레드로

최근 취업준비를 하면서 개인 안드로이드 프로젝트를 연습삼아 진행하고 있습니다. 하면서 계속 깨닫는 건 멀티스레딩의 중요성입니다. 아무리 튼튼한 자료구조가 있고 복잡한 알고리즘의 빅오가 기가막혀도 기본 스레드(UI 스레드)에서만 작동한다면 ANR이 발생하기 마련입니다. 기본 스레드에선 UI만 다루고, 사용자 눈에 보이지 않는 모든 작업은 뒤에서 적절히 스레드를 줘서 돌려야 스무스하게 아무 일 없는 듯 돌아갈 겁니다. 비록 폰은 뜨거워져도 보기엔 부드러워야 좋다고 생각합니다. 그래서 개발을 진행하기 보다, 머릿속으로 먼저 정리할 겸 포스팅하고 있습니다...... [들어가기 앞서...] 안드로이드는 리눅스 기반 운영체제입니다. 따라서 안드로이드는 리눅스의 정책을 따라갈 것이고, 리눅스의 프로세스와 스레드에 대..

리눅스의 프로세스와 쓰레드

아래 내용에서 잘못된 점은 꼭 알려주세요 [프로세스와 쓰레드] 먼저 프로세스와 쓰레드의 의미는 다음과 같습니다. 프로세스(Process)는 프로그램 하나가 실행될 때 쓰이는 단위입니다. OS로부터 메모리 공간을 할당받고, 스케쥴링 될 수 있습니다. 쓰레드(Thread)는 프로세스 안의 작은 작업 단위입니다. 따라서 프로세스는 작업을 위해 최소 하나 이상의 쓰레드가 있어야 합니다. 쓰레드는 여러개가 존재할 수 있고, 프로세스의 메모리 자원을 공유할 수 있으며, 때문에 하나의 자원에 여러 쓰레드가 달려들 때 일어날 수 있는 동기화 문제를 신경써야 합니다. 자기 자신만의 스택을 가질 수 있습니다. 다시 말해 프로세스는 그저 프로그램이 메모리에 로드되어 있고, 실행(스케쥴링)될 수 있다는 그 자체로 봅니다. 여..

MariaDB, phpmyadmin 설치하기

오드로이드 XU4 우분투 16.04 LTS 에서 진행됐습니다 MariaDB 는 170122 현재 10.1이 최신인데, 10.0으로 제공되고 있습니다. armhf 용으로 최신 버전을 제공하는 다른 Repository는 찾지 못했습니다. MariaDB 공식 홈페이지 가면 amd64랑 i386용은 있는데 armhf 용으론 제공해주지 않는 것 같네요 (혹시나 아시는 분은 댓글 부탁드려요) 그래도 지금 10.0이랑 10.1이 동시에 지원되고 있으니까, 그냥 apt-get 으로 설치하시면 됩니다. sudo apt-get install mariadb-server 그리고 한글 지원을 위해 설정 파일을 수정해줍니다. sudo vi /etc/mysql/conf.d/mysql.cnf [mysql] 하나만 있을텐데, 지우고 ..