2016년 8월 19일 금요일

Mobile web page 지원 안 하기

jQuery를 사용하는데 모바일 페이지를 제공하고 싶지 않았다. 워드프레스 써도 모바일 때문에 텍스트 배치를 계속 신경 써야 했기에 모바일용 웹은 신경 쓰지 않기로 했었었다. 잉여로운 시간이 많으면 신경 쓰기로...

<html>
<head>
<meta charset="utf-8">
</head>
<body>
모바일 버전은 지원하지 않습니다.
</body>
</html>

이렇게 페이지를 만든다. nmobile.html이다. 본래는 !mobile.html로 하고 싶었다.

<html>
<head>
<meta charset="utf-8">
<script type="text/javascript">
var isMobile = false; 
if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) 
    || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))) isMobile = true;
if(isMobile) {
alert('모바일 버전은 지원하지 않습니다.');
document.location = "http://hajunho.com/owner/nmobile.html";
}
</script>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js">
</script>
</head>

stackOverflow에 필터링 관련 좋은 예제가 있어서 head 부분에 적용했다.

자주 쓸 것 같아서 남겨 둔다.

IT 강의 세미나 멘토링(과외)

IT 는 Information Technology 의 약자이다. ICT(Information and Communications Technology) 를 포함한다.

정보 기술을 가르쳐 주지만 강의, 세미나, 과외에도 비용이 발생한다.

가장 선호하는 것은 멘토링이다. 과외라고 할 수 도 있다. 차이점은 비용의 차이 정도랄까? 멘토링은 재능 기부와 유의어로 멘티가 비용 지불을 안하는 것이 통념이다. 과외에서는 모든 것을 말해 줄 수 있다. 어떤 조직이던 사회적으로 절대적 기준보다 남보다 조금 더 잘하는 것이 기준인 경우가 많다. 대기업에서 상층부를 구성하는 있는 사람들 중에 노벨상, 필즈상 수상자가 없는 것과 크게 다르지 않다. 남들보다 낫기 위해서 정보의 폐쇄가 일어난다. 작은 정보가 방향을 결정하기에 결론적으로 멀리 가서 보면 커다란 차이가 난다.
 모든 것을 이야기 할 수 있는 과외. 안다는 것을 상대방에게 전달하기가 쉬운 일이 아니다. 과외의 경우 상대방의 입장을 케바케(Case by Case)로 고려할 수 있기에 가장 효과적이다.

나의 경우 세미나는 영화에 비유하고 강의의 경우 드라마에 비유한다.

세미나는 짧은 시간안에 하나의 완결된 메시지를 담고 있어야 한다.
강의의 경우 다음 강의가 궁금해지도록 끊는 것이 포인트다.

둘 다 별로 선호하지 않지만 돈을 벌기 위해 하는 경우가 많다. 왜냐면 강의, 세미나는 온라인을 통해서 많이 퍼져 나가기 때문에 수년간 경험으로 터득한 비법을 단 몇십분안에 풀어가는데 와전되는 경우가 많다. 수많은 이론가들에게 이론적으로 혹평을 당하기도 한다.

예를 들어 나름대로 높은 산에 올랐다가 무사히 하산해서 마음 속에 큰 산을 담고, 중간중간 알아야할 경험들을 많이 배워서 가르쳐 주려고 하는데, 에베레스트에 비교하고 엄홍길 같은 등반가와 비교를 한다거나 하는 식이다. 꼭 큐브 대회에서 1등한 사람이 큐브를 가르쳐 줄 수 있는 것은 아니다. 구글 코드잼에서 10등 안에 든  사람만 알고리즘을 가르쳐 줄 수 있다고 하면 우리나라에 알고리즘을 가르쳐 줄 수 있는 사람은 아무도 없다.

청중도 문제이다. 자신이 부족하기에 세미나나 강의를 들으면서 자신은 잊고 평가자가 되기도 한다. 청중의 5% 가 꼭 그렇다. 5% 이긴 하지만 큰 스트레스 이기에 오로지 돈 때문에 강의나 세미나를 한다. 20대 때에는 그렇지 않았다. 5%의 싫은 청중이 있다고 해도 배움에 목마른 파릇파릇 눈망울들을 보면 박봉이지만 열정을 불태울 때도 있었다.

지금은 그렇지 않고, 내가 틀렸다. 그래서 젊은 시니어들이 많이 나와서 우리나라를 이끌 어린 친구들에게 많은 것을 가르쳐 줬으면 한다.

세미나는 완결된 주제를 담고 있어야 하고,
강의는 다음편이 기대될만큼 재미있어야 한다. 끊기를 잘해서 궁금하게 하는 것도 방법이다.
과외(private lesson), 멘토링은 소수의 사람에게 하는 만큼 알짜 정보를 많이 줘야 한다.

정리하면 이렇다.

무제한 개인 클라우드는 없습니다.

클라우드라고 하면 회사를 생각하게 됩니다.
구글, 아마존, 드랍박스, 마이크로소프트가 그 예 입니다.

business version, unlimit 이라고 불리는 것들을 써 봤지만 다 거짓 입니다. 무제한 용량은 아니고 일정 용량 늘어나면 확장해 주는 방식으로 내부는 구현되어 있습니다. 정말 무제한 이라면 왜 DB를 샤딩하고 샤딩이 안되는 NoSQL은 여러개의 노드를 두는 것일까요?

얼리어답터로 각 서비스들의 언리밋 또는 비지니스 버전을 써 본 결과 대용량 자료는 외장 하드 디스크를 다분할 하던지. 아는 사람에게 보관해 달라고 이중 백업을 하는 것이 더 낫다는 결론에 이르렀습니다. 데이터 센터가 번개 맞아서 데이터 유실이 있었던 구글처럼. 다른 지역에로의 전파가 없는 이상 무조건 믿는 것은 잘못되었다고 판단된 것이 첫번째 이유 입니다. 그리고 언리밋 비용은 싸지 않습니다. 하드 디스크 수명이 3~5년 정도 된다고 생각해보면요. 그리고 언리밋이라고 하는데 3TB 가 넘어가면 싱크 속도가 너무 느립니다. 500Gb sync 하는데 일주일이 걸립니다. 이것도 네트워크 비용이 비싸기 때문에 어쩔 수 없는 부분입니다.

클라우드는 협업, 혹은 서비스용으로 써야 합니다. 유럽 쪽 로그만 받는 아마존 서비스 이용시 월 250만원 정도 냈었습니다. 그래야 클라우드도 장사가 되겠지요. 월 5천원 내는 서비스로는 감당이 안 될 것 입니다. 그러니 무제한으로 광고해서 고객을 잡은 다음.

속도를 늦추거나,
마음대로 지울 수 있다는 약관으로 데이터를 지워 버리거나

합니다. 개인 클라우드 시장은 글로벌 최강자가 나올 수 없는 구조 입니다. 이에, 로컬 사업자 분들이 많이 참여하셨으면 합니다.

드랍박스가 싱크률, 성능이 뛰어나나 1TB가 한계이고 또 그만큼 비쌉니다. 그 돈으로 매년 외장 하드 디스크를 사서 백업하는 것이 나아 보입니다. 원격 Sync의 경우 bittorrent 만큼 빠르지도 않거든요.

아마존의 경우 1TB가 넘어가면 급격히 느려지기 시작합니다. 그리고 저작권 자료를 마음대로 지울 수 있다는 약관을 보면, 사용자에게 자료를 빼가는 역할을 하려는 인식을 줍니다. 세상의 모든 자료를 보관할테니 우리가 존재할 이유가 있다. 는 식의.

이럴거면 구글을 쓰는 것이 낫습니다. 물론, 3TB 부터 엄청난 에러를 만나게 되지만 1~2TB에서 개인 자료는 잘 정리를 하게되면 동영상의 경우 youtube 기술로 플레이 해 주고, google의 파워풀한 검색 서비스를 이용하도록 해줍니다. 문서나 파워포인트, 엑셀도 바로 편집이 가능하며 다중 작업에 유리합니다. 구글 행아웃까지 고려한다면 결국 남길 수 밖에 없는 서비스 입니다.

마이크로소프트는 애플과 같이 사생활 보호에 가장 적극적이기에 개인적으로 좋아하지만 드랍박스와 비슷한 입장입니다. 비지니스로는 이용하나 개인 드라이브로는 적합치 못하다는 생각입니다. 애플의 iCloud도 결국 가격 때문에 포기 했었는데 onedirve도 같은 이유 입니다.

가격이 무조건 비싸다는 뜻은 아닙니다. 외장 하드 디스크보다 비싸다는 뜻이지요. 사진 유실이 두려워서 무제한 데이터에 수시로 백업을 했었지만, 시간 날 때 bitsync나 iTunes를 이용해서 한번에 백업, 안드로이드의 경우도 마찬 가지 방식이 더 낫다고 판단됩니다. 사진이 쌓여 1TB가 넘어가면 사실 정리할 시간도 없는데 한꺼번에 백업 하는 것이 더 낫다는 의견 입니다.

개인적으로는 소프트웨어 산업에 쓰는 돈은 아깝지 않아서 모든 클라우드를 이용하고 있습니다. 애플도 최근 까지 유료 버전을 썼었구요. 그러나 개인 클라우드 무제한의 거짓과 그렇게 밖에 할 수 없는 마케팅을 이해하고 , 네트워크 트레픽 제한으로 불편을 겪고 나서는 구글을 제외하고 모두 정리하기로 했습니다. 덕분에 9월에 결재해야할 년간 요금으로 3TB 외장 하드디스크를 매년 구입할 수 있게 되었습니다. 구입 할 수 있는 하드 디스크 용량은 조금씩 늘어나겠지요.

데스크탑에서 쓰는 10TB 용량의 비지니스 자료들은 클라우드로도 백업 못합니다. 유실되면 유실되는대로 놔둘 수 있는게 기술 트렌드도 계속해서 바뀌기 때문입니다. 큰 쇼핑몰 자료들 소스도 새로운 기술로 바꾸는 것이 더 비용이 많이 들기 때문에 지나간 자료들도 필요 없게 되어 버립니다. 디자인 자료도 트렌드를 지나 버려서 필요 없게 되어 버립니다.

설사 필요하다고 해도 그것들을 다 볼 물리적 시간이 점점 없어집니다. ^^

구글 클라우드 파일 100만개 넘어가니 3일동안 실패하는군요.
에러 메시지 창도 6개월 전과 다름이 없습니다. Sync 기술 어렵지요. 그러나 시작 전 환경 설정에 selective folder만 sync토록 했는데 굳이 전체 drive 파일을 검색할 필요는 없을텐데 말이죠. Amazon이 해당 부분을 해결 했지만, 제가 볼 때는 일부러 다운되게 해서 편하게 못 쓰게 하려는 속셈인 것 같습니다. 웹으로 하나씩 올리게 하려구요.

아이디어를 하나 내자면,
은행에서는 부업으로 어느 정도의 공간을 할애하여 외장 하드 디스크 보관소를 만들면 좋을 것 같습니다.

저 역시 SW 회사 인력이지만, 플랫폼 하나 만들어 두고 편하게 돈 버는 회사 보다는 물리적으로 제품을 생산해 내는 회사를 더 선호하기 때문입니다.

일한자가 돈을 벌어야 합니다. 물리적 제품 생산은 노력을 측정하기가 눈에 보이지 않는 것을 만드는 것보다 수월합니다.

bootcamp 지우기

맥북 프로 레티나 터치바 diskutility 에서 bootcamp 파티션 삭제하면 검은색에서 회색으로 바뀐다(APFS로 지정) 파틴션 아이콘 클릭하여 - 버튼을 이용하여 삭제하면 끝.