Final Fantasy XVIは待つことに決めました。

2023.05.28

Logging

おはようございます。Final Fantasy XVIは待つことに決めました。何を待つかというとFF16がSteamが発売されるまで待つことに、PS5ファイナルファンタジーの独占販売は6ヶ月だということ、その後、Xboxなどでも発売され最終的に、PCでも発売されるだろうということで待つことに。

『FINAL FANTASY XVI』- State of Play 4K │PS5 Games

恐らく2023年6月22日に発売されて、そこから一年半ぐらいの期間は発売されないかも知れないけど、今のゲームソフトはマルチプラットフォーム対応の開発をしているから、発売されるだろうと思っているし、吉田プロデューサーがPCでは出さないと言ってもスクエニ社長さんが開発費用の改修ためにGoサインを出すだろうと思います。

それにまだFF7Rも自分はクリアしていないので当分PS5は買わないつもりでいます、そしてプレイステーション5高いよね・・・。今のところ、余裕もないので我慢してPS5もFF16も買わないというのが自分の見解です。本当は欲しいだけどねぇ~難しい↷。

タグ

FF16, FF7R, Final Fantasy XVI, Goサイン, PC, PS5ファイナルファンタジー, STEAM, XBox, ゲーム, スクエニ社長さん, プレイステーション5高いよ, マルチプラットフォーム対応, 余裕, 吉田プロデューサー, 当分PS5, 改修, 独占販売, 見解, 開発, 開発費用,

JavaScriptでWebstorage使ってますか?🤔 #webstorage #javascript #cookie

2022.12.04

Logging

おはようございます。二日酔いです、遅めの更新🍃。

今日は今までフロントエンド側で使用していたcookieの処理コードをwebstorageに置き換えた理由と使い方のコードを記載します、JSでCookieを取り出すコードを書く場合、バニラコードで書くかライブラリを使用して書くかだと思います。自分は前者で、とにかくCookieで保存したものを取り出すのに無駄にコードを書いていましたので、そろそろコードを直そうと思ってwebstorageを採用しました。

webstorageを採用した理由は自分が保管するデータはそれ程、容量を食わないしローカル保存(ブラウザ側保存)で十分な情報だったのでwebstorageを採用しました。そして何より、もう殆どのブラウザで使用できるようになっただろうという考えの元、コードを改修しました。

今まで情報の呼び出しするのに数行書いていたものが、1行のコードで参照できるというのは本当に素晴らしいことです💯。

呼び出すコードはこちら

localStorage.getItem("bgcolor_code")

値を保存するコードはこちら

localStorage.setItem("bgcolor_code",color)

その他に削除やクリアするコードやSessionで保存するコード等も存在します、もし詳しく知りたい場合は上記のTwitterのリンクを辿ると情報にたどり着くはずです。

タグ

COOKIE, javascript, JS, webstorage, エンド, コード, データ, バニラ, ブラウザ, フロント, もの, ライブラリ, ローカル, 二日酔い, 今日, 使い方, 使用, 保存, 保管, , 処理, 前者, 場合, 容量, 情報, 採用, 改修, 更新, 殆ど, 無駄, 理由, 自分, 記載,

PHP8になって厳格になった、後任ごめんなさい。書いてないです。static…

2021.09.11

Logging

今日は9.11同時多発テロが起きた日です、ご冥福をお祈りします。もう20年も前になるのですね、昨日のようにその出来事を覚えています、それぐらい印象に残っています、20年ということはこの事を知らない世代もいるでしょうね。

さて、タイトル通り「PHP8になって厳格になった、後任ごめんなさい。書いてないです。static…」の件ですがPHP8になって厳格に記述しないといけなくなったようです。 static などの宣言を書いていないと動かなくなってしまいました。前前職ではそのような記述が多くあります、もともとPHP5.6のシステムを改修してPHP7対応したのですが、PHP8に移行する時に動かなくなる部分があるかと思います。インスタンス化して動かしている所は影響受けないかもしれないけれど、 インスタンス化せずに動かしているところもあり、そこに static を書いていなかったと思います。

PHP8になって厳格になった、後任ごめんなさい。書いてないです。static..

ごめんなさい、負の遺産を作ってしまいました。改修のほどよろしくお願いいたします。まだレンタルサーバーでPHP8に強制移行している会社はないかと思いますが・・・それでも今から改修していたほうが良いかと思います。

<?php
class foo{
    public $foo = "!!!!";
    public function hoge(){
        return "foo".self::$foo;
    }
}
print foo::hoge();
<?php
class foo{
    public static $foo = "!!!!";
    public static function hoge(){
        return "foo".self::$foo;
    }
}
print foo::hoge();

タグ

20, 5.6, 7, 8, 9.11, https, php, static, インスタンス, お祈り, こと, ご冥福, システム, そこ, それぐらい, タイトル, テロ, ところ, 世代, , 今日, , 出来事, , 前職, 印象, 厳格, 同時, 多発, 宣言, 対応, 影響, 後任, , 改修, , 昨日, , 移行, 記述, 部分,

phpのPDOでバインドする時、こうすれば楽。

2020.02.28

Logging

phpのPDOでバインドする時、こうすれば楽ですよね(・(ェ)・)という記述です。前の職場ではsqliでDB接続していたのですが、バインドして作られていたかは忘れてしまいました。ちなみに前の職場のPDOに改修するのは面倒くさいだろうなと感じます。何がめんどくさいかと言えば、今まで導入していたもの全てに対応するというのは、超面倒くさいと思います。

余談:
前の職場を何故辞めたかのお話します。突発的に辞めたと思う人もいるかもしれませんが、基本的に突発的辞めることはないです。突発的に辞めたかのように見えて前々から考えてきっかけを理由に辞めました。具体的な理由に関してはここでは書きません。突発的に辞めたかのように見せかけて計画的です(・(ェ)・)


ソースコードは下記になります。

<?php
ini_set("display_errors",1);
class mysql {
    static $dbh = Null;
    static $host = "localhost";
    static $id = "あいーでぃー";
    static $pass= "パスワード";
    static $dbname = "test";
    static $sql = array(
        "id"=>array("data"=>PDO::PARAM_INT,"val"=>""),
        "name"=>array("data"=>PDO::PARAM_STR,"val"=>"")
    );
    static function connect()
    {
        /* 接続状況をチェックします */
        try {
            static::$dbh = new PDO('mysql:host='.static::$host.';dbname='.static::$dbname.';', static::$id, static::$pass);
            static::$dbh->query('SET NAMES utf8');
          } catch (Exception $e) {
            echo "Failed: " . $e->getMessage();
          }
    }
    static function insert_query(){
        //プリペアドステートメント
        $stmt = static::$dbh->prepare("insert into test1 (id,Name) values(:id,:name);");
        //バインド
        foreach(static::$sql as $key=>&$val){
            $stmt->bindParam(":$key",$val["val"],$val["data"]);
        }
        $stmt->execute();
        $stmt = null;
     }
     static function update_query(){
        //プリペアドステートメント
        $stmt = static::$dbh->prepare("update test1 set Name= :name where id = :id;");
        //バインド
        foreach(static::$sql as $key=>&$val){
            $stmt->bindParam(":$key",$val["val"],$val["data"]);
        }
        $stmt->execute();
        $stmt = null;
     }
     static function select_query(){
        //プリペアドステートメント
        $stmt = static::$dbh->prepare("select * from test1 where id = :id;");
        //バインド
        foreach(static::$sql as $key=>&$val){
            if($key==="id")$stmt->bindParam(":$key",$val["val"],$val["data"]);
        }
        $stmt->execute();
        while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
            printf ("%d (%s)<br>", $row["id"], $row["Name"]);
        }
        $stmt = null;
     }
    static function close(){
        static::$dbh = null;
    }
}
mysql::connect();
// for($i = 0 ;$i<=99;$i++){
//     mysql::$sql["id"]["val"] = $i;
//     mysql::$sql["name"]["val"] = "テスト$i";
//     mysql::insert_query();
// }
for($i = 0 ;$i<=99;$i++){
    mysql::$sql["id"]["val"] = $i;
    mysql::$sql["name"]["val"] = "テスト<font color='red'>$i</font>";
    mysql::update_query();
}
for($i = 0 ;$i<=99;$i++){
    mysql::$sql["id"]["val"] = $i;
    mysql::select_query();
}
mysql::close();

タグ

, class, db, dbh, display, errors, ini, lt, MYSQL, PDO, php, quot, set, sqli, static, お話, きっかけ, コード, ここ, こと, ソース, バインド, もの, 下記, , , 余談, 全て, , 前々, 対応, 導入, 接続, 改修, , 理由, 職場, 記述,