文字数カウントは奥が深いよ。日本語より𓅇エジプト😇 #javascript #code #プログラミング #unicode

2022.10.05

Logging

おはようございます、先日(日曜日のこと)は久しぶりに本屋さん巡りしていました😋。本屋📖は良いですね落ち着きます。

さて、文字コードのカウントは奥が深いなって話を記載していきます。人目線からすれば文字をカウントするという至って簡単な話にですが、PC(コンピューター)にとっては奥が深いです・・・日本語漢字も面倒だけどエジプト系の象形文字系(unicode)は本当に面倒そうです。まだ、作りかけですがツイッターの用な文字コードのカウントするjavascriptコードを書きましたのでサンプルコードとしてご使用ください

※WindowsOSの環境下でChromeブラウザ動作させ検証しました。コピペ文字には対応していません😇。UTF-8 ではない違う文字コードを貼り付けてみてください、変なことになると思います😂。例えばEUC文字コードだとか・・・。

動作サイトはこちらです。

        function moji(o) {
            let m = o.nextElementSibling;
            //ads
            let h = ((o) => {
                let l = o.value.match(/(https?:\/\/[a-z|A-Z|0-9|\-|_|%|\.|\/]{0,})/giu);
                let ml = l ? ((l) => {
                    return sum = l.reduce((s, e) => {
                        return s + e.length;
                    }, 0);
                })(l) : 0;
                return l ? {
                    len: (l.length * 23),
                    mlen: ml
                } : {
                    len: 0,
                    mlen: ml
                };
            })(o);
            //zenkaku            
            let k = ((o) => {
                let l = o.value.match(/[^\x20-\x7e]/giu);
                let ml = l ? ((l) => {
                    return sum = l.reduce((s, e) => {
                        return s + e.length;
                    }, 0);
                })(l) : 0;
                return l ? {
                    len: (l.length * 2),
                    mlen: l.length
                } : {
                    len: 0,
                    mlen: ml
                };
            })(o);
            m.innerHTML = "【 " + (o.value.length + h.len - h.mlen + k.len - k.mlen) + "文字{半角/280} 】";
            if ((o.value.length + h.len - h.mlen + k.len - k.mlen) >= 280) {
                m.innerHTML = "<span class='text-danger'>【 " + (o.value.length + h.len - h.mlen + k.len - k.mlen) + "文字{半角/280} 】</span>";
            }
        }
                    <label for="my-textarea" class="h3">文字を入力してください。</label>
                    <textarea id="my-textarea" class="form-control" oninput="moji(this);" name="" rows="3"></textarea>
                    <span class="h3"></span>

尚、サンプルコードは1バイトを一文字としてカウントしていきます、そしてURL文字はどんなに長くても23文字にカウントされます、これはTwitter社の仕様と合わしています。URL文字はURL短縮が行われ23文字の短縮URLが生成されるからその様にカウントしているのですが、なんか本物と違うですよね挙動が・・・🙇‍♂。因みに絵文字がどのようにカウントされるかは確認していません。

UTF8では絵文字(unicode)を3バイトで表記させているそうです。昔、UTF-8は2バイトで表現しているとか習っていたのですが、それはカナリ古い知識だったみたいです😇。

タグ

8, Chrome, Code, EUC, javascript, PC, Unicode, UTF-, WindowsOS, エジプト, カウント, コード, こと, コピペ, コンピューター, サンプル, ツイッター, ブラウザ, プログラミング, 久しぶり, 人目, 使用, 先日, 動作, , , 対応, , 文字, 日曜日, 日本語, 本屋, 本当, 検証, 漢字, 環境, , 簡単, 記載, , 象形, 面倒,

Sqliteで作った簡易掲示板のコードを配布致します。#php #code

2022.09.20

Logging

おはようございます。台風は過ぎ去りましたがせっかくの三連休が残念です💦。

今日は先日、Sqliteを使用して簡易掲示板を作ってみましたのでコードを配布致します、尚、PHP8の環境下で動作させています(PHP7系でも動作すると思います)。

Sqliteってnow()関数がなかったりだとか、Deleteする時に、noカラムを昇順しlimitを使用して削除出来ないだとか、いろいろとMysqlとは違う所があり、面倒だなと思いながらコードを書きました、尚、SqliteはWebサーバーの階層に置かないように、置いても良いですが・・・。そのままの状態だと誰でもダウンロードが可能になってしまいますのでご注意ください。自分は地下に眠らしています😅。

一応、二重投稿防止の為に20秒経過しないと再投稿出来ないようにしています😌。トライしていない事は禁止ワード等がありません🤔。つけようと思ったのですがまぁ良いかなと、、、。

動作している環境のリンクはこちら。

https://reborn9.sakura.ne.jp/

軸となるPHPのソースコードを2つ貼っときますね。

<?php
session_start();
$toke_byte = openssl_random_pseudo_bytes(16);
$csrf_token = bin2hex($toke_byte);
$_SESSION['csrf_token'] = $csrf_token;
?>
<!DOCTYPE html>
<html lang="ja">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <meta name="Description" content="Enter your description here" />
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.1.0/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
    <link rel="stylesheet" href="assets/css/style.css?<?= time() ?>">
    <title>掲示板</title>
</head>

<body class="p-3 text-white">
    <div class="p-4 shadow rounded" style="background-color:#d6dbdf;">
        <div class="container mt-5">
            <div class="row">
            <div class="col-12 text-center">
                <h1 class="shadow" style="color:#195a57;">掲示板::version 2.5</h1>
            </div>
                <div class="col-12">
                    <div class="input-group shadow rounded">
                        <div class="input-group-append">
                            <span class="input-group-text bg-dark text-white" id="my-addon">ニックネーム</span>
                        </div>
                        <input class="form-control" type="text" name="name" placeholder="ニックネームを入力" aria-describedby="my-addon">
                    </div>
                    <div class="form-group shadow rounded">
                        <label for="my-textarea">コメント</label>
                        <textarea id="my-textarea" class="form-control" name="comment" rows="7"></textarea>
                    </div>
                    <button id="btn" class="mt-2 btn btn-info text-white shadow rounded" type="button">投稿する</button>
                </div>
            </div>
        </div>
        <div class="container mt-5">
            <div class="row">
                <div id="view" class="col-12"></div>
            </div>
        </div>
    </div>
    <footer>
        <a href="/">TOP</a> :: © Reborn9.sakura.ne.jp <?=date("Y")?>
    </footer>
    <input type="hidden" name="csrf_token" value="<?= $csrf_token ?>">
    <script src="https://code.jquery.com/jquery-3.2.1.min.js" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/2.9.2/umd/popper.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.1.0/js/bootstrap.min.js"></script>
    <script src="assets/js/main.js?<?= time() ?>"></script>
</body>

</html>
<?php
class db
{
    var $pdo = null;
    function __construct()
    {
        try {
            $this->pdo = new PDO("sqlite:../../bbs.sqlite3");
            $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);        //code...
        } catch (\Throwable $th) {
            //throw $th;
            print $th->getMessage();
        }
    }
    function select_limit()
    {
        if($this->pdo){
            $stmt = $this->pdo->prepare('select * from bbs order by no desc limit 0,5');
            $stmt->execute();
            $result = $stmt->fetchAll();
            $stmt = null;
            $this->pdo = null;
            return new view($result);
        }
    }
    function insert($name,$comment,$sns_cnt=0)
    {

        try {
            $stmt = $this->pdo->prepare('INSERT INTO bbs (`time`,`name`,`comment`,sns_cnt)values(strftime(\'%Y年%m月%d日 %H時%M分%S秒\',CURRENT_TIMESTAMP, \'localtime\'),:name,:comment,:sns_cnt)');
            $stmt->bindParam(':name', $name, PDO::PARAM_STR);
            $stmt->bindParam(':comment', $comment, PDO::PARAM_STR);
            $stmt->bindParam(':sns_cnt', $sns_cnt, PDO::PARAM_INT);
            $stmt->execute();
            $stmt = $this->pdo->prepare('DELETE FROM bbs WHERE bbs.no = (SELECT no from bbs ORDER BY no ASC LIMIT 1);');
            $stmt->execute();
            $stmt = null;
            $this->pdo = null;
            return true;
        } catch (\Throwable $th) {
            print $th->getMessage();
            return false;
        }
    }
}

class view{
    var $item = null;
    function __construct($item)
    {
        $this->item = $item;        
    }
    function view_item($item="")
    {
        try {
            $item = $item?$item:$this->item;
            ob_start();
            ?>
            
            <?php
            foreach($item as $key=>$value){
                ?>
                <div class="mt-2 row txtbox shadow rounded">
                <div class="col-3 name_<?=$value["no"]?> rounded-start fs-6">
                    ニックネーム::<?=$value["name"]?>さん
                </div>
                <div class="col-9 time_<?=$value["no"]?> fs-6">
                    投稿日時::<?=$value["time"]?>
                </div>
                <div class="col-12 comment_<?=$value["no"]?>">
                    <?= nl2br($value["comment"])?>
                </div>
                <div class="col-12 sns_cnt_<?=$value["no"]?>">
                    <!-- <?=$value["sns_cnt"]?> -->
                </div>
                </div>
                <?php
            }        
            ?>
                
            <?php
            $ret["view"]= ob_get_clean();
            $ret["msg"]= "done";
    
        } catch (\Throwable $th) {
            //throw $th;
            $ret["msg"] = "error";
        }
        return $ret;
    }
}

session_start();
$ret = null;
$mode =  xss_defence($_POST["mode"]);
// $time =  ;
$name =  xss_defence($_POST["name"]);
$comment =  xss_defence($_POST["comment"]);
$sns_cnt =  (int)xss_defence($_POST["sns_cnt"]);
if (isset($_POST["csrf_token"]) 
 && $_POST["csrf_token"] === $_SESSION['csrf_token'] && (function($t){
    return time() - $t > 20?true:false;
 })($_SESSION["save"])) {
    if($mode==="save"){
        $name = !preg_replace("/[ | ]/","",$name)?"匿名":$name;
        $comment = !preg_replace("/[ | ]/","",$comment)?"":$comment;
        if($comment){
            $db = new db();
            $db->insert($name,$comment);
            $_SESSION["save"] = time();
        }
    }
    $db = null;
    $db = new db();
    $ret = $db->select_limit()->view_item();
    print  json_encode($ret);
}
function xss_defence($value){
    if(is_array($value)){
        foreach($value as $key=>$val){
            $value["$key"] = strip_tags($val);
            $value["$key"] = htmlspecialchars($value["$key"],ENT_QUOTES);
        }

    }else{
        $value = strip_tags($value);
        $value = htmlspecialchars($value);
    }
    return $value;
}

配布コードはこちらです。

タグ

20, 7, 8, Code, Delete, LIMIT, MYSQL, no, Now, php, Sqlite, web, いろいろ, カラム, コード, ご注意, サーバー, せっかく, そのまま, ダウンロード, トライ, ワード, 三連, , , 今日, , 使用, 先日, 削除, 動作, 可能, 台風, 地下, , 投稿, 掲示, 昇順, , 残念, , 状態, 環境, 禁止, 簡易, 経過, 自分, , , 配布, 関数, 防止, 階層, 面倒,

一言感想、欲望の資本主義メタバースの衝撃デジタル経済!

2022.09.19

Logging

おはようございます。台風が何事もなく通り過ぎるのを祈りながら日曜日のお昼に書いています✍。

8月31日頃に「欲望の資本主義2022夏メタバースの衝撃デジタル経済のパラドックス」というNHK:BSで放送されていたものを昨日、オンデマンドで購入して視聴しました。尚、単品販売一本120円ぐらいだったと思います(NHKさん、ペイペイ支払いに対応してくださいませ🙇)。

一言で感想を述べるとするならば経済が迷走していて出口が見えていないなという事が分かったぐらいですかね。あと、自分の主観を述べるとするならばメタバースが浸透するのはまだ先の話になると思います。もしかしたら、あと5年、10年先の話になるのではという印象ですね。

なので、今の子供達が大人になる頃に流行るものだと思ったほうが良さそう。スマホが浸透するにもそれぐらい時間がかかったように最初は熱狂的なテクノロジーヲタクから浸透していき、その後、一般人も認知していく様な流れになるのだろうと。

これは前半に登場された佐藤航陽 氏が書かれた書籍、世界2.0にも書かれていることですが・・・、その様に欲望の資本主義を見て思いました。

まとめ、迷走していてこれと言って、答えを見いだせない世の中が後、数年は続きそうです。

タグ

10, 120, 2022, 31, 5, 8, bs, NHK, オンデマンド, お昼, スマホ, それぐらい, テクノロジー, デジタル, バース, パラドックス, ペイ, メタ, もの, ヲタク, , 一般, 一言, 主義, 主観, , , 何事, , 出口, 単品, 印象, 台風, , 大人, 子供, 対応, , 感想, 放送, 日曜日, 昨日, 時間, 最初, 欲望, 浸透, 経済, 自分, 衝撃, 視聴, , 販売, 資本, 購入, 迷走, ,

1万件のCSVを読み込みテーブルに保存する雛形コード #PHPCode

2022.09.08

Logging

おはようございます、徐々に秋ぽっい日差しになってきましたね(まだ暑いけども😌)。

今日は、1万件のCSVを読み込みテーブルに保存する雛形コードを昨日、ちょちょっと書きましたので記載します。ファイルをダウンロードして使いたい方はGithubのリンクを下に貼っときますので、ご使用頂けたらと思います。尚、テーブルなどはCSVを参考にご自身で構えてください。

※動作環境はPHP8系です、なのでPHP7系では一部エラーが出ます。fgetcsv…nullを0へ変更。

Githubのリンクはこちら

Qiitaの方に記載しようかどうしようか、迷ったのですが第一弾目がアクセス数がそこそこ伸びたのでこれ以上、注目されるのは嫌なのでブログの方に記載しました。1万件のCSVを簡単に読み込ませる方法はPHPコードを書くのではなく、SQLのコマンドで実行した方が実は早いですけど・・・。

有言実行

早いですけど、その場合、CSVがちゃんとしたファイルではないと上手くテーブルに保存されない場合や、そもそもコマンドラインで操作出来ない場合もあったりしてPHPコードなどで制御しないと駄目な事もあります。そんな時に、このコードをサンプルとして使って頂ければ良いなと思い作りました。

1万件のCSVを読み込ませるPHPコード雛形。

そんなにコードを書かなくてもまぁ動くんですよ。ちなみにソースコードには、あまりコメントを書いていないですが、プログラマーなら大体の人が理解できるレベルかと思います。

<?php
//ini_set("display_errors","On");
session_start();
require "db_config.php";

//読み込みCSVファイル名セット
class csv
{
    /**
     * @param string $filename
     * @param int $cnt
     * @return Object
     */
    public function ini_csv($filename = "", $cnt = 0)
    {
        return new csv_read($filename, $cnt);
    }
}

//CSVデータを読み込ます
class csv_read
{
    var $max = 10000;
    var $cnt = 0;
    var $handle = null;
    /**
     * @param string $filename
     * @param int $cnt
     */
    public function __construct($filename = "", $cnt = 0)
    {
        $this->cnt = $cnt;
        $this->handle =  fopen($filename, "r");
        $_SESSION["offset"] ? fseek($this->handle, $_SESSION["offset"]) : $this->handle;
    }
    /**
     * @param int $header_skip
     * @return Object
     */
    public function reader($header_skip = 0)
    {
        if ($this->handle !== FALSE) {
            $response = null;
            $data = fgetcsv($this->handle, null, ",");
            if (!$header_skip || $_SESSION["offset"]) {
                if ($data !== FALSE) {
                    $_SESSION["offset"] = ftell($this->handle);
                    $response["data"] = $data;
                    $response["cnt"] = $this->cnt > $this->max ? 0 : ($this->cnt + 1);
                    $flag = true;
                } else {
                    $_SESSION["offset"] = null;
                    $flag = false;
                }
            } else {
                $_SESSION["offset"] = ftell($this->handle);
                $response["cnt"] = $this->cnt > $this->max ? 0 : ($this->cnt + 1);
                $flag = false;
            }
        } else {
            $_SESSION["offset"] = null;
            $flag = false;
        }
        return new table_save($flag, $response);
    }
}

//tableにCSVデータを保存
class table_save
{
    var $flag = false;
    var $result = null;
    /**
     * @param boolean $flag
     * @param array  $response
     * @return void
     */
    public function __construct($flag, $response)
    {
        $this->flag = $flag;
        $this->result = $response;
        $this->column_name = "name,,...";
    }
    /**
     * @param string  $column_name
     * @return void
     */
    public function tbl_save($column_name = "")
    {
        if ($this->flag) {
            $column = $column_name ? $column_name : $this->column_name;
            $is_column = explode(",", $column);
            foreach ($is_column as $key => $val) {
                $is_value[$val] = $this->result["data"][$key];
            }
            try {
                $pdo = new PDO(DSN, USERNAME, PASSWORD);
                $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                $sql = (function ($is_column) {
                    $INSERTFIRST = null;
                    $INSERTLAST = null;
                    foreach ($is_column as $key => $val) {
                        $INSERTFIRST[] = "$val";
                        $INSERTLAST[] = ":$val";
                    }
                    $INSERTSQL = "(" . implode(",", $INSERTFIRST) . ")values(" . implode(",", $INSERTLAST) . ")";
                    $UPDATESQL = null;
                    foreach ($is_column as $key => $val) {
                        $UPDATESQL[] = "$val = :$val";
                    }
                    return "INSERT INTO " . TABLENAME . $INSERTSQL . " ON DUPLICATE KEY UPDATE " . implode(",", $UPDATESQL) . ";";
                })($is_column);

                $stmt = $pdo->prepare($sql);
                foreach ($is_value as $key => &$value) {
                    $is_type = ($key === "test3" || $key === "test13") ? PDO::PARAM_INT : PDO::PARAM_STR;
                    $stmt->bindValue(":$key", $value, $is_type);
                }
                $this->result["sql"] = $stmt->execute();
            } catch (\Throwable $th) {
                //throw $th;
                $this->result = null;
                print $th->getMessage();
            }
        }
        print json_encode($this->result);
    }
}

//RUN...POST DATA
if (isset($_POST["csrf_token"])  && d_xss($_POST["csrf_token"]) === $_SESSION['csrf_token']) {

    $_SESSION["offset"] = (int)d_xss($_POST["reset_flag"]) === 1 ? null : d_xss($_SESSION["offset"]);
    $filename = d_xss($_POST["filename"]);
    $cnt = (int)d_xss($_POST["cnt"]);

    $column_name = "test1,test2,test3,test4,test5,test6,test7,test8,test9,test10,test11,test12,test13,test14,test15";
    $header_skip = 1;

    $csv = new csv();
    $csv->ini_csv($filename, $cnt)->reader($header_skip)->tbl_save($column_name);
    $csv = null;
} else {
    print "";
}
function d_xss($data){
    $data = strip_tags($data);
    $data = htmlspecialchars($data,ENT_QUOTES);
    return $data;
}
<?php
 // ログインした状態と同等にするためセッションを開始します
 session_start();
 // 暗号学的的に安全なランダムなバイナリを生成し、それを16進数に変換することでASCII文字列に変換します
  $toke_byte = openssl_random_pseudo_bytes(16);
  $csrf_token = bin2hex($toke_byte);
  // 生成したトークンをセッションに保存します
  $_SESSION['csrf_token'] = $csrf_token;
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="Description" content="Enter your description here"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
<title>CSV</title>
</head>
<body>
    <input type="hidden" name="csrf_token" value="<?=$csrf_token?>">
    <span class="h3" id="cnt"></span><br><br>
    <span class="h4" id="read_csv"></span><br><br>
    <span class="h4" id="debug"></span><br><br>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/umd/popper.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.min.js"></script>
<script>
    window.onload = function(){
        read_csv(0,1);
    };
    function read_csv(cnt,reset_flag){
        try{
            $.ajax({
            type: "post",
            url: "./assets/php/class_csv.php",
            async: false,
            data: {csrf_token:document.getElementsByName("csrf_token")[0].value,reset_flag:reset_flag,filename:"dummy.csv",cnt:cnt},
            dataType: "json",
            success: function (response) {
                    if(response){
                        cnt = response.cnt;
                        document.getElementById("cnt").innerText = cnt;
                        if(response.data){
                            document.getElementById("read_csv").innerText = response.data[0] + response.sql;
                            document.getElementById("debug").innerText = cnt ===21?response.data:document.getElementById("debug").innerText;
                        }
                        setTimeout(function(){read_csv(cnt)},0);
                    }
                }
            });
        }catch(e){
            console.warn(e);
            read_csv(cnt);
        }
    }
</script>
</body>
</html>

タグ

0, , 7, 8, CSV, fgetcsv, github, null, php, PHPCODE, qiita, SQL, アクセス, エラー, コード, こちら, コマンド, これ, ご使用, ご自身, ダウンロード, ちょ, テーブル, ファイル, ブログ, リンク, , 一部, , , 今日, 保存, 動作, 参考, 変更, 実行, , 方法, 日差し, 昨日, 有言実行, 注目, 環境, , 簡単, 記載, 雛形,

機械学習は学習するのにどれぐらいのデータが必要?

2022.09.06

Logging

今日は大荒れ☔との事です、おはようございます。

8月の半ばにとある事情で機械学習で人の顔かどうかを判別させるモデルをTensorFlowで作ってみたのですが、結果、学習のデータが少なかったのが原因なのか分からないけども・・・。人工無能と言いたくなるほど無能な機械学習が出来上がりました。犬の画像を見せてもこれは人ですと判定してくれるので正直、ホントげんなりでした。

画像分類の作り方は簡単です、学習したいディレクトリとテスト用のディレクトリを作り、それぞれの階層に分類ディレクトリを設置し、その中に学習の画像データとテスト用の画像データを入れてサンプルコードをちょちょっと修正してテンソル(Pythonを実行)で学習してもらうだけです。

画像分類器を作る(機械学習ゼーロからヒーローへ – 第4部)
画像分類器を作る(機械学習ゼーロからヒーローへ – 第4部)

尚、自分のテストデータは100枚ほどしかなかったので、全然駄目な結果になりましたが3000枚以上の画像データがあればちゃんとした判別が出来たのかも知れません。

スマホの顔認証は動画データを画像データー変換して学習させているのでしょうね。そうすれば数千枚の画像は生成出来ると思います。

例えばopencv-pythonなんかで画像変換するのが良さそうですよ。

pip install opencv-python

タグ

100, 3000, 4, 8, Python, tensorflow, コード, これ, サンプル, ゼーロ, それぞれ, ちょ, データ, ディレクトリ, テスト, テンソル, どれぐらい, ヒーロー, ホント, モデル, , , 事情, , 人工, 今日, 作り方, 修正, 分類, 判別, 判定, 半ば, 原因, , 大荒れ, 学習, 実行, 必要, 機械, 正直, 無能, , 画像, 簡単, 結果, 自分, 設置, 階層, , 駄目,

サイトが無くなるのは悲しいな。まるで一つの…😶。

2022.08.31

Logging

こんにちは、2022年の8月は今日で最後です。

そんな日にスマホに撮り溜めた写真を初めて振り返って見ています、自分が撮った写真は大体、空か花ですがたまに旅先の写真なんか混ざっていたりして、そういうのを見ていると懐かしい気持ちになります。

そんな写真の中に駆け出しの芸術家の展覧会に見に行っていた時の写真を発見しました、その人の作品をぐぐってみるとFBページと商品ストアは発見したもののコロナ禍で何だか活動を辞めたみたいで、ホームページなどは見えなくなっていた。そういうサイトが消えるのをみると何か、悲しい気持ちになりますね。夢半ばで諦める人が多い、それも花が開きそうなそんな人達がなんか辞めていく、そういうのを見ると本当にもったいなって・・・。

売れっ子にならなくても良いので続けるべきです、とても大事なことや好きな事は売れっ子にならなくても、あなたの人生にとって大切なことになる、続けることと発信する事を辞めないことは人生を後から振り返った時、絶対あの時、諦めなくて良かったと思うときが決ます。なので好きなものは手放さない方が良い、人生は一度きりだから。

タグ

2022, 8, FB, あなた, こと, コロナ, サイト, ストア, スマホ, それ, たま, ページ, ホームページ, 一つ, , , , 人生, 今日, 作品, 写真, 半ば, 商品, 売れっ子, , 大事, 大体, 大切, 展覧会, 旅先, , , 最後, 本当, 気持ち, 活動, 発信, 発見, , , 自分, , 芸術家, 駆け出し,

簡単で難しい事、いや難しい事なのかもな。

2022.08.01

Logging

おはよう、8月です。収益化は難しいけれどもアクセス数は意外にもある中の人です。

さて最初にTシャツ作りが頓挫した話から書きます。何故(・・?、毎日Tシャツ作りをすると言いながら途中で辞めたのかを話します。理由はデザインに割く時間よりもコードを書く時間や就職活動などを優先しているからです。なので中々、デザインにまで手が回らない。もう一つはスランプ気味なので、手抜きなデザインしか出来ないのが現状です。だからTシャツづくりは頓挫しています。

いま、一番力を入れているのはWEB開発の方です、人にも公開できるし自分にも結果が帰ってくるので、そちらの方を優先しています。Tシャツは売れないけどWEB開発はトントンになる確率がTシャツよりあるので、そちらを優先しています。そういう理由からなんですね。

そしてWEB開発はいろいろとアイディアがあってそれを自分の手を動かしてコードを書いて結果が見えないものは改善したり削除したりして、良いものに作り変える事がデザインよりも自分は得意な感じです。そして何よりデータが取れるので改善しやすいのです。

まとめ、収益化はまだまだ道半ばですが頑張ります。尚、就職先が決まってもアクセス数のあるWEBサービスは停止する事はないと思います。人気の無いサービスは廃止しますけどね…😌。

追伸:Tシャツサイトはアクセス解析が未だに機能しないのは困りもの。いいねが付かなくてもどんな物に興味があるのか分れば求めているものは作りやすいですけどね。

タグ

8, web, アイディア, アクセス, いま, いろいろ, コード, シャツ, スランプ, そちら, それ, デザイン, もう一つ, もの, , , 中々, , , 優先, 公開, 削除, 収益, 就職, , 手抜き, 改善, , 時間, 最初, 毎日, 活動, 現状, 理由, 確率, 簡単, 結果, 自分, , 途中, 開発, 頓挫,

よさこい祭り動画検索WEBアプリを運営しています。

2022.07.19

Logging

おはようございます。今日は自分が運営しているWEBアプリ第一弾であるよさこい動画検索アプリの紹介です。このアプリを使用すると過去のよさこい祭りのYOUTUBE動画が参照出来るようになっています。今年の8月10日~11日、開催されるよさこい祭りのスケジュールにも対応しました。まだ、アンドロイドアプリとWEBから閲覧しか出来ませんが、マネタイズ出来るようになったらMacを購入してiosアプリを作りたいと思っています。

😌Androidアプリはこちらから

🏠WEBサイトはこちらになります。

因みにその他、アプリも時間が有れば作ってみたいなって思っています。もう一つリリースしていないアプリとかもあるのですが、そちらはKotlin言語で動いています。基本的にWEBアプリをリリースしていきます、最初はWEBサービスを元にしたものが多いと思いますが、徐々にOSを意識したアプリなども展開していきたいです。全て自分が有れば良いのになを元にして作っていく予定です。

また、WEBサービスなどの知見などもgithubに公開していくつもりでいます。

タグ

10, 11, 8, Android, iOS, Kotlin, Mac, OS, web, youtube, アプリ, アンドロイド, こちら, サービス, サイト, スケジュール, そちら, その他, マネタイズ, もう一つ, もの, よさこい, よさこい祭り, リリース, , 今年, 今日, 使用, , 全て, 動画, 参照, 対応, 展開, 意識, 時間, 最初, 検索, 紹介, 自分, 言語, 購入, 運営, 過去, 開催, 閲覧,

マイナポイントの申請を行った。

2022.07.09

Logging

もうお昼、今日はおはようございますではなくてこんにちは😌。

朝から皮膚科に行ってきました。高知県ではちょっと有名な猿田病院へ行ってきました。いつも思うのですけど、あそこの外来は密ですよね。換気はしているものの、土曜日は人が多いし朝、8時に病院へ着いたのですが、その時点で47人待ちだったので萎えました。

さて、数ヶ月前にマイナポイントの為に登録とかして本日、マイナポイントを受け取れるように申請を行いました。国に個人情報を売りペイペイポイントを貰います。実際、個人情報をどのように使われているかは知りませんが、ちゃんと加工した状態で使われていることを・・・・信じています(遠い目)。

ポイント運用で今まで結構儲けていた時もありましたが、円安が進みあまりポイント運用が芳しくないです。なので、今回マイナポイントを頂いたらアマゾンで「ぱぁー」っと使おうかなって思っていますが、何を買うかは今のところ未定です。ノイキャンのアレとか手が5000円とちょっとで買えると思うとお得?

Sonyの常時装着イヤホン「LinkBuds」から、まさかのノイキャン搭載モデル「LinkBuds S」登場。

タグ

47, 5000, 8, あそこ, アマゾン, アレ, お昼, キャン, こと, ところ, ノイ, ペイ, ポイント, マイナ, , 人待ち, , 今回, 今日, , 個人, 円安, 加工, , 土曜日, 外来, 実際, , 情報, , 換気, , , 時点, 有名, , 未定, 本日, , 状態, 猿田, 申請, 病院, 登録, 皮膚科, , 運用, 高知県,

サーバーを移行しました、行き着く先はここだった。

2022.06.14

Logging

おはようございます。先日、一日もかけてサーバーサイドを某サーバーに移行しました。移行しましたがまだ不具合などが存在しているのです。例えば「更新に失敗しました。 返答が正しい JSON レスポンスではありません。」などと頻度に表示されます。

ここらへんを早急に対応したいと思っています。

お待ち下さい~。

因みにPHPのバージョンは8にアップデートしました。そしてエンジンエックスからApacheに土台を変えました。今回、エンジンエックスを数ヶ月使用してApacheサーバの方がやはり歴史が長いので、かゆいところに手が届く仕様になっていることに気づきました。

タグ

8, Apache, json, php, アップデート, エックス, エンジン, ここ, ここら, こと, サーバ, サーバー, ところ, バージョン, べん, レスポンス, , 不具合, 今回, 仕様, 使用, , 先日, 土台, 失敗, 存在, 対応, , , , 更新, 歴史, 移行, 表示, 返答, 頻度,

面白い事をしている人。発見することが楽しいだろうな!!!。𒁠

2022.06.12

Logging

おはようございます。この頃、睡眠時間、8時間確保を頑張りたいと思っています。

大西拓磨さんは、一年前(2022年)ぐらいにTVにも出演されてみたいですが、そこは割愛して。unicodeで面白いことをしているのが凄いな、自分もこういうことを試みてみたいなって。社会に受け入れるかどうかより自分が面白いと思うことが大事だと思います。特に制作するものってそうなんだと。

自分の場合、作っているときが楽しくて人に使われる頃には興味は薄れている。今まで作った無料サービスもそんな感じで自分が欲しいなって思って作っているだけの物が多かったりします。

さて大西拓磨さんがunicodeでどんなことをしているかという事を知りたい方はこちらをクリック

因みに自分はunicodeも好きだけど、YOUTUBEで低音厨音域テストしているのが好きです。

低音厨音域テスト“合格”した

そして一番不思議なのはどうやって生活しているのか?🤔。YOUTUBEとnoteでなんとか生きていけるような収益が出ているのなら良いのですが、なんかハイレンジIQの持ち主なのに何か生きているのか、たまにTwitterを見て「生きているな。」って「よし頑張ろう」という感覚になります。

タグ

2022, 8, TV, Unicode, youtu, youtube, クリック, こちら, こと, サービス, そこ, テスト, とき, もの, , 不思議, , , 低音, 出演, 制作, 割愛, , 場合, 大事, 大西, 感じ, 拓磨, , 時間, 無料, , 生活, 発見, 睡眠, 確保, 社会, 自分, 興味, 音域, ,

日帰りで5月15日大阪行くのだが何かある。何もない〆

2022.05.10

Logging

おっおっおはようございます。

今日のお題は「日帰りで5月15日大阪行くのだが何かある。何もない〆」です。5月15日の朝8時台のANAで大阪に向かいます。そしてその日の夕方には帰ってきます😌。ある意味弾丸ツアーみたいな感じですが、今のところ庵野秀明展を見に行くことだけしか予定ない状態です。見を終わったあとは京都にでも行こうかなとか思っていたりしますが、どこに行くのかなど全然予定ないし。がら空き状態です。

「庵野秀明展」15秒CM映像

大阪行き前には予定を決めているとは思うものの、今は不安しかないです。東京は一人で何度か行ったこともあるし、仕事で一年ほど居たので何となく大丈夫なんですけど、大阪、一人旅は今回が初めてです。今からドキドキしてます・・・・。

BLUE CLASS – ANA BLUE WING – 30sec ver.

因みにこの投稿を見て、一緒に行ってくれる方を密かに募集しています(嘘😂)。旅行中は時間差で現在地などをツイートすると思いますので、是非タイムラインを追ってくださいませ…。

追記:昨日の夜、予定を決めました😌。

タグ

-rfdcLI, 0, 15, 5, 8, ANA, com, https, tfM, watch, www, youtube, あと, がら空き, こと, , ツアー, どこ, ところ, , 一人, 一人旅, 不安, 予定, 京都, , 今回, 今日, 仕事, 何度か, 初めて, 募集, , 夕方, 大阪, 庵野秀明, 弾丸, 意味, 投稿, , 旅行, , 日帰り, 時間差, , 東京, 状態, ,

今頃になってdocker(ドッカー)を勉強していたりしている。

2022.04.30

Logging

おはよう御座います。4月も今日が最後になってしまいました。

皆さんGW(ゴールデンウィーク)は何処か行きますか?、自分はしれっと仕事しているかも知れません。明日は休みですが・・・。

さて、今頃になってdocker(ドッカー)を勉強していたりしてします。dockerとはなんぞやという人はエンジニアでは恐らくないと思います😭。知らない方はググってくださいな。

今までdockerなんて使わなかった、バーチャルボックスがあれば何でも出来ると今でも思っていますが、まぁ一応、dockerも触らないといけないなとか思いましてdockerを始めました。

dockerでイメージを作ってdocker Hubで公開しようと思います。公開する内容は、PHP5系から8系までの環境を構築出来る提供するつもりです。

公開したら追記としてURLを記載しますので、しばしお待ち下さい。来月の半ばまでには構築出来る環境を提供するつもりです。

尚、dockerのCUIなどの操作方法はこちらを参照すると良いですよ。

追記出来ました(5月を待たずして):https://hub.docker.com/r/zip358com/rockylinux-php-56-81-apache

docker pull zip358com/rockylinux-php-56-81-apache
docker run -d -p 80:80 --privileged --name 任意のコンテナ名 zip358com/rockylinux-php-56-81-apache /sbin/init

cgi-binを見てください。PHP5.6からPHP8.1まであります😌。

Apacheの設定、php-cgiを使用する方法はこんな感じです😀

<Directory "/var/www/cgi-bin">
    AllowOverride All
    Options FollowSymLinks
    Order allow,deny
    Allow from all
</Directory>
Action php-cgi-7.1.9 /cgi-bin/php-cgi-7.1.9
<Directory "/var/www/html/xxxx.site">
    Options +ExecCGI
    AddHandler php-cgi-7.1.9 .php .html
    AddType application/x-httpd-php .php
</Directory>

タグ

4, 5, 8, docker, GW, Hub, php, url, イメージ, エンジニア, お待ち, カー, ゴールデンウィーク, しれっと, つもり, バーチャル, ボックス, , , 今日, 今頃, 仕事, 休み, 公開, 内容, 勉強, 半ば, 提供, , 明日, 最後, 来月, 構築, 環境, 皆さん, 自分, 記載, 追記,

素晴らしいコードに出会うという事はとても大事ですよね。夜も眠れません😏

2022.03.22

Logging

おはよう御座います。
素晴らしい世界を聴きながら。

プログラマーにとって技術力を上げるのは多分、向上心があるからだと思います。

さてプログラミングをするにあたって素晴らしいコードに出会うという事はとても大事です。素晴らしいプログラマーをフォローして終わりにしていませんか、彼ら彼女たちのgithubなどを見てみてください。素晴らしいコードに必ず出会います。最初は何を書いているのかわからない事もあるかもしれませんが、その技術を理解すればするほど、これは美しくて素晴らしいコードだという事が理解できるはずです。

森山直太朗‐素晴らしい世界 Music Video

プログラミングは書けば書くほど、上達するというよりはシンプルで無駄のないような方法を見つけ出す思考身につけると上達するという事だと自分は思っています。闇雲に書くだけではそのコードを書く技術力は上がらないと思います。世の中には強者がゴロゴロといます。それらのコードから技術を習得するのが一番の手っ取り早い技術力の上げ方かと思います。そしてそのベースとなるのは基礎が身についているかどうかだと思っています。

タグ

8, com, github, https, TWo, vwLaT-, watch, www, youtube, コード, これ, シンプル, パス, フォロー, プログラマー, プログラミング, 上達, 世界, , , 向上心, , 大事, 彼ら, 彼女, 思考, 技術, 技術力, 方法, 最初, 無駄, 理解, 自分, ,

にほんブログ村に入会しようかと検討中ですが辞めておこうとまだ思っている🐾

2022.02.22

Logging

おはよう御座います。
朝、4時起床しました、正確には3時半ぐらいに目覚めました。
でも8時間睡眠は取れてますよw。この頃?、凄く早い時間から寝ています、本格的に仕事を始めたらこんな生活は無理だろうけど…。

さて、にほんブログ村という人気ブログランキングポータルサイトとかいうモノに入会しようかと、昨日悩んでいましたが、結局辞めました。辞めた理由に関してはアクセス数が上がるとは思うけど、SEO的になんかマイナスじゃないかなって思えてならなくて辞めたですよね😣。

入会しようかと思ったきっかけは入会してボットとしてサイトを巡回するプログラムを作れれば、自ずとアクセス数は伸びるという確信があったからなんですが、それを実際して何になるのかと…。

にほんブログ村に登録しているユーザーも自分のアクセス数を少しでも伸ばして収益に繋げようとしている人が大半なわけですからね。そう考えるとあまり会員登録してボット巡回することに意味はないのかなって感じました。

因みに今月の広告収益は結構伸びてます、この季節は結構広告単価が良いので収益も良いです。ですが、これで生活するには程遠いアクセス数なので当分は難しいと思います。

具体的な金額をいうのは規約的に宜しくないみたいなので、例えると本一冊(小説)分の金額は稼いでいます、これが定期的に入るですけどこれでは生活できない。最低でも新卒サラリーマンの収益を得たいなと思います。こういう事を書いている記事が過去にも何本かあるけど、ここ数年、あまり成長がないですよね。ただ救いなのは昔の記事と今の記事を見比べると断然、今の記事の方が何を書いているのかが、わかりやすくなっています、それだけが救いですね。

トイウコトデ、これからもよろしくお願いいたします🙇。

タグ

, 4, 8, SEO, , アクセス, きっかけ, こと, サイト, それ, ニホン, ブログ, プログラム, ブログ村, ポータル, ボット, ますよ, もの, ユーザー, ランキング, , 人気, 仕事, 会員, 入会, , 収益, 大半, 実際, 少し, 巡回, 昨日, 時間, , 検討, 正確, 理由, 生活, 登録, , 睡眠, 確信, 自分, 起床, ,

地方ではいろいろなイベントが中止になっているけど、そろそろ。

2022.02.19

Logging

おはよう御座います。
今日の高知県は雨がシトシトと降っていますね。冬の雨は実はあまり好きではないです。
逆にそれ以外の季節の雨は苦手ではありませんが、冬の雨は寒いから好きではないです。

さて地方(高知県)ではいろいろなイベントが中止になっているけど、そろそろ良いじゃね😏と思っておりますが、そうはいかない現状があるのを知っています。よくよく考えるとコロナ始まって二年目になるけれど、なんか進化(対応)しているのと思えてならない所があります。

NEW YORK CITY Walking Tour (4K) 6th AVENUE – ROCKEFELLER CENTER

日本って対応が後手後手じゃないかなって思います、島国根性ぽっいですよね😣、日本って昔からこんな感じだったのかなぁ。なんだか事なかれ主義ぽっいですよね😣。

まぁそんな日本ってずっとコロナと戦い続けるのでしょうか?、海外の放送や動画を見ていると半分ぐらいの人々しかマスクをしていないです、それに比べて日本は8割の人々はマスクをしているし、お店とかでノーマスクでいると「なんか目線が気になります」って具合ですよね。自分もお店などではマスクをしています。

コロナも食い止められない、経済も駄目、一体、日本は何を目指しているのか、良くわかりません。と愚痴っても何もならないのですが・・・。

そんな今の社会になかなか適応出来ていない自分がいます。なんか先が見にくい世の中ですよね。いつまでコロナとの戦いは続くのでしょうか?
(頭の良い人々が日夜コロナに打ち勝つ方法を探しているでしょうけど、なかなか突破口が見えない状態が続いています。自分の予想ではあと二年はこんな感じだと思います)

タグ

8, イベント, いろいろ, お店, コロナ, それ, ノー, マスク, 中止, 主義, 事なかれ, , 人々, 今日, , 動画, 半分, 地方, 季節, 対応, 島国, 後手後手, 感じ, , 放送, 日本, , 根性, 海外, 現状, 苦手, , 進化, , 高知県,

朝が早いけど、朝活は特にしていない。毎日のルーチンワーク!?。

2022.01.31

Logging

朝起きるのは人よりも結構早い時間に今のところ起きている。大体、目覚めは4時とか4時半とか、寝坊して5時だったりする。朝起きてパソコンと足温器に電源入れて、ネットをするのが朝のルーチンなのだけども、起きてすぐにはあまり脳が活動していないので、大体、10分か20分はボケってしています。

その後、犬の散歩を連れていき、朝食をとって朝風呂入るのが基本的な朝の行動ですね、風呂を入った後は求人情報サイトとクラウドワークスなどの仕事をチェックをします。仕事がなければニュース記事をシェアしてその後、ウォーキングに出かけます。一時間半かけて帰宅。そうこうしているとお昼になります、ご飯を食べた後はちょっと自由時間を取ります。

昼からも仕事などを探しているとあっという間に時間が経過、犬の散歩をして帰ってアレヤコレヤしていると18時になります。ここまでが自分のルーチンワークですね😌。

睡眠時間は日によって変動しますが、8時間ぐらいは大体寝てます。尚、面談、面接があるときはルーチンワークが乱れます…。

こんな生活を一年ぐらいしています、もし今している事が仕事になっていればなって思うことはありますね…。今年は何としても安定収入を確保したいので、ブログもそうですがいろいろと模索していくと思います。ユーザーの皆様、シェアなどどうぞ宜しくお願いいたします。

タグ

10, 18, 20, 4, 5, 8, あっという間, アレ, ウォーキング, お昼, クラウド, ここ, ご飯, サイト, シェア, すね, チェック, ところ, ニュース, ネット, パソコン, ヤコ, ルーチン, レヤ, ワーク, ワークス, , , , 仕事, , 変動, 大体, 寝坊, 帰宅, , 情報, 散歩, , , 時間, , 朝活, 朝風呂, 朝食, 毎日, 求人, 活動, , 睡眠, 経過, , 自分, 自由, 行動, 記事, 足温器, 電源, 風呂,

もう更新されていない「かめっちTV」の対談を見て思うこと。

2022.01.17

Logging

昨日の夜中、トンガで火山噴火があり夜中に津波警報で起こされました。高知県の漁港でも船が流されたりして被害があったようです。

さてYOUTUBEチャンネル「かめっちTV」ですが、二年前から全然更新されていないチャンネルです(亀山会長さんらしい判断だと思います)。そんなチャンネルをあるきっかけで見ることになりました。あるきっかけというのはメタップスCEO佐藤航陽さんが先見の眼がある人だなって知り調べていくうちに対談動画にたどり着きました。 DMM亀山会長とメタップスCEO佐藤氏の対談を見てやっぱ思考が違うなって思いました。

DMM亀山会長、メタップスCEO佐藤氏とお金2.0について語る!1/8【かめっちTV】

この動画8話ありますが、最後の最後まで人間味あふれる二人だなって思え良かったです。動画では誰でも分かりやすくというスタイルで作られているので見やすいじゃないかなって思います。

因みに佐藤航陽さんの事を調べていくうちに、この人が書いた「未来に先回りする思考法」という本を購入して読んでいたんだなって事に気づき、再度読み直しています。尚、「お金2.0」はまだ読んでいません。

HORIEMON.COM metaps 佐藤航陽 WITH 堀江貴文 CM

おまけ:先見の眼のある人、 佐藤航陽さん

テクノロジーが変えるビジネスの未来

タグ

8, CEO, DMM, TV, youtube, うち, カメ, きっかけ, こと, スタイル, チャンネル, トンガ, メタップス, 亀山, , , 二人, , 人間味, 会長, 佐藤, 先見, 判断, 動画, 噴火, 夜中, 対談, 思考, 思考法, 昨日, 更新, 最後, 未来, , 津波, 漁港, 火山, , , , 被害, , 警報, 購入, , 高知県,

コード書き初め、そろそろネタが尽きてきたよ「始め」!?

2022.01.03

Logging

コード書き初めは何が良いのかなぁなどと考えておりましたが、やはりこれかなっていう事で文字のグラデーションを徐々に変えてい行くものを作ってみました。IEとかでは動きませんが、最新のChromeやFirefox、エッジなどでは動くかなと思います。ソースコードを写景してみて、コードの動きがわかればソースコードを変更していろいろと試してみてください。

Rewind 2021 – the Love of the Code

動作はこちらから確認くださいませ。

https://zip358.com/tool/demo51/

尚、このコードは2021年の12月28日に書いたものになります。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="Description" content="Enter your description here"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
<title>Happy New Year 2022</title>
<style>
    body{
        background-color: black;
    }
    #HNY{
        font-weight: bold;
        font-size: 222px;
    }
</style>
</head>
<body>
    <h1 id='HNY'>Happy New Year 2022</h1>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/umd/popper.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.min.js"></script>
<script>
    let color1 =["40","E0","D0"];
    let color2 =["FF","8C","00"];
    let color3 =["FF","00","80"];
    let postion =[2,0,1];
    setInterval(() => {
        if((parseInt(color1[postion[0]],16) + 1)<255){
            color1[postion[0]] = (parseInt(color1[postion[0]],16) + 1).toString(16);
        }else{
            color1[postion[0]] = (100).toString(16);
            postion[0]--;
        }
        if((parseInt(color2[postion[1]],16) + 1)<255){
            color2[postion[1]] = (parseInt(color2[postion[1]],16) + 1).toString(16);
        }else{
            color2[postion[1]] = (50).toString(16);
            postion[1]--;
        }
        if((parseInt(color3[postion[2]],16) + 1)<255){
            color3[postion[2]] = (parseInt(color3[postion[2]],16) + 1).toString(16);
        }else{
            color3[postion[2]] = (80).toString(16);
            postion[2]--;
        }
        
        for(key in postion){
            if(postion[key]<=-1){
                postion[key] = 2;
            }
        }
        //console.log(`#${color1.join("")}, #${color2.join("")}, #${color3.join("")}`);
        document.getElementById('HNY').style = `
        color: #FF8C00;
  background: -webkit-linear-gradient(0deg, #${color1.join("")}, #${color2.join("")}, #${color3.join("")});
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
        `;    
    }, 70);
</script>
</body>
</html>

タグ

12, 2021, 28, 8, cGLonkCQ, charset, Chrome, com, D-, DOCTYPE, Firefox, gt, head, html, https, IE, ja, lang, lt, meta, name, quot, UTF-, viewport, watch, www, youtube, いろいろ, エッジ, グラデーション, コード, こちら, これ, ソース, ネタ, もの, , , , 動作, 変更, 文字, , 書き初め, 最新, 確認,

今年もあともう少しで大晦日ですね。

2021.12.08

Logging

今日は風が強いですね。かなりの強風が高知県でも吹いています。

さて、PHP7.4も来年にはセキュリティー対応とかしなくなるというアナウンスを聞きました。来年か再来年にはPHP8系に移行しないといけないようになる気がします。PHP7の時代って案外短かった気がします。PHP7系とPHP8系とではレタリング速度が早くなったかといえば、それ程でもないと思いますが、移行するという事になれば仕事を生むようになると思うので、それは良いことかなと思っています。

ある意味、こういうPHPのバージョンが上がったり、SSL対応しないといけないとかの問題は、それを生業としている業者にとっては、面倒くさいことだけど有り難い事なのかもしれないなと感じます。

それで現場が泣かされることはあるのだけど、余裕のある人は合間をみてそういう対応をしていたりして案外回っている事を上の人は知らなかったりして・・・。

タグ

7, 7.4, 8, php, SSL, アナウンス, かなり, こと, セキュリティー, それ, バージョン, レタリング, , , , 今年, 今日, 仕事, 余裕, 再来年, 合間, 問題, 大晦日, 対応, 強風, 意味, 時代, 来年, 業者, , 現場, 生業, 移行, 速度, , 高知県,

映画、「糸」を今頃、観ました(今年最後に泣ける映画観たい方)。

2021.11.16

Logging

映画、「」を今頃、観ました。何か良かった映画です、何か有るだよなぁって思える、そう思える映画です。何か繋がっているだなと思うストーリー展開でしたし、そういう縁を感じる映画です。

菅田将暉&小松菜奈 映画『糸』MUSIC VIDEO( 中島みゆき「糸」フル )【8月21日(金)公開】

映画「糸」はプライム会員だったら無料で今の所、見れますので是非、今年の大晦日や来年のお正月の深夜にでも観てみてください。涙もろい人は「あぁ?わぁ(泣)」ってなる映画です。映画を見るにあたって落ちやストーリー展開をあまりググって見ない方が良いでしょう。何も知識を入れずに観るのがベストだと思います。それはこの映画に限らずですが、自分は予告ぐらいしか観ずに映画を毎回見ています。

タグ

8, com, https, vI, watch, www, youtube, zQG-yMMI, お正月, ストーリー, それ, プライム, ベスト, 予告, , , 今年, 今頃, 会員, , 大晦日, 展開, , , 映画, 映画観, 最後, 来年, 毎回, 深夜, 無料, 知識, , , 自分, 落ち,

歩くことが楽しくなるピクミンブルームをスマホに?

2021.11.11

Logging

歩くことが楽しくなるピクミンブルームをスマホに入れていますか?、自分はまだこのアプリを入れていません。毎日のように歩いているので入れると楽しいのかなとは思いますが。ポケモンもスマホに入れたけれど遊ばなかったので、おそらくピクミンブルームもポケモンと同じ運命をたどるかなと思っています。なので、スマホに入れていませんが、楽しそうなゲームですよね。

Pikmin Bloom 紹介映像

歩くことが楽しくなるゲームだと思います。

ピクミンが好きな人でダイエットやウォーキングをしている人などはこのアプリをインストールすると励みになったり継続する力になることは間違いないと思います。是非、アプリストアからダウンロードしてプレイしてみてはいかがでしょうか。尚、アプリをインストールしても自分には一銭も入りません。

ios⇒ https://apps.apple.com/app/id1556357398

Android⇒ https://play.google.com/store/apps/details?id=com.nianticlabs.pikmin

タグ

-y, 0, 2, 8, Android, com, https, iOS, sP, watch, wKE, www, youtube, アプリ, いかが, インストール, ウォーキング, ゲーム, こと, ストア, スマホ, ダイエット, ダウンロード, ピクミン, ブルーム, プレイ, ポケモン, まだこ, 一銭, , , 毎日, 継続, 自分, 運命,

映画、閃光のハサウェイを観ました。

2021.10.17

Logging

映画、閃光のハサウェイを観ました。映画館で本当は観たかったのだけど料金が特別価格でちょっと割高に設定されていたので、プライムビデオで観ました。それも会員は無料で見れちゃうのでお得ですよねぇ。

『機動戦士ガンダム 閃光のハサウェイ』予告1

映画の感想は映画館で観ていたらもっと良かったんだろうなって思える作品になっています。アニメだけどアニメっていう枠で語れないなんか、良い雰囲気の映像に仕上がっていたと思います。機動戦士ガンダム世代なんですが今までガンダムアニメ観たことがなくて初めての映画を観ました。

【TVCM】『機動戦士ガンダム 閃光のハサウェイ』Blu-ray&DVD&4K UHD発売告知|バトル編

このクオリティで続編を観てみたいなと感じました、本当に観てよかったです。{重厚感?}}}

PS. 映画とは関係ないだけど機動戦士ガンダム 閃光のハサウェイのサイトがSSL化していない所が気になります、、、、。

タグ

4, 8, com, https, NSS-dl, PS, SSL, watch, Wop, www, youtube, アニメ, ガンダム, クオリティ, こと, サイト, それ, ハサウェイ, ビデオ, プライム, 世代, 会員, 作品, 価格, 初めて, 割高, 感想, 戦士, , 料金, 映像, 映画, 映画館, 本当, , 機動, , 無料, 特別, 続編, 設定, 重厚感, 閃光, 雰囲気,

遅いぐらいだけどES2015(ES6)が使い出せそう。js(java script)の話。

2021.09.30

Logging

今日は清々しい朝ですね、久しぶりに高知県、晴れましたね。

さて、遅いぐらいだけどES2015(ES6)が使い出せそう。js(java script)の話。田舎では古いブラウザを使用している人が、いたりしてIE(インターネットエクスプローラー)をたまに使用している。だけど今回、 WindowsがWindows11にアップグレードされる事により、IEは廃止されるので堂々とES2015(ES6)以降の技術が使用できるようになる。これで現場は結構、自由に動けるようになるとおもいます。

6.2: Classes in JavaScript with ES6 – p5.js Tutorial

それぐらいIEは一昔前のものだと思っています・・・。さらばIE!!

ES6ではやっとclassが使用できるようになっているので開発者としては、とても便利ですよ。今までfunctionで書いていたものをclassで置き換えたいぐらいです!!因みにclassの中の関数にはfunctionと記載すると動かないので関数名だけを記載しましょう・・・。

また、ES6対応のブラウザ一覧表はこちらから参照してください。
http://kangax.github.io/compat-table/es6/

最後にサンプルとしてコードを記載します。
https://zip358.com/tool/demo42/

class main{
    constructor(foo){
        this.name = foo;
    }
    view() {
      document.getElementById("demo42").innerHTML  =  this.name;
    }
}
const m = new main("ES6");
m.view();

タグ

11, 2015, 6, 7, 8, class, com, ES, function, https, IE, java, JS, L-, script, T-HGdc, watch, Windows, www, youtube, アップ, インターネット, エクスプローラー, グレード, これ, それぐらい, たま, ブラウザ, もの, , 久しぶり, , , 今回, 今日, 以降, 使用, 便利, 廃止, 技術, , , 現場, 田舎, 自由, , 開発者, 高知県,

映画、レミニセンスを観てきましたよ。ざっくり感想を書きました。

2021.09.23

Logging

ネスダックは2日連続、上昇していますがマイナスは補填出来ずにいます。うーん?、やはりドルコスト平均法は最強なのかもしれないなと思います。早くドルコスト平均法に戻したいなって。

さて先日、映画館でレミニセンスを観てきましたので感想を残しときます。レミニセンスは男と女の価値観を壮大な映像とともに描いていると自分は感じました?。

映画『レミニセンス』本予告 2021年9月17日(金)公開

海面上昇と気温の上昇で人々は夜、活動するようになったという設定なので映像がちょっと薄暗いシーンが多かったのですが、それもこの映画のストーリーと合っていて違和感無く見れましたので悪くはなかったです、それと朝日のいろいろな場面があり全体的に見ると相殺されていると感じました。

総合評価すると感情移入出来るかどうかでぜんぜん違うと思います、どちらかと言えばこの映画、監督が女性(リサ・ジョイ さん)です。そして自ら脚本を書いているので女性視点で映画が描かれていると思います。

最後に男ってどうして過去に執着するだろうって…思える作品になってる?。

タグ

-t, 0, 2, 5, 8, com, cyl, https, ku, watch, www, youtube, いろいろ, コスト, シーン, ジョイ, ストーリー, それ, ダック, どちらか, ドル, ネス, マイナス, リサ, レミニセンス, 上昇, 人々, 価値観, 先日, 場面, 壮大, , , 女性, 平均法, 感情移入, 感想, 映像, 映画, 映画館, 最強, 朝日, 気温, 活動, 海面, , 監督, 相殺, 総合, 自分, 補填, 設定, 評価, 連続, 違和感,