본문 바로가기

Programming321

Glade를 활용한 go언어 gui프로그래밍 이번엔 gtk toolkit 전용 GUI Designer인 Glade를 이용하여 Go언어에서 활용해보도록 하겠습니다. 우선 Glade를 설치해야 합니다. linux에서는 비교적 쉽게 찾아서 설치 가능한데요.. 윈도우에서는 조금 설치가 쉽지 않습니다. Mingw를 설치하고 아래의 명령으로 설치를 진행해줍니다. pacman -S mingw-w64-x86_64-glade 빠른 실행을 위해서는 sourceforge 사이트에서 예전버전을 다운받는 것도 괜찮아보입니다. 다음으로는 Glade에서 UI를 적당히 디자인 해줍니다. (glade예제파일) 생각해보니...그냥 적당히는 안될 것 같네요. 1. 최상위 - > GtkWindow 를 선택해주세요. 그리고 아이디를 main_window, 사이즈를 440, 250 으로.. 2020. 3. 26.
Go언어 oracle 연결 Go언어로 Oracle 연결하기 위한 드라이버가 몇가지가 있는데, 그 중 Setting이 간단하고 실행 가능했던 드라이버가 godror 였습니다. 아래는 참조한 사이트이구요..https://blogs.oracle.com/developers/how-to-connect-a-go-program-to-oracle-database-using-goracleHow to Connect a Go Program to Oracle Database using godrorNote: This blog post was updated from the original to reflect the new name for the Go Driver for Oracle Database: godror, ormerly known as goracl.. 2020. 3. 26.
Gotk3를 이용한 go언어 GUI 개발 예제 사내에서 사용할 간단한 GUI프로그램 개발 환경을 구상 중입니다. 배포도 해야해서 VM위에서 돌아가는 Java는 좀 꺼림직하고... 다른 언어로 쓸 수 있는 GUI Toolkit을 찾아보다가 결국 QT/GTK/WxWidgets 로 가야할 것 같은데요. 배포가 어렵다는 C/C++로 가는 것 보다는 요즘 언어인 Go언어로, 그리고 바인딩이 잘 되어있는 GTK로 가보려고 합니다. Go언어 바인딩은 Gotk3가 있습니다. 이번 포스트에서는 Gotk3설치 및 예제 프로그래밍까지 수행해 보겠습니다. 우선 사전 준비해야 하는 작업이 좀 있습니다. 생각보다....(이거 하면서 그냥 Swing써야겠다고 생각하는 중....ㅠㅠ) 1. git 설치 2. MinGW-w64설치(MSYS2설치) 3. GTK 및 dependenc.. 2020. 3. 16.
andlabs/ui 를 이용한 go언어 GUI개발 예제 Go 언어로 간단한 GUI 구현을 위한 라이브러리로 andlabs/ui라는게 있습니다. 나중에 포스팅할 Glade 같은 GUI designer를 사용하여 구현할 정도가 아니라 간단한 GUI수준을 위해서는 괜찮은 방법인 것 같습니다. 우선 Linux에서 설치는go get github.com/andlabs/ui로 터미널에 입력하여 설치해줍니다.Windows환경에서는 MinGW를 실행해서 설치해야 합니다. 그리고 아래의 예제코드를 입력하고 실행하면...package main import ( "github.com/andlabs/ui" _ "github.com/andlabs/ui/winmanifest" ) func main() { err := ui.Main(func() { input := ui.NewEntry().. 2020. 3. 16.
Go언어 초간단 async 예제 Go언어의 장점 중 하나로 비동기 함수실행을 매우 쉽게 구현한다는 점입니다.비동기 프로그래밍을 직접 해본적이 없어서 잘은 모르지만, 아래 예제를 보니 정말 쉬운 것 같습니다.package main import ( "fmt" "time" ) func say(s string) { for i := 0; i < 10; i++ { fmt.Println(s, "***", i) } } func main() { // 함수를 동기적으로 실행 say("Sync") // 함수를 비동기적으로 실행 go say("Async1") go say("Async2") go say("Async3") // 3초 대기 time.Sleep(time.Second * 3) } 결과C:/Go/bin/go.exe build [D:/5.System_d.. 2020. 3. 16.
Go언어-파일찾기 프로그램 예제 Go 언어로 작성한 파일찾기 프로그램 예제입니다. 검색하고자 하는 Directory와 파일명을 입력하면 찾는 프로그램입니다. 사용 방법은filecheck.exe 과 같이 사용하면 되며, 아래 예시와 같이 사용하면 됩니다. 소스코드는 아래와 같습니다.package main import ( "fmt" "os" "path/filepath" ) var ( targetFolder string targetFile string searchResult []string ) func findFile(path string, fileInfo os.FileInfo, err error) error { if err != nil { fmt.Println(err) return nil } absolute, err := filepath... 2020. 3. 16.