happy cat image

everdevel

우리 모두의 웹 입문, 에버디벨

UI 변경

에버디벨의 완성 :: 웹코딩 시작하기

안녕하세요.
에버디벨 운영자입니다.
여러분이 늘 이용해 주셔서 하루 5명 오는 사이트가 1000명이 오는 사이트가 되었고,
또 그 이유로 사이트를 운영을 멈추지 않아 저같은 평범한 사람이 책까지 쓸 수 있게 되었습니다.
여러분이 찾지 않았다면 진작 사이트 접었습니다.
저의 웹개발 경력 2년을 쏟아내어서 6개월의 집필, 8개월의 교정기간을 거쳐 [웹코딩 시작하기]가 출간했습니다.
웹코딩 시작하기는 HTML5를 시작으로 CSS3 -> jQuery를 학습합니다.
그리고 앞에서 배운 내용으로 간단한 소통사이트를 반응형으로 제작합니다.
보통의 책은 HTML5 + CSS3로 끝나고 혹은 HTML5 + CSS3 + jQery로 끝나지만 웹코딩 시작하기는 여기서 끝내지 않았습니다.
그 다음 바로 데이터베이스중 하나인 MySQL를 학습하고, 그 이후 PHP를 학습니다. 그리고 앞에서 만든 소통사이트에 회원가입, 로그인 기능은 기본으로 진행하며, 스크롤이벤트를 이용하여 스크롤을 내리면 AJAX를 작동시켜 게시물을 더 불러오는 기능을 구현하고 자기의 로그기록을 파일에 쓰기, 그 밖에 자신의 프로필사진, 커버사진 등록, 댓글 쓰기등의 기능을 적용합니다.
본서는 웹코딩을 처음하는 사람이 하나에서 끝나지 않고 처음부터 시작해 프로젝트까지 완성해가며 전체적으로 시스템이 어떻게 작동하는지 전반적으로 알게하기 위해 태어났습니다.
적어도 지구에서 가장 친절한 웹 입문서라고 생각하는 책입니다.
에버디벨로 부족하셨다면 웹코딩 시작하기를 추천합니다.

어제보다 나은 나, 오늘 보다 나을 내일의 나를 만드는 :: 웹코딩 시작하기

지은이 : 에버디벨 만든사람

목차보기

종이책 구입하기

전자책 구입하기

PART 1. 프론트엔드 HTML5 + CSS3 + jQuery

CHAPTER 1. HTML5

1. HTML5 소개

2. 메타 태그

3. 텍스트 태그

4. 이미지 태그

5. 하이퍼링크 태그(a 태그)

6. 리스트 태그

7. form 태그

8. 공간 태그

9. video 태그

11. svg와 canvas

12. table 태그

CHAPTER 2. CSS3

1. CSS 소개

2. CSS를 적용하는 세 가지 방법

3. 선택자(selector)

4. 텍스트를 꾸미는 CSS 요소

5. 가로 길이와 세로 길이 조정하기

6. 텍스트가 영역을 벗어날 때

7. HTML 엘리먼트의 위치 변경하기

8. 배경 꾸미기

9. 외곽선 긋기

10. float와 clear

11. 박스의 바깥 여백 설정하기

12. 박스의 안쪽 여백 설정하기

13. CSS 리셋

14. 애니메이션

15. transform

16. transition

17. display

18. 반응형 웹

19. 반응형으로 간단한 레이아웃 만들기

20. SVG 태그

CHAPTER 3. jQuery

1. jQuery 시작하기

2. 셀렉터

3. 엘리먼트 보이기와 숨기기

4. 클릭했을 때 무언가 하기

5. 마우스 포인터를 요소 위에 올릴 때 무언가 하기

6. 제이쿼리로 CSS 적용하기

7. 변수 사용하기

8. HTML 엘리먼트에 있는 텍스트 변경하기

9. HTML 태그 제어하기

10. 애니메이션 기능

11. 엘리먼트에 클래스 추가, 삭제하기

12. 엘리먼트의 이동

13. 폼 태그의 값 조정

14. 포커스

15. this 사용하기

16. 연산자

17. 함수 만들기

18. 변수에 대해서

19. 글로벌 변수와 로컬 변수

20. 조건문

21. 반복문

22. 스크롤 이벤트

23. AJAX

24. canvas 태그(HTML5)

project 나의 첫 웹서비스 만들기

CHAPTER 1. 나의 첫 웹서비스 프로젝트 소개

CHAPTER 2. 나의 첫 웹서비스 만들기 프로젝트 - front end

1. 메인 페이지 만들기(index.html)

2. 나의 페이지 만들기(me.html)

3. 모두의 페이지 만들기(all.html)

PART 2. 백엔드 MySQL + PHP

CHAPTER 1. MySQL

1. 데이터베이스란?

2. MySQL 시작하기

3. 데이터베이스 만들기

4. 테이블

5. 필드의 데이터 크기와 데이터형 지정하기

6. 테이블 생성하기

7. 필드의 추가, 수정, 삭제

8. 테이블 삭제하기

9. 테이블에 데이터 입력하기

10. 데이터 불러오기

11. 데이터의 값을 변경, 삭제하기

12. 테이블 초기화

13. 2개 이상의 테이블 사용하기(JOIN)

14. 집계함수

15. 그룹별 집계

16. 출력 결과의 정렬

17. 불러올 레코드 수 지정하기

18. 2개 이상의 테이블을 묶어 사용하기

19. 쿼리문 안의 쿼리문 서브쿼리

20. 특정 필드에 같은 값을 넣지 않는 방법

21. 서로 다른 필드의 값을 합쳐서 출력하기

22. 검색을 더욱 빠르게 하는 인덱스

CHAPTER 2. PHP

1. PHP 소개

2. 출력문

3. 주석

4. 변수

5. 연산자

6. 배열>

7. 데이터형

8. 조건문

9. 반복문

10. 함수

11. 함수 만들기

12. POST와 GET

13. 기능의 사물화

14. 코드의 재활용

15. PHP와 MySQL의 연동

16. 상수

17. 정규 표현식

18. 파일 업로드

19. 디렉터리 함수

20. 파일 함수

21. Anchor 태그의 ping 속성과 AJAX

22. 쿠키와 세션

23. 객체지향 프로그래밍

project 나의 첫 웹서비스 만들기

CHAPTER 3. 나의 첫 웹서비스 만들기 프로젝트 - back end

3-1. 회원가입 기능

3-2. 로그인, 로그아웃 기능

3-3. 게시물 등록하기

3-4. 게시물 불러오기

3-5. 댓글 등록하기

3-6. 댓글 불러오기

3-7. 게시물 공감하기

3-8. 모두의 페이지

3-9. 포토 업로드 기능

3-10. 나의 로그 만들기

글로벌 변수와 로컬 변수

글로벌 변수와 로컬 변수에 대해서 알아보겠습니다.
보통 글로벌 변수를 전역변수, 로컬변수는 지역변수 라고 하는데요.
저는 전역 변수와 지역변수라는 말을 들을때 단어 자체에 경기를 일으켜서 글로벌 변수와 로컬변수라고 하겠습니다.
다른곳에서는 지역변수, 전역 변수 라는 명칭을 사용하면 아하! 하면서 글로벌 변수, 로컬 변수 라고 생각나시면 됩니다.

우선 글로벌 변수와 로컬 변수에 설명하기 앞서 함수에 대해서 알아봅시다.

f(x)아시죠. 몰라도 됩니다.

음.. 어떤 특정한 행동을 하게끔 하기위해 함수를 선언하여 그 함수 안에 특정한 행동을 입력하는데요.

function function_name(){
}

위의 소스가 함수를 선언하는 소스 입니다.

우선 함수 선언을 위해 funciton을 적은후 함수의 이름을 적어 줍니다. 그리고 괄호를 열고 닫고 그 후 대괄호를 열고 닫고 해주며 대괄호 안에 실행할 명령문들을 적습니다.

예를 들어 함수의 이름을 ipad라고 해봅시다.

function ipad(){
}

위와 같이 function 후에 ipad를 적고 괄호를 열고 닫고 그후 대괄호를 열고 닫고 합니다. 그럼 ipad라는 함수가 생성된것입니다.

함수를 생성을 했는데 위와 같이 실행을 한다면 과연 실행이 될까요. 안됩니다. 함수를 따로 호출을 해야 하는데요 함수를 호출할때는 함수명(); 입니다.

함수 호출

함수명();
예를 들어 위와 같이 ipad라는 함수를 만들었다면
ipad();          <== 입니다.

소스를 통하여 테스트 해봅시다.

우선 함수를 만들어 봅시다. 함수는 hello world를 출력하는 함수 입니다.

function hello(){
document.write("Hello world");
}

아래의 소스는 함수는 만들었으나 함수를 호출하는 코드는 없습니다. 결과를 통하여 한번 체험 해보세요. 결과가 아무것도 안나오면 정상입니다.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>자바스크립트</title>
<script>
function hello(){
    document.write("Hello world");
}
</script>
</head>
<body>
</body>
</html>

위의 소스를 타이핑 해보시거나 이 소스를 웹에서 보기 버튼을 눌러 테스트를 해보시면 결과 화면에 아무것도 안나오는 것을 알 수 있습니다.

그럼 다음의 함수 호출문을 사용하여 결과를 확인해 봅시다.

    hello();

위의 소스는 hello라는 함수를 호출하는 함수 입니다. 그럼hello라는 함수가 호출되므로 hello함수 안에 있는 출력문이 실행합니다.

봅시당

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>자바스크립트</title>
<script>
function hello(){
  document.write("Hello world");
}
hello();
</script>
</head>
<body>
</body>
</html>

위 소스의 결과를 보면 hello함수가 작동하여 hello world라는 문구가 출력하는 것을 볼 수 있습니다.

지금은 글로벌 변수와 로컬 변수에 대해서 알아보는 시간이기 때문에 함수에 대한 설명은 여기서 마치겠습니다. ^-^

다시 정신을 차리고 글로벌 변수, 로컬 변수

var

var는 변수를 선언할때 사용합니다.

변수 선언할때
var 변수명 = 변수의 값;

var를 붙이지 않아도 사용 가능 합니다.

일단 글로벌 변수와 로컬 변수는 이름에서 보듯이 글로벌 변수는 어디에서나 사용 가능한 변수이며 로컬 변수는 특정 지역에서만 사용하는 변수 입니다.

여기에서 말하는 특정지역은 함수를 말합니다. 자신이 만든 특정한 함수 안에서만 활동하는 함수는 로컬 함수로 함수 밖에서는 사용을 못하지요. 하지만 글로벌 함수는 이 함수 저함수 함수가 아닌곳에서도 사용이 가능 하답니다.

이해하기 쉽도록 제가 css를 이용하여 한번 만들어 보도록 하겠습니다.

<!DOCTYPE html>
<html>
<head>
<title>웹 에디터에서 제이쿼리 예제가 구동이 안될시에는 파이어폭스(권장) 또는 인터넷 익스플로러를 이용해주세요.</title>
<script>
a = 10;

function hello(){
hello = "Hello World";


document.write(hello);
}





</script>
</head>
<body>
</body>
</html>

빨간색 영역은 글로벌 변수가 인식되는 공간입니다. 그래서 이름도 글로벌(전역)변수입니다. ^-^

파란색 영역은 로컬 변수가 인식되는 공간입니다. 함수 내에서만 위력을 발휘하네요. 그래서 로컬(지역)변수입니다. ^-^

위의 내용만으로는 잘 알 수 없으니 직접 변수를 함수 밖과 함수 안에서 선언하여 테스트를 해봅시다.

아래의 소스는 글로벌 변수 glo_var을 선언하고 함수 안에 로컬변수 local_var을 선언 해서 함수 밖에 출력문을 이용하여 glo_var 변수를 출력하는 예제입니다.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>자바스크립트</title>
<style type="text/css">
</style>
<script type="text/javascript">

glo_var = 10;
function hello(){
  local_var = 20;
}

document.write(glo_var);
</script>
</head>
<body>
</body>
</html>

위의 소스를 실행해보면 변수 glo_var의 값인 10이 출력되는걸 보실 수 있습니다.

그럼 위의 소스에서 출력문의 변수를 로컬 변수로 변경하여 값이 출력 되는지 안되는지 한번 해봅시다.

결과는 당연히 로컬변수이기 때문에 출력이 안됩니다만 그래도 눈으로 보고 이해를 해봅시다.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>자바스크립트</title>
<style type="text/css">
</style>
<script type="text/javascript">

glo_var = 10;
function hello(){
local_var = 20;
}
document.write(local_var);

</script>
</head>
<body>
</body>
</html>

위의 소스를 실행 해보면 결과에 아무것도 출력이 안되는걸 보실 수 있습니다. 그 이유는 로컬 변수를 해당 함수 밖에서 실행을 했기 때문이죠. ^^

함수 안에서 변수명 앞에 var를 붙인것과 안붙인것의 차이.

함수 밖에서의 글로벌 변수 앞에 var을 붙이건 안붙이건 글로벌 변수 입니다만,

함수 안에서는 다릅니다.

로컬 변수 앞에 var가 있다면 그 로컬변수는 함수 안에서만 작동하지만,

로컬 변수 앞에 var가 없다면 해당 함수가 한번 호출 된 이후에는 글로벌 변수가 된다.

다음 예제를 통하여 확인해 봅시다.

아래의 예제는 var가 붙지 않은 변수인 local_var2 변수를 함수 밖에서 출력을 하는 함수 입니다.

var가 붙지 않는 변수는 한번 그 함수를 호출 한다면 글로벌 변수가 되는데요. 아래의 소스에는 hello 함수를 호출하는 부분이 없으므로 결과는 출력이 되지 않겠죠? ^^

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>자바스크립트</title>
<style type="text/css">
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.0.min.js" ></script>
<script type="text/javascript">

glo_var = 10;
function hello(){
var local_var = 20;
local_var2 = 30;
}
document.write(local_var2);

</script>
</head>
<body>
</body>
</html>

아래의 소스는 위의 소스에서 함수 호출 부분인 hello()를 함수 밖에 선언한 것입니다. 함수를 호출 하므로써 local_var2 변수는 글로벌 변수가 되므로 결과값을 보여줍니다.^^

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>자바스크립트</title>
<style type="text/css">
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.0.min.js" ></script>
<script type="text/javascript">

glo_var = 10;
function hello(){
var local_var = 20;
local_var2 = 30;
}
hello();
document.write(local_var2);

</script>
</head>
<body>
</body>
</html>

보시면 결과값이 보이죠.^^ 이걸로 글로벌변수와, 로컬 변수에 관한 강좌를 마치겠습니다. ^^

강좌로 돌아가기