code craft:뛰어난 코드 작성을 위한 실천 지침


'코드를 깔끔하게 코딩할려면' 대해서 고민하다가 구입한 이 책.



내가 회사에서 하고 있는 주로 refactory나 약간의 기능 추가가 다 인셈이라 예외처리를 추가할 때면 기존 document가 쓰레기가 되어 쓰레기통으로 가야 하지만, 현실적으로 힘들다는 것을 느낀다.


아직 다 읽지 못해서 이 책에 대해서 자세하게 설명을 하지는 못하지만.


그 동안 읽은 곳 중 몇 가지를 이야기 하자면,

  • 한 사무실에서 여러 인원이 같은 프로젝트에 투입되었을 때 소스 관리의 효율성을 이야기
  • 괄호 ( { ) 형태의 방식 처리로 팀내에서 표준을 만들고, 그것을 팀원간 공유해야 된다는 이야기
  • 변수명은 너무 길어도 너무 짧아도 안되며, 변수명을 value 등과 같이 짓는 것은 이 변수명의 의미를 모호하게 지으므로써 다른 사람은 모를 수 있다는 이야기


아직 반도 못 읽어서 이 정만 이야기 할 수 있다.


조금씩 조금씩 읽어서 진도가 안나가지만, 좋은 책인 것 같다.









PHP에서 텍스트 파일을 load하는 방법은 여러 방법이 있다.



그 중에서 file_get_contents를 사용했지만 값이 정상적이지 않게 배열로 들어 가는 것을 발견




&text_1=111&&text_2=111&&text_3=111&&text_4=111&&text_5=111&&text_6=111&&text_7=111&
&text_8=1111&&text_9=222&&text_10=222&&text_11=222&&text_12=222&



  1. $file = file_get_contents('./textfile.txt', true);
  2. $convert = explode("&&", $file);


첫번째줄 개행 때문에 explode가 제대로 안된다. ㅠㅠ

지금에와서 text file 형태를 수정할수도 없는 노릇이고....



방법은........


$convert2 = preg_split('/[s]*[&][s]*/', $file);


배열원소가 하나씩 밀려나긴 하지만, 이 방법을 택하기로 했다.


지인이 추천해준 방법은 한줄씩 불러 오는 방법을 추천했다.

다음에는 이 방법을 쓰든가 해야 겠다.










  1. if(getenv(QUERY_STRING)){
  2.         $gquery = "?".getenv(QUERY_STRING);
  3. }else{
  4.         $gquery = "";
  5. }
  6. $now_url = urlencode("http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].$gquery);



출처 : 어느 블로그인지 잊어 버렸어요.






HEAD FIRST PHP&MYSQL



(사진 발췌 : yes24)



언제나 그렇듯이 Head First 시리즈는 스토리 기법으로 독자가 심심하지 않게 기초부터 설명을 합니다. 초보자에게는 이 설명법이 좋지만, 그 중급 이상이 된다면, 지루하게 느껴지는 설명 방법입니다. 하지만, 저는 잘 모르는 부분만 봤습니다. ^^*


모르고 있었던 내장 함수에 대한 설명은 참 좋았습니다.







4년전인가 5년전인가부터 사용을 했었으나 작년부터 회사에서 본격적으로 컴퓨터를 켜면 항상 실행하는 IDE 개발툴 eclipse!


그 중에서 나는 PHP를 주로 다루니 PDT(PHP Development Tools)를 이용한다.


http://www.eclipse.org/pdt/downloads/ <---이 곳에서 다운을 받을 수 있다.


내가 주로 사용하는 이클립스의 기능은 


  • SVN

  • 파일 비교
    - 가끔 이용하는데, 다른 작업자가 수정을 했다면, 어떤 부분에서 수정을 했는지 눈으로 바로 보여준다.

  • 파일 히스토리 기능
    - 참 유용한 기능인 것 같다. 일반 에디터에서는 백업 파일을 만들어야 하는 불편함이 있지만, 이클립스에서는 백업 파일을 만들지 않아도 기본적으로 save를 하면 자동적으로 저장에 대한 히스토리를 만들며 비교/이전으로 되돌릴 수 있다.

  • 프로젝트 관리

  • 서치 기능
    - 프로젝트에 있는 어떤 구문이나 단어를 검색 할 때 편한 기능





이 외에도 유용한 기능이 있지만, 주로 사용하는 기능은 이렇다.

'tech' 카테고리의 다른 글

eclipse AIR plug in  (0) 2012.05.15
이클립스 plug in 삭제  (0) 2012.05.14
구글 코리아 전화번호  (5) 2012.01.12
natsvc.exe  (0) 2011.05.22
하드 긁는 MsMpEng.exe 프로세스  (0) 2011.05.20




결제 모듈 KCP를 연동하던 중에 테스트하던 결제창에서 잘 되다가 에러가 떴습니다.

해당 php 파일에는 exec를 사용하지 않는데 다른 클래스에서 exec를 사용하는 것 같았습니다.

소스를 잘 못 건드렸나 히스토리를 이전으로 되돌려 봤으나 같은 증상이었습니다.

파일 퍼미션 설정까지도 변경했으나 같은 증상....

알고 보니 서버 관리자분께서 보안 때문에 서버 설정 변경하셔서 갑자기 안되었습니다.

Warning: exec() has been disabled for security reasons in /home1/xxxxxxx.php on line 255

'tech > PHP' 카테고리의 다른 글

현재 URL 구하기  (0) 2012.06.25
open_basedir restriction in effect  (0) 2012.05.23
[PHP] Warning: Cannot modify header information  (0) 2012.03.09
PHP + SQL select box  (0) 2012.02.24
PHP MYSQL DB connect  (0) 2012.02.21







PHP파일을 수정 중에 Warning: Cannot modify header information 오류가 떴습니다.
구글신에서 검색 결과 FTP에서 전송 중에 문제가 있었습니다.

사용하고 있는 FTP에서 패시브 모드를 선택한 뒤 전송하면 에러가 없어집니다.

'tech > PHP' 카테고리의 다른 글

현재 URL 구하기  (0) 2012.06.25
open_basedir restriction in effect  (0) 2012.05.23
Warning: exec() has been disabled for security reasons in ......  (0) 2012.03.22
PHP + SQL select box  (0) 2012.02.24
PHP MYSQL DB connect  (0) 2012.02.21






제목 : 성공적인 웹프로그래밍 PHP와 MYSQL 제4판
지은이 : 루크 웰링, 토라 톰슨
옮긴이 : 류정욱, 김소희

출판사 : 정보문화사

-----------------------

서점에 PHP와 MYSQL에 대한 책은 엄청나게 많습니다. 하지만 실속있는 책은 적다고 봅니다.
이 책은 함수 호출이나 폼변수 다루는 방법, 조건문, 반복문 등 어느 서적에서나 볼 수 있는 내용이 나옵니다.
초보자 책이기 때문에 지나칠 수 있는 배열에 대한 전반적인 함수가 설명되어 있습니다.

초보자 ~ 중급자에게 좋은 책이 아닐까 생각 됩니다.




html의 select box 리스트 내용을 mysql에서 가져와서 selected 값도 select와도 불러오면 좀 더 사용자측면에서 편리함을 제공 할 것이라고 봅니다.



예) 한 게시물의 카테고리를 사용자가 A라고 선택하고 작성했다고 가정.
그 후 게시물을 선택해서 수정 할 때는 그 게시물의 카테고리가 A라고 표시되어야 할 것입니다.

현재 게시물 테이블에 있는 카테고리 name과 전체 카테고리 name을 비교해서 같은 것이 있다면 selected를 print해서 이 게시물이 로딩되자마자 A가 선택으로 보입니다.

'tech > PHP' 카테고리의 다른 글

현재 URL 구하기  (0) 2012.06.25
open_basedir restriction in effect  (0) 2012.05.23
Warning: exec() has been disabled for security reasons in ......  (0) 2012.03.22
[PHP] Warning: Cannot modify header information  (0) 2012.03.09
PHP MYSQL DB connect  (0) 2012.02.21



<?
 $dbconnect = mysql_connect("localhost", "mysql id", "mysql password") or die(mysql_error());
 $mysql = mysql_select_db("db명") or die(mysql_error());
?>

'tech > PHP' 카테고리의 다른 글

현재 URL 구하기  (0) 2012.06.25
open_basedir restriction in effect  (0) 2012.05.23
Warning: exec() has been disabled for security reasons in ......  (0) 2012.03.22
[PHP] Warning: Cannot modify header information  (0) 2012.03.09
PHP + SQL select box  (0) 2012.02.24

+ Recent posts