최근 기술 경향 - 미주
작년 9 월에 C programmer 생활 30+ 년 생활을 접고 과감하게/무모하게 (알고보니) 웹프로그래밍쪽으로 '전향' 하여 아직도 삽질하는 중에 어떤 경향이랄까 흐름을 알게되어 공유합니다.
사족: 왜 이렇게 오랜기간 동안 삽질했냐 하면, 메니지먼트에서 양쪽 (데이타베이스쪽과 웹개발쪽) 모두 잘 아는 사람이 필요하고, 앞으로 새로 들어오는 개발인원은 그렇게 하게 할것이라고 해서 금년 1 월중순까지는 데이타베이스 팀에서 일을 했고 실제 웹프로그래밍 팀에서 일한지는 이제 겨우 한달 되어갑니다.
(1) 통합개발편집기 IDE : IntelliJ 와 Visual Studio Code 를 주로 씁니다. 저는 '막강' IntelliJ 씁니다.
앵귤러로 개발할때는 무조건 VS Code 를 써야하는줄 알았으나 웹 UI 팀의 시니어 개발자들은 IntelliJ
로 다 하더군요.
하나 하나 물어보면서 IntelliJ 로 VS Code 가 하는거 다 할 수 있다는것을 알았습니다.
새로운 (앵귤러) 프로젝트/컴포넌트 추가와 실시간 빌드 모두 IntelliJ 로 할 수 있더군요.
(2) Web Interface Service : Spring Boot (Moneta Boot) 를 통해 두개의 다른 JEE 환경을 구현합니다.
하나는 클라우드상의 오라클 데이타베이스 서버기동용, 또 다른 하나는 웹애플리케이션용으로 띄웁니다.
그리고 실제 앵귤러 웹 실행은 ng serve 를 통해서 실시간 빌드 및 가동이 가능하게 IntelliJ 터미널이나
윈도우 커맨드라인상에서 실행시키고 이 서비스가 Moneta Boot 웹애플리케이션과 연동해서 일을 합니다.
(3) Relational DB : 내부 Cloud 에서 오라클 데이타베이스 운용
클라우드상에 데이타베이스가 있어서 그런지 반드시 프록시 어카운트를 통해서 연결해야 하는데
kerberos 를 통해서 일정기간마다 크레덴셜을 바꾸며 연결하게 되어있습니다.
(4) 웹 개발 프레임워크 : Angular 로 모든 UI 개발이 이루어집니다.
개발에 특화된 웹 애플리케이션 framework 라는 것을 실감합니다. 단 한줄만 바꾸어도 앵귤러가 다시
빌드해서 UI 화면에 바뀐 내용이 나타납니다. 한가지 더 - 기본이겠지만, 디버깅이 아주 용이합니다.
예를 들어 크롬 웹브라우저에서 More Tools -> Developer Tools 를 켜 놓으면 모든 상세 스텝을
모니터링하게 됩니다.
(5) 점차 AWS 로 변경 가능한 부분은 변경될것으로 보입니다. 제일먼저 R-DB 쪽 부터 바꿉니다.
이것이 무엇을 의미하냐하면 - 요즘 다들 한다는 AWS 자격증 따기 공부를 저 역시 해야 한다는 얘기
입니다. 아마존 전화인터뷰할때의 그 공포감이 다시 밀려옵니다. 그런데 뭐 ~ 2006 년 SCJP 하나 따서
15 년을 이력서에 올려놓고 있는데, 공부해서 이력서에 올릴거 몇개 더 만들어야지요.
(6) 클라우드 상의 오라클 데이타 베이스라 해도 똑같은 kerberos 어카운트 세팅을 통해서 SQL Developer
를 사용해서 DB table 내용 조회가 가능합니다. DB table 변경은 일정기간마다 script 가 기동되어
다른 거대 DB 내용을 읽어와서 해 줍니다.
이상 old dog 이 new tricks 를 배우는 중 알아낸것들입니다. :)
(new tricks 재미있습니다. 그리고 배울만합니다. 막히면 새벽에 일어나 막 해보고 알아냅니다.)
업무상 비밀같은것은 없으니까 이 포스팅은 괜찮을것 같은데 혹시 뭔가 꺼림직한게 있다면 수정하거나 삭제할것입니다.
(1), (4), (5)는 돈이 걸려 있으니 그렇게
(1), (4), (5)는 돈이 걸려 있으니 그렇게 바뀌는거네요.
IDE 쓰면 간단한 API 정도는 그자리에서 바로 확인되니 코딩시간이 짧아지고 프레임워크 쓰면 기본 동작은 이미 정의되어 있고 커스텀해야 하는 부분만 커스텀하면 기능구현되니 개발 시간이 단축되죠. 물론 참여하는 개발자들이 그 프레임워크 동작구조 잘 알고 있어야 한다는 조건이 있습니다.
M/M으로 개발자 단가 산정하니 저렇게 해서 빨리 만들면 M/M이 줄어드는거죠.
AWS도 호스팅의 일종인데 서비스가 쓴만큼만 나가도록 되어 있고 사람 설정은 물론 외부 프로그램도 API를 이용해서 자유자재로 바꿀 수 있게 되어 있을 뿐만 아니라 AWS 구축한 아마존조차도 이걸 장려(!)하고 있습니다. 소규모면 별 차이 없는데 크게 가면 이게 확 와닿을 정도로 비용 절감이 되니 뜨는거죠. 기존의 일반적인 호스팅, 코로케이션, 서버 직접 운영 형태로 가면 나가는 비용이 항상 고정입니다.
Written By the Black Knight of Destruction
앗! 그렇군요.
제가 알게된것들을 나열한것뿐인데 거기에 그런 의미가 있을줄 몰랐습니다.
직장생활에 너무 익숙해 져서 주어진일이나 잘 하고 문제생기면 달려가 고치고 하던 습관만 있지 왜 저렇게 하는지는 미처 생각을 못했네요.
사실 이 부서로 옮기기전의 직장일이라는게 스트레스 엄청 받는 신용카드 (비*, 마*, 디*, 아*, 페*, 삼* 등 모든 카드, 온라인페이먼트) 온라인 트랜잭션처리하는 복잡하고 너무 중요한 일이라 자기가 올린 소프트웨어가 잘 돌아가는지에만 신경이 곤두서서 살아온게 전부였습니다. 그런데 (옮겨와서 근무중인) 여기는 그런성격의 업무가 아니라 (아직까지는) 편하다보니까 큰 흐름 (또는 큰 그림) 이랄까, 파악이 좀 되는것 같습니다.
물론 세부로 들어가면 아직도 모르는거 투성이라 아들보다 어린 직원한테 열심히 배우고 있지요.
답글 감사합니다.
여의도자바
수고 많으십니다.
수고 많으십니다.
이제 창업을 하셔야 될거 같은데요?
1인 기업, 또는 유능한 인재를 고용한 사장님으로.
새해 복 많이 받으세요.
세벌 https://sebuls.blogspot.kr/
격려말씀 감사합니다.
창업이라는 다른 또 하나의 선택이 있었네요.
그러게 사람은 서로 소통하고 살고 다른분들 얘기에도 귀를 기울여야 한다는것을 깨닫습니다.
어휴 - 그런데 사업도 사업을 할 사람이 하는거지 저같은 성격은 그거 못할겁니다.
회사생활도 먹고살아야 하니까 겨우겨우 하는거지, 사람대하는것을 굉장히 부담스러워 하는 성격인데다가 여기는 한국도 아니고... 인종적인 편견도 (아직도) 심한게 사실이고요.
제가 사는 동네가 콜럼버스 교외이고 오하이오 주립대가 콜럼버스에 있어서 가깝습니다.
60 세인가부터는 대학원 등록금이 공짜라네요. 아주 오래전부터 우주에 관심이 많았기때문에 천체물리학을 공부할 생각입니다 (아직까지는요). 컴퓨터 소프트웨어 엔지니어로서 습득한 경험과 기술을 천체물리학에 접목해서 공부하면 아주 재미있는것들을 많이 해 볼 수 있을것같다는 막연한 상상을 하고 있습니다. 하여 이쪽부서로 옮겨온게 정말 제게는 행운이라고 여기며 열심히 하고 있고요.
AI 쪽으로도 많이 방향이 겹치는 부서업무라 공부하면서 일할 기회가 많을것같습니다.
세벌님도 새해 복 많이 받으십시오.
여의도자바
요즘 angular 가 vue 나 react 에
요즘 angular 가 vue 나 react 에 밀리지 않나요?
아하, 그렇군요!
님의 댓글로 (Angular 밖에 몰랐는데) Vue 와 React 도 있다는것을 알게되었습니다. 찾아보니 최근의 이 세가지 자바스크립트 프레임워크 동향을 잘 보여주는 인터넷글이 있어서 여기 링크를 올립니다.
https://www.codeinwp.com/blog/angular-vs-vue-vs-react/
새로운 강자로 Vue 가 막 올라서고 있다는것을 알 수 있지만, 아직까지 IT job market 에서는 Angular 개발 경험자를 더 많이 찾고 있군요. (링크드인, 인디드와 같은 미국의 job market 관련업체들 통계이긴 합니다만)
글의 마지막에서 어떤 프레임워크가 대세이고 승자인지는 결론짓지 않네요. 각각 장단점이 있다고 하고 (자세한것은 읽어보시길) 프로젝트 담당 개발자들이 필요에 따라 선택해서 사용하면 될것이라고 하는것 같습니다.
그런데, 저와같이 큰 회사의 개발자는 해당부서에서 이미 선택하고 결정한 프레임워크를 사용할 수 밖에 없습니다, (이쪽 일을 시작한지 2/15 로 딱 한달밖에 안된 상황에서) 아직까지는요. 물론 1-2 년 후 메니지먼트에서 기대하는 시니어 리드 개발자로서의 역할을 하기 시작하면서는 POC (Proof of Concept) 형태로 개선방향을 제시할 수 있겠지요.
말씀해주신 덕분에 제 컴퓨터 (윈도우와 리눅스) 에 다른 두가지 Vue 와 React 를 꼭 설치해서 사용해보려고 합니다.
이쪽방면 (웹프로그래밍) 에는 쌩초보나 다름없기때문에 이렇게 댓글달아주신 의견이 배움의 기회가 됩니다.
감사합니다.
여의도자바
취미로 웹 개발을 하다가 회사 개발 페이지까지 만들게
취미로 웹 개발을 하다가 회사 개발 페이지까지 만들게 되었습니다.
Angular 1 & 2 로 시작해서 Vue 로 전향하였는데,
각자 장단점이 있기는 하지만, 개인적으로는 다시 시작한다면 처음부터 Vue 로 하겠습니다..
또한 Vuetify 같은 UI 도구도 시간을 들이지 않고 페이지를 만드는데 도움이 많이 되니 Vue 와 함께 써 보시는 걸 추천합니다.
인스톨해서 사용해 봐야겠네요.
일단 집 컴퓨터에 인스톨해서 사용해 봐야겠네요. (VS Code 에 2.20 version 인스톨했습니다.)
회사업무에서 제가 역할을 하기 시작할때쯤 Angular 와 Vue 의 장단점을 파악하리라 보고, 그때쯤 제나름대로의 POC 제안을 메니지먼트와 팀에 해 볼 작정입니다.
감사합니다.
여의도자바
사족입니다만..
AngularJS(초기버전) -> React -> Vue
순으로 접했습니다만 뭐가 낫다거나 밀린다거나 하는건 그때 그때 다른듯 합니다.
최근에 Vue 를 하면서 또한 일장 일단이 있다보니 가상 DOM 의 한계라고 할까, 아니면 생소한 개념에 의한 오용인지는 모르겠지만 그런게 느껴지더군요
근데 그건 Angular 나 React 도 똑같았거든요
막히면 어떻게든 해내고 그러다 보면 또 적응되고..ㅋㅋ
이러다가 또 어떻게 바뀔지 모르니 새로운 프로젝트 할때마다 설레기도 하고 두렵기도 합니다. ^^
------------------------------------------------------------
ProgrammingHolic
그렇군요.
아직도 이쪽 분야에서는 배우고 익숙해져야 할것들이 많은것같습니다.
하다못해 화면의 아이콘도 상상으로는 마이크로소프트 윈도우의 기본 아이콘을 찾아서 쓰거나 아니면 직접 이미지 에디터로 그리거나 하는줄 알았는데, 물어보니 턱시도 개발팀이 만들어 놓는 아이콘들중에 필요한것을 클라스 이름으로 콕 찍어서 그걸 가져다 쓰는것으로 되어있다는것을 어제 알았습니다.
하나의 하드웨어 컴퓨터 시스템에 묶여서 모든것을 그안에서 할때는 선택의 여지랄까 그런게 허용이 되지 않고 오히려 '편하게' 하던대로 하면 그만인데 웹개발쪽은 수시로 변화하고 발전하는 것들을 비교해 보고 적용하고 개선하는 노력이 계속 필요하다는것도 짐작하게 됩니다.
그나마 다행인것은 회사에서 정해둔 프레임워크와 개발방식을 그대로 따라하면 된다는것이 고민을 덜 하게 한다는것인데, 비슷한 프레임워크가 이런 이런것들이 있다는것을 알고 일하는것과 모르고 무턱대고 하는것은 차이가 분명 있다고 생각합니다. C Programming 할때처럼 말 그대로 시니어 레벨까지 되었을때는 아마도 넌지시 새로운 방향, 더 나은 방법을 제시할 수 있는 단계에 이르를것이라고 상상합니다. 현재는 아이콘 하나 제대로 가져다 쓰는것도 모르는데요, 뭐.
참고가 되는 도움말씀 감사합니다.
여의도자바