이쿠의 슬기로운 개발생활

함께 성장하기 위한 보안 개발자 EverNote 내용 공유

반응형

코딩/GoLang 6

Golang gtest

Golang gtest gtest란? Golang의 장점 중에 하나는 코드를 테스트하기 위해 별도의 환경을 구축할 필요가 없다는 점임. Golang에서는 gtest를 통해 아주 간편하게 코드를 test할 수 있음. Google Test Framework로 유닛 테스트에 사용됨. Google Test는 Google의 특정 요구사항 및 제약사항을 기반으로 테스트 기술팀에서 개발한 Testing 프레임워크임. 왜 Google Test를 사용해야 하나? 1. 테스트는 독립적이고 반복가능해야 합니다. gtest는 디버깅을 빠르게 할 수 있도록 테스트를 분리시켜 실행할 수 있도록 해 줌. 2. 테스트는 조직화가 잘 되어있으며 테스트되는 코드의 구조를 반영할 수 있어야 함. gtest는 데이터와 서브루틴을 공유할 수..

코딩/GoLang 2022.01.02

golang vscode args 전달 방법

golang vscode args 전달 방법 vscode 에서 golang project를 생성하면 default로 아래와 같이 .vscode/launch.json 파일이 생성됨. [예제 launch.json] { // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Launch Package", "type": "go", "reques..

코딩/GoLang 2022.01.02

godoc

godoc godoc이란? godoc은 go 프로그램의 문서를 생성하게 해줌. [godoc 링크] https://pkg.go.dev/golang.org/x/tools/cmd/godoc godoc 설치 [설치 명령어] go get golang.org/x/tools/cmd/godoc godoc 문서 생성 아래 명령어를 사용하면 작성한 코드와 사용하고 있는 package를 가지고 문서를 만들어줌. 그리고 문서를 볼 수 있는 local server를 제공함. 해당 문서를 통해 작성한 프로그램에서 사용한 다양한 golang package의 docs를 오프라인으로 확인할 수 있음. [명령어] godoc -http=:6060 포트는 변경해도 됨. [결과 확인] localhost:6060으로 접속하면 documenta..

코딩/GoLang 2021.12.25

Golang race flag (-race)

Golang race flag (-race) 개발할 할 시 Thread를 사용하면 deadlock(교착상태)과 data race condition(경쟁상태) 처리를 빼놓을 수가 없음. Golang은 이러한 deadlock과 data race를 방지하기 위해 Build시 race flage를 제공하고 있음. 사용방법 go run -race main.go go test -race testpkg go build -race testpkg go install -race testpkg 예) race flag를 사용하면 data race관련 오류를 log로 확인할 수 있음 이러한 deadlock(교착상태)과 data race condition(경쟁상태)를 해결하기 위해 race flag를 사용하여 조기에 오류를 확인..

코딩/GoLang 2021.12.25

Golang web crawling 분석

Golang web crawling 분석 GoLang에서 사용가능한 Crawling 라이브러리 목록 브라우저 없이 사용 Colly : https://github.com/gocolly/colly Goquery : github.com/PuerkitoBio/goquery 브라우저 사용 Webdriver : https://github.com/fedesog/webdriver Selenium : https://github.com/tebeka/selenium 브라우저 사용 라이브러리 조합 예시 Selenium 라이브러리 Web browser 자동화 라이브러리로 웹 드라이버를 사용해서 웹 페이지를 동적크롤링 할 수 있음. 크롤링 결과의 특정 html 엘리먼트에 마우스 클릭를 발생시키거나, input 엘리먼트에 텍스트를..

코딩/GoLang 2021.05.26

GoLang 개념

GO언어란? 구글에서 2009년 공개된 언어 오픈소스 형태 Go언어는 컴파일 언어 : 다른언어에 비해 컴파일 속도가 매우 빠름 최초로 디자인한 사람 : 로버트 그리즈머, 홉 파이크, 켄 톰슨 켄 톰슨 : B언어, C언어를 개발한 사람 [GO 언어를 사용하는 사람] Gopher 라고 부름 [대표적인 구글 프로젝트] Docker twitch tensorflow FCM 등등 [인코딩] UTF-8 사용 [GO언어는 시스템 프로그래밍을 하기 위해 만들어짐] 성능을 중요 시 함 C언어보다는 느리지만 현대 언어의 장점을 가지며 매우 빠른 특징을 가지고 있음 [호환 OS] Linux, 맥 OS, Windows등 모두 지원 GO언어 설치 [설치 Site] https://golang.org/dl/ zip 파일 다운 OS ..

코딩/GoLang 2020.12.04
반응형