개발을 하다보니 개발을 좀더 깊이 있게 알고 싶어졌고,
전문가가 되고 싶어졌다.
늘상하는 웹개발도 쉬운건 아니었지만
보다 포괄적이고 넓게 알고 싶었다.
그래서 방송통신대에 3학년에 편입했고
이제 1년 반이 넘어간다.
처음에는 C++, JSP프로그래밍,자료구조,컴퓨터과학,프로그래밍언어론을 배웠다.
객체지향의 언어 자바에 있던 관계로 얕게 나마 C++부터 손대보게 되었는데
생각대로 어려웠지만 절차지향이 뭔지 확실히 알게 되었고
소문으로만 듣던 포인터를 써보면서 나름 메모리 관리를 신경안쓰고 편하게 관리를 한편이라는 것을 여실히 알았다.
컴퓨터과학은 정보처리기사랑 비슷해서 정보처리기사를 답습한 느낌이었다.
[4차산업혁명 정보화시대]정보처리기사를 따고 .. : 네이버블로그 (naver.com)
[4차 산업혁명 정보화시대] 정보처리기사를 따.. : 네이버블로그 (naver.com)
나름대로 휴가내고 공부하면서 알차게 땄지만,
실무에 직접적으로 도움이 되지는 않았다.
그저 컴퓨터의 메인회로의 연산자를 알게 되었고
0과 1의 데이터로 시작되는 전자계산기의 진리식이 가장 기억에 남는다.
컴퓨터는 그냥 데이터와 연산이 본질인데,
그 본질을 수행하는데 있어 CPU(연산), 메모리(기억), SSD(저장소)
가 기본적으로 그 역할 수행에 맞고 이는 폰노이만의 컴퓨터 구조와 연관이 있다는 것을 깨달았다.
그리고 네트워크는 물데네전세표응이라는 네트워크 7계층이 핵심이고,
https://www.youtube.com/watch?v=1pfTxp25MA8&t=41s
여기 이렇게 엄청나게 잘 설명을 깊이있게 한 자료도 넘쳐난다.
그리고 프로그래밍언어론은
클린코드 하기와 같은 건줄 알았으나...
실상... 무관하다.
그냥 절차지향, 객체지향, TDD, DDD 이런 것들이 실무에 그나마..
함수형, 명령형 프로그래밍 이런 것들의 기본이랄까...
https://youtu.be/th7n1rmlO4I?si=oY9hYD9RHixF2de6
JSP프로그래밍도 복습겸 해보았으나... JSP는 가독성문제로 이미 지양추세이다. 그래서
사실 서블릿을 다시금 복습하였으나 사실 JSP가 클래스파일 되어 있는 것이
실상 별로 좋은 모습이 아니라는 것은 알았다.
다만 JSP의 등장은 과거 Java의 영광의 흔적과 함께 한 것이라 생각한다.
스프링부트와 그래들에 익숙해진 요즘... 톰캣이 내장되고 그래서 많이 안쓰여지고 있다.
자료구조는 늘 그랬듯 과거 학원에서 배운 트리,그래프와 스택,큐 이런 것들과 함께 버블정렬,퀵정렬,합병정렯을 넘어서
좀더 깊게 들어가서 복잡한 여러가지를 보았다.
그러나 어쨌건 자료구조를 배우는 것은 자료를 담아야 하는 것인데 웹 단계에서는 하다보니 배열만 잘해도 웬만한 것은.. 다 되었다... 코딩테스트를 다시 공부할때쯤 콜렉션 set이 중복을 없애 준다거나 이런 것들이 새로울 뿐이다.
자료구조가 중요한것은 익히 말했듯이 컴퓨터의 본질이 데이터 연산이라서다.
데이터 즉 자료의 구조를 잘 선택하고 설계해야 연산효율성이 증대하는 것이다.
이에 넘어가서 다음해로 가니 알고리즘 과목에서 동적프로그래밍, 그리드, 분할정복, BFS,다익스트라 다양한 용어가 등장한다. 코딩테스트와 함께 공부했는데 문제는 인공지능 과목과 같이 듣다가 머리가 폭발하는 줄 알았다. 인공지능은 패턴을 익히게 만드는 것인데 너무 어렵다. 기초부터 해야 하나 그래서 그 뒤 수학부터 기초를 쌓아보자 미련을 가졌으나 기본 수학도 어려웠다. 다 까먹었다. 미분,적분이 기억이 안난다.ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
그래서 인공지능 쪽 도전은 보류했다. 웹개발에 남는 것으로...
20년이 넘었으니 그러려니 한다만 어쨌건 그렇게 인공지능 쪽은 잠시 접고 C와 시스템 소프트웨어의 상관관계를 알게되고, 자바는 15로 하던데 17을 쓰고 싶었는데 좀 어중간했다. 뭐 지금은 17을 쓰면서 개발을 하는데 자바 자체는 계속 복습한다는 생각으로 공부하면서 한다.
파이썬을 공부하고 데이터분석은 확실히 파이썬이 좋구나 하는 생각을 했다. 클래스도 만들어보고 시각화도 해보고 코랩에서 재밌게 했다.
데이터베이스는 SQLD 땄을 때를 생각하며 열공 했지만 깊게 들어가면 복잡하고
인공지능에 치여서 제대로 못봤다.
차라리 인공지능에 도전하지 말 것을 그랬다.
시기상조였던 것이다.
SQLD (Structured Query La.. : 네이버블로그 (naver.com)
그래서 클라우드 공부를 했고 Azure 공부하면서 웹사이트, 머신러닝 공부도 재미있었고 멀티미디어나 리눅스 같은 것 공부하면서 기존 웹개발을 강화하려 했다. 그러나 아무리봐도 AWS만큼 아기자기하고 깔끔하게 구성되어 있지는 않다.
사람은 늘 배워야 하고 적자생존인데
멀티미디어로 사운드와, 그래픽의 역사에 대해 안 것은 재미있었고 리눅스의 역사와 git의 상관관계를 알면서 git을 좀더 배우고자 git flow , github action으로 CI/CD등도 해보았다.
어쨌건 방통대를 다니면서 견문은 확실히 넓어졌다.
그러나 실제로 무엇을 어떻게 할 것인가는 좀더 고민이 된다.
자바 스프링 개발자로서 경력을 쌓고
컴퓨터 내부의 시스템소프트웨어 그리고 네트워크 이런 것들을 종합적으로 배우면서
유익했고 전반적으로 큰그림은 그려졌으니 이제 하나를 선택해서 깊이 있게 파야한다는 결론이 나온다.
무엇을 잘할수 있는가?
자바 스프링/부트에 클라우드에 능한 백엔드로 간다.
시대는 무엇을 요구하는가?
클라우드,앱과 함께 확실히 자바/코틀린 스프링은 상당히 강세가 이어갈 것이다.
그렇다면 다시한번 선택과 집중이다.
'4차산업혁명의 일꾼 > 웹개발' 카테고리의 다른 글
CD : GitHub Actions을 이용한 AWS ECR에 배포자동화(CD:Contiuous Development) (0) | 2023.12.11 |
---|---|
CI공부 : Github workflow(깃헙 워크플로우) (0) | 2023.12.11 |
클라우드 컴퓨팅의 미래 (0) | 2023.10.27 |
리눅스의 시작과 종료 (0) | 2023.09.08 |
aws cloud practitioner~! 취득과 클라우드 컴퓨팅 서비스/이용모델~! (0) | 2023.09.08 |