기존에 계획한 커리큘럼의 1회독을 완료하였습니다.
사실 70% 정도 완료이기는 해도, 가장 큰 강의 하나를 끝냈기 때문에 글을 올려봅니다.
이것으로 다음의 내용들에 대한 시야를 넓혔습니다.
- 웹 개발이라는 것이 무엇인가. (인터넷 작동원리 / 웹 레이아웃 / 개발과정 / 언어 / 프레임워크)
- 서버사이드 개발이라는 것이 무엇인가 (DB / 보안 / 서비스)
- 앱 개발이라는 것이 무엇인가. (플러터)
비유하자면 수학배우는데 '사칙연산' 정도 배웠다고 이야기 해도 될 것 같습니다 !
또 하나 배운 것이 있다면,
- 개발은 이미 개발된 것들을 레고 조립하듯이 잘 이어붙이기만 해도 작동은 한다.
이게 저한테는 굉장히 크게 다가온 것인데,
제가 소프트웨어 산업의 발전에 이바지 할 인물은 아니고, 개발은 어디까지나 제품과 서비스 개발의 도구이기 때문에,
기존의 것들을 잘 조립하기만 하면 된다는 사실을 발견한 것은, "할 만하다." 라는 기쁜 마음과 함께 '제품의 컨텐츠'에 더 많은 정성을 들일 수 있고, 들여야 겠구나 하는 생각이 들었습니다.
아래는 제가 수강한 강의 목록입니다.
다 수강하는데 2주 걸렷네요!
1. [지금 무료] 김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음 강의 - 인프런 (inflearn.com)
2. 김영한의 실전 자바 - 기본편 강의 - 인프런 (inflearn.com)
처음에 자바랑 자바스크립트랑 같은 건 줄 알고 들었었던 김영한 님의 자바강의입니다.
하지만 전혀 시간낭비가 아니었습니다. 자바랑 JS랑 그렇게 문법이 다르지도 않았고, 그냥 독학으로 배워서 막무가내였던 제 코딩지식을 '수학의 정석'급으로 제대로 된 개념화를 시켜준 강의였습니다.
시간이 되면 JAVA를 쓰지 않음에도 다른 자바와 자바스프링 강의를 듣고 싶을 정도입니다.
추천 : JAVA 입문자에게는 이 강의의 대안은 없습니다.
배운 것 :
- 코드가 어떻게 작성되어야 하고 어떻게 구동되는지에 대한 완벽한 기초지식.
- 파이썬 외 처음 접해본 다른 프로그래밍 언어의 문법 (새로운 것을 배우는 것에 대한 마음의 장벽 허물기)
3. 바닐라 JS로 크롬 앱 만들기 – 노마드 코더 Nomad Coders
저는 이론부터 하는 것보단 우선 써보고 이론하는게 맞다고 생각하는 입장이라서 가장 처음 들었던 JS강의입니다.
좋았던 점은,
- 클론코딩이다 보니 실제 코드의 결과물을 확인 할 수 있어서 좋았고 (생애 첫 웹사이트!)
- 뒤늦게 알고보니, 클론 코딩이라고해서 다뤄야 할 기능을 안 다룬 것은 또 아니었습니다. 필요한 오류들을 일부러 발생시켜줬고, 다뤄야하는 기능들을 다뤄줬으며, 초보자들이 쉽게 당황할만한 상황들에 대해 충분히 설명해줬습니다. (한마디로 교육내용이 풍부했다 !)
- "easy", "simple" 단어를 강사분이 많이 사용하시다보니 좀 쉽게 느껴지는 것 같아서 또 굉장히 좋았습니다.
어려웠던 점은,
- 외부패키지를 import 해서 썼던 파이썬과는 달리 많은 기능이 js, html, css 안에 갖추어져있어서 외부 패키지를 import하지 않는 것이 낯설었고
- 여러 파일에 나눠서 코드를 작성하는 것이 낯설었습니다.
- 그리고 class를 계속해서 생성하고 함수대신 메서드를 사용하는 '객체지향프로그래밍'이 익숙해지기 어려웠습니다.
배운 점은,
- 어렵게 느껴졌던 부분들이랑
- 프론트엔드 찍먹 !
4. Python으로 웹 스크래퍼 만들기 – 노마드 코더 Nomad Coders
백엔드를 파이썬으로 수강하기로 최초에 커리큘럼을 정했기 때문에 수강했습니다.
"Django"보다는 입문용으로는 "Flask"를 많은 분들이 추천하였고, 플라스크를 다루고 있어서 수강하였습니다.
좋았던 점은,
- 바닐라JS 수업을 듣고 왔더니, Beautifulsoup(파이썬 크롤링 라이브러리)을 더 잘 이해할 수 있어서 좋았고
- 사람인지 기계인지 확인시켜줘야 되는 방어벽을 뛰어넘을 수 있는 "Selenium" 을 사용해 볼 수 있는 기회가 있어서 좋았고,
- "Flask"를 실제적으로 써 볼 수 있어서 좋았습니다.
단점은,
사실 플라스크 강의가 아니다 보니까 플라스크 내용은 2시간 정도 밖에 되지 않아서 아쉬움이 남습니다.
하지만, 뷰티풀스프를 이용해서 실제적으로 파이썬을 이용해서 웹을 다뤄볼 수 있는 기회가 주어진다는 점은 좋습니다.
배운 점은,
- 플라스크 찍먹
- JS 보단 역시 파이썬이 쉽고 편하다 !
- 무턱대고 배웠던 파이썬의 다양한 라이브러리들이 굉장히 강력한 거였구나.
보완해야할 점은,
- 장고 또는 FASTAPI에 대한 학습.
(플라스크로 학습을 하더라도 실제는 장고로 더 많이 배포한다고 합니다. 그것은 플라스크로 직접 하나하나 만드는 것보다 장고의 엄격한 코드에 따라 서비스를 개발했을 때 사이트의 안정성이 더 높기 때문이라고 합니다.) - 크롤링을 했을 때, 또는 API를 동원했을 때 상업적으로 사용할 수 있는 법적 허용범위에 대해서 아직 모호합니다.
5. 【한글자막】 100일 코딩 챌린지 - Web Development 부트캠프 | Udemy
웹개발의 A-Z를 다루기 위해서 수강한 강의입니다.
"JS,CSS,HTML - NODE.JS - MONGODB - 보안 - API - 배포"의 단계로 수업이 진행됩니다.
파이썬을 백엔드로 삼기로 하였지만,
- 웹개발의 A-Z를 충분히 다루어주는 파이썬 백엔드 강의가 없었고
- T자로 깊이 다루기 전에 다양한 언어를 접해보는 것이, T자 학습에도 유리하고
- 또, 언어마다 강점이 다르기 때문에 상황에 따라 선택해서 사용할 수 있는 자유도도 얻을 수 있다고 하여.
최소한 웹개발의 A-Z를 한 번 다루어보자는 생각으로 수강하였습니다.
좋았던 점
- 70시간 정도의 강의여서 학습범위에 맞는 충분한 학습 시간을 가지고 있었고
- 정말 마우스 한 번 클릭하는 것도 다 설명해 줄 정도로 "과잉친절" 강의여서 너무 좋았습니다.
- 그리고 배운 내용들을 총 동원하여 '쇼핑몰 사이트'를 제작해보는 실습이 포함되어 있어서 확실하게 지식을 챙겨가는 것 같아 좋았습니다. (교과서식 이론만 XX)
배운 점
- 웹 개발의 큰 그림을 그릴 수 있었습니다.
- 비전공자로서 가장 불안한 점은 "내가 모르는 곳에서 사고가 터질까봐"하는 것입니다. 그런 것 없게 자세하지는 않더라도 처음부터 끝까지의 내용을 한 번씩을 다 다뤄주니까 어디에 무엇이 있는지 정도는 알게되었고 불안감을 덜 수 있었던 점이 최고의 장점입니다. (이 내용들을 제가 목차를 작성해서 이런저런 강의들을 이어붙여서 학습하려고 했으면 커리큘럼 짜는 것만 해도 굉장한 업무였을 것입니다.)
- 그리고 (편하지는 않지만) NODEJS를 다루어 볼 수 있었고, 파이썬에 비해서 확실히 NODE는 웹개발 쪽에 강력한 패키지들이 많이 있다는 생각이 들었습니다. (파이썬은 데이터 다루는 것에 특화되어 있다는 생각..)
- 그리고 제법 긴 시간을 들여 쇼핑몰 페이지를 만들기 때문에, 쇼핑몰 사이트 코드는 잘 보관해두었다가 실제로 사용할 수도 있어서 소스코드를 얻은 것도 좋았습니다.
- API 서비스를 통해서도 수익을 창출할 수 있다는 것을 배웠습니다.
보완해야 할 점
- 웹사이트와 DB를 호스팅해서 구글에서 검색되는 것까지 직접 해보아야 합니다.
- 웹사이트에 AI기능을 탑재하려면 어떻게 해야하는지 아직 잘 모르겠습니다.
- 웹사이트를 다국적에서 배포하려면 어떻게 해야할지 아직 잘 모르겠습니다.
- 제가 알고있는 지식들로만 배포를해도 사이트에 치명적인 사고가 발생하지 않는 것이 맞는지 코드 작성 후 전문가에게 확인을 받고 싶습니다.
- 구글 검색엔진의 SEO에 대해서 잘 모르겠습니다. (별도의 강의가 있다고 합니다.)
- 웹 도는 어플을 배포하였을 때 업데이트 주기에 대해서 아직 감이 안 잡힙니다.
6. Dart 시작하기 – 노마드 코더 Nomad Coders
7. Flutter 로 웹툰 앱 만들기 – 노마드 코더 Nomad Coders
웹과 앱에 대한 구분이 생기면서 수강한 강의입니다. 플러터는 제가 느끼기로는 지금 가장 핫한 언어 중 하나이고, 아직 수요층이 많지는 않지만 웹/앱을 넘어서서 임베디드까지 그야말로 ALL IN ONE을 지향하는 크로스플랫폼이기 때문에, 무엇보다 제품 생산'속도'가 중요한 저에게 최고의 선택지입니다. DART라는 언어를 또 배워야 하는 소요가 있지만, 직접 다루어 본 결과 하나의 언어 (PYTHON, JS, .. ) 에서 다른 언어 (DART) 로 전이학습하는 것은 어렵지 않았고, DART의 기능자체도 어렵지 않았습니다. (차이점은 NULL SAFETY랑 초기화 정도?)
좋았던 점
- 가장 좋았던 점은 아무래도 '플러터가 멋진 프레임워크'라는 점이 좋았습니다. 과거에는 플러터가 없어질 거라는 우려, 클로스플랫폼은 성공할 수 없다는 우려 등이 많았던 것으로 압니다. 이에 반해 실제 사용해본 현재의 플러터는 충분히 멋졌고 이 프레임워크를 선택한 것이 향후에 후회하지 않을 것 같은 생각이 들어서 좋았습니다.
- API를 통해 서비스 도입해보는 것을 배울 수 있어서 좋았고,
- UI 생성에 대해 정말 친절하게 설명해주는 것도 좋았습니다.
배운 점
- 가장 핫 한 언어, 플러터 찍먹 !
- 앱 개발 찍먹 ! (기존에 쓰던 앱들도 "이런 것들을 개발자가 하나하나 신경쓴거지? " 하고 다르게 보이는 시야 확보)
보완해야 할 점
- 아직 앱개발에 대한 전체그림이 잘 그려지지 않습니다. (앱 개발의 백엔드를 결합하는 방법 등)
- AWS, FIREBASE와 같은 것들에 대해서 알아보아야 할 것 같습니다.
- 웹의 백엔드와, 앱의 백엔드가 같은건지 잘 모르겠습니다.
- 백엔드에 다양한 언어를 사용하고 싶은데 그것이 가능한 것인지 잘 모르겠습니다.
- FLUTTER로 웹개발도 하고 싶은데 그 방법은 잘 모르겠습니다.
- 피그마를 이용해서 필요한 디자인을 곧바로 사용할 수 있을지 모르겠습니다.
- 다양한 애니메이션 효과에 대해 아직 잘 모르겟습니다.
- 휴대폰의 기능에 접근하는 방법을 아직 잘 모르겠습니다.
- 어플과 웹뷰의 차이점을 아직 잘 모르겠습니다.
1회독을 끝내며..
이제 시작해 볼 때인가 ?
"이제 내꺼 한 번 만들어볼까?" 하는 생각이 스믈스믈듭니다. 사실 아이디어도 하나 잡았습니다.
그런데 개발하나 작은 산을 넘은 것이지, 브랜딩, 마케팅, 수익구조, 이런 것들에 대해서 전~~혀 모르기 때문에,
"사업하는 방법" 에 대해 공부를 해야할 것 같습니다.
개발의 다음 행보는 ?
1. 아키텍처 : 아직 전체 구성을 하는 방법에 대해 잘 모르겠습니다.
2. react : 프론트는 react를 꼭 해야하는 것 같은데, 그걸 좀 해결해야겠습니다.
3. next.js : 음.. 이게 대세래요
4. sql : 기본
5. 인터넷 : 기본 인터넷 구동에 대한 지식이 아직 약한 것 같습니다.
6. tailwind
'1인개발자' 카테고리의 다른 글
<1인 개발자로 살아남기> 22일차 : 깃허브(github) 프로젝트 관리하기 (0) | 2024.01.02 |
---|---|
<1인 개발자로 살아남기> 17일차 : 사이트 런칭 계획 작성하기 (0) | 2023.12.28 |
VSC에서 플러터 실행 시, 홈화면에서 안 넘어가질 때 (flutter FAILURE: Build failed with an exception, no pubspec.yaml) (0) | 2023.12.22 |
<1인개발자로 살아남기> 10일차 : SSAFY(싸피;삼성청소년 SW 아카데미) 합격과 고민 (비전공자) (0) | 2023.12.22 |
<1인 개발자로 살아남기> 9일차 : 플러터Flutter로 전향하기, 앱 개발의 종류 (0) | 2023.12.21 |