본문 바로가기

전체 글714

[리뷰] bash를 활용한 사이버 보안 운영 들어가며 개발자들에게도 bash 명령을 포함한 CLI 도구의 활용은 필수 요소라고 생각한다. 특히나 클라우드로 인해 백엔드 개발자가 인프라까지 전담하는 경우도 많다보니 CLI 환경은 백엔드 개발자에게도 굉장히 밀접하다. 나는 지금껏 bash에 익숙하다고 생각해왔지만 실상을 들여다보면 기본이 많이 부족한 상태에서 서버 운영을 해왔던 것 같다. 서버에 이슈가 생겨 트러블 슈팅이 필요한 경우 원하는 정보를 수집하거나 스크립트를 작성할 때 항상 구글에 접속하여 원하는 명령어를 찾을 때까지 검색을 하는 경우가 대부분이다. 예를들어 찾고자 하는 텍스트가 포함된 파일들을 검색하고 싶은데 명령어를 만들 수 없어서 하나씩 찾을 때도 있고, find 명령을 사용한다는 것을 알고 있어도 조건을 만들지 못해 원하는 find .. 2020. 5. 31.
Go언어로 웹 서버 개발 시 Swagger 문서 자동 생성하기 개요 지금까지 Swagger 문서를 만드는 작업을 수작업으로 해왔는데, API가 갱신될 떄마다 반영하기가 힘들어서 매번 버전이 다른 문제가 있었다. python의 경우 장고를 사용하면 자동으로 Swagger 문서를 생성해주는 기능이 있어서 Go 언어는 없을까 하여 찾아보니 swaggo를 발견하게 되었다. Swaggo Swaggo는 주석을 활용하여 코드로 작성된 내용을 Swagger Documentation 2.0으로 변환한다. Go 언어에서 자주 사용되는 여러 웹 프레임워크를 지원하고 있고, 내가 현재 사용 중인 Echo도 역시 지원한다. 여기서는 Echo Framework를 기준으로 설명한다. Swaggo를 사용하기 위해서는 먼저 CLI 도구가 필수적으로 필요하다. 아래 go get 명령을 사용하여 간.. 2020. 5. 5.
[리뷰] Head First Go 어느덧 Go언어를 사용한지 2년이 되었다. Java 언어로 개발을 해오다가 처음 Go 언어를 접했을 때 어떤 부분은 C와 비슷하기도 하고 Java와 비슷한 부분도 있어서 혼란스러운 부분이 많았었다. 특히 포인터를 활용하는 부분에 있어서는 예전에 C++을 했던 기억으로 내가 느끼기에는 Syntax가 애매모호한 부분들이 있었다. Head First Go 책에도 포함된 내용이긴 하지만 내가 느꼈던 혼란은 Go 언어 자체적으로 편의를 위해 제공되는 것들이 꽤 있었기 때문이었다. 예를 들어 구조체 포인터인 경우 정상적으로 포인터를 참조하려면 (*pointer).value 와 같이 참조를 해야할 것 같은데 pointer.value로도 참조가 가능하고, 생성하지 않아 nil 값인 슬라이스를 내장 함수에 전달할 경우 .. 2020. 4. 30.
[리뷰] 개발자의 디자인 독해력 언제나 관심은 가지고 있지만 나에겐 너무 어렵게만 느껴지는 것이 바로 디자인이다. 그 동안 백엔드 개발자로 일해왔기 때문에 디자인에 신경쓸만한 일이 거의 없었지만 최근에는 풀스택 개발자로 업무를 하면서 백엔드에 비해서는 적은 비중을 차지하긴 하지만 디자인도 신경을 쓰며 개발을 해야했다. 기능이 아무리 좋아도, 때깔이 별로면 사용자들은 사용하기를 꺼려한다. 심지어 외부에 공개되지 않는 사내 시스템 조차 UI/UX가 별로면 사용하고 싶은 마음이 사라진다. 그러니 일반 사용자에게 제공되는 웹 서비스나 어플리케이션들은 오죽할까 이 책을 읽기 전까지는 디자인은 개발자에게는 너무 어렵고 거리가 먼 업무라고 생각해왔다. 개발자가 이 정도 디자인 했으면 잘한거지 하면서 스스로 위안을 하기도 하고, 개발을 할 때도 항상.. 2020. 4. 5.