[dev] 아장아장 Java 프로그래밍 2일차 뉴비의 일기steemCreated with Sketch.

in #kr7 years ago (edited)

front_normal.jpeg

학부때 Java를 조금 했었습니다. 물론 완전 완전 쌩 기초 수준이었지요. 그때 뭘 했는지 기억을 더듬어보니, Java Swing하고 자바 네트워크 프로그래밍 API로 1:1 온라인 틱택토 게임을 만들었던 기억이 납니다. 틱택토 아시지요? ㅎㅎ

그후로는 C++에만 올인하면서 자바를 쓰지 않게 되었습니다. 이상한 도그마에 같혀서, C++을 찬양하면서 Java를 경시 했지요.. ㅎㅎ C++을 바닥이 나올때까지 박박 긁으면서 파들어가다보니, 이정도 퍼포먼스는 자바로는 도저히 따라올수없을거야라고 확신하면서, 자바도 성능이 좋다라고 하는 사람들을 보며 "귀엽네.. " 하면서 우월감을 느꼈던 적이 있었습니다. 지금 생각하면 정말 부끄럽네요.

어느덧 세월이 흘러, JVM의 비약적인 발전으로, 퍼포먼스튜닝의 끝판왕인 HFT (High Frequency Trading) 서버에서조차 자바가 쓰이기 시작하는 단계에 이르렀고, C++만 신봉하던 저는 몹시 혼란스러워 했지요. ASIC과 연동은 그래도 C++가 좋을꺼야 하면서 막연히 기대를 해 봤지만, 점점 Java의 영역이 넓어져 가는것이 느껴졌습니다.

그렇게 십년을 넘게 싸고돌던 C++에 회의가 들고, 작은 옵티마이제이션에 집착하는것에 환멸을 느끼며 스타트업으로 이직했었죠. 그때 정말 자바스크립트와 파이썬으로 신나게 놀았었습니다. 조각칼로 세밀하게 나무를 다듬다가, 도끼로 팍팍 내리치는것같은 변화였지요. 만들고싶은걸 뚝딱뚝딱 만드는 재미를 C++할떄는 절대 느낄수 없었기때문에 다시 C++로 돌아가고 싶지 않았습니다.

그리고 아마존으로 이직하면서, 세팀중 하나를 고를 수 있었는데, 두팀은 C++ 하는 팀이어서 패스하고, 지금 고른 팀에 들어 왔습니다. 여러가지 이유가 물론 있지만 C++을 안해서라는 이유가 매우 컸습니다 ㅎㅎ 이팀은 자바스크립트, 리액트, 루비온레일즈 그리고 자바를 쓰는 풀스택 엔지니어를 뽑고 있었는데, 제가 루비랑 자바랑 리액트 못하는데 (ㅋㅋ 지금 생각해보니 필요한거 거의 못하는거였네요) 괜찮냐고 하니까 상관없다고 해서 들어왔지요.

들어오자마자 리액트랑 루비로 일하게 되었는데, 사실 별거 없더라구요. 루비는 그냥 깊이 쓸일없이 레일즈에 관련된 부분만 만져서 아직도 잘 모르지만 필요하면 구글링해서 짤 수 있는 수준은 되었구요. 리액트는 완전 완전 팬이 되어 버렸지요. 문제는 자바인데... 자바는 아마존에서 엄청나게 많이 쓰이는 언어라서 모르고 지나가면 불리했습니다. 심지어 AWS의 코어 네트워크도 자바로 작성된것이 대부분이라고 하더군요. 그래서 이번에 새로운 시스템을 개발하는데 백엔드로 파이썬이나 노드를 쓸까 고민고민 하다가, 그냥 자바로 짜기로 결정 했습니다. 팀원들은 파이썬과 노드로 대규모 백엔드를 만들어 본 경험이 없어서, 내심 제가 그쪽으로 추진해주길 바라는 눈치였는데, 제입장에서는 자바 경험을 쌓아야 했기때문에 초반에 리스크(제가 자바 완전 까막눈인지라..)를 감안하고라도 자바로 가기로 결정 했습니다.

그리고 이제 이틀째 자바로 코딩을 하고 있는데, 자바 완전 괜찮네요. 무엇보다 일단 IntelliJ 에디터가 진짜 대박이구요. 이클립스는 정말 엄청나게 초반 버젼 이후로 써본적이 없는데, 비슷하게 좋나요? IntelliJ는 막 코딩하다가 웃음이 날정도로 좋더라구요.. ㅋㅋㅋㅋ
그리고 Google Guice 로 Dependency Injection 방식으로 코딩을 하고 있는데, 이거 신세계네요. 물론 스크립트랭귀지만큼의 자유도는 바랄 수 없지만, strictly typed language 로써 이정도 자유도를 누릴 수 있다는게 정말 훌륭한것 같습니다. Mockito 로 유닛테스트 짜는것도 C++ 유닛테스트 짜는것에 비하면 춤이라도 춰야 할 수준입니다.

단점은, 다른애들은 다 자바 "꾼"들인데 저만 뉴비라서, 무시당하고 있습니다. 제가 뭐 물어보면 답답하다는 표정을 짓는애도있고. 제가 태클걸면, "너 모르면서 왜자꾸 댐비니" 하는 눈빛을 쏘는 애도 있습니다. ㅋㅋ 그래도 저는 개의치 않습니다. 어느 수준만 넘어서면 그때부터는 C++을 디립다 팠던 제가 더 유리해질거라는것을 알고 있거든요. Java만 아는거랑 C++과 Java를 둘다 해본거랑 큰 차이라고 생각하니까요. 그래서 쪽팔리단 생각 없이 마구 묻고 귀찮게 굴고 있습니다. ㅎㅎ

앞으로 빨리 익혀서 뉴비 딱지 떼고, 슬슬 Kotlin을 응용 해 보려고 합니다. 자바에는 Coroutine 이 없기때문에, Asynchronous로 들어가면 생산성에 한계가 올것 같아서요. Python 할때 Coroutine 으로 코딩 한번 해보고는 푹 빠져서 이거 없이는 코딩 못하겠더라구요. 자바스크립트도 Async Await 없이는 역시 갑갑하구요.

이렇게 자바 2일차 뉴비의 자바 일기를 전해 드렸습니다. 자바 고수님들의 많은 조언 부탁드립니다. ^^

굽신굽신..

Sort:  

음.. 분명 한글인데 말이죠
당췌 뭔 말인지..
여튼 베어님이 C++ 은 도사인데
Java는 초보자라고 우기시는 느낌이라
내가 아는 Java는 커피랑 스타워즈에 나오는 자바더헛이 다였는데 말이죠. ㅎㅎ

ㅎㅎ 소철님 "나도 커피 좋아하는데" 하시면서 콧노래 부르시며 클릭하신것이 상상되네요...

사실 이 글에는 고도의 전략이 담겨있답니다. 오래된 개발자 뉴비 개발자 중견 개발자가 검색할만한 키워드가 종합선물세트처럼 들어있거든요. 심지어 십년 넘게 지속되고있는 "자바가 세냐 C++가 세냐" 논쟁을 살포시 얹고 있지요. 사자랭호랑이가 싸우면 누가 이기냐 하는것하고 비슷한거랍니다.
스팀잇이 구글검색을 통해 개발자들에게 노출되는데 일조를 할거라고 생각합니다 ㅎㅎ

요즘 논란덕분에 너무 캐주얼한 글만 적었는데, 그 달콤한 글보상에 아얘 그쪽으로 갈까 생각도 해봤지만, 역시 제 분야 글을 적는것이 결국 함께 잘되는 길이라 생각해서 다시 시작 하였습니다 ㅎㅎ

소철님 관심없는 내용에도 따듯한 글 남겨주시구 역시 진짜 짱입니다 ㅎㅎ 감사해요^^

정말 그동안 얼마나 현실에 안주하고 나태하게 살았는가 반성하게 됩니다... 회사 내에서 필요없으니까. 접할일도 없으니까. 라는 핑계로 10년전에 배운 기초적인 언어 지식으로 먹고 사는 제가 한심하게 느껴집니다. ㅠㅠ.

스팀잇에서 베어님을 만난것도 kr의 여러 개발자분을 만난게 제겐 너무 큰 행운입니다. 감사합니다.

스팀잇은 @nhj12311을 만난게 너무 큰 행운입니다 ^^

우엌 잘봐주셔서 감사합니다. ^^

때가 오면 누가 말려도 하실겁니다 ㅎㅎ 저도 필요를 절실히 느낄때만 새로운걸 하거든요. 저도 스팀잇에서 nhj12311님 덕분에 백배 즐겁고유익하게 지내고 있어요 ㅎㅎ 감사합니다!!

Cheer Up!

  • from Clean STEEM activity supporter

글 완전 재미 있게 쓰시네요. ^^
@asbear 님 말씀처럼 이미 C++ 도사이신데 거기에 자바까지 더해지면 엄청난 강점이 될 수 있다고 생각합니다. 조금만 지나면 금방 익히실 것이라고 믿고요~ 화이팅!!! 입니다. 멋지시네요. :)

도사는아닌데.. 워낙 c++가 실제로 "내공"이 필요한 언어라서 아직도 까마득합니다. ^^ 근데 더 깊이하고싶지가않아서 그만뒀어요.. 지치더라구요.. 마이해피써클님 감사해요^^ 써클님도 짱 멋지세요!!!

여러 언어를 다뤄보셨으니 자바는 금방 배우시지 않을까요.
새로운 언어에 대한 도전정신에 감명 받고 갑니다.
저는 C++ 좀 봐야하는데 막막하네요.

뭐가 있는지 알고 모르고의 차이가 엄청나더라구요. 이번에 Lombok인가 이런거랑 Gson같은거.. 누가 안알려줬으면 있을거라고 상상도못했을테니까요 ㅎㅎ 스택오버플로우에서 텐트치고 살아야겠죠..

C++ 11 이후 버전으로 하신다면 다행인데 그 이전버전이면 하아... 힘내세요...

뉴비라뇨.. 말씀하시는 것만 봐도 뉴비가 아니신데요.. ㄷㄷㄷ

코딩 이틀차인데요 ㅜㅜ.. 혹시 커피넛님 자바선수이신가요? 앞으로 의지좀 하려구요.. ㅎㅎ

아마존에 계시는 개발자를 만나뵙게 되어서 영광입니다. 앞으로 재미있는 개발 소식 많이 전해주세요. 저도 C++까지는 했는데 그 이후는 개발에 손을 놓아서 영~~~. 최근들어 파이썬으로 조금씩 감을 익히고 있습니다.

저도 c++ 이후 파이썬을 배웠는데 처음엔 힘들더라구요. 언어는 쉽지만.. "불신" 이랄까? 이게 내부적으로 어떻게 메모리를 쓰는지 카피가 일어나는지 아닌지 그런것들이 c++에선 넘 중요하다보니 그게 보이지 않는 언어를 쓸때 습관적으로 불안함을 느끼는 경험을 했습니다. 그 과정을 극복하고 나면 가속도가 붇을겁니다. 그후론 정말 왠만하면 파이썬으로 짜는게 최고더라구요. 댓글 감사드립니다^^

IntelliJ 대박이죠-ㅅ-+ 그래서 비슷한 툴인 파이참으로 윈도에서 스팀봇 만들기 해볼려고 했던건데.. 대실패
것보다.. 저의 실력은 틱택토도 못만드는-_-;;

진짜 대박인것같아요. 어떤애는 막 단축키 몇개 치니까 소스가 막 뻥튀기처럼 막 생기고 +_+ 고수의 모습...

Coin Marketplace

STEEM 0.28
TRX 0.12
JST 0.033
BTC 69852.07
ETH 3757.14
USDT 1.00
SBD 3.75