カテゴリー : プログラミング

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

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

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

SOY2HTMLのIgnoreプラグインを使ってみる

前回のSOY CMSを介さずにSOY2HTMLを使ってみるでSOY CMSに組み込まれているSOY2の機能をSOY CMSを介さずに利用できることを紹介しました。 SOY2HTMLという言うのは!-- soy:id="***" /--のことで、 このタグこそがSOY CMSの開発理念にあるデザイナとプログラマをつなぐ肝となる。 SOY CMSの開発秘話前編 SOY2HTMLを使用出来るようになったら、 一緒に利用したいものとして!-- cms:ignore --があるだろう。 ...

Read More…

 

SOY CMSを介さずにSOY2HTMLを使ってみる

Webサイトなりアプリを開発する際、 SOY CMSは入れたくはないけれども、SOY CMSの記法のsoy:idは使いたい という要望がちょくちょくある。 SOY CMSはSOY2というライブラリを使用していて、 SOY2の中のSOY2HTMLのみを使用することは可能です。 ※SOY2HTMLはテンプレートエンジン 今回はSOY2HTMLのみを利用する方法を説明します。 説明の前にSOY2HTMLについて興味がある方は下記の記事をご覧ください。 SOY CMSの開発秘話前...

Read More…

 

kintoneのカレンダーの日付カラムで4件以上表示したい

kintoneを利用している方から標準機能のカレンダーを印刷して スケジュールの確認用として社内の掲示板に張りたいということで kintone - サイボウズのビジネスアプリ作成プラットフォーム 新しいアプリを作成して、カレンダーページを設けました。 ここで一つ問題発生。 同じ日にスケジュールが4件以上あると、3件目以降のスケジュールが折りたたまれて、 印刷をしても表示されなくなる。 これだと冒頭の要件を満たさないということで、 JavaScrip...

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…

 

kintoneで指定の個所だけ印刷範囲にしてみる

最近、サイボウズのWebサービスのkintoneについて色々と調べている。 kintone - サイボウズのビジネスアプリ作成プラットフォーム kintoneというものを軽く触れておくと、 公式サイトの説明文をそのまま引用すると 開発の知識がなくても自社の業務に合わせたシステムをかんたんに作成できる、サイボウズのクラウドサービスです。 業務アプリを直感的に作成でき、チーム内で共有して使えます。 使用すること自体は有償ですが、 開発者登録をすると無償で利用できるので...

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…

 

Go言語で特定のサイトの複数の画像を取得する

植物のミカタの任意のページから複数の画像を取得してみる。 func main() { url := "https://saitodev.co/article/%E6%AF%94%E5%8F%A1%E5%B1%B1%E3%81%AE%E5%B1%B1%E9%A0%82%E4%BB%98%E8%BF%91%E3%81%AB%E3%81%82%E3%81%A3%E3%81%9F%E5%A4%A7%E3%81%8D%E3%81%AA%E5%B2%A9" response, err := h...

Read More…

 

複合機とGoogleドライブを連携して、出先でFAXの内容を確認する

最近の複合機はFAXを受信した時にGoogleドライブにPDFファイルとして共有する機能があるらしい。 この機能があれば出先であってもスマホ等があれば出先でもPDFを確認できるようになるため、 帰社するまでFAXの内容を確認できないとか、 社内にいる人がFAXの内容をスキャンしてメールで送信という手間が省ける上、 営業FAX等の受信で無駄に紙を使用するということもなくなる。 ただし、この機能はGoogleドライブで共有だけで、 FAXを受信したことをリアルタイムで把握したいので、...

Read More…

 

Go言語でHTMLのイメージタグから画像を取得

画像の名前がついたファイルをそのまま作成する。 package main import ( "fmt" "io/ioutil" "log" "net/http" "os" "regexp" "strings" ) func main() { var line string line = "pimg src=\"/site/files10/P5100314.JPG\" alt=\"\" //p" r := regexp.MustCompile...

Read More…

 

Go言語でWebサイトから画像のデータを取得

植物のミカタから任意の画像データを取得し、main.goと同階層に画像ファイルを作成してみる。 package main import ( "io/ioutil" "log" "net/http" "os" ) func main() { var url string url = "https://saitodev.co/site/files10/P5080305.jpg" response, err := http.Get(url) if e...

Read More…