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

今まで行った勉強会の内容は勉強会・講演のページをご覧ください。
栽培の勉強会の講師をご希望の方は下記の株式会社京都農販へお問い合わせください。
京都から日本の農業を支える 株式会社京都農販
ブログ内検索
 

社会人・学生向けプログラミング教室でGoogleフォームの拡張の勉強会を行いました

社会人・学生向けプログラミング教室でGASで業務改善の勉強会を行いましたの続きで、 Google DriveのGoogleフォームをGAS(Google Apps Script)で自分好みにカスタマイズする という勉強会を行いました。 Google ドライブ - 写真やドキュメントなど、ファイルのクラウド ストレージとバックアップ Google フォーム - アンケートを作成、分析できる無料サービス Googleフォームでお問い合わせフォームを設置すると、 お問い合わせ後...

Read More…

 

Node.js製のアプリをforeverで永続化する

UbuntuサーバでNode.jsのアプリの再起動に苦戦した時のメモ 前回、Node.js製のアプリをVPSのサーバに置いて、 サーバを再起動後にアプリも自動起動するように設定してみた。 しかし、Node.jsというのは仕様上、何かのエラーがあるとアプリが止まってしまう。 これは困るということで色々と調べてみたら、 アプリを永続化するforeverというライブラリがあった。 foreverjs/forever: A simple CLI tool for ensuring t...

Read More…

 

UbuntuサーバでNode.jsのアプリの再起動に苦戦した時のメモ

Socket.IOのチャットアプリでXSS対策まででNode.jsでリアルタイムなチャットアプリの開発を見てきた。 ある程度動作するようになったので、VPSサーバで実際に動かす段階になったので設置した。 前回の記事以降、 メッセージを投稿して、他のブラウザ宛にプッシュする直前でデータベースに保存し、 表示しているブラウザをリロードしたらデータベースに保存しているやりとりを表示する という機能を付けている。 chatdemo ├── README.md ├── _modul...

Read More…

 

社会人・学生向けプログラミング教室でGASで業務改善の勉強会を行いました

社会人・学生向けプログラミング教室でコードレビューをしてみましたにも記載したとおり、 以前からTera schoolで中学生向けのプログラミング教室と平行して、 大学生・社会人向けにプログラミングの勉強会を行っています。 今までJavaScriptで色々と触れてきたので、 そろそろ日々の業務改善のためにGAS(Google Apps Script)に触れてみました。 Apps Script | Google Developers GASを簡単に説明すると、 GoogleのW...

Read More…

 

土壌分析アプリSoil3 on SOY Shop

以前から開発していた土壌分析アプリSoil2ですが、 調査を兼ねて大幅に改修してSoil3を開発しました。 ※Soil3はSOY Shopのマイページの拡張として動作します 土壌分析アプリsoil2 by Go Soil3でできることをまとめると、 事業所や各ほ場を登録し、 住所、面積やGoogle Mapsと連動して、位置情報とストリートビューの向きを設定する。 これによりアプリを介して畑の土の色や周囲の情報を現地に行かずともある程度把握することができる。 ...

Read More…

 

Socket.IOのチャットアプリでXSS対策

Socket.IOで個別チャットを作りたい後編 今までSocket.IOでチャットアプリを作ってきたけれども、 誰かが気軽に入力できて、他のブラウザで誰かから送信されたメッセージを表示できる。 送信時にHTMLタグを入れたらどうなるのだろう? そこらへんはSocket.IOはどういう対応になるのだろう? と気になったので、 strongで囲った文字列を投稿してみた。 ※strongで囲まれた文字列は強調文字(太文字)で表示される。 結果は太文字で表...

Read More…

 

Socket.IOで個別チャットを作りたい後編

Socket.IOで個別チャットを作りたい前編で、Socket.IOのnamespacesとroomsに触れた。 namespacesを活用すれば個別チャットの仕組みを作れるのではないか? ということで下記の内容を試してみた。 ・hogeとhugaというnamespaceを作成 ・フロント側でランダムでhogeかhugaのどちらかでサーバに接続する。 というわけでこれらを満たすコードを追加してみた。 server.js /** serverの接続周りは省略 **/ var...

Read More…

 

Socket.IOで個別チャットを作りたい前編

Socket.IOのチャットアプリで誰が入力中なのかを出力したい 前回までで簡易的なチャットアプリを作成することができた。 この時点ではチャットのページを知っている人は誰でも参加することができてしまうため、 AさんとBさんのみといったユーザを限定したチャットではない。 直近の目標はLineやChatWorkのようにユーザを限定したメッセージのやりとりなので、 ユーザを限定する方法というものを模索してみる。 Socket.IOにはNamespacesとRoomsいう...

Read More…

 

Socket.IOのチャットアプリで誰が入力中なのかを出力したい

Node.jsとSocket.IOでリアルタイムのチャットアプリを作ってみる 前回、Node.jsとSocket.IOでリアルタイムでやりとりができるチャットアプリを作ってみた。 Socket.IOのおかげで少ないコードでチャットアプリを作ることが出来たけれども、 これだと世間で見られるチャットアプリとは程遠い。 というわけで、 前回の簡易版に追加でカスタマイズしていく形で、 Socket.IOにより触れていくことにする。 チャットアプリで欲しい機能といえば、 ...

Read More…

 

Node.jsとSocket.IOでリアルタイムのチャットアプリを作ってみる

先日、LineのようなチャットアプリをSOY Shopのマイページに組み込めませんか? と質問があったため、チャットアプリのことを調べてみた。 最初に書いておくと、リアルタイムでやりとりを行えるチャットアプリの開発はSOY Shopで使用されているPHPという言語では面倒らしく、 PHP - Wikipedia Node.js リアルタイムが得意なサーバサイドのJavaScriptであるNode.jsが得意らしい。 よって、今回開発したチャットアプリを標準実装するのは...

Read More…

 

PHPでPythonの機械学習のライブラリを利用してみる

基肥について考えてみるまでの記事で基肥のデータをどのように持てば良いか? という話を書いてきた。 答えはまだ出ていない。 土地によっての例外が多すぎて混乱する。 砂丘農業の土では腐植が溜まりにくいのか? それはさておき、 自動計算を行うにあたって必要になってくるのが線形代数とその周辺の数学で、 それらも今までの記事で書いてきた。 中学生向けのプログラミング教室に関わり始めてから、 数学力のなさを改善するため、数学の勉強を続けており、 それと並行して計算機科学の勉強...

Read More…

 

PHPExcelを使ってみた2 ファイルアップロード編

前回、PHPExcelというライブラリを介してPHPでエクセルファイルを読み込んでみた。 読み込みはファイルのパスを直打ちで指定しての対応で、 これでは汎用性に欠けるということで 今回はファイルのアップロードにも対応できるように改変してみた。 先に改変したコードを載せると、 ?php //ファイルがアップロードされた場合にエクセルファイルの読み込みを開始する if(count($_FILES)){ //Classesディレクトリを配置したパスを指定 $path ...

Read More…

 

PHPExcelを使ってみた

大量にあるエクセルファイルからデータを抽出しなければならなくなって、 PHPExcelというライブラリを使ってデータを取り出してみた。 https://github.com/PHPOffice/PHPExcel とりあえず最初は簡単にファイルのパスがわかっているところから 開発環境は Ubuntu 17.04 PHP 7.1.5 準備として、XML、GDとArchive::Zipを入れる必要がある。 端末を開き、下記のコマンドを実行 sudo apt-get insta...

Read More…

 

BracketsのBeautifyでXMLファイルの自動整形を行わないようにする

SOY CMS/Shopの開発を今まではEclipseを使っていたけど、 最近、Bracketsに移行することにした。 理由は中学生向けのプログラミング教室でBracketsを勧めたからで、 中学生にプログラミングを教えてみて。その1 Eclipseが使いにくいというわけではなく、 Eclipseでよく使用していた機能がBracketsにはなくて苦戦していることも多いです。 乗り換えをした時のジレンマだと思って、 苦戦は勉強の機会だと思い楽しむことにします。 ...

Read More…

 

Ubuntu版BracketsのBeautifyの設定

Brackets - A modern, open source code editor that understands web design. WebサイトやWebアプリのエディタでBracketsというものがあります。 軽量且つ様々なプラグインでプログラミングが捗ります。 Brackets(エディタ) - おすすめ - SOY CMSを使ってみよう このBracketsのプラグインの一つにBeautifyという ファイルの保存時にコードを整形してくれるナイスなもの...

Read More…

 

基肥について考えてみる

集合と関数でベクトルが関数であり、プログラミングではリストであることがわかった。 これを踏まえた上で各肥料を $fertilizer = array("in" = 0, "on" = 0, "wp" = 0, "cp" = 0, "wk" = 0, "price" = 800); こんな感じで保証成分をベクトルで持たせて予算に合わせて最適解をもたせれば良いということになる。 肥料成分としての窒素(N) だけどちょっと待てよと 凄腕栽培者でNPKやCaやMg(あとCEC)だけで計算...

Read More…

 

集合と関数

基肥の自動計算を考える前にでベクトルは関数であるという解釈を一度受け入れてしまえれば、応用の世界が目の前に開けると記載した。 PHPでベクトルを作成して、関数として解釈してみようとしたけど、 そもそも関数は何なの?ということでまとめてみる。 数学の授業で関数を習った時、 f(x) = x + 2 で線形グラフを描写だった。 これだと前回のベクトルを関数として捉えたり、プログラミングで関数を作成するといった時に迷う。 というわけで、 数学の概念としての関数とは何なのか?...

Read More…

 

基肥の自動計算を考える前に

基肥の自動計算に挑戦してみるで各肥料の構成をベクトルで持たせるということを記載した。 各肥料の構成を決める前にベクトルについて触れておくことにしよう。 ベクトルというのは要素が1つ以上の添数付きである集合の型で一次元配列のものを指す。 マグロウヒル大学演習 離散数学 コンピュータサイエンスの基礎数学 | 理工学専門書,理学,数学 | Ohmsha p72ページより引用 PHPで書いたら、 $vec = array(2, 3, 5, 9); こんな感じですかね。 添数は左から...

Read More…

 

基肥の自動計算に挑戦してみる

タイトルで自動計算に挑戦してみると記載していますが、全く出来ていません。 これから考えます。 そこのところはご了承下さい。 ある日の会話で土壌分析の結果を継続的に保管するなら、 基肥の自動計算もできるのではないか?という話題が挙がった。 土壌分析アプリsoil2 by Go 基肥で使用する各肥料の成分をベクトルで持たせ、 線形計画法で最適な解を探し、 その解と実際に施した量の差で教師ありの機械学習させ続ければ出来るのでは? なんてその時は思った。 線形計画...

Read More…

 

社会人・学生向けプログラミング教室でコードレビューをしてみました

社会人・学生向けにプログラミング教室をはじめました 以前からTera schoolで中学生向けのプログラミング教室と平行して、 大学生・社会人向けにプログラミングの話をしています。 プログラミングというのは、 基本的な文法は難しくなく、 文法自体の習得は難なくできる。 だけどプログラミングが書けないという人が多いのはなぜなのだろう?と考えて、 100行程度で簡単な名簿の登録と検索のコードをこちらで作成して、 そのコードをみんなで見ながら1行ずつ何をしているか?を言葉で...

Read More…