カテゴリー : Go言語

SOY CMSマニュアルページ作成中
SOY CMS、SOY ShopとSOY Appの操作に関する質問を下記のページで受け付けています。

SOY CMS/Shopで標準機能だけでは実装が難しい時はお気軽にご相談下さい。

SOY CMSの開発秘話を投稿しました。→ SOY CMSの開発秘話
ブログ内検索
 

Go言語のGo MobileでAndroidアプリを開発してみる

Go言語ではAndroidやiOSのアプリの開発用でmobileパッケージが用意されている。 GitHub - golang/mobile: [mirror] Go on Mobile Androidアプリの開発することになったので、 本家のJavaではなくGo言語で開発してみることにする。 今回はサンプルコードをAndroid端末で動かすところまで。 ということで早速開発環境を載せる。 開発機 Lenovo Ideapad 720S プラチナ CPU : AMD R...

Read More…

 

Go言語 + kintone + チャットワークでタスクの自動登録アプリを作ってみる3

前回のGo言語 + kintone + チャットワークでタスクの自動登録アプリを作ってみる2で Go言語でkintone REST APIを利用して任意のアプリからJSON形式で登録データを取得してみた。 今回は取得したデータをチャットワークにタスクとして登録してみる。 今回の話に入る前にざっくりと説明すると kintoneで上のキャプチャのようなフィールドを設けたアプリを作成して、 指定の月日になったら、チャットワークにラベルをタスク名にして投稿する というアプリを...

Read More…

 

Go言語 + kintone + チャットワークでタスクの自動登録アプリを作ってみる2

前回のGo言語 + kintone + チャットワークでタスクの自動登録アプリを作ってみる1の続き ざっくりと説明すると、 kintoneで上のキャプチャのようなフィールドを設けたアプリを作成して、 指定の月日になったら、チャットワークにラベルをタスク名にして投稿する というアプリを作成している。 指定の月日になったらというところだけれども、 kintoneの仕様を調べてみると、Linuxでいうところのcronのような機能を見つけられなかった為、 Go言語でkint...

Read More…

 

Go言語 + kintone + チャットワークでタスクの自動登録アプリを作ってみる1

毎年同じ時期にやらなければならない仕事があって、 その仕事を忘れないようにしておきたい。 できれば、 チャットワーク(ChatWork) | ビジネスが加速するクラウド会議室 チャットワークのタスクとして登録しておきたい。 という相談があった。 PHPでチャットワークAPIを介してメッセージを投稿してみる kintone - サイボウズのビジネスアプリ作成プラットフォーム 相談者は既にcybozeのkintoneを利用していたので、 タスクの登録はk...

Read More…

 

Go言語 + Selenium + Agoutiでテスト自動化

Go言語 + Selenium + AgoutiでSOY CMSにログイン出来なかった時に適切にエラーを表示するかを確認してみる。 package main import ( "log" "strings" "github.com/sclevine/agouti" ) //SOY CMSにログインできなかた時に適切にエラーを表示するか?テスト func main() { driver := agouti.ChromeDriver() err := dri...

Read More…

 

Go言語 + Selenium + Agoutiで自動でGoogle検索

前回の続きで、seleniumでグーグル検索した後、検索フォームにseleniumuと入力してボタンを押してみる。 下記のコードを入力する。 package main import ( "log" "github.com/sclevine/agouti" ) func main() { driver := agouti.ChromeDriver() err := driver.Start() if err != nil { log.Fatal(er...

Read More…

 

Go言語 + Selenium + Agoutiでブラウザ操作の自動化

Selenium - Web Browser Automation https://agouti.org/ Go言語でSeleniumとAgoutiを介してChromeブラウザを自動で操作してみる。 SeleniumはJava上でなければ動作しないため、はじめにJavaをインストールする。 Javaは下記のページからダウンロードして、画面の指示に従ってインストールする。 無料Javaソフトウェアをダウンロード 続いて、seleniumu-serverをhttps:...

Read More…

 

Go言語でスコープ

下記のようなコードを入力してみる。 package main import "fmt" func main() { var str string var i int // if文を使うためのダミーの変数 if i == 0 { var str string str = "hello" fmt.Println(str) } fmt.Println(str) } 実行すると、helloと表示される。 ここで、注目したいのは、func ma...

Read More…

 

Go言語でクライアントのレスポンスを見る

workspace/go/web/clientでclient.goファイルを作成する。 package main import ( "fmt" "log" "net/http" "net/http/httputil" ) func main() { resp, err := http.Get("http://localhost:8889") defer resp.Body.Close() if err != nil { log.Fatal(err...

Read More…

 

Go言語でサーバを立ち上げる

workspace/go/web下にserverディレクトリを作成する。 package main import ( "fmt" "io" "log" "net/http" "net/http/httputil" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) { dump, err := httputil.DumpRequest(...

Read More…

 

Go言語で並行処理(ゴルーチン)

helloという言葉とworldという言葉をprint関数を作成して、同時に表示してみる。 package main import ( "fmt" "time" ) func main() { print("hello") print("world") } func print(s string) { for i := 0; i 5; i++ { time.Sleep(100 * time.Millisecond) fmt.Print...

Read More…

 

Go言語で無名関数

関数内で作成された関数で、関数名を持たないものを無名関数と呼ぶ。 package main import "fmt" func main() { f := func() { fmt.Println("hello") } f() } f := func() { fmt.Println("hello")で実行したい関数をそのまま変数fに代入する。f()で変数fに入った関数を実行する意味になる。 即時実行の際は、下記のようにコードを入力する。 package...

Read More…

 

Go言語で関数型の値を扱う

helloを表示するgreet関数を変数fに代入して実行してみる。 package main import "fmt" func main() { var f func() f = greet f() } func greet() { fmt.Println("hello") } ここで、f = greetは、関数greetを値として変数に代入している。この場合、f()で、変数fの値が関数型だったら実行される。 fmt.Printlnすると、hel...

Read More…

 

Go言語で内部コマンドを作成する③

~/workspase/go/flagを作業ディレクトリとし、main.goファイルを作成し、その中に下記のコードを入力する。 package main import ( "flag" "fmt" ) var IntOpt = flag.Int("i", 1111, "please input interger value") var StrOpt = flag.String("s", "default", "please input string value") ...

Read More…

 

Go言語で内部コマンドを作成する②

~/workspase/go/cmdを作業ディレクトリとし、main.goファイルを作成し、その中に下記のコードを入力する。 今回は、os.Argsの機能を調べてみる。 package main import ( "fmt" "os" ) func main() { fmt.Println(os.Args) if len(os.Args) 1 { fmt.Println(os.Args[1]) } } 次に下記のコマンドを入力する。 cd ~/...

Read More…

 

Go言語で内部コマンドを作成する①

 ~/workspace/go/cmdを作業ディレクトリとして、main.goファイルを作成し、下記のコードを入力する。 package main import ( "fmt" ) func main() { fmt.Println("usako") } 次に、インストールしたMINGW64を使って、下記のような実行ファイルを作成する。 $ cd ~/workspace/go/cmd $ go build main.go $ ./main.exe ...

Read More…

 

Go言語で一方向ハッシュ関数

ryokoという言葉を一方向ハッシュ関数を自作して暗号化してみる。 package main import ( "fmt" ) func main() { hash := CreatHash("ryoko") fmt.Println(hash) } func CreatHash(p string) string { b := []byte(p) fmt.Println(p) fmt.Println(b) return "" } func...

Read More…

 

Go言語でファイルの読み込み

templateというファイルの読み込みを行う。 package main import ( "fmt" "io/ioutil" "log" "os" ) func main() { file, err := os.Open("template/header.txt") if err != nil { log.Fatal(err) } defer file.Close() fmt.Println(file) var content...

Read More…

 

Go言語でhtmlからの文字の部分的取得

htmlから本文を取得してみる。 package main import ( "bufio" "io" "log" "net/http" "os" "strings" ) func main() { url := "https://saitodev.co/article/%E3%83%A4%E3%83%96%E3%82%AC%E3%83%A9%E3%82%B7%E3%81%AE%E5%9F%B7%E5%BF%B5" resp, err := htt...

Read More…

 

Go言語で文字列操作

Go言語で"pimg src="/site/files8/P9160020.JPG" alt="" //p"の文字列を、pimg src="./files/P9160020.JPG"/p"に置換してみる。 package main import ( "fmt" "regexp" "strings" ) func main() { line := "pimg src=\"/site/files8/P9160020.JPG\" alt=\"\" //p" ...

Read More…