ewitter를 만들며 느낀점

My 19th Post


ewitter - Enterpise Twitter

by Enterprise Kim.T.H

const ewitter = (status, publish) => {
  if (status === "developing") {
    console.log("개발중입니다");
  } else if (status === "debuging") {
    console.log("디버깅 중입니다.");
  } else if (status === "designing") {
    console.log("디자인 중입니다.");
  } else if (status === "firebase") {
    console.log("Firebase 연동중입니다.");
  } else if (status === "publishing") {
    console.log("gh-pages를 이용하여 publish작업중입니다.");
    if (publish) {
      console.log("publish success!");
    } else {
      console.log("fail, but where?");
    }
  }
};

ewitter를 개발하기 시작한지 한 1주가 쫌 넘은 것 같다.

아직 많이 미흡하긴 하지만 앞으로 계속 발전시켜 나갈려고 한다.

예를 들어서 트윗을 누르면 사진이 있을 경우, 사진을 조금 더 확대하여 보여주고,

트윗 작성자가 수정을 할 때 사진을 지울 수 있는 기능이라던지 요러한 간단한 기능들을 몇개 추가할 계획이다.

여기서 ewitter는 노마드코더 니콜라스 선생님의 twitter clone coding강의를 보면서 작성한 React.js 웹이다.


먼저 기능구현에 대하여 말하고 싶다.

흔히 웹앱이나 스마트폰 기반 앱을 만든다고 하면 기능 구현에 엄청난 시간이 들어간다고 생각한다.

물론 나도 그랬고, 그렇게 생각하는 것이 틀린 것은 아니다.

처음에는 누구나 이거를 할 수 있을까? 라는 생각을 하게 되지만 . . .

현실이 꼭 그렇게 어렵지만은 아니라는 것을 말하고 싶다.

무언가 “이거 너무 어려워 보여서 안되겠어” 이런식으로 계속 넘어가려고 한다면,

그런 사람은 결국 아무것도 할 수 없을 것이다.

우리가 생각하는 대부분의 기능구현은 React.js의 강력한 api와 기능을 사용하면 생각하는 것보다 굉장히 쉽게 구현할 수 있다.

뭔가 어려울 것 같은 기능구현도 React.js, React-Hooks를 이용한다면 간단하게 구현이 가능하다.

결론적으로 기능구현을 핑계삼아서 나와 이글을 보게될 모든 사람, 그리고 미래의 나에게 하고싶은 말을 하게 되었다.

기능구현이 어려울 거라고 생각하여 시작도 하지 않는 그런 사람이 없길 바란다.

오히려 기능구현보다는 CSS를 이용하여 웹를 디자인하는 시간이 더 오래 걸린 것 같다.


다음으로는 웹디자인 부분이다.

나는 웹디자인을 배운적이 없다. 물론 학교에서 1학년 때 HTML수업을 들으며 배경색을 칠하는 부분은 알고 있었지만

그 이상도, 그 이하도 아니었다. flex-box가 무었인지 전혀 몰랐고, ul과 li태그의 왼쪽에 공백이 생기는 이유도 몰랐다.

이렇게 거의 백지 상태였기 때문에 이전에 만들었던 거의 모든 앱이나 웹은 디자인따위는 사치라고 생각하며 디자인은 흰색과 검은색으로 하였다.

즉 기본테마였다 . . . 그런데 이번에 생각을 고쳐먹고, 나도 풀스택 전설의 동물이 되야 겠어

이런 생각으로 CSS로 디자인을 시작하였다.

진짜 기본도 모르고 있는 상태였기 때문에 처음에는 너무 힘들었다.

원래 즐겨 개발하던 안드로이드에서는 안드로이드 스튜디오라는 IDE에서 지원해주는

팔레트(?)기능을 이용하여 GUI환경에서 디자인을 할 수 있었다.

어쨌든 험난한 산을 넘고 깊은 강물을 넘어서 결국에는 디자인을 마치게 되었다.

이번에 조금 어렵게 배웠다면 어렵게 배웠다고 할 수 있는 CSS지식과 문법들은 힘들게 배운 만큼

1년이 되어도 10년이 되더라도 몸이 기억하고 머리가 기억하고 있을 것이라고 생각한다.


마치며,

언제인가부터 대학교 친구들이 나에게 코딩 천재라고 부른다.

나를 잘 아는 사람들은 그렇게 부르지 않는다.

뭐라고 부르냐고? 글쎄 . . . 어쨌든 천재라고 하지는 않는다. ㅎ

왜냐하면 방학 때도, 시험기간에도, 자격증 준비하는 기간에도 프로그램을 공부하는 것을 멈춘적이 없다.

새로운 프로그램 언어를 만날 때면 가슴이 두근 거리고 아침에 빨리 일어나서 무언가를 만들어 보고 싶은 마음에 밤에 잠이 오질 않는다.

한가지 언어를 매우 깊숙히 알고, 그 언어의 모든 특성을 아는 것은 쉬운일이 아니다.

그렇게 한가지 언어만 파는 것은 정말 존경받을 만한 일이고, 엄청난 능력자가 될 수 있는 지름길이다.

하지만 현직에 있고, “나는 이 언어로 정년퇴직 때까지 코딩을 하겠어 !”라면 괜찮지만,

현재 나와 같이 대학생이거나, 아직 어느 분야(프론트앤드, 백앤드, 정보보안 등)로 갈지 정하지 못했다면,

여러가지 언어를 경험하면서 내가 잘하고 좋아하는 일의 특성을 빠르게 찾는 것이 1순위라고 생각한다.

물론 너무 여러가지 언어를 겉핡기 식으로 지나가라는 말이 아니다.

공부를 시작했으면 해당 언어로 현재 시중에 나와있는 사이트나 앱등 서비스들을 최대한 구축해보면서

이언어의 특성이 뭐고, 어떤 점은 좋은데, 나쁜점은 무엇인지,

무엇보다 나에게 잘 맞는지 안맞는지 그런 것들을 생각해보면 좋을 것 같다.

미래의 내가 무엇을 하고 있을지는 모르겠지만, 이 글을 보면 2021년 8월 16일 월요일의 김태호가 떠오르기 바란다.

떠오르는 것에서 그치지 말고 지금처럼 열심히 가고 있는지 꼭 생각해보기 바란다.


현재는 코로나19로 인해 대전에 머물러 있다.

노트북에서 Mac으로 작업하고 있다.

맥을 사용하는 이유는 편리한 기능이 너무 많기 때문이다.

현재 가장 좋아하는 언어는 React이다.


어쩌다 보니 앞으로 어떻게 살아야 할지를 쓰게 되면서 글이 너무 길어졌다.

이 글을 보신 모든분들은 나보다 훨씬 결단력이 강하신 분들이실 꺼라고 믿는다 !

모두 코로나 잘이겨내고 화이팅 ! ! !

ewitter 보러가기

Good Bye ~