CREATE TABLE charge (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
applicant VARCHAR(32) NOT NULL DEFAULT '',
title VARCHAR(128) NOT NULL DEFAULT '',
content TEXT NOT NULL DEFAULT '',
created_on DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
updated_on DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DB 적용
$ mysql -u ID -p Don_db < DonDB.sql
DB 구성(Model)은 어떻게 할까?
$ ./script/silex_web_donnenwa_create.pl model DonDB DBIC::Schema \
Silex::Schema create=static dbi:mysql:DonDB_db:localhost ID PASSWORD
$ lib/Foo/Web.pm
use utf8;
use Catalyst qw/
-Debug
ConfigLoader
Static::Simple
#추가
Unicode::Encoding
/;
인스톨
$ carton install
...
부분 인스톨
$ carton install <모듈네임> 합니다.
Controller 생성
$ script/foo_web_create.pl controller List
$ cd lib/Foo/Web/Controller
$ vi List.pm
// 주석처리
# $c->response->body('Matched Foo::Web::Controller::List in List.');
View 생성
$ mkdir root/templates/bootstap/src/list
$ cd root/templates/bootstrap/src/list
$ vi index.tt
<p>나는 지금 한글을 테스트 중입니다.</p> 작성
반환된 값이 숫자와 단위 문자열이 합쳐져 있으므로 각각 나누기 위해 변수를 따로 저장
변수 이름에 $는 변수명에 쓰이며 jQuery객체를 저장하고 있다는 의미로 사용된다.
var $speech = $('div.speech');
var currentSize = $speech.css('fontSize');
문자열에서 숫자까지만 변환하여 추출(10진수 옵션 설정)
숫자가 아니면 NaN(Not a Number)반환
var num = parseFloat(currentSize, 10);
fontSize의 유닛을 구함(px, em)
var unit = currentSize.slice(-2);
현재 클릭된 버튼의 아이디를 확인하여 숫자연산 후
css에 fontSize 적용
if (this.id == 'switcher-large') {
num *= 1.4;
} else if (this.id == 'switcher-small') {
num /= 1.4;
}
$speech.css('fontSize', num + unit);
css-part
12345678910111213
$('div.button').click(function() {
var $speech = $('div.speech');
var currentSize = $speech.css('fontSize');
var num = parseFloat(currentSize, 10);
var unit = currentSize.slice(-2);
if (this.id == 'switcher-large') {
num *= 1.4;
} else if (this.id == 'switcher-small') {
num /= 1.4;
}
$speech.css('fontSize', num + unit);
});
hide와 show
jQuery 효과에 속도를 지정할때는 ‘slow’, ‘normal’, ‘fast’(각각 0.6, 0.4 0.2초)를 지정할수 있으며
밀리초 단위의 시간을 조정할수 있다(근데 난 차이를 모르겠다..)
DOM을 조작할 수 있도록 jQuery가 제공하는 메서드들은 광범위하기 때문에 어떤 작업을
처리할 때 어떤 메서드들이 어느 경우에 도움을 줄 수 있는지를 한눈에 보여줄 수 있도록
관련된 메서드들을 기능별 범주로 나누어 보았다.
새로운 요소를 검색된 요소 안에 삽입하기 위한 메서드
.append()
.appendTo()
.prepend()
.prependTo()
새로운 요소를 검색된 요소 전/후에 삽입하기 위한 메서드
.after()
.insertAfter()
.before()
.insertBefore()
새로운 요소로 검색된 요소를 감싸면서 삽입하기 위한 메서드
.wrap()
검색된 요소를 새로운 요소 또는 텍스트로 대치하기 위한 메서드
.html()
.text()
실제 삭제 하지 않고 도큐먼트에서 검색된 요소와 자식들을 제거하기 위한 메서드
.remove()
요약
DOM과 관련된 jQuery 메서드를 사용하여 콘텐츠를 생성해보거나 복사하는 데 사용하기도 하고 조립하거나
장식하는 데에도 사용하였다. 그리고 웹 페이지상의 문장을 주석으로 변경해 보거나 인용표시나 링크로
또는 스타일이 적용된 인용 문구로 변경해 볼 때에도 jQuery 메서드들을 사용해 보았다
변화를 주기 위해서 여러 효과들을 적용하다 보면, 이 효과들이 한 번에 동작하는지 또는 순서
대로 동작하는지를 기억하기가 쉽지 않을 수 있다. 도움을 주기 위해 간단히 몇 가지 요점을
정리해 보았다.
요소들의 단일 집합에서 효과들은
하나의 .animate() 메서드를 사용하여 여러 프로퍼티를 적용하게 되면, 그 효과는 동시에 일어난다.
효과 메서드들을 연쇄적으로 나열하는 방법으로 연결고리에 넣으면 큐에 쌓여서 효과가 순서대로 일어난다.
요소들의 다중 집합에서 효과들은,
기본적으로 동시에 일어난다
이벤트 핸들러의 콜백 안에서 구현되는 효과는 큐에 쌓인다.
요약
효과 메서드를 이용하면, .css()메서드를 사용해서 텍스트의 크기를 키우거나 줄일수 있다.
또한 점진적으로 숨기거나 보여주기 위한 여러 가지 효과들을 다양한 방법들로 적용할 수 있으며,
한 번에 또는 순차적으로 여러 가지 방법을 사용해서 요소들에 애니메이션을 부여할수 있다