본문으로 바로가기

4일간의 삽질

category IT 2012. 4. 20. 22:32
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

php foreach 문에서 insert 가 두번 되는 현상때문에 3일간의 날샘끝에 4일째되는 오늘 드디어 해결했다. 젠장~~~ 항상 그렇듯이 원인은 너무나 단순한데 있었다.

주로 크롬에서 개발하는지라 크롬확장 프로그램중 firephp 라는 디버깅 도구가 있는데 이놈 때문이었다. ㅡ.ㅡ

원래 firephp는 그 유명한 파이어폭스의 firebug를 흉내낸 php 디버깅 툴인데 불여시에서는 잘됐는데 크롬용 firephp에는 뭔가 내가 모르는 비밀이 있나보다. 시간도 없고 피곤해서 삽질은 그만 할련다.ㅡ.ㅡ

삽질끝에 뭔가 해결되면 보통은(70%정도) 피곤하긴 해도 성취감이 있기 마련인데 이런 경우는 피곤이 가중되는 나머지 30%에 해당한다. 바로 '허무함...'

 

※ 간단히 삽질과정을 요약하자면..

- 우선 로직이상인가 하고 코어 클래스를 비롯한 모든 로직을 둘러보았다. 잘 작동되던 놈이라서 특별한 이상은 없을텐데 하는 생각이었지만 아무튼 다시 살펴보았지만 역시나 정상이었다.

- 다음은 아파치나 PHP, MySQL 등 버전 문제인가 해서 rpm, dpkg, 소스설치 등등 갖은 방법을 동원해서 각종 버전을 모두 지웠다 깔았다를 반복... 그래도 변화 無

- 운영체제도 원래 CentOS 5.5 였는데 6.0으로 바꿔보고 SuLinux와 Ubuntu도 테스트하고... 급기야 윈도우에서 AutoSet6, xampp 등 설치하고 로컬에서 테스트.. 마지막엔 IIS+php6으로 테스트.. 절대 변화 없음...ㅡ.ㅡ

- 다시 소스로 돌아가서 Pear 문제인가 해서 .. 원래 DB 패키지 사용했는데 MDB, MDB2 로 변환.. 그래도 안됨.. pdo로 변환 해봐도 안됨.. 그냥 mysql_connect, mysql_pconnect, mysqli_connect 등 테스트 해봐도 역시나 마찬가지...

- foreach 안의 continue, break에 내가 모르는 비밀이 있나 해서 for나 while로 변환해서 테스트해봐도 역시 마찬가지

- 이번엔 MySQL문제인가 해서 InnoDB였는데 외래키, 트리거 제거하고 MyISAM으로 엔진 변경 후 테스트해봤는데 변화없음.

- 이 무렵엔 잠시 대전 출장갔다와서 머리 식히고 비몽사몽 운전하고 내려와서 다시 날새고 삽질함~~ㅡ.ㅡ 구글과 씨름하며 난데없이 영어공부 시작ㅋ

- Zend Studio 에서 Xdebug 테스트 후 함수, 변수 트래킹 시도.. PHP 내장 함수 및 Pear 클래스까지 샅샅이 훑음.. 모니터 뚫어져라 쳐다봐서 눈물은 글썽글썽... 짜증은 이빠이...

- 우연치않게 인터넷익스플로러로 시도 해봤는데 이건 뭥미~~ 엄청 잘됨... 

- 혹시나 해서 불여시랑 싸파리로 해봤는데 잘됨.. 헉~~ 이런된장... 이건 아니쥐.... 이때부터 패닉...

- 크롬에서만 foreach 구문안에서 인서트하면 레코드가 중복되서 들어가는거임..ㅡㅡ;;;;;;

- 놋북에서 svn 리파지토리에서 코드업데이트 받아서 실행해봤더니 크롬, 익스, 파폭 모두 너무나 잘되는 거임..ㅡㅡ; 다른컴에서도 아예 잘됨~~~

- 아~~~ 내 크롬에 뭔 문제가???? 

- 확장 프로그램 다 비활성화 해보니 잘됨.. 하나씩 테스트 해봤는데 결국 firephp 활성화했을때만 안됨.....

- 실신 직전이었는데 정말 허탈해서 한동안 잠도 안오고 멍했다가.. 잠시후 분노게이지 상승.. 결국엔 이렇게 소설을 써서라도 이 공황상태를 벗어나야겠다는 생각이 들어 미친듯 자판을 두드리고 있음....ㅠ.ㅠ

 

'IT' 카테고리의 다른 글

PC용 크롬을 아이폰 브라우저로 만들기  (0) 2012.06.12