IT 포스팅 2013. 3. 8. 12:11

자바의 창시자 "제임스" 아저씨 아시죠? 그분의 캐리커처가 등장하는 만화에요. 좀 비슷하나요? ^^



posted by 로드북
:
IT 포스팅 2013. 3. 7. 18:03

<자바의 신> VOL.1의 8장을 보면 this를 이렇게 설명하고 있습니다.


this라는 예약어는 영어 단어의 의미 그대로 “이 객체”의 의미다. 하지만, 자바에는 that이라는 예약어는 없다(좀 썰렁한가?). this 예약어는 생성자와 메소드 안에서 사용할 수 있다. 앞장에서 살펴본 생성자 중에서 매개 변수를 하나만 받는 생성자를 다시 살펴보자.


이 코드에 this라는 것이 없으면 어떨까?


여러분들이 자바에서 컴파일을 하는 컴파일러(javac)라고 생각해보자. 인스턴스 변수인 name도 있고 매개 변수로 넘어온 name도 있다. 여러분들의 마음은 앞에 있는 name은 인스턴스 변수인 name으로 생각하게 하고, 뒤에 있는 name은 매개 변수인 name으로 생각하고 싶을 것이다. 하지만, 컴파일러는 여러분들의 마음처럼 쉽게 움직여 주질 않는다. 생성자 안에서 사용하는 변수이기 때문에 중괄호 안에 있는 name은 모두 매개 변수로 넘겨준 name이라고 생각한다. 이러한 혼동을 가장 쉽게 피하는 방법은 매개 변수와 인스턴스 변수의 이름을 다음과 같이 다르게 하는 것이다.


이렇게 이름을 다르게 하면 쉽게 구분이 되기 때문에 여러분들도 컴파일러도 혼동되지 않을 것이다. 하지만, 이렇게 이름을 구분하는 것보다 간단한 방법이 this라는 예약어를 사용하는 것이다. 처음에 살펴본 생성자를 다시 보자.

이렇게 this.name이라고 지정해 주면, 매개 변수 안에 있는 name이 아닌 “이 객체의 name”이라고 명시적으로 지정해 준다. 그러면, 컴파일러나 여러분들도 쉽게 구분이 될 것이다. this라는 키워드는 이렇게 변수에만 지정할 수 있는 것은 아니다. 메소드에도 this를 지정할 수 있다. 여러분들이 아직 상속에 대해서 배우지 않았기 때문에 메소드에 this를 붙이는 것은 다음 장에서 자바의 상속을 배운 후에 살펴보자.


이제 자바의 예약어 this가 뭔지 아시겠죠? 헷갈리지 마세요. ^^





posted by 로드북
:
IT 포스팅 2013. 2. 22. 17:39

워드프레스를 이용하여 웹 사이트를 제작하게 되면,

 1  검색 엔진에서 가장 먼저 검색이 됩니다. 워드프레스가 SEO 즉 Search Engine Optimize가 되어 있어, 검색 엔진에서 가장 먼저 해당 내용이 검색되는 장점이 있습니다.

 2  아주 복잡한 사이트가 아니면 웹 프로그래머가 필요 없을 정도로 쉽게 사이트를 만들 수 있습니다. 워드프레스는 PHP와 MySQL 기반으로 작동하고, 데이터베이스에 최적화가 되어 있기 때문에 쉽게 데이터베이스를 사용할 수 있습니다.

 3   아주 다양한 플러그 인 들이 존재합니다. 워드프레스는 유,무료 플러그 인이 다양하게 존재하기 때문에, 사이트를 만들다 이런 기능이 필요하다 싶은 경우, 플러그 인만 설치해도 해당 기능을 사용할 수 있을 정도로 많은 플러그 인이 존재합니다. 많은 수의 플러그 인이 무료로 제공됩니다.

 4   워드프레스는 스킨만 바꿔주면 사이트를 순식간에 개편할 수 있습니다.  워드프레스는 코어 부분과 스킨이 따로 존재하기 때문에 스킨만 변경해 주는 것으로 사이트를 쉽게 리뉴얼 할 수 있습니다. 스킨은 CSS로 제어하기 때문에 아주 편리하고 빠르게 수정 가능합니다.

 5   워드프레스는 공개용이지만 아주 빠르게 패치가 제공되기 때문에, 보안적으로도 안전합니다.

 6   워드프레스는 import, export 도구를 제공하기 때문에 웹 서버를 옮기더라도 손 쉽게 데이터 까지 이동이 가능합니다.


여러분도 워드프레스 사이트를 직접 만들어보세요.

http://css3.zerois.net/wordpress/





이 책은 현재 세계에서 가장 많이 사용하는 CMS 도구인 워드프레스를 이용하여  웹 디자이너가 웹 프로그래머 도움 없이 혼자서 기업용 사이트를 만드는 방법을 설명합니다.

한국에서는 워드프레스란 도구가 단순히 블로그를 만드는 도구로만 설명되어 있는데, 실제 외국에서는 기업용 웹사이트를 워드프레스를 이용해서 만들고 있습니다.




이제 워드프레스를 이용하여 기업용 웹 사이트를 멋지게 만들어 보세요.

이 책 하나만 있으면 누구나 원하는 기업용 웹 사이트를 만들 수 있습니다.


다음 책들고 함께 보시면 좋습니다. ^^


        



posted by 로드북
:
IT 포스팅 2012. 1. 2. 02:45
본 컬럼은 2012년 2월 출간예정인 로드북의,
<아키텍처, 이렇게 설계하지 말라>(가제)
에서 발췌한 컬럼 내용 중 일부입니다. 

 
  “따로 IT 아키텍트라고 하지 않아도 기술 리더라든가, 공통팀 담당이라든가, 지금까지 그렇게 불리기도 했고, 그걸로 된 거 아냐?”. 
  “IT 아키텍트가 뭐야?”, “구체적으로 어떤 일을 하는 거야?”라든가, “IT 아키텍트가 정말 필요한 거야?”라는 질문을 많이 받습니다. 그 때마다 IT 아키텍트는 이러한 입장이고 이러한 일을 수행하는 역할이고, 시스템을 성공시키기 위해 필요한 직종이라고 열심히 이야기를 하곤 합니다.
 물론, 이전부터 공통팀이나 표준화팀이라는 형태로 어떤 기술 중심적인 역할의 조직이나 팀을 배치하고 있는 기업에서도 서두와 같은 질문을 받습니다. 

“IT 아키텍트”라는 말의 의미를 “아작스(Ajax)”나 “웹2.0(Web 2.0)”을 근거로 얘기해 보겠습니다.

  “아작스(Ajax)”는 Jesse James Garrett씨가 만든 용어입니다. 자바 스크립트(Java Script)에서 비동기 통신을 하고, 리치한 사용자 체험을 가능하게 하는 기술적인 개념입니다. 아작스(Ajax)라는 말이 나오기 이전, 자바 스크립트는 웹 시스템 개발자에게 미움을 받았습니다. 보안 문제가 있었으며 웹 브라우저 간의 호환성에 문제가 있었던 것이 주된 원인이었습니다.
 
  하지만, 상황은 아작스(Ajax)가 등장하면서 크게 변했습니다. 아작스(Ajax)의 대명사가 된 구글 맵(Google Maps)이 화제로 되면서, 지금까지 웹에는 없었던 획기적인 조작을 할 수 있다는 인식이 생기게 되어 눈 깜박할 사이에 보급이 되었습니다. 아작스(Ajax)라는 말은 프로그래밍 언어나 소프트웨어 등 특정의 무엇인가를 가리키는 말은 아닙니다. 어디까지나 비동기 통신 등을 중심으로 한 기술적인 개념에 지나지 않습니다. 단, 이러한 기술적인 개념들에 이름을 붙임으로써 큰 변화가 생겨나게 된 것입니다. 

  아작스(Ajax)라는 개념을 정의함으로써, 막연하게 엔지니어들이 생각해왔던 개념(보다 리치한 사용자 체험을 가능하게 하는 것)을 공유할 수 있게 되었습니다. 그로 인해 커뮤니케이션의 오류가 일어나지 않게 되었을 뿐만 아니라, 리치한 사용자 체험을 의식하지 않았던 엔지니어들이 흥미를 갖게 되면서, 보다 복잡하고 고도의 웹 어플리케이션이 점점 등장하게 되었습니다. 아작스(Ajax)라는 말이 없었다면 요즘의 자바 스크립트에 의한 고도의 사용자 인터페이스는 여기까지 급속하게 보급되지 않았을 것입니다. 

  Tim O’Reilly씨가 제창하는 웹2.0에 대해서도 마찬가지입니다. Tim O’Reilly씨는 웹 진화 과정을 개념적으로 명확히 함으로써 웹 진화를 촉진시켰습니다. 웹2.0이란 말이 널리 퍼지기 시작하면서 웹이나 업계 전체가 활기차게 된 것은 틀림없습니다. 웹2.0이 해 준 역할이 상당히 큽니다. 

  타인에게 설명하기는 어렵지만 커뮤니케이션을 하기 위해 필요한 개념에 대해 이름을 붙입니다. 그렇게 함으로 커뮤니케이션이 원활하게 되고, 막연하기만 했던 개념이 사람들에 의해 인식되는 “형태”가 되어 보급됩니다.
 
 IT 아키텍트라는 말도 아작스나 웹2.0과 같이 시스템 개발을 원활하게 하여 IT의 질을 향상시키는 요소로써 필요한 개념입니다. 
posted by 로드북
:
IT 포스팅 2011. 12. 7. 14:36
로드북의 두 번째 책 <거꾸로 배우는 소프트웨어 개발>에서 테스트 자동화 관련 내용의 일부를 발췌하였습니다. 아래 삽화는 아래 카피라잇만 포함한다면 상업적 용도외에 모든 곳에 사용할 수 있습니다. 회사에서 프레젠테이션을 재미있게 해본다든지 할 때 활용해보세요.

ⓒ 로드북, <거꾸로 배우는 소프트웨어 개발>(이호종 저, 2011)

-----------------------------------------------------------
참고로, 이 책은 <사람과 프로그래머> 시리즈 두 번째입니다. 소프트웨어 개발에 관해 인문학적으로 접근하고 있습니다.
-----------------------------------------------------------

구제역이 발생하면 발생 농가로부터 반경 3Km를 위험지역으로 분류하고 출입 통제와 함께 차단 방역을 실시한다. 소프트웨어 버그도 마찬가지로 대처할 수 있다. 버그 발생 구역을 집중 감시 구역으로 설정하고, 버그 구제/퇴치 작업을 진행하는 도중에 새로운 버그가 생겨나지 않도록 차단막을 설치 가동해야 한다. 그게 바로 ‘단위 테스트’이고 ‘테스트 자동화 Test Automation’이다.


물론, 가난한 유기농 농가(?)에서는 이런 자동화 설비를 구축하기 어려운 게 사실이다. 하지만 형편이 좀 나은 곳에서도 그다지 필요성을 잘 못 느끼는 경우가 많다. 어떻게 하면 좋을까?
 
먼저 인식 전환이 필요하다. 소프트웨어 결함에 너무 안일해지지 않아야 한다. 어쩔 수 없는 것이라고 체념하지 말자. 극복하고 돌파해야 할 과제라고 인식을 바꿔야 한다. 또한, 효과적인 결함 관리를 위해서는 쉽게 피로해지는 사람의 손과 눈을 어느 정도 보완해줄 수 있는 ‘자동화 기계’가 필요하다는 공감이 개발조직에 확산되어야 한다.

사실 ‘자동화 기계’라고 했지만, 이것을 마련하고 가동하는 데 엄청난 비용이 드는 건 아니다. 알고 보면, 저렴하게 이용할 수 있는 ‘기계’가 많다. 단위 테스트 도구인 xUnit 을 권한다. 대부분 프로그래밍 언어마다 xUnit 패키지가 있다. 뭘 새로 많이 개발해야 하는 게 아니다. 그냥 xUnit 사용법을 익히면 된다. 세균과의 전쟁을 맨 몸으로 하지 않아도 된다. 프로그래머의 뇌를 매개체로 증식하는 세균 같은 소프트웨어 버그에 대처하기 위한 체계적이고 안전한 방호법이다. 버그의 유충까지 섬멸할 수 있는 자동 화염 방사기다. 디버깅하느라 ‘삽질’을 하고 있었다면, 이젠 삽 대신 xUnit을 사용해보자. 개발이 달라진다.
posted by 로드북
:
IT 포스팅 2011. 11. 15. 02:39
ⓒ 손은영 & 로드북(www.roadbook.co.kr)
(2011년 12월 출간 예정인 <빅데이터 시대를 준비하는 NoSQL 핵심 가이드(가제)>의 실행 환경 구축을 실었습니다)

먼저 CentOS 5.4 설치방법입니다. 
 
1. CentOS 5.4 파일을 다운로드 받습니다.
 
5.7 버전 이후의 CentOS를 다운받으려면 아래 사이트에 가서 자신에게 가까운 지역을 고르면 됩니다.
 

하지만 CentOS 5.4는 아래 사이트를 통해 다운받으셔야 합니다.

위 주소에서 본인의 컴퓨터에 따라 i386과 x86_64 중 하나를 선택하여 ‘CentOS-5.4-i386-bin-1of6.iso’와 같은 .iso 파일을 클릭하여 받으시면 됩니다. 6개로 나뉘어져 있는데 기본적인 설치에는 1번 ~ 3번 파일만 받으셔도 됩니다. iso 파일을 다 받으면 CentOS를 설치합니다.

2. CentOS 설치
가상컴퓨터에 CentOS를 설치해 보도록 하겠습니다. VMware Player 4.0 버전을 사용하였습니다. VMware 홈페이지에서 30일 무료버전을 받으실 수 있습니다. 아니면 다음이나 네이버에서도 쉐어웨어를 받으실 수 있습니다. 편한 곳에서 받아서 설치하시면 됩니다.
 

설치한 VMware Player를 열고 CentOS를 설치하겠습니다. 먼저 VMware Player를 실행합니다. 


오른쪽 제일 위의 ‘Create a New Virtual Machine’옆의 그림을 클릭합니다.
 

 
여기서 ‘Installer disc image file(iso)’를 선택하고 Browser를 클릭하여 위에서 받은 CentOS 5.4 1번 파일을 찾아서 클릭한 후 Next 버튼을 누릅니다.
Linux 정보를 넣는 화면입니다. 사용하실 Full name과 User name 및 Password를 입력해주시면 됩니다. 여기서 입력한 패스워드가 사용자의 password 및 시스템 root 아이디의 패스워드가 됩니다.
 


posted by 로드북
:
IT 포스팅 2011. 8. 12. 02:47
로드북의 두 번째 책 <거꾸로 배우는 소프트웨어 개발>(8월 출간 예정)에서 Scrum 내용의 일부를 발췌하였습니다. 역시 아래 삽화는 아래 카피라잇만 포함한다면 상업적 용도외에 모든 곳에 사용할 수 있습니다. 회사에서 프레젠테이션을 재미있게 해본다든지 할 때 활용해보세요.

ⓒ 로드북, <거꾸로 배우는 소프트웨어 개발>(이호종 저, 2011)

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