img 태그의 주소 값으로 # 은 사용해서 안된다.

제목에 나온대로 img 태그의 src 값으로 #은 입력 하면 안된다. 왜 안되는지 결론부터 이야기 하면 서버에서 해당 페이지를 여러번 호출 하기 때문이다. 사용자가 보는 화면에서는 분명 페이지가 한번만 열린걸로 보이지만 실제 아파치 로그를 보면 해당 페이지가 한번더 호출 된다. 이 사실은 개발중인 사이트의 쿼리문을 로그로 찍어서 확인하다 2번씩 로그가 찍히는 것을 발견하고 그 원인으로 해결 하려다 알게 된 것이다. 처음에는 어디선가 쿼리 실행 메소드를 2번 호출 하는거라 생각하고 xDebug를 이용해서 코드를 추적 하였다. 추척 결과 특정 메소드의 중복 호출이 아닌 페이지 전체가 다시 읽어 들이고 있는 것을 확인하였다. 브라우저에서 2번씩 호출을 하는 것인지 확인하려고 크롬의 개발자툴을 열고 Network 탭에서 확인을 Continue reading img 태그의 주소 값으로 # 은 사용해서 안된다.

64bit 운영체제의 VirtualBox에서 32bit GuestOS만 설치 가능 할 때

VirtualBox를 64bit 운영체제에 설치 하고 사용하면 당연히 Guest OS도 64bit 운영체제를 사용 할 수 있어야 한다. 그런데 그러지 못하고 32bit만 설치 가능하도록 나오는 경우가 종종 있다. 해결을 위해 인터넷을 검색 해보면 다들 BIOS 설정에서 가상화기술을 켜라고만 한다. 심지어 어떤 블로그에서는 해당 기능을 키고 컴퓨터를 잠시 5분정도 껐다가 다시 키면 된다고 한다. BIOS에서는 분명 가상화 관련 기술들(VT-x, VT-d, Intel Virtualization Techonlogy 등등..)은 다 활성화 했고 5분있다가 다시 켜라고 해서 5분뒤에도 켜봤다. 하지만 그래도 32bit 목록만 나오는 문제는 반복된다. 이런경우 가상화기술인 Hyper-V 기능을 윈도우나 아니면 다른 프로그램에서 사용하고 있는지 확인 해볼 필요가 있다. 본인의 경우 윈도우10을 사용하고 있는데 윈도우에서 Hyper-V 기능을 사용하고 Continue reading 64bit 운영체제의 VirtualBox에서 32bit GuestOS만 설치 가능 할 때

ubuntu에서 cron이 정상 작동하지 않을 경우

우분투에서 crontab 으로 shell script 를 등록하였는데 정상작동 하지 않아 그 원인을 찾기 위해 알아본 방법을 정리 한다. 우분투에서는 /var/log/cron 폴더에 cron 로그가 생기지 않는다. 대신에 /var/log/syslog 로그에 cron 실행에 대한 부분이 남는다. 정상적으로 등록된 스크립트가 작동되면 아래와 같이 실행 결과가 남는다. 만약 실행 중 문제가 발생 한다면 해당 스크립트 하단에 메시지가 출력된다. 아래 와 같다. 위 No MTA installed, discarding output 에러는 crontest.sh 파일과는 관련 없는 에러이다. 하지만 이 에러로 인하여 cron 전체가 정상적으로 작동 하지 않았다. 해당 문제는 postfix 를 설치 하면 해결된다. $ sudo apt-get install postfix postfix 라는 놈은 메일을 발송하기 위한 프로그램인데 정확하게 무엇을 하는것인지는 Continue reading ubuntu에서 cron이 정상 작동하지 않을 경우

phpStrom 에서 DBGP Proxy를 이용하여 Xdebug 사용하기

본 문서는 1대의 개발서버를 이용하여 다수의 개발자가 xDebug를 사용가능하게 하기 위한 DBGP Proxy 세팅 문서입니다. 개발 서버와 개발자의 컴퓨터가 동일한 서브넷 안에 있을 경우 DBGP Proxy를 이용하지 않고도 사용할 수 있는 방법이 있습니다. 본문서는 외부의 개발서버가 위치하고 개발자들의 PC는 동일한 서브넷(공유기)에 위치 하는 조건에서 시작합니다. 개발서버에 xdebug 모듈을 설치 하고(PHP버전과 맞아야함) 아래와 같이 xdebug 설정을 진행합니다. zend_extension=/usr/lib64/php/5.5/modules/xdebug.so #이부분은 본인의 환경에 맞도록 놔두면됨 ; see http://xdebug.org/docs/all_settings xdebug.remote_enable=1 xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 xdebug.idekey=”PHPSTORM” 위설정은 xdebug의 remote 세팅을 추가 해준 겁니다. 보통 개발서버와 개발자가 1:1 이라고 하면 위 설정에서 remote_host, remote_port, idekey 값만 자신의 환경에 마춰 세팅하고 사용하면 됩니다. 하지만 여기서는 DBGPProxy 를 통하여 사용할 Continue reading phpStrom 에서 DBGP Proxy를 이용하여 Xdebug 사용하기

설치할 필요가 없는 가상CD 에뮬레이터 winCDEmu

갈수록 가상CD의 사용률이 줄어 들고 있는 요즘 프로그램 설치를 위해 또다른 프로그램을 설치 해야 한다는 것에서 많은 부담을 느끼고 있다. 또한 무료 프로그램인 데몬툴은 점점더 광고에 도배 되어 가는 느낌에다 왠지 설치 하면 악성프로그램들이 마구 깔릴꺼 같은 느낌 마져 들게 한다. 그래서 설치하지 않고도 사용 가능한 프로그램을 찾다 알게된 가상CD 에뮬레이터 winCDEmu 을 소개 한다. 포터블 답게 실행파일은 단 하나! 실행하면 가상씨디 구동을 위한 드라이버를 설치 한다고 물어 보는데 예(Y)를 클릭해서 넘어가면 된다. 이 드라이버도 위에 보이는 화면에서 Uninstall driver 를 이용해서 삭제 할 수 있다. 별다른 설치가 필요 없이 바로 실행해서 사용 할 수 있고 용량 또한 매우 작다. Continue reading 설치할 필요가 없는 가상CD 에뮬레이터 winCDEmu