MYSQL8以降ウィンドウ関数対応=>ランキング。

MYSQLでもランキングが使えるようになったとさ。
日本国内のレンタルサーバーは最新の技術というより
一歩遅れた技術で運営している理由はリスクを取らないために
そうしているのだろうなとヒシヒシと感じます。

### support mysql>8.0.2 ウィンドウ関数

```sql
select id,namae, rank() over(order by code_total asc)as code_rank from code_data;
```
### code_data
|id|namae|code_total|
|---|---|---|
|1|kaonashi|15|
|2|mononoke|75|
|3|asitaka|52|
|4|san|87|
|5|theta|99|

この人の言っていることの中に。

自分がわかっていて他人がそのことがわからない事を
受け入れるという事や理解できない事を
受け入れるということなど…
そういう事を受け入れないといけないと話しています。

要するに賢い人は他人が理解できないことが
わからないのです。同じようなレベルの世界にいると
それは困らないのですが、そうではない世界では
大変だということ。

直球で言われたこともあると話しています。
そんなひとを人として尊敬するということが出来るか?

最後はひと何だと。

いくら上場しても名声を得てもって事を話しているだなと
受け取りました。人それぞれ受け取り方が
違うかもしれませんが。

 

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

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


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

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

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

 

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

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

 

PHP忘れてしまいそう。

こういう書き方とか書かなかったら忘れてしまいそうですね。
クラスの多重継承とか職場ではそもそもしない。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);

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

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("DEMO1\n");
print demo_php1::demo2("DEMO2\n");
print demo_php1::demo3("DEMO3\n");

下記のようにインスタンス(instance)すればこのコードはすべて怒られないです
それだけの違い。ちなみにdemo3は怒られない書き方です。

オブジェクトを単体で使う場合は気をつけましょう。
PHPのバージョンアップするにつれjavaのような動きになってきています。
PHP、Pythonに負けないようにかこの頃開発が活発化してます。
最新はPHP7.4ですからね・・・。

$demo_php1 = new demo_php1();
print $demo_php1->demo1("DEMO1\n");
print $demo_php1->demo2("DEMO2\n");
print $demo_php1->demo3("DEMO3\n");

javascriptを勉強中

var a = 3;
var b = 10;
var obj = {
        hoge:function(a){
            a = a + a;
            return a;
        },
        a:a = a && 5,
        b:b = b || 3
    };
    
console.log(obj.hoge(2));
console.log(obj.a);
console.log(obj.b);

上記のCodeを動かすと仕事と表示されます(笑)、4,5,10と表示されます。
何故そうなったかを考えるとキリがないのでそういうものだと
思ったほうが良いかもしれないです。

説明するとhogeはオブジェクトです。あとは変数とIF文の省略系を
記述しているだけです、実際は=もいらないですが・・・。
わかりやすく自分なりに記載したつもりです。

javascriptライブラリってこういうのが何百行も記載して成り立っていますが
概念はこういう事です。自分は基本的に概念しか覚えないのです。
何故、そうしているか・・・自分が怠惰な人間だからです。

 

さくらレンタルサーバーとXサーバーのMYSQLの規定

さくらレンタルサーバーとXサーバーのMYSQLの規定は下記になります。
個人で使用する場合、1G、多くて3Gもあればそんなに困らないとは思いますが
企業や仕事で商品データなどをMYSQLサーバーに保存しようとすると足りない。
さくらレンタルサーバーは9Gまで保証してくれるが、それでも足りないっていう
企業の方も多くいると思います。そんな場合はさくらレンタルサーバーだと
共有サーバーを諦めてワンランクアップしたマネージドサーバ(IP専用)を
考えてみると良いかもしれないです。
ちなみにXサーバーはビジネスタイプでも同じ規定です。

https://www.xserver.ne.jp/manual/man_db_spec.php

https://help.sakura.ad.jp/hc/ja/articles/206053142#db