オーバーライドとは何なのか。それは。

2023.11.27

Logging

おはよう御座います、もう20年前になるのかな駆け出しのエンジニアだった頃の話。そのころ、オブジェクト指向が何なのかなんてことも知らないのに粋がっていました。その事を思い出すと恥ずかしいばかりです。その駆け出しのエンジニアの頃にオブジェクト指向のことをどうしても勉強しないといけなくて参考書を買ったのは良いのだけど専門用語が多くてついて行けなかった、そんな記憶があります。今ではchatGPTという何でも適当にだいたい正しそうな回答してくれる優しくてひねくれ者のツールがあるので、本当に良いなって思います。

さて、オーバーライドとは何なのかという事ですがchatGPTよりもっと要約した回答を書くと継承クラスの上書きです。これでもチンプンカンプンな人に例文を書いてみました。これで分からない方は何かを諦めた方が良いかも知れません。

<?php
//testClass.php
trait testClass {
    public function Hello(){
        return 'Hello';
    }
}
<?php
//test.php
require './testClass.php';
class test1{
    use testClass;
    public function run (){
        print $this->Hello().PHP_EOL;
    }
}
class test2{
    use testClass;
    protected function Hello(){
        return 'Good night';
    }
    public function run (){
        print $this->Hello().PHP_EOL;
    }
}

(new test1)->run();
(new test2)->run();

この2つのファイル(コード)を保存してtest.php実行してみてください。そうするとよく分かると思います。ちなみに実行結果はこの様になります。
https://zip358.com/tool/demo79/

明日へ続く。

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

ChatGPT, gt, gt;Hello, lt, php, PHP_EOL, print, return, run, test.php require, testClass, testClass.php trait, this, use testClass, オーバーライド, オブジェクト指向, チンプンカンプン, ひねくれ者, 上書き, 例文,

Photo by Pixabay on Pexels.com

全てポイント買いです、この頃の本活事情です。😆

2022.06.18

Logging

おはようございます、今月のお給与は全て修理代金に飛んでいきましたが、貯金と投資で何とか生きています。因みに今はサイドビジネスはネットショップ経営とブログの広告収入と言いたい所ですが、年に一回ぐらい収入が入るぐらいです。

先日、本を大量に購入しました。知っていることが殆どだと思うのですが情報の上書きと抜けている情報を詰め込むために購入しました。本の感想やツマミはツイッターにでもアップするかもしれません。

因みに電子書籍って本を購入しているわけではないという話を聞きました。なので、アカウントなどが消えてしまった場合は、同一人物であってもデータの復元は出来ないそうですね。なので、IDやパスワードは厳重に保管しましょう。パスワードに記号が一つでも入るとセキュリティは高くなりますが、総当たりで攻撃されると結局解読できてしまうので、今では二段階認証や生体認証技術が取り入られていますよね。自分も生体認証技術などを使用してパスワードを管理しています。

パスワード管理アプリは結構、重要です。年に一回費用は発生しますが必要経費だと思っています。なので、Gさんのパスワード管理はあまり信用していません。

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

ID, アカウント, アップ, こと, サイドビジネス, ショップ, セキュリティ, ため, ツイッター, ツマミ, データ, ネット, パスワード, ブログ, ポイント, わけ, , 一つ, 上書き, 事情, , 人物, , 今月, 代金, 使用, 保管, 修理, 先日, 全て, 厳重, 収入, 同一, 場合, 大量, , 広告, 復元, 情報, 感想, , 技術, 投資, 攻撃, 書籍, , 本活, 殆ど, 段階, 生体, 経営, 給与, 総当たり, 自分, 解読, 記号, , 認証, 貯金, 購入, 電子, ,

昔と今はかなり違っているけど自分にとってはあまり変わらない。

2022.02.27

Logging

おはよう御座います🐔。
今日は暖か陽気になるそうですね。

ここ数年でネットの中にはかなり情報が溜まってきていると印象を抱いている方も多いと思いますが、実際、全ての情報をGさんやYさんなどで検索することは出来ないらしいです。理由は昔と今とは違うから、新しい情報にアクセス出来るようなシステムになっています。特に医療、IT技術などは昔はそうだったけど、今は変わったという事例が多くあるのでネットが始まったときに書いたようなものにはアクセスすることが難しくなっています。

唯一、お店サイトなどは昔ながらのサイトでも上位に表示されたり検索にヒットしないという事はあまりないです。このように分野によって情報の蓄積や上書き度合いは変わります。

レトロなサイトデザインまとめたサイトなどがあるかは知りませんが、あれば一部のコアなファンから支持を得そうですね。ただ、そんなレトロなデザインを見つけるのはかなり大変かなと思います。そんな感じでネットは広大です、過去の情報やサイトに辿り着くことが出来ることは年々難しくなってきています。もう一つ言えることは、昔と今では情報の蓄積量はかなりの差があります。

そのため、正確な情報に辿り着くのも難しくなってきています。真実かどうかを見抜くのは実際に体験するなどの他に、基礎を身につけることがこれから先、大事になってくると思います。基礎を身につけるとその概念(基礎)を元に正確な情報かどうかがある程度、自分の頭で思考でき判断することが出来るからです。なので、基礎を身につける事が大事になってきます。

トイウコトデ、昔と今はかなり違っているけどあまり変わらないでした。
追伸:基礎のアップデートも大事ですよね😌。

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

IT, アクセス, お店, かなり, コア, ここ, こと, サイト, システム, デザイン, とき, ネット, ヒット, ファン, もの, レトロ, 一部, 上位, 上書き, , , 事例, , 今日, 全て, 分野, 医療, 印象, 唯一, 大変, 実際, 度合い, 情報, 感じ, 技術, 支持, , , , 検索, 理由, 自分, 蓄積, 表示, 陽気,

映画、騙し絵の牙を観てきました。

2021.03.30

Logging

映画、騙し絵の牙を観てきました。率直に感想を書くとするならば好みが分かれる映画かなと思いました。これまで生きてきた人生観により受ける印象が、かなり違うかなと思います、自分は騙し絵の牙はとても楽しめたし、面白い映画だと感じました。因みに自分は騙された感はなかったかな?

映画で印象に残ったのは、ラストあたりに『難しい事にトライすることが良い』という様なセリフがありましたが、やっぱりそうだなとあらためて感じました。難しい選択をしていないと生き残れないだなと実感。ついつい楽な方に行きがちだけどそこはレッドオーシャンなんだなと。

映画『騙し絵の牙』【予告編】大ヒット上映中!

世の中、目まぐるしいぐらい変化しているように思えます。ここ一年で価値観や常識がいろいろと上書きされているように思えます。時代の転換期にきているように思えます。そんな事を考えながら映画を観ていると良いかもしれません。

最後に原作小説も読んでみたいなと感じる映画でした。今のタイミングで観てよかった?。

https://twitter.com/zip358com/status/1376683830489190401

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

いろいろ, オーシャン, かなり, ここ, こと, セリフ, そこ, タイミング, トライ, ラスト, レッド, , 上書き, , , , 人生観, , 価値観, 印象, 原作, 変化, 好み, 実感, 小説, 常識, , 感想, , 映画, 時代, 最後, , 率直, , 自分, 転換期, 選択,

一時間に一回だけAPIを実行するPHPのオブジェクトファイル

2020.01.10

Logging

あるユーザーが公開しているプログラミングを参考にして
オブジェクト化してみた。
参考にしたサイトのリンクは下記になります。
phpでapiを切りの良い時刻までキャッシュする

尚、動作環境はPHP5.6以上になります、と言いつつ
動作テストは行っていないので、もしかしたらエラーで動かないかも?
動作内容はJSONファイルの更新時間( hour )と
サーバの 時間 ( hour ) を比べ差異があれば
APIを呼び出し結果をJSONファイルとして上書き保存します。
そのため、一時間に一回だけ更新処理が走ります。
(※CRONで設定していれば)

結果がJSONで返ってこない場合などは可変して頂いて構いません。
もともと自分の案でもないので…。

PHPファイルのダウンロードはこちらから
https://zip358.com/tool/timeKeeper/timeKeeper.zip

ソースコードはこちらになります(* ̄(エ) ̄*)

<?php
class timeKeeper{
    public static $json_filename = "abc.json";
    public static $json_api_url = "https://example.com/api/?v=1.333";
    public static function judge(){
        $server_timestamp = time();
        $server_time = date('Y/m/d H',$server_timestamp);
        $json_timestamp = filemtime(self::$json_filename);
        $json_time = date('Y/m/d H',$json_timestamp);
        return $server_time === $json_time ? true : false;
    }
    public static function api_run($opts=null){
        if(is_null($opts))return false;
        $context = stream_context_create($opts);
        $json = file_get_contents(self::$json_api_url, false, $context);
        $fp = fopen(self::$json_filename, "w");
        fwrite($fp,$json);
        fclose($fp);
        return self::json_load();
    }
    public static function json_load(){
        $json = file_get_contents(self::$json_filename);
        return json_decode($json, true);
    }
    public static function check(){
        if(file_exists(self::$json_filename)){
            return self::judge();
        }
        return false;
    }
}
///使用例
if(timeKeeper::check()){
   $json = timeKeeper::json_load();
}else{
    $opts = array(
        "http"=>array(
        "method" => "POST",
        "header" => "User-Agent: php"
        )
    );
    $json = timeKeeper::api_run($opts);
}

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

5.6, API, class, cron, hour, json, lt, php, public, timeKeeper, エラー, オブジェクト, キャッシュ, コード, こちら, サーバ, サイト, ソース, ダウンロード, ため, テスト, ファイル, プログラミング, ユーザー, リンク, , 上書き, 下記, 保存, 公開, 内容, 処理, 動作, 参考, 場合, 実行, 差異, 時刻, 時間, 更新, , 環境, 結果, 自分, 設定,

文字の置き換えはコマンドラインから

2017.09.19

Logging


文字の置き換えは「sed」というコマンドを使うことで
文字の置き換えは可能ですが、文字の置き換えを行なった後、
ファイルの保存もしくは上書き保存を行わないと意味が無いので
注意が必要になります。
例えばリナックス系のサーバで文字を置きたい場合、このような感じに
記述すると文字の置き換えが可能となります。

sed -i -e "s/utf8mb4/utf8/g" mysql.sql

結構、大きめサイズのテキスト形式のファイルも難なく
置き換えが可能です、ちなみにWindowsでも同じようにコマンドから
文字の置き換えすることは可能ですが少々面倒なので、リナックスでの
置き換えを自分は推奨します。
ちなみに文字コードがUTF8ではない場合は
文字コードをiconvでUTF8に置き換え後、文字列の置き換えを
すれば良いのでとても楽です。


ちなみにこちらの動画は悪い例↑
?

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

-i, 4, 8, e-, iconv, mb, MYSQL, quot, sed, SQL, UTF-, Windows, コード, こちら, こと, コマンド, サーバ, サイズ, テキスト, ファイル, ライン, リナックス, 上書き, , 保存, 動画, 可能, 場合, 大きめ, 形式, , 必要, 意味, 推奨, 文字, 文字列, 注意, 自分, 記述, 面倒,