【php】最強!eval関数で式を評価させてみる

概要 評価関数を使って判断する場合、引数をphpのソースコードとして実行してくれるeval関数を使うのが便利です。eval関数の基本的な使い方と注意点をまとめてみました     環境 IDE.COMを利用させていただきました。 ideone.comとは ideone.comは動作させてみたいプログラミング言語を指定し、コードを入力してすると、WEB上で即座に実行し結果をかえしてくれるサイトです。 対応プログラミング言語は50種類以上 バージョン・コンパイラなどの違いを含めると現在65種類もあります。 しかも増え続けていて、バージョンも常に更新されています。 サポートしているプログラミング言語とそのバージョンは以下のページから確認できます。 http://ideone.com/faq#faq_supported_langs 基本的な言語はほぼすべてサポートされています。     スクリプト   文字列の中の変数を展開するサンプルコード サンプルコード <?php $string = ‘cup’; $name = ‘coffee’; $str = ‘This is a $string with my $name in it.’; echo $str. “\n”; eval(“\$str = \”$str\”;”); echo $str. “\n”; ?> 出力結果 This[…続きを読む]

Continue reading …

サーバーからユニットに指令を送る

概要   環境 ネットワーク システム Hardware Raspberry Pi2 Wifi Dongle Web Camera ZigBee Software Raspbian (Wheezy) fswebcam python 方法   いつ送るか クライアントのラズベリーパイから端末のセンサー情報がHTTPリクエスト(POSTメソッド)により1~2分ごとに送られてくるため、そのレスポンスを使用する。制御が必要な場合はレスポンスボディに要求指令を入れておくる。 【RaspberryPi】サーバーから端末を制御する方法を検討してみた   要求指令をどのように作成するか センサー情報等のサーバー内に蓄積されたデータを評価して、制御が必要な端末(ノード)に対して制御指令を送信する。   具体的には以下のテーブルを用意して、蓄積された生データを集約して(⑤)、評価して(④)、要求指令を送信するする(②+③)仕組みをつくる。 実行用テーブル(①)に判断および要求指令送信に必要な評価④・要求指令③・ターゲットの情報②が紐づけられている。センサー情報がHTTPリクエストで送られてくるたびに、実行用テーブル内の全レコードを走査して、評価の条件が満たされた場合は、対象のターゲットに対して(②)、あらかじめ登録された要求指令(③)を送信する。 スクリプト  ※※※actions,requests,targets,evaluationsに対応する各モデルを作成すること 参考     簡単数学 モ デ ル 1によ る 温 度パ タ ー ン 制 御 http://ci.nii.ac.jp/els/contentscinii_20170531103217.pdf?id=ART0001156679 ビニールハウス内の温度管理の研究 http://www.iri.pref.kumamoto.jp/library/data/sangaku/2004/pdf/334-1059.pdf[…続きを読む]

Continue reading …

【jQuery】基本をさらっとおさらい

概要   環境 CodePenが提供しているWEB上での開発環境 http://codepen.io/ ※Javascriptは元々クライアント側で動作するプログラム言語ですので、ローカル環境でも十分可能です ※ ideOneは、フロントエンドで使用される言語だけでなく、様々な言語を動作することができるWEBサービスです。   スクリプト 参考 jQuery日本語リファレンス http://semooh.jp/jquery/ 7つのサンプルでjQueryを学ぼう!「jQueryが全く分からない人のため」の超初級者向け入門講座 http://ozpa-h4.com/2012/11/07/jquery-lecture/ 【jQuery】処理実行タイミング $(document).readyと$(window).load http://qiita.com/katsunory/items/3ba4683629333b94b2be

Continue reading …

【Javascript】基本をさらっとおさらい

概要 Javascriptは2017年現在、いまでこそフロントエンド側の言語としてはもちろんのことサーバーサイド側としても幅広く使われるようになりましたが、Netscape社のブラウザにはじめてJavascriptが採用されてから、Javascriptはブラウザごとに挙動が違うとか脆弱性に問題があるとかで、開発者からも利用者からもあまり良い印象をもたれていませんでした。 二、三年前からフレームワークやJavascriptにコンパイルできる新しい言語が勢いを増してきて、これから間違いなくWEBの代表的な技術なっていくであろうJavascriptをここでちょっとおさらいをして忘れかけた知識を呼び戻しておきます。   環境 CodePenが提供しているWEB上での開発環境 http://codepen.io/ ※Javascriptは元々クライアント側で動作するプログラム言語ですので、ローカル環境でも十分可能です ※ ideOneは、フロントエンドで使用される言語だけでなく、様々な言語を動作することができるWEBサービスです。     Javascriptの基本   Javascriptの特徴 Javascriptをウィキペディアで調べてみると、「プログラミング言語としての特徴」に次のように書かれています。 Javascriptは当時人気だった”JAVA”にあやかって命名されたというスクリプト言語ですが、次のようなすべらしい特徴があります: オブジェクト指向プログラミング言語 第一級関数をサポートしている関数型言語   Javascriptの書き方 HTMLのHEADにSCRIPTタグを作成してJavascriptの別ファイルを読み込みか、またはBODYにSCRIPTタグを作成してその中にJavascriptを記述します。 Javascriptのデバッグ 最近でたいていのブラウザにデバッグ環境が用意されているのでデバッグが容易になりました。 また、一昔前はAlert関数でログ情報を表示していましたが、いまではブラウザのコンソール画面にログ情報を出力するconsole.logが使えるようになり便利になりました。 console.log   Javascriptの基本的な文法   全体 JavascriptとJavaは全くの別物ですが、C言語の流れを汲んでおり文法的にはJavaと似たところが多分にあります。 しかしJavaはコンパイラ型言語のため文法が文法チェックが厳密でエラーがあればそのそも実行できません。 それに対してJavascriptはインタプリタ型言語で文法チェックがゆるく、多少曖昧な記述でもインタプリタが判断して実行してくれます。 コメント Javaと同じです 変数の宣言 varを使用して変数を宣言します。 var a = 0; varを宣言しなくても宣言できます。 宣言時に変数型を指定する必要はありません。初期化(宣言時です)または宣言後はじめての代入時に代入される値により型が決定されます。 a = 0;   変数の型 JavaScriptにおける型には、数値型(number)、文字列型(string)、ブール型(boolean)が存在します。 Javaのように整数型や長整数型、浮動小数点型は存在せずそれらすべて数値型となります。[…続きを読む]

Continue reading …

【Javascript】Riot.JSを調べてみました

概要   環境 CodePenが提供しているWEB上での開発環境 http://codepen.io/ ※Javascriptは元々クライアント側で動作するプログラム言語ですので、ローカル環境でも十分可能です(Riot.jsをダウンロードしてローカル環境に配置する必要があります) ※ ideOneは、フロントエンドで使用される言語だけでなく、様々な言語を動作することができるWEBサービスです。       スクリプト   サンプル   ToDoApp(公式サイト) Riot.js公式サイトより http://riotjs.com/play/todo/ ちなみにこちらで実際の動作を確認できます http://cloud.smart-agri.biz/aspara/app/webroot/riotjs/todo/   金利計算のサンプル index.html css     参考 Riot.js公式サイト(日本語版) http://riotjs.com/ja/ Riot.js ドキュメント日本語版 http://qiita.com/cognitom/items/018a65a6136689c49de6 Riot はミニマルで Web Components のような UI ライブラリ http://qiita.com/aggre/items/928eb2bedbac6a7829c0 Riot.js 2.0 を触ってみた — まだReactで消耗しているの? http://qiita.com/cognitom/items/fb1295f3f93911e9e92d Riot.js入門と、compile・precompileのはなし http://qiita.com/fnobi/items/ce05e76a87b12c946581 AngularJS+PHP+MySQLでCRUD入門 http://qiita.com/naga3/items/cacb8182ad79dbbf6e64[…続きを読む]

Continue reading …