Programming/Golang (40) 썸네일형 리스트형 Golang - 파일명 일괄 변경하기 회사 동료 PC에서 파일명을 일괄 변경시켜줘야 하는 일이 발생했습니다. 예를들면 앞부분에 특정 구문을 붙인다던지, 뒷부분에 날짜를 일괄 붙인다는지 하는 식으로 말이죠. 검색해보면 여러가지 툴/방법이 있긴 합니다만 오랫만에 직접 프로그램을 짜서 도움을 줘볼까 합니다. 그래서 이번엔 쉽게 실행파일 생성이 가능한 Go언어를 이용해서 만들어보기로 했습니다. Java나 C#은 가상머신 세팅에서 약간의 까다로움이 발생하거나 괜히 덩치만 커질 수도 있었고, Python은 친구 PC에 Python을 굳이(개발자도 아닌데) 깔아야 하는 번거로움이 있고, Javascript는...음....?? Go언어 설치나 세팅 부분은 다른 글들에도 많으니까 패스하도록 하겠습니다. src 폴더 하위에 신규 폴더하나를 생성하고, 파일명은.. Golang GUI(Webview) - 다른 프로그램(exe파일) 실행하기 Go언어로 다른 프로그램을 실행시키는 방법을 알아보겠습니다. 이번에도 역시 webview로 GUI를 구성하고, 버튼이 클릭되면 whale 브라우저를 실행하도록 해보겠습니다. 기존에 Webview가 설치되어있다면 다른 라이브러리 설치는 필요 없습니다. 단 os.exec 라이브러리를 사용하므로 임포트..정도는 필요합니다. package main import ( "os/exec" "github.com/webview/webview" ) func main() { w := webview.New(true) defer w.Destroy() w.SetSize(600, 200, webview.HintNone) // Create a GoLang function callable from JS w.Bind("hello", fu.. Golang GUI(Webview) - HTML 파일 분리 이번에는 Webview 라이브러리를 사용하면서 HTML 파일을 별도로 분리하는 방법을 알아보겠습니다. 그리고, 좀더 보기좋은 GUI 구성을 위해 부트스트랩도 함께 적용하도록 하겠습니다. 사실 이부분은...CSS 파일을 별도로 인식시켰으면 좋겠지만, 아직까지 별도의 CSS파일을 적용시키는 것은 안되는 것 같습니다. 1. 라이브러리 설치 라이브러리 설치는 이전 강좌를 참고하세요. 2. main.go 파일 작성 main.go 파일에 전체 프로그램 구동을 구현합니다. 아울러, 버튼을 클릭했을 때 동작할 함수(go_hello)를 작성하고, 바인딩해줍니다. Webview라이브러리를 활용하면, go에서 javascript를 실행할 수도 있고, html파일(javascript 포함)에서 go언어를 실행할 수도 있습니다.. Golang GUI(Webview) - 시작하기 Go언어 GUI 라이브러리 중 Webview를 사용해서 데스크탑 앱을 만들어보도록 하겠습니다. Webview는 HTML로 레이아웃을 구성할 수 있어서 간단한 앱은 쉽게 만들 수 있습니다. 1. 라이브러리 설치 이번엔 리눅스환경에서(우분투 20.04) 라이브러리를 설치하겠습니다. sudo apt-get install libgtk-3-dev sudo apt-get install libwebkit2gtk-4.0-dev go get github.com/webview/webview 2. Sample Project 다음으로 간단히 main.go 파일을 생성하고, 아래와 같이 작성해줍니다. package main import "github.com/webview/webview" func main() { w := web.. Go언어 chromedp 라이브러리로 웹 크롤링하기 오늘은 웹 크롤링에 대해 알아보겠습니다. go언어에서의 웹 크롤링에도 selenium과 chrome webdvier를 사용하는 방법이 있지만, selenium 개발하신 분이 현재는 관리를 중단한 상태라고 합니다. 대신 chromedp를 주로 사용한다고 합니다. 간략하게 chromedp를 알아보겠습니다. 우선 설치는 일반적인 go 라이브러리들과 마찬가지로 go get 명령으로 설치합니다. (깃헙링크) go get -u github.com/chromedp/chromedp 그리고 예제는 여기링크로 가면 여러가지를 확인할 수 있습니다만, 천천히 살펴보시고 주요 method에 대한 예시로 아래 코드를 남겨놓겠습니다. (아래 코드는 실행되지는 않습니다. 추후 간단한 실행가능 예시로 업데이트 하겠습니다.) packa.. Go언어 - Fyne timer예제 Fyne tutorial에 있는 timer 예제입니다. 1. main.gopackage main import ( "time" "fyne.io/fyne/app" "fyne.io/fyne/widget" ) func showTime(clock *widget.Label) { formatted := time.Now().Format("03:04:05")//현재시각을 포멧에 따라 출력한다. clock.SetText(formatted) } func main() { a := app.New() w := a.NewWindow("Clock") clock := widget.NewLabel("") showTime(clock) w.SetContent(clock) go func() { t := time.NewTicker(time.S.. Go언어 - Fyne 아이콘 이미지 설정 1. icon.png 이미지 파일을 준비합니다. 2. fyne 패키징 툴을 다운받습니다.go get fyne.io/fyne/cmd/fyne3. icon.png파일을 실행파일의 이미지로 패키징합니다.fyne package -icon icon.png Go언어 - Fyne 한글 폰트 설정 Fyne를 이용해 GUI를 만들던 중 한글 출력이 안된다는 것을 뒤늦게 알게 되었네요.(아래 화면 참조). 오늘은 한글 설정하는 방법에 대해 알아보겠습니다. 샘플로 간단한 메모장 앱을 만들어보겠습니다. 1. main.go위 샘플로 만든 앱의 코드는 아래와 같습니다.package main import ( "fmt" "image/color" _ "unicode/utf8" "fyne.io/fyne" "fyne.io/fyne/app" "fyne.io/fyne/canvas" "fyne.io/fyne/layout" "fyne.io/fyne/theme" "fyne.io/fyne/widget" ) func main() { f := app.New() //f.Settings().SetTheme(theme.LightThem.. 이전 1 2 3 4 5 다음