반응형

안녕하세요 가야태자(@talkit) 입니다. 옛날 부터 쓰고 싶은 글이었는데 한번 적으보려고 합니다.

원래는 MySQL이라는 DB 엔진을 사용했었습니다.

하지만, MySQL이라는 DB가 Oracle이라는 회사에 인수 되었습니다.

그래서 MySQL 커뮤니티 버젼도 사용하지만, MariaDB를 사용하고 있습니다.

재밌는 것은 MySQL이나 MariaDB가 쌍둥이여서 명령어도 동일하다는 겁니다.

심지어 클라이언트도 호환이 가능합니다.

Java라는 프로그램의 DB 드라이브도 호환이 가능 합니다.

오늘은 목차 성격으로 글을 적도로 하겠습니다.

  1. MariaDB Server 설치
    -> 워낙 글을 써놓은 분들이 많으셔서 저는 실습 형태로 그냥 진행하겠습니다.

  2. MariaDB Client 설치
    -> mysql.exe라는 도스 형태의 클라이언트를 사용해도 되지만, DBeaver 라는 클라이언트를 소개 합니다.

  3. MariaDB 계정 설정
    -> root 계정을 그대로 사용해도 되지만, 자신만의 계정을 만들고, Database를 만들어서 사용하는 것이 보안상 좋아서 해당 내용에 대한 설명을 진행 합니다.

  4. SQL 설명
    SELECT, INSERT, UPDATE DELETE 문에 대해서 간략히 소개 합니다.

  5. SQL 실전
    가계부 테이블을 하나 만들고 가계부를 SQL로 같이 만들어 보도록 하겠습니다.

  6. SQL 튜닝
    데이터베이스는 데이터가 늘어나면 느려 집니다. 느려지지 않도록 설계하고, 만들어야겠지만, 설계를 제대로 해도 느려지는 경우가 있어서 SQL을 이용해서 튜닝을 진행 합니다.

요정도의 문서를 만들어 볼생각입니다. 1~2주에 한편정도 출판을 해볼 계획입니다.

감사합니다.

내일도 즐거운 하루 되십시오.

반응형
반응형
지난 번에 제가 내 드린 예제 괜찮게 작동하던가요?? 괜챃은 아이디어인지 모르겠습니다. 그 부분은 회원 인증의 기본적인 알고리즘입니다. 그럼 여기서 반복문에 대한 이야기를 약간 하기전에 회원 인증에 관한 부분을 이야기하고 넘어 가겠습니다.
---춘길군의 설명---
잠깐
쿠키(cookie)란? (과자가 아니죠)
서버가 필요할때 마다 꺼내보는 간단한 사용자 정보를 저장하는
방법이라고 할수 있습니다. 서버는 클라이언트의 요청이 있을때만
응답을 하고 연결을 끊습니다. 하지만 서비스를 위해 사용자 정보등이
일정기간 필요할 경우가 있을 것입니다.
회원제를 사용하는 사이트등에서 회원과 비회원간의 다른 메뉴와 기능등을
제공할 때가 그 예로 볼수 있고 그러한 것들을 위해 쿠키가 사용됩니다.
쿠키는 클라이언트의 브라우저 메모리나
하드 디스크에 저장됩니다.
쿠키의 크기는 최대 4k 바이트이고 하나의 서버나 도메인당 최대20개까지
저장할 수 있다고 합니다.
윈도우에선 c:\windows\cookies 라는 폴더에 저장되고 있습니다.


---


춘길이가 쿠키에 대한 설명은 너무 잘해 주어서 저는 세션에 관한 설명을 해 드리겠습니다. 그리고, setcookie() 함수와 session_*() 다음 기회에 여러분들을 배우시게 될겁니다.

세션은 특정 사용자가 홈페이지에 접속한 후 연결이 끊어질 때까지 지속적으로 사용자를 인식할 수 있도록 추적하는 것입니다. 또한 쿠키와 같은 성격과 기능을 가지는데 쿠키와 구별되는 중요한 차이점은 쿠키가 사용자의 컴퓨터에 저장된다면 세션은 서버쪽에 세션 데이터를 둔다는 점입니다. 이는 보안적인 측면에서 상당한 안정성을 높일 수 있습니다.  

-어쩐지 말을 억수로 잘한다고 했죠 ㅋ ㅋ ㅋ 인용했습니다. 닷컴 PHP 마스터 (이철혁 저) 가남사


그리고 HTTP 인증은 여러분들이 보실 수 있는 것 중에서 인터넷 익스플로어에 바로 사용되는 것입니다. 아파치의 .htaccess 파일과 .htpasswd 파일을 이용합니다.

그럼 여기서 셋길은 넘어 가구요. 반복문으로 넘어 가겠습니다.

우리가 오늘 배울 반복문은 while()과 for() 문을 배우게 됩니다.

우선 while() 문에 대해서 공부하겠습니다.

while은

[
do {

    실행 문 ;

}
] while(조건) {

    실행 문 ;

}

위와 같이 사용 됩니다. 조건 문이 참이면 계속 실행문을 실행 합니다.

이렇게 되겠지요
<?

$a=100;


while($a) {

 echo $a."<br>";

 $a=$a-1;

}

?>

앞에 [ do {   } ] 라고 되어 있는 부분은 사용해도 되고 있어도 된다는 뜻입니다.

do를 사용하는 경우는 조건이 거짓이면 한번도 실행문이 실행 되지 않기 때문에 사용됩니다.

그러니깐 다음과 같습니다.
<?
$a=0;

do {

   echo $a."<br>";

}while ($a) {

  echo $a."<br>";

}

컴퓨터는 0을 거짓으로 인식합니다. 1이상이어야 참으로 인식함으로 0은 거짓이어서 $a를 출력하지 않는데

저렇게 하면 0을 출력할 수 있습니다. ^^;;

while()은 이정도 하구요 앞으로 사용하면서 저와 함께 아주 많이 사용하게 될겁니다.

이제 for에 관해서 이야기 하겠습니다.

for(식1;식2;식3) {

   실행문;

}

for 는

식1 : for 루프가 처음 실행될 때 처음 한 번 실행될 명령
식2 : for 조건(while 문처럼 조건)이 생략되면 무한 LOOP입니다.
식3 : for 루프가 반복될 때마다 실행되는 구문입니다.

자 그럼 실제로 사용해 보겠습니다.

저부분은 많이 보셨을 겁니다.

for($i=1; $i <101; $i++) {

 echo $i."<br";

}

이렇게 사용됩니다.

조건문과 for문을 배우셨습니다.

위의 문제를 이용해서 구구단을 짜 보십시오.

숙제는 어디로 받지용??

음 어케 받을까 고민되넹

숙제 해주세요 ㅋ ㅋ ㅋ

구구단을 출력해 보십시오..

그럼이만

오늘은 강좌를 여기까지 하겠습니다.
반응형
반응형
회사일이 정신 없이 바빠서 강좌를 진행을 못하고 있습니다. ^^;; 겨우 짬을 내서 화이팅 화이팅 서두는 이제 그만 (텔레또비 버전)

PHP에서 제가(다른 분들은 잘 모르겠기에 ^^) 프로그래밍 할때 저는 날자로 거의 무조건 UNIX Time을 이용합니다.

그래서 특정일의 날자를 Unix Time으로 구할 필요성을 느끼게 됬고 그것을 구하는 함수를 구현 하여 사용하고 있습니다.

오늘의 Unix 구하기

function kjh0523_today() {
$year=date("Y");
$month=date("m");
$day=date("d");
return mktime(00,00,00,$month,$day,$year);
}

함수를 활용하는 방법은

밑에 말씀 드린 파일에 넣어 놓고 ^^;;

$today=kjh0523_today();

이렇게 해서 활용합니다.

그리고 특정일을 구하는 방법.

function kjh0523_wanted_day($year, $month, $day) {

return mktime(00,00,00,$month,$day,$year);

}

활용은

$wanted_day=kjh0523_wanted_day(2000, 09,24);

이렇게 하시면 됩니다.

활용 잘 하시기를
반응형

'PHP' 카테고리의 다른 글

PHP 반복문  (0) 2010.06.08
[펌] PHP - SMTP Class - 허근호님  (0) 2010.06.07
개인 라이버러리 구축 2 - 라이버러리의 활용.  (0) 2010.06.05
PHP Edit로 Acrosoft의 AcroEdit를 활용해 보자  (0) 2010.06.04
PHP FTP Connect  (0) 2010.06.03
반응형

오늘 강의는 지겨울지도 모르겠다 왜냐면 이론이기 때문이다.

그래서 중간 중간에 간단한 프로그램 보기를 들겠다 어제 와 마찬가지로 메모장 등에 카피해서 잘 활용해 보기 바란다. ^^;;

그리고 어제 말한 메모장의 한계 때문에 Acrosoft의 Acroedit에 대한 강좌를 준비 했다. 다음강좌에서 보실 수 있다. 많은 활용 바란다.

PHP는 <? 로 시작해서 ?> 로 끝난다는 이야기를 했다.

그리고 PHP 뿐 아니라 여러 언어를 접해 보면

변수와 상수 그리고 연산자 라는 말을 듣게 된다.

변수는 변하는 숫자이다.

상수는 변하지 않는 숫자이다.

그리고 연산자는 + - * / 같은 것들을 말한다.

PHP의 연산자와 변수에 대해 자세한 내용을 여기서 다 나열하기란 힘들다 그래서 PHP 영문 메뉴의 링크를 제공한다.

LINK2를 이용하면 내일 강의의 예습도 할 수 있다. ^^;;


그전에 PHP의 변수와 상수는 $로 시작하며 첫글자는 한글,영어 알파벳, _가 올 수 있다.

다른 언어에 비해 PHP는 2바이트 변수를 제공한다.

즉 $abce 뿐 아니라 $가나다 도 변수가 될 수 있다는 말이다.

그러나 다음은 틀린 변수이다.

$1234

$ㄱ

$#

즉 첫글자는 영문또는 한글 또는 _만 올 수 있다. 물론 !@#$%^&*()등의 특수기호는 변수명으로 쓰일 수 없으며 첫글자를 제외하고는 숫자도 올 수 있다.

여기서 약간 다른 언어로 새어서 이야기 해 보자

자바도 한글 변수를 지원한다. $가나다
그리고, C는 한글 변수를 지원하지 않는다.
그냥 알고 있길 바라면서 작성한 것이다.

다시 PHP로 돌아가서

PHP의 변수는 다른언어와 달리 메모리 공간을 미리 할당할 필요 없이 언제든지 사용할 수 있다.

C의 경우에  메모리를 절약하기 위해서 최대한의 에러를 줄이기 위해서 다음과 같이 사용한다.

int a

a=1;

이런식으로 먼저 정의해 주고 변수를 사용해야 한다

하지만 PHP는 언제 어디서든

$a=1 하면 정수가 되며 심지어 $a="김종하" 하면 문자열이 된다. 똑같은 변수명인데도 다른 값으로 사용될 수 있다는 것이다. 하지만 C에서는 불가능한일이다.

간단히 변수가 활용되는 예를 체크해보자

#var.php

<?
    $a=1;
   echo "\$a=".$a."<br>";
    $a++;
   echo "\$a++=".$a."<br>";
?>

위의 문장을 편집기를 이용해서 편집하고, localhost에서 확인해 보기 바란다.

변수는 간단하게 넘어 가겠다.


그리고, 앞에 말한 연산자를 이야기 하겠다.

연산자는 변수와 변수 또는 상수 사이의 계산을 하는 도구이다.

이 도구들로 기본적으로 실제 연산에서 사용되는

+-*/ (사칙연산)
== , && (and), ||(or), !,!=,<, >, <=, >=
++, --, .,%,
등의 연산자를 가지며

특이한 것에 대한 설명을 하겠다

%, ++, --, .가 여러분들에게 필자는 생소할 것으로 생각된다.

그래서 이것들을 이야기하면

우선 %는 나머지 연산자라고 한다.

직접 실행해 보고 그 결과를 알 수 있도록 해보자

나머지.php

<?
    $a=10%4;
    echo "10을 4로 나눈 나머지는?".$a;
?>

그리고 ++와 --는 그 값에 1을 더한 것과 뺀것이다.

다음을 실행해보고 알아보자

<?
    $a=100;
    $ra=$a;
    $b=$a++;
    $a=100;
    $c=++$a;
    $a=100;
    $d=$a--;
    $a=100;
    $e=--$a;
    echo "\$a=".$ra."<br>\$a++=".$b."<br>++\$a=".$c."<br>\$a--=".$d."<Br>--\$a=".$e."<br>";
?>


그리고 끝으로 . 이다. .은 문자열 더하기 연산자라고 여기서는 부르겠다. 항상 그냥 말없이 쓰다보니 저게 정확한 이름을 까먹었다 ㅋ ㅋ ㅋ

.이 연산자로 사용되는 모습은 많은 분들이 앞에서 보았으리라 생각한다. 자 그래도 한번더 활용해 보자

<?
  $a=123;
  $b=567;

  $c=$a+$b;
  $d=$a.$b;

  echo "\$a + \$b=".$c."<br>";
  echo "\$a.\$b=".$d."<br>";
?>
한번 비교해 보기 바란다.

그리고, 프로그램을 짜다 보면 앞으로 이걸 왜 작성했는지 까먹을 것 같을때가 있다.

이때 주석처리를 해 두면 앞으로 좋은 결과를 얻을 수 있을 것이다.

PHP에서 사용할 수 있는 주석 처리 방법은 다음 세가지가 있다.

#
//
/*      */

이렇게 말이다.

그 예를 보도록 하기 전에 ^^ 주석이란 무엇인가를 알아 보겠다.

주석은 코드에 영향을 미치지 않으면서 코드를 예쁘게 해주는 기능과 코드를 해석하기 쉽게 해주는 일종의 설명부분이다.

그럼 그예를 보도록 하자

<?
  ##김종하의 첫번째 프로그램##
// 이것도 주석인데
/* 긴 주석의 경우에는 이렇게 합니다.

주석을 달아 보세

*/

?>

오늘은 여기 까지 하고 내일 부터는 실제로 여러분들이 프로그램을 짜볼 생각을 해야한다.

프로젝트 단위로 했으면 하는데... 생각나는 프로젝트가 있으면 말해 보기 바란다.

필자는 가장 간단한 방명록 시스템을 여러분들 스스로 작성할 수 있도록 해 줄 생각이다

다른 것을 생각하는 독자들을 이야기 해주기를 바란다.

그럼이만.

2009년 2월 2일 옛날 블로그에서 적었던 글입니다. ^^;;



반응형
반응형
1호점에서 가져 왔습니다.

여러분들은 프로그램을 작성하시면서 많은 자바 스크립트를 활용할 겁니다. 그 자바 스크립트와 PHP를 섞어서 함수화 해놓고 그걸 가지고 잘 활용한다면 엄청 편해 질 것이라는 생각이 듭니다. ^^;; 그래서 오늘은 언제 또 업데이타 될지 모르겠지만 개인 라이버러리 구축의 제 일단계로 history 함수를 작성해 보겠습니다.

우선 함수를 작성하는 방법은 다음과 같습니다.

function function_name() {
문장
}

저위의 형식으로 함수를 작성합니다. function_name()가 함수명이 됩니다. 이 함수의 () 안에는 여러변수들이 나열 될 수 있습니다.

function go_back($msg, $num) {
echo ("
<script>
alert('$msg');
history.go($num);
</script>
");
exit;
}

함수는 위와 같이 작성합니다.

그리고 활용하는 것은요

저걸 파일에 저장해 놓고 include를 시켜두 되구요.

아예 페이지에다 저 코드를 뿌려 주셔두 됩니다.

그리고 함수를 호출하는 방법은

예를 들어서 '이름을 넣지 않으셨습니다.' 라는 메시지를 나타내고 한칸 뒤로 가시려면

이렇게 하시면 됩니다.

go_back("이름을 넣지 않으셨습니다.", -1);
반응형
반응형

1호점에서 옮겨 온 자료 입니다.

이게 아마 제가 적은 최초의 리눅스 관련 문서 인것 같네요 ^^;;

도움이 될지는 모르지만 서류정리 하다가 나와서 다시 쳐 봅니다. ^^;;

리눅스를 사용하는 이유

리눅스는 공짜라는 생각을 가진 사람들이 많다. 특히 대한민국에 하지만 요즘은 리눅스도 상용화 되어 있다. 하지만, 그 리눅스를 받아 쓸 수 있다는 점에서 공짜라는 생각도 든다.

리 눅스를 사용하는 원래의 목적은 저것이 아니다. 보통의 유닉스는 최소한 몇천만원 단위를 호가한다. 하지만 리눅스라는 운영체제는 잡지 부록, FTP 사이트, 회사방문, 거리 배포 또는 저렴한 가격(MS의 운영체제에 비해서)으로 구입 할 수 있다.
유닉스 에서의 관리자의 강력한 기능을 만끽하지 못한다. 요즘 대학교에서는 저런 기회가 많겠지만 말이다. 하지만, 리눅스를 사용하면 유닉스와 똑같은 기분을 낼 수 있다. 자신의 PC에 리눅스를 깔고 root 유져로서의 몇가지 명령어들을 익히면 말이다.

1. 리눅스 서버 관리자의 기초

1) 로그인

리눅스 또는 다른 운영 체제를 사용하더라도, 컴퓨터를 사용하기 위해서는 컴퓨터를 켜거나 그 컴퓨터에 원격으로 접속해야 한다. 그 접속하는 과정을 로그인 이라고 한다.
특히 리눅스에서는 이 로그인 과정이 중요하다.

리눅스 머신에 접속하면 보통 다음이 뜨고 _(커서)가 깜빡이고 있다.

logn:_

여기에 S/A(System Administrator)로 부터 발급 받은 아이디와 패스워드를 넣어 로그인 한다.

보 통 콘솔과 터미널로 불리는 기계들이 있다. 요즘은 일반 컴퓨터도 터미널로 부른다. 콘솔은 기계 자체의 화면을 말한다. 옛날에 서버실에 가보면 써버 한대에 모니터가 있고 그 주위에 모니터와 키보드가 수십에서 많게는 수백대가 존재한다.

이것이 바로 터미널이다. 그리고 또한 컴퓨터가 두개 있다. 접속하는 리눅스를 터미널 접속 받는 리눅스를 콘솔로 생각하면 된다. 또한 윈도우즈를 터미널 리눅스를 콘솔로 생각해도 된다.

일단 리눅스 콘솔에서 root로 접속해 보자 그러면 접속이 될 것이다.

하지만 다른 컴퓨터에서 telnet으로 접속해서 root 로 접속해보자 그러면 일반적으로 접속이 안될 것이다. 그 이유는 root라는 유져가 너무나 막강한 권한을 가졌기 때문에 밖에서는 접속을 못하도록 해 둔 것이다.

그리고, 콘솔에서도 되도록이면 root 유져로 접속하지 않기를 바란다. 왜냐면 실수해서 리눅스를 지워 버리거나 중요한 데이타를 함부로 지울 수도 있으니까.

사용자를 추가해서 사용하는 것이 옳다 하지만 아직 사용자 추가를 배지 않았음으로 root 유져로 한다.

2) 로그아웃

로구아웃은 로그인의 반대 개념이다. 즉 접속을 끊는 것이다.
그 명령으로 다음과 같은 것들이 있다.

logout
exit
콘솔에서는 CTRL + D 키 조합을 사용해도 된다.

자신이 자리를 뜰때는 꼭 로그아웃을 해 두기를 바란다.

3) 컴퓨터 켜고 끄기

컴퓨터를 켜려면 그냥 파워 버튼을 눌러 주면 된다. ^^; 그리고 혹쉬나 다중 운영체제를 사용한다면 리눅스를 한번 중간에서 선택해 준다.

그리고 컴퓨터를 끌때는 MS의 운영체제 처럼 컴퓨터 끄기 명령어를 내려 준다.

도스 시절의 PARK 윈도우즈의 시스템 종료 명령 등과 비슷한 명령이다.

직접적인 명령어는 halt를 사용하면 된다.

그렇게 하면 맨 마니막에 system halted 라는 메시지가 뜰때까지 기다렸다가 컴퓨터 전원을 내린다.

그리고 리붓을 원한다면 reboot 명령을 사용한다.

여러가지 옵션을 사용하고 싶으면 shutdown 명령을 사용하라

shutdown -h now --> halt 명령어와 동일

shutdown -r now --> reboot 명령어와 동일

뒤에 now 옵션을 여러가지로 바꿀 수 있다.

now 즉시 실행하라.

+m 몇분 뒤에 실행 하라.

hh:mm 몇시 몇분에 실행 하라.

등을 사용 할 수 있다.

위의 명령어들 now 제외 ^^ 을 취소 하려면

shutdown -c 명령을 사용하면 된다.

4) 사용자의 추가

리눅스의  사용자 정책은 다음 두가지를 가지고 있다.

user group

위의 두가지는 중요한 역할을 하고있다.

와우 리눅스는 레드햇 리눅스의 사용자 정책을 그대로 따록 있는데 편안한 사용자 추가 이다.

사용자를 추가하는 방법은

/etc/passwd 파일을 변경해주는 방법과 --> 설명만 해 주겠다.

adduser

useradd

명령을 사용하는 방법이 있다.

단순히 adduser userid 하면 사용자가 생성된다.

좀더 복잡한 옵션을 사용하려면

useradd 명령을 사용하라.

그 옵션들은 설명하지 않겠다.

아직 추가가 끝난 것이 아니다. 다음의 사용자 비밀번호 변경을 끝내야 사용자 추가가 끝난다.

5)사용자 비밀번호 변경

adduser 명령으로 생성한 user에 비밀번호를 준다.
passwd 명령을 사용하는데 단순히 passwd 명령을 사용하면 사용자의 패스워드를 변경 할 수 있다. 그리고, passwd userid 를 사용하면 (root 유져 또는 root 그룹의 유져만 사용하능하다.) user의 패스워드를 변경 또는 생성해 줄 수 있다. 그러면 이제 사용자 추가가 끝났다.

6) 사용자 삭제

사용자 삭제는 다음과 같이 한다.
userdel userid
이렇게 하면 사용자 디렉토리와 메일의 내용은 그대로 있다.

하지만

userdel -r userid  하면

사용자의 디렉토리와 메일도 함께 사라진다.

다시 치고 보니 정말 기초 적인 내용이네요 하지만 도움이 되셨으면 합니다.

^^;


반응형

+ Recent posts