Translated by The Wild Rose (via darklylolita)
(via ohmyyesgothiclolita)
(via ohmyyesgothiclolita)
오늘 신명나게 삽질하고 타인의 귀중한 시간을 빼앗았다.
약간 급한 버그가 있어서 FileZilla 에서 직접 소스코드를 수정했다. 아무 생각 없이 메모장(notepad.exe)을 사용했고, 그 결과는 처참했다. 서버측이 UTF-8 인코딩을 사용했기 때문에 소스코드는 UTF-8로 열렸고 notepad.exe는… 그렇다, 저장할 때 BOM을 붙인거다.
그런데 이 파일은 대부분의 PHP 소스 코드에서 require_once 하고 있었고, 결과 반환은 echo json_encode(...); 임에도 불구하고 당당하게 반환하는 JSON 형식의 텍스트 앞에 떡하니 붙었다. 그러자 파싱하는 Javascript 쪽에서 갑작스런 BOM의 등장에 적응하지 못하고 에러를 내뿜었다. Firebug 에선 BOM이 있는지 없는지조차 알 수 없어서 몇시간동안 헤메고 테스트 코드를 짜다 응답을 notepad++에 붙여넣기 하니 이상한 괴문자가 보여서 겨우 알아채게 됐다. 아 젠장.
PHP 인터프리터의 동작이 어떤진 모르겠지만 왜 BOM이 붙는지는 아직도 모르겠다. Create post 누르고 검색해야지.
생각해보니 PHP는 그래도 꼴에 템플릿 언어인지라,
<BOM>
<?php
...
?>
이런식으로 소스코드가 작성되면 당연히 알아서 BOM이 붙을 수 밖에 없다. 블럭 안에서 무슨짓을 하던 블럭 밖의 요소에 대해서는 손을 댈 수 없으니까. 아아…
전 사실 주변의 대부분보다 더 정치적입니다. 단지 방향이 다를뿐이죠. 저는 Mozilla Firefox 를 지지합니다.
안드로이드 기반의 제품을 쓰시는 분 중 Mozilla Firefox for Mobile 에 실망하신 분이라면 Beta 혹은 Aurora 빌드를 써 보세요. 특히나 Aurora 빌드는 현재 텍스트 선택기능이 추가되었습니다.
Mobile/Platforms/Android - MozillaWiki https://wiki.mozilla.org/Mobile/Platforms/Android
I found it a hour ago on my web server.
[Sat Jul 09 23:46:23 2011] [error] [client xxx.xxx.xxx.xxx] File does not exist: /var/www/html/transformers.txt
Kidding?
생각보다 많이 별로.
정전식이라 어쩔수 없는거라 생각하긴 하지만 펜을 눕혀서 쓸때 획이 빠지는 경우가 잦음. 그립감은 그냥 그럼.
그냥 Wacom Bamboo Styluspen을 사볼껄 그랬나?
MySQL을 NoSQL로 변신 시켜주는 참한 물건이 나왔다. 나온지 몇 개월 됐다. 현재 추진하고 있는 솔루션에 memcached나 redis를 메모리 캐쉬 서버로 앞에 두고 영성속을 위해 데이터베이스로 MySQL를 쓰려던 참이었는데 시기적절하게 좋은 물건을 만난것 같다. DeNA라는 일본의 소셜 게임회사에서 서비스용으로 현업에 사용하고 있기 때문에 일단은 검증은 되었다고 봐도 무난하다. MongoDB나 CouchDB도 쓰이고 있는 판인데 MySQL은 더 신뢰가 간다. MySQL를 KeyValue 스토리지로 사용하는 트릭도…
일단
도입은 쉬울것 같다.
아, 근데 우리 회사 게임은 DB가 병목이 아니지? oTL