Posted
Filed under 프로그래밍/PHP

str_pad

(PHP 4 >= 4.0.1, PHP 5)

str_pad — 문자열을 지정한 길이가 되도록 다른 문자열로 채웁니다

string str_pad ( string $input , int $pad_length [, string $pad_string [, int $pad_type ]] )

<?php
$input 
= "Alien"
;
echo 
str_pad($input, 10);                      
// "Alien     "을 생성.
echo str_pad($input, 10, "-=", STR_PAD_LEFT);  
// "-=-=-Alien"을 생성.
echo str_pad($input, 10, "_", STR_PAD_BOTH);   
// "__Alien___"을 생성.
echo str_pad($input, 6 , "___");               
// "Alien_"을 생성.
?>


iconv

(PHP 4 >= 4.0.5, PHP 5)

iconv — Convert string to requested character encoding

string iconv ( string $in_charset , string $out_charset , string $str )

<?php
$text 
= "안녕";

echo 
'Original : ', $text, PHP_EOL;
echo 
'TRANSLIT : ', iconv("UTF-8", "EUC-KR//TRANSLIT", $text), PHP_EOL;
echo 
'IGNORE   : ', iconv("UTF-8", "EUC-KR//IGNORE", $text), PHP_EOL;
echo 
'Plain    : ', iconv("UTF-8", "EUC-KR", $text), PHP_EOL;

echo 'Plain    : ', iconv("EUC-KR", "UTF-8", $text), PHP_EOL;


?>

2013/07/05 18:22 2013/07/05 18:22
Posted
Filed under 프로그래밍
기술 면접시 나온 질문하나가 도메인이 다른 원격지의 데이터를 어떻게 가지고 올꺼냐는거였다.
내 대답은 서브도메인을 하나 만들어 제공하거나 데이터를 가지고 오는걸 따로 만들어서 사용하거나 jQuery로 하겠다고했다.

여기서는 jQuery로 원격지 데이터를 가지고 오는 방법을 소개한다. (jsonp)


여기서 jsonp:"list' 는 콜백변수 이다.

get_total에서는 받은 콜백변수를 앞에 반드시 출력해줘야한다.

콜백변수:list변수출력({"totalcount":"123"})



  $.ajax({
   url : "http://www.www.co.kr/get_total",
   type : "POST",
   dataType : "jsonp",
   jsonp:"list",
   data: {
      num: "1"
   },
   success:function(data){
     alert(data.totalcount);
   },
   error: function(e){
    alert("불러오기 오류");
   }
  });

2013/07/04 10:43 2013/07/04 10:43
Posted
Filed under 프로그래밍/PHP

* notice에러 방지
$ret = $arr[var];
-> $ret = $arr['var'];


* notice에러 방지
if ($_POST['var'])
-> if (isset($_POST['var']))


* 남용하면 이해할수 없는 코드가 됨
isset($_POST['var'])? $_POST['var']:NULL;
-> 삼항연산자는 남용하지 않는다.


* 무한루프 방지
for($i=0; $i<$max; $i++) {
-> for($i=0, $max = count($loop); $i<$max; $i++) {


* 메모리 절약
$msg = '안녕하세요';
echo $msg;
-> echo '안녕하세요';


* 에러 방지
echo "안녕 $msg";
-> echo '안녕 '.$msg;


foreach가 빠르다

explode가 빠르다

모든 변수는 선언하지 않은채 사용하면 notice에러가 발생한다.

2013/07/04 10:34 2013/07/04 10:34
Posted
Filed under 프로그래밍

$("#id",opener.document).text("aa");
$("#id",parent.document).text("aa");
2013/07/03 18:50 2013/07/03 18:50
Posted
Filed under 프로그래밍/PHP
개발을 하다보면 설정파일이 필요할때가 있다
프레임웍을 사용하면 자체적으로 별도의 설정파일을 세팅할수 있게 지원하지만 네이티브로 개발할경우
많이 사용하는 방식을 소개한다.

parse_ini_file

설정파일 내용은 기본적으로 php의 ini파일 형태이고
; This is a sample configuration file
; Comments start with ';', as in php.ini

[first_section]
one = 1
five = 5
animal = BIRD

[second_section]
path = "/usr/local/bin"
URL = "http://www.example.com/~username"

[third_section]
phpversion[] = "5.0"
phpversion[] = "5.1"
phpversion[] = "5.2"
phpversion[] = "5.3"

 

사용방법은

<?php
$ini_array = parse_ini_file("sample.ini", true);
echo $ini_array['first_section']['one'];
?>




배열의 형태로 사용한다.
두번째인자의 true는 그룹명까지 결과에 포함하겠냐는거다


ini파일 노출이 껄그러우면 파일을 php로 만들어버리면 된다
 ;<? /*
; This is a sample configuration file
 ; Comments start with ';', as in php.ini

 [first_section]
 one = 1
 five = 5
 animal = BIRD

 [second_section]
 path = "/usr/local/bin"
 URL = "http://www.example.com/~username"

 [third_section]
 phpversion[] = "5.0"
 phpversion[] = "5.1"
 phpversion[] = "5.2"
 phpversion[] = "5.3"
;*/?>

2013/07/02 09:47 2013/07/02 09:47
Posted
Filed under 프로그래밍/PHP

잘돌아가던게 php 5.4로 업그레이드후 오류가 뜬다

2013/06/09 12:46:16 [error] 2952#0: *11681 FastCGI sent in stderr: "PHP message: PHP Fatal error:
Call-time pass-by-reference has been removed in /home/miyu/html/zboard/zboard.php on line 197"
while reading response header from upstream

 

&$error 와 같이  reference 처리된것은 모두 에러처리 되고 프로그램이 중단된다.
$error 와 같이 모든 코드를 교체해야한다.

예전에는 php.ini에서 allow_call_time_pass_reference = On으로 처리했지만
5.4부터는 사라졌다.

더불어 globals_register와 magic_quotes도 사라졌다.

The ini option allow_call_time_pass_reference was removed
Register globals, magic quotes and safe mode were removed

 

2013/06/09 13:21 2013/06/09 13:21
Posted
Filed under 장난감
서밋과 함께한 간단한 등산.

사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
2013/06/05 21:16 2013/06/05 21:16
Posted
Filed under 골때리는 기사들
한 편의점 주인이 본사와 갈등을 겪다 자살을 기도한 사건 보도해 드렸습니다. 그런데 편의점 CU 측이 책임을 면하려고 고인의 사망 진단서에 손을 댄 사실이 뒤늦게 밝혀졌습니다. 수면 유도제 중독이라는 문구를 삭제했습니다.

.........


http://media.daum.net/economic/newsview?newsid=20130530203007800

2013/05/30 23:11 2013/05/30 23:11
Posted
Filed under 프로그래밍/PHP
PHP 5.4.15로 업그레이드를 했다
근데 기존에 없던 옵션이 생겼네?
security.limit_extensions 라는 놈이다

php-fpm.conf 을 열어보면
;security.limit_extensions = .php .php3 .php4 .php5

이렇게 되어있을것이다.
주석을 풀어주고 php코드가 들어간 확장자를 추가해준다.

security.limit_extensions = .php .php3 .php4 .php5 .htm .html

기본값이 .php 이기때문에 다른게 들어오면 막아버리는것이다.


2013/05/30 01:21 2013/05/30 01:21
Posted
Filed under 기타

요즘 시간을 가지고 구직 중이다.
이름없고 작아도 오래 다닐수 있는 회사를 찾고 있지
전회사에서는 면접관이였지만 이제 면접자로 입장이 바뀌었다

면접관이 갑?

내가 입사해서 어떤일을 할지도 안알려주는...

자기들 회의한다고 1시간이 넘게 대기실에서 기다리게 하고 미안하단 말한마디 없고 음료 한잔 안주고 실무파악도 안된 사람이 면접관으로 나온....

정보만 캐낼려는...

이력서도 안보고 이상한 질문 하는...

명함도 안주고 커피숍에서 면접하는...

면접관이 나보다 떨어져서 대화가 잘 안되는...

예전부터 느끼는거...회사가 같이 일할 사람을 선택하는거 맞지만
면접자는 자기가 일할 회사를 선택하는것도 맞다는거.

좋은 인재를 채용하려면 면접관의 자세도 중요하다 생각한다.

기본적인 예의는 서로 지키자고...
내가 널 채용해 줬으니 감사하게 생각하라는 마인드는 언제적 얘기인가..

지금은 당신이 면접관이지만 언제든지 상황이 바뀔수도 있다는걸 명심하자..



2013/05/15 11:54 2013/05/15 11:54