나빌레라의 프로그래밍하기 #3

나빌레라의 이미지

3. 생각하기
스쳐지나가는 모든 상황에 관심을 기울이며 무엇을 해볼까를 생각하다보면 "이건 이러해서 안될 것 같고.."하는 식으로 후보를 계속 제외시키다가 어느 순간 "이건 재미 있을 것 같다!"하는 아이템이 떠오르는 순간이 온다. 다만 "이건 이미 있는 것이라서"라는 이유로 아이템을 제외해서는 안된다.

이 글을 쓰면서 나도 뭔가 개발 아이템을 생각해 보겠다고 썼었다. 내가 새로운 프로젝트를 진행하는 과정을 글로 쓰면, 이 글을 읽는 여러분은 자신만의 힌트를 얻을 수 있을 것이라 생각했기 때문이다. 그래서 이런 저런 생각을 해봤다.

이 글에서 생각하는 방법에 대해서는 쓰지 않겠다. 왜냐면 방법이 없기 때문이다. 약간만 구글링을 해보면 "발상법"이라든지 "생각법"같은 제목으로 아이디어를 도출하는 방법들이 검색되어 나온다. 여러가지 단어를 넣어 놓은 생각 상자에서 단어를 제비뽑기하여 이를 조합하여 아이디어를 만든다하는 식으로 단계적 절차적 방법이 잘 나와있는 글이 많다. 물론 서점에 잘 정리된 책으로도 많이 나와있다. 하지만 나는 그런 방법을 사용하지 않는다. 말 그대로 자유 연상이다. 그냥 아무것도 안하고 멍때리면서 생각하거나 다른 일을 하면서 잠깐 잠깐 생각을 한다. 그리고 생각을 할 때는 메모도 잘 하지 않는다. 정말 괜찮은 아이디어이고 내가 하고 싶은 주제가 떠오른다면 굳이 메모를 하지 않아도 반복적으로 생각난다. 보통 그런 아이템을 주제로 잡아서 프로젝트를 진행하곤 한다.

이 글을 쓰기 시작하면서 두 번 이상 생각난 아이템 중 가장 괜찮다고 생각된 아이템은 의외로 "웹프로그래밍"이다. 글의 시작에서도 말했듯, 나는 임베디드 프로그래밍으로 먹고 사는 사람이다. 그렇다고 웹 프로그래밍을 할 줄 모르는건 아니다. 아마 신입에서 경력 1~2년차 웹 개발자보다 그쪽 방면에 개발 경험과 개발 능력은 더 좋을 것이다. 다만 디자인 능력은 몹시 떨어진다.개발자가 디자인 능력을 가질 필요는 없지만, 돈을 벌기 위한 프로그래밍이 아닌 개인 프로젝트를 진행할 때는 개발자 한 명이 개발에 필요한 모든 작업을 다 해야 하는 경우가 대부분이다. 특히 웹 프로그래밍은 엔드 유저를 위한 UX와 UI의 디자인이 개발 전반에 매우 큰 비중을 차지하므로 무시할 순 없다. 일단, 디자인을 쉽게 바꿀 수 있도록 시스템의 구조를 잘 짜 놓으면 되므로 이 문제는 넘어갈 수 있다고 "생각"했다.

다음은 "커뮤니티"였다. 요즘 소셜 네트워크가 유행이다. 페이스북은 세상을 지배할 기세인것 마냥 사람들 입에 오르내리고, 트위터는 정치인들이 이미지 세탁용으로 사용할 정도다. 소셜 네트워크의 원조격인 싸이월드가 우리나라에서 만들어 졌을 정도로 다른 사람들과 어울려 놀기 좋아하는 우리나라 사람들의 정서에 잘 맞는 서비스 형태라고 생각한다. 하지만 일반적으로 소셜 네트워크라고 하면 생각하는 형태인 개인 공간이 주어지고 그 개인 공간에는 개인의 이야기를 채우면서 다른 사람들의 개인 공간과 연결되어 서로 네트워크로 연결되는 서비스보다 우리에게 더 잘 어울리는 서비스는 말 그대로 커뮤니티 서비스라고 생각한다. 즉, 하나의 커다란 공간에 사람들이 의견을 쓰고 거기에 답글을 주고 받는 형식을 말한다. 쉽게 말해 게시판이다. 나는 그런 형태의 커뮤니티 중 가장 멋지게 성장한 커뮤니티로 디씨인사이드를 꼽고 싶다. 비판을 많이 받는 사이트긴 하지만 디씨인사이드만큼 제대로 커뮤니티의 전형을 보여준 예는 많지 않다. 나는 디씨인사이드처럼 다양한 주제에 많은 사람들이 모여서 자유롭게 지식과 의견을 주고 받을 수 있는 서비스를 만들고 싶다고 "생각"했다.

또 하나 떠오른 생각은 "모바일"이다. 스마트폰으로 대표되는 모바일 서비스는 앱이라고 불리는 독립 프로그램에 의해서 주로 이뤄지지만, PC에서의 흐름이 결국 웹으로 흘러갔듯 모바일에서도 얼마 지나지 않아 모바일웹으로 그 중심이 빠르게 옮겨갈 것이라고 생각한다. PC 환경에서 사용하는 것 만큼 편하게 모바일웹으로도 사용할 수 있는 서비스를 만들어야 한다고 "생각"했다.

결국 정리하면, 그냥 모바일에서 쉽게 쓸 수 있는 게시판을 만드는 것이다. 뭐 이런 허접한 주제를 잡아놓고 이렇게 장황하게 글을 썼냐고 할 수도 있겠지만, 원래 내가 개인 프로젝트를 진행하는 목적은 대단한걸 이루려는 것이 아니다. 철저히 내 개인의 성장을 위해서 진행하는 것이다. 그렇다면 오늘한 생각에 원칙을 적용해 보자.

1. 돈을 벌기 위한 프로그래밍 말고, 돈을 벌지 못하더라도 꾸준히 자기를 위한 프로젝트를 한다. 그 프로젝트라는 것은 꼭 프로그래밍이 아니어도 좋다.
====> 그냥 흔하디 흔한 웹 게시판을 만드는 것이 돈을 벌 것이라고 생각하지 않는다. 하지만 나는 웹 개발에 대한 기술이 많이 부족하므로 충분히 가치가 있다. 그리고 이왕 하는 김에 유행하는 웹 프레임워크를 써 보자.

2. 해 보지 못한 기술적 성취를 할 수 있도록 프로젝트의 목표를 세운다.
====> 웹 프레임워크를 이용해 개발을 진행해 보자. 기존에 php나 jsp로는 개발 경험이 있는데, 이번에는 내가 해보지 못한 언어와 프레임워크를 사용하고 싶다. 일단 떠오르는건 python을 이용한 django가 있다.

3. 학교 다닐 때 재미 없다고만 느꼈던 이론 공부를 한 번 더 할 수 있도록 프로젝트 목표를 세운다.
====> 일단 python 문법 공부부터 다시 하자. python을 마지막으로 해본게 몇 년전이더라...

4. 다른 사람에게 도움이 될 수 있을 만한 프로젝트를 한다.
====> 지금 이 글을 쓰고 있다.

오래간만에 파이썬 공부도 할 수 있고, 데이터베이스 설계도 해 보고, 웹서버 설정도 해보고, 자바스크립트, html, xml, json, 스타일시트같은 것들을 공부할 수 있는 기회가 될것 같다. 벌써부터 기분이 좋아진다.

====
이 글은 CC이지만 다른곳에 불펌은 하지 말아 주세요. KLDP와 raonlife에(http://raonlife.com/navilera/blog/view/53/)만 연재합니다. 다른 곳에 연재되어 있는 것은 불펌이오니 저에게 알려주세요.

댓글

handrake의 이미지

웹 쪽에 발을 들여놓으려고 해봤는데 이것도 만만치가 않더라고요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.