@Blog{zip358.com}
日常日誌からプログラムやYOUTUBER紹介、旅日記まで日々更新中です。
無名関数、技術初歩垂れ流し。
2017.08.19
無名関数、技術初歩垂れ流しときます。
わからない人はわからないかもしれませんが、
分かる人にはわかるという・・・何ともそのまま何ですけどね。
無名関数を使うにあたってキーになるのは USEとcall_user_funcかな。
これさえ覚えとくと便利かもしれないなと思います。
習うより慣れよということでソースコード貼っときます。
じぶんの脳内は文字を読んで理解しているタイプではないので
図や絵柄など空間的な感覚でアルゴリズムを覚えています、なので
仕様書とか読んでもあまり頭に入ってくることがないのですね。
それよりかは、トライアンドエラーを繰り返して覚えるか、口頭などで
事細かに説明してもらったほうが、頭に入ってくることが多いです。
<?php //無名関数1 $q = function($s){ $ss = $s."FF15!!]]"; return $ss; }; define("ff",$q("[[ now on sale ")); //var_dump(ff); //無名関数2 $hoge = ff; $f = function() use ($hoge){ return explode(" ",$hoge); }; //var_dump($f()); //無名関数3 function mumei(){ $m = 2222; $d = 22; return function() use ($m,$d){ $a = $m * $d; return $a; }; } $a = mumei(); //var_dump($a()); //無名関数4 if(is_array($s = call_user_func(function(){ $r = []; for($i=0;$i<10;$i++){ $r[$i] = $i; } return $r; }) )){ //var_dump($s); } print(implode("<br>",explode("\n",' string(23) "[[ now on sale FF15!!]]" array(5) { [0]=> string(2) "[[" [1]=> string(3) "now" [2]=> string(2) "on" [3]=> string(4) "sale" [4]=> string(8) "FF15!!]]" } int(48884) array(10) { [0]=> int(0) [1]=> int(1) [2]=> int(2) [3]=> int(3) [4]=> int(4) [5]=> int(5) [6]=> int(6) [7]=> int(7) [8]=> int(8) [9]=> int(9) } ')));
著者名 @taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
$i<, AM, array, br>, call_user_func, function mumei, hoge, implode, int, now on sale FF15, return explode, return function, string, var_dump, アルゴリズム, トライアンドエラー, 仕様書, 技術初歩垂れ流し, 無名関数,
PHPで自前の関数をガッと放り込むとjquery…!!
2017.02.16
デモサイトはこちらから。
https://zip358.com/tool/kansuu.php
実際、関数を引数に放り込む機会はあまりないかなと思いますが
こういう使い方もできると言う事を覚えておくと便利かなと思います。
この頃jQueryを使うことが多くなってきているのですが
使っているうちにライブラリの作り方がなんとなく理解してきましたので
オリジナルライブラリ(プラグイン)を作ってみようかなと思います。
ちなみにプラグインの作り方を紹介しているサイトがググると
結構あります。たとえば、こちらガッツリと解説しているので
こちらを参考に皆さんもオリジナルプラグインを提供してみてはどうでしょうか?
http://qiita.com/k4zzk/items/11e5dbd53cb93edb8b4d
jqueryは結構好きですが全然というほど書き方やメソッドをしらないですね。
一度、どこかでメソッドに関してはリファレンスなどに目を通しておかないと
いけないなと思う今日このごろです。
リファレンスはこちらから。
http://semooh.jp/jquery/
<?php function kansuu(){ return "un!<br>"; } function ui($f){ echo $f; echo $f; } echo 'ui(kansuu());<br>'; ui(kansuu()); class un{ function kansuu(){ return "un!<br>"; } function ui($f){ echo $f; echo $f; } function d($f){ echo $f->kansuu(); } } $un = new un(); echo '$un->ui($un->kansuu());<br>'; $un->ui($un->kansuu()); echo '$un->d($un);<br>'; $un->d($un);
著者名 @taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
AM, br>, class un, echo, function d, function kansuu, function ui, jquery, new un, return, UI, un, オリジナルプラグイン, オリジナルライブラリ, プラグイン, メソッド, リファレンス, 今日このごろ, 作り方, 関数,
非同期通信の改良版{jsonで非同期}
2015.07.22
つい最近、この方法を知った自分です・・・。それまではこういう方法で返せると思っていなかったというかソコまで考えていなかったです。ちなみに、このjson形式で送信すると複数のデータがやりとりできるので便利です。グーグルでjson形式で非同期受信などとググるとサンプルコードがでてきます。php結構凄いなとかおもいます。おそらく他の言語でも同じようなことが出来るのだと思います。javaとか確実に出来そうな気がします。
日々、他の人が書いたコードを見ることは勉強になります。こんな書き方があるだなとか、ほんと日々、勉強になります。自分の糧にも繋がります。いま自分がもっともコードを書くときに苦戦するのが変数やオブジェクトの名前付け・・・基本的に自分は英語があまりわからないので、すごく勉強していればよかったなと思うわけです。学生時代には一にも二にも勉強だとおもいます。遊びも大事ですけど・・、やはり勉強していると将来の幅が広がることは間違いないです。
サンプルサイトはこちら。https://zip358.com/tool/sample-0722/
<?php $hoge = $_POST['hoge']; $obj=array(); $obj["hoge"]="urlエンコードされた文字::".urlencode($hoge)."通常文字::".$hoge; header("Content-Type: application/json; charset=utf-8"); echo json_encode($obj); ?>
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>zip358.com:sample-非同期2</title> <script src="//code.jquery.com/jquery-1.11.2.min.js"></script> <script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script> <script> $(function(){ $("#textarea-hoge").keyup(function() { $.ajax({ type: "POST", url: "sample-0722.php", dataType:'json', data: { "hoge" : $("#textarea-hoge").val() }, success: function(data) { $("#hoge2").text(data.hoge); }, error:function(data) { } }); }); }); </script> </head> <body> <br><br>文字をURLエンコード処理して返します。何か入力してください。<br>※非同期通信なので性格に処理してくれるわけではありません。<br><br> <textarea id="textarea-hoge" rows="10" cols="100"></textarea> <br> <div id="hoge2"></div> </body> </html>
著者名 @taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
AM, body>, br>, code.jquery.com, data.hoge, DOCTYPE html>, function, head>, hoge2, jquery-1.11.2.min.js, jquery-migrate-1.2.1.min.js, meta charset, sample-0722.php, script src, script>, textarea id, textarea-hoge, textarea>, title>, utf-8, zip358.com,
( #PHPサンプル )非同期通信のPHPサンプルコードを作ってみましたのでどうぞ。
2015.03.01
非同期通信で入力した文字をURLエンコード して返す、コードを書いてみましたのでどうぞ。お使いください。ただし、この処理には欠陥があって処理に負荷がかかると上手く結果を返してくれない恐れがあります。非同期処理なので処理するプログラムにばんばんと値を投げますが、返答を待たずに次の処理を投げるので、どの処理が最初に返ってくるのかは、わからないのです。一見、うまく動いてそうですけどただ、処理に負荷がかかっていないのでうまく処理された状態になっているだけです。なので、非同期処理を使う場合は、投げる値にID(順番)を付与して処理しないといけないです。
トイウコトデ、サンプルコードを置いときますのでお使いください。(デモサイトこちら)
https://zip358.com/tool/sample-0301.zip(DL)
ソースは下記参照
HTML側(JQuery側)のソース=処理を投げる側=処理された結果を出力する側。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>zip358.com:sample-非同期</title> <script src="//code.jquery.com/jquery-1.11.2.min.js"></script> <script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script> <script> $(function(){ $("#textarea-hoge").keyup(function() { $.ajax({ type: "POST", url: "sample-0301.php", dataType:'html', data: { "hoge" : $("#textarea-hoge").val(), }, success: function(data) { $("#hoge2").text(data); }, error:function(data) { } }); }); }); </script> </head> <body> <br><br>文字をURLエンコード処理して返します。何か入力してください。<br>※非同期通信なので性格に処理してくれるわけではありません。<br><br> <textarea id="textarea-hoge" rows="10" cols="100"></textarea> <br> <div id="hoge2"></div> </body> </html>
PHP側のソース=処理する側。
<?php $hoge = $_POST['hoge']; echo "urlエンコードされた文字::".urlencode($hoge)."通常文字::".$hoge; ?>
著者名 @taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
AM, body>, br>, code.jquery.com, DOCTYPE html>, function, head>, hoge2, html lang, jquery-1.11.2.min.js, jquery-migrate-1.2.1.min.js, meta charset, sample-0301.php, script src, script>, textarea id, textarea-hoge, textarea>, title>, zip358.com, トイウコトデ,
WordPressの擬似URLの仕組みってこれだけだと思います( ´д)ヒソ(´д`)ヒソ(д` )
2015.01.23
WordPressの擬似URLの仕組みってこれだけだと思います。自分の記事は静的なアドレス(擬似)になっていると思います。これはWordPressの設定のパーマリンク設定を/%postname%.htmlこういうふうに設定しているからhtmlファイルで作ったようなURLで表示されているわけです。ちなみに公開途中でURLの表示設定をいじくると今まで検索で表示されていたものが全部飛んじゃうでSEO的にオススメできません。じゃ動的URLってなにかと言えば、zip358.com?p=1とか言うアドレスでページが表示されるURLを動的URLって言います。話し戻しまして、これってどういう仕組みで動いているのかと言う疑問符が付くと思います。答えはこういう感じ、あるURLを入力するとDBにそのURLは存在するかと言う問い合わせを検索かけます、検索を結果が有れば表示するという事をしているだけです。ちなみに.htaccessとphpの合わせ技になります。.htaccessに、あるURLが飛んできたらこのPHPを見てねという処理をしてあげれば良いわけです。.htaccessはURLを偽造できます。(ΦωΦ)フフフ…。
今回はDB処理検索を除いたサンプルサイトを作りましたのでご覧ください。
https://zip358.com/tool/sample-x/あいうえお.htmlこのサイトURLの日本語を変更しても拡張子を変更してもサイトが表示されます(※https://zip358.com/tool/sample-x/の移行URL変更だったらhttps://zip358.com/tool/sample-x/あいうえお/wawa.htmlでも同じサイトが表示されます。:存在しないURL以外、同じサイトを表示(ΦωΦ)フフフ…ヤバイか?)。
https://zip358.com/tool/sample-x/の配下に.htaccessファイルとindex.phpを置いています。
.htaccess
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /tool/sample-x/index.php [L]
index.php
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>zip358.com:sample-x</title> <link rel="stylesheet" type="text/css" href="css/html5reset.css" /> <style> iframe { width: 95%; height: 95%; position: absolute; margin: 0; } body{font-size:16pt;overflow:hidden;} </style> <!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> </head> <body> <?php echo '<a href="http://'.$_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"].'">http://'.$_SERVER["HTTP_HOST"] .htmlspecialchars(urldecode ($_SERVER["REQUEST_URI"])).'</a>というアドレスを打ちましたね<br><br>'; ?> <iframe src="/tool/sample-x/html5up-twenty/index.html" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="auto"> </body> </html>
著者名 @taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
AM, body>, br>, DOCTYPE html>, head>, htaccess, html5reset.css, html5up-twenty, if lt IE 9, iframe src, index.html, index.php, meta charset, RewriteCond, sample-x, sample-x<, script>, style>, title>, wawa.html, zip358.com, 体,