IT이야기/입코딩2017. 6. 15. 13:41

-[IT용어]루팅(Rooting)



안드로이드 폰에서 사용하는 루팅(Rooting)이라는 말을 알아보도록 하겠습니다.

보통 안드로이드 폰을 쓰다보면, 흔히들 루팅해서 작업할수 있다는 것들을 많이 봅니다.

안드로이드 공기계에 리눅스를 깔아보려고 하는데 루팅이 되어 있어야 되느니 마느니 하는 말들이 많아서 한번 찾아보았습니다.


단어를 뜯어보자면

root + ~ing. 

라는 뜻이군요.

이 말은 루트 권한이 원래 허가되지 않은 기기에서 루트 계정 권한을 취득하는 것입니다. 

오... 어디서 많이 들어본 단어군요.

root란 리눅스의 최고 관리자 권한입니다.

리눅스 계통의 운영체제에서는 루트권한 취득이 기본적으로 가능하지만, 이러한 루트권한을 획득하는 것을 막아놓아서 시스템에 함부로 접근할 수 없게 만든 기기에 대해서는 시스템의 보안 구멍 등을 통한 해킹을 통해 루트 권한을 획득하는 절차가 필요하게 됩니다. 

내가 휴대전화 관리자인데 내가 관리자 권한이 없다니 억울하기 짝이 없지 않습니까?

이러한 루팅이라는 말이 매우 잘 알려진 것은 안드로이드를 통해서일 것입니다.


iOS의 탈옥(jailbreaking)도 넓은 의미의 루팅이라 할 수도 있습니다. 

그런데 iOS의 경우에는 루트 권한을 얻지 않고 일부 시스템 파일의 조작이 가능한 경우가 많습니다.

리눅스나 유닉스나 그놈이 그놈 아닌가 했는데, iOS는 유닉스 계통입니다.(정확히는 유닉스-넥스트 스탭-Mac OS-OS X-iOS 로 이어집니다.)

리눅스에 비해 보안에 취약한 유닉스 계통이기 때문이라고 합니다.(어떻게 보면 더욱 개방적이라고도 볼 수도 있습니다.)


루팅만 한다고 해서 변하는 것은 루트 권한을 획득할 수 있다는것 하나이지만, 안드로이드 (리눅스)의 특성상 이것 하나가 큰 위력을 발휘하게 됩니다.


아래에는 나무위키에 등제된 루팅을 함으로 사용할수 있는 것들입니다.


1. 하드웨어의 성능 조절이 가능합니다.

오버클럭을 생각하면 된됩니다. 다만 커널이 지원해야 하고 순정커널이면 이런 기능이 없다고 합니다. 

실제로 스마트폰의 CPU의 클럭을 올려서, 본래 가진 성능보다 더 높게 쓰는 방법이 있고 반대로 클럭을 낮춰서 배터리 소모를 줄이는 방법이 있습니다. 

오버클럭을 한다고 해서 휴대폰이 항상 최대클럭으로 도는 것은 아니기 때문에 배터리 타임에는 큰 차이가 없다고 볼 수 있습니다. 

화면 OFF시 클럭다운 등 설정만 잘해준다면 고성능이 필요한 게임같은 경우 더 원활하게 사용하면서도 배터리 타임은 더 좋을 수도 있습니다. 

실제로 화면이 꺼졌을 때의 최대클럭을 낮게 잡아주면 대기시간의 배터리소모를 체감할 수 있을 정도로 크게 줄일 수 있습니다. 

또, CyanogenMod같은 커스텀 롬에는 시스템 I/O 스케쥴러를 설정할 수 있는데, 이 설정을 통해서도 최적화된 성능을 내게 할 수 있습니다. 

클럭별로 걸리는 전압을 낮춰 배터리 소모를 줄일 수도 있는데 너무 낮출 경우 프리징이 걸리거나 휴대폰이 그대로 뻗을 수 있으니 주의를 요망합니다.


2. 제작사나 통신사의 필수 프로그램 삭제가 가능합니다. 

통신사나 제조사에서는 현지화나 자신들의 이익을 앞세워 느린 프로그램을 지울 수 없게 설치하는 경우가 많습니다. 

옵티머스 Q의 한국형 프로그램이나 디자이어 HD의 마켓 프로그램 등이 이에 해당합니다. 

루팅을 하면 시스템의 모든 권한이 생기기 때문에 이러한 프로그램들을 지우고 기기를 좀 더 최적화시킬 수 있습니다. 

심지어는 구글에서 안드로이드에 끼워주는 기본 프로그램[GAPPS]들도 삭제가 가능합니다. 

쓸모 없는 시스템 앱은 비활성화하더라도 램을 좀먹는데, 이를 지워줌으로써 최적화를 이룰 수 있습니다. 

초창기 안드로이드 기기에서 그 효과가 극적으로 나타났으나, 신형 안드로이드 기기에서도 체감이 가능하다고 합니다.


3. 각종 알림음이나 폰트의 교체가 가능합니다. 

몇몇 기본으로 여러 폰트가 내장되어 있는 폰을 제외하면 나머지 폰들은 루팅을 하지 않으면 폰트 교체가 불가능합니다. 폰트 교체를 위해 루팅하는 유저도 많은 편입니다. 

다만 갤럭시 S 이후에 국내에 나온 몇몇 안드로이드 폰들은 자체적으로 폰트 변경을 지원합니다. 게다가 갤럭시S7 은 Samsung sans밖에 없습니다만 다른 글씨체들이 워낙 가독성이 구려서 그냥 기본으로 쓴다고 합니다. 

안드로이드는 기본적인 알림음, 문자음 등은 기본적으로 바꿀 수 있지만, 카메라 셔터음같은 경우 국내법에 의해 도촬 등을 막고자 셔터음이 강제로 납니다. 

이것도 루팅 후에 자유롭게 바꿀 수 있습니다.


4. 외장 메모리의 내장 메모리화가 가능합니다.

외장 메모리의 파티션을 나누고 나눈 파티션의 일부를 내장 메모리에 쓰이는 포맷으로 바꾸면 외장 메모리를 내장 메모리처럼 사용할 수 있습니다. 

더구나 안드로이드는 프로요 이전 기준으로 개발된 프로그램의 외장 메모리 설치가 지원되지 않습니다. 

위젯 프로그램같은 경우는 아예 내장에만 설치해야 합니다. 

그래서 이런식으로 파티션을 나눠 쓰면 용량 문제 해결에 큰 도움이 됩니다. 내장 메모리 용량이 작은 폰들의 경우 외장 메모리와 바꿔치기해서 쓰는 경우도 있습니다.


5. 각종 키 맵핑/기타등등을 사용할수 있습니다.

예를 들어 전원 버튼 말고 다른 버튼으로도 화면이 켜지게 할 수 있으며, 화면이 꺼졌을 때 볼륨 키를 두번 누르면 다음곡으로 넘어가게 할 수 있다든가, 트랙볼로 재생 중인 노래를 변경할 수 있게 하는 등 각종 키 맵핑으로 인해 많은 것을 할 수 있습니다. 

또한 host 파일을 수정해 특정 광고를 차단한다거나, 부팅애니메이션의 변경, 마켓의 국가별 차단 프로그램 해제, 각종 하드웨어 봉인 해제, 화면 녹화, 휴대폰 디스플레이의 색온도 조정, 스피커의 최대볼륨 부스팅, 라디오 모듈이 있는 모델의 경우 FM라디오 기능 설정, 하드웨어 키를 비활성화시키고 소프트웨어 키를 활성화, DNS조정으로 인한 각종 웹사이트/동영상 스트리밍의 속도향상 등 많은 것을 할 수 있다. 예를 들어 HTC의 태블릿 플라이어 4G의 경우 통화기능이 없지만 build.prop의 수정으로 전화기능을 활성화시킬 수 있습니다. 

홈 버튼과 관련된 문제도 해결할 수 있는데 가장 많이 쓰이는 경우는 안드로이드 계열 폰에서 많이 보이는 터치 버튼과 홈 버튼의 속도 차이,일명 홈딜레이를 해결하기 위해 쓰이는 경우. 루팅 후 시스템 내부를 직접 수정할 수 있는 프로그램을 이용해서 작업을 하는데 대부분은 인식을 담당하는 파일을 교체하는 수준에서 끝나지만 해당 모델의 패치된 파일이 없어서 직접 코드를 손대야 하는 경우도 있습니다.

무언가 엄청나게 많군요.

전자의 경우는 그나마 좀 쉽지만 후자의 경우 짤없이 주변에 있는 안드로이드 관련 개발자의 손을 빌려야 합니다. 함부로 코드 건들다가는 모든 게 맛이 가기 때문입니다. 


6. 보안을 우회하는 것이지만 OS차원에서 기본적으로 제공하지 않는 보안을 위해서도 사용됩니다. 

예를 들면 안드로이드 백신인 어베스트의 방화벽 기능에 필수이며, 도난방지 기능의 무력화를 완벽히 막는데도 필요합니다. 또한 특수한 프로그램을 통해 프로그램이 갖는 권한을 제작자가 정해준 그대로가 아니라 직접 통제해서 필요없어 보이거나 보안상 위협이 되는 권한을 차단할 수도 있습니다. 

안드로이드용 Tor가 모든 인터넷 연결에 대해 작동하게 할때도 필요합니다. 

부팅시에 추가적인 파일을 시스템에 불러올 수 있게 하는 Xposed framework의 등장으로 루팅만 되어있다면 롬 수준에서 갈아엎어야 추가가 가능했던 기능들의 추가가 가능해졌습니다. 

작게는 소소한 UI의 커스텀부터 모든 애플리케이션에 적용가능한 소형 창(멀티윈도우), 한손모드, 애플리케이션별로 UI, DPI, 클럭설정을 바꾼다든가 등 중에서 골라잡아 추가하는게 가능해집니다.


7. 외장 SD 카드 쓰기 권한 부여가 가능합니다. 

킷캣 이전의 안드로이드 버전 혹은 의견을 받아들여 정책이 개선된 것으로 알려진 롤리팝 이후 버전을 사용하는 유저들은 이게 무슨 소리냐고 받아들이겠지만, 킷캣 업데이트 이후 구글 기본앱을 제외한 서드파티 앱에서 외장 SD카드의 쓰기 권한이 박탈되었습니다. 

기본 앱 '내 파일'외의 다른 파일관리자 툴(ES 탐색기 등)에서 외장 SD의 파일을 삭제조차 불가능하며, 브라우저의 기본 다운로드 및 토렌트 등의 경로를 외장 SD로 설정하면 다운로드가 완전히 불가능합니다. 

어떤 식으로든 외장 SD 카드의 쓰기 권한을 요구하는 모든 작업 즉 파일을 옮길 때도, 사진 뷰어에서 사진을 지울 때도, 동영상 플레이어에서 폴더간 동영상 복사를 할 때도 극소수의 구글 공식 앱이 아니면 작동하지 않습니다. 

사실상 기본앱 사용 강제+클라우드로 끌어들입니다. 하지만 유저들이 착각하지 말아야 할게 애초에 안드로이드를 만드는 구글은 SD카드를 추가용량으로 활용하는 것을 지원한 적이 없습니다. 

안드로이드 유저들이 그걸 지원했다고 생각하는 이유는, 대개 제조사 커스텀으로 우회돼서 가능케 된 일종의 꼼수를 구글이 공식 지원한 것처럼 여기고 있기 때문입니다. 

구글이 원래 지원해 왔는데 킷캣에 와서 막았다고 생각하는건 틀린 것이라는 말이네요. 

순정을 쓰고 싶었으나 이 문제 때문에 울며 겨자 먹기로 루팅을 하게 되는 경우가 흔합니다. 루팅 후에는 시스템 구역의 xml 파일을 수정함으로서 간단히 해결 가능합니다.


그럼 이 많은 기능들을 하게 하기 위해서 루팅하려면 어떻게 해야 할까요?

루팅을 하는 방법은 크게 리커버리를 통하는 방법과 취약점을 이용하는 방법 두 가지로 나뉜다고 합니다. 


1. 리커버리를 통하는 방법

아예 안드로이드를 꺼 버리고 별도의 OS인 리커버리를 구동시켜서 저장장치에 접근한 뒤 슈퍼유저 바이너리를 설치하는 것으로, 부트로더 락만 걸려있지 않다면 안드로이드버전과 관계없이 가장 확실하게 루팅이 가능하나 약간 번거롭다는 단점이 있습니다. 


2. 취약점을 이용하는 방법

OS와 함께 켜져 있는 보안시스템을 휘저어서 뚫어버린 뒤 슈퍼유저 바이너리를 설치하는 것으로, 안드로이드의 버전에 따라 통하는 방법이 달라져서 루팅 이전에 사전지식이 약간 필요하며, 최신 버전의 안드로이드의 경우 취약점이 알려지기 전에는 이 방법으로 루팅하는 것이 불가능하다는 단점이 있습니다. 


최신 OS를 탑재하고 부트로더를 언락하기 쉬운 넥서스 계열의 폰은 전자의 방법이 주로 사용되며, 부트로더를 언락하기 어려운 제조사의 폰은 OS버전이 어떻든 간에 후자의 방법을 사용할 수 밖에 없습니다. 

루팅에 사용되는 취약점은 근본적으로 OS의 보안체계를 휘저어 놓는 취약점입니다. 다시 말해, 루팅툴이 개발됐다는 것은 그 기기의 보안이 완전히 날아갔다는 것과 다름없는 말입니다. 

어떤 앱이 취약점을 이용해서 사용자 모르게 루트 권한에 접근하고 시스템을 휘저어 놓는다면 OS 입장에서 그보다 더한 재앙은 없습니다. 

그러므로 구글과 제조사는 취약점을 막을 수 밖에 없는 것입니다. 

가장 이상적인 경우는 제조사에서 부트로더를 락을 걸지 않으면서 OS를 최신으로 맞춰 주면 루팅을 원하는 사용자는 루팅을 하고 그렇지 않은 사용자는 OS의 보안에 의해 보호받는 것이겠으나 현실은 루팅하다 벽돌돼서 AS센터를 찾는 사람이 한둘이 아니라 기업 입장에서는 손해만 보는 일입니다.



루팅할때 주의사항


하기전에 정말 루팅이 필요한지 잘 생각해보고 신중하게 결정해야 합니다. 

일단 보안상의 허점이 매우 많아집니다.(백신을 사용하면 되긴 하지만 사용자에 따라 보안수준은 달라집니다.) 따라서, 터치한번 잘못해서 바로 핸드폰이 고장나는 경우가 있습니다. 

여러 스마트폰 커뮤니티에 가보면 대개 루팅을 하지 않고 사용합니다. 

혹시 위에 써진 장점만 보고 호기심에 루팅할 생각을 하는 초보자들은 하지 않는 것을 권합니다. 

윈도우에서 최고 관리자 권한에 맘대로 접근 할 수 있던 정책때문에 여러 악성 프로그램에 허약했다는 것을 명심해야 할것입니다. 

슈퍼유저 앱과 바이너리를 꼭 제때 업데이트 하고, 루트 권한 허가 창이 뜰 때 마다 그냥 넘기지 말고 과연 이 앱이 정말로 루트 권한이 필요한 상황이라 띄우는 것인지 한번씩만 생각해주고 넘어가야 합니다.또한 루팅을 하면 제조사의 무상 AS가 불가능해집니다. 

심지어 구입한지 1달이 채 지나지 않더라도 루팅을 했다는것이 발견되면 바로 무상AS가 불가능해지며 심지어 일부 제조사는 유상AS마저 거부합니다. (모토로라가 이런 케이스) 

특히 커스텀롬을 설치하고 AS센터를 찾는 호갱님들은 AS를 받지 못한다고 합니다. 심지어 루팅하면 충전기 AS도 거부하는 경우도 있습니다. 하지만 이는 케바케가 좀 심한게 같은 기종을 수리받아도 루팅을 이유로 AS를 거부하는 경우와 루팅 여부에 별 관심없는 경우가 나뉘며, 심지어 루팅검사를 해보고도 주의만 주고 쿨하게 무상수리해주는 수리기사도 있습니다. 

AS를 장점으로 미는 삼성은 루팅에 관대한 경우가 많은 편이며 .용산에 있는 LG 전자도 가끔은 해준다고 합니다. 또한 기기에 따라 OTA를 받을 수 없습니다. 

공장초기화를 해도 루팅흔적이 남아있어 받을 수 없기 때문에 루팅흔적을 잘 지우지 못하겠다면 루팅 전 잘 생각해보아야 합니다. 물론 pc에 연결하면 업데이트 할 수 있긴 합니다.


루팅자체는 하드웨어의 수명에 영향이 절대로 없습니다. 루트권한에 대한 지식이 없는 유저가 처음에는 폰트나 알림 음을 바꾸는 수명에 영향이 없는 소극적인 커스터마이징을 하다가 갈수록 오버클럭같은 행위를 위험성조차 숙지하지 않고 시도하는 등 말 그대로 휴대폰을 혹사한다면 하드웨어 수명에 영향을 줄 수 있습니다. 

실제로 스마트폰을 어리숙하게 아는 좆문가들은 오버클럭 자체에 대한 이해가 없는 상태로 어? 속도가 빨라진다네? 오,좋은 거네?라는 식의 마인드로 오버클럭을 시도하는 경우가 많은데, 이 경우 휴대폰의 내부 기기 자체의 수명을 갉아먹을 수 있는 위험부담이 큰 행동이고, 성능이 좋은 컴퓨터도 권장하지 않는 방법입니다. 

게다가 검증되지 않은 프로그램들과 잘못된 오버클럭 방법을 쓰다 보니 오류가 범람하고 온갖 악질 프로그램들이 판을 치고 있습니다.


간혹 루팅하면 기기의 속도가 빨라진다고 착각하는 사용자도 존재합니다만 루팅은 관리자 권한을 획득하는 것으로 하드웨어의 속도와는 직접적인 관련이 없습니다. 

빨라지는 경우, 혹은 느려지는 경우는 루팅을 한 후에 시스템을 직접 변형한 이후, 예를 들자면 기본 앱을 지웠다거나, init.d/스크립트를 적용했다거나, 커스텀 리커버리를 통해 커스텀 커널을 올리는 등의 시스템 변형을 하는 경우에 생기는 일입니다. 그러니 쓸데없이 루팅해서 곤란한 일에 처하지 않는것이 좋겠죠.


자동차로 예로들면, 순정상태의 차량이 낼 수 있는 최대 속도가 정해져있다. 이를 리미트 라고 하는데 ECU를 조작하는 맵핑 튜닝으로 리미트를 해제 할 수 있게 됩니다. 

차량의 성능은 올라갑니다만 당연히 오버 성능을 했으므로 엔진 내구도는 심각하게 저하됩니다.


그리고 은행, 금융앱 등 보안에 극히 민감한 앱이나 주로 메이저한 게임회사의 앱들 중 상당수가 앱들이 루팅을 한 기기는 실행이 되지 않도록 방지하고 있어 언루팅 혹은 루팅 숨김을 하지 않는 이상 루팅 실행 방지 처리된 앱은 사용하지 못합니다.

SuperSU 또는 RootCloak 등 루팅 관리 앱에 숨김 기능이 있지만 이마저 잡아내는 앱 또한 적지 않습니다. 

곰돌라이트 커스텀 롬의 경우 컴퓨터 없이도 루팅/언루팅을 할수 있습니다.SuperSU에서 언루팅 기능으로 언루팅을 하여도 루팅 기기로 인식하여 실행을 거부하는 앱도 있습니다. 

대표적으로 SafetyNet을 사용하는 Pokémon GO. 이 때는 PC에 연결하여 온전한 순정 롬으로 되돌리는 수밖에 없습니다.



-루팅 제어용 프로그램

안드로이드에서 루팅여부를 확인할수 있는 가장 간단한 방법은 SuperUser 프로그램이 설치되어 있는지를 보는것입니다. 이 프로그램이 루트권한의 획득을 제어하기 때문에 사실상 루팅 그 자체라고 생각하는 경우가 많으나 사실은 그렇지 않습니다. 

SuperUser 프로그램은 su 바이너리와 같이 연동되어서 루트 권한을 취득하는데, su가 설치되기 위해서는 반드시 루팅툴이나 기타 보안 구멍을 통한 해킹을 통해 루트 권한을 획득하고 나서야 su를 설치할 수 있기 때문입니다. 

또는 리커버리에서 설치하여 루팅+바이너리 설치를 동시에 하는 방식도 있지만 의외로 이 방법을 모르는 사람이 많습니다. 이 프로그램이 없다고 하더라도 기술적으로 얼마든지 루트권한을 획득하고 파일을 조작하는 것이 가능하지만, SuperUser 프로그램은 다른 프로그램들로부터 요청되는 루트 권한을 보다 손쉽게 컨트롤 할 수 있게 도와줍니다. 

이렇게나 중요한 프로그램임에도 불구하고 특유의 아이콘 생김새때문에 바이러스로 오해하는 경우도 많고 실제로 백신 프로그램들은 SuperUser 프로그램을 바이러스라고 알려줍니다. 

한동안 관련 프로그램은 하나였다가 2011~2012 사이에 SuperSU가 새로 등장했는데, 안정성 향상 및 수시로 언루팅 상태로 바꿔줄 수 있는 기능에, 유료버전의 경우는 UAC와 같은 암호를 통한 권한제어를 최초로 제공하기 시작한 프로그램입니다. 

언젠가부터 유료기능을 간단한 설정변경으로 개방하는 것을 공식적으로 지원하고, CM팀과 XDA 사이의 문제로 인해, 2015년 현재 커스텀롬 기본 탑재 프로그램의 주류입니다. 국내의 경우는 국내 은행앱을 사용하기 위해 변경된 SPAPASU가 존재합니다.

ClockworkMod 개발자로 알려진 Koush가 또 다른 프로그램 Superuser를 만들었습니다. 

플레이스토어 링크. 이 프로그램은 오픈소스이며, 소스는 github에 공개했습니다. 

그래서 그런지는 몰라도 CyanogenMod롬과 대부분의 롬에는 아예 설정 자체에 Superuser가 메뉴로 넣어져있는 경우가 많습니다.

이러한 루팅 제어용 프로그램들은 각종 루팅 비권장 프로그램들의 좋은 타겟이 되곤 합니다. 

즉 핸드폰의 루팅 여부를 이 프로그램이 있느냐 없느냐만으로 확인하는것으로 이 프로그램이 있다면 루팅폰으로 판단하여 서비스 제공을 거부하는 형식입니다. 

주로 단말기 인증이 필요한 몇몇 프로그램과, 돈이 오가는 금융 프로그램 및 인터넷 쇼핑 프로그램등이 이런 방법을 사용하는데, 이건 말 그대로 프로그램의 유무만 체크하는 것이라서 루팅 없이 제어 프로그램만 있어도 루팅폰으로 취급하여 서비스 제공을 거부합니다. 

위에서 언급했듯이 국내 은행앱을 사용하기 위해 변경된 SPAPASU를 이용한 임시 언루팅으로 많은 유저들이 인터넷 뱅킹을 이용하고 있습니다.


-기타

안드로이드의 루팅은 SDK등의 개발도구나 프로그램을 통해서 이뤄집니다. 

Bootloader를 언락하지 않았다면, 약관을 어긴것은 아니고 자국도 안남기 때문에 언루팅하여 일반 폰 처럼 A/S를 받는 것이 가능하다고 합니다. 

그렇다 하더라도 루팅의 절차가 간단한 것은 아니며, 소위 말하는 벽돌이 될 확률도 있습니다. 

루팅 전에 충분히 절차를 숙지하고, 복구 방법을 정확히 알아둔 후, 중요한 데이터의 백업이 이뤄진 상태에서 할 수 있도록 해야 합니다. 

되도록 첫 루팅 시도는 주변의 경험자에게 부탁하여 같이 해보는걸 추천 하기도 합니다.


xda-developers

위 사이트는 HTC 팬 사이트에서 시작된 스마트폰 관련 커뮤니티 사이트입니다. 스마트폰뿐만 아니라 태블릿 컴퓨터도 취급하네요. 주요한 활동은 스마트폰에 대한 토론, 정보 공유, 커스텀 롬 개발, 애플리케이션 개발 등등입니다. 

이 사이트는 거의 모든 세계공용기종을 밑바닥인 커널, 드라이버, 리커버리, 드물게는 컴퓨터의 BIOS나 UEFI에 해당하는 부분인 부트로더까지의 수준까지 취급합니다. 

최신 세대의 듀얼코어 이상에 안드로이드 4.0 이상 전용으로 만들어진 센스 4 이후버전을 매끄럽진 않지만 공식적으로 4.0 업데이트도 되지 않은 싱글코어 기기에서 구동하도록 손보거나 커스텀 커널을 통해 클럭을 2배나 그 이상으로 뻥튀기할 수 있는, 말 그대로 B급을 싸제 수준으로 바꿔줄 수 있는 곳입니다.

영어로 되어있지만 다양한 정보들이 많네요.


마지막으로 안드로이드 루팅자체가 불법이라고 오해하는 사람들이 있는데, 결론부터 말하면

루팅은 불법 행위가 아니라고 합니다.

우선 안드로이드 자체가 오픈소스이며 제조사별로 커널소스나 부트로더소스 같은 중요 영역을 공개하고 있는 상태입니다. 모든 루팅은 이 영역의 허점을 이용합니다. 라이센스의 특성상 오픈소스를 뚫어서 바꾸는 것은 저작권법에도 아무런 문제가 없습니다.

루팅은 불법이라고 아는 사람들이 많은것 같더군요.

저도 이번에 알게 된 건데 우선 저작권법 제124조 제2항을 보면 알겠지만 안드로이드는 오픈소스이고 그것을 변경하는 것이기 때문에 '저작권 그 밖에 보호되는 권리의 기술적 보호조치'가 아니다는 것입니다.

애초에 리눅스 자체가 아파치 라이센스로 적용받으며, 오픈소스입니다. 

즉, 법적으로는 아무 문제가 없습니다. 그렇지만, 약관 위반은 맞기 때문에, 루팅을 하다가 벽돌폰이 되는 등의 문제가 발생되었을때, 무상 A/S를 거부당할 수 있는것 입니다.


루팅 프로그램 목록

-CF Auto Root

-framaroot

-gingerbreak

-kingoroot

-lg one click root

-nexus root toolkit

-stump root

-superoneclick

-tegrak kernel

-towelroot

-z4root

-Baiduroot

-iroot



-출처 : 나무위키, 본인생각

Posted by Joseph514
IT이야기/입코딩2017. 6. 9. 18:00

-[IT용어정의]스프링 프레임워크(Spring Framework)에 대해 알아보겠습니다.



한국에서 SI, SM으로 대기업 및 공공기관에 프로젝트를 뛸때 빠질수없는 단어가 있습니다.


스프링 프레임워크(Spring Framework)

보통 스프링으로 사이트를 관리하거나 제작한다는 이야기를 많이 듣습니다.

공부할적에는 집에 컴퓨터에 게시판 만들때는 jdk 설치하고, 그냥 이클립스에서 스프링 프로젝트 띄워서 tomcat이랑 mysql 연동해서 뚝딱 만들어봤겠죠.


WAS서버는 톰켓이 아니라 JEUS나 웹로직을 사용하고, DB는 oracle이나 db2, mssql을 사용하겠죠.

model2 형식의 게시판이나 사이트가 운영되는 곳도 종종있겠지만 대부분은 스프링프레임워크를 이용하는것으로 알고 있습니다.


스프링 프레임워크는 자바 플랫폼을 위한 오픈소스로 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고도 불립니다.

동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있습니다. 

대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술로서 쓰이고 있습니다.

3개월 국비지원 자바학원에가면 100이면 100 다 가르치는 것 같더군요.


간혹가다가 좀 프로그램에 무지한 인력업체 해드헌터들이 요즘 스프링 안쓴다,전자정부 프레임워크 쓴다 라는 아주 재미없는 농담을 하시는 때가 있는데. 무시하셔도 될만큼 무사합니다.

사실 컴퓨터공학과 전공자이라면 스프링 프레임워크를 손될 일이 없습니다. 웹개발자를 하면서 독학으로 따로 배울 확률이 크죠.


길다면 긴 시간이긴 한데 역사가 그렇게 오래되진 않은것 같습니다.

로드 존슨이 2002년에 출판한 자신의 저서인 Expert One-on-One J2EE Design and Developement 에 선보인 코드를 기반으로 시작하여 점점 발전하게 되었다고 합니다. 

2003년 6월에 최초로 아파치 2.0 라이선스로 공개되었다고 합니다.


이 프로그램의 종류 애플리케이션 프레임워크로, 개발자는 피보탈 소프트웨어입니다. 자세한 정보는 없군요.최근 버전은 4.3.8까지 요즘에 나왔습니다.

운영 체제로는 크로스 플랫폼 (멀티 플랫폼)입니다. JAVA 웹개발자들이 쓰므로 당연하지만 플랫폼은 자바 가상 머신을 사용합니다.

현재는 2017년 기준 4.3.8버전까지 나왔습니다.


위키피디아에 등제된 스프링 프레임워크의 특징입니다.

사실 깊게 파고들면, 두꺼운 책 한권으로 알아먹지도 못할 용어들로 내용을 가득채워져있었던 기억이 나네요.

전반적으로 이런 특징이 있다 정도고, 실제로는 예제 따라해 가면서 게시판을 만들어보면 이게 어떤건지 어느정도 감이 옵니다.


스프링은 다른 프레임워크에 비해 다음과 같은 특징을 가집니다.

경량 컨테이너로서 자바 객체를 직접 관리합니다. 

각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있습니다.


스프링의 특징입니다.

POJO(Plain Old Java Object) 방식의 프레임워크입니다.. 일반적인 J2EE 프레임워크에 비해 구현을 위해 특정한 인터페이스를 구현하거나 상속을 받을 필요가 없어 기존에 존재하는 라이브러리 등을 지원하기에 용이하고 객체가 가볍습니다.

제어 반전(IoC : Inversion of Control)을 지원한다. 컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어서 필요에 따라 스프링에서 사용자의 코드를 호출합니다.

의존성 주입(DI : Dependency Injection)을 지원한다. 각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결시켜줍니다.

관점 지향 프로그래밍(AOP : Aspect-Oriented Programming)을 지원한다. 따라서 트랜잭션이나 로깅, 보안과 같이 여러 모듈에서 공통적으로 사용하는 기능의 경우 해당 기능을 분리하여 관리할 수 있습니다.

영속성과 관련된 다양한 서비스를 지원한다. iBATIS나 Hibernate 등 이미 완성도가 높은 데이터베이스 처리 라이브러리와 연결할 수 있는 인터페이스를 제공합니다.

확장성이 높다. 스프링 프레임워크에 통합하기 위해 간단하게 기존 라이브러리를 감싸는 정도로 스프링에서 사용이 가능하기 때문에 수많은 라이브러리가 이미 스프링에서 지원되고 있고 스프링에서 사용되는 라이브러리를 별도로 분리하기도 용이합니다.


스프링에서 사용되는 주요 모듈은 다음과 같습니다.

-제어 반전 컨테이너

제어 반전(IoC: Inversion of Control) 컨테이너는 스프링의 가장 중요하고 핵심적인 기능으로서 자바의 반영(reflection)을 이용해서 객체의 생명주기를 관리하고 의존성 주입(Dependency Injection)을 통해 각 계층이나 서비스들간의 의존성을 맞춰줍니다. 

이러한 기능들은 주로 환경설정을 담당하는 XML 파일에 의해 설정되고 수행됩니다.


-관점 지향 프로그래밍 프레임워크

스프링은 로깅이나 보안, 트랜잭션 등 핵심적인 비즈니스 로직과 관련이 없으나 여러 곳에서 공통적으로 쓰이는 기능들을 분리하여 개발하고 실행 시에 서로 조합할 수 있는 관점 지향 프로그래밍(AOP)을 지원합니다. 

기존에 널리 사용되고 있는 강력한 관점 지향 프로그래밍 프레임워크인 AspectJ도 내부적으로 사용할 수 있으며, 스프링 자체적으로 지원하는 실행시(Runtime)에 조합하는 방식도 지원합니다.


-데이터 액세스 프레임워크]

스프링은 데이터베이스에 접속하고 자료를 저장 및 읽어오기 위한 여러 가지 유명한 라이브러리, 즉 JDBC, iBATIS(MyBatis), Hibernate 등에 대한 지원 기능을 제공하여 데이터베이스 프로그래밍을 쉽게 사용할 수 있습니다.


-트랜잭션 관리 프레임워크

스프링은 추상화된 트랜잭션 관리를 지원하며 XML 설정파일 등을 이용한 선언적인 방식 및 프로그래밍을 통한 방식을 모두 지원합니다.


-모델-뷰-컨트롤러 패턴

스프링은 웹 프로그램밍 개발 시 거의 표준적인 방식인 Spring MVC라 불리는 모델-뷰-컨트롤러(MVC) 패턴을 사용합니다.

DispatcherServlet이 Contoller역할을 담당하여 각종 요청을 적절한 서비스에 분산시켜주며 이를 각 서비스들이 처리를 하여 결과를 생성하고 그 결과는 다양한 형식의 View 서비스들로 화면에 표시될 수 있습니다.


-배치 프레임워크

스프링은 특정 시간대에 실행하거나 대용량의 자료를 처리하는데 쓰이는 일괄 처리(Batch Processing)을 지원하는 배치 프레임워크를 제공합니다. 

기본적으로 스프링 배치는 Quartz 기반으로 동작합니다.


사실 요 스프링 프레임워크라는게, 자바개발자의 시작이자 끝일거같다는 생각이듭니다.

아직 제 짧은경력으로 뭐라 그러긴 어렵지만, 최소 향후 10년까지는 프로젝트에서 스프링 프레임워크 다룰줄 아는 개발자를 뽑을것이고(금융권, 공공기관등) 제대로 익혀두면 좋겠더군요.

model2 형식으로 jsp에서 각 페이지마다 쿼리 만들고, 디비 연결해서 게시판 만들던거를 생각해보면 훨씬 업무가 간단해 지고, 유지보수도 용이해집니다.



Posted by Joseph514
IT이야기/입코딩2017. 6. 9. 11:19


-위키리크스(WikiLeaks)가 무엇인지 알아보겠습니다.


19대 대선후보 홍준표 후보가 대선토론때 한번씩 이야기하던 위키리스크를 기억하십니까?


원문보기

"

...

이날 홍 후보는 일심회간첩단과 관련해 "당시 김승규 국정원장이 일심회 간첩단 사건과 관련된 사건들을 수사하면서 보니 문재인 후보의 세력들, 386 운동권 세력들이 많이 개입했고 일부는 북한에 정보를 넘겼다"며 

"노무현 정부에서 수사를 그만두라고 해서 수사가 중단됐고 그걸 버시바우 당시 미국 대사가 미국에 보고해 위키리스크에 폭로됐다"고 주장했다.

...

"


후에 정정하기는 한 거 같은데, 처음 홍준표 후보가 이야기한 '위키리스크'가 아니라 '위키리크스'입니다.

과연 위키리크스란 무엇일까요?


아래는 위키리크스 사이트입니다.

위키리스크

그리고 한국어로 위키리크스도 있습니다.

위키리스크 한국

나무위키에 있던 내용을 보면

한국 관련 외교 전문들을 한국어로 번역하는 프로젝트를 진행하고 있으며, 이미 상당히 많은 문서들이 번역 완료되었다고 합니다. 다만 메인페이지 사이드바부터 천안함 음모론이나 세월호 음모론 같은 정치적 견해를 피력하며, 번역 문서 한 가운데는 오마이뉴스나 자주민보의 기사 내용을 임의로 넣었습니다. 

위 사이트는 단순한 정보 번역 전달 사이트는 아닙니다. 가려 읽으라는 조언을 합니다.



 

위키리크스에 관한 명언들입니다.


"우리는 너무 젊었고, 어리석었고, 교만했다. 그러나 우리가 옳았다"

(We were young, we were foolish, we were arrogant, but we were right.)

– 애비 호프먼(Abbie Hoffman)


"정보자유법 만큼이나 중요한 저널리즘 도구가 될 수 있다."


전세계 정부와 기업의 비윤리적 행태를 담은 기밀문서들을 공개하여 폭로하는 미디어 위키 엔진 기반의 사이트입니다. 

이것만 보면 위키피디아나, 리브레위키, 제타위키처럼 아무나 글을 고칠수 있는게 아닌가.. 하는 의심도 들긴 한데.

다음 설명을 보면 초창기에는 위키위키로 출발하였으나 이후 위키의 이념인 자유로운 편집 방침이 허용되지 않고 위키리크스 운영자들의 손에 의해서 편집되는 것으로 바뀌었기 때문에 형식상으로는 위키위키이나 운영방식은 위키위키라고 할 수 없게 되었습니다. 트위터나 위키위키사이트들처럼 아무나, 아무글을 올릴 수 있는건 아닌가 보네요. 아래에 이야기할 800여명의 위키러 운영자들의 손에 의해서 쓰여진다는 것입니다. 위키라는 이름을 달고 있지만 위키미디어 재단과는 무관합니다. 그리고 위키릭스라고도 표기한다고 합니다.


나무위키에서 발췌한 설명입니다.

07년 설립된 이래 중국의 반체제 인사와, 미국, 호주등의 언론인, 수학자, 공학자들이 참여했다고 스스로 밝히고 있습니다. 스웨덴과 아이슬란드에 서버를 구축해놓고, 정크파일과 암호화를 이용하여 해커의 공격을 방어하고 있습니다. 2010년 기준 5명의 멤버가 무보수로 운영하고 있다고 합니다.

아직까지도 추적받는 것을 염려할 필요 없이 익명으로 문서를 공개할 수 있어서 비밀리에 문서를 올리려는 제보자들에게는 유용한 매체로 실제로 여러 기밀 문건들을 공개중입니다. 

2010년 초를 기준으로 120만여건의 문서들이 있으며 약 800여명의 위키러들이 간간히 활동하고 있는 듯합니다.

2008년에 샌프란시스코에서 위키리크스의 폐쇄판결이 내려졌지만, 2017년 현재까지 여전히 유지중입니다. 

한국 관련 문서도 다수 올라와 있는 걸로 봐선 한국에서도 활동하는 사람이 있을 가능성이 있기는 하지만 확실치는 않습니다. 

덧붙여 러시아, 이스라엘, 북한, 중국에선 위키리크스에 접속할 수 없다고 합니다. 

애초에 북한은 특정 소수가 아니면 인터넷자체에 접속을 못하고, 대부분 그들만의 인트라넷인 광명망에만 사용가능합니다.

안타깝게도 정부나 기업의 후원을 받지 않고 철저히 기부만으로 사이트가 운영되기 때문에 자금 부족으로 도움을 요청하고 있습니다. 

위키리크스 운영진에 따르면 연당 60만 달러 이상이 든다고 합니다. 

2009년 12월부터 2010년 3월 사이에는 잠시 서비스를 멈추고 기부를 호소하는 글과 동영상 하나만 올려 놓았던 적도 있었습니다.


위키리스크의 업적으로는 

9.11 테러 관련한 기밀 폭로가 있습니다. 

2001년 9월 11일 9.11 테러 당시 정부기관 관계자들이 주고받은 문자 메시지 57만 3천여건이 까발려진 것입니다.

그리고 2010-2011 아랍권 민주화 운동에 영향을 주었는데, '줄리언 어산지'의 위키리크스에서 공개한 정치 지도층의 적나라한 부패가 아랍에서 트위터 등으로 퍼지며 혁명이 시발하는데 일조하였다고 합니다.


그 외에도 세계적으로 막대한 영향력을 끼치고 있습니다.

그런 그들이 당연히 정부에서 좋게 보이지는 않겠죠.


이런 기사가 있더군요.


위키리크스, 바다 한 가운데로 피난간다

원문보기


"

보도에 따르면 위키리크스는 어떤 정부나 기관도 자신들의 정보 입수 및 기밀 폭로 활동을 제한하지 못하도록 아예 대륙으로부터 멀찍이 떨어진 바다 위에 서버를 설치하는 방안을 추진하고 있다. 

그럴 경우 해상법의 적용을 받게 돼 법적인 구속으로부터 자유로울 수 있기 때문이다.

위키리크스 활동에 정통한 몇몇 소식통에 따르면 현재 위키리크스 재정 후원자들이 비밀리에 이같은 작업을 진행 중이며 세계에서 가장 작은 나라로 알려진 '시랜드 공국'이 유력한 피난 후보지로 떠오르고 있다.

"


위키리크스를 고사시키려는 미국 정부의 노력에도 불구하고 위키리크스는 유럽에서 미국이 벌인 감청 자료들을 폭로하는 등 아직까지도 버티고 있는 중이라고 합니다.


물론 이 위키리크스도 비판 받는 점이 있습니다.

현실국제정치의 가면을 벗겼다는 점이나 처음의 아파치 민간인 공격영상 등 군 내 각종 비리를 폭로한다는 점에서 긍정적이라고 볼 수 있으나, 아프가니스탄 정보원 실명공개 이후 위키릭스와 어샌지의 무분별한 행태에 대한 비판의 목소리가 있습니다. 특히 언론을 자처하면서 정보원 보호를 포기, 방기했다는 점 때문에 욕을 먹었습니다. 


외교 전문 공개에 대해서도, 위키리크스의 마구잡이식 폭로가 오히려 각국 정부들의 정보공개를 움츠러들게 만들어 오히려 지금까지 보장되던 투명성이 훼손되는 반작용을 유도할 수 있다는 우려를 제기하기도 합니다. 

실제로 전문 공개 이후 미 의회에서 가장 먼저 터져 나온 소리가 위키리크스 규탄이 아니라 기밀문서망에 대한 접근권이 지나치게 많은 사람들에게 부여되어 있다며 정보당국을 질책한 것이었습니다. 

또한 이번 유출자료 중에는 기밀열람권한 없이도 접근할 수 있는 정보도 다수 포함되어 있다고 알려져 있는데, 앞으로 이런 민감한 문서에 대한 관리가 엄격해질 것이 불을 보듯 뻔한 상황이니 장기적으로 볼 때는 

오히려 전세계 정부들, 특히 미국의 정보공개 흐름을 크게 후퇴시켰다고 볼 수도 있습니다. 


게다가 주재국 외교관 인원들의 정보활동은 일종의 국제관습법화되어 거의 서로 짜고치는 고스톱이 되어있는 현실에서, 지난번 아파치 민간인 공격같은 부당한 비리도 아닌 멀쩡한 외교 문서를 터뜨려 놓고 미 정부의 위선 운운하는 것은 이런 대규모 폭로사태에 대한 명분으로는 많이 부실하다고 할 수 밖에 없습니다.


'위키리크스'. 이름에서 알수있듯이, 위키리크스라는 게 저는 그냥 나무위키나, 다른 위키위키 사이트처럼 별 공신력 없는 사이트인 줄 알았습니다. 근데 실상은 목숨 걸고, 서버를 관리하면서 정부의 내부 고발자들에 의한 비리를 폭로하는 세계적으로 영향력을 끼칠 수 있는 사이트였군요. 위키리크스도 사람이 만들은 이상, 위키리크스에 등재됐다고 100% 진리라고 생각하지는 않지만 그들의 노고로 인해서 많은 사람들이 진실을 알게 되는 고마운 사람들이네요.


출처 : 나무위키, 본인생각


Posted by Joseph514
IT이야기/입코딩2017. 6. 8. 13:45

-[IT용어정리]나스(NAS)란 무엇일까요?


구글에서 검색하면 나오는 Inter NAS입니다.


사람들이 남는 데스크탑으로 나스 서버를 구축했다. 나스 서버에 있는 파일을 받았다. 다운 받아놓은 동영상을 불러왔다. 이런 이야기를 하더군요.

부끄럽게도 컴퓨터 만지고 논지도 오래 됐고, 컴퓨터 공학 학사 전공하고, 웹 개발자로 먹고 산지는 제법 되었지만, 그다지 신경을 안 쓰고 산덕에, 나스라는 것을 있는지 뭔지도 몰랐습니다.

제 머리속에 있는 나스란


Long live the idols, may they never be your rivals

Pac was like Jesus, Nas wrote the bible

우상들이여, 영원하길. 또 그들이 내 라이벌이 되지 않길.

팍은 예수였고, 나스는 성경을 써냈지.


Hiphop is dead를 부른 뮤지션 나스 밖에 몰랐습니다. 스팰링도 똑같이 나스(Nas)군요.

학부생시절에, 알고리즘과 자료구조를 공부하기 보단, 가사와 라임에 집중했던 것이 문제였던거 같습니다.


-당연한 이야기지만 이분은 아닙니다.



나스(NAS)란 Network Attached Storage 네트워크 결합 스토리지 입니다. 

쉽게 말하면 LAN으로 연결하는 외장 하드디스크입니다. 

컴퓨터에 직접 연결하지 않고 네트워크를 통해 데이터를 주고 받는 저장장치를 말합니다.

반대 개념은 컴퓨터에 직접 연결해서 쓰는 DAS(Direct Attached Storage)가 있습니다. DAS로는 내장형 하드디스크나 eSATA 규격 외장 하드디스크를 예로 들 수 있습니다..

 

현대의 클라우드 스토리지와 비슷한 부분이 많습니다. 구조적으로는 스토리지 서버를 단순화, 소형화한 것이구요.

과거에는 SOHO 나 기업에서 문서 공용 저장소 등의 목적으로 사용하였습니다. 

일반적인 리눅스 서버를 통해서도 유사하게 구현이 가능하지만, 리눅스 서버는 유지보수가 귀찮은 관계로 전용 NAS 솔루션을 사용하는 경우가 많았다고 합니다. 

2015년 전후로는 SSD 용량을 보조할 HDD의 HDD에 의한 HDD를 위한 독자적인 기기의 유용성이 널리 알려지기 시작했으며, 일반 개인이 부담 없이 사서 쓸 수 있는 제품과 소규모 사무실의 업무용이 주력 제품군으로 떠오르기 시작했습니다.


NAS의 특징을 설명 드리겠습니다.


첫번째로 데이터 공유가 쉽습니다.

NAS의 초기 목적은 여러 사람이 데이터를 쉽게 공유하기 위함이었습니다. 

윈도우등 PC 운영 체제에서도 공유 폴더 설정이나 파일 서버를 꾸미는 등을 통해 같은 기능을 제공합니다. 

그러나 공유 폴더 기능은 PC를 계속 켜놓아야 하고 리소스를 쓰게 만들어 작업을 느리게 만듭니다. 

파일 서버는 성능이 좋은 대신 전력 소비량이 많고 구매 비용도 비싸며 관리에도 손이 많이 듭니다. 

NAS는 간단한 초기 설정만 거치면 대부분의 운영체제, 컴퓨터에서 어렵지 않게 데이터를 공유할 수 있습니다. 비용 대비 효율성이 뛰어납니다.


두번째로 저장장치를 가지고 다닐 필요가 없습니다.

NAS는 내부 네트워크와 인터넷과 연결할 수 있어 외부에서 인터넷을 통해 NAS의 데이터를 읽고 기록할 수 있습니다. 인터넷 회선의 성능에 따라서 데이터 전송 속도는 제한받지만, 외장 하드디스크나 USB 메모리의 필요성이 상대적으로 줄어듭니다.

NAS는 일반적인 하드디스크를 기반으로 하여 용량의 압박을 받는 휴대기기에는 구세주나 다름 없습니다.

모바일 기기 중에서는 (특히 스마트폰) 내장 저장공간이 128GB 이상으로 넘어가는 기기를 찾기 어렵지만 NAS는 가정이나 중소기업용 모델로도 적게는 1~2TB, 많으면 10TB 이상의 용량을 자랑합니다. 

일부 회사에서는 하드디스크를 제외한 제품을 팔기도 하는데, 이를 이용해 집에서 노는 하드디스크를 장착해 쓰기도 합니다. 320GB, 200GB 하드를 꼽아도 유료 클라우드보다 용량이 많습니다.


세번째로 다재다능한 용도로 사용될수 있습니다.

NAS의 원래 목적은 파일 서버의 목적인 데이터의 공유였습니다. 

하지만 지금은 기능이 계속해서 늘어나 영상스트리밍,트랜스코딩 스트리밍. 토렌트, 데이터 백업, 채팅봇, 음악스트리밍, 가상머신, 웹페이지 호스팅 등 대체 NAS하고 서버를 분류를 왜 하는지가 의문일 정도로 용도가 다양합니다. 

커스텀도 가능한데 가상 OS를 설치하고 여러가지 작업을 다 하는 사람도 있습니다. 

무거운 작업을 하기에는 어렵지만 개인 사용자가 쓰기에는 충분한 성능이라고 합니다. 

일례로, 컴퓨터를 잘 다루는 정치인으로 유명했던 고 노무현 전 대통령이 자신이 개발에 참여했던 청와대 내 문서 관리 시스템인 e지원을 봉하마을 사저의 업무 시스템에 백업본을 만들어두어 사후 논란이 된 적이 있었는데, 이 때 고성능 NAS에 스토리지 복사본을 장착해 시스템을 구축했다는 것이 언론 보도들을 통해 알려졌었던 적이 있습니다. 

한 마디로 상용 서버에서 돌릴 수 있는 거의 모든 프로그램을 NAS에서도 동작시킬 수 있다는 것입니다.

사실 애초에 NAS도 고급화 되기 시작하면 일반 서버랑 차이점이 사라지기 시작했습니다. 특히 기업용 NAS정도만 되면 거의 동일한 수준이라고 합니다.


네번째로 저렴한 유지비를 들수 있습니다.

ARM이나 MIPS, 그리고 아톰 CPU를 기반으로 만들어진 제품이 대부분이라 전기를 적게 먹습니다. 

하드디스크 소비 전력을 뺀 소비 전력이 10W 정도인 제품이 대부분입니다. 따라서 서버에 비해 압도적인 전력 소비량 대비 효율성을 보여줍니다. 

2016년 이후 인텔 기반 CPU의 전력 소비량은 많이 줄어들었습니다. IDLE 상태의 전력 소비량이 크게 개선되었기 때문입니다. 

각종 포털 사이트가 제공하는 클라우드 저장소의 용량 추가보다 월등히 저렴합니다. 

당장 100GB를 몇 달 추가하는데 1만 원 이상의 돈을 투자해야 하지만 NAS는 하드디스크를 장착해 사용하므로 가성비가 우월합니다. 전기요금 외에 별다른 월 이용료가 없습니다.

또한 DDNS를 위한 도메인 주소의 경우 무료도메인도 찾아보면 많습니다. 굳이 따로 구입하더라도 일 년에 2만원이면 갱신이 됩니다.

기존에 사용하던 구형 컴퓨터에 NAS용 운영체제를 깔거나 NAS용 프로그램을 사용해서 x86 컴퓨터로 NAS를 만들어서 추가 비용을 절감할 수 있습니다. 

단, 구형 제품이여서 전력 소모가 상당할 수 있으니 전기요금에 주의해야 합니다.


다섯번째로 보안을 들수 있습니다.

포털 사이트가 운영하는 클라우드 서비스는 안정성은 뛰어나다고 합니다. 

그러나 저장된 데이터가 안전한지는 확실하지 않습니다. 

서비스 운영자가 임의로 열람하여 자신들의 빅 데이터를 구축하거나 관심 기반 광고를 다듬는데 이용할 수도 있습니다.

한국과 중국, 그리고 이슬람 문화권 국가에서는 정부나 사법기관의 요구에 데이터를 검열 할 가능성도 있습니다. 

실제로 대규모 기업의 스토리지 서비스 약관을 읽어보면 이에 대해 언급해 놓은 조항이 못 해도 하나씩은 있습니다. 

NAS는 자신만의 클라우드 서비스로서 누군가에게 압수라도 당하거나 해킹을 당하지 않는 이상 데이터 유출 가능성은 낮습니다. 

혹은 https을 활용해 SSL을 적용해 보안을 강화할 수도 있습니다. 

다만 대부분의 NAS는 대기업의 서버와 비교했을 때 보안 성능은 떨어지는 편이므로 외부 공격에 취약할 수 있습니다. 

즉, 기기 외적인 이유로 데이터가 유출될 가능성이 낮고 보안 성능은 낮다는 뜻입니다. 

따라서 암호는 보안성이 보장될만한 충분히 복잡한 형태를 쓰고, 사용하지 않는 기능은 비활성화 시키며, 안 쓰는 포트는 닫아두는 것이 좋습니다.

NAS도 컴퓨터이기에 해킹 사례가 있습니다. 

대표적으로 시놀로지의 DSM이 해킹 당해 도기코인이라는 가상 화폐 채굴기로 쓰인 사례입니다.

기타 보안 이슈들도 있습니다. 가령 NAS 운영체제에 제조사가 백도어를 만들어 놨다는 등의 의혹이 있을 수 있습니다. 다른 기기들의 사례들을 보면 있을 수 있는 가정입니다. 


NAS에는 장점만이 있는건 아니고, 단점도 존재합니다.

단점을 이야기 해보겠습니다.

첫번째로 네트워크 연결은 필수입니다.

당연한 이야기겠지만, 유선이든 무선이든 네트워크 연결을 해야 합니다. 

인트라넷처럼 인터넷 연결이 되지 않는 분리된 네트워크에서도 NAS는 쓸 수 있습니다. 

그리고 NAS에 따라서는 인트라넷 마저 없을 때를 대비하여 USB로 NAS 비슷하게 쓸 수 있는 모델도 있습니다. 

하지만 원격 연결을 하려면 외부 인터넷 연결이 필수입니다. 

현대에는 데이터 무제한 요금제, 통신사 Wi-Fi 등 각종 대규모 무선 네트워크 덕분에 접속은 용이합니다. 

하지만 회선 속도에 영향을 받으므로 느린 회선에서는 속 터지는 속도를 경험할 수 있다고 합니다. 

NAS가 쓰는 회선과 자신이 접속한 회선의 속도가 중첩되면 더더욱 느려질 수도 있습니다. 


두번째로 성능의 한계를 들수 있습니다.

대부분의 개인용 시판 NAS는 CPU를 임베디드 모델(주로 ARM)로 쓰며, 이는 X86(일반 서버)에 비해 성능이 떨어집니다. 

그래서 제대로 된 서버처럼 이것저것 서비스를 올려 쓰기는 어렵습니다. 

이런 용도로 쓰려면 NAS보다는 일반 데스크톱 PC 또는 서버를 쓰는 편이 효율성을 생각하면 더 싸게 먹힙니다. 

물론 전기요금 부담과 소음 문제는 개인의 부담할 책임입니다. 

그래서 좀 더 상위 제품인 아톰같은 저전력 x86 CPU를 사용한 제품들이 생겼으며 아예 직접 저전력 PC를 기반으로 고성능 NAS를 자작하는 사례도 많아졌습니다.

굳이 NAS라는 틀 안에서 해결해야겠다면 별도의 NAS를 통해 부하를 분산해야 합니다. 분산으로도 해결되지 않는다면 고성능 NAS를 자작하던가 다른 방식을 생각해보는 편이 좋습니다. 

제일 중요한점은 바로 속도입니다. 

네트워크 속도가 빨라도 직접 컴퓨터에 연결된 대부분의 외장하드보다 느립니다. 

NAS용도가 공유 및 외장하드 없이 저장할 수 있는 장치인데 다운/업로드 속도를 우선시한다면 NAS는 별 의미없습니다. 물론 나스를 운영하다보면 기가인터넷 상급공유기 도메인을 자동적으로 도입하게 됩니다.


세번째로 설정의 복잡함을 들수 있습니다.

NAS는 서버보다는 관리가 쉽고 설정도 어렵지 않지만, 상대적으로 그렇다는 뜻입니다. 

무언가 서비스 하나를 더하려면 여러 설정을 해야 합니다. 

단순한 파일 공유조차 네트워크 기본 설정, NAS 이름 설정, 드라이브의 포맷 및 할당, 사용자 및 사용자그룹 지정이라는 작업을 반드시 해야 합니다. 서비스를 더 올린다면 설정은 늘어날 수밖에 없습니다. 

게다가 NAS나 서버나 근본은 똑같은 리눅스입니다. 인터넷 공유기조차 설정하지 못해 쩔쩔매는 사람이 태반인 현실 앞에 NAS도 공부를 하려는 의지를 갖춘 사람만 제대로 다룰 수 있습니다.

가령 기본적으로 공유기의 포트포워딩(특정아이피의 특정포트를 외부 네트워크에 여는 설정)은 필수로 알아야 합니다. 프로토콜 (SMB,FTP,WebDAV)의 사용 방법, 조금 파고들면 리눅스 운영체제의 특성과 터미널 명령어나 제조사가 만든 OS의 특성도 알아야 합니다.

또한, NAS에서 쓰이는 파일 시스템은 주로 리눅스 파일시스템이므로 윈도우와 호환 문제가 일어날 수 있습니다. 그리고 NAS에 쓰던 하드를 컴퓨터에 연결해도 파일들을 볼 수 없는 불편함도 있습니다. 

이 정도면 컴퓨터의 아주 익숙한 사람이라도 쓰는데 어려움이 있을 정도입니다. 윈도우의 파일 시스템인 NTFS를 쓰는 NAS도 있지만 수도 적고 한계는 있습니다. 


NAS를 제조하는 대표 브랜드로는 시놀로지(SYNOLOGY),큐냅(QNAP),아이피타임(IPTIME)가 있으며, 그외에도 웨스턴 디지털, 시게이트, 버팔로 등등 여러 회사들이 자체적인 NAS를 제작해서 내놓고 있습니다. 

또한, 세마전자등 일부 제조사에서는 외장하드(혹은 외장하드 케이스)에 Wi-Fi 공유 기능을 달아 FTP, SAMBA, DLNA등을 지원하는 간이 NAS로 사용할 수 있게 했습니다. 

클라우드 서비스(N드라이브, Dropbox, Onedrive, Google Drive등)를 대체하려는 목적으로 사용에는 적합하지만 본격적인 NAS보다 기능면에서 떨어지지만 그 대신 초보자도 사용이 쉽다는 점은 장점이 있습니다.


무언가 상당히 쓰면 편리할거같고 재미있 을 거 같아 보입니다. 하지만 이런 호기심 충족을 위해서는 섣부르게 지갑을 열기가 어렵지요. 그래서 찾아보니, NAS를 자작으로 만들 수 도 있는데요.

-다락방 속의 서버입니다.


보통 서버를 구축 할 때 자주 쓰는 방법인데, 

우선 구형 PC를 이용해서 만들어보는 것입니다.

쓸모없는 컴퓨터를 해놀로지 같은 걸 깔아서 NAS화 시키는 경우는 꽤 흔한 편이며 싸기도 합니다. 

눈에 띄지 않는 다락방에 두고 서비스를 한다고 외국에서는 '다락방 서버' 라고도 부른다고 합니다.

제 짧은 영어로 보면 Attic server? server in Attic 정도로 쓰이는거 같더군요.

한국에서는 대부분이 아파트나 빌라에 살기에 다락방이 없죠.

학부생 시절에 과동아리 데스크탑을 마우스랑 키보드 모니터도 없이 리눅스 설치해 두고, 포트 열어둔채로 빈 컴퓨터실 구석에 꽂아서 사용했던 게 기억나네요.

보통 서버를 구축할 때 자주 쓰는 방법인데, 우선 구형 PC를 이용해서 만들어보는 것입니다.

쓸모없는 컴퓨터를 해놀로지 같은걸 깔아서 NAS화 시키는 경우는 꽤 흔한 편이며 싸기도 합니다. 

눈에 띄지 않는 다락방에 두고 서비스를 한다고 외국에서는 '다락방 서버'라고도 부른다고 합니다. 

따로 시스템을 살 필요 없이 기존에 사용하는 장비를 전환하다 보니 비용이 적게 듭니다. 

그리고 그래픽 카드나 사운드 카드같이 NAS에는 필요 없는 부품을 제거해 팔아버릴 수도 있구요. 

성능 또한 ARM 계열 NAS보다 월등하다고 합니다. 

물론, 구형 일반 PC는 전성비가 낮아 전력소모가 큰 단점이 있습니다. 

평범한 조건이라면 150W 정도가 소모될 수 있으며 전기세 폭탄을 맞게 될 수도 있습니다. 

구형 노트북(저전력 설계가 아닌 제품)을 사용할 경우 25W 정도의 전력이 소모됩니다. 

자판이나 LCD가 망가져 중고로 팔지 못할 때에도 NAS로는 사용하는데 지장이 없습니다. 

그리고 성능 나쁘기로 유명한 넷북 1세대라 하더라도 ARM 계열 NAS보다는 성능이 더 좋다는 장점도 있습니다. 

용량을 늘리기 위해 외장하드를 쓰게되면 USB 2.0의 속도가 걸리는게 문제입니다.

나중에 한번 포스팅 하겠지만 라즈 베리파이 같이 컴퓨팅 성능이 꽤 되는 저렴한 개발자 보드를 이용해 임베디드 개발자보드로 NAS를 제작하기도 합니다. x86 저전력 저소음 자작 NAS를 이용하기도 합니다.

그리고 PC나 서버를 아예 NAS처럼 만드는 전용 운영체제도 있습니다. FreeNAS와 NAS4Free(Free NAS에서 갈라진 (포크) 프로젝트), OpenMediaVault(OMV), Xpenology 같은 운영체제가 대표적인 예입니다.

PC에 이 운영체제를 설치하고 초기 설정만 하면 나머지는 시판 NAS 사용과 별반 차이가 없게 된다.


안드로이드 폰으로 웹서버도 가능하다는 이야기를 들었지만, 당연하게도 안드로이드 스마트폰과 휴대폰 충전기로도 간단한 NAS의 흉내가 가능합니다. 

가장 큰 장점은 아주 싸게 기기를 구성할 수 있다는 점과 저전력입니다. 

완충된 스마트폰이 소모하는 전력은 2.5W 미만으로 매우 적습니다. 

단점으로는 용량, 속도 등을 들 수 있습니다. 용량을 보면, 구형폰의 경우 microSD를 합쳐도 32GB~64GB 정도로 정상적인 하드디스크를 장착한 상용 NAS 용량에 미치지 못합니다. 

다만, 이는 분리형 배터리를 사용하는 폰에 직접 전원을 꽂고 OTG 기능을 이용해 외장하드를 달아서 보완할수 있습니다.


뭔가 실증 잘내고 귀차니즘이 많지만 집에 컴퓨터나 노는 노트북으로 한번 자작으로 구축해볼까 하기도 합니다. 전용 프로그램을 쓰면 인터넷에 보니 별로 어려워 보이는 건 없더군요.


출처 : 나무위키, 본인생각



Posted by Joseph514
IT이야기/입코딩2017. 6. 7. 17:55

-[용어정의]서버(Server)


서버(Server)란 클라이언트에게 네트워크를 통해 서비스하는 컴퓨터입니다.


나무위키에 있는 서버에 대한 내용을 발췌해 보겠습니다.

인터넷은 수많은 서버들이 거미줄처럼 얽혀서 형성된다고 합니다. 

홈페이지를 운영하려면 서버가 반드시 필요하며, 온라인 게임이나 웹게임들도 서버를 통해서 서비스를 하고 있습니다. 보통 어느정도 규모가 있는 기관에서는 데이터베이스, 웹 어플리케이션 서버 등등에 방화벽, 라우터등이 붙어 네트워크를 형성합니다.

구글 데이터센터의 서버들처럼 랙 안에 설치되어 항온항습기를 사용해 온도/습도가 유지되는 환경에서 보관되어 지는 경우에서 부터, 그냥 일반적인 PC를 사용하여 서비스를 제공하는 경우까지 매우 다양합니다. 

물론, 전문적으로 서비스를 제공하는 업체에서는 전용의 장비를 사용하는 것이 일반적입니다.

서비스 규모가 커질수록 서버의 규모도 크고 아름다워지기 때문에 구글이나 페이스북같은 경우 자체적으로 인터넷 데이터 센터를 운영합니다. 

국내에서도 2013년 6월 네이버에서 데이터 센터를 완공하여 운영하기 시작했는데 구글데이터센터나 네이버 데이터 센터 그리고 페이스북 데이터 센터를 보고있자면 이게 서버인지 우주기지인지 구분이 안될 정도로 엄청난 것을 알 수 있습니다. 

접속량이 많을 수록 서버의 부담도 많아지기 때문에 규모에 따라서 운영하는 서버의 성능과 대수가 다릅니다. 

온라인게임들이 주기적으로 점검을 하는것도 바로 서버점검을 하기 위함이며, 사용자가 몰려서 게임이 제대로 안돌아간다면 바로 이 서버가 감당하지 못해서 생기는 현상입니다. 

법적으로, 인터넷 컨텐츠를 수사할 경우 서버의 소재 국가에 따라서 어느 나라 법을 적용하느냐가 달라지며 이것도 속지주의의 일종입니다. 

나무위키는 서버가 해외에 위치해 있어 대한민국 법률이 적용되지 않습니다. 하지만 작성자가 대한민국에 있다면 제한적으로 적용될 수 있습니다.

VPS 호스팅 업체에서는 가상서버라는 것을 임대해 줍니다. 

물리적 서버를 분할하여 root권한을 가진 서버를 가질 수 있습니다. 

가상서버 한개를 임대하면 웹서버를 포트를 정하여 여러개 운영할수 있습니다. 이론적으로 사용 가능한 포트 번호는 0~65535 사이이나, 이 중 상당수의 포트는 이미 예약되어 있다고 합니다. 

1024 이하의 포트는 정해진 프로토콜 이외에는 함부로 사용하지 않는 것이 좋습니다.



뭔가 굉장히 어렵게 설명되어 있지만 딱 잘라 말해서 서버도 컴퓨터입니다. 


우리가 쓰는 컴퓨터와 똑같은 종류의 부품을 사용하기 때문에 가정에서 쓰이는 평범한 컴퓨터를 서버로 쓸 수도 있습니다. 

다만 안정성을 높이기 위해 좀 더 비싼 고급 부품을 쓰고 하드디스크와 전원장치는 2개 이상씩을 달아 서버를 끄지 않는 상태에서도 교체가 가능한 비싼 컴퓨터를 사용합니다. 

가정용 컴퓨터는 나만 필요할 때 쓰고 끄면 되지만 서버의 경우는 다른 사람들이 접속하여 사용하는 셈이므로 특별한 일이 없다면 24시간 내내 돌리게 됩니다. 

그래서 굳이 RAID 확장카드 달고 하드디스크도 3~4개씩 꽂아서 RAID로 묶습니다. 

일반적으로 쓰는 (옛날은 EIDE지만)SATA같은 인터페이스가 아닌 SCSI나 SAS를 이용합니다. 

이들은 컨트롤러가 제어하는 인터페이스여서 CPU랑 독립적으로 돌아가기 때문에 CPU 점유율이 낮아서 안정성을 요구하는 서버에 잘 맞는 인터페이스지만, 상당히 가격이 비싸며 컨트롤러 카드도 가격이 비쌉니다.

개인이 운영하는 웹사이트/웹게임 정도는 개인용 컴퓨터로도 홈서버로 서비스에는 무리가 없지만, 가정용 회선으로는 부족할 수도 있습니다. 

보통 DDoS 테러를 한다고 하면 타겟이 되는것이 바로 이 서버들이라고 하더군요. 접속량을 과도하게 늘리면 서버가 감당하지 못하다 뻗어버림으로써 사이트가 마비 됩니다.

서버 컴퓨터용 OS도 따로 있습니다. 사용하기 보다는 서버용으로 돌리는게 목적이므로 일반용과는 차이가 많습니다. 

유닉스, 리눅스 계열 서버운영체제는 대부분 CUI인 경우가 많지만 macOS 서버나 윈도우 서버의 경우는 가정용과 인터페이스 차이가 거의 없습니다. 

또 하드디스크의 가격하락과 유무선공유기의 보급덕에 집에서 NAS나 애플의 맥 미니를 이용해 개인용 서버를 운영하는 경우가 늘어나고 있습니다. 

NAS에는 주로 시놀로지 DSM OMV free4nas Cent OS라는 리눅스계열 운영체제가 탑재되는 경우가 보통이며 애플의 맥 미니에는 옵션으로 macOS Server가 들어갑니다. 

과거 애플은 서버컴퓨터인 Xserve도 내놓았지만 단종되었다고 하네요. 

맥 사이에서 써야 빛을 내는데 애초에 그런 환경이 당시 드물었고, 가성비까지 별로라 단종되었다고 합니다.현재 맥 프로와 맥 미니로 대체되있으며, 랙마운트 어댑터도 구매할 수 있습니다. 


서버에 종류에 대해서 한번 알아보겠습니다.

보통 서버를 돌리려는 이유는 마인크래프트 등의 게임 서버, 블로그 서버, 파일 서버 등이 있습니다.


-FTP 서버

대용량 파일 전송을 위한 프로토콜입니다. FTP서버는 HTTP서버 다음으로 해킹 표적이 되는 서비스입니다. 

파일 배포 서비스가 필요한 것이 아니라면, SSH 환경에서 실행할 수 있는 SFTP를 이용하는 것으로 충분합니다. 

윈도우 환경에서는 FileZilla등의 FTP클라이언트가 sftp서비스를 지원합니다.

만약 제어 콘솔(PC)도 리눅스라면 sshfs패키지를 설치해서 서버를 원격 마운트할 수 있습니다. 

참고로 sshfs는 samba와 달리 라우터를 자유롭게 넘어다닌다고 합니다. 

지구 반대편에서도 서버를 원격 마운트할 수 있습니다. 다만 윈도우에는 없는 패키지라서 윈도우 사용자는 가상머신을 이용해야 합니다.


-웹 서버

대표적으로 Apache2, lighttpd, nginx등이 있습니다. 

범용성은 apache2가 가장 우월하나 동접자가 늘어날수록 메모리를 많이 먹고 속도도 조금 느립니다. 

nginx는 동접자가 늘어도 추가 메모리를 거의 필요로 하지 않으며 가장 속도가 빠르나 .htaccess를 읽어들이지 못하는 것 등으로 인하여 설정이 번거롭다고 합니다. 

lighttpd는 nginx와 같은 비동기식 웹 서버라 성능 면에서도 괜찮고 .htaccess 파일 또한 읽어들일 수 있기 때문에 nginx에 비해서 설정이 간단합니다. 

다만 .htaccess는 모든 요청을 처리 할 때마다 읽기 때문에 정적 서버에서 권장하지 않는다고 합니다.그리고 참고할 문서가 적은 게 흠이라고 합니다.


-데이터베이스 서버

데이터베이스를 구동하는 서버입니다. 개인이 취미로 돌리는 웹 서버 정도에선 애플리케이션 서버와 같은 서버에서 돌아가는 것이 대부분일 것입니다. 

하지만 대형 서비스로 간다면 독립된 DB서버를 구동하는 것을 심심찮게 볼 수 있습니다. 

서비스 규모가 커질수록 DB부담이 수직상승하기 때문입니다. 

보통 기업 보유 자산 중 가장 빠르고 가장 메모리가 많고 SSD로 도배한 서버로, 제일 성능이 좋은 서버가 DB서버로 사용됩니다.

소규모 개인 서비스에서 쓰이는 것은 대부분 MySQL, MariaDB 또는 SQLite 정도입니다. 다만 PHP와 달리 MySQL과 마리아DB는 대형 서비스에도 쓰이는 강력한 데이터베이스 엔진입니다.

개인이나 SOHO 레벨이면 APM(Apache + PHP + MySQL)이 점유율의 대부분을 차지하지만, 대한민국 정부, 즉 관(官)에서 주관하는 중대규모 사업은 JSP/Tomcat + ORACLE이 사실상 표준입니다.


-기타

토렌트 서버, 게임 서버등이 있습니다.

토렌트 서버를 만들고 싶다면 "transmission-daemon" 또는 "uTorrent for Linux"를 설치합니다. 

근데 토렌트 서버는 네트워크 대역폭을 엄청 빨아먹으므로 민폐가 될 수 있다고 합니다.

게임서버란 인터넷 상에서 여러 플레이어가 같이 게임을 할 수 있게 하기 위한 프로그램이나 해당 프로그램을 기동중인 컴퓨터를 말합니다.



버추얼박스로 리눅스 하나 깔아서, putty로 접속하고 서버 돌려보는것도 나름 재미있네요.

사실 서버 전문가들은 SE 라고 웹개발자와는 직군이 좀 다른것 같습니다만, 혼자서 개발환경정도는 세팅할수 있게, 간단하게 데이터베이스 깔고, 파일서버 만들고, svn에서 공유하고 하는정도는 스킬을 익혀두는게 좋겠더군요.

Posted by Joseph514

-블로그 저품질이란 무엇일까요?


블로그를 운영하다 보면, 저품질블로그, 내 블로그가 저품질이다. 블로그 저품질에서 빠져나오는 방법 등등의 무수한 포스팅들을 보실 수 있으실 것입니다.

사이트 개발자를 디스하는건 아닌데, 저품질 블로그를 url만 입력하면 검토해 준다는 사이트들도 있더군요.



일단 '블로그 저품질' 이라는 단어의 정의를 검색 해보면


특정 블로그의 포스팅이, 원래대로라면 네이버 블로그 검색 결과에서 1, 2페이지에 노출되어야 할 수준임에도 불구하고 3페이지 1위(21위) 이후에 노출되는 현상이라고 합니다. 


이때 포스팅 단위가 아니라 블로그 단위로 처리되기 때문에, 블로그가 저품질에 걸렸다고 합니다. 

단, 경쟁이 거의 없는 키워드에서는 3페이지 1위보다 위, 즉 1, 2페이지 안에 노출될 수 있다고 합니다. 

저품질 블로그가 되면 일반적으로 블로그 순위가 급락한다고 사람들은 이야기 합니다.


블로그 저품질의 흔히 알려진 원인으로는 

제목 및 내용에 과도한 키워드(검색어) 반복, 상업성 사이트 링크, 병원 포스팅, 그리고 불량 IP 및 상위 노출을 위한 댓글, 공감, 스크랩 조작이 있는데요.

그러나 예전에는 정확한 원인은 네이버에서 공식적으로 밝히지 않았었습니다.

그 결과, 나름 합당한 결과를 찾으려는 사람들인지, 포스팅한 사람들은 무슨 목적인지는 모르겠지만 여러가지 루머들이 떠돌았습니다. 저도 블로그를 처음 시작 할 때, 포스팅한 게시물이 잘 안보이자 저품질이 어쩌고 하는 이야기 때문에 겁나서 오탈자가 나도 수정도 안하고 있었지요. 물론 이후에 말씀드릴 네이버에서 공개한 지금도 안 믿는 사람들은 많습니다.

네이버 검색이 생각하는 좋은 문서! 나쁜 문서?


상식적으로 생각해 볼 때, 소위 말하는 고품질의 포스팅이 소수일 수 밖에 없는 만큼 그 수많은 저품질 포스팅을 뽑아다가 아래로 내리는 것보다 소수의 고품질 포스팅을 뽑아서 상위로 올리는 게 훨씬 간편할 것입니다. 


그러는 과정에서 선택 받지 못한 다른 블로그는 자연스럽게 도태 되는 것입니다. 

즉, 다른 블로거보다 못해서 밀린 것일 뿐이지 본인이 잘 하는데 밀릴 이유는 하등 없습니다. 

실제로 자신의 블로그가 저품질 블로그에 걸린 것 같다고 설레발을 치는 블로거들의 글을 보면 별로 건질 것이 없는 글이 더 많은 경우가 많습니다. 

이런 근거를 들어 예전부터 저품질 블로그는 단순히 헛소문에 불과하다는 의견을 주장하는 사람들도도 있는 편이었는데, 역시나 아닐까. 네이버에서 해명했습니다.


블로그 검색 C-Rank알고리즘에 대해 궁금한 점과 저품질 관련 소문 알아보기


네이버 공식 블로그입니다.

자세한 내용은 포스팅을 들어가 보시면 확인 하실 수 있으시고, 인터넷에 떠도는 저품질 블로그에 대한 진위 여부를 발췌 해 보겠습니다.


중략...

C-Rank는 주제를 기반으로 블로그의 신뢰도와 인기도를 평가하는 알고리즘입니다. 네이버 블로그 검색 랭킹(순위) 알고리즘에는 다양한 로직이 적용되어 있으므로 C-Rank가 높은 순서로만 검색 랭킹을 결정하지는 않지만, 문서의 출처와 관련된 부분에는 C-Rank 알고리즘을 사용하고 있습니다.


-하나의 블로그는 하나의 주제만 다뤄야 하는 건가요?

꼭 그런 것은 아닙니다.

하나의 블로그에서도 여러 가지 주제에 대해 양질의 글을 작성하시면 다양한 주제의 블로그가 될 수 있습니다. 가령 요리, 인테리어, 영화 이렇게 3개의 주제 모두에 대해서 정보력 있는 글을 지속적으로 작성하시면 3개 주제 모두 C-Rank가 높아질 수 있습니다.


-원래 쓰던 주제 외 다른 주제글을 작성하면 검색되지 않는 건가요?

원래 쓰던 주제 외에 다른 주제의 글을 써도 전혀 문제없이 검색됩니다. 

하지만, 특정 주제를 꾸준히 몇 년 동안 작성하다가 갑자기 주제를 바꾸어 새로운 주제에 대해서만 짧은 시간 안에 많은 글을 작성하고, 글을 작성하는 톤이 바뀌는 경우는 어뷰징 행위로 인지되어 C-Rank에 안좋은 영향을 미칠 수도 있습니다.

참고로, 검색되지 않는 블로그 문서는 원본이 아닌 유사문서 및 성인/음란, 도박, 불법성의 콘텐츠이며 그 외에는 모두 검색에 노출됩니다. 만약 검색되지 않는 문서가 있다면 고객센터에 문의해주시기 바랍니다. 


-C-Rank를 반영했다고 한 후 갑자기 제 글이 4~5페이지 뒤에 보이기 시작해요. 왜 그런 거죠?

블로그 문서는 하루에 30만 건에서 100만 건까지 생산되고 있습니다. C-Rank가 높은 블로그가 많은 주제나 질의의 검색 결과에서는 상대적으로 하위에 노출될 수 있습니다. 검색 랭킹은 절대평가가 아닌 상대평가라고 생각하시면 좀 더 이해하시기 쉬울 것 같습니다. 하지만 본인이 꾸준히 작성했던 블로그 주제에 대해서는 양질의 블로그라면 C-Rank에 의해 더 상위에도 나올 수도 있으니 관심 있는 분야에 집중하시는 것이 좋습니다. 블로그 검색은 다양하고 좋은 출처의 문서를 많이 보여줄 수 있도록 개선해나가고 있습니다.



-제 블로그가 검색결과 상위에 잘 안 나와요, 새로운 블로그를 만드는 것이 나을까요? 아니면 유지하는 것이 좋을까요?

지속적으로 좋은 컨텐츠를 생산하며 운영해 온 블로그일수록 특정 주제에 집중하고 있으며 검색 이용자들의 선호도도 높은 경향이 있습니다. 그리고 다른 이용자들과 소통하기도 합니다. 이렇게 꾸준하게 블로그를 운영할수록 C-Rank가 상승할 수 있는 요소가 누적되므로, 기존에 운영하고 있는 블로그가 검색 결과에 잘 나오지 않는다고 다시 시작하고 자주 바꾸는 것보다는 블로그를 유지하고 잘 가꾸어 나가는 것이 검색 노출에는 더 유리할 수 있습니다.

그외 저품질 블로그에 관련된 소문 진위 여부


-유입 수 500명은 유지해야 저품질이 풀린다?!

x

-많은 포스팅은 삼가고 하루에 1~3개씩 시간을 두고 포스팅한다?그리고 꾸준히 올려야 저품질을 탈출한다?

x

-블로그를 장기간 관리하지 못하면 저품질이 된다?

어느 정도는 맞을 수 있습니다. 

-상업적인 블로그가 아닌 블로그가 저품질에 걸리면 일상 글을 적어야 한다?

x

-방문자 수가 급격히 늘어나거나 공감이 급격히 늘어난 경우 저품질이 된다?

x


물론 위에 의견은 네이버 블로그에서 공개한 저품질 블로그에 대한 설명임으로, 티스토리나 이글루스, 워드프레스 등에는 적용되지 않을 수는 있습니다.


검색 엔진 별로 검색에 노출되는 조건이 다른 건 포스팅 하는 제가 어느 정도 느껴질 정도로 차이가 있습니다.

하지만 맹목적으로 출처를 알수 없는 그럴듯한 말들에 속아 1일 1블로그 씩 블로그 해서 다른 사람들이 수만 수 십만 건의 포스팅이 있을 때 올리고 싶은 포스팅도 못하고, 신경 쓰면서 공부하듯이 끙끙거리는 일은 없으셨으면 합니다.


Posted by Joseph514
IT이야기/입코딩2017. 5. 30. 13:50

-딥웹(Deep web)의 정의


한때 인터넷에 떠돌던 떡밥이었던 딥웹의 정의에 대해서 한번 알아보겠습니다.

위키피디아에 등재된 딥웹의 정의입니다.


원문

The deep web, invisible web, or hidden web are parts of the World Wide Web whose contents are not indexed by standard search engines for any reason. 

The content is hidden behind HTML forms. 

It is estimated that the deep web makes up 96 % of the whole internet. 

The opposite term to the deep web is the surface web. 

The deep web includes many very common uses such as web mail and online banking but also paid for services with a paywall such as video on demand, and many more. 

Computer scientist Michael K. Bergman is credited with coining the term deep web in 2001 as a search indexing term.


깊은 웹 , 보이지 않는 웹, 또는 숨겨진 웹은 어떤 이유로 든 표준 검색 엔진에 의해 색인이 생성되지 않는 월드 와이드 웹의 일부입니다.

HTML 양식 뒤에 내용이 숨겨져 있습니다. 

딥 웹은 전체 인터넷의 96 %를 차지하는 것으로 추산됩니다. 

깊은 웹의 반대말은 표면 웹 입니다. 

딥 웹은 웹 메일 및 온라인 뱅킹 과 같이 매우 보편적으로 많이 사용 되지만 , 주문형 비디오 와 같은 페이 웰 (paywall) 이있는 서비스에 대해서도 많은 비용을 지불 합니다. 

컴퓨터 과학자 인 Michael K. Bergman은 검색 색인 생성 용어로 2001 년에 Deep Web 이라는 용어를 사용하여 창안 되었습니다.



먼저 Google, 야후, Bing, 네이버같은 일반 검색 엔진으로 검색이 가능한 웹을 표면 웹(surface web)이라 합니다.

그리고 그 대치 용어로 검색 엔진에 걸리지 않는 곳을 딥 웹(deep web)이라고 합니다. 


인터넷 하면 흔히 웹이라고 줄여 부르는 월드 와이드 웹만 생각하기 쉽지만 인터넷은 

"월드 와이드 웹, 전자 메일, 파일 공유(토렌트, eMule 등), 웹캠, 동영상 스트리밍, 온라인 게임, VoIP, 모바일 앱 등 "

다양한 서비스들을 포함합니다. 



딥 웹(deep web)은 이름에 웹(web)이 들어가지만 월드 와이드 웹뿐만 아니라 위와 같은 다양한 서비스들 중 검색 엔진에 걸리지 않는 컨텐츠들도 포함합니다. 

웹뿐만 아니라 다양한 서비스들을 포함하고 있기 때문에 딥 웹(deep web)보다 딥넷(deepnet)이 더 정확한 표현이라고 합니다. 영어 위키피디아에서도 deepnet으로 검색하면 deep web으로 문서를 넘겨줍니다.

접속 허가가 필요한 네트워크나 특정 소프트웨어로만 접속할 수 있는 오버레이 네트워크(overlay network)는 다크넷(darknet)이라고 부릅니다.

다크넷(darknet)은 인터넷처럼 이름에 net(network의 줄임말)이 들어가지만 Tor처럼 사실상 웹 서비스만 있는 경우에도 I2P나 Freenet과 함께 다크넷으로 분류합니다.

다크넷 중 웹만을 따로 다크 웹(dark web)이라고 부릅니다. 

딥 웹에 다크넷이 포함되고, 다크넷에 다크 웹이 포함됩니다. ex(다크넷 > 다크웹)

딥 웹이라는 용어를 다크넷이나 다크 웹을 가리키는데 잘못 사용하는 경우가 있습니다.

사람들이 흔히 오해하는것이 모든 딥웹이 범죄자들이나 사회의 어둠과 관련된 사이트들인 것은 아닙니다. 

딥웹을 찾아보던 중에 알게된 단어들인데, 다크넷, 다크웹, 딥웹 모두 같은 뜻은 아닙니다.


딥웹은 단순히 검색에 걸리지 않는 모든 사이트들을 포괄하는 단어입니다. 

(ex.기업의 내부 정보 페이지, 웹 관리 페이지, 전자 도서관의 데이터 베이스. 혹은 단순히 검색 엔진의 기술적인 문제 때문에 잡히지 않는 웹페이지 등)


구글, 네이버, 다음 등등에서 검색되는 나무위키는 표면웹이고, 검색되지 않고 직접 url 입력해서 들어가야 했던 리그베다 위키는 딥웹입니다.


검색엔진에 노출되는 사이트라면 검색을 통해 찾아 들어갈 수 있습니다. 하지만 검색을 막아버리면 이런 사이트는 검색을 통해 찾을 수 없고, 그 사이트의 주소를 아는 사람만 찾아갈 수 있습니다. 

전자가 표면웹, 후자가 딥웹이며, 어떠한 이유로든 자신이 개설하거나 운영하는 사이트가 대중에게 노출되기를 원치 않는 사람들은 검색봇을 거절해 버릴 수 있고, 딥웹의 정의 자체는 이런 사이트들의 통칭입니다.


다음 카페나 네이버 밴드에 친구들 동창회 모임 같이 그런 사이트들처럼 말이죠.

 

다만, 세상에는 나쁜 사람들도 있어서 이런 사람들은 남의 눈이 닿지 않는 곳에서는 나쁜 짓을 합니다. 

흔히 딥웹의 특징으로 거론되는 불법자료나 마약, 무기거래, 청부살인 등이 바로 이런 특성에서 기인합니다. 

표면웹에서 저런 짓을 했다가는 경찰에게 적발될 테니, 남에게 안 보이는(검색이 안 되는) 곳에 숨어서 하는 것입니다. 나아가, 어니언 네트워크처럼 이용자의 익명성이 보장되는 네트워크 역시 이런 식으로 설명할 수 있습니다. 


오프라인 가게를 예로 들면. 광고를 해서 이름을 알리는 보통의 가게가 표면웹이라면, 광고를 하지 않아 아는 사람들만 갈 수 있는 가게가 딥웹입니다. 


그리고, 딥웹가게 중에는 일반 손님은 받지 않고 회원만 들어갈 수 있는 더욱 폐쇄적인 가게도 있을 수 있습니다. 

이런 가게에는 VPN을 통한 인트라넷을 운용하는 가게, 검색이 안 되는 회원제 네이버 카페 같은 가게, 그리고 토르 브라우저로만 들어갈 수 있는 어니언 네트워크에 속한 가게 등이 이에 속합니다. 

이들을 대략 깊은 딥웹이라고 볼 수 있습니다. 

따라서, 나쁜 짓을 하는 사람들에게는 이런 회원제의 폐쇄적 가게가 더욱 유리할 하나, 익명성을 만들고 유지하는 사람들이 모두 나쁜 짓을 하는 사람들이라는 의미는 아닙니다.


또한 딥웹에서는 보다 더 질이 높은 전문적인 자료도 구할 수가 있는데, 위에서 언급했다시피 딥웹의 정의 자체를 생각해보면 질이 높은 전문적인 자료라는 것이 중2병스러운 것들뿐인 것도 아닙니다. 

딥웹의 정의는 생각보다 포괄적이라 포털에서 포착되지 않는 전공 지식만 모은 전문 사이트도 딥웹입니다. 


박사급 연구자들의 연구자료를 주로 필요로 하는 사람들은 역시 박사급 연구자들일 것입니다. 

그렇다면, 박사급 연구자료를 모아놓은 논문 페이지를 굳이 검색엔진에 노출시킬 필요가 없습니다. 쓸데없이 트래픽만 잡아먹을 테니까 말이죠. 그렇다면 내부에서만 검색 가능한 독자적인 네트워크를 형성해서 박사급 연구자들에게 그 네트워크에 가입해서 필요한 정보를 검색하라고 하면 됩니다. 

즉, 딥웹이라고 해서 불법적이고 더러운 것들만 딥웹 인 것도 아닙니다.

대표적으로 '국회도서관'의 자료가 딥웹 입니다. 

외부에서 온라인으로 열람할 수 없으나, 계약을 맺은 기관의 전산실 컴퓨터를 이용해서 열람할 수 있습니다. 

석박사 논문은 보통 국회도서관에만 있으므로 집에서 편하게 볼 수 없고 학교 도서관 등을 가야 하는 수고를 해야 합니다. 


흔히들 사람들이 딥웹에 대해서 생각하는 건 2011년도 쯤 전후로 해서 오늘의 유머를 중심으로 다른 각종 커뮤니티에서도 퍼져나간 인터넷을 떠돌던 떡밥입니다.


내용인 즉슨, 


인터넷 세계에는 각종 포털 검색에도 걸리지 않는 그들만의 리그가 있으며, 그곳에서 돌아다니는 내용이란 우리의 상상을 초월한다는 것입니다. 

간단히 말해 우리가 쉽게 구해볼 수 있는 성인 동영상이 일반 커피면 딥웹을 돌아다니는 동영상은 TOP라는 내용입니다. 때문에 이중 삼중의 프록시 우회를 시행하는 Tor라는 브라우저를 통해서만 접근이 가능하고 여러 해커들이 암약하고 있다고 이야기 합니다. 


내용만 들으면 엄청 섬뜻하네요.

나무위키에서 이 내용에 대한 의견을 발췌해 보았습니다.


정확히 말하면, 위의 글쓴이는 딥웹과 어니언 네트워크를 착각한 것입니다. 

기본적으로 딥웹은 외부에 노출되지 않도록 만들어진 네트워크이고, 그런 네트워크를 만드는 기술 중에는 이용자의 익명성을 보장하는 다중 우회 브라우저인 tor로만 접속할 수 있도록 주소를 암호화하는 기술이 있으며, 이 기술로 만들어진 사이트들을 어니언 네트워크라고 분류합니다. 

그런데 위 글쓴이의 경우 어니언 네트워크=딥웹이라고 착각하여 딥웹에는 tor 브라우저로만 접근할 수 있다고 기술한 것이며, 해당 글에 줄줄이 늘어서 있는 url들 역시 어니언 계열의 사이트만 늘어놨으니 토르 브라우저로만 접속할 수 있는 것이 당연합니다. 


비유적으로 설명하자면 

서울 버스나 지하철을 타려면 서울 교통카드가 필요한데, 글쓴이가 서울 외 다른 지역에도 대중교통이 있는 걸 잘 몰라서 

'대중교통을 이용하려면 서울 교통카드라는 것이 있어야 합니다.'

라고 말한 것과 같다는군요. 

저런 주소들은 애초부터 토르 브라우저 이외의 수단으로는 접근할 수 없도록 암호화 해 둔 것이다.


전 개인적으로 음모론을 믿지는 않습니다. 정당한 의심은 있을수 있지만 실상은 별거 아닌 사실을 무지에 대한 공포를 너무 키워주는것같거든요.일반인들이 서핑으로 잘 찾기 어려운 자료들이라 그렇지, 딥웹에 있다는 자료들이 실상은 딥웹에만 존재하는 자료들은 아닙니다.

인터넷에 떠도는 링크걸린 딥웹 사이트들은 일부 불법 웹사이트들이 기재되어있고, 그것을 클릭하는 순간부터 경찰에게 어그로를 끌 수가 있으니 애초에 웬만하면 들어가지 말라고 권합니다. 

강력한 익명성을 보유하는 게 쉽지도 않을 뿐더러 정신건강에 썩 좋은 웹사이트도 아니거니와 컴퓨터를 혹사시키고 바이러스를 먹이는 근원지가 될 수 도 있습니다.


딥웹이 위키피디아에서 언급한대로 전체 인터넷의 96 %, 인터넷 데이터의 대부분이라고 이야기 하지만

 

"개인간에 주고받는 E메일이나 카카오톡, 텔레그램, 스카이프 등 메신저를 통해 주고받는 대화, 

각 개인이 클라우드 서비스에 업로드한 각종 자료, 

인터넷 전화의 통화내용 등 "


이런 정보들은 분명히 인터넷의 일부이지만, 당연히 당사자 외 다른 사람은 검색 등을 통해서 접근할 수 없으므로 명백한 딥웹입니다. 통상적인 인터넷 사용자들이 인터넷 상의 정보나 자료라고 잘 인식하지 못하는 것들이 이런 딥웹의 인터넷 트래픽 중 상당부분을 차지하고 있다는 것입니다. 

정확히 집계하기는 극히 어려우나 딥웹의 정보량은 분명히 방대합니다. 하지만 저 위에 예시로 든 데이터들 처럼 다른 사람에게 딱히 쓸모 없는 것이 대부분입니다.


물론, 그렇다고 딥웹은 별볼일 없는 곳이냐..라고 제가 이야기 하기도 어려운게

나무위키에서 이야기하는 딥웹에 결론을 발췌하였습니다.


"딥웹은 실존하며 가벼이 넘길수 없다."



"

마약, 총기 거래, 고어, 야동들 같은 것들을 전문적으로 만든 페이지들이 있으며 마약, 총기거래 등이 정말 이루어 지는 것 사실이고, 일반인은 보지도 듣지도 못한 고어물이나 야한 동영상들이 딥웹에 있는것도 사실이다. 

범죄를 의미하는 딥웹이라면 분명 있긴 있고 더 많이 있을 것이다. 

그 실체를 정말 잘 아는 사람이라면 이미 범죄에 한 발 몸 담근 사람이니 함부러 떠들 수 없을 것이다. 

근데 애초에 범죄가 이 세상에 많은데 인터넷이라는 도구를 범죄에 쓰지 않으리란 법이 없지 않은가

휴대폰으로도 범죄 목적의 통화가 엄청나게 많이 이루어지는 것처럼 말이다. 

한국처럼 범죄가 적은 국가가 아니라 미국처럼 마약, 총기, 갱단 등이 많은 국가라면 더 그렇고, 

중동처럼 전쟁의 와중에 있는 지역, 중남미처럼 치안이 매우 열악한 곳에는 인신매매, 청부살인 정도는 흔히 일어나는 것을 다들 알고 있을 것이다. 

그렇다면 이라크 레반트 이슬람국가도 SNS로 테러범 모집하는 시대에 범죄자들이 인터넷이라는 유용한 익명 유지 도구를 사용하지 않을 리 없는 것이다. 

즉 범죄의 한 도구일 수도 있는 것이 딥웹이며 없어도 고전적인 방식으로 범죄는 이루어진다. 

흔히 하듯 토렌트로 야동을 공유하는 것도 범죄를 익명성을 유지하면서 하기 위한 수단인 점에서는 비슷하다. 

Tor보다 익명성의 정도가 약할 뿐이다.

"


이상으로 딥웹(Deep Web)이 어떤것이란 것을 알아보았습니다.

딥웹 중에 불법 사이트들이 일부 존재하는것은 사실이나, 한동안 인터넷에 떠돌던 루머처럼 모든 딥웹들이 거창하고 무섭기한 한 곳은 아닙니다.

인터넷도 사람이 만든 거고, 딥웹도 사람들이 관리를 하는 것이고, 하나의 수단이기 때문에 범죄에 쓰이는 사이트들도 있다는 것이죠. 그렇다고 함부로 접속해서 가득 심겨진 랜섬 웨어나 바이러스에 걸리는 행동은 피하는 것이 좋겠죠.


출처 : 위키피디아, 나무위키

Posted by Joseph514
IT이야기/블로그운영2017. 5. 23. 10:59

-[블로그운영노하우정리]무료 이미지 사이트들

블로그에서 가장 중요한 부분이 무엇일까요? 

물론, 알차고 가독성있게 다듬어진 글이 제일 중요하겠죠.

그런데... 제 개인적인 생각이긴 합니다만 글 만큼이나 중요한게 아마 이미지파일이 아닐까 합니다.

대다수 네이버 블로그들을 보면 사진만 수십장에 글은 중간 중간 설명 정도 밖에없습니다.

물론 티스토리 블로그에는 이미지만 올렸다가는 내용 부실로 인해서 에드센스 승인이 안날수도 있습니다.

이 사진들은 어디에서 구할까요? 제일 좋은건 제가 직접 찍은 사진이겠죠.

직접 여행 간 곳의 경치나 맛집, 음식 사진. 구매한 물건 사진들. 

그런데 정작 제가 가지고 있는 이미지가 없다면? 인터넷을 통해서 다운 받아야겠지요. 이 사진들을 함부로 퍼와서 올려도 되느냐..?

일단 티스토리 저작권 관련 FAQ 입니다.

원문보기

그중에 이미지 관련된 저작권 규정만 발췌해봤습니다.

Q. 미술명작이나, 아주 오래되어서 상속자 찾기 힘든 경우는 어떻게 되는건가요?

A. 오래된 미술 작품의 경우(저작자가 사망한지 50년이 경과된)에는 해당 미술 작품을 디지털화(그림파일로 만드는 등의)하는 등의 방법으로 이용할 수 있습니다. 다만 해당 미술 작품을 이용하여 새롭게 창작된 저작물은 그 저작물을 창작한 자가 저작권법상의 권리를 가지게 되므로 이러한 저작물은 저작자의 허락없이 사용하셔서는 안되겠습니다.

Q. 방송 프로그램의 동영상 편집 및 캡쳐 화면을 올리는 것도 저작권 침해가 되나요?

A. 방송 프로그램의 동영상을 편집하거나 캡쳐화면을 업로드하는 행위는 그 행위의 범위나 방법 등에 따라서 단순한 저작물의 변형 기타, 편집저작물의 작성, 2차적저작물의 작성 등으로 나누어질 수 있습니다. 이러한 모든 행위가 원저작자의 동의없이 이루어지는 경우에는 원저작자의 저작권을 침해하는 행위가 됩니다.

저작권법에서 관련 내용 발췌

제5조 (2차적저작물) 

①원저작물을 번역·편곡·변형·각색·영상제작 그 밖의 방법으로 작성한 창작물(이하 "2차적저작물"이라 한다)은 독자적인 저작물로서 보호된다. 

②2차적저작물의 보호는 그 원저작물의 저작자의 권리에 영향을 미치지 아니한다.

제6조 (편집저작물) 

①편집저작물은 독자적인 저작물로서 보호된다. 

②편집저작물의 보호는 그 편집저작물의 구성부분이 되는 소재의 저작권 그 밖에 이 법에 따라 보호되는 권리에 영향을 미치지 아니한다.

Q. 뉴스를 보면 기자들은 마음대로 방송 캡쳐나 동영상도 마음대로 사용하던데, 기자들도 저작권 위반에 저촉되지 않나요? 왜 개인에게만 불리한가요?

A. 방송, 신문 등에서 시사보도를 위해 저작물을 이용하는 것은 저작권법에서 허용하고 있습니다.

여튼, 옛날에 별로 저작권 개념이 없어서 애니메이션이나 영화, 드라마, 티비 방송 나오는 장면들 스샷 찍어서 짤방 만들어서 올리고 했었는데.

엄밀하게 말하면 그런 행동들은 다 저작권 위반입니다.

'검색해서 나온 이미지 무단 사용하지 마세요'

원문보기

2013년도 기사입니다.

구글링해보면 콘텐츠 무단 사용, 이미지 무단 도용 등으로 인해 관련된 글들이 많네요.

벌금도 150만원 받았다는 사람도 있고, 200만원 이상 청구할수도 있다고도 그러네요.

그래서 최소한 어떻게 쓰든 별 문제가 안될 이미지를 찾아야 겠더군요.

하단에 구글링해서 찾은 무료 이미지 사이트들입니다.

대부분 저적권 포기 이미지를 무료로 제공하기에, 상업용으로도 사용할수 있다고 합니다.

물론, 저 사이트에 있는 이미지라도 유료 이미지들도 포함되 있으므로 라이센스 표시를 확인해보시는게 좋습니다.

개인적으로 제일 추천하는 사이트는 Pixabay입니다. 제 블로그의 사진들 대부분은 저기서 퍼온것입니다.


-Pixabay 

-Unsplash

-Picjumbo

-Gratisography 

-SplitShire 

-DesignersPics  

-Pexels 

-imagebase 

-Magdeleine 


위 사이트들 외에도 구글링해보면 무료로 제공되는 사이트들이 많습니다.

좋은 사진들 참고해서 이쁘게 블로그를 꾸미면 좋겠죠?


Posted by Joseph514
IT이야기/블로그운영2017. 5. 19. 18:00

-[블로그운영노하우정리]블로그를 선택해 봅시다.


블로그를 시작해 보려고 합니다. 

그러면 제일먼저 어떤 블로그를 선택해야할지 결정해야겠죠?

목적과 주제, 여건을 한번 살펴봐야 합니다.


1. 블로그의 목적

블로그를 왜 만들려고 하시나요? 

블로그를 사용하는 목적은 여러가지가 있을수 있겠죠.


IT 개발자나, 사진작가, 음악인, 일러스터들의 포트폴리오나 명함이나 이력서용으로 사용되는 블로그가 있을것입니다.

소스코드나 설치법, 세팅법 같은 잊어먹지 않기 위한 자료 정리용 블로그가 있을수도 있겠죠.

그리고 데이트 코스, 맛집 리뷰, 상품 리뷰나 좋아하는 영화, 만화, 드라마, 본인의 일기를 적는 일상용 블로그가 있겠죠. 그리고 소소하게 광고비로 어느정도 용돈거리를 삼으려고 하실수도 있겠구요.

회사를 소개하고 홍보할 목적의 기업용 블로그도 있구요. 

상품 판매를 목적으로 블로그샵 또는 블로그 마켓이라 불리는 블로그를 사용하시는 분들도 있을수 있겠죠. 이 같은 경우, 특정 수준이상의 소득이 있다면 통신판매업신고를 해야 하는것으로 알고 있습니다만 그냥 개인거래 식으로 장사를 하는것 같더군요.

저는 처음 블로그를 시작한게 자료 정리용 블로그였는데, 어느 순간 밑천이 드러나 더 적을게 없게 되자 일상 블로그가 되었다가 점점 잡탕 블로그가 되 가는 느낌입니다.


2. 블로그를 선택

[블로그운영노하우정리]블로그(BLOG)란 무엇일까요?

이 앞전에 포스팅을 참고해 보시면 블로그에는 어떤 종류가 있는지 아실겁니다.


우선 크게 두가지로 나눠서 서비스형과 설치형중에 하나를 선택해야겠네요.

1. 서비스형 블로그 vs 설치형 블로그

본인은 어느정도 html 건드릴수 있다. mysql 쿼리정도는 날릴수 있다. 이러시면 사실 설치형 블로그를 선택하셔도 무방합니다.

학교다닐때 컴퓨터시간 학교 수행평가로 내주는 홈페이지 만들기 정도 해보셨고, 제로보드로 게시판 뚝딱 만들어보셨으면 cms를 통해서 관리하기는 쉽습니다.

만약 설치형 블로그를 선택하신다면 호스팅 비용, 도메인 비용이 들겠지요.(설치형 블로그도 도메인을 등록하여 쓰긴 합니다.)

cafe24나 phpschool의 경우는 절약형 호스팅에 경우 월 400~500원 가량 나갑니다.

그외에 제법 트래픽이나 용량이 많은 호스팅을 사신다면 해도 몇천원 안팎에 요금에, 설치비(?)가 들더군요.

phpschool의 프리미엄형을 기준으로 말씀드리자면


하드용량 3G, 일트래픽 5G, DB1개제공, PHP5.2, 5.6,7.0선택가능

메일 10개(30M), 도메인연결 5개, 초기설치비용 5000원, 1개월 사용료 5000원, 12개월 사용료 60000원(2개월 무료 추가)


일단 위와 같습니다. 저렴하고 알차게 제공되고 있네요.

규모가 큰 블로그라면 사실 문제없을거 같습니다. 하지만 매달 몇천원씩, 빠져나가는 호스팅 비용을 감당하기는 버거울수도 있습니다.

그래서 귀차니즘으로 관리 안해줘도 크게 신경쓸꺼없고, 트래픽문제도 없고 디자인도 신경쓸꺼없는 서비스형 블로그를 선택해봅니다.


-국내 서비스형 블로그 : 네이버 블로그, 티스토리, 다음 블로그, 이글루스, 미디어몹, 빙글, 포스타입

-국외 서비스형 블로그 : Blogger,워드프레스 닷컴(wordpress.com),exblog(exblog.jp)(일본),fc2 blog(blog.fc2.com)(일본),Ameba,쥬겜블로그(jugem.jp)(일본),텀블러


더 많은 블로그가 있겠지만 유명한 걸로는 이정도가 있습니다.

국외 서비스형 블로그도 구글 Blogger의 경우는 한글도 잘나옵니다. 워드프레스도 그렇게 못 알아먹을정도로 어렵진 않구요. 하지만 인터페이스가 익숙하지도 않고, 한국인들이 쓰는 네이버 다음에는 잘 검색이 안됩니다.

그래서 국내 서비스형 블로그로 좁혀봅니다.


-네이버블로그

네이버에서 운영하는 국내 최대의 서비스형 블로그입니다. 

2003년 6월, '페이퍼'라는 서비스를 오픈한 게 시초이며, 같은 해 10월 12일에 블로그라는 이름으로 정식 서비스를 시작해 현재까지 내려오고 있습니다. 

언론 보도에 따르면 2009년 6월 기준으로 활동 블로거 숫자가 약 1800만 명에 달한다고 하며, 2016년 4월 네이버 블로그팀의 공식 발표로는 2300만 개의 블로그가 개설되어 있다고 합니다. 

참고로 블로그차트 순위에 존재하는 블로그는 약 1050만 개이며, 이들 중 70% 정도가 네이버 블로그입니다.

문제점이 많이 지적되기도 하지만, 일단은 국내 블로그 업계의 1인자입니다. 

이는 아무래도 네이버가 국내 최대의 포털 사이트인만큼 기존에 축적된 회원의 물량이 매우 많고 네이버 검색을 통한 접근성 또한 용이하기 때문으로 보입니다.

네이버 블로그가 한국에서는 최고의 블로그로 보여집니다.

다만 아쉽게도, 보안상의 이유로 일부 HTML 태그, JavaScript 등등을 사용할 수 없습니다. 

외부 소스 링크에 주로 사용되는 iframe 태그조차 안됩니다. 

네이버 TV캐스트 영상과 유튜브 영상에 대해서만 사용이 가능하고 합니다.

추가로 네이버 블로그에 첨부된 유튜브 동영상은 2015년 말부터 전체화면을 지원하지 못하도록 해둔 상태입니다.

이게 왜 문제인가 하면 개발자들에게는 닫힌 세계라는 느낌을 줍니다. 딱 정형화된 틀에서만 글을 쓰고 남기고 사진을 올릴수가 있지요.

그리고 어느정도 블로그를 하시는 분들은 대부분 에드센스를 다는데, 그게 불가능하다는 뜻입니다.

네이버에서 제공하는 애드포스트가 있지만 뷰 수가 아니라 클릭수로만 수익이 나오고, 광고인지도 모르게 하단에 링크가 있는게 고작입니다.


-티스토리

2006년 5월 개설된 Daum의 서비스형 블로그입니다.

간단히 설명하자면 태터툴즈를 서비스하는 사이트입니다. 

기존 설치형 블로그인 태터툴즈의 최대 난점인 유지비 문제가 없다는 이유로 첫 등장할 당시부터 블로거 사이에서 굉장한 각광을 받았습니다.

초창기에는 태터툴즈의 유명 블로그를 대상으로 초대장을 배포하고, 그 블로거가 지인에게 초대장을 주고…이런 식으로 전달되었기에 초기 포스팅의 70% 이상이 IT 관련 내용으로만 가득 채워지게 된 감이 있었습니다. 

다만 2006년 말부터 개시한 홈페이지 내 초대장 서비스 이후로는 이용층의 다양성이 많이 증가한 편입니다. 


티스토리에 장점으로는

용량 무제한.(인데 일정량 트래픽이 초과하면 해당 파일이 서비스 방해 약관으로 삭제됩니다.)

완전하게 자유로운 스킨 편집이 가능합니다.

구글 애드센스 삽입이 가능합니다. 

참고로 이글루스는 가입 약관 때문에 불가능했다가 지금은 가능하다고 합니다.

2차 도메인을 간편하게 설정 가능합니다. 단 한글 도메인은 불가능하며. 퓨니코드로 변환해서 넣으면 됩니다.

태터툴즈 기반 블로그끼리는 댓글의 댓글 기능으로 관리자 모드에서 편하게 확인할 수 있습니다. 그 이외에도 태터툴즈 기반이기 때문에 태터툴즈의 플러그인과 호환이 가능하다는 점. 그러나 플러그인의 추가는 불가능하기 때문에, 이 점 하나로 태터툴즈로 돌아간 블로거도 많습니다.

한메일을 거쳐서 tistory.com 도메인을 가진 이메일 주소를 만들 수 있습니다. 

포털의 블로그 서비스와 달리 티스토리는 포털에 기반하고 있지 않아서 자체 이메일이 없었는데, 2011년 6월에 한메일과 연동하여서 만들 수 있게 되었습니다.


단 초대장을 받아야 하는 번거로움이 있고, 생각보다 자유도가 높지도 않으며, 네이버 블로그에 비해서 규모가 적습니다.


-다음 블로그

티스토리와 같이 포털 사이트 Daum에서 운영하고 있는 서비스형 블로그입니다. 

다음에서 이미 티스토리를 서비스형 블로그로 운영하고 있지만 특이하게도 다음 자체적으로도 서비스형 블로그를 운영하고 있습니다. 

서비스 년도는 네이버 블로그와 마찬가지로 2000년도 초반입니다만 버림받은건지 다음 측이 티스토리를 인수하면서부터 다음 블로그 서비스 개선이 거의 나아지지 않고 있습니다.


-이글루스

2003년 6월 온네트가 개설하고, SK커뮤니케이션즈에서 운영했다 재분사를 거쳐 이스트소프트 산하의 줌인터넷이 운영하는 대한민국의 대표적인 서비스형 블로그입니다.

이글루스에는 IT 분야 (IT 밸리), 역사 분야(역사 밸리), 그리고 현역 판타지/무협 작가들을 포함하여 나름 인터넷에서 이름 날리는 사람들이 많이 모여있으며, 자신의 직업이 주로 작성하는 포스팅의 대상이 되는 분야에 종사하는 사람들 즉 전문가들이 많이 거주합니다.

이글루스는 올블로그와 같은 외부 메타블로그 서비스의 도움 없이도 자체적으로 하나의 온전한 블로고스피어를 형성하고 있습니다. 

그러나 떡밥의 자급자족이 가능하다는 '연못 생태계'의 특징은 커뮤니티의 분위기를 다소 폐쇄적으로 만드는 측면이 있어서 편협하고 자기도취적인 '그들만의 리그'가 구축되었다는 지적도 종종 들어옵니다.


다른 블로그들도 다 사용하시는 분들도 많고, 장단점이 많습니다. 그리고 이글루스나 네이버에서도 블로그를 한번씩 만들어서 써본적도 있구요.


저는 호스팅 문제와 한국에서의 검색노출, 에드센스, 자유로운 html 편집을 위해서 티스토리를 선택하였습니다.

Posted by Joseph514
IT이야기/입코딩2017. 5. 19. 10:02

-풀스택개발자(full-stack-developer)란 무엇일까요?

인터넷에서 개발자 커뮤니티에 글을 보거나, 구직란을 보면 full-stack-developer라는 표현이 있더군요.

한국에 잡코리아나 사람인에 보면 그냥 자바 개발자, php 개발자 이런식으로 몇년차 이렇게 된게 고작인데, 

유독 해외에 취업을 목적으로 링크드인이나 인디드 같은 구인구직 사이트에서 개발자 항목을 봐도 자주 보입니다.

풀 스택 개발자라니?

제 개발세발 영어로 해석해 보자면 모든것(Full)을 쌓은(Stack) 개발자(developer)라는 뜻이 아닐까합니다.

Stack overflow 등에서 쓰이는 Stack이 (깔끔하게 정돈하여) 쌓다[포개다]; 쌓이다, 포개지다. 이런 뜻이니깐요.

okjsp나 그외 유명한 커뮤니티에서도 이런거다 정도만 사람들이 이야기 하지, 위키피디아에 등제되 있지는 않군요.

개발자로 오래 종사하신 분들의 이야기를 들어보면 다양한 견해가 많은데요.

간단히 정리하면 백엔드, 프론트 엔드 다 건드릴수 있는개발자다?!

정도로 보이기도 하고, 처음부터 끝까지 홈페이지 하나를 뚝딱 만들 수 잇는 개발자이겠군요.

한국말로 번역했을 때 범용적인 개발자인지 전천후(어떠한 기상 조건에도 제 기능을 다할 수 있음)개발자 정도로 번역하더군요.

너무 없어 보이는 설명인데, 일단 구글링해서 풀스택 개발자에 대한 정의를 내린 사이트 두개 참고하여 구체적으로 풀 스택 개발자라 칭할 수 있는 자들이 가지는 소양으로 어떤 것들이 있는지 정리해보았습니다. 하나는 sitepoint이라는 사이트고 하나는 laurencegellert입니다.


sitepoint

원문보기

사이트 소개를 하자면 1999 년 Mark Harbottle과 Matt Mickiewicz에 의해 설립되었다고 합니다..

개발자, 디자이너, 프로그래머, 제품 제작자 및 기업가와 같은 웹 전문가가 웹 전문가를 대상한 사이트입니다.


추상적으로 어떤거다 라고 하지 않고, 정확히 어떤 프로그램을 어떻게 다루라고 언급하고 있군요.


전체 스택 개발자가 필요로하는 주요 기술 스택을 세분화하고 분류했습니다.

-System administration(시스템 관리):

1.Linux and basic shell scripting(Linux 및 기본 셸 스크립팅)

2.Cloud computing: Amazon, Rackspace, etc.(클라우드 컴퓨팅 : Amazon, Rackspace 등)

3.Background processing: Gearman, Redis(백그라운드 처리 : Gearman, Redis)

4.Search: Elasticsearch, Sphinx, Solr(검색 : Elasticsearch, Sphinx, Solr)

5.Caching: Varnish, Memcached, APC / OpCache(캐싱 : Varnish, Memcached, APC / OpCache)

6.Monitoring: Nagios(모니터링 : Nagios)

-Web development tools:

1.Version control: Git, Mercurial, SVN(버전 관리 : Git, Mercurial, SVN)

2.Virtualization: VirtualBox, Vagrant, Docker(가상화 : VirtualBox, Vagrant, Docker)

-Back-end tech:

1.Web servers: Apache, Nginx(웹 서버 : Apache, Nginx)

2.Programming language: PHP, NodeJS, Ruby(프로그래밍 언어 : PHP, NodeJS, Ruby)

3.Database: MySQL, MongoDB, Cassandra, Redis, SQL / JSON in general (데이터베이스 : MySQL, MongoDB, Cassandra, Redis, SQL / JSON)

-Front-end tech:

1.HTML / HTML5: Semantic web(HTML / HTML5 : 시맨틱 웹)

2.CSS / CSS3: LESS, SASS, Media Queries(CSS / CSS3 : LESS, SASS, 미디어 쿼리)

3.JavaScript: jQuery, AngularJS, Knockout, etc.(JavaScript : jQuery, AngularJS, Knockout 등)

4.Compatibility quirks across browsers(브라우저 간 호환성 문제)

5.Responsive design(반응형 디자인)

6.AJAX, JSON, XML, WebSocket

-Design:

1.Converting website design into front-end code(웹 사이트 디자인을 프런트 엔드 코드로 변환)

2.UI

3.UX

-mobile technologies.

1.iOS

2.Android

3.Hybrid: PhoneGap, Appcelerator

전체 스택 개발자가되는 것이 더 좋습니까?

풀 스택 개발자 란 신기술에 대한 열린 마음, 각각의 손을 더럽 히고 웹 응용 프로그램이 컨셉에서 완제품에 이르기까지 어떻게 완성되는지를 이해하는 것을 의미합니다.

"풀 스택 개발자 (full-stack developer)"라는 아이디어는 전문화가 이유가 있기 때문에 가능할 수 있는 모든 기술에 능통하지는 않습니다. 위의 각 영역에 대해 이해하고, 팀 구성원 간에 지능적으로 의사 소통하며, 상황에 따라 적절한 자산이 될 수 있도록 하는 것이 중요합니다.

풀 스택 개발자는 미래의 웹 개발에서 점점 더 중요한 역할을 담당하게 될 것입니다. 특히 개발 작업과 같은 개발 방법이 코드 개발을 담당하는 코드 개발자와 관리자 사이의 라인 인 소프트웨어 개발 회사의 필수 구성 요소가 될 때 더욱 그렇습니다 매일 설치 프로그램이 점점 더 가늘어지고 있습니다.

원문

Is it better to be a full-stack developer?

Being a full-stack developer means to have an open mind towards new technologies, having your hands dirty in each one and to have an understanding of how a web application gets done from a concept to design to the finished product.

The idea of a “full-stack developer” isn’t about being fluent in every possible technology there is, because specialization exists for a reason. It’s more about having an understanding in each of the areas above, to communicate intelligently between team members and to be a good asset if the situation needs it.

The full-stack developer will have an increasingly important role in the web development of the future, especially when development methods such as DevOps are becoming an essential part of software development companies, where the line between code developers and administrators who are responsible for code deployment and setup is getting thinner each day.

자 이중에서 제가 할줄아는게 뭐가 있는지 체크해봅시다.


리눅스 쉘스크립팅 언어, 클라우딩 컴퓨터(아마존 웹서버), 버전관리(cvs, svn, git), 가상화(virtualBox), 웹서버(Apache), 프로그래밍 언어(PHP, nodejs, java), 데이터베이스(Mysql, MongoDB, Oracle, Mssql)

시멘틱 웹(HTML, HTML5), CSS, javascript, Jquery, AngualrJS, AJAX, JSON, XML, Android, Hybrid Application 요정도 건드려봤네요.


나름 이것저것 건드려 봤다고 생각했지만 한 70%정도 밖에 만족을 못 시키는군요.

아쉽게도 저는 풀 스텍 개발자는 아닌가 봅니다. 


laurencegellert

원문보기

사이트를 소개하자면 미국 오리건 주 포틀랜드에 거주하는 소프트웨어 개발자인 Laurence Gellert의 웹 사이트입니다.

이 사이트의 글을 참고해 봅니다.

원문

Probably not, but Facebook can ask for it. I was told at OSCON by a Facebook employee that they only hire ‘Full Stack’ developers.  Well, what does that mean?

To me, a Full Stack Developer is someone with familiarity in each layer, if not mastery in many and a genuine interest in all software technology.

이게 뭔 말인가 하니, 페이스북(Facebook) 직원은 풀스택 개발자만 고용한다고 합니다.

풀스택 개발자는 모든 소프트웨어 기술에 대해 많은 지식과 진정한 관심을 가진 각 계층에 익숙한 사람입니다. 라고 정의하고 있군요.

layers of the full stack:

1. Server, Network, and Hosting Environment.(서버, 네트워크 및 호스팅 환경)

2. Data Modeling(데이터 모델링)

3. Business Logic(비즈니스 로직)

4. API layer / Action Layer / MVC(API 계층 / 액션 계층 / MVC)

5. User Interface(사용자 인터페이스)

6. User Experience(사용자 경험)

7. Understanding what the customer and the business need.(고객과 비즈니스에 필요한 것을 이해합니다.)

아마존에서 AWS 공짜로 1년치 사용하면서 리눅스 서버에 푸티로 접속해서 공부해 나갔습니다만 그것도 귀찮아서 안건드리고 있네요. 처음부터 끝까지 사이트 하나를 오픈할수 있어야 혼자 아르바이트를 하든 용돈벌이를 하든 하지 않을까 합니다.

나이 지긋하신 차장급 이상 개발자들은 한 우물을 파라고, java만 진득히 하다 보면, 다른 것들도 알게 될꺼라고 이야기하는 사람들도 있더군요. 

사실 한국 SI에서는 java만 해도 몇년을 먹고 살았고 앞으로도 먹고 살 수 있으니깐요.

어설프게 헛바람들 듯 트랜드 따라간다고 건드리고 제대로 못 배우는 것 보다는 한 언어를 좀더 깊이 있게 배울 시간도 모자를 수도 있구요.

목표로 저는 풀 스택 개발자를 목표로 공부해 나가 보고 싶습니다.


Posted by Joseph514