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

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

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

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

Go言語で繰り返し

Go言語のforを使って繰り返す変数iを表してみる。 package main import "fmt" var i int func main() { for i = 0; i 10; i++ { fmt.Println(i) } } for i = 0; i 10; i++では、iは0から始まって、10より下の数値であれば繰り返し実行する。実行した後にiに+1をして次の繰り返し実行を行う。 forは、, 0; i 10; i++のように、;で区切...

Read More…

 

Go言語でHTTPのPOST

クライアントがサーバにデータを送ることをHTTPのPOSTと呼ぶ。 今回はチャットワークのマイチャットに「GOからのテスト投稿」という文字列を送ってみる。 チャットワークに投稿するための事前準備として、チャットワークAPI鍵とroomIDを調べておく必要がある。 調べ方は下記の記事を参考にした。 PHPでチャットワークAPIを介してメッセージを投稿してみる func main() { room_id := "36286956" url := "https://api.cha...

Read More…

 

Google Apps Scriptからチャットワークに投稿してみる

チャットワーク(ChatWork) | ビジネスが加速するクラウド会議室 PHPでチャットワークAPIを介してメッセージを投稿してみるでPHPからチャットワークに投稿する内容を記載した。 が! おそらく普段の業務ではPHPでコードをゴリゴリ書くよりも、 Google Apps Script(以後、GAS)で書いた方が様々なWebアプリを簡単に利用できるGoogle Appsの恩恵を預かれるため有効だろう。 社会人・学生向けプログラミング教室でGASで業務改善の勉強会を行いました...

Read More…

 

GoでHTTPのGET

インターネットでは、クライアントとサーバというものがあり、クライアントがサーバに命令を送って、サーバがその結果を返すということをしている。 命令を送ることをリクエストと呼ぶ。今回はウェブサイトを表示するHTTPに焦点を絞って記載する。HTTPリクエストにはGETとPOSTというものがある。 今回は、HTTPのGETを使ってみる。 例えば、「植物のミカタ」というサイトのトップページにアクセスしたい場合は、一番簡単な方法はhttpが使えるClomeなどのアプリケーションのアドレスバーにhttp...

Read More…

 

Goでユニットテスト

自分が作った関数が正しく動くか調べるのにテストコードというものがある。 以前、整数が偶数ならtrue、奇数ならfalseを返すJudgeEo関数を作ったが、それをテストしてみる。 まず、以前コードを記載したryoko/func.goファイルと同じ階層に新規ファイルを作成する。 ここでは名前をryoko/func_test.goと名付ける。func_test.goに下記のコードを入力して実行する。 package ryoko import "testing" func Test...

Read More…

 

Goで制御構文のif文

if文は正しいか正しくないかという判定によく使う制御構文である。 例えば、変数iが5ならば、「iに格納されている文字は5」と表示してみる。 package main import "fmt" func main() { var i int i = 5 if i == 5 { fmt.Println("iに格納されている文字は5") } } if i == 5でiという値が、5であればを意味し、5であれば{}の中身を実行するという意味になる。 ※...

Read More…

 

PHPでチャットワークAPIを介してメッセージを投稿してみる

妻にプログラミングを教えることにした-前編でも記載したけれども、 最近、仕事上での電話問題の解決のために様々な試みをしている。 そのうちの一つとして、 SlackやChatWorkといった拡張性の高いチャットツールを利用することを視野に入れている。 ※LINEやFacebookにあるグループ機能での仕事のやりとりからの脱却が重要 SlackとChatWorkの両方を検討してみたけれども、 日本の中小企業の方であれば、 チャットワーク(ChatWork) | ビジ...

Read More…

 

Go言語でpackage

関数をまとめておく機能としてpackageがある。 packageすると、main関数に記載するコード行が小さくなり、コードが読みやすくなるという利点がある上にpackageは再利用できるし、配布もできる。 まずgoフォルダに合わせて右クイックで新規フォルダを作り、名前をつける(今回はryoko。これがpackage名になる)。 次にryokoフォルダに下記のような新規ファイルを作る。 ※ryokoフォルダの中のファイルにしたい場合は、ファイル名の前に必ずryoko/を入れる...

Read More…

 

Go言語で関数

「good morning」を表示するというaisatuという関数を作ってみる。 関数とは、func 関数名(){}で作成する一連の処理をまとめたものである。 package main func main() { aisatu() } func aisatu() { print("good morning") } main関数の中で、自作したaisatuという関数を実行することになる。main関数はエントリーポイントと呼ぶ。関数の呼び出しには必ず()をつける...

Read More…

 

Go言語で変数

変数を使ってみる。ここでは変数に5を代入して表示してみる。 package main func main() { var suji int suji = 5 print(suji) } varは変数をつくる前に入力するコード、sujiは値が入る箱のようなものにつける名前、intは整数を意味する。 なので、sujiの部分には、いろんな数字を入れることができる。 ここでは変数数字に5を代入して、printで出力する(実行は、ctrl+alt+b)。 すると、5と表示...

Read More…

 

php-webdriverでセレクトボックスの値を選択する2

select name="Customer[area]" id="" class="input-pref" option value=""都道府県名/option option value="1"北海道/option option value="2"青森県/option option value="3"岩手県/option !-- 他の県は省略 -- /select 以前、上記のコードがあった時に php-webdriverでどのように京都府の値を選択するか? と...

Read More…

 

Go言語でHello World

Go言語の環境の準備は下記の記事より WindowsでGo言語 workspace内にgoフォルダ(プログラミングの世界ではディレクトリと呼ぶ)を作る。 Atomを開くと、Enter the path for the new file という文字が表示されるので、そこにmain.goと入力する。 これで、goディレクトリの中に、main.goというファイルが出来上がった。 main.goに下記のコードを記述。 package main func main() { ...

Read More…

 

妻にプログラミングを教えることにした-後編

妻にプログラミングを教えることにした-前編 前回、妻にプログラミングを教えることにした背景を記載した。 プログラミングを体験することによって、人に伝える前に内容を整理する習慣が付いて、 整理するということが結果として様々な人達の業務改善に繋がると信じている。 そして前回記載しなかった内容だけれども、 もう一つ教えたい背景がある。 それは、中学生向けのプログラミング教室で感じたことで、 中学生にプログラミングを教えてみて。その1 教えるということは、 伝える前に対...

Read More…

 

妻にプログラミングを教えることにした-前編

パソコンを使う作業員のイラスト(女性) | かわいいフリー素材集 いらすとや 前々からやりたいことに一つに女性向けのプログラミング教室がある。 何故女性向けに話をしたいかというと、 一時、市場調査を兼ねてハローワークに頻繁に立ち寄っていた時のこと 事務職になりたい人が非常に多くいて、 その割に求人募集がなく、事務職の倍率が3倍を越えていた事を知った。 運良く事務職をやりたい人と出会うことが出来たので、 何故様々な職種があるのに事務職になりたいのですか? と質問すると、...

Read More…

 

php-webdriverでiframe内のリダイレクトに対応する

SOY CMSでは、ラベルブロックの設定あたりでiframeを開いて、 iframe内でリダイレクトしながら設定を進める画面がある。 iframeは以前にTinyMCEのところで操作方法を調べたので、 iframe一ページ分であればなんとかなったけれども、 php-webdriverでTinyMCEに値を挿入する iframe内でリダイレクトがあると、2枚目のページで指定した要素が見つからないというエラーに遭遇する。 なんでだろうと試行錯誤試し...

Read More…

 

php-webdriverで現在開いているページのURLを取得する

php-webdriverで現在開いているページのURLを取得する必要が出てきた。 SOY CMSの管理画面では、 記事やラベルの詳細ページを開くとURLの末尾に各々のIDが付与されているため、 URLから指定の記事、もしくはラベルのIDを取得するためにはURLを取得しなければならない。 SOY CMSで標準ページでも任意のブログページのb_blockを使用できるようにした というわけで、php-webdriverの公式Wikiを調べてみたところ、 WebDriverクラスの...

Read More…

 

php-webdriverでTinyMCEに値を挿入する

php-webdriverでSOY CMSの記事作成画面のテストコードを作成する時に苦戦した。 php-webdriverでconfirmダイアログをクリックする どこで苦戦したか?というと、 記事作成画面の本文に値を入力するところで、 SOY CMSの記事作成画面ではTinyMCEというWYSIWYGエディタを利用していて、 SOY CMSの記事投稿画面でYouTubeの動画の挿入ボタンを追加しました TinyMCE | The Most Advanced WYSI...

Read More…

 

SOY CMSの開発秘話前編

SOY CMSとは何ですか? WordPressとは何が違うのですか? と聞かれたのでまとめてみる。 SOY CMS 公式サイト - 簡単便利で自由自在なオープンソースマーケティングプラットフォーム、無料で公開中[ソイ] 日本語 — WordPress ざっくりと言うと、 SOY CMSはコンテンツマネージメントシステムなので、 自身のサイトを持ったり、ブログページを作成したり、お問い合わせフォームを設置したりと、 機能だけ見たら、WordPressと大差ないどころかむしろ劣...

Read More…

 

社会人・学生向けプログラミング教室でHTML Serviceの勉強会を行いました

社会人・学生向けプログラミング教室でGoogleスプレットシートの拡張の勉強会を行いましたの続きで、 HTML ServiceとGoogleドキュメントとの連携でできる事を行いました。 Google Apps ScriptのHTML Serviceを試してみた Google ドキュメント - オンラインでドキュメントを作成、編集できる無料サービス GoogleドキュメントでUIをどこまでカスタマイズできるのか? 可能性を確認した上で業務改善の検討会等で新たなアイディアが生ま...

Read More…

 

COMODO Internet Securityを利用しながらGoで書かれたプログラムを実行する

前回のWindowsでGo言語で64ビット版のWindows 10でGo言語の最小限の開発環境の構築方法をまとめた。 残念なことにまとめた手順では私が利用しているパソコンでは動作することができなかった。 動作しなかった要因は、 利用しているアンチウィルスソフトのCOMODO Internet Security 10(以後COMODO)がGoで書いたスクリプトの実行をブロックすることによる。 Free Internet Security | Why Comodo Internet Se...

Read More…