잠시만 기다려 주세요

     '입만 나불거리고 행동하지 않는 민주당을 규탄한다.'
전체검색 :  
이번주 로또 및 연금번호 발생!!   |  HOME   |  여기는?   |  바다물때표   |  알림 (27)  |  여러가지 팁 (1126)  |  추천 및 재미 (166)  |  자료실 (25)  |  
시사, 이슈, 칼럼, 평론, 비평 (1054)  |  끄적거림 (160)  |  문예 창작 (736)  |  바람 따라 (75)  |  시나리오 (760)  |  드라마 대본 (248)  |  
살인!


    golang

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



현재 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 하시던 분들은 농담 조금 보태면 작업 속도가 100배는 빨라질 겁니다.
오랜 컴파일 시간이 필요 없거든요..

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 / 7 page
번 호 카테고리 제 목 이름 조회수
184 golang golang postgresql 접속시 콘솔과 실제 golang 프로그램에서 postgresql 접속 시간이 안 맞을 때..timezone 문제.. 바다아이 1437
183 golang golang mariadb, mysql 접속 pooler proxysql 에 관한 설명..!!! mariadb 접속 개선, 연결 속도 증가 설정.. 바다아이 1601
182 golang golnag 받아온 의존 패키지 및 등등...  Go 언어에서 패키지를 업데이트... go get 업데이트... 바다아이 1518
181 golang golang 에서 postgresql + pgx + pgbouncer 사용하기... 기존 설정 그대로 유지하면서 성능 향상 됩니다. pgbouncer 사용, 설명... 바다아이 1630
180 golang golang 문자열 함수 예제... 바다아이 2427
179 golang golang 숫자인지 아닌지 확인하기, 체크하기... 바다아이 5268
178 golang golang 배열 삭제, map 삭제. 바다아이 4241
177 golang Golang 문자열 변환 방법(문자열, 숫자, 등 data 파싱방법) 타입 변환, 형 변환... 바다아이 5199
176 golang golang sort 정렬하기... 바다아이 5299
175 golang golang html.EscapeString html.UnescapeString input value 따옴표 안에 따옴표... 특수문자 치환 바다아이 5079
174 golang golang go.mod go.sum 모듈 관련 문제. GOPATH SRC not module, 1.16 로컬 패키지 사용 문제. 바다아이 8981
173 golang go 1.16 컴파일 에러... is not in GOROOT.. 컴파일시 GOPATH 찾지 못하는 문제.... 패키지 모듈 문제. 바다아이 10284
172 golang 문자열 포맷, String Formatting 바다아이 11405
171 golang rand.Intn 랜덤값 구하기, random, 랜덤 난수 발생하기, 알파벳 난수발생. 바다아이 10985
170 golang golang 을 사용하는 회사들 리스트... 바다아이 15217
169 golang golang gopath, goroot 경로 설정하기.. golang 설치하기 바다아이 11780
168 golang golang 파일 다운로드 예제... Force download file example 바다아이 13921
167 golang golang 현재 하드웨어 및 사용현황 구하기, 하드웨어 모니터링, cpu, memory, disk 사용률 보기 바다아이 15094
166 golang golang 원하는 형태로, 여러 종류로 크로스 컴파일 하기... GOOS, GOARCH 바다아이 12414
165 golang golang 체크박스 checkbox 배열 폼 처리... 다중 체크박스 바다아이 12520
164 golang golang 핸들함수, 라우터, http 웹서버 예제.... 바다아이 12306
163 golang golang 에서 nil 을 할당할 수 있는 경우, nil 을 사용할 수 있는 타입, nil 을 사용... 바다아이 12178
현재글 golang 2년 가까이 golang, go 언어를 사용해본 소감, 후기.... golang 찬양.... 추천 바다아이 15521
161 golang golang 에서 postgresql, mysql, mariadb 다중쿼리 에러날 때... ` Grave (그레이브) 문제 될 때.. 쿼리문 에러.. 바다아이 12839
160 golang golang 으로 postgresql 이나 mysql, mariadb 접속해서 데이터 가져올 때 scan 시 빈값, null 값이 오면 에러나는 문제.. 바다아이 12810
159 golang golang 간편하게 문자 인코딩 변환, iconv 바다아이 15649
158 golang golang quote escape, unquote 바다아이 13007
157 golang golang 웹서버, http errorLog 에러로그 남기기, 저장하기, 기록하기... 바다아이 13474
156 golang golang 인터페이스 interface 예제, 설명 바다아이 12655
155 golang golang 구조체 struct 포인터 개념 정리.... 바다아이 13230
| |









Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 chrome 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Debian + GoLang + PostgreSQL + Mariadb + PgBouncer + ProxySQL]
서버위치 : San Jose Datacenter  실행시간 : 0.04914 초
to webmaster... gogo sea. gogo sea.