Excelでは読み込むことができないような大容量のデータもPowerQueryでは処理できます😤。 #PowerQueryExcel #30万件

2022.12.02

Logging

おはようございます、昨日からいきなり寒くなりましたね。🍃

30万件のダミーデータの作り方を記載します、まずは1万件のダミーデータをこちらのサイトで生成します。後はフォルダを構えてその中にダウンロードしてきたファイルを置き、そのファイルを30回複製します、その後PowerQueryで操作する(フォルダを開く)ことにより、簡単に30万件のダミーデータが作れます、なお、一つのエクセルファイルをPowerQueryで開き1万行をコピーアンドペーストする事を繰り返すことでも同じくダミーデータは作れます。

PowerQueryはこちらから無料でダウンロードできますので、ご使用ください。操作手順等はYOUTUBEでPowerQueryと検索するといろいろな解説がありますのでそちらを参照くださいませ。例えばこちらの動画など🙄

【データベースを一瞬で作れるPowerQueryが神】Excelパワークエリの使い方・メリット

タグ

, 30, Excel, PowerQuery, PowerQueryExcel, youtube, アンド, いろいろ, エクセル, こちら, こと, コピー, サイト, そちら, ダウンロード, ダミー, データ, ファイル, フォルダ, ペースト, 一つ, , , , 作り方, 使用, 処理, 動画, 参照, 容量, , 手順, 操作, 昨日, 検索, 無料, 簡単, 複製, 解説, 記載,

ザ・プレイリストを観ました。 #シーズン1 #ネトフリ#Spotify

2022.11.15

Logging

おはようございます、日曜日(2022/11/13)は昼から高知県は夏日でしたね😯。

そんな日曜日にネトフリのザ・プレイリストを観ましたので感想なんかを書いていきます。ザ・プレイリストはSpotifyという会社の創業物語を色々な視点で描いた作品です。今では日本でも認知度は高めかと思いますが、昔はそれほど日本では認知度は高くなかった、そんなスポティファイは社名であり、音楽のストリーミングサービスのアプリ名でもあります。

The Playlist | Official Trailer | Netflix

今では、当たり前になったストリーミングサービスですが、ドラマを観ると技術面や著作権問題なんかでは、かなり苦労されている印象を受けました。特にこのサービスが上手くいったのは技術者と著作権問題をクリア出来たことにあると思います。

そしてプログラマーが難問を解く姿勢には頭下がりますね、本当に偉いなと思った次第です。最後にはルールを作って問題解決をしたところなんて、本当に凄い。天才プログラマー無くしてこのサービスは成り立っていないと・・・。

因みに後には残しての感想なのですが、恐らく印象は変わらないかなと思います。

タグ

, 11, 13, 2022, Spotify, アプリ, かなり, クリア, こと, , サービス, シーズン, ストリーミング, スポティファイ, ところ, ドラマ, ネトフリ, , プレイ, プログラマー, リスト, ルール, , 会社, 作品, 創業, 印象, 問題, 夏日, 天才, 姿勢, 当たり前, 感想, 技術者, 技術面, 日曜日, 日本, , , 最後, 本当, 次第, 物語, 社名, 色々, 苦労, 著作権, 視点, 解決, 認知, 難問, 音楽, , 高知県,

データからページネーションが出来る。 #jscode

2022.11.10

Logging

おはようございます、昨日は朝が寒く昼間は暑い日でしたね😗。

さて、データからページネーションが出来るライブラリがある事を知りましたのでそちらの紹介と使い方です。今回、使用したのはPagination.jsというライブラリです。使い方は簡単、下記のようなデータがあった場合、このようなソースコードを書いて使用します😮。

[
  {
    "id": 1,
    "name": "白川 正人",
    "hiragana": "しらかわ まさと",
    "age": "45",
    "bday": "1977年04月10日"
  },
  {
    "id": 2,
    "name": "大村 麻衣子",
    "hiragana": "おおむら まいこ",
    "age": "42",
    "bday": "1979年12月11日"
  },
  {
    "id": 3,
    "name": "大原 静香",
    "hiragana": "おおはら しずか",
    "age": "53",
    "bday": "1969年06月20日"
  },
  {
    "id": 4,
    "name": "吉田 佐代子",
    "hiragana": "よしだ さよこ",
    "age": "40",
    "bday": "1982年05月24日"
  },
  {
    "id": 5,
    "name": "宮原 和弘",
    "hiragana": "みやはら かずひろ",
    "age": "22",
    "bday": "2000年04月29日"
  },
  {
    "id": 6,
    "name": "伊藤 二郎",
    "hiragana": "いとう じろう",
    "age": "27",
    "bday": "1995年02月18日"
  },
  {
    "id": 7,
    "name": "井上 明子",
    "hiragana": "いのうえ あきこ",
    "age": "55",
    "bday": "1967年06月26日"
  },
  {
    "id": 8,
    "name": "恩田 雄",
    "hiragana": "おんだ ゆう",
    "age": "37",
    "bday": "1985年09月25日"
  },
  {
    "id": 9,
    "name": "山崎 幸志",
    "hiragana": "やまざき こうじ",
    "age": "29",
    "bday": "1993年03月24日"
  }
]
        $.extend($.fn.pagination.defaults, {
            className: 'paginationjs-theme-blue',
            pageSize: 3
        });
        let url = "json data のurl";
        (async () => {
            await fetch(url).then((result) => result.json()).then(
                (data) => {
                    data.reverse();
                    $('#demo').pagination({
                        dataSource: data,
                        callback: function (data, pagination) {
                            var html = table_make(data);
                            document.querySelector("#tbl").innerHTML = html;
                        }
                    })
                }
            )
        })();

        function table_make(data) {
            return (data.map((element) => {
                let str = "";
                str += "<tr>";
                str += ((Object.keys(element).map(el => "<td>" + element[el] + "</td>")).join(""));
                str += "</tr>";
                return str;
            })).join("\n");
        }
            <div class="col-12" id="demo">
                <table class="table table-dark" id="tbl"></table>
            </div>

コードを抜粋して書きましたが、このコードを書く事とjsのライブラリとcssファイルもダウンロードするようにして下さいね🫠。

因みに自分はこのライブラリを初めて使用しましたが、結構使いやすいですね。今まで開発ではLaravelなんかのページネーションを使用していた事はありますが、フロント側で出来る事を知り驚きを隠せませんというのは大袈裟ですけど使い道は有るなって思います。

タグ

04, , 10, 1977, 2, 45, age, bday, hiragana, ID, JS, jscode, name, Pagination, qu, quot, コード, しらかわ, ソース, そちら, データ, ネーション, ページ, まさと, ライブラリ, 下記, , 今回, 使い方, 使用, 場合, , 昨日, 昼間, , 正人, 白川, 簡単, 紹介,

The Peripheral:接続された未来。 #アマプラ

2022.11.08

Logging

おはようございます、昨日の朝はなんだか寒かったですね🫠。

ペリフェラル -接続された未来のシーズン1の一話だけ観ました、一話だけなのでココから面白くなるかも知れませんが、ちょっとグロいシーンが一話の最後あたりにあったりして自分はこれからもこういうシーンが出てくるのかなと思い一話観ただけでお腹いっぱいになり観るのが止まっています。

The Peripheral Season 1 – Teaser Trailer | Prime Video
The Peripheral:接続された未来

ストーリーは面白いけど、結末は現実か仮想なのかが分からなくなって主人公が潰れてしまう気がします。もし自分が現実と仮想世界か見分けがつかないゲームにハマったら多分、一話目で潰れて人格が崩壊してしまいそうです😨。

でも、その内、そういう世界になるという事だけは確かな事です。脳にダイレクトに信号を送り仮想ゲームを楽しめるようになると・・・(何故、言い切れるかといえばこういう事が出来だしたからです「脳波から言葉を生成するAI「Brain-to-Text」 “声道”への指令を解読、言葉に変換」)。

そういう事への警鐘を鳴らす作品だと思います。

トイウコトデ、二話以降は時間の合間、合間に見ていこおうと思っています。

タグ

, AI, Brain, Peripheral, The, アマ, ゲーム, ココ, これ, シーズン, シーン, ストーリー, ダイレクト, プラ, ペリフェラル, , 世界, 主人公, , 人格, 仮想, 信号, , 崩壊, 接続, 昨日, 最後, , 未来, , 現実, 生成, 結末, , 脳波, 腹いっぱい, 自分, 言葉,

htmlとcssとjavascript-初学フロント側-No.1#code

2022.11.07

Logging

おはようございます。今年もあと2ヶ月もないわけですよね早いものですね😮

htmlとcssとjavascript-初学フロント側-No.1という動画をYOUTUBEにUPしたのが昨日の9時のこと。これで理解出来るか、どうか分からない。解説もない教えもない、唯コードを書いているところを見せてるだけです。ソースコードは下記のサイトから参照できますが、次の動画作成のためにデザインや処理が変わっていたり、動作しなくなってたりするので注意が必要です。

https://358tool.com/sample-site/

自分はHtmlやcssはあまり覚えていないのですが、分かるのはそれなりに基本ベースがあるからだと思ってます。今からHtmlやcssを学ぶ人は全部を覚えようとはせずに、手を動かしてコードを書くことから始めて下さい。そのうち基本ベースは身につくことになると思います。

因みに自分が書いているclassの名前付けなどの書き方は駄目な書き方ですので、そういう所、お仕事として書く場合は会社によってキマりなんかが有りますので、そういう事まで知りたい人はこちらの動画を参照ください。

https://www.youtube.com/watch?v=pDhmhB1qI-0

タグ

, 2, 358, , cl, Code, com, css, html, https, javascript, no, sample-site, tool, UP, youtube, うち, コード, こと, これ, サイト, ソース, それなり, ため, デザイン, ところ, フロント, ベース, もの, 下記, , , 今年, 作成, 全部, 処理, 初学, 動作, 動画, 参照, 基本, 必要, , 昨日, , 注意, 理解, 自分, 解説, ,

staticかdynamicか、php-fpmの話。#php #apache

2022.11.01

Logging

おはようございます、メモリが肥大化して落ちました🤮。

先週の朝、メモリが肥大化して落ちてしまいました。今まではphp-fpmを1時間置きに再起動していましたが、それを変更した途端。メモリを食ってしまい落ちたわけです。

php-fpmの対応はこちらのサイトを参考にしました、尚、対応方法はそちらの記事を参照ください。その記事を読んでいて思ったことはやはりサーバーを増強したいということです。

でもVPSレンタルサーバーはサクサク表示させるには、結構お金がかかってしまいます、だったら固定IPを引いて自宅サーバーで運用した方が良いのかもしれないなってこの頃、思っています。

そうすればメモリはかなり詰めるし処理もそれなりに早くなります。恐らく瞬速で表示されるようになりますが、震災などが起きると忽ちダウンしてしまいますよね。

そう考えると・・・微妙ですね。

やはりVPSサーバーをもう一つ借りて調整するか、VPSサーバーと自宅サーバーを同期して運用するかだと…。

タグ

, Apache, dynamic, IP, php, php-fpm, static, VPS, お金, かなり, こちら, こと, サーバー, サイト, そちら, それ, それなり, ダウン, はり, メモリ, もう一つ, レンタル, わけ, , 先週, 再起動, 処理, 参照, 参考, 固定, 増強, 変更, 対応, 微妙, , 方法, , 瞬速, 自宅, 表示, 記事, , 途端, 運用, 震災, ,

あのサイトをリニューアルしました。👏、やっとのことで。 #renew #site #よさこい祭り

2022.09.25

Logging

おはようございます、昼間は暑い日もありますが夜は涼しくなりましたね😄。

今日は昨日、一日かけてよさこい祭り動画検索サイトをリニューアルしました。ソースコード(プログラム)も1からやり直しています。表示するのに結構時間がかかっていた部分は瞬時に表示されるように調整しました。

https://yosakoi-video.com/

以前は検索結果が全て表示されるような仕様でしたが、ページに分割して表示されるように変更しました。また、検索ワードを入力すると検索結果(チーム名)が表示される様に変更しました。チーム名を押すとページへ遷移するようになっています。以前より直感的に操作出来る形になったかと思います。

尚、このサイトを作るにあってYOUTUBEのAPIを使用しているのですが、リアルタイムに動画を検索している訳では無くデータで押さえています。そのデータに関しては数ヶ月置きに更新するように致します。何故、データで押さえている理由はAPIの問い合わせに上限があり、その上限数を超える検索結果が返って来なくなる為です。この上限は申請を行えばある程度増やしてくれるそうですが、それでも上限数量を超えると表示されなくなるというデメリットがあるので、データで押さえています😌。

トイウコトデ、よさこい祭り動画検索サイトよろしくお願いします。

タグ

, API, com, https, renew, site, yosakoi-video, youtube, コード, サイト, ソース, チーム, データ, プログラム, ページ, よさこい祭り, リアルタイム, リニューアル, ワード, , 今日, 仕様, 以前, 使用, 入力, 全て, 分割, 動画, 変更, , , 操作, , , 昨日, 昼間, 時間, 検索, 瞬時, 結果, 表示, , 調整, 遷移, 部分,

ハローワークの求人番号からバーコード生成印刷。#php #WEBサービス

2022.09.23

Logging

おはようございます、今日は三連休の始まりだそうですね🤔。

本日はハローワークの求人番号からバーコード生成&印刷できるWEBサービスを制作したので、そのお知らせ話になります。何故、このようなWEBサービスを作ったのかというと1つ目の理由は無かったから、そして何より自分が欲しかったからに他ならないという理由です。

https://358tool.com/

プログラムの話になりますがバーコードを生成する部分はライブラリを使用していますのでデータだけ渡せば画像データ作ってくれます、そんな訳で開発には時間はかからなかったのですが!。ハローワークが使用しているバーコード形式が何なのかという事を探すのに若干、時間を使いましたが開発自体は数分レベルです🫠。

このWEBサービスは無償で且つ広告などは今のところ掲載していません。このサービスだけは今後も広告無しで運営していくつもりです。尚、358tool.comでは今後もいろいろなツールを提供していきます。起動に乗ったサービスは新たにドメイン取得して運用するスタンスで運営していきます。

話し戻しまして、自分がこのサービスが欲しかった理由はハローワークサイトで求人を探し、その番号をメモして公共職業安定所に出向き、安定所のPC端末から求人票を印刷するのが面倒くさく感じた為、この無駄な作業をひと手間無くそうと思って今回の制作に至りました。

求人番号コピペしてWEBサービスに貼り付けるとバーコードが生成されるので便利。そしてそのページを印刷し職業安定所の人に渡すと職業安定所の人もわざわざ入力する必要もないのでWINWINな関係ですwww。

🙆https://358tool.com/hellowork/

どうぞ、求職中の人はお使いくださいませ。
シェアやRT宜しくお願い致します🙇

タグ

, 358, com, php, tool, web, いろいろ, お知らせ, サービス, ツール, つもり, データ, ところ, バーコード, ハローワーク, プログラム, ライブラリ, レベル, 三連, , , 今後, 今日, , , 使用, 制作, 印刷, 広告, 形式, 掲載, 提供, 数分, 時間, 本日, 求人, 無償, 理由, 生成, 画像, 番号, 自体, 自分, 若干, , , 運営, 部分, 開発,

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

2022.09.08

Logging

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

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

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

Githubのリンクはこちら

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

https://twitter.com/taoka_toshiaki/status/1567489169919975424
有言実行

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

submit(サブミット):送信させない4つの方法です🙄。#javascript #サブミットキャンセル

2022.09.07

Logging

おはようございます、台風一過が去りましたね😌。

さて、今日はsubmit(サブミット):送信させない4つの方法を記載します、方法は大きく分けて2つの方法があり、それを細分化して4つの方法になります。まず、一番目は“送信する際(form側)”にてキャンセルする方法です。この場合、addEventListener(アッドイベントリスナー)でキャンセル処理する場合とonsubmitを使用してキャンセルする方法があります。

サンプルコード例1と例3にあたるコードが上記のコードになります。

次に”ボタンをクリック”した際にサブミット(送信)処理をキャンセルする方法です、この方法でも送信を阻止する事ができます。

サンプルコード例2と例4にあたります、自分としてはフォームで処理した方が良いかなと思いますが、こちらでも送信をキャンセルする事ができます。

尚、ソースコードは下記になります。また、参考にしたサイトのリンクを貼っときます。MDNのリンクです。

    <form id="frm" method="post" action="./example/">
        <input type="hidden" name="example" value="data">
        <button type="submit" class="btn btn-primary">Submit1</button>
    </form>
    <form method="post" action="./example/">
        <input type="hidden" name="example" value="data">
        <button id="btn" type="submit" class="btn btn-primary">Submit2</button>
    </form>    
    <form method="post" action="./example/" onsubmit="return func1()" >
        <input type="hidden" name="example" value="data">
        <button type="submit" class="btn btn-primary">Submit3</button>
    </form>
    <form method="post" action="./example/"  >
        <input type="hidden" name="example" value="data">
        <button type="submit" class="btn btn-primary" onclick="return func2()" >Submit4</button>
    </form>
//例1
document.getElementById("frm").addEventListener("submit",function(event){
    event.preventDefault();
});
//例2
document.getElementById("btn").addEventListener("click",function(event){
    event.preventDefault();
    event.stopPropagation();//インターフェイスのメソッドで、キャプチャおよびバブリング段階において現在のイベントのさらなる伝播を阻止します。 
});
//例3
function func1(){
    return false;
}
//例4
function func2(){
    return false;
}

タグ

, 2, , 4, addEventListener, Form, javascript, onsubmit, submit, アッド, イベント, キャンセル, クリック, コード, こちら, サブミット, サンプル, それ, フォーム, ボタン, リスナー, , 上記, , 今日, 使用, , , 処理, 台風一過, 場合, , 方法, , 細分化, 自分, 記載, 送信, 阻止, ,

いろいろ問題のあるテスラだけど凄いなと思う😶。

2022.08.28

Logging

こんにちは、秋模様ですね、今日は一日こんな天気だと良いですけど昼から気温が上がりそうですね。

さて、いろいろ問題のあるテスラだけども自動運転技術はほぼ完全自動運転になりつつある。

Flying Through Giga Berlin
ワンショット

またテスラの生産ラインもかなりオートメーション化が進んでいる模様です、このまま、自動化が進むと本当に人は何もしなくて良くなる時代が来るのかもしれない。それが良いことかどうかは分からないですけど、100年後に自発的に仕事をしたいと言うと変わってますね、なんて言われるかも知れません。

そんな感じで恐らく今世紀中には自動化により殆どの事がAIやロボットに取って変わることになると思います。

タグ

, 100, 4, 7, AI, CnXE, com, https, watch, www, youtube, yOx, いろいろ, オートメーション, かなり, こと, このまま, それ, テスラ, ライン, ロボット, ワンショット, , , , 今世, 今日, 仕事, , 問題, 天気, 完全, 感じ, 技術, , 時代, 本当, 模様, 殆ど, 気温, 生産, , 紀中, 自動, 運転,

最高権限でも削除できないファイルが有る?

2022.08.18

Logging

おはようございます。今日は生憎の雨☔ですね。

さて、先日の事ですがBluetoothが使用できなくなって悪戦苦闘のすえ、何とか復旧した話を記載します。最初はWindowsの設定画面にBluetoothがオフになっていますという文言が表示されていました。差し込んでいるのにも関わらず、このような文言が表示されていたのでデバイスマネージャーで確認するとなにやらエラーが出ていてデバイスが強制終了している模様でした。

ドライバーを削除して再度入れ直したら、上手く動作するだろうと思っていたのですが何度繰り返しても全然駄目。そんな回復しない状態が1時間続きました。これでは埒が明かないので考えを切り替えドライバーの原因ではなく、恐らくWindows側の問題だと思いレジストリを調べました。

これが結果的に正解でした。途中レジストリが削除出来ない問題などに直面しながら最終的に使用できるようになったのです。ここで一つ勉強になったのがアドミニストレータでも削除が出来ないレジストリがあるという事です。恐らくセキュリティの観点からマイクロソフトがそういう設定をしているのだと思いますが、これが結構厄介だなと感じました。

因みにWindows10、11はバグがありブルートゥースと接続した機器が削除出来ないという不具合があるのです。今回、それが間接的に悪さをしていたのですが直接原因はオフとオンのフラグが反転していたのが問題でそちらを修正して再起動をかけると認識したという結果になります。

今回の事象は特殊なので対応はご自身でググりながら解決をお願い致します。尚、レジストリを変更したり削除したりするとWindowsが動かなくなる恐れがあるので、素人にはオススメしません。

タグ

, bluetooth, Windows, アドミ, エラー, オブ, ここ, これ, デバイス, ドライバー, ファイル, マネージャー, レジストリ, 一つ, , 今日, 何度, 使用, , 先日, 再度, 削除, 勉強, 動作, 原因, 問題, 回復, , 強制, 復旧, 悪戦苦闘, 文言, 最初, 最高, 模様, 権限, 正解, 状態, 生憎, 画面, 直面, 確認, 終了, 表示, 記載, 設定, , 途中, , 駄目,

ドキュメンタリー・The Future Ofをネトフリで。

2022.08.03

Logging

こんばんは、今日は昨日の夕方に書いた記事をUPします。今頃、自分は寝ているはずです…😴。

昨日のウォーキングでThe Future Of(ざ・ふぃーちゃーおぶ)のシーズン1を全話Netflixで視聴しましたので、感想を残していきます。最初の一話目は犬だったのでどうだろうと思いつつ観て二話三話と観ていきました(一日一日と一時間ぐらい)。遠い未来と近い将来(未来)の話が一話事にあります。

The Future Of | Official Trailer | Netflix

近い未来、そうなるだろうなと言う所と「いやいやまだ早いでしょ」って言う話もありつつなんですが、最終話近くの話は現実に起こりそうだなと思えるものやそうなって欲しいなという話などもありましたね。ドキュメンタリーなので問題提起もしていたので其処ら辺も良いじゃないかなって。

まとめ、科学好きな青年あたりが観ると良いような話かなと思います。また少年などかな、大人が観ると少し物足りなさを感じます。もっとがっつり難しく作ってくれたほうが自分としては良かったかなと思いますが、知らない技術も知りましたからそういう面では良かったです。

タグ

, Future, Netflix, of, The, UP, ウォーキング, オブ, シーズン, ちゃー, ドキュメンタリー, ネトフリ, パス, ふい, もの, , , , , 今日, 今頃, , 全話, 其処ら, 問題, 夕方, 大人, 将来, 少し, 少年, 感想, , 提起, 昨日, 最初, 最終話, 未来, , 現実, 科学, 自分, 視聴, 記事, , , 青年,

YOUTUBEは娯楽にも使用できるが教養にも使える。

2022.07.25

Logging

おはようございます、モバイルの通信量が1G切りました。あと800メガです、、。

さて、この頃思っているのはYOUTUBEやSNSは学びにも使えるだという事です。例えばSNSで海外のユーザーさんをフォローすれば海外の英語を生で勉強できるようになりますし、そこからそのユーザーに質問もできたり仲良くすることも出来ます。これから先、英語を学ぶだけではなく実践で使用できなければならないと思います。自分は全然というほど英語ができないのですが、それでも英語が出来れば世界が広がるなって思っています。

Disruptive Evolution in Monetary Policy: Prosperity, Bubbles, and Inflation

英語の学びは散々というほど失敗した自分ですが最近わかった事があります。自分は実践で覚えていくほうが身につくなって事です、この考えはほとんどの人が当てはまると思います、日本にいると英語を喋る機会もなく、英語を見る機会もないと思います。その機会を得ることが出来るのは、今では身近になったインターネットだと感じます。そのインターネットを駆使すれば教育費用は無料で行えます。

まずは自分のレベルを客観的にみて、例えば自分の英語の知識がゼロに等しいと思えばいきなり高校や大学の英語から始めるのではなく、小学生の英語からはじめるという事が大事です。それが身についていなくて英語を勉強していると挫折してしまいます。

これはどんな分野でも同じだと思いますが基礎なくして応用なしだと。

因みに海外にいけば三歳児でも英語を話しています。そういう場面を見ると英語を身につけることが出来ないのは接する機会が少ないだけだからだと思います。一日一回、YOUTUBEで英語の動画を見るでも良いので、はじめの一歩を行うことが大事です。

淡々、記事を書いてきましたがこれら全て自分自身に宛てた記事です😌。

学ぶ人は変えてゆく人だより」

タグ

, 800, SNS, youtube, インターネット, こと, これ, そこ, フォロー, ほとんど, モバイル, ユーザー, 世界, , , , 使用, , 勉強, 失敗, 娯楽, 実践, 教養, 散々, 日本, 最近, 機会, 海外, , 自分, 英語, 質問, , 身近, 通信, , ,

北斎展 師とその弟子たちを見てきましたよ。in 高知県立美術館

2022.07.23

Logging

おはようございます。昨日、北斎展 師とその弟子たちを高知県立美術館で見てきました。

葛飾北斎は繊細と躍動感を兼ね備えた絵だということ、センスは半端ないな。一つ惜しい所は絵の為に照明を落としていたことです。照明を落とすのは仕方がない事だと思うけど、絵に照明の色が反映しているなって感じで色合いが少しオレンジ色ぽっく見えてしまっている絵が多数ありました。

そこが少し残念でしたけど1,200円で本物を見えて写真に納める事が出来たのはお得感があります。行ってよかったです、今度は伊藤若冲の絵を京都か東京で見たいなって思っています。

タグ

, 200, in, オレンジ, お得感, こと, センス, そこ, 一つ, , 京都, 今度, 伊藤若冲, 写真, 北斎, 半端, 反映, 多数, 少し, , 弟子, 感じ, , 昨日, 本物, 東京, 残念, , 照明, 県立, , 繊細, 美術館, , 色合い, 葛飾北斎, 躍動感, 高知,

あの噂のパン屋さんへ行ってきました。小麦の○☓。

2022.07.20

Logging

こんにちは、今日は先日の雨の中、あの噂のパン屋さんへ行ってきたのでレビューします。辛口コメントです😌。

先日、小麦の奴隷というホリエモンプロデュースのパン屋さんへ行ってきました。このパン屋さんは奇抜なカレーパンが美味しいという事で有名です!!なので、自分もカレーパンと数点のパンを購入しました。味の方は食べてみてください、多くは食べれないけど自分はカレーパン好きですね。

尚、小麦の奴隷 高知瀬戸店の場所は高知県高知市瀬戸1丁目4-21サンパティオビル1Fにあります。
AM10:00~PM17:00まで(完売次第終了)
※定休日は水曜日です。

追伸:なぜ、帯屋町に店を出店しなかったのだろう、絶対そちらの方が話題になってたと思うのに!?

タグ

00, , 10, 17, 21, 4, AM, PM, カレー, コメント, サン, そちら, パティオ, パン, ビル, プロデュース, ホリエモン, レビュー, , , 今日, 先日, 出店, , , 場所, 多く, 奴隷, 完売, 定休日, 小麦, 帯屋町, , , , 有名, 次第, 水曜日, 瀬戸, 終了, 自分, 話題, 購入, 辛口, 追伸, , 高知, 高知市, 高知県,

映画、キングダム2遙かなる大地へを観ましたよ。

2022.07.15

Logging

映画、キングダム2遙かなる大地へを観ましたよ。漫画、キングダムを観ていると結構、再現性が強いのかなって思うだけども、どうも自分は合わない気がします。でも映画としては成立していたと思いますし、そして何より日本でもこういうエンタメ映画が作れるようになったのは、凄いことだよなってヒシヒシと感じます。

映画『キングダム2 遥かなる大地へ』予告②90秒【2022年7月15日(金)公開】

日本がこういうエンタメ作品を作れるようになった今、映画の本場のアメリカではVFXが現実と区別が付かないぐらいレベルアップしていて、そろそろ人が演技しなくても良い時代になりつつあります。

まとめ。映画、キングダムの実写版は1と2ともよく出来ていると思います、このキングダムという世界観が受け入れるかどうかで実写版キングダムの評価が変わっていきそうですね。

キングダム3も観に行こうと思ってます◎。

タグ

, 2, , VFX, アップ, アメリカ, エンタメ, キングダム, こと, まとめ, レベル, 世界観, , , 作品, 再現性, 区別, 大地, 実写, 成立, 日本, 映画, 時代, 本場, , 演技, 漫画, 現実, 自分, , 評価,

映画、キングダム2 遥かなる大地へ:実写化された映画の続編おそらく三部作?

2022.07.01

Logging

おはようございます。土曜日は局地的に大雨が30分ほど振りましたよね。

さて、7月15日から一般上映されるキングダム2ですが実写キングダム1は映画館で観てきています。でっ今回、キングダム2が上映されることになっています。

映画『キングダム2 遥かなる大地へ』TVCM【不撓不屈篇】<7月15日(金)公開>

そこで自分から警告メッセージを書くとするのなら、まずは実写映画化されたキングダム1を観てからキングダム2を観るか否かを判断したほうが良いです。これが受け入れられない人はキングダム2は観ない方が良さげです。

それなりにHITするとは思うのだけどやはりCG映像には未だにアメリカと日本とでは技術に差がある感じです、なのでいくら作品が良くても気になってしまいます。今のところ自分はどちらかと言えば観に行こうとは、あまり考えていませんが機会があれば見に行くかもぐらいです。

タグ

, 15, 2, 30, 7, Cg, HIT, アメリカ, キングダム, こと, これ, そこ, それなり, ところ, どちらか, メッセージ, 一般, 三部作, 上映, , , 今回, 作品, 判断, , 土曜日, 大地, 大雨, 実写, , 感じ, 技術, , 日本, 映像, 映画, 映画館, 未だ, 機会, , 続編, 自分, , 警告,

AWSの本とデザイン系の本を読んだので。

2022.06.21

Logging

おはようございます。今週は雨が多いみたいですね。

さて先週、AWSの仕組みとサービスがたった1日でよくわかる本を読みました、パラパラと電子書籍リーダーで読みましたが、アレですね、、全然使いこなせてないなって感じたのですが機能を使用するとその分、使用料金が発生するので今のところは今の機能だけで十分かなって感じています。サービス内容や仕組みはとても理解しやすい感じがしましたが、IT素人にはあまり向いていないじゃないかなっていう感じがしましたので、ある程度、ITリテラシーが必要とされます。

次に読んだのが動くWEBデザインアイディア帳ですが、これは自分にはあまり必要なかった感が強い本です。どちらかと言えば駆け出しのWEBエンジニアが読んで置くと、商談時に実装できる出来ないの判断材料になります。自分の場合、駆け出しエンジニアでは無いので大体のことは出来ますで返答しています。特に実装しているシステム変更は大体のことは出来るですけどたまに、レンタルサーバーでは出来ないことも出てきますので、そういう注意は必要です。また、この本の後半あたり?から、実装の仕方も書かれていたりするので駆け出しのWEBエンジニアには結構良い本だと思います。

タグ

, AWS, IT, web, アイディア, アレ, エンジニア, こと, これ, サービス, システム, デザイン, ところ, どちらか, パラパラ, リーダー, リテラシー, , 今週, 使用, 先週, 内容, , 判断, 商談, 場合, 変更, 大体, 実装, , 必要, , 感じ, 料金, 書籍, , 材料, 機能, 理解, 発生, 素人, 自分, 返答, , 電子, 駆け出し,

日本でもテスラのモデルYが発売されるそうです。お値段はなんと!!

2022.06.13

Logging

おはようございます。梅雨梅雨…☔。

日本でもテスラのモデルYが発売されるそうです。価格は619万円からだそうです、オプションで自動運転機能が付けれるそうですが日本ではその機能は殆どは使えないらしい?、そもそも日本はまだ自動運転の走行させて良い地域が少ないし、価格も庶民的とはまだ言えないので自分は今回の買い替えは見送りします。

Model Y Deliveries Begin!

尚、自分は自動運転車が街中で走り回るような時代になると思っていて、そうなると通勤が大変楽になると感じます。朝の通勤って渋滞込みで計算した場合、田舎などでは1時間ぐらいは通勤時間に消費するわけです。この運転を自動運転車が変わってくれれば、通勤時間にも隙間時間が発生するので、凄く喜ばしいことだと思います。ただ・・・その頃にはゆーるFIRE(Financial Independence, Retire Early movement:早期リタイア)しているかもしれませんが・・・。

タグ

, 619, Early, Financial, FIRE, Independence, movement, Retire, オプション, こと, テスラ, モデル, ユー, リタイア, , 今回, 価格, 値段, 地域, 場合, 日本, 早期, 時代, 時間, , 梅雨, 機能, 殆ど, 消費, 渋滞, 田舎, 発売, 発生, 自分, 自動, 街中, 計算, 走行, 通勤, 運転, 隙間, ,

千年女優という映画を倍速モードで観ました。つま・・・なかった。

2022.06.10

Logging

おはようございます。PGフリーランスの案件は結構高額が多い訳はお国が20%ピンハネするからです?

課税される所得金額税率控除額
195万円以下5%0円
195万円超330万円以下10%97,500円
330万円超695万円以下20%42万7,500円
695万円超900万円以下23%63万6,000円
900万円超1,800万円以下33%153万6,000円
1,800万円超4,000万円以下40%279万6,000円
4,000万円超45%479万6,000円

先日、千年女優という映画が面白いという評判をRSSで目にしてNetflixで見てみたのですが、あまりにも昭和レトロなアニメで途中から倍速モードというか飛ばし飛ばし観ました。

千年女優 特報

結局のところ、面白いと思わなかったです🙇、因みに「トップガン」の最新作を観て全然面白いと感じなかったので普通の人の感性と少しずれがあるのかもしれないです🤔。

これを観るだったら「パプリカ」をオススメします。あちらの方が断然、前衛的(アバンギャルド)だったと思います、因みに監督は千年女優と同じ監督(今 敏)さんだったと思います。

タグ

0, 000, , 10, 153, 195, 20, 23, 279, 33, 330, 4, 40, 42, 45, 479, 5, 500, 6, 63, 695, 7, 800, 900, 97, Netflix, PG, RSS, アニメ, これ, つま, ところ, トップガン, ピンはね, フリー, モード, ランス, レトロ, , , 倍速, 先日, , , 女優, 少し, 感性, 所得, 控除, 映画, 昭和, 普通, 最新作, 案件, , 税率, 結局, , 評判, 課税, 途中, 金額, 高額,

banvoxさんの曲をよく聞いていたなぁ。字余り。

2022.06.03

Logging

おはようございます。そろそろ転職しまっせ?ってみんな思っているのかなぁ🤔。

数年前はbanvoxさんの曲をよく聞いて特にSummer(サマー)という曲は好きです、YOUTUBEミュージックのbanvoxさん曲再生ランキングでも上位に表示されているので、人気があるみたいです。

banvox – Summer [Official Music Video]

banvoxさんのこの頃活動はミュージシャンに曲を提供してたりしています。因みに本人のアカウントのYOUTUBEチャンネルではあんまり更新されていない感じです。あとこの人の凄いところはサウンドクラウドで音楽を無料で提供しているところにあります。

無料でも提供しているし、音源を購入することもできます。自分はYOUTUBEミュージックを通して聴いてたりするので、一応、クリエイターに微々たるお金を支払っていたりします。なお、音楽一再生の単価は1円ではなく0.05円とかそんな単位だとか・・・。

この頃はレベール会社を通さず、曲を販売するクリエイターが増えているのもわかる気がします。逆にメジャーになる理由もあまりないのかも知れませんね。

タグ

0.05, , banvox, Summer, youtube, アカウント, お金, , クラウド, クリエイター, こと, サウンド, サマー, チャンネル, ところ, ミュージシャン, ミュージック, みんな, ランキング, レベール, , 上位, , 人気, 再生, 単位, 単価, 字余り, 感じ, 提供, , , 更新, 本人, 活動, 無料, 自分, 表示, 販売, 購入, 転職, 音楽, 音源, ,

今、欲しいもの3つ。誰かください??

2022.05.25

Logging

おはようございます。労働者は時間の切り売りをしているみたいですね🤔。

今日のお題は「今、欲しいもの3つ。誰かください??」です。さて、自分が欲しいものはベスト3から発表します。まず、新型iPhoneですね~。そろそろ買い替えたいですが今のところ、我慢しています。

次にベスト2、35型ぐらいのディスプレイです、今まで4画面のディスプレイにしていましたが35型のディスプレイ(一画面)に通うと思っています。お値段は3万~4万円ぐらいしますが、変え替えたいと思っています。

最後にベスト1、今一番欲しい物は、お金では変えない時間だったりしますね。どんな仕事とでもそうですが雇われている時点で時間の切り売りをしている訳で、その時間、あなたの人生の大切な時間を切り売りしているわけです。時間は有限でいつ死ぬかなんて分からないです。そんなタイムリミットの分かっていない時間の切り売りをしているわけです。なので、そんな時間が欲しいです、あのドラゴンボールで出てきた精神と時の部屋が欲しいですね。

タグ

, 2, , 35, 4, iPhone, あなた, いつ, お金, そうです, タイム, ディスプレイ, ところ, ドラゴンボール, ベスト, もの, リミット, 一画面, , 人生, , 今日, 仕事, 値段, 切り売り, 労働者, 大切, 我慢, 新型, 時点, 時間, 最後, 有限, , 画面, 発表, 自分, , , ,

JSのPromiseとawaitってこういう事なんだよね。理解した!!( ・ิω・ิ)

2022.04.29

Logging

おはよう御座います。

この頃、JSを使う機会が増えてきています。巷ではReact.jsなどやVue.jsなんかが人気ですよね。またnext.jsなんかも出来れば転職活動に有利です。でもそんなフレームワークを勉強するまえにJavaScriptの基礎が出来ていないといけないと思っています。ネイティブでゴリゴリ書ける人であれば、何処へ行ってもやってけると思っています。

"use strict";
const main = (a,b,c)=>{
    return new Promise ((resolve)=>{
        console.log(a,b,c);
        b++;
        resolve({a:a,b:b,c:c}); 
    });
}
(async()=>{
    await main("A1",1,"C1").then((val)=>main(val.a,val.b,val.c)).then((val)=>main(val.a,val.b,val.c)).then((val)=>main(val.a,val.b,val.c));
    // main("A1",1,"C1").then((val)=>main(val.a,val.b,val.c)).then((val)=>main(val.a,val.b,val.c)).then((val)=>main(val.a,val.b,val.c));
    console.log("fin");
})();

Promiseとawaitとかの使い方はこんな感じです😀、このコードでは重たい処理を書いているわけではないけど、非同期通信処理チェーンで繋ぐとどんな所で使えば良いのか分かるかなって思います。要するに順番に非同期通信処理をしたい時に役に立ちます。このソースコードの場合、awaitしなくても良いですがね・・・。awaitを付けると処理後に次のコードが処理されます。付けない場合は同時並行的に処理されます。

デモ動画

サンプルコードはこちらから閲覧ください(検証)ませ!!

タグ

, async, await, console, const, gt, javascript, JS, log, main, new, NEXT, Promise, quo, quot, react, resolve, return, strict, use, vue, なん, なんか, ネイティブ, フレームワーク, まえ, , , 人気, 何処, 勉強, 基礎, , 有利, 機会, 活動, 理解, 転職, ,

コロナワクチン接種、3回目モデルナワクチンを打って思うこと。

2022.04.28

Logging

おはよう御座います。

先日、モデルナワクチンを打ってきました、ブースター接種になります。1回目、2回目はファイザー製を打ち、3回目にモデルナワクチンを打ちました。打った直後はどうもなかったのですが、その日の夜中から翌日の4時ぐらいまで発熱と倦怠感があり散々でした😭。

コロナワクチンってコロナウィルスを弱毒化したものを接種しているわけですが、弱毒化してこれかよと思うとコロナに感染したらかなり辛いものになりそうな気がします。そんな訳なので健康な人は必ずワクチン接種した方が良いです。副作用もあるかもしれないけれど、それに当たる確率は限り低いと思いますので、若い世代も接種するべきだと感じますね。

翌日は熱冷ましの薬を飲んだのですが、飲んでいても倦怠感は残りました。

次の日はしれっと仕事にカムバックしましたが、若干、何時もより疲れを感じましたね😌。

タグ

, 2, , 4, ウィルス, かなり, カムバック, クチン, こと, これ, コロナ, しれっと, それ, ナワ, ブースター, ファイザー, モデル, もの, ワクチン, 世代, , 仕事, 何時も, 倦怠感, 健康, 先日, 副作用, 夜中, 弱毒, 感染, 接種, 散々, , , , , 熱冷まし, 発熱, 直後, 確率, 翌日, 若干, , ,