만들면서 배우는 워드프레스 - 초보자도 따라 하는 웹사이트 제작 완벽 가이드
박현우 지음 / 한빛미디어 / 2017년 3월
평점 :
절판


평소에 블로그를 관리하는 것과 홈페이지 만드는 것에 관심이 있어서 개인 홈페이지를 만들어 구글 클라우드에 올려서 사용하고 있었고, 오래 전부터 티스토리 블로그를 운영하고 있었습니다. 이 후에는 깃헙에 jekyll 기반의 기술 블로그를 만들어서 사용하기도 했는데 포스팅의 불편함 때문에 오래 지속하지는 못하고 있었습니다. 그래서 워드프레스를 고려하게 되었었는데, 당시에는 어떻게 시작해야 할 지 막막하기도 하고, 귀찮기도 해서 미루고 있던 중 이번에 한빛 미디어에서 만들면서 배우는 워드프레스라는 책의 리뷰를 맡게 되어 이번 기회에 홈페이지를 새로 만들어보자 라는 목표가 생겼습니다.




책을 받자마자 느낀 점은 표지가 정말 이쁘다! 였습니다. 무지개 빛깔의 그라데이션이 뭔가 워드프레스 로고와 어울렸고, 빨리 책을 펴보고 싶게끔 만들었습니다. 책의 목차를 살펴보니 대충 어떠한 식으로 진행 될 것이다라는 것이 느껴졌는데, 완성된 홈페이지가 머릿속에 그려지면서 잠시 후면 이 상상속의 홈페이지를 갖게 될 것이라는 기대감에 곧바로 읽어나가기 시작했습니다.






책은 풀컬러라는 것이 먼저 마음에 들었고, 초보자도 쉽게 읽고 따라 할 수 있도록 친절하게 작성이 되어 있어서 저 또한 워드프레스는 처음 사용해보지만 막힘 없이 따라할 수 있었습니다. 책의 진도가 나아갈 수록 점점 더 만들어보고 싶은 홈페이지들에 대한 영감이 떠오르게 되었고, 개인 홈페이지를 시작으로 현재 속해있는 단체의 홈페이지나 사내 팀 기술블로그 또는 금은방을 하시는 친척분을 위한 쇼핑몰 페이지를 만들어보고 싶은 욕구가 마구 샘솟았습니다. 쇼핑몰을 만들기 위해서는 일반 홈페이지보다는 번거로운 작업들이 있기 때문에 여유를 갖고 만들어보기로 결정하고 개인 홈페이지를 먼저 만들어 보았습니다. 책을 읽어나가면서 메인 페이지를 제외한 다른 페이지들은 이쁘게 꾸미지는 못했지만 대략적인 구색을 갖춘 홈페이지 하나를 만드는데 4시간 정도가 걸렸고, 다시 만들면 훨씬 더 빨리 만들 수 있을 것 같았습니다.



이렇게 빠른 시간 내에 만드는 데에도 그 전에 한달여간 공들여 만든 홈페이지보다 훨씬 더 보기 좋은 퀄리티의 홈페이지가 만들어졌습니다. 만들다보니 왜 워드프레스가 이렇게 강세인지 느낄 수가 있었고, 플러그인들을 사용하면 간단하게 만들 수 있는 홈페이지의 종류가 무궁무진 할 것 같다는 생각이 들었습니다.


플러그인 소개

책에도 유용한 플러그인들을 소개하고 있는데 하나하나가 정말 꿀팁이었습니다. 이 책이 아니었다면 이러한 플러그인들을 찾아보는데도 상당한 시간이 걸렸을 것 같습니다. 아래에 그러한 플러그인들을 정리해보았습니다.

  • Contact Form 7
    • 고객의 CS 페이지 (문의하기)
  • Shortcodes Ultimate
    • 짤막한 코드 (숏 코드)를 사용하여 기능을 구현 가능
    • 자주하는 질문 페이지
  • Pricing Table Builder - Easy Pricing Tables
    • 제품이나 서비스의 값을 표시하는 가격표
    • 와탭의 구매 페이지랑 거의 흡사한거보니 와탭도 워드프레스 기반인듯
  • KBoard
    • 게시판
  • Korea SNS
    • 컨텐츠를 SNS에 공유
  • P3 (Plugin Performance Profiler)
    • 성능 측정 도구
    • 플러그인 설치는 웹 페이지 성능에 영향을 준다.
    • 무분별한 플러그인 설치는 지양
  • Yoast SEO
    • 검색 엔진 최적화
    • 콘텐츠가 검색 엔진 최적화에 잘 맞게 작성되었는지 체크
  • WP Content Copy Protection & No Right Click
    • 불펌과 복사를 막아줌
  • iThemes Security
    • 해킹 공격을 차단
    • 해킹 내역을 메일로 알림
  • BackWPup
    • 수동 백업, 주기적인 백업 지원
    • 드롭박스로 자동 백업 가능


해본 것들과 느낀 점

책에서 본격적인 제작에 들어가기전에 호스팅 업체를 정하고, 서버를 할당받고, 도메인을 구매하는 과정이 있었는데, 저의 경우 도메인은 이미 가지고 있었고, 클라우드 환경의 서버를 사용 중이었기 때문에 이부분은 책의 내용과 다르게 구성을 했었습니다. 간략하게 구조를 설명하면, 구글 클라우드 플랫폼에 Compute Engine을 사용하여 서버를 구동시켰고, 워드프레스 구동은 docker를 사용하여 구축하였습니다.

책의 내용이 현재 워드프레스의 최신 버전과 동일했기 때문에 책에 포함된 그림이나 메뉴 구성이 똑같아서 따라하기가 좋았습니다. (이래서 기술 관련된 책은 최신판을 구매해야..)

아래는 제가 책을 보며 느꼈던 점과 유용했던 정보들에 대해 간략하게 요약해보았습니다.

  • 댓글을 관리하는 시스템이 생소했다.
    • 기본이 관리자가 승인을 해야하는 시스템.
    • 승인 하지 않아도 작성되도록 정책을 설정할 수가 있다.
  • 일반 포스트와 정적 페이지를 구분해서 작성할 수 있는 시스템
    • 획기적이다.
    • 블로그와 홈페이지를 자유자재로 구성할 수 있다.
  • 회원 가입 기능도 간편하게 설정할 수 있다.
    • 일반 설정의 누구나 가입할 수 있습니다 선택
    • 새 사용자에 대한 권한 설정도 5단계의 권한 중 선택하는 방식으로 간편하게 할 수 있다.
  • 테마마다 설정이 모두 다르다.
    • 사용자 정의하기 메뉴를 통해 각 테마별 설정을 할 수 있다.
  • 해상도 별 레이아웃을 쉽게 볼 수 있다.
    • 레이아웃 토글 키를 이용하여 PC, 태블릿, 스마트폰 화면을 미리볼 수 있다.
  • 헤더 이미지를 여러개 저장해서 랜덤으로 이미지가 노출되도록 할 수 있다.
  • 다음이나 네이버에서 제공하는 블로그에서처럼 위젯을 선택하여 원하는 위치에 배치하여 사용할 수 있다.
  • 마인드맵을 통해 제작할 웹 사이트의 메뉴를 미리 구성해보고 이를 토대로 실제 웹페이지를 만든다.
  • 폰트
    • 우아한 형제들
  • 로고
    • 포토스케이프
  • 이미지 다운로드 웹사이트
  • 유료 테마
  • Zerif Lite 테마 적용
    • 적용 시 사이즈 문제 발생
    • 책에는 한글 번역을 위해 파일을 다운 받아 사용해야 하는 이슈가 있었는데 현재는 테마 적용시 번역이 자동으로 수행 됨.
  • 자식 테마 지정
    • 자식 테마를 사용하는 이유는 원본에 영향을 주지 않은 상태로 기능을 추가할 수 있기 때문.
    • style.css 파일에는 반드시 주석문도 포함시켜야 한다.
      • 주석 내용 중 Theme Name과 Template는 필수 사항이므로 반드시 작성해야함.
    • 해당 정보가 테마의 헤더 정보가 됨.
    • 자세한 사항은 여기 참조


개발자들을 위한 팁!

혹시나 책을 읽으시는 분이 개발자이시라면, 저와 같이 서버를 직접 구축해서 사용하시는 분들도 계실 것입니다. 그런 분들을 위한 팁을 드리자면 먼저 워드프레스의 데이터베이스는 아래와 같이 구성되어 있습니다.

  • 데이터베이스 구조

    +-----------------------+
    | Tables_in_wordpress   |
    +-----------------------+
    | wp_commentmeta        |
    | wp_comments           |
    | wp_links              |
    | wp_options            |
    | wp_postmeta           |
    | wp_posts              |
    | wp_term_relationships |
    | wp_term_taxonomy      |
    | wp_termmeta           |
    | wp_terms              |
    | wp_usermeta           |
    | wp_users              |
    +-----------------------+
    

만약 사용 중인 서버를 다른 서버로 이전해야하는 경우가 생긴다면 워드프레스의 모든 파일들과 데이터베이스 내용을 옮겨야 합니다. 이 때 워드프레스는 해당 서버의 /var/www/html디렉토리 내에 있는 파일들을 새로운 서버에 복사하고, 데이터베이스 또한 백업 후 해당 서버에 복원을 시켜야 합니다.

이 때 발생하는 문제가 홈페이지의 고유 주소가 이전 서버 주소로 되어 있다는 것인데, 이 때문에 페이지를 이동하려고 하면 이전 서버로 접속하려고 하여 에러가 발생합니다. 이 때는 아래와 같이 데이터베이스를 직접 조작하여 주소를 변경시켜주면 됩니다.

sql> update wp_options set option_value='이전할 주소' where option_name='siteurl';
sql> update wp_options set option_value='이전할 주소' where option_name='home';

제가 작업했던 내용의 예는 아래와 같습니다.

mysql> select * from wp_options where option_value like "%yongho-choi.com%";;
+-----------+-------------+----------------------------+----------+
| option_id | option_name | option_value               | autoload |
+-----------+-------------+----------------------------+----------+
|         1 | siteurl     | http://www.yongho-choi.com | yes      |
|         2 | home        | http://www.yongho-choi.com | yes      |
+-----------+-------------+----------------------------+----------+
2 rows in set (0.01 sec)

mysql> update wp_options set option_value='http://www.newurl.com' where option_name='siteurl';
Query OK, 1 row affected (0.28 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> update wp_options set option_value='http://www.newurl.com' where option_name='home';
Query OK, 1 row affected (0.19 sec)
Rows matched: 1  Changed: 1  Warnings: 0

제가 찾은 방법은 이 것이지만, 더 효율적인 방법이 있을 수 있으므로 찾아보시는 걸 추천드립니다.

또 다른 이슈로는 파일 업로드 시 파일 사이즈 초과로 인해 업로드가 불가능한 경우가 있었는데, 이는 설정을 통해 해결할 수가 있습니다. 하지만 호스팅 업체를 통해 서버를 제공받아 사용하는 경우 파일 사이즈를 너무 크게 하는 경우 해당 서버의 용량이 부족해지는 문제가 발생할 수 있기 때문에 주의하시기를 바랍니다. 파일 사이즈를 늘리는 방법은 아래와 같습니다.

  • 워드프레스 파일들이 위치한 디렉토리 최상위에서 php.ini 파일을 만들거나 수정하여 아래 내용 추가

    upload_max_filesize = 64M
    

이렇게 책을 한 번 쭉 훑고나니 만들고 싶은 홈페이지가 원래 생각 했던 것 보다 더 많아졌습니다. 우선은 결제 시스템도 플러그인을 통해 간단하게 적용이 가능하기 때문에 친척분 가게를 위한 쇼핑몰 페이지를 만들어서 직접 오픈도 해보고 관련 경험도 쌓아볼 수 있어서 일석 이조라 생각하여 가장 먼저 만들어보고 싶은 생각이 들었습니다.

개인적으로 홈페이지를 만들어보고 싶거나 홈페이지 제작을 업체에 의뢰하기에 부담이 되시는 분들은 꼭 한번 이 책을 사서 따라해보시길 추천합니다.



출처: http://yongho1037.tistory.com/718 [용호의 블로그]


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
하둡 완벽 가이드 - 데이터의 숨겨진 힘을 끌어내는 최고의 클라우드 컴퓨팅 기술, 4판
톰 화이트 지음, 임상배 외 옮김 / 한빛미디어 / 2017년 3월
평점 :
장바구니담기



#1

책을 항상 깔끔하게 유지하고 싶은 마음에 책을 받자마자 비닐 포장으로 감싸고 읽어보기 시작했습니다. 1장을 읽어나가면서 느낀 것은 번역이 정말 잘 된 것 같다는 것이었습니다. 번역서를 읽다보면 문맥이 이상해서 이해가 잘 안되는 경우가 많았는데 이 책은 마치 한국분이 작성한 책 처럼 술술 잘 읽혔습니다. 물론 책의 두께처럼 심도있는 내용들을 다루기 때문에 쉽지는 않지만 자연스러운 문장 덕에 이해하는데 도움이 많이 되었습니다.


#2

하둡에 대해서는 이름만 알고 있는 상태였고 실제로 어떤 원리로, 어떠한 곳에 쓰이는 지는 잘 모르는 상태로 접했는데, 읽다보니 여러가지 아이디어와 현재 개발 중인 프로젝트에서 적용할 수 있을 법한 것들이 떠올랐습니다.

진행 중인 프로젝트에서는 사용자들의 정보를 수집하고 통계를 내는 데 ELK(Elasticsearch + Logstash + Kibana)를 사용하고 있는데, 유저 데이터가 쌓일 수록 Elasticsearch의 용량이 점점 커지게 되므로 나중에는 분명히 한계에 다다를 것을 예상할 수 있었습니다. 이 때 과연 어떻게 처리를 할것인가가 큰 고민중에 하나였는데, 책을 읽다보니 하둡이 좋은 해결책이 될 수 있을 것 같았습니다.


#3

처음에는 모든 개념을 숙지하고 싶은 마음에 모든 개념을 하나하나 파악하려고 노력을 했었습니다. 하지만 1~3장을 읽다보니 생소한 개념들과 어려운 용어들이 나와서 몇번을 반복해서 읽게 되었는데, 진도가 너무 나가지 않아서 우선은 어렴풋이 이해하고 넘어가고 나중에 실제 적용할 때 디테일하게 살펴보는 방향으로 목표를 재설정해야했습니다. 그래서 이론적인 부분은 빠르게 넘어가고 실제 사용 부분을 살펴보며 막히는 부분에 대한 이론적인 내용을 다시 찾아가서 살펴보았습니다.

저의 경우 단순히 각 기능들을 사용하는 것보다는 이 기능들이 동작하는 원리에 대해 이해를 하고 조금 깊게 들여다보는 것을 좋아하는데 이 책은 그러한 부분들을 만족시켜주었습니다. 그리고 중간 중간 실제 코드를 예제로 보여주면서 거기에 대한 설명을 보충해주기 때문에 직접 따라해볼 수도 있고, 이해하는데도 큰 도움이 되었습니다. 


#4

책에서 언급하듯이 어떠한 기술이든 장점과 단점이 존재하기 때문에 자신의 프로젝트에 적합한 기술을 잘 선택하는 것이 중요합니다. 하둡은 그런면에서 실시간으로 원하는 데이터를 빠르게 가져오는 데에는 이에 적합한 다른 기술들에 비해 비효율적이지만 대량의 데이터 속에서 원하는 데이터를 검색해야 하는 경우, 거기에 더해서 속도 보다는 정확도를 중요시하는 곳에서는 적합할 수 있습니다. 이 대량의 데이터를 다루는 것이 참 어려운 부분인데 하둡에서 제공하는 기능들을 잘 활용하면 개발자가 구현해야할 번거로움을 많이 덜 수 있을 것입니다. 물론 이 책에서 이러한 기능들에 대한 설명을 디테일하게 잘 설명해주고 있습니다.


#5

그래서 결론적으로 현재 진행 중인 프로젝트에서는 한달 이상 된 데이터는 검색할 일이 거의 없다는 판단에 근 한달간의 사용자 데이터는 Elasticsearch에 보관하고, 이보다 오래된 데이터들은 하둡에 저장하여 실시간으로 통계 정보를 눈으로 확인해야 하는 Elasticsearch에 최소한의 데이터를 유지하는 전략으로 진행해볼 생각입니다.

아직 우선순위가 높지 않아서, 실제 구현은 들어가지 않았지만 구현에 들어가면 그 과정을 블로그에 포스팅 해보려고 합니다. 


출처: http://yongho1037.tistory.com/714 [용호의 블로그]



댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
오라클 레벨업 - 최고의 전문가 그룹이 알려주는 오라클 실전 100가지 기술
스즈키 겐고 외 지음, 윤인성.조은옥 옮김 / 한빛미디어 / 2016년 12월
평점 :
절판


큰 규모의 회사에는 이미 데이터베이스에 대한 기반이 갖춰져 있기 때문에 쿼리를 잘 작성하는 것 외에 크게 신경쓸 부분이 없었고, 쿼리 마저도 비효율적인 경우에는 이를 튜닝해줄 DBA들이 있었기 때문에 크게 문제될 부분이 없었습니다. 하지만 스타트업에서 일하고 있는 현재로써는 이러한 모든 작업을 본인이 수행해야 하고, 제대로 모르는 채로 사용하게 되면 서비스 시에 큰 문제가 될 수도 있을 것이라는 부담감을 항상 가지고 있습니다. 그래서 저의 실력을 한단계 레벨업하고 싶다는 생각을 가지고 있던 찰나에 이런 제 생각에 딱 들어맞는 책을 발견하게 되었습니다.

이 책의 목차만 봐도 최고의 DBA 들이 서비스에서 겪었던 문제들을 해결해 나가는 꿀팁들과 유용한 툴들을 소개하고 있다는 것을 한눈에 알 수 있었습니다. 책 제목처럼 Oracle에 대한 내용이 대부분이지만 그 외의 데이터베이스를 사용하더라도 도움이 될 수 있는 이론이 포함되어있습니다. 간략하게 각 장에 대한 내용을 살펴보겠습니다.

1장 성능관리 Tips에서는 개발 중에 무심코 지나칠 법한 문제들에 대해 사전에 발견할 수 있는 팁들을 제공합니다. 예를 들어 쿼리에 대한 효율을 알아보기 위해 실행 계획을 확인하는 방법과 인덱스를 효율적으로 사용하는 방법들, 그리고 Oracle에서 제공하는 SPM 이라는 툴을 사용하여 실행 계획을 관리하고 이를 통해 성능을 향상시키고 유지시킬 수 있는 방법들을 소개하고 있습니다.

2장 트러블 슈팅 Tips에서는 실제 서비스에서 발생할 수 있는 문제들과 이를 해결하기 위한 꿀팁들을 알려줍니다. 개인적으로 2장의 내용이 가장 좋았고, 항상 체킹하기 위해 자세히 정리를 해두었습니다. 2장을 읽고 나니 이렇게 발생할 수 있는 문제들이 많은데 이에 대한 방안 없이 서비스를 런칭했다면 어떻게 감당할 수 있었을까 하는 생각이 들 정도로 간과한 부분들이 많이 있었습니다. 아직 사내에서는 Oracle이 아닌 MariaDB를 사용하고 있기 때문에 AWR이나 ASH와 같은 Oracle의 툴들을 활용할 수 없다는 점이 너무 아쉬웠습니다. 만약 Oracle을 사용하고 계시다면 이와 같은 툴들에 대한 사용방법을 숙지한다면 서비스에 정말 큰 도움이 될 것이라고 생각합니다.

3장 아키텍쳐 Tips에서는 Oracle의 조금 더 심화적인 내용을 다룹니다. 이 장은 내용 자체도 어렵지만 여기서 등장하는 여러 전문 용어들과 이니셜들에 대한 이해 없이 읽어나가면 더 어려움을 느끼게 될 것입니다. 용어 설명이 간략히 적혀있는 경우도 있지만 대부분 따로 설명없이 진행을 하고 있기 때문에, 반드시 모르는 용어들은 검색을 통해 이해를 한 후 다음 내용을 진행하실 것을 추천합니다. 예를 들어 SGA나 PGA라는 용어의 의미를 모른 채로 해당 섹션을 읽다보면 무슨 소리를 하는지 통 알아들을 수가 없습니다. 하지만 용어를 정확히 알고나서 읽으면 큰 무리없이 읽어나가실 수 있을 것이라고 생각합니다.

4장 개발-운용 관련 Tips에서는 Oracle에서 제공하는 툴에 대한 소개가 주를 이룹니다. 이 장의 내용을 볼 수록 Oracle을 사용하고 싶다는 충동이 일어났었고, 여기서 소개하는 툴에 대해서만 숙지를 해도 문제없이 서비스를 할 수 있겠다는 생각이 들었습니다. SQL*Plus의 기능을 자유자재로 사용할 수 있다면 성능 향상과 문제 해결에 큰 도움이 될 것 같았지만 명령어로 모든 것을 수행해야 하기 때문에 진입장벽은 조금 높을 것 같다는 생각이 들었습니다. Enterprise Manager와 같은 툴은 UI를 제공하고 자세한 모니터링이 가능하기 때문에 정말 매력적인 툴이라고 생각합니다.

개발 환경에서 서비스를 대비하여 데이터베이스를 테스트 해보는 것은 쉽지 않은 일이라고 생각합니다. 이에 대한 Oracle의 테스트 방법을 5장 시스템 테스트 Tips에서 제공하고 있습니다. Oracle 에서는 효율적인 시스템 테스트를 위해서 SPA와 DB Replay와 같은 솔루션을 제공합니다. SPA는 SQL을 분석, 리포팅하고 DB Replay는 데이터 베이스 시스템 전체를 분석, 리포팅합니다. 이를 통해 이 장에서는 테스트를 하는 절차들과 어떻게 이 기능들을 사용하여 테스트하고, 자동화하고, 성능을 향상 시킬 수 있는지 설명하고 있습니다.

마지막으로 6장 데이터마이닝 Tips에서는 데이터를 분석하여 시각화 하기 위해 Oracle의 R이라는 것을 사용하고, 이에 대한 팁을 제공합니다. 이 장에서는 데이터베이스에 데이터를 저장하고, 이를 R을 통해 수집하고, 각종 알고리즘을 사용하여 분석 후 그래프를 그리기까지 예제 스크립트를 통해 독자가 따라할 수 있도록 순서대로 진행을 합니다.

이와같이 이 책 ORACLE 레벨업에서는 최고의 DBA들이 전하는 100가지 꿀팁을 소개하고 있습니다. 개인적으로 이 책을 소장하여 의문점이 생길 때마다 살펴보고 또 다른 팁을 발견하면 블로그 포스팅을 통해 공유할 예정입니다. 책을 읽으신 다른 분들도 여러 팁들을 공유해서 서로 발전할 수 있는 기회가 되었으면 좋겠습니다.


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo