워드프레스(WordPress)로 나만의 블로그 만들기

이 글은 크몽 재능인, socurites님이 원고를 기고하셨습니다.

이제 막 블로그(blog)를 시작하려고 마음 먹었다면, 워드프레스 블로그를 사용하기를 권한다. 물론 네이버 블로그, 다음 티스토리 블로그도 상당히 좋다. 하지만 워드프레스 블로그가 제공하는 다양한 기능을 활용하면 홈페이지 수준의 블로그를 쉽게 만들 수 있다. 또한 유료 테마를 구매하면, 정말이지 맛깔나는 나만의 블로그를 구축할 수 있다.

블로그 만들기

워드프레스 사이트에 회원가입한 후, My Blog 페이지에서 블로그를 생성한다.

Screen Shot 2014-03-24 at 9.18.13 PM

블로그의 URL과 블로그 타이틀을 입력한다.

Screen Shot 2014-03-24 at 9.19.29 PM

Privacy(정보보호)

내 블로그의 컨텐츠를 어디까지 공유할지 설정할 수 있다.

  • viewable by everyone(모두 공유)
    블로그에 올린 모든 컨텐츠를 공유한다.
  • viewable by everyone, but to block search engines(모두 공유, 검색 제외)
    블로그에 올린 모든 컨텐츠를 공유하지만, 검색엔진의 접근은 허용하지 않는다.
  • private(개인)
    컨텐츠에 대한 외부 접근을 모두 허용하지 않는다.

워드프레스 라이센스(WordPress License)

워드프레스 블로그는 무료로 만들 수 있지만, 총 3가지의 라이센스를 제공한다.

  • Beginner
    무료이며, 워드프레스 블로그를 처음 시작한다면 Beginner로 무난하게 만들 수 있다.
  • Premium
    1년에 99달러이며, eCommerce와 Premium Themes 기능을 제외하면 대다수의 기능을 사용할 수 있다.
  • Business
    1년에 299달러로, 모든 기능을 사용할 수 있으며 용량에도 제한이 없다.

일단 무료 라이센스인 Beginner로 시작해보자.

워드프레스 관리

블로그를 만들고 나면, 이제 블로그의 세부사항을 설정할 수 있다. 블로그 관리(Manage My Blogs) 페이지로 접속해보자.

Screen Shot 2014-03-24 at 9.32.26 PM

블로그 관리에는 왼쪽에 총 12개의 메뉴가 제공된다.

  • Dashboard
    블로그 사용 통계를 확인할 수 있다. 페이지뷰(Page View), 클릭 카운트(Click Count) 등 블로그 운영과 관련한 통계지표를 확인한다.
  • Store
    워드프레스에서 제공하는 유료 기능(테마, 라이센스 등)을 구매할 수 있다.
  • Posts
    블로그에 쓴 글을 관리하거나, 새로운 글을 등록할 수 있다.
  • Media
    이미지, 동영상 등 블로그 글에 삽입할 컨텐츠를 관리할 수 있다.
  • Links
  • Pages
    블로그에 게시할 정적인 웹 페이지를 만들 수 있다.
  • Comments
    블로그에 등록된 댓글을 관리할 수 있다.
  • Feedback
  • Appearance
    블로그 테마를 바꾸거나, 위젯 등을 추가할 수 있다.
  • Users
    네이버 블로그, 티스토리 블로그와는 달리 워드프레스 블로그에는 다른 사용자들이 회원가입을 할 수 있다.
  • Tools
    블로그 글을 일괄 입력(import) 또는 출력(export)할 수 있다.
  • Settings
    블로그의 전반적인 설정을 할 수 있다.

블로그 테마 바꾸기

Appearance > Themes 메뉴를 선택하면, 사용할 수 있는 다양한 테마가 제공된다. 무료 테마인 Sorbet을 찾아서, Activate 버튼을 클릭한다.

Screen Shot 2014-03-24 at 9.45.18 PM

이처럼 몇차례의 클릭만으로 아래와 같이 깔끔한 나만의 블로그를 금방 만들 수 있다.

Screen Shot 2014-03-24 at 9.50.57 PM

 

이 외에도 워드프레스에서 제공하는 기능이 너무 많다. 따라서 시작할 때 너무 많은 설정을 하기보다는, 블로그 글을 하나 둘씩 써나가면서 필요한 부분을 적용하는 편이 낫다.

크몽 재능

도메인 특화 언어(DSL) 관점에서 바라본 CSS 프리프로세서(Preprocessor)

이 글은 크몽 재능인, socurites님이 원고를 기고하셨습니다.

dsl_book_face

작년에 마틴 파울러님이 쓴 “DSL, 고객과 함께 하는 도메인 특화 언어(인사이트 출판사)”를 번역을 했었다.

첫 번역 작업이니만큼 쉽지는 않았지만, 많은 것들을 배울 수 있었다. 책이 출판되고 나서야 실제 적용 사례에 관심을 갖기 시작했는데, 적용사례가 생각보다 많지 않았던 것 같다.

요즘에는 트위터 부트스트랩(Bootstrap)을 배우는 중인데, 알맞은 사례를 찾을 수 있어서 관련 내용을 써보려고 한다. 사실 이미 책에서 소개되었던 내용이었는데, 너무 게을러서 찾아보지 못했었다.

CSS는 DSL이다.

“DSL, 고객과 함께 하는 도메인 특화 언어”의 10장, “Zoo of DSLs”에서 CSS를 DSL의 사례로 들었다. CSS가 DSL인 이유로 아래의 특징을 들었다.

  • CSS는 도메인 전문가가 읽을 뿐만 아니라, 도메인 전문가가 직접 작성하기도 한다.
    CSS를 작성하는 사람은 자신을 프로그래머가 아닌 웹 디자이너로 본다. 다시 말해 CSS에서 도메인 전문가는 웹 디자이너다.
  • CSS는 선언적 컴퓨팅 모델을 가진다.
    범용 프로그래밍 언어가 “이것을 해라,그리고 나서 저것을 해라”라는 식으로 명령형 모델을 가지는 것과는 달리, CSS는 선언적이다.
  • CSS는 특정 도메인에 특화된 언어다.
    웹 생태계에서 CSS는 HTML 요소에 대한 스타일을 적용하기 위해서 사용된다. 전체 웹 어플리케이션을 CSS만을 사용해서 개발할 수는 없다.

CSS에는 추상화 기능이 부족하다

대다수의 DSL과 마찬가지로 CSS에는 새로운 추상화를 만들 수 있는 방법이 아예 없다. DSL이 특정 도메인에 특화되어 제한적인 방식으로만 사용할 수 있기 때문이다. 그래서 CSS에는 아쉬운 점이 몇가지 있다. 아래의 예를 보자.

h1, h2 {
    color: #926C41;
    font-family: sans-serif;
}

b {
    color: #926C41;
}

*.sidebar {
    color: #928841;
    font-size: 80%;
    font-family: sans-serif;
}

두 요소에 동일한 색상 코드(#926C41)를 사용했다. 프로그래밍 세계에서 중복은 해악이므로, 이러한 색상 코드를 추상화할 수 있는 기능이 있었다면 더욱 좋았을 것이다. 또한 사이즈나 여백을 조작할 때 필요한 산술연산도 CSS에는 없다.

DSL 상위 레이어 만들기

CSS DSL에 부족한 기능을 추상 레이어로 얹어서, 새로운 DSL을 만들 수 있다. 예를 들어 앞의 코드를 다음과 같이 만들어 볼 수 있다.

@baseColor : #926C41

h1, h2 {
    color: @baseColor;
    font-family: sans-serif;
}

b {
    color: @baseColor;
}

*.sidebar {
    color: #928841;
    font-size: 80%;
    font-family: sans-serif;
}

물론 CSS 자체에서 이러한 기능을 제공하지는 않는다. 하지만 CSS을 추상화한 새로운 형식의 DSL을 만들어서 아래와 같은 절차로 처리해볼 수 있다.

css_dsl

CSS를 추상화한 DSL 사례

사실 위의 설명을 그대로 따르는 DSL이 이미 만들어졌다. 이러한 DSL의 예로 LESS, SASS 등이 있다. 이처럼 DSL의 상위에 추상 레이어를 만들어서 새로운 DSL을 정의할 때 주의할 점은, 기반 DSL(여기서는 CSS)과 유사해야 한다는 점이다. 실제로 SASS나 LESS는 CSS와 동일한 속성명을 사용한다.

크몽 재능

부트스트랩(Bootstrap) 맛보기

이 글은 크몽 재능인, socurites님이 원고를 기고하셨습니다.

이번에는 부트스트랩(bootstrap) 맛보기다. 일단 사이트 대문에서 아래와 같이 설명한다.

부트스트랩 : 세련되고 직관적이며 강력한 프론트엔드 프레임워크로, 빠르고 쉽게 웹 개발을 할 수 있도록 돕는다.
(BootStrap : Sleek, intuitive, and powerful front-end framework for faster and easier web development.)

bootstrap의 장점은 하나의 코드로 웹 화면과 모바일 화면 모두를 지원한다는 점이다. 일단 bootstrap 사이트에서, 최신 버전을 다운로드하자.

파일 구조

bootstrap 파일을 다운로드한 후, 압축을 풀면 아래와 같은 디렉토리 구조를 가진다.

./
├── css/
│    ├── bootstrap-responsive.css
│    ├── bootstrap-responsive.min.css
│    ├── bootstrap.css
│    └── bootstrap.min.css
├── img/
│    ├── glyphicons-halflings-white.png
│    └── glyphicons-halflings.png
└── js/
├── bootstrap.js
└── bootstrap.min.js

부트스트랩은 jQuery를 필요로 한다. 아무래도 jQuery 기반의 플러그인으로 볼 수 있을 듯 하다.

구성 요소

제공하는 구성 요소는 다음과 같다고 하는데, 별거는 없어 보인다.

  • 스카폴드(Scaffold)
    body에서 타입, 배경, 링크 스타일, 그리드 시스템, 2개의 간단한 레이아웃을 재설정하기 위한 글로벌 스타일
  • CSS
    글자체, 코드, 테이블, 폼, 버튼 등 공통적인 HTML 요소를 위한 스타일. 작고 멋진 아이콘 집합인 Glyphicons를 포함
  • 컴포넌트
    탭, 필(pill, 모서리가 둥근 사각형), 네비게이션 바, alert, 페이지 헤더 등 공통 인터페이스 컴포넌트를 위한 기본 스타일
  • 자바스크립트 플러그인
    자바스크립트 플러그인은 컴포넌트와 비슷하지만, 툴팁, 팝업, 모달 등과 같은 인터랙티브 컴포넌트(interactive component)

기본 아이콘 집합인 Glyphcions보다는 font-awesome을 사용하기 바란다.

부트스트랩을 사용하기 위한 HTML 템플릿 만들기

일단 아래와 같은 Hello World HTML 파일을 만들자. jQuery가 반드시 필요하다.

<!DOCTYPE html>
<html>
    <head>
        <title>Bootstrap 101 Template</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <h1>Hello, World!</h1>
        <script src="http://code.jquery.com/jquery.js"></script>
    </body>
</html>

이제 이 파일을 부트스트랩 템플릿으로 만들어 보자. 다운로드 받은 bootstrap 파일들을 적당한 위치에 위치시킨다. 아래는 내가 사용중인 Aptana Studio의 bootstrap-test 프로젝트 디렉토리 구조다.

bootstrap-aptana

hello.html 파일에 리소스 파일인 자바스크립트와 CSS 파일을 포함한다.

<!DOCTYPE html>
<html>
    <head>
        <title>Bootstrap 101 Template</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
    </head>
    <body>
        <h1>Hello, World!</h1>
        <script src="http://code.jquery.com/jquery.js"></script>
        <script src="js/bootstrap.min.js"></script>
    </body>
</html>

이제 부트스트랩을 사용할 준비는 끝났다.

부트스트랩 쉽게 개발하기

http://bootply.com 로 접속하자. 샘플과 템플릿 등을 작성해서 바로바로 실행해볼 수 있다. 아래는 Bootstrap Starter Template을 사용한 hello.html 파일이다.

<!DOCTYPE html>
<html>
<head>
    <title>Bootstrap 101 Template</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
    <style>
    body {
        padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
    }
    </style>
</head>
<body>
    <div class="navbar navbar-inverse navbar-fixed-top">
        <div class="navbar-inner">
            <div class="container">
                <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a class="brand" href="#">Project name</a>
                <div class="nav-collapse collapse">
                    <ul class="nav">
                        <li class="active">
                            <a href="#">Home</a>
                        </li>
                        <li>
                            <a href="#about">About</a>
                        </li>
                        <li>
                            <a href="#contact">Contact</a>w project.
                            All you get is this message and a barebones HTML
                        </li>
                    </ul>
                </div><!--/.nav-collapse -->
            </div>
        </div>
    </div>
    <div class="container">
        <h1>Bootstrap starter template</h1>
        <p>
            Use this document as a way to quick start any new project.
            <br>
            All you get is this message and a barebones HTML document.
        </p>
    </div>
    <!-- /container -->
    <script src="http://code.jquery.com/jquery.js"></script>
    <script src="js/bootstrap.min.js"></script>
</body>
</html>

아래와 같이 큰 수고를 들이지 않고도 꽤 이쁜 화면을 만들 수 있다.

bootstrap_web_sample

부트스트랩 유용한 사이트

부트스트랩을 날 것 그대로 사용하기보다는 이미 만들어진 테마(theme)을 사용하는 편이 낫다. 유료가 좀더 멋들어지긴 하지만, 무료도 꽤 많이 있으니 관심을 가지고 살펴보기를 바란다.

bootstrap_buttons

Beautiful Buttons for Twitter Bootstrappers

http://charliepark.org/bootstrap_buttons/

부트스트랩이 제공하는 7가지 기본 버튼 색상 이외의 다른 색상으로 바꿀 수 있는 CSS 생성기를 지원

bootmetro

Bootmetro

http://aozora.github.com/bootmetro
부트스트랩 테마 제공

font_awesome

Font Awesome

http://fortawesome.github.io/Font-Awesome/

부트스트랩에 포함된 아이콘은 Glyphicons에서 제조한 아이콘으로, png 파일이다. 따라서 크기나 색상 변경이 쉽지 않다. Font Awesome 사이트에서는 말그대로 기가믹힌 폰트 형식의 아이콘을 무료로 제공하며, 폰트 아이콘은 크기와 색상 변경이 더 자유롭다.

icomoon

IcoMoon

http://icomoon.io/

폰트 아이콘을 커스트마이징하여 사용할 수 있다. 무료는 아니다. “트위트 부트스트랩/위키북스”의 저자인 김덕기님의 블로그에서 사용법을 살펴볼 수 있다.

wrapbootstrap

{wrap]bootstrap

http://wrapbootstrap.com

부트스트랩으로 만든 테마를 판매한다. 유료이지만, 싼 가격에 꽤 수준 높게 디자인 된 웹 사이트를 만들 수 있다.

크몽 재능