全ての定義済の変数を配列で返す

20190316

Logging

全ての定義済の変数を配列で返す関数です。
全てなのでとってきて欲しくないものまでも取ってきます。
なのでそういうのはunsetします。
ちなみに似たようなのでcompactという関数がPHPには存在します。
何に使用する場合に便利かは人それぞれ違いますが
自分の場合はテンプレートエンジンを使用するときに重宝してます。
テンプレートエンジン・・・TwigやSmartyなど

<?php
$a = "abc";
$b = array(1,2,3);
$c = 123;
$vars = get_defined_vars();
unset($_COOKIE);
unset($_POST);
unset($_GET);
unset($_FILES);
unset($GLOBALS);
foreach ($vars as $key => $value) {
    var_dump($key);
    var_dump($value);
}
//...
var_dump($vars);

 

タグ

, 2, , ABC, array, as, compact, COOKIE, defined, dump, files, foreach, GET, GLOBALS, gt, key, lt, php, POST, Smarty, Twig, unset, value, var, vars, エンジン, それぞれ, テンプレート, とき, もの, , , 使用, 便利, 全て, 場合, 変数, 存在, 定義, 自分, 配列, 重宝, 関数,


映画、キャプテンマーベルを観てきましたよ。

20190316

Logging

映画『キャプテン・マーベル』本予告

キャプテン・マーベル観てきました。 意外にも楽しめたエンターテインメント作品かも。自分は冒頭シーンが好きだったりします。ラストはスーパーサイヤ人かよと
思いつつ観てました。エンディングにオマケ映像ありです。
エンドゲームに繋がるので観に行くひとは是非、エンディングも必見です!

タグ

0, , com, https, uiOzPr, watch, www, youtube, エンターテインメント, エンディング, エンド, オマケ, キャプテン, ゲーム, サイヤ, シーン, スーパー, ひと, マーベル, ラスト, 作品, 冒頭, 必見, 映像, 映画, 自分, ,


σ(゚∀゚ )オレ的速報:基本情報技術者解答生成ツール

20190310

Logging

σ(゚∀゚ )オレ的速報:基本情報技術者解答生成ツール
4月の試験日にお使い頂ければと制作しました。
作った経緯は
自分がスマホからツイートするときに
手入力するのは面倒だったんで
これを作ったのです。
リンク貼っときますね。
https://zip358.com/tool/kihon2/

タグ

2, 358, 4, com, kihon, tool, zip, オレ, お使い, これ, スマホ, ツール, ツイート, とき, リンク, 制作, 基本, 情報, 手入力, 技術者, 生成, 経緯, 自分, 解答, 試験, 速報, 面倒,


Canvasで円がぐるぐる回る。

20190309

Logging

<!DOCTYPE html>
<html>
    <head>
    </head>
<body>
    <canvas id="ctx" ></canvas>
    <script>
            "use strict";
            let x = 0,y = 0;
            let xs = 300,ys = 300;
            let xc = 1,yc = 1;
            let ctx = document.querySelector("#ctx");
            let canvas;
            ctx.width = window.screen.width;
            ctx.height = window.screen.height;
            if(ctx.getContext)
            {
               canvas = ctx.getContext("2d");
               setInterval(draw,77);
            }
            function draw(){
               canvas.beginPath();
               canvas.fillStyle = "#3399ff";
               canvas.arc(x,y,35,0,Math.PI*2,true);
               canvas.globalCompositeOperation = "xor";
               canvas.fill();
                x =((Math.sin (xc) * xs)) + 500;
                y =(Math.cos(yc) * ys) + 500;
                console.log(x + ":" + ctx.width);
                console.log(y + ":" + ctx.height);
                if(x < 0 || x > ctx.width)
                {
                   xs*=-1;
                }
                if(y < 0 || y > ctx.height)
                {
                    ys*=-1;
                }
                if(x<0)
                {
                    x=0;
                }
                if(y<0)
                {
                    y=0;
                }
                if(x > ctx.width)
                {
                    x=ctx.width;
                }
                if( y > ctx.height)
                {
                    y=ctx.height;
                }
                xc+=1
                if(xc>360)
                {
                    xc=0;
                }
                yc+=1
                if(yc>360)
                {
                    yc=0;
                }
            }
        </script>
</body>
</html>

Canvasでぐるぐる円を廻す。
ガラクタコードが少しあります、最初違うコードを書いていたので
これを可変していろいろお試しください。
https://zip358.com/tool/demo5/js/index-3.html

タグ

0, , 300, body, Canvas, ctx, DOCTYPE, document, gt, head, Height, html, ID, let, lt, querySelector, screen, script, strict, use, Width, win, window, xc, xs, yc, YS, ,


javascriptでEVENT処理レベル1

20190309

Logging

<!DOCTYPE html>
<html>
    <head>
    </head>
<body>
    <input type="text" class="zyezyezye">
    <script>
            "use strict";
            let zyezyezye = document.querySelector(".zyezyezye");
            zyezyezye.addEventListener("input",()=>{
                console.log(">おいら>>" + zyezyezye.value);
                if(zyezyezye.value=="じぇじぇじぇ")
                {
                    console.log("おいら>>キタ━━━━(゚∀゚)━━━━!!nおいら>>じぇじぇじぇn<<ストーカーかよ!!");
                }
            });
        </script>
</body>
</html>

jqueryばかり書いているとこういう書き方、書かなくなる。
jqueryから世の中はjavascriptやvue.jsなどへシフトしているそうだけど、未だにjqueryばかり書いている自分です。なれないといけないと思いつつ!?
別のことに力を注いでいる毎日です。
ちなみに「じぇじぇじぇ」は方言で驚きを指す言葉だとか。

タグ

, addEventListener, body, class, console, DOCTYPE, document, EVENT, gt, head, html, if, input, javascript, let, log, lt, querySelector, script, strict, Text, type, use, value, zyezyezye, おいら, レベル, 処理,


映画、ウィンストン・チャーチル/ヒトラーから世界を救った男 (字幕版)を観ましたよ。

20190309

Logging

ウィンストン・チャーチル/ヒトラーから世界を救った男 (字幕版) – 予告編

映画、ウィンストン・チャーチル/ヒトラーから世界を救った男 (字幕版)を観ましたよ。これは良かった。

成功は決定的ではなく、失敗は致命的ではない。大切なのは続ける勇気だ
Success is not final, failure is not fatal: it is the courage to continue that counts

 

タグ

5, 50, com, continue, counts, courage, failure, fatal, FINAL, is, IT, lSG, MIoE, nbsp, not, success, that, The, To, youtube, ウィンストン, コレ, チャーチル, ヒトラー, 世界, 勇気, 大切, 失敗, 字幕, 成功, 映画, ,


PHPの無名関数の使い道が未だにわからないし…

20190309

Logging

<?php
$mumei = function()
{
    if($cnt = func_get_args())
    {
        foreach($cnt as $key=>$value)
        {
            print func_get_arg($key);
        }
    }
};
$mumei(1,2,3,4,5,6);

わからない、未だにわからないし、使う機会が少ないのだけどいったいどこに使うのか。

追記:
2021年の今、無名関数を使ってコードを書くことが増えました、PHP8になりオブジェクト指向が洗練されてきています。今後、無名関数を使用してコードを書くこともあると思います。因みにJSの方が無名関数でコードを書くことが多いですね。

PHPでの無名関数の問題点は、頻繁に無名関数ばかり使用していると他のエンジニアが読みづらく感じる所かもしれません。特にPHPの昔のバージョンになればなる程、読みづらいと思います。

タグ

, 2, 2021, , 4, 5, 6, 8, arg, args, as, cnt, foreach, FUNC, function, GET, gt, if, JS, key, lt, mumei, php, print, value, エンジニア, オブジェクト, コード, こと, どこ, , 今後, , 使い道, 使用, 問題点, , 指向, , 未だ, 機会, 洗練, 無名, 追記, 関数, 頻繁,


映画、運び屋を観てきましたよ。 #運び屋

20190309

Logging

映画『運び屋』特報2【HD】2019年3月8日(金)公開

映画を観てきましたよ。
心に余韻が残る、人を描いた映画です。
男性層に受けそうなそんな映画でもある、なんかよくわからない
だけど、そんな気がした。
登場人物もほぼ男性が多いですね。
ちなみに客層も男性層が多かったですね。
そしてこれが実話ベースだということがやるせない気持ちにもなります。

タグ

com, tubXWOHGSnw, youtube, こと, コレ, ベース, , 人物, 余韻, 実話, 客層, , 映画, , 気持ち, 男性, 男性層, 登場, 運び屋,


映画、Search/サーチを観てきましたよ。

20190303

Logging

映画『search/サーチ』予告(10月26日公開)

映画、Search/サーチを観てきましたよ(レンタルで)。
最後の最後まで見ごたえのある映画でした、久々に
楽しめた、エンターテイメント作品でした。
これ映画館でみたかったですね。
高知県では上映していない映画なんです。

タグ

6, 75, com, csA, RG, search, youtube, エンターテイメント, コレ, サーチ, レンタル, 上映, 久々, 作品, 映画, 映画館, 最後, 見ごたえ, 高知県,


グリーンブックを観てきましたよ。

20190302

Logging

【公式】『グリーンブック』3.1(金)公開/本予告

グリーンブックを観てきましたよ。
映画をあまり観ない人がこの映画を観たら
結構、良い評価になりそうなんです。
実話ベースの映画だということだから、やっぱ
為にはなる話だということは確かですね。
この映画で印象に残ったのは、寂しいときは
自ら進んで動くという言葉です。
また人種差別の問題というよりは、ひとがどう逆行に立ち向かうのか
という事を基にして撮っているようにも思えました。
 

タグ

awUd, com, khNEcc, nbsp, youtube, グリーン, こと, とき, ひと, ブック, ベース, , , 人種, 印象, 問題, , 実話, 差別, 映画, , 自ら, 言葉, 評価, , 逆行,


ネームスペースの利点はこれだと思っている。

20190302

Logging

ネームスペースの利点はこれだと思っている。
複数人で開発とかしているときに関数名やクラスなどが
かぶってしまう可能性ある、そういうのを
解決してくれるのがネームスペースということです。

<?php
namespace testdemo;
class test{
    function demo():string
    {
        return "demo1n";
    }
}
namespace testdemo2;
class test{
    function demo():string
    {
        return "demo2n";
    }
  }

 

<?php
include_once "./index-6.php";
$demo = new  testdemotest();
print $demo->demo();
$demo = new  testdemo2test();
print $demo->demo();

タグ

'dem, , 2, 6, class, demo, function, include, index, lt, namespace, nbsp, new, once, php, print, return, string, test, クラス, こと, これ, スペース, とき, ネーム, 利点, 可能性, 複数人, 解決, 開発, 関数,


再帰処理の考え方は単なるこれだけのこと。

20190227

Logging

再帰処理の考え方は単なるこれだけのこと。
forやwhile文などでループできない処理の代替えだと
思うとわかりやすいかも。

<?php
print loop(-20);
function loop($i,$ii=1):int
{
    if($i>=5)
    {
        return $i;
    }
    $i++;
    $ii = $ii * $i;
    print "$i=$in";
    print "$ii=$iin";
    if($ii==0)
    {
        $ii = 20;
    }
    return loop($i,$ii);
}

タグ

0, , 20, 5, For, function, gt, if, Ii, int, loop, lt, php, print, return, while, こと, これだけ, ループ, 代替え, 再帰, 処理, , 考え方,


javascriptのアロー関数というものを使ってみた。

20190224

Logging

javascriptのアロー関数というものを使ってみた。
関数と同じだよねとおもっていると落とし穴があるみたい。
どうもグローバル変数が挙動不審みたいなんです。

/* アロー関数 */
let func1 = a => a + 3;
console.log(func1(5));
let func2 = (a,b)=>{
    return a + b + 3;
}
console.log(func2(1,2));

タグ

, 2, , 5, console, FUNC, gt, javascript, let, log, return, アロー, グローバル, もの, 変数, 落とし穴, 関数,


アリータ:バトル・エンジェルを観てきましたよ。

20190223

Logging

映画『アリータ:バトル・エンジェル』本予告【天使降臨】編 2月22日(金)劇場公開

アリータ:バトル・エンジェルを観てきましたよ。
エンターテイメントな仕上がりですけど、何か物足りないのは
完結していないからなのか?
瞳の大きさですけど、あまり違和感なく見れたのは
不思議ですね。そしていづれ人はサイボーグ化した体で
永遠に生きるのかもなと・・・。
 
 

タグ

20, com, mCxvYpbLL, nbsp, youtube, アリータ, いづれ, エンジェル, エンターテイメント, サイボーグ, バトル, 不思議, , 完結, 永遠, , 違和感,


PHP忘れてしまいそう。

20190223

Logging

こういう書き方とか書かなかったら忘れてしまいそうですね。
クラスの多重継承とか職場ではそもそもしない。Functionで十分な感じで
この頃、ろくなコードを書いていません。FunctionからFunctionへなんて
コードを書いてたりしています。
 

<?php
function demo1(int $val=0):int
{
    return 3 * 3 * $val;
}
print demo1(3);
class demo2
{
    public static function test1():string
    {
        return "ABC";
    }
}
$demo2  = "demo2";
print $demo2::test1();
trait demo3
{
    public static function test2($val=""){
        return $val;
    }
}
class demo4
{
    public static function test3($val = "")
    {
        return $val;
    }
}
class demo5 extends demo4
{
    use demo3;
    public static function test4($val = "")
    {
        return $val;
    }
}
$demo5 = 'demo5';
print $demo5::test2(1);
print $demo5::test3(2);
print $demo5::test4(3);

タグ

0, , 2, , ABC, class, demo, function, int, lt, nbsp, php, print, public, return, static, string, test, trait, val, クラス, コード, そもそも, 多重, 感じ, 書き方, 継承, 職場, ,


PHPでバインドするこれでSQLの脆弱性が!?

20190223

Logging

上記の画像では脆弱性がある。
PHPでバインドするこれでSQLの脆弱性が解決してくれる?
こういう記述すると良さげ。
おまけでSQLデバッグ方法を書いとります

<?php
$sql =<<<SQL
select * from demo where id = :id and namae = :hoge;
SQL;
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$id = 123;
$hoge = "hoge";
$sth = $dbh->prepare($sql);
$sth->bindValue(':id', $id, PDO::PARAM_INT);
$sth->bindValue(':hoge', $hoge, PDO::PARAM_STR);
$sth->execute();

タグ

$dbh-&gt, dbh, dbname, execute, hoge, host, localhost, lt, MYSQL, PARAM_INT, PARAM_STR, PDO, php, prepare, SQL, SQL select, sth, test,


WordPressの全記事の中からランダムで記事をピックアップしてツイートする。

20190222

Logging

WordPressの全記事の中からランダムで記事をピックアップしてツイートする。
実際、自分の階層に合わして呼び出しを変更してください。
なお、さくらレンタルサーバーでクロンの設定をして自動投稿できます。
ライブラリの設置などは割愛してます。

<?php
// cron:: cd /home/user/www/zip358.com/site/tw; /usr/local/bin/php tw.php
require_once ('../../wp-load.php');
require "vendor/autoload.php";
use AbrahamTwitterOAuthTwitterOAuth;
$consumer_key = "XXXXXXXXXXXXXX";
$consumer_secret = "XXXXXXXXXXXX";
$access_token = "XXXXXXXXXXXXXX";
$access_token_secret = "XXXXXXXXXXXXXXX";
$to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);
$args = array(
	'posts_per_page' => 1,
    'orderby' => 'rand'
);
$posts = get_posts($args);
foreach ( $posts as $val ){
    $href =  get_permalink($val->ID);
    $title = get_the_title($val->ID);
    $res = $to->post("statuses/update", array("status" => $title . " " . $href));
}

タグ

358, Abraham, access, autoload, bin, cd, com, consumer, cron, home, key, local, lt, once, php, require, secret, site, tok, tw, TwitterOAuth, use, user, usr, vendor, WordPress, wp-load, XXXXXXXXXXXX, XXXXXXXXXXXXXX, zip, クロン, サーバー, さくら, ツイート, ピックアップ, ライブラリ, ランダム, レンタル, , 割愛, 変更, 実際, 投稿, 自分, 自動, 記事, 設定, 設置, 階層,


PHPで怒られる怒られない2

20190217

Logging

PHPで怒られる怒られないの違いはさて何でしょうか?
selfの使い道がポイントです。selfは静的な要素だと動作し
$thisは動的な要素だと動作します。

<?php
class demo1
{
    static function test1()
    {
        return __METHOD__.self::test2();
    }
    static function test2()
    {
        return __FUNCTION__;
    }
}
class demo2
{
    static function  test1()
    {
        return __METHOD__.self::test2();
    }
    function test2()
    {
        return __FUNCTION__;
    }
}
$demo1 = 'demo1';
print $demo1::test1()."n";
$demo2 = 'demo2';
print $demo2::test1()."n";

タグ

, 2, class, demo, FUNC, function, lt, METHOD, php, return, self, static, test, this, ポイント, , 使い道, 動作, 要素, 違い,


PHPのインターフェイスとやら簡単に言えば。

20190216

Logging

インターフェイスとはなんぞや?
簡単に言えばこのメソッド名は必ず使えです。
無ければエラーになります。
大規模な開発から中規模な開発時には一応必要かな?
 

<?php
interface  test1{
    public function test_11(int $val=1);
    public function test_12(string $val="000");
}
class demo implements test1{
    public function demo1(int $val=0){
        return $this->test_11($val);
    }
    public function test_11(int $val=1){
        return $val;
    }
    public function test_12(string $val=""){
        return $val;
    }
}
$demo = new demo();
print $demo->demo1(111);

 

タグ

0, 000, , 11, class, demo, function, gt, implements, int, interface, lt, nbsp, php, public, return, string, test, this, val, インターフェイス, エラー, メソッド, 大規模, 必要, 簡単, 規模, 開発,


PHPで怒られる怒られない。

20190216

Logging

PHPで怒られる書き方と怒られない書き方です。
下記のコードを参照ください。

<?php
class demo_php1{
    function demo1($val=""){
        return $val;
    }
    public function demo2($val=""){
        return $val;
    }
    static function demo3($val=""){
        return $val;
    }
}
print demo_php1::demo1("DEMO1n");
print demo_php1::demo2("DEMO2n");
print demo_php1::demo3("DEMO3n");

下記のようにインスタンス(instance)すればこのコードはすべて怒られないです
それだけの違い。ちなみにdemo3は怒られない書き方です。
オブジェクトを単体で使う場合は気をつけましょう。
PHPのバージョンアップするにつれjavaのような動きになってきています。
PHP、Pythonに負けないようにかこの頃開発が活発化してます。
最新はPHP7.4ですからね・・・。

$demo_php1 = new demo_php1();
print $demo_php1->demo1("DEMO1n");
print $demo_php1->demo2("DEMO2n");
print $demo_php1->demo3("DEMO3n");

タグ

, 2, , class, demo, function, instance, lt, php, print, public, return, static, val, インスタンス, コード, すべて, それだけ, 下記, 参照, 書き方, ,


半世界を観てきましたよ。

20190215

Logging

『半世界』本予告 2月15日(金)公開

半世界を観てきましたよ。
人だよなという映画です、ちなみにエンドロールが
以上に短いのもなんか意味があるなと感じました。
監督の伝えたかったことがなんとなく感じることが
できたかな。ずっと続くはずの日常もということですね。
人生何が起こるかわからないです、だから一日を
大切に生きないといけない、そして身近なひとを…。

タグ

56, com, kKSxI, QzpN, youtube, エンド, こと, バズ, ひと, ロール, , 世界, 人生, , , 大切, 意味, 日常, 映画, 監督, 身近,


映画、ファーストマン

20190209

Logging

アポロ計画までを描いた映画です、結構リアリティがある
映画だなと感じましたが、とてもマジメな映画だなとも感じました。
すこし退屈だと思う方もいると思います。
ちなみにspaceXがこの映画に協力しているのですね、
エンドロール見ているとありました。

『ファースト・マン』本予告映像

タグ

, amp, com, continue, nFhzZKvaPXs, spaceX, time, youtube, アポロ, エンド, すこし, ファースト, マン, リアリティ, ロール, 協力, , 映画, 計画,


tensorflowは簡単にインストールできるけど、そこから何やれば

20190209

Logging

tensorflowは簡単にインストールできるけど、そこから何やれば
良いのか、よくわからない。
いま流行りの人工知能ですが、こういうこと出来るよってのは
知っている、例えば画像の仕分けとか。
そこからオリジナルに適応できないのだ。
若造なら画像収集とか考えそうです、、、えぇぇ。
10代なら若気の至りだろうけど、40代間近になると
さすがに無いなと思うわけです。
収集していたらグロ画像が釣れそうな気がしますし
怖くてできません。ちなみに
逃げるは恥だが役に立つグーグル画像検索ダウンロードコンソールアプリを
公開しているのですが、これ変更すればえぇまぁ出来そうですね。
■人工知能を仕事で活用するならば。
人工知能で出来ることで、人の顔にモザイクをかけることが出来るということ。
他には、画像の仕分けとか、本屋さんで小耳に挟んだことですが
工事現場とかでは結構写真を取らないといけないらしく
それを分別するのが面倒だとか、
こういうのには人工知能は大活躍しそうですね。
 

タグ

10, 40, tensorflow, アプリ, いま, インストール, オリジナル, グーグル, グロ, こと, これ, コンソール, さすが, そこ, ダウンロード, モザイク, , 人工, 仕事, , 公開, 写真, 収集, 変更, 小耳, 工事, , , 本屋, 検索, , 活用, 現場, 画像, 知能, 簡単, 若気, 若造, 適応, 間近, ,


windows10 1809 不具合 Chromeが繋がらない(タイムアウト)

20190202

Logging

windows10アップデート後(1809) 不具合 :Chromeが繋がらない
(タイムアウト)の対応策。
初期化して再度OSを入れ直すのもアレなんで対応策として
スタートアップ時にBatを走らせる事にした。
管理者権限にするBatとネットワークサービスを再起動するBatで
なんとか次期OSのアップデートかGさんが解決してくれる事を
期待しています。
それまでコンピュータ管理のサービスとかも停止せず待っときます。
Batは下記になります。
追記:
累積アップデートで直りましたと言いたいところだけど
一度、累積アップデートの一部を削除して再度、累積アップデートを
適応したら直りました・・・。

net stop CryptSvc
net start CryptSvc
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "Start-Process (管理者)ネットが繋がらないよ.bat -Verb runas"

タグ

-ExecutionPolicy, -NoProfile, 10, 1809, Bat, Chrome, CryptSvc, net, OS, powershell, start, stop, unres, Windows, アップ, アップデート, あれ, コンピュータ, サービス, スタート, それまで, タイムアウト, ところ, ネットワーク, 一度, 一部, 下記, 不具合, , 停止, 再度, 再起動, 初期, 削除, 対応策, 期待, 権限, 次期, 管理, 管理者, 累積, 解決, 追記, 適応,


映画 七つの会議を観てきましたよ。

20190202

Logging

七つの会議を観てきましたよ。
この映画、結構マジメな社会派な映画ですが
結構、見ごたえがあるなと感じました。
だだ、評価はすごく分かれそうです。
ちなみにエンディング後の最後の最後までストーリーが展開している
映画ってなかなかないですよね。

映画『七つの会議』予告2

 
 

タグ

, 87, amp, com, continue, DvpeYU, ePI, nbsp, time, youtube, エンディング, ストーリー, だだ, 七つ, 会議, 展開, 映画, 最後, 社会, 見ごたえ, 評価,