[생각] 개발자를 포기하는 사람을 위해 – 데이터베이스를 알고 포기하는 것인가?
This post was written on July 14, 2023

이 글은 개발자가 되기를 희망하여 상당 시간 공부를 했지만, 포기 직전에 이른 사람을 위한 내용이다.

  • 실력이 좋은데 직업 전망 때문에 고민하는 사람들이 아닌, 본인이 개발자가 될 실력이 없다고 생각하는 사람들에게 방향을 제시하는 글이다. 실력이 있는 사람은 절대 볼 필요 없는 글이다.
  • ‘혹시나’ 하는 마음에 작성해 본다. 부족한 글이다. 특정한 소수의 사람들에게는 도움이 될 수 있다.

 
[1] 두 가지 질문

(ㄱ) 조건문(if)/배열/함수를 이해하는가?
if문을 이해하는가?
배열[]을 이해하는가? 2차원 배열[][], 3차원배열[][][]과 같은 다차원 배열을 이해하는가?
기본적인 측면에서 함수를 잘 이해하고 있는가?
예를 들어서 2개의 값을 받아서 더하기 값을 결과로 출력하는 간단한 함수를 만들 수 있는가?

(ㄴ) 반복문(특히 for 문)을 잘 이해하고 있는가?
2중 for 문을 이용하여 아래와 같은 결과물을 쉽게 만들어 낼 수 있는가?

	*
	**
	***
	****
	*****

만약 (ㄱ)과 (ㄴ)에 대해 이해하고 있고, 일반적인 개발자를 꿈꾸고 있다면, 계속 진행하면 된다.

  • 여기서 일반적인 개발자란 웹 개발자, 응용프로그램(앱 포함) 개발자, 게임 개발자 등 일반적인 지능을 가진 사람이 충분히 해낼 수 있는 프로그래밍을 하는 개발자를 뜻한다.

 
[2] DB를 다룰 줄 알아야 한다.

종목과 관계없이 개발자를 꿈꾼다면 DB를 먼저 다룰 줄 알아야 한다. DB는 반드시 알아야 하는 부분이기도 하지만, DB를 알게 되면 만들 수 있는 프로그램이 많아지기 때문이다. DB를 알게 되면 각종 아이디어가 솟아날 것이다.

  • 만약 웹과 DB가 모두 익숙한데, 개발자의 포기를 염두하고 있다면, 그것은 실력 때문은 아닐 것이다. 단, 웹과 DB 중 하나라도 모른다면, 이 과정을 마치고 결정하는 것이 좋다.

DB를 이해하려면 DB를 공부해야 하는데, 가장 빠른 방법이 웹에서 게시판을 만들어 보는 방법이다. 또한 웹에서 게시판을 가장 손쉽게 만들 수 있는 방법이, 웹 호스팅을 받아서 이미 설치되어 있는 리눅스(OS) + 아파치(서버) + MySQL(DB) + PHP(언어)를 이용하는 것이다.

(ㄱ) DB를 컴퓨터에 설치하지 말고, 웹 호스팅을 받는 것이 좋다.
데이터베이스 관리자나 서버 관리자를 꿈꾸는 것이 아니라면, 컴퓨터에 DB 설치를 하지 말고 LAMP라고 불리는 리눅스(OS)+아파치(서버)+MySQL(DB)+PHP(언어)로 구성된 서버를 빌려 쓰면 되는 것이다. 가장 저렴한 것은 한 달에 만 원 가량이 될 것이다.

  • 혹시 호스팅에서 JSP나 기타 본인이 원하는 언어를 선택할 수 있는 경우라면, 그것으로 진행해도 된다. 다만, 자신의 컴퓨터에 설치하지는 않는 것이 좋다. 혹시 어떤 이유로 자신의 컴퓨터에서 서버 설치를 원하는 경우라면, 이 과정이 모두 끝나고 진행하면 된다.

(ㄴ) “PHP로 게시판 만들기” 강좌를 찾아서 따라 한다.
블로그, 영상, 책, 어떤 종류이든 관계없다. 마음에 드는 것을 보고 처음부터 끝까지 인내력을 가지고 따라 한다. 혹시 처음 웹을 접한다면, 웹의 특성 때문에 최초에 조금 고생할 수 있다. 웹의 특성은 웹 프로그래밍을 떠나서, 프로그래머의 기초 지식 중 하나이다. 알아두는 것이 좋다. 과정이 끝나면 웹의 특성, FTP 관련 툴의 사용 방법, 프로그래밍 툴의 사용 방법, DB 관리 프로그램의 사용 방법, 간단한 HTML과 자바스크립트, SQL에서 select, insert, update, delete의 사용법과 그보다 약간 높은 DB 및 SQL 관련 지식을 알게 될 것이다. 또 PHP 언어를 추가로 알게 되겠지만, PHP의 특성을 알게 되는 것이고, 기본적인 문법은 아마도 이미 알고 있는 것과 흡사할 것이다.

  • 시간이 없다면 최대한 가볍게 따라 한다. 게시판이 아니어도 된다. 읽기(select), 쓰기(insert), 수정(update), 삭제(delete/사실은 update이지만…)를 배우는 정도면 우선 된다. 자신감을 얻을 수 있을 것이다.
  • AJAX의 개념을 잘 배워놓는다면, 다른 프로그래밍을 할 때 더 편할 것이다. 웹 프로그램과 응용 프로그램(앱 포함) 개발에서 데이터를 사용하는 방법(웹을 이용/JSON을 사용 등 많은 부분)이 비슷하기 때문이다. 또한 자바스크립트와 관련 라이브러리에 대해서 깊게 배워놓으면 나중에 써먹기 좋을 것이다.
  • 혹시 현재 PHP라는 언어나 웹 프로그래밍이라는 것 때문에 강한 거부감을 느끼는 사람이 있다면, 당장 시작해야 한다. 바로 당신을 위한 글이다.

(ㄷ) 이 과정이 완료되면, 자신의 분야로 돌아가서 계속 공부하면 될 것이다.
일반적인 수준의 웹 개발이나 응용 프로그램(앱 포함) 개발은 이 정도 수준에서 시작할 수 있다. 물론 시작이 그렇다는 것이고, 이후의 공부량은 더 많아진다. 하지만 여기까지 왔다면 이후의 공부를 계속해 나갈 수 있을 것이다.

  • 만약 OS, 브라우저, 데이터베이스, 검색 엔진, AI 등을 만드는 진짜 프로그래머가 되려고 하는 것이라면, 이 과정보다 깊은 과정이 필요하다.(물론 이 과정은 당연히 알아야 한다.) 나는 그 과정은 알지 못한다. 다른 세계이다. 그 세계를 보지 못한 것이 아쉽다. 아마도 절대 도달하지 못할 영역은 아닐 것이다.(필요하다면 애플, 마이크로소프트 등의 IT 대기업에 이메일을 보내보는 것이 좋겠다. 답장이 올 수도 있으니까… 참고로 그 답장은 나도 공유받고 싶다.)
  • 제대로 공부를 진행했다면, 아마도 호스팅을 버리지는 못할 것이다. 여러가지 이유로 계속 호스팅을 받으며 살아야 하는 신세가 될 것이다. 좋은 결과이다.

 
[3] 이렇게 해서 되겠어? 단순히 웹 프로그래밍을 배우는 것이 아닌가?
시작은 할 수 있다. 좀 더 자신감이 생길 것이고, 단순한 프로그램은 바로 개발할 수 있을 것이다. 혹은 자신이 개발할 수 있는 프로그램을 상상해 볼 수는 있을 것이다.

  • 뉴스 사이트, 커뮤니티, 쇼핑몰 등의 웹과 다양한 앱들은 이 방향으로 쭉 나아가면 만들 수 있게 된다.

게시판을 만드는 것은 단순히 DB를 이용하는 프로그래밍을 배우기 위해서 진행하는 것이다. PHP를 이용한 웹 프로그래밍으로 접근하는 이유는, 시스템 구축이 따로 필요하지 않으므로 가장 빠르게 접근할 수 있기 때문이다. 거의 그런 일은 없겠지만, 혹시 DB와 전혀 관계없는 프로그래밍을 하더라도, 이 방법을 통해 자신감 이상의 것을 얻게 될 것이다.

  • 또한 진짜 웹 프로그래밍을 이해하기 위해서는 다른 분야의 프로그래밍만큼 (내 생각에는 그보다 더), 이 단순한 수준 이상의 많은 깊이가 필요하다.

 
[4] 단, 취업은 다른 문제이다.
이 글을 통해 도움을 얻을 수준이라면, 갈 수 있는 가장 좋은 곳에 취직하여 더 많이 배워야 한다. 자신이 가진 모든 것을 이용하여 가장 좋은 회사에 들어가야 한다. 당연한 말이지만 좋은 회사가 배울 것이 많다.

원본이 삭제될 경우 지원되지 않을 수 있습니다.


HS LOG List of ETC

Copyright © HS LOG
Published on July 14, 2023 Filed under: ETC;

No Comments

Thank you for visiting. If you leave a comment, I will not forget.

HS LOG List of ETC

 
The number of visitors for this post is 105 (measured by Jetpack).