計算をリアルタイム。

2024.02.27

Logging

おはようございます、vue3.jsの一貫として時給計算するちょっとしたWEBサービスを作ってみました。vue.jsを触っていてわかったことはリアルタイム反映みたいなものが簡単にできるところ。これは便利ですね。JQueryから皆さんが移行する意味がいまごろ分かりました。

これからはvue.jsやReact.jsなどを使用していきたいですね。因みに自分はバニラばかりでした、バニラの良い所は慣れているせいか書きやすいところにあります。vueやReactにもバニラが入っていても問題ないので、そういう意味では今までの事が活かせるかもなって思います。

最後にサービスのリンクを貼ってこの記事は〆とします。

https://zip358.com/tool/payroll-calculation/

明日へ続く。

タグ

jquery, react, React.js, vue, vue.js, vue3.js, Webサービス, サービス, ところ, バニラ, リアルタイム反映, リンク, 一貫, 問題, 意味, 時給, 最後, 皆さん, 自分, 良い所,

laravelの技術ネタ。こういうのを有ることを。

2023.10.03

Logging

おはようございます、laravelの技術ネタです。Laravelにはこういうメソッドが用意されています。下記のリンクを参照ください。

https://readouble.com/laravel/8.x/ja/collections.html

こんな機能が有ることを覚えて置くと良いです。なので、わざわざ自分でコードを書かなくても便利な機能があります。覚えて置くと良いです。

この頃の学びはPHPに文字の置き換えする事。いやいや文字の置き換えなんて初歩の初歩でしょって思うかも知れません。自分もそう思っていましたけど、PHPにはいろいろな文字の置き換えができるメソッドがあります。その中でこれは便利だなっていう文字の置き換えはこれ!!

文字の位置を指定して、その部分だけを文字を置き換えることが出来るメソッドです。

substr_replace

明日へつづく

タグ

Laravel, php, substr_replace, いやいや文字, コード, メソッド, リンク, わざわざ自分, 下記, 位置, 初歩, 技術ネタ, 文字, 機能, 自分, 部分,

バルクアップデート、バルク=大量

2023.10.01

Logging

おはようございます、バルクアップデートという技を最近知りました。バルクとは大量を意味する言葉です、バルクアップデートとは大量のデータを一括でアップデートする手法です。結構、大量のデータをアップデート出来るのですが、それでも時間がかかります。因みに普通にアップデートすると「504 Gateway Timeout 」が発生する場合などに使用する良いと思います。

これでもUPDATEが出来ない場合は、一度、クラウドに一旦保存しておき、そこから再度、更新処理を行うと言った手法が良いかも知れません。何にせよ、大量のデータを一括アップデートは大変です。

Xのシェアしたものを貼り付けていますが、見れない人用にリンクも貼っときます。

https://gri.jp/media/entry/9838

明日へつづく😌。

タグ

Gateway Timeout, UPDATE, X, アップ, アップデート, クラウド, データ, バルク, バルクアップデート, リンク, 一括, 一括アップデート, 一旦, 再度, 大量, 手法, , 時間, 更新処理, 言葉,

第何週目かを即座に知りたくないですか?☺

2023.09.03

Logging

おはようございます、第何週目かを即座に知りたくないですか?そんな二番煎じのちょっとしたシステムを作りました。下記のリンクをクリックしてお使い頂けたら幸いです☺

https://zip358.com/tool/week-day/

このシステムまだ作り込みの最中でして、もう一つ機能を追加して完了とします。その機能とは・・・秘密です。リリースした再度、記事にしてご報告いたします。二番煎じなので差別化を図らないと検索上位には表示されそうにないなと思ったので近日中に公開します💁。

追伸:記事をUPする前に機能追加できたので、こちらの記事にどんな機能なのか説明します。それはGカレンダーでインポート出来るCSVファイルを出力する機能です。これがあれば便利かなと思ってその機能を追加しました。差別化という程のものではないけれども、実際、他のサイトでは出力機能がないので、調べるには良いけど活用できないよね。

いちいち調べた情報をカレンダーに登録するのは、面倒くさいと思う人もいるだろうという事で今回、その機能を自前しました。

タグ

CSVファイル, Gカレンダー, カレンダー, システム, リンク, 下記, 二番, 二番煎じ, 再度, 出力機能, 即座, 実際, 差別化, 最中, 検索上位, 機能, , , 近日中, 追伸,

ワードプレスのchatGPT-APIを使ったプラグイン #chatGPT

2023.06.28

Logging

おはようございます、ワードプレスのchatGPT-APIを使ったプラグインを作りました。1つ目は日本語記事を英語に翻訳してUPするプラグインです、このプラグインは公開時に一回だけ英語に変換されます。その後手直しが可能です。これからは日本語で記事を書いて英語化されたものを公開するとグローバルに記事を見ていただけるかなって思って作ったのですがどうなんでしょうね?

もう一つ目は、一週間分の記事を単語から連想して記事を自動で書いてくれるといったちょっと問題作のプラグインです。これで記事を書くことから開放されます。記事はすべて予約投稿になります。記事を直したい場合は編集画面で手動で記事を直してください。

両方ともGitHubとQiitaでソースコードを公開しています、ご自由にご使用ください。なお転売禁止します。

こちらのリンクからソースコードは参照できます。

日本語記事を英語に翻訳するプラグイン

単語から連想して記事を自動作成するプラグイン

タグ

chatGPT-API, github, qiita, すべて予約投稿, ソースコード, プラグイン, リンク, ワードプレス, 両方, 公開時, 単語, 問題作, 手動, 手直し, 日本語, 日本語記事, 編集画面, 英語, 英語化, 転売,

ロボットの進化が凄いな。人手不足は何れ解消されるよ🙄。

2023.01.20

Logging

おはようございます、金曜日の朝ですね。フルリモートのお仕事をして一週間が経ちました。

さて、今日はロボットのお話、先日の早朝に呟いた通り驚愕でした。あともう少しで工事現場でロボットが働けるかもと思わせる映像です。

Inside the Lab: Taking Atlas From Sim to Scaffold
Inside the Lab: Taking Atlas From Sim to Scaffold

これも仮想空間でロボット強化学習が出来るようになったのが、大きいような気がします。今回は地面が平たいので、実際の現場にロボットを導入するのは、まだ出来ないでしょうけどロボットは着実に進化し続けています。

最後にボストン・ダイナミクス社のリンクを貼っときます。

タグ

Inside the, Taking Atlas From Sim to Scaffold, フルリモート, ボストン・ダイナミクス社, リンク, ロボット, ロボット強化学習, 一週間, 仮想空間, 地面, 実際, 少し, 工事現場, 早朝, 映像, 最後, , 現場, 通り驚愕, 金曜日,

Manifest V3、ブラウザ拡張機能のアレに対応した解説動画。

2022.11.02

Logging

おはようございます、カサカサ肌には大変な季節です🫠。

今日はManifest V3、ブラウザ拡張機能(Chrome拡張)のアレに対応した解説動画がありましたのでご紹介します。こちらの動画で基本は分かる感じになっています。いつまで掲載されるかわからないので、リンクだけ貼っときます。こちらになります。

尚、マニフェストの書き方だけがV3になってから変わっただけではないので、そこの所が注意しないといけない所です。自分もグーグルクロームに拡張機能を公開していたので、そちらの使用されている拡張機能は修正しました。

今、自分用に作っているV3のマニフェストの書き方だけ載せときますね。

{
  "name": "lancers footpoints",
  "version": "1.0.0",
  "manifest_version": 3,
  "description": "ランサーズ。",
  "permissions": [
    "tabs",
    "scripting"
  ],
  "action": {
    "default_icon": "icon20221101.png"
  },
  "background": {
    "service_worker": "src/background.js"
  },
  "content_scripts": [
    {
      "matches": [
        "https://www.lancers.jp/work/search*"
      ],
      "css":["src/style.css"]
    }
  ]
}

あと、backgroundとcontent_scriptsの送受信の関係などが記載されているサイトを見つけたので、そちらもリンクを貼っときます、こちらのページになります。

タグ

1.0.0, , Chrome, footpoints, Lancers, Manifest, name, quot, Version, アレ, いつ, グーグル, クローム, こちら, ご紹介, そこ, そちら, ブラウザ, マニフェスト, リンク, , 今日, 使用, 修正, 公開, 動画, 基本, 大変, 季節, 対応, 感じ, , 拡張, 掲載, 書き方, 機能, 注意, , 自分, 解説,

素晴らしい曲と素晴らしいWEBサイト。 #cool #site

2022.10.10

Logging

おはようございます。いきなり寒くなってきましたね🐙。

さて、素晴らしい曲と素晴らしいWEBサイトを紹介します。Ayako TaniguchiさんのWEBサイト、そして流れる曲も素晴らしいな、自分はこういうサイトを作りたいと思っていても、何処をどうすれば良いのか分からない。おそらくjavascriptかnode.jsなど動いているだろうなって想像は付くのだけど。

そうではないだよね。それは技術的な話で実際にそんな技術があっても、こういうのはセンスの問題が大きく伸し掛かるだなって思います。映像+WEB+音楽が全てレベルが高いサイトってあまり見かけない中、このサイトは秀でる才能の塊だと思います。こういうサイトを見ると自分も頑張ろうって気になります👍。

最後にリンクを貼っときます。

https://ayakotaniguchi.jp/

タグ

Ayako, cool, javascript, JS, node, site, Taniguchi, web, サイト, センス, それ, リンク, レベル, , 何処, 全て, 問題, , 実際, 想像, 才能, 技術, 映像, , 最後, , 紹介, 自分, , 音楽,

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, アクセス, エラー, コード, こちら, コマンド, これ, ご使用, ご自身, ダウンロード, ちょ, テーブル, ファイル, ブログ, リンク, , 一部, , , 今日, 保存, 動作, 参考, 変更, 実行, , 方法, 日差し, 昨日, 有言実行, 注目, 環境, , 簡単, 記載, 雛形,

Chrome拡張の作り方という本は読む人を選ぶ本かも?

2022.07.27

Logging

おはようございます。今日は途轍(とてつ)もなく眠いですが、早朝ウォーキングしてきました😂。

さて、Chrome拡張の作り方という本のコードと解説をささっと流し読みしたので、感想を少しだけ書いていきます。まず、この本(電子書籍)はProが書いた本ではなく、書くことに関してはおそらく素人が書いた本だと思います(今では誰もが本を出版出来る時代ですから)。

ですが、ある一定の知識とプログラミング言語の知識がある人が読むと勘所を抑えていて良質な本だと思います、レビューではリンク先がないなどの意見もあるのですがそういうのは自分は気にしないし、Chrome拡張開発の勘所とManifest V3対応版にいち早く対応した本として良いなと感じました。

ググってもManifest V2対応のコードばかり出てくるので最新のManifest V3対応のサンプルコードが無いのでとても助かります。英語が分かる人ならChrome拡張開発の公式ドキュメントを読めば理解できると思うのですが、自分は英語が読めないに等しいのでとてもChrome拡張の作り方という本は役立ちました。

尚、自分が開発しているChrome拡張は来週にはリリース出来るかと思います、審査が通らなければ少し遅くなるかもですけどね。

タグ

2, , Chrome, Manifest, Pro, ウォーキング, コード, こと, サンプル, とき, とてつ, プログラミング, リンク, レビュー, 一定, , , 今日, 作り方, 公式, 出版, 勘所, 対応, 少し, 意見, 感想, 拡張, 早朝, 時代, 書籍, 最新, , , 知識, 素人, 自分, 良質, 英語, 解説, 言語, , 途轍, 開発, 電子,

Windows10~起動時にアプリ(ソフト)を自動起動させる方法です。

2022.06.23

Logging

おはようございます。隠しフォルダーが見える環境です。

さて、今日のお題はITエンジニアなら朝飯前のことだと思います。「Windows10~起動時にアプリ(ソフト)を自動起動させる方法です。」知らなかったら恐らくとても運の良いITエンジニアかと思います。方法を箇条書で記載しますねーーー😌。

  1. 隠しフォルダが表示できるようにエクスプローラーの設定を変更します(ググって)。
  2. 下記のフォルダ場所まで移動します(ユーザー名はご自身の環境によって違います)。
  3. 移動したフォルダにご自身が自動起動したいアプリのショートカットリンクファイルをコピペ(コピーアンドペースト)します。
  4. 再起動してみてアプリが自動起動している事を確認する。
C:\Users\ユーザー名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

職場のPCが変わったりした時は必ず最初にやっていた作業になります。これをすることで出社しPC立ち上げ後、アプリの立ち上げなどは全くしなくて良くなります。因みにショートカットリンクにパラメーターを与えてあげることで、もっと短縮できる可能性があります。そこは割愛します。

タグ

10, AppData, IT, menu, microsoft, PC, Programs, Roaming, start, Startup, users, Windows, アプリ, アンド, エクスプローラー, エンジニア, こと, コピー, コピペ, ご自身, ショートカット, ソフト, ファイル, フォルダ, フォルダー, ペースト, ユーザー, リンク, 下記, , 今日, 再起動, 場所, 変更, 方法, , 朝飯, 環境, 確認, 移動, 箇条書, 職場, 自動, 表示, 記載, 設定, 起動, , ,

デスクツアーをYOUTUBEで見るのが好きです。あんなデスクにしたいよね!!

2022.05.06

Logging

おはようございます。

こういうデスクツアーものを見ているとポチッとYOUTUBEの概要をりんくを押している時があります。因みに先日、自分のデスクをTweetしましたが、動画のようなスキッリとした感じになっていません。また拡大したらホコリがデスクに溜まっているのが分かると思います。あと、実名のTwitter垢もありまして個人情報ダダ漏れですが、今まで個人情報ダダ漏れだったので特に今のところ、Tweetを削除する気はありません。

【デスクツアー】効率と快適さを求めた30代のテレワーク環境を紹介

今、YOUTUBEでも#デスクツアーと検索するとハッシュタグの付いた検索ができるようになっています。またアドレスバーにhttps://www.youtube.com/hashtag/任意の文字と入力するとハッシュタグの付いたものが一覧で表示されますので、そちらで検索するのも一つの方法かと思います。

https://www.youtube.com/hashtag/任意の文字

ここ数年でYOUTUBEにありとあらゆる動画が蓄積されているので、本当に自分の好みにあった動画を見るのも難しくなくなりつつあります。凄い時代になりましたね・・・本当に。

タグ

com, hashtag, https, Tweet, Twitter, watch, www, xWJ-DqAQDuQ, youtube, アドレス, スキッリ, そちら, だだ, ツアー, デスク, ところ, バー, ハッシュタグ, , ホコリ, もの, リンク, 一つ, 一覧, , 任意, 個人, 先日, 入力, 削除, 動画, , 実名, 情報, 感じ, 拡大, 文字, , , 検索, 概要, , 自分, 表示,

期待しているけど。どうなるかな○×○×庁の今後は🤔

2022.05.04

Logging

おはようございます。

デジタル庁事務方トップに浅沼尚氏が就任されましたね。ITのことを理解されている方が就任された事は本当に良かったと思います。ここから、どうなっていくのかな?サーバーはやはりAWSを使う感じですね、2ch創設者のひろゆき氏は国産サーバーにこだわっていましたが、まぁAWSが妥当だと思います。

これから先、首都直下型地震が起きてもホームページやWEBアプリなどは安定に稼働できるでしょう。首都直下型地震が起きても今はスターリンクがありますからね。衛生通信からネット接続が行えると思います。国産サーバーが何処にサーバーを設置しているか分かりませんが、日本は何処で地震が起きても可怪しくないわけですから、AWSを使うのはそういう面でも妥当だと思います。

因みにいまのマイナポータルはかなり使いづらいですよね。マイナポータルアプリ内で完結できないと恐らくポイント貰ったあとは何も使わないアプリになると思います。浅沼尚氏もそういう側面は分かっていると思うので徐々にアプリは改善されていくと思います。

浅沼尚デジタル監就任会見(令和4年4月26日 )

タグ

○×, 2, AWS, ch, IT, web, あと, アプリ, いま, かなり, ここ, こと, これ, サーバー, スター, デジタル, ドップ, ネット, ひろゆき, ポータル, ホームページ, ポイント, マイナ, リンク, , 事務, , 今後, , 何処, , 創設者, , 国産, 地震, 安定, 完結, 尚氏, 就任, 感じ, 接続, , 日本, 期待, 本当, 浅沼, 理解, 直下, 稼働, 衛生, 設置, 通信, , 首都,

サイトのデザインを一新しました、オリジナルのテンプレートです。

2022.02.26

Logging

こんにちは、今日は気温も春陽気になるらしくて、明日はもっと暖かくなるようです。

そんな中で家でゴトゴトとWordPressのテンプレートを作成していました、このテンプレートは特に頑張ったところなどはなく、Bootstrapを雛形みたいなものです。シンプルイズベストという事だけは気にしています。余計なモノは極力少なくしたつもりです。SEOなどはあまり意識はしていないのだけど、以前のリンク構造を一応意識しています。

因みにこのテンプレートは未完成ですので、時間が空いたときに改善していきます。完成しても提供するなどは今の所、考えていません。尚、Bootstrapは4系を使用しています、5系にそのうち変更すると思います。

タグ

4, 5, Bootstrap, SEO, WordPress, イズ, うち, オリジナル, サイト, シンプル, つもり, デザイン, テンプレート, とき, ところ, ベスト, もの, リンク, 一新, , , , 今日, 以前, 余計, 作成, 使用, 変更, 完成, , 意識, , 提供, 改善, 明日, , 時間, 未完成, 構造, , 気温, 陽気, 雛形,

WebでTwitterのスペースを聞く方法は2つぐらいある。

2022.01.22

Logging

WebでTwitterのスペースを聞く方法は2つぐらいあります。一つ目はスペースを開催しているアカウントのアイコンをクリックしスペースを聞くこと、もう一つはスペース開催しているまとめサイトからスペースを聞く方法だと思います。因みにスペースまとめサイトを一つ紹介します。

spaces.bzというスペースまとめサイトが良い感じです。このサイトはリスナー数が多い順に表示されているので有名なひとがスペースを使った際に見つけやすい仕様になっていますよ。尚、自分は朝、よく放送されている佐渡島 庸平(コルク代表)さんのスペースやお昼前頃から放送されているイケダハヤトさんのWEB3.0 の放送を聞いたりしています。二人のスペースをよく聴きますがファンではないです。

どちらも有益な情報や気づきがあるのでよく聴いているという感じですかね。

一応、二人のTwitterアカウントのリンクを貼っときますね。

佐渡島 庸平(コルク代表)さん
イケダハヤトさん

タグ

2, 3.0, BZ, spaces, Twitter, web, アイコン, アカウント, イケダハヤト, クリック, こと, コルク, サイト, スペース, どちら, ひと, ファン, まとめ, もう一つ, リスナー, リンク, 一つ, 一つ目, 二人, 仕様, 代表, 佐渡島, 庸平, 情報, 感じ, 放送, 方法, 昼前, 有名, 有益, , 紹介, 自分, 表示, 開催, , ,

WindowsやMACのタイピングを表示するアプリと検索すれば!?

2022.01.18

Logging

この頃、気温が若干低いなという感覚があります、昨日なんて寒くてウォーキングを諦めました😌。

さてWindowsやMacのタイピングを表示するアプリと検索すれば、それなりのアプリが出てきますのでそちらを使用してみてください。では、ちょっと冷たいのでメモを残しときます。Macの場合、KeyCastrというフリーのアプリが有名らしいですね、因みにこのアプリ、Githubでしか公開していないので、ターミナルで操作とか出来る人じゃないとインストール出来なそうです。

Notion書きながらKeyCastrでタイピングを表示する

その他にもキーボードのログ(キーストローク)を表示するアプリは存在します。一応、リンクを貼っときますね。こちらから参照ください。👉https://ja.altapps.net/soft/keycastr リンク切れになっていた場合は自分で上記のようなキーワードで検索すれば見つかるはずです。

How To Display Keystrokes On macOS For FREE (Keycastr)

あと、GithubでKeyCastrをインストールする方法の動画も貼っときますね。
https://github.com/keycastr/keycastr

タグ

altapps, github, https, ja, KeyCastr, Mac, net, soft, Windows, あと, アプリ, インストール, ウォーキング, キー, キーボード, キーワード, こちら, ストローク, そちら, その他, それなり, ターミナル, ダイビング, パス, フリー, メモ, リンク, ログ, 上記, , 使用, 公開, 参照, 場合, 存在, 感覚, 操作, 昨日, 有名, 検索, 気温, 自分, 若干, 表示, ,

セレクトメニューの都道府県は毎回、作るよりストックしておくべし。

2021.12.13

Logging

駆け出しフロントエンドエンジニアさんや駆け出しコーダーさんの中にはお問い合わせなどで、都道府県を毎回、書いている人はいると思いますが、大体、同じことを何回もするのは無駄です。なので、自分専用の雛形を作っておくといいですよ。そうする事によって作業は結構、短縮されたりします。今回は自分がよく使う、セレクトメニューの都道府県をJSで都道府県リストを生成するように作りました。

都道府県生成

繰り返しになりますが、こんな感じに自分が使用するデータや独自の関数はストックしておくと作業効率は上がります、毎回調べてプログラミングやコードを書くのは仕事上では手間になるので辞めた方が良いです。

最後にJSコードとGitHubのリンクを貼っときますので、ご自由使用くださいませ。

https://github.com/zip358/select_jp_ken

let useKendata = [
    {'no':'01','name':'北海道'},
    {'no':'02','name':'青森県'},
    {'no':'03','name':'岩手県'},
    {'no':'04','name':'宮城県'},
    {'no':'05','name':'秋田県'},
    {'no':'06','name':'山形県'},
    {'no':'07','name':'福島県'},
    {'no':'08','name':'茨城県'},
    {'no':'09','name':'栃木県'},
    {'no':'10','name':'群馬県'},
    {'no':'11','name':'埼玉県'},
    {'no':'12','name':'千葉県'},
    {'no':'13','name':'東京都'},
    {'no':'14','name':'神奈川県'},
    {'no':'15','name':'新潟県'},
    {'no':'16','name':'富山県'},
    {'no':'17','name':'石川県'},
    {'no':'18','name':'福井県'},
    {'no':'19','name':'山梨県'},
    {'no':'20','name':'長野県'},
    {'no':'21','name':'岐阜県'},
    {'no':'22','name':'静岡県'},
    {'no':'23','name':'愛知県'},
    {'no':'24','name':'三重県'},
    {'no':'25','name':'滋賀県'},
    {'no':'26','name':'京都府'},
    {'no':'27','name':'大阪府'},
    {'no':'28','name':'兵庫県'},
    {'no':'29','name':'奈良県'},
    {'no':'30','name':'和歌山県'},
    {'no':'31','name':'鳥取県'},
    {'no':'32','name':'島根県'},
    {'no':'33','name':'岡山県'},
    {'no':'34','name':'広島県'},
    {'no':'35','name':'山口県'},
    {'no':'36','name':'徳島県'},
    {'no':'37','name':'香川県'},
    {'no':'38','name':'愛媛県'},
    {'no':'39','name':'高知県'},
    {'no':'40','name':'福岡県'},
    {'no':'41','name':'佐賀県'},
    {'no':'42','name':'長崎県'},
    {'no':'43','name':'熊本県'},
    {'no':'44','name':'大分県'},
    {'no':'45','name':'宮崎県'},
    {'no':'46','name':'鹿児島県'},
    {'no':'47','name':'沖縄県'},
];
document.getElementById("ken").insertAdjacentHTML('afterbegin',(function(ken){
    let str = '';
    for (const key in ken) {
        str+= '<option value=' + ken[key].no + '>' + ken[key].name +'</option>';
    }
    return str;
}(useKendata)));

タグ

01, 39, github, JS, let, name, no, useKendata, エンジニア, エンド, お問い合わせ, コーダー, コード, こと, ご自由, ストック, セレクト, データ, プログラミング, フロント, メニュー, リスト, リンク, , , , 今回, 仕事, 何回, 作業, 使用, 効率, 北海, 大体, 専用, 感じ, 手間, , 最後, 毎回, 無駄, 生成, 短縮, 自分, 都道府県, 関数, 雛形, 駆け出し,

JavaScript(js)でcsvファイルを読み込み自動計算する(合計sum)

2021.11.17

Logging

謎の訪問者さんが検索窓を使用して何度かググっているので要望にお応えJavaScript(js)でcsvファイルを読み込み自動計算する(合計sum)というものを作りました。以前、csvを元にテーブルを作成するものを作っていました、ソースコードはそれを応用して作っています。実際、数万行に渡るファイルを自動計算するには、かなり爆速のパソコンが必要になります。このプログラムで耐えれるのは精々、1,000行あたりだと思います。

過去のコードと今回のサンプルデモのリンクを貼っときます。

どうぞご自由にお使いください。

https://zip358.com/tool/demo47/

"use strict";
var csv = {
	load:async function(filename,id){
		const responseFile = await fetch(filename);
        const result = await responseFile.text()
		let separate1 = /\r\n/;
		let separate2 = ",";
		let data = (result.split(separate1)).map(function(value){
			return (value.split(separate2)).map(function(value1){
				return value1;
			});
		});
		let sum =[];
		for (const usedata of data) {
            (usedata).map(function(val,index,array){
                sum[index] = (isNaN(parseInt(sum[index]))?0:parseInt(sum[index])) + parseInt(array[index]);
            });
		}
        console.log(sum);
		document.getElementById(id).innerHTML = sum.join(",");
		return "OK";
	}
};
csv.load("math.csv?", "sum");
JSでCSVファイルの和

タグ

000, , async, await, const, CSV, fetch, filename, function, ID, javascript, JS, load, quot, res, responseFile, strict, sum, use, var, お応え, かなり, コード, ご自由, サンプル, ソース, それ, テーブル, デモ, パソコン, ファイル, プログラム, もの, リンク, 今回, 以前, 何度か, 作成, 使用, , 合計, 実際, 必要, 応用, 数万, 検索窓, 爆速, 精々, 自動, 要望, 計算, 訪問者, , 過去,

SNSで忘れがちな事はこれだと思うですよね。

2021.10.12

Logging

高知県、今日は雨ではなく晴れでしたね。自分の予報は外れましたね、ごめんなさいな?。

さて、今日のお題は『SNSで忘れがちな事はこれだと思うですよね。』です、SNSの匿名で活動されている方もいると思うのですが、匿名の不利な所は中の人の事を忘れがちになるところだと思います。本名でアイコンも自分の顔で活動している人と違って匿名さんは人が呟いているのに何か、重みが違うように思えます。

その為、何だか知らない人から猛攻撃されたりする人も中に入ると思います。自分のtwitter垢はBOTを除き、フェイスブックと結びつけています。この@zip358comでさえ名前を入れて活動してはいないものの、FBリンクとはリンクしています。本名を記載していない理由は結構、ぐたぐた事を書いているので見られても良いけど仕事とは、あまり結びつけたくないかなという思いがあるので、本名を記載していないですが、リンクをたどると誰が発言しているのか分かるようにしています。

自分は匿名さんの発言がたまにロボットが発言していると勘違いしてしまいそうになる時があります。そう言えば匿名さんだけど中には人がいるだなって思うかの確率を上げるためには、やはり本名をどこかに記載した方が良いかなと思います。そして本名にすると、自分自身がそれなりに発言に注意しますよ。

それが結構、今は重要かなと思っています。

タグ

358, BOT, com, FB, SNS, Twitter, zip, アイコン, これ, ところ, フェイスブック, リンク, 不利, , 予報, , , 今日, 仕事, , 匿名, 名前, , , , 晴れ, 本名, 活動, , 猛攻撃, 理由, 発言, 自分, 記載, , 重み, , , , 高知県,

C#でwebview2を使用して情報を収集するためのサンプルコード。

2021.08.22

Logging

今日は日曜日ですね。先日は久しぶりにお天気になったので外へ出ていっておりました。これを投稿する日は晴れているでしょうか。

さてjavaを勉強している合間にC#も勉強しております。javaを勉強しているとC#に応用が効くのでとてもやりやすいですね。webview2というオブジェクトをインストールして使用しました、VC#2019で開発しているのですが既存のwebBrowserというオブジェクトは全然というほど役に立ちません。例えばYahooのトップページを開いたらjavascriptエラーのアラートが表示されたりして動作してくれません。おそらくwebBrowserというオブジェクトを使用して何か開発している人はあまりいないじゃないかなと思います。

今回、作成したサンプルコードはYahoo!ニュースのITニュースのタイトルとリンクを収集するものですが、この方法を応用してブラウザの作業を自動化することはそれ程難しくないと思っています。

サンプルコードの一部を記載します=ボタンをクリックする場所に埋め込んだソースコードになります。因みにawaitを使用しているのでボタンクリックにはasyncしてあげる必要があります。

※注意事項としてYahoo!ニュースのソースコードが変わればそれに対応したコードを記載する必要があります。

C# webview2でテスト
PM> Install-Package Microsoft.Web.WebView2 -Version 1.0.902.49
        async private void button1_Click(object sender, EventArgs e)
        {

         var result = await webView21.ExecuteScriptAsync(
                "(()=>{let obj = document.querySelectorAll(\"#uamods-topics > div > div > div > ul > li > a\");" +
                "let str = \"\";" +
                "for (let i = 0; i < obj.length; i++)" +
                "{" +
                "str += obj[i].innerText + \"[\" + obj[i].href + \"],\";" +
                "}" +
                "return str;" +
                "})();"
             );
            richTextBox1.Text = result.Replace(",","\n").Replace("\"","");
        }

タグ

2, 2019, IT, java, javascript, VC++, webBrowser, webview, Yahoo, アラート, インストール, エラー, オブジェクト, コード, こと, これ, サンプル, タイトル, ため, ドップ, ニュース, ブラウザ, ページ, もの, リンク, 久しぶり, , 今回, 今日, 作成, 作業, 使用, 先日, 勉強, 動作, 収集, 合間, , 天気, , 応用, 情報, 投稿, 方法, 既存, , 日曜日, 自動, 表示, 開発,

wifi中継機とルーターのブリッジモードの違いを知らずに散財した過去?

2021.08.09

Logging

髪の毛がたいぶ伸びてきて、うざく感じるようになってきたので来週には床屋さんに行きたいなと思っているのですが、何せ無収入?なので出費がヤダなと思っています。

さてwifi中継機とルーターのブリッジモードの違いを知らずに散財した過去?の話を書こうと思います。昔、ルーターのブリッジモードを使用しルーター同士をwifiで繋げれるだろうと思い、ルーターを二台購入し試してみた結果、駄目だったという切ない思い出があります。ブリッジモードは簡単に言えば親の通信を引き継ぐことが可能だけど優先LANケーブルで親と子を接続しないといけない、それとは違い中継機はDHCP機能もあったりする、wifi中継機の場合は当然、wifiで親とリンクしてインターネットに繋ぐことも可能だ。

要するにwifi中継機は一階に親のwifiがあり二階にwifi中継機があった場合などは長いLANケーブルを二階まで這わさず(はわさず)にインターネットの通信環境を整えることが出来るのだ。そこが中継機とブリッジモードの大きな違いでもある。あまり専門用語を使わずにwifi中継機とブリッジモードを話を書きましたが、分からない人はやはり専門の人に問い合わせすることをオススメします。

尚、wifi中継機などでA社やR社のショッピングで検索するといろいろは会社の中継機があるけど、なるべく新しい中継機を選ぶことをオススメします。その理由はセキュリティーがしっかりしているという事です。あと、購入後もファームウェアを最新の状態にするように説明書を読みながら設定することも大事になります。

【爆速】WiFi6ルーターを導入してみたら自宅マンションのネット回線が改善した話

因みにwifi6の機能があるwifiルーターを購入すると良いです、無線通信(wifi)が従来よりも早いらしいです。

タグ

DHCP, LAN, wifi, イブ, インターネッ, インターネット, ガタ, ケーブル, こと, それ, ブリッジ, モード, リンク, ルーター, ワザ, , 中継機, , 使用, 優先, 出費, 収入, 可能, 同士, 場合, , 床屋, 思い出, 接続, 散財, , 来週, 機能, 簡単, 結果, , , 購入, 通信, 過去, 違い, 駄目, 髪の毛,

Strayとは迷い込む、Strayというサイバーパンク猫のゲームがそれ!

2021.08.06

Logging

Strayとは迷い込むという意味では、Strayゲームはサイバーパンク猫のゲームを指す。これまでにはないPS5、PS4のゲームです。PS5になって何もかもがリアルになっていてついに猫を操作して遊ぶゲームまで登場しました。プレイ動画を見てもわかるようには、本当にサイバーパンクな猫を操作して遊ぶゲームです。PS4でも遊ぶことは可能ですが、リアルさを追求するならPS5なんでしょうね。

Stray – Gameplay Walkthrough | PS5, PS4

はじめてみた時は猫を操作して遊ぶっていう発想、なかったなぁ。このゲームを作った人はかなり柔らかい思考の持ち主であることは間違いないです。このゲーム、クリアってご主人さまを見つければ終わるのかな。どんなエンディングになっているのか見てみたいですね。

開発会社のリンクを載せときます。このゲームで遊ぶことになるのはいつの日になることだろう・・・。皆さん、PS5持っているのかな・・・。

BlueTwelve Studio

タグ

4, 5, BlueTwelve, PS, Stray, Studi, いつ, エンディング, かなり, クリア, ゲーム, こと, これまで, ご主人, サイバーパンク, それ, プレイ, リアル, リンク, , 何もかも, 動画, 可能, 思考, 意味, 持ち主, 操作, , , 本当, , 発想, 登場, 皆さん, 追求, 開発,

字幕データ生成ツールを作りましたよ。

2021.06.01

Logging

字幕データ生成ツールを作りましたよ。ツールを作ったのは5月23日になります、その日の午前にちょこちょこ制作し?、その日の午後にリリースしました。どんなツールかと言えば、srt形式のデータを生成するツールです。手動で字幕データを作る方法が記載しているサイトがありました(こちら)。

作った経緯(イキサツ)は、もう少し楽にsrt形式のデータを作りたいなと考えた結果、このようなツールを制作しました。自分の声はどもりがあるので、巷で話題のVrew(ぶりゅう)というAI(人工知能)が自動で字幕を生成してくれるアプリではどうしても字幕が上手く変換されないので逆に手間が発生します。

そんなこんなで作ったツールがこちらです。https://zip358.com/tool/srt-make-file/

無料ツールのリンクからも参照することが可能です。尚、字幕のデータなどは一切、サーバーに持たない設計にしていますので安心安全です。なお、Vrew(ぶりゅう)というアプリみたいな物も自分は作れますが、こちらになるとどうしてもGCPAWSに音声データを送りテキスト変換する(自動文字起こし)というAPIの力を借りないといけないので、今回は作るのを断念しました?。時間があれば作ってみたいとは思っています。尚、APIのkeyなどは自分のAPIを登録して貰う形のアプリだったらみんな安心して使用できますよね。因みにVrewはあまり信用していないの派です?、便利だけどね。

爆速!テロップ自動作成アプリ。Vrewが便利なので紹介する

タグ

23, 358, 5, AI, com, https, srt, srt-make-file, tool, Vrew, www, zip, アプリ, イキ, こちら, こと, サーバー, サイト, サッ, そんなこんな, ツール, データ, どもり, ぶりゅう, リリース, リンク, 一切, 人工, 制作, 午前, 午後, 参照, 可能, , 変換, 字幕, 安全, , 形式, 手動, 手間, 方法, , 無料, 生成, 発生, 知能, 経緯, 結果, 自分, 自動, 記載, 設計, 話題, ,

簡易的なメールフォームとメール送信のプログラムを書くのにかかる時間は?

2021.05.28

Logging

簡易的なメールフォームとメール送信のプログラムを書くのにかかる時間は?大体10分?15分ぐらいかと思います。本当はエラーチェックなどの機能をちゃんとした物に置き換える必要があるけど、ざっくり考え方はこれだけで良いじゃないかなと思っています。下記のコードを制作するのに参考にしたサイトのリンクを貼っときますね。

https://techplay.jp/column/550https://techacademy.jp/magazine/19300

上記のコードを拝借してコードを書き、簡易的な二重送信防止対策と簡易的なエラーチェックをプログラミングしていますが、ここにreCAPTCHAなどの機能を入れてあげるとボット対策にもなるので良いかもしれません。ソースコードを見て後から気づいたのですが、ポストしているnameのデータを受け取っていない事があとから気づきました。因みにPOSTの生データが欲しいと言うときはこのように書くと取得することが可能ですよ。

<?php
 $data = file_get_contents('php://input');
?>
reCAPTCHA ENTERPRISE Updated Video
<?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/4.6.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.2/css/all.min.css">
<link rel="stylesheet" href="assets/css/style.css">
<title>sendmail</title>
</head>
<body>
	<div class="container">
		<div class="row">
			<div class="col-12">
				<form method="post" action="./sendmail.php">
					name<input class="form-control" type="text" name="name">
					email<input class="form-control" type="text" name="email">
					<div class="form-group">
						<label for="my-textarea">Text</label>
						<textarea id="my-textarea" class="form-control" name="text" rows="3"></textarea>
					</div>
					<input type="hidden" name="csrf_token" value="<?=$_SESSION['csrf_token']?>">
					<?=$_SESSION["sendmail"]!=="ok"?'<button class="btn btn-primary" type="submit">submit</button>':"NG"?>
				</form>
			</div>
		</div>
	</div>
<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>
</body>
</html>
<?php
session_start();
?>
<!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.2/css/all.min.css">
	<link rel="stylesheet" href="assets/css/style.css">
	<title>sendmail</title>
</head>

<body>
	<div class="container">
		<div class="row">
			<div class="col-12">
				<?= EmailSend() ?>
			</div>
		</div>
	</div>
	<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>
</body>

</html>
<?php

function EmailSend()
{

	$check = function ($val = "") {
		return isset($val) ? $val : false;
	};

	mb_language("Japanese");
	mb_internal_encoding("UTF-8");

	$to = $_POST['email'];
	$title = "test-mail";
	$message = $_POST['text'];
	$headers = "From: from@example.com";
	if (
		isset($_POST["csrf_token"])
		&& $_POST["csrf_token"] === $_SESSION['csrf_token']
	) {
		if (($check($to) && $check($title) && $check($message)) && mb_send_mail($to, $title, $message, $headers)) {
			$_SESSION["sendmail"] = "ok";
			return "メール送信成功です";
		} else {
			$_SESSION["sendmail"] = "ng";
			return "メール送信失敗です";
		}
	} else {
		return "不正なリクエストです";
	}
	return false;
}

タグ

10, 15, 2, 550, 8, cHW, column, com, https, jp, name, POST, reCAPTCHA, techplay, watch, www, xqg-zp, youtube, あと, エラー, コード, ここ, これだけ, サイト, ソース, チェック, デー, データ, フォーム, プログラミング, プログラム, ポスト, ボット, メール, リンク, 上記, 下記, , , 制作, 参考, 大体, 対策, , 必要, 拝借, 時間, 本当, 機能, , , 簡易的, 考え方, 送信, 防止,

野市あじさい街道の2021年の見頃は今週から来週までかも?

2021.05.24

Logging

野市あじさい街道2021年の見頃今週(2021/05/24)から来週までかも?先週の金曜日に撮影した映像がこちら、紫陽花は咲いているのだけど、まだ色味がないものが多い感じです。なので、見頃は今週末ぐらいから来週までかなと予想しています。今年は高知県、梅雨に入るのがかなり早かったので各地の紫陽花の名所でも咲く時期が早まりそうな気がします。

野市あじさい街道の2021年①
野市あじさい街道の2021年②

こんな感じに紫陽花が咲いているところも在るにはありますが、全体的にはまだかなという感じです。こちらのあじさい街道がどこにあるかというと野市と山田の境界線あたりにと言えば良いのか・・・。目印という目印がないので、よさこいネットのあじさい街道紹介のリンクとGマップを貼っときます。

https://www.attaka.or.jp/kanko/dtl.php?ID=1086

タグ

05, 2021, 24, あじさい, かなり, こちら, どこ, ところ, ネット, はまだかな, マップ, もの, よさこい, リンク, 予想, 今年, 今週, 今週末, 先週, 各地, 名所, 境界線, 山田, 感じ, 撮影, 映像, 時期, 来週, 梅雨, , 目印, 紫陽花, 紹介, 色味, 街道, 見頃, 野市, 金曜日, 高知県,