달콤살벌한 세대를 살아가는 어른아이를 위한 에세이 빨강머리N



부담 없이 웃으며 읽을 수 있고,

공감되는 내용이 많았던 책이다.





그 사람과 멀어져도 취향은 그대로 남아 생각지도 못한 타이밍에 플레이된다.

그리고 음악을 함께 듣던 그때 그 사람, 그 시간과 장소를 내 곁으로 소환해준다.




진심을 다한다고 해서 진심이 전해지는 건 아니더라고요.

진심을 쓰려거든 머리를 쓰세요.




내가 네 인생 더 맛있게 만들어주고 싶어.

밍밍한 일상의 칼칼한 자극제가 되어주고 싶어.

힘들 때일수록 확 땡기는 맛이고 싶어.


나 너한테 그렇게

없으면 생각나는 사람이고 싶어.




아빠라고 왜 힘들지 않았겠는가.

아빠라고 왜 갖고 싶은 것이 없고

왜 먹고 싶은 것이 없고, 왜 놀고 싶지 않았겠는가.


아빠는 얼마나 힘들었을까. 얼마나 자존심 상했을까.

그때마다 가족에 대한 책임감으로 누르고 누른 감정들이

아빠 이마의 주름으로 패인 것 같아 가슴이 시리다.




빨강머리N
국내도서
저자 : 최현정
출판 : 도서출판마음의숲 2016.03.21

상세보기


'raoooon > 독서' 카테고리의 다른 글

[소설] 스무살을 부탁해  (0) 2017.12.14

15-10. 반복문

https://www.opentutorials.org/course/1688/9374



반복문

- 조건이 false가 될 때까지 반복


무한루프

- 프로그래밍을 하는 과정에서 생길 수 있는 큰 에러 중의 하나

- 조건에 true를 때려박는 경우

- 작업이 너무 헤비(heavy)하면 무한루프인 것 같은 상황에 빠질 수도 있다.


<br />

- HTML에서 줄바꿈이라는 의미의 태그


9.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE html>
<html>
  <head>
    <meta charset = "utf-8">
  </head>
  <body>
    <h1>javascript</h1>
    <ul>
    <script charset="utf-8">
      i = 0;
      while(i < 3){
        document.write("<li>hello world</li>");
        i = i +1;
      }
    </script>
    </ul>
    <h1>PHP</h1>
    <ul>
    <?php
      $i = 0;
      while($i < 3){
        echo "<li>hello world</li>";
        $i = $i +1;
      }
    ?>
    </ul>
  </body>
</html>
cs




15-11. 배열

https://www.opentutorials.org/course/1688/9375


배열(Array)

- 서로 연관되어 있는 여러 정보들을 연속된 그릇에 담아서 체계적으로 관리하는 도구


10.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!DOCTYPE html>
<html>
  <head>
    <meta charset = "utf-8">
  </head>
  <body>
    <h1>javascript</h1>
    <script charset="utf-8">
      list = new Array("one""two""three");
      document.write(list[0]);  // list라는 변수에 담겨있는 배열의 0번째 값 = one
      document.write(list.length); // 배열의 길이
    </script>
    <h1>PHP</h1>
    <?php
      $list = array("one", "two", "three", "four");
      echo $list[2]; // list라는 변수에 담겨있는 배열의 2번째  = three
      echo count($list); // 배열의 길이
    ?>
  </body>
</html>
cs




※ 배열 + 반복문

11.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<!DOCTYPE html>
<html>
  <head>
    <meta charset = "utf-8">
  </head>
  <body>
    <h1>javascript</h1>
    <ul>
    <script charset="utf-8">
      list = new Array("일""이""삼""사""오");
      i = 0;
      while(i < list.length){
        // 배열의 길이만큼 반복
        document.write("<li>"+list[i]+"</li>");
        i = i + 1;
      }
    </script>
    </ul>
    <h1>PHP</h1>
    <ul>
    <?php
      $list = array("일", "이", "삼", "사");
      $i = 0;
      while($i < count($list)){
        // 배열의 길이만큼 반복
        echo "<li>".$list[$i]."</li>";
        $i = $i + 1;
      }
    ?>
    </ul>
  </body>
</html>
cs





15-9. 로그인 기능 만들기

https://www.opentutorials.org/course/1688/9372



1) 자바스크립트로 로그인 기능 구현하기

prompt 명령어

- 텍스트를 입력 받는 형태의 대화상자를 띄운다.


7.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
<html>
  <head>
    <meta charset = "utf-8">
  </head>
  <body>
    <script charset="utf-8">
      password = prompt("비밀번호");
      if(password == 1111) {
        // 로그인 성공
        document.write("안녕하세요. 주인님");
      } else {
        // 로그인 실패
        document.write("뉘신지?");
      }
    </script>
  </body>
</html>
cs



2) PHP로 로그인 기능 구현하기


- 사용자가 submit 버튼을 누르면, form 태그 안에 있는 input 태그에 입력된 정보들을 form 태그의 action 속성이 가리키는 페이지를 웹브라우저가 열면서 그 뒤에다가 ?(물음표)를 단 후에 정보들의 값을 위치시킨다.

ex) ..../8-2.php?password=1111 


$_GET 변수

- HTTP GET 방식으로 전송된 정보들의 name과 값 배열


8-1.php

1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html>
  <head>
    <meta charset = "utf-8">
  </head>
  <body>
    <form action="8-2.php">
      <p>비밀번호를 입력해주세요.</p>
      <input type="text" name="password">
      <input type="submit">
    </form>
  </body>
</html>
cs


8-2.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
<html>
  <head>
    <meta charset = "utf-8">
  </head>
  <body>
    <?php
      $password = $_GET["password"];
      if($password == "1111"){
        // 로그인 성공
        echo "주인님 환영합니다";
      } else{
        // 로그인 실패
        echo "뉘신지?";
      }
    ?>
  </body>
</html>
cs


15-4. 데이터타입과 연산자

https://opentutorials.org/course/1688/9367


JavaScript와 PHP에서

- 문자는 " "(큰따옴표) 사용

- 숫자는 " "(큰따옴표) 사용 X


- PHP에서 + 연산자는 숫자를 더할 때 사용하는 연산자라는 고정적인 기능을 가지고 있다.

→ '문자 10'이라도 + 연산자를 사용하면, PHP는 자동으로 숫자로 바꿔서 계산

- .연산자 : PHP에서 문자와 문자를 더할 때 사용


2.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html>
<html>
  <head>
    <meta charset = "utf-8">
  </head>
  <body>
    <h1>javascript</h1>
    <script>
      document.write(10+10);
      document.write("<br/>"); // 줄바꿈
      document.write("10"+"10");
    </script>
    <h2>php</h2>
    <?php
      echo 10+10; // 숫자를 더할 
      echo "<br/>";  // 줄바꿈
      echo "10"+"10";
      echo "<br/>";  // 줄바꿈
      echo "10"."10"; // 문자를 더할 
    ?>
  </body>
</html>
cs


               



15-5. 디버깅

https://opentutorials.org/course/1688/9368



버그

- 프로그램이 오동작 하는 것


디버그

- 오동작되는 현상을 해결하는 행위


JavaScript에서 오류 발생

- 웹브라우저의 도움을 받는다.

→ 개발자 도구


PHP에서 오류 발생


- BitNami 사용의 경우 : [File] → [Open File] → BitNami\wampstack...\apache2\logs\error.log


- Codeanywhere 사용의 경우 : 브라우저에 오류가 나온다.


3.php

1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html>
<html>
  <head>
    <meta charset = "utf-8">
  </head>
  <body>
    <script charset="utf-8">
      docueent.write("hello world");
    </script>
    <?php
  </body>
</html>
cs



※ 보충수업 - 화면에 php 에러 표시하기


- 파인더에서 [Applications] → [mampstack...] → [php] → [etc] 경로에 있는 php.ini 파일 열기


리눅스

- 터미널에서 sudo gedit /opt/lamstack.../php/etc/php.ini 명령어로 php.ini 파일 열기


윈도우

- 에디터에서 [wampstack...] → [php] 경로에 있는 php.ini 파일 열기 


php.ini에서 display_errors 구문을 찾아서 값을 "on"으로 수정한 후, 웹서버(Apache) 재시작

→ PHP는 완전히 독립적인 형태로 동작하는 것이 아니고 웹서버의 내부적인 부품과 같은 형태로 동작하고 있기 때문에,

   아파치를 재시작해야 php.ini의 변경사항이 PHP 엔진에게 반영된다. 


php.ini 파일

- PHP의 기본적인 동작방법을 설정하는 설정파일



15-6. 변수

https://www.opentutorials.org/course/1688/9369



변수

- 바뀔 수 있는 값


변수 선언

- JavaScript

name = "nyeong";

- PHP

$name="nyeong";    // $를 붙이지 않으면 변수 X


변수를 써야 하는 이유

- 아주 많다!

- 프로그램을 최대한 변경하지 않기 위해서


4.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
<html>
  <head>
    <meta charset = "utf-8">
  </head>
  <body>
    <h1>javascript</h1>
    <script charset="utf-8">
      name = "nyeong";
      document.write("안녕하세요." + name);
    </script>
    <h1>PHP</h1>
    <?php
      $name = "nyeong";
      echo "안녕하세요.".$name;
    ?>
  </body>
</html>
cs




15-7. 비교

https://www.opentutorials.org/course/1688/9370



비교

- 대, 소 관계를 판별하는 것

- 같다, 다르다를 판별하는 것


비교연산자(PHP와 JavaScript 둘 다 사용)

- '==' 연산자 : 좌항과 우항이 같다.

ex) 1 == 2 : false    /    1 == 1 : true

- '!=' 연산자 : 좌항과 우항이 같지 않다.

ex)  1 != 1 : false

- '>' 연산자 : 좌항이 우항보다 크다.

ex) 1 > 2 : false

- '<' 연산자 : 우항이 좌항보다 크다.

ex) 1 < 2 : true


5.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!DOCTYPE html>
<html>
  <head>
    <meta charset = "utf-8">
  </head>
  <body>
    <h1>javascript</h1>
    <script charset="utf-8">
      document.write(1==1);
    </script>
    <h1>PHP</h1>
    <?php
      var_dump(1==2);
    ?>
  </body>
</html>
 cs

- PHP에서 echo 명령어로는 true와 false를 잘 표현할 수 없다.

→ var_dump() 함수 사용 : 변수에 대한 정보를 출력


       

Boolean(블리언)

- true 또는 false 둘 중 하나를 값으로 가지는 데이터형식

→ true와 false는 비교의 결과로서 얻을 수 있는 값이다.




15-8. 조건문

https://www.opentutorials.org/course/1688/9371



조건문

- 상황에 따라 동작이 달라지게 하는 것


6.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!DOCTYPE html>
<html>
  <head>
    <meta charset = "utf-8">
  </head>
  <body>
    <h1>javascript</h1>
    <script charset="utf-8">
      result = (1==1); // 참
      if(result){
        // 조건이 참일 경우
        document.write("참");
      } else{
        // 조건이 거짓일 경우
        document.write("거짓");
      }
    </script>
    <h1>PHP</h1>
    <?php
      $result = (1==2); // 거짓
      if($result){
        // 조건이 참일 경우
        echo "참";
      } else{
        // 조건이 거짓일 경우
        echo "거짓";
      }
    ?>
  </body>
</html>
cs




+ Recent posts