잠시만 기다려 주세요


 
HOME   |  여기는?   |  바다물때표   |  여러가지 팁 (822)  |  추천 및 재미 (80)  |  자료실 (18)  |  끄적거림 (468)  |  시나리오 (760)  |  드라마 대본 (248)  |  

2019년 12월 16일
작은 고통을 이겨내야 쓰러지지 않는다. 큰 고통은 모두가 힘들지만 작은 고통은 쉽게 간과되고 그 씨앗이 자라 큰 고통으로 남는다. - 바다아이
 




    golang

golang - 2년 가까이 golang, go 언어를 사용해본 소감, 후기.... golang 찬양.... 추천
이 름 : 바다아이   |   조회수 : 1481         짧은 주소 : https://www.bada-ie.com/su/?831536657604



현재 2018년 가을....

결론 : golang 적극추천...  golang.org

참고로 전 직업이 아닌 취미 개발자입니다.

개발을 취미든 직업이든 하는 사람들에게는 자신만의 주 무기가 필요합니다.
여러 언어 많이 알면 좋겠지만 저처럼 귀찮니즘이 많은 사람에게는 오래오래 사라지지 않고 길게 쓰면서
지원이 잘 되고 코딩이 쉬운 것이 장땡입니다.
구글이라는 든든한 빽이 뒤에 있고 성능도 무난하게 나오기에 저는 golang 을 적극 추천합니다.

본인은 php 를 주로 쓰다가 가끔 python 쓰고 필요에 따라 c 나 nodejs 등등 소스 가져다 고쳐서 쓰는 허접인데
어느날 golang 을 우연히 접하고 바로 옮겨왔습니다.
이제 php 는 코드조차 기억이 가물가물..... -.-;
그 이유를 나열해 보면... 기술적인 건 제외합니다.

0.
일단 선택 문제에서 굉장히 신중했습니다.
혹시나 없어지면 어쩌지? 요런 걱정이 되었는데
구글이란 업체가 뒤에서 든든한 빽이 되서리.. 과감히 결정하게 되었네요...
드랍박스, 도커, 우버, 데이스, 구글 등등에서 사용되니까요...
그리고 실리콘밸리에서는 golang 모르면 간첩이라네요.... 실무에서 엄청 사용된다고 합니다.

1.
일단 배우기가 너무 쉬웠고 키워드가 몇개 안되서 쉽게쉽게 외워졌네요..
제가 golang 을 학습하고 원하는대로 코딩하는데 일주일 정도 걸렸네요..
2년 전 golang 을 접할 때만 해도 한글 자료가 별로 없었는데 최근에는 정말 많아 졌습니다.
학습 시간이 짧다는 건 굉장히 매력입니다.

2.
속도도 c 만큼은 아니어도 놀랄 만큼 빠른 속도를 보여주었네요...
웹쪽도 그렇고 일반 서버 부분에서도 놀랄만큼 속도가 유지됩니다.
단, 코딩을 어떻게 하느냐에 따라서 이 부분은 달라질 수 있습니다.
가급적 복잡하지 않게 만드는 것이 좋은 속도를 보장해 줍니다. 이건 코딩 하시다 보면 아십니다.
이렇게 했더니 빠르고 이런 방식은 느리구나.. 이렇게요..

3.
안되는 게 없다는 게 매력입니다. python 만큼 엄청난 물건이죠....
요즘은 python 개발자들이 golang 으로 넘어오는 추세입니다.
옮겨오면 속도는 덤으로 얻게 되는지라.... 또한 php 하던 사람들도 golang 으로 많이들 넘어오십니다.. 참고하세요...
기존에 저는 웹 페이지 위주로 이것저것 만들곤 했는데
지금은 각종 서버들을 필요에 따라 만들어보기도 하고 합니다.
그리고 gtk+ 나 qt 도 golang 용으로 바인딩 되어 있어서
gui 프로그램도 때때로 만들어 보곤 합니다..
그러나 워낙 웹에서 모든 게 처리되는 시대인지라 gui 는 별로 쓸 일은 없네요..

4.
컴파일 속도는 진짜.. 최고 입니다.
인터프리터 언어라고 해도 믿습니다.
기존에 c 나 등등 언어들은 큰 거 컴파일 하려면 라면 먹고 와야 하는데
golang 은 초단위로 갑니다. ^^;
컴파일 해 보고 바로바로 결과를 보게 되죠....
아마 기존 c, c++, java 하시던 분들은 농담 조금 보태면 작업 속도가 10배는 빨라질 겁니다.
오랜 컴파일 시간이 필요 없거든요..

5.
보안에 강합니다.. 일단 컴파일 언어기 때문에 그럴 수 밖에 없는 거죠..
python 같은 인터프리터 언어처럼 소스를 서버에 보일 필요가 없습니다.
뭐 물론 용도에 따라 다른 컴파일 언어들도 그렇습니다만.... 암튼...
특히 웹 작업은 파일을 읽어서 해석하는 게 아니라 이미 컴파일되어 있는 것을 실행하는 개념입니다.
지정된 페이지 아니면 요청이 거부됩니다.

6.
배포가 진짜 짱입니다. 컴파일 후에 한개의 파일로 만들어지기 때문에 실행파일 그거 하나 복사하면 끝입니다.
구글에서 클라우드 개념 때문에 의존성 최대한 없게 만들려고 한 이유를 알 수 있는 대목입니다.
몸이 좀 뚱뚱해 지는 게 단점이긴 하지만 의존성 걱정이 사라지니까 최고의 무기가 됩니다.

7.
공개된 패키지가 워낙 강력합니다.
별놈의 게 다 만들어졌고 만들어지고 있습니다.
깃헙에서 그냥 가져다 쓰셔도 엄청난 성능을 발휘하는 것들이 정말 많네요...
필요에 따라 고쳐서 쓰면 되고 그렇습니다.
굳이 잘 만들어진 것을 또 만들 필요는 없으니까요...

8.
웹 작업에서 프레임워크, 템플릿 등... 필요없습니다. 물론 개인차 있습니다.
기본 패키지가 워낙 강력하고 공개된 패키지도 너무 많아서 그냥 직접 구현하시면 됩니다.
golang 도 프레임워크 있긴 있습니다.  그러나 사용하시다보면 필요성을 잘 못느끼실 겁니다.
템플릿도 자체 패키지만으로도 충분합니다. 그러나 디자인 자주 변경 안되면 통으로 쓰세요 ^^;
어차피 뭐 바뀌면 재 컴파일 필수입니다. ^^;
php 하면 라라벨 혹은 ci, java 하면 spring, 파이썬 하면 django, 루비 하면 루비 온 레일즈인데..
golang 하면 에잇! 직접 만들자... 이거 입니다. 또 뭔 포장을 또하고 포장지를 또 왜 뜯냐.. 이렇게 됩니다.

9.
golang 하면서 진짜 속도가 정말 필요하다 하는 것들은 정말 초특급 속도가 필요한 것은
c 로 작성해서 golang 에서 불러서 써도 됩니다. 또 반대로도 가능합니다.
생산 속도 빠르게 가면서 필요에 따라 c 조금 섞으면 얘기 끝입니다. ^^;
물론 다른 언어도 그렇긴 하지만 암튼. 그렇습니다.

10.
메모리 신경 쓸 일 없어요.... 물론 여타 언어도 그런 게 많지만
golang 은 진짜 메모리 걱정 할 필요가 없습니다.
가비지 알아서 ok.. 메모리 걱정 없이 이 정도 속도 보장되는 언어 흔치 않습니다.
또한 필요없는 패키지나 변수 쓰면 알아서 에러 내기 때문에 불필요한 낭비 컴파일이 없습니다.

11.
golang 캐릭터가 너무 귀엽습니다. 캐릭터 티도 있는데 그 티도 사고 싶고...
이유없이 좋습니다. 그렇습니다.








이상입니다.
2년 가까이 사용해 보면서 정말 좋은 선택지구나... 생각이 듭니다.
혹시 주저하시는 분들은 과감히 golang 으로 넘어오시길 권합니다.
조만간 아마도 안드로이드 부분도 golang 으로 가지 않을까 생각이 드는군요...
공식적이지 않기에 이 부분은 조심스럽긴 합니다. 그러나 구글이 오라클과 라이선스 비용 싸움이 커서
아마도.... 그렇게 될 확률이 큽니다.
더 자세한 사항을 기록하고 싶으나 지식이 짧은 관계로 세세한 기술적인 부분은 생략합니다.
두리뭉실 좋은 점만 이야기 했는데 단점도 분명 있습니다.
단점 명확하죠...  특히 제네릭... -.-;..  조금더 수고하면 됩니다...  쿨럭~!!
그러나 장점이 단점을 다 커버하기에 단점은 굳이 나열하지 않겠습니다.
과감히 옮겨 오세요..... 개인적으로 golang 의 미래는 10~20년 내다봅니다 ^^;
당분간 다시 뭐 이것저것 배울 이유가 별로 없을 거라 생각됩니다.
과장하면 프로그램 분야의 만병통치약입니다.


보너스...

mysql, mariadb ->

postgresql 로 이사오세요.....
대용량에 안정적입니다.
빠르고 동접 많거나 중계 서버는 mysql, mariadb 혹은 redis 이용하시고
메인이나 업무용 대용량은 postgresql 권합니다.

linux 서버 ->

freebsd 로 이사오세요.. 데스크탑은 어쩔 수 없이 linux 갑니다. ^^;
이건 이유는 없습니다. 그냥.~~~
개인적으로 네이버 무료 클라우드 1년 사용 아니면 벌써 여기 홈 서버 freebsd 로 갔을 겁니다.
 
| |


      1 page / 6 page
번 호 카테고리 제 목 이름 조회수
171 golang golang ... 바다아이 483
170 golang golang gopath, goroot .. 바다아이 461
169 golang golang ... Force download file example 바다아이 832
168 golang golang , , cpu, memory, disk 바다아이 1199
167 golang golang , ... GOOS, GOARCH 바다아이 868
166 golang golang checkbox ... 바다아이 1043
165 golang golang , , http .... 바다아이 1041
164 golang golang nil , nil , nil ... 바다아이 1107
현재글 golang 2 golang, go , .... golang .... 바다아이 1482
162 golang golang postgresql, mysql, mariadb ... ` Grave () .. .. 바다아이 1179
161 golang golang postgresql mysql, mariadb scan , null .. 바다아이 1260
160 golang golang , iconv 바다아이 1351
159 golang golang quote escape, unquote 바다아이 1324
158 golang golang , http errorLog , , ... 바다아이 1382
157 golang golang interface , 바다아이 1343
156 golang golang struct .... 바다아이 1421
155 golang golang map map , 바다아이 1343
154 golang golang map .... .... 바다아이 1393
153 golang golang slice copy 바다아이 1279
152 golang golang goto 바다아이 1382
151 golang golang slice sort , int, string, float64 바다아이 1408
150 golang URL Parsing, url . parse 바다아이 1433
149 golang golang , interface{} ... 바다아이 1365
148 golang golang interface to string, , , map slice json 바다아이 1321
147 golang golang How to convert JSON string to map and slice, json 바다아이 1365
146 golang golang , file write, Writing Files 바다아이 1507
145 golang golang Insert Line or String to File, , , , , 바다아이 1297
144 golang golang replace 바다아이 1342
143 golang golang split explode , , ... 바다아이 1459
142 golang golang email read parse, , ..... .... 바다아이 1349
| |




Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ FreeBSD + GoLang + PostgreSQL ]
서버위치 : 서울 Amazon Lightsail  실행시간 : 0.21114
to webmaster... gogo sea. gogo sea.