본문 바로가기

1인개발자

<1인개발자로 살아남기> 15일차 : 웹개발 커리큘럼 1회독

반응형

기존에 계획한 커리큘럼의 1회독을 완료하였습니다.

사실 70% 정도 완료이기는 해도, 가장 큰 강의 하나를 끝냈기 때문에 글을 올려봅니다.

이것으로 다음의 내용들에 대한 시야를 넓혔습니다.

  1. 웹 개발이라는 것이 무엇인가. (인터넷 작동원리 / 웹 레이아웃 / 개발과정 / 언어 / 프레임워크)
  2. 서버사이드 개발이라는 것이 무엇인가 (DB / 보안 / 서비스)
  3. 앱 개발이라는 것이 무엇인가. (플러터)

비유하자면 수학배우는데 '사칙연산' 정도 배웠다고 이야기 해도 될 것 같습니다 !

또 하나 배운 것이 있다면,

 

- 개발은 이미 개발된 것들을 레고 조립하듯이 잘 이어붙이기만 해도 작동은 한다.

 

이게 저한테는 굉장히 크게 다가온 것인데,

제가 소프트웨어 산업의 발전에 이바지 할 인물은 아니고, 개발은 어디까지나 제품과 서비스 개발의 도구이기 때문에,

기존의 것들을 잘 조립하기만 하면 된다는 사실을 발견한 것은, "할 만하다."  라는 기쁜 마음과 함께 '제품의 컨텐츠'에 더 많은 정성을 들일 수 있고, 들여야 겠구나 하는 생각이 들었습니다.

 

아래는 제가 수강한 강의 목록입니다.

다 수강하는데 2주 걸렷네요!


1. [지금 무료] 김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음 강의 - 인프런 (inflearn.com)

 

[지금 무료] 김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음 강의 - 인프런

프로그래밍에 처음 입문하는 분들을 위한 자바 강의입니다. 코드를 따라하면서 손쉽게 자바를 배울 수 있습니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 자바 입문[사진][임베

www.inflearn.com

2. 김영한의 실전 자바 - 기본편 강의 - 인프런 (inflearn.com)

 

김영한의 실전 자바 - 기본편 강의 - 인프런

실무에 필요한 자바 객체 지향의 핵심 개념을 예제 코드를 통해 쉽게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문법을 안다

www.inflearn.com

 

  처음에 자바랑 자바스크립트랑 같은 건 줄 알고 들었었던 김영한 님의 자바강의입니다.

하지만 전혀 시간낭비가 아니었습니다. 자바랑 JS랑 그렇게 문법이 다르지도 않았고, 그냥 독학으로 배워서 막무가내였던 제 코딩지식을 '수학의 정석'급으로 제대로 된 개념화를 시켜준 강의였습니다.

시간이 되면 JAVA를 쓰지 않음에도 다른 자바와 자바스프링 강의를 듣고 싶을 정도입니다.

 

추천 :  JAVA 입문자에게는 이 강의의 대안은 없습니다.

배운 것 :

 - 코드가 어떻게 작성되어야 하고 어떻게 구동되는지에 대한 완벽한 기초지식.

 - 파이썬 외 처음 접해본 다른 프로그래밍 언어의 문법 (새로운 것을 배우는 것에 대한 마음의 장벽 허물기)

 


3. 바닐라 JS로 크롬 앱 만들기 – 노마드 코더 Nomad Coders

 

바닐라 JS로 크롬 앱 만들기 – 노마드 코더 Nomad Coders

Javascript for Beginners

nomadcoders.co

 

저는 이론부터 하는 것보단 우선 써보고 이론하는게 맞다고 생각하는 입장이라서 가장 처음 들었던 JS강의입니다.

 

좋았던 점은,

  1. 클론코딩이다 보니 실제 코드의 결과물을 확인 할 수 있어서 좋았고 (생애 첫 웹사이트!)
  2. 뒤늦게 알고보니, 클론 코딩이라고해서 다뤄야 할 기능을 안 다룬 것은 또 아니었습니다. 필요한 오류들을 일부러 발생시켜줬고, 다뤄야하는 기능들을 다뤄줬으며, 초보자들이 쉽게 당황할만한 상황들에 대해 충분히 설명해줬습니다. (한마디로 교육내용이 풍부했다 !)
  3. "easy",  "simple" 단어를 강사분이 많이 사용하시다보니 좀 쉽게 느껴지는 것 같아서 또 굉장히 좋았습니다.

어려웠던 점은, 

  1.  외부패키지를 import 해서 썼던 파이썬과는 달리 많은 기능이 js, html, css 안에 갖추어져있어서 외부 패키지를 import하지 않는 것이 낯설었고
  2.  여러 파일에 나눠서 코드를 작성하는 것이 낯설었습니다.
  3. 그리고 class를 계속해서 생성하고 함수대신 메서드를 사용하는 '객체지향프로그래밍'이 익숙해지기 어려웠습니다.

배운 점은,

  1. 어렵게 느껴졌던 부분들이랑
  2. 프론트엔드 찍먹 !

4. Python으로 웹 스크래퍼 만들기 – 노마드 코더 Nomad Coders

 

Python으로 웹 스크래퍼 만들기 – 노마드 코더 Nomad Coders

Python for Beginners

nomadcoders.co

백엔드를 파이썬으로 수강하기로 최초에 커리큘럼을 정했기 때문에 수강했습니다.

"Django"보다는 입문용으로는 "Flask"를 많은 분들이 추천하였고, 플라스크를 다루고 있어서 수강하였습니다.

 

좋았던 점은,

  1.  바닐라JS 수업을 듣고 왔더니, Beautifulsoup(파이썬 크롤링 라이브러리)을 더 잘 이해할 수 있어서 좋았고
  2. 사람인지 기계인지 확인시켜줘야 되는 방어벽을 뛰어넘을 수 있는 "Selenium" 을 사용해 볼 수 있는 기회가 있어서 좋았고,
  3. "Flask"를 실제적으로 써 볼 수 있어서 좋았습니다.

단점은, 

사실 플라스크 강의가 아니다 보니까 플라스크 내용은 2시간 정도 밖에 되지 않아서 아쉬움이 남습니다.

하지만, 뷰티풀스프를 이용해서 실제적으로 파이썬을 이용해서 웹을 다뤄볼 수 있는 기회가 주어진다는 점은 좋습니다.

 

배운 점은,

  1. 플라스크 찍먹
  2. JS 보단 역시 파이썬이 쉽고 편하다 !
  3. 무턱대고 배웠던 파이썬의 다양한 라이브러리들이 굉장히 강력한 거였구나.

보완해야할 점은,

  1.  장고 또는 FASTAPI에 대한 학습.
    (플라스크로 학습을 하더라도 실제는 장고로 더 많이 배포한다고 합니다. 그것은 플라스크로 직접 하나하나 만드는 것보다 장고의 엄격한 코드에 따라 서비스를 개발했을 때 사이트의 안정성이 더 높기 때문이라고 합니다.)
  2. 크롤링을 했을 때, 또는 API를 동원했을 때 상업적으로 사용할 수 있는 법적 허용범위에 대해서 아직 모호합니다.

5. 【한글자막】 100일 코딩 챌린지 - Web Development 부트캠프 | Udemy

 

웹개발의 A-Z를 다루기 위해서 수강한 강의입니다.

"JS,CSS,HTML - NODE.JS - MONGODB - 보안 - API - 배포"의 단계로 수업이 진행됩니다.

파이썬을 백엔드로 삼기로 하였지만,

  • 웹개발의 A-Z를 충분히 다루어주는 파이썬 백엔드 강의가 없었고
  • T자로 깊이 다루기 전에 다양한 언어를 접해보는 것이, T자 학습에도 유리하고
  • 또, 언어마다 강점이 다르기 때문에 상황에 따라 선택해서 사용할 수 있는 자유도도 얻을 수 있다고 하여.

최소한 웹개발의 A-Z를 한 번 다루어보자는 생각으로 수강하였습니다.

 

좋았던 점

  1. 70시간 정도의 강의여서 학습범위에 맞는 충분한 학습 시간을 가지고 있었고
  2. 정말 마우스 한 번 클릭하는 것도 다 설명해 줄 정도로 "과잉친절" 강의여서 너무 좋았습니다.
  3. 그리고 배운 내용들을 총 동원하여 '쇼핑몰 사이트'를 제작해보는 실습이 포함되어 있어서 확실하게 지식을 챙겨가는 것 같아 좋았습니다. (교과서식 이론만 XX)

배운 점

  1. 웹 개발의 큰 그림을 그릴 수 있었습니다.
  2. 비전공자로서 가장 불안한 점은 "내가 모르는 곳에서 사고가 터질까봐"하는 것입니다. 그런 것 없게 자세하지는 않더라도 처음부터 끝까지의 내용을 한 번씩을 다 다뤄주니까 어디에 무엇이 있는지 정도는 알게되었고 불안감을 덜 수 있었던 점이 최고의 장점입니다. (이 내용들을 제가 목차를 작성해서 이런저런 강의들을 이어붙여서 학습하려고 했으면 커리큘럼 짜는 것만 해도 굉장한 업무였을 것입니다.)
  3. 그리고 (편하지는 않지만) NODEJS를 다루어 볼 수 있었고, 파이썬에 비해서 확실히 NODE는 웹개발 쪽에 강력한 패키지들이 많이 있다는 생각이 들었습니다. (파이썬은 데이터 다루는 것에 특화되어 있다는 생각..)
  4. 그리고 제법 긴 시간을 들여 쇼핑몰 페이지를 만들기 때문에, 쇼핑몰 사이트 코드는 잘 보관해두었다가 실제로 사용할 수도 있어서 소스코드를 얻은 것도 좋았습니다.
  5. API 서비스를 통해서도 수익을 창출할 수 있다는 것을 배웠습니다.

보완해야 할 점

  1. 웹사이트와 DB를 호스팅해서 구글에서 검색되는 것까지 직접 해보아야 합니다.
  2. 웹사이트에 AI기능을 탑재하려면 어떻게 해야하는지 아직 잘 모르겠습니다.
  3. 웹사이트를 다국적에서 배포하려면 어떻게 해야할지 아직 잘 모르겠습니다.
  4. 제가 알고있는 지식들로만 배포를해도 사이트에 치명적인 사고가 발생하지 않는 것이 맞는지 코드 작성 후 전문가에게 확인을 받고 싶습니다.
  5. 구글 검색엔진의 SEO에 대해서 잘 모르겠습니다. (별도의 강의가 있다고 합니다.)
  6. 웹 도는 어플을 배포하였을 때 업데이트 주기에 대해서 아직 감이 안 잡힙니다.

6. Dart 시작하기 – 노마드 코더 Nomad Coders

 

Dart 시작하기 – 노마드 코더 Nomad Coders

Flutter 앱 개발을 위한 Dart 배우기

nomadcoders.co

 

7. Flutter 로 웹툰 앱 만들기 – 노마드 코더 Nomad Coders

 

Flutter 로 웹툰 앱 만들기 – 노마드 코더 Nomad Coders

Flutter for Beginners

nomadcoders.co

웹과 앱에 대한 구분이 생기면서 수강한 강의입니다. 플러터는 제가 느끼기로는 지금 가장 핫한 언어 중 하나이고, 아직 수요층이 많지는 않지만 웹/앱을 넘어서서 임베디드까지 그야말로 ALL IN ONE을 지향하는 크로스플랫폼이기 때문에, 무엇보다 제품 생산'속도'가 중요한 저에게 최고의 선택지입니다. DART라는 언어를 또 배워야 하는 소요가 있지만, 직접 다루어 본 결과 하나의 언어 (PYTHON, JS, .. ) 에서 다른 언어 (DART) 로 전이학습하는 것은 어렵지 않았고, DART의 기능자체도 어렵지 않았습니다. (차이점은 NULL SAFETY랑 초기화 정도?)

 

좋았던 점

  1. 가장 좋았던 점은 아무래도 '플러터가 멋진 프레임워크'라는 점이 좋았습니다. 과거에는 플러터가 없어질 거라는 우려, 클로스플랫폼은 성공할 수 없다는 우려 등이 많았던 것으로 압니다. 이에 반해 실제 사용해본 현재의 플러터는 충분히 멋졌고 이 프레임워크를 선택한 것이 향후에 후회하지 않을 것 같은 생각이 들어서 좋았습니다.
  2. API를 통해 서비스 도입해보는 것을 배울 수 있어서 좋았고,
  3. UI 생성에 대해 정말 친절하게 설명해주는 것도 좋았습니다.

배운 점

  1. 가장 핫 한 언어, 플러터 찍먹 !
  2. 앱 개발 찍먹 ! (기존에 쓰던 앱들도 "이런 것들을 개발자가 하나하나 신경쓴거지? " 하고 다르게 보이는 시야 확보)

보완해야 할 점

  1. 아직 앱개발에 대한 전체그림이 잘 그려지지 않습니다. (앱 개발의 백엔드를 결합하는 방법 등)
  2. AWS, FIREBASE와 같은 것들에 대해서 알아보아야 할 것 같습니다.
  3. 웹의 백엔드와, 앱의 백엔드가 같은건지 잘 모르겠습니다.
  4. 백엔드에 다양한 언어를 사용하고 싶은데 그것이 가능한 것인지 잘 모르겠습니다.
  5. FLUTTER로 웹개발도 하고 싶은데 그 방법은 잘 모르겠습니다.
  6. 피그마를 이용해서 필요한 디자인을 곧바로 사용할 수 있을지 모르겠습니다.
  7. 다양한 애니메이션 효과에 대해 아직 잘 모르겟습니다.
  8. 휴대폰의 기능에 접근하는 방법을 아직 잘 모르겠습니다.
  9. 어플과 웹뷰의 차이점을 아직 잘 모르겠습니다.

1회독을 끝내며..

이제 시작해 볼 때인가 ?

"이제 내꺼 한 번 만들어볼까?" 하는 생각이 스믈스믈듭니다. 사실 아이디어도 하나 잡았습니다.

그런데 개발하나 작은 산을 넘은 것이지, 브랜딩, 마케팅, 수익구조, 이런 것들에 대해서 전~~혀 모르기 때문에,

 

"사업하는 방법" 에 대해 공부를 해야할 것 같습니다.

 

개발의 다음 행보는 ?

1. 아키텍처 : 아직 전체 구성을 하는 방법에 대해 잘 모르겠습니다. 

2. react : 프론트는 react를 꼭 해야하는 것 같은데, 그걸 좀 해결해야겠습니다.

3. next.js : 음.. 이게 대세래요

4. sql : 기본

5. 인터넷 : 기본 인터넷 구동에 대한 지식이 아직 약한 것 같습니다.

6. tailwind

 

 

반응형