プログラマー35歳定年説は嘘だけど。

プログラマー35歳定年説は嘘だけど、35歳から初めて
プログラマーになろうとしている人は無謀に近いかもしれないので
オススメはしません。かなり賢い人ならOKだけどね。


あなたは今、38歳です。
今から職を辞めて次の職に就こうとしています。
あなたはどういう職を選びますか?

たぶん35歳以上になるといろいろと難しくなる。
なので今後のことを考えるだろう。

あの時の選択は間違っていなかったという思いになるのは
おそらく、地位や名声とかではなく楽しいとか面白いとか
という満足度なのかもしれないと、この頃思っています。

 

生き方。

今日は技術的な記事ではないです。
上記の動画をみていろいろ自分なりに生き方について考えました。

いま私生活を綴ったブログは別ブログに切り離して続けています。
Twitterなどで発信することを減らしました。今までの発信の仕方から
試行錯誤しながら変えていきます。

尚、動画から得たことはいろいろありますが、敢えて多くは書きません。一つ言えることは言葉は大事です、言葉を選んで使う大切さを痛感したという事です。

 

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

全ての定義済の変数を配列で返す関数です。
全てなのでとってきて欲しくないものまでも取ってきます。
なのでそういうのは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);

 

Canvasで円がぐるぐる回る。

<!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

javascriptでEVENT処理レベル1

<!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ばかり書いている自分です。なれないといけないと思いつつ!?
別のことに力を注いでいる毎日です。

ちなみに「じぇじぇじぇ」は方言で驚きを指す言葉だとか。

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

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

<?php
namespace test\demo;

class test{
    function demo():string
    {
        return "demo1\n";
    }
}

namespace test\demo2;
 
class test{
    function demo():string
    {
        return "demo2\n"; 
    }
  }

 

<?php
include_once "./index-6.php";

$demo = new  test\demo\test();
print $demo->demo();
$demo = new  test\demo2\test();
print $demo->demo();