🏠️Top Page

🖊️おもしろき こともなき世をおもしろく 住みなすものは 心なりけり.

⏩️#ズブズブ沼の音声ログ.上手に話せればな世界が変わるのか?

おはようございます.#ズブズブ沼の音声ログを収録しました.上手に話せればな世界が変わるのか?分からないけれども、話すのが下手で損していることはあるかなって思っています.逆も然りですけどね、自分の目標は平均的なお喋りが出来ればそれで充分です.

自分の直さないといけない課題は言葉が前へ出ていないということで、おそらく殆どの人にとっては聞き取りにくい声なんだろうなって.

こういう声質だから、弱弱しく感じる人もいるかもですね.どうすれば元気がある声になるのか、人に通る声になるのかなど課題は山積みですが、何とか一年ぐらい続けたら自分が言いたい言葉を瞬時に話せるかもしれないなって.あと吃りがあるので言葉を選びながら喋る癖があるのでそこも直したいかもですね.

因みに今の自分のスピーチ評価は0点です.

明日へ続く.

⏩️生成AIの方が自分のお喋りよりも良い所まで来ている(笑

おはようございます.生成AIの方が自分のお喋りよりも良い所まで来ている(笑)、そもそも自分は自分語りが下手過ぎるぐらい下手です.逆に質問に対して答えるということにはある程度答えられるのですが、自分語りが下手過ぎて練習しても人並み以上に話せるかどうかわからないぐらい下手くそ.

その下手くそを克服するために、いま考えているのが声だけで顔出しせずにYOUTUBEで自分で思っていることを話してみようかなって思っています.最初はブログの記事を声出しで読むことから始めてみたいなって思います.

一年ぐらい毎日スピーチすれば、どのぐらい成長するのか試してみたいです.尚、過去の語りがあまりにもズブズブ沼だったら削除していきます.

トイウコトデ、そのうちYOUTUBEにUPしていこうと思っています、UPしていく様になれば告知します.

明日へ続く.

⏩️よさこい2024年の出場チーム一覧をJsonで公開しました.

おはようございます.高知の夏と言えばよさこいだと思います、そう思っているのは高知県民だけかもしれません.そんなよさこい高知の出場チーム一覧をJsonファイルで作りましたので、おすそ分けします😌.

高知県民、未だにPDFや画像でweb公開しているサイトが多い中、高知新聞さんがテキスト形式で公開していたのでデータだけ抽出してJson形式に加工しました.抽出コードはこんな感じの単純なものです.またJsonデータは出場する時間帯などは無い感じです.チーム名だけが得られるJsonファイルになっています.
https://yosakoi-video.com/js/yosakoi2024.json

copy([...document.querySelectorAll('a')].map(elm=>{
    let t ='';
    if(elm.innerText.match(/(/)){
        t = elm.innerText;
    }
    return t + "\n";
}).join(''));

広報活動になりますが、よさこい動画検索という鳴かず飛ばずのサイトを運営しています.なかなか、検索にもヒットしないので、直リンクから訪問頂けたら幸いです.

https://yosakoi-video.com

明日へ続く.

⏩️【#askfm】askfmをまた答えるようにしてみます.

おはようございます.askfmをまた少し見て答えるようにしてみます.ちなみにASKfm(アスク・エフエム)とは、2010年に設立された利用者同士が質問や回答ができる、世界最大級のQ&Aサイトです。150カ国以上で利用可能で、特に欧米では10代の若者を中心に人気が高く、毎日20万人の新規ユーザーが登録しています.

日本では質問箱などやその派生が流行っていますよね、流行っているというより定着している感じですが...自分はASKFmを最後に回答してから一年ぐらいか半年ぐらい休んでいましたが、先日、休んでいた期間の質問には、ある程度、回答致しました.

毎日、回答に答えている人とか本当に優しい人だなって思います.ASKfmに限らずですが匿名を使って誹謗中傷等を書く人もいる中、答えるというのは結構たいへんなことだと思います.

自分にも変なアカウントさんから質問を頂くことがありましたが、そういう人達からの質問には答えないようにしようと思います.ブロックはしませんが回答しないようにします.

因みに土日祝に回答していくつもりです.ご質問はこちらから.
https://ask.fm/zip358com

明日へ続く.

⏩️【#LINE友達追加で】最新記事のお知らせが届くように対応.

おはようございます.LINE友達追加で最新記事のお知らせが届くように対応しました.お友達追加はこちらからです👈️.PHPコードで昔作ったものを修正したモノが裏で走っています.

実際、稼働しているのですがお友達追加してくれている人は片手で数えれる人数です.LINEではあくまでもお知らせメール的なものなのでLINEで記事全文が読めるようにはなっていません.そういう事も出来るのですが、そうするとLINEで完結してしまうので...このような形で配信しています🙏.

前述の通り昔作ったものを復活させたものなので、LINEのwebhook処理は理解できるもののどうやって認証したかなどは忘れてしまったので、再開発したいと思っています.今度は機能を継ぎ足せるような形にしたいですね.再開発は8月を予定しています.

明日へ続く.

⏩️【PHP言語】はてなAPIを使用してURLをはてなブックマークに保存するコード

おはようございます、【PHP言語】はてなAPIを使用してURLをはてなブックマークに保存するコードを先日Qiitaに掲載しています.なお、使いたい方はギットハブからクローンしてお使い頂ければと思っています.

https://github.com/taoka3/hatenaApi

この記事は数日前にUPした記事と関係しています.こちらの記事が最新となります、この問題が解決方法を探るのに時間として8時間ぐらい「あーでもない、こーでもない」と試行錯誤して解にたどり着きました.

https://zip358.com/2024/07/03/%e3%80%90%e3%81%af%e3%81%a6%e3%81%aaapi%e8%aa%8d%e8%a8%bc%e3%80%91%e3%80%90%e4%b8%8d%e5%ae%8c%e5%85%a8%e3%81%aa%e3%82%b3%e3%83%bc%e3%83%89%e3%80%91%e3%81%93%e3%81%ae%e3%82%b3%e3%83%bc%e3%83%89.html

久しぶりに詰まったコードです.原理原則は理解していたのですが、先人の知恵も見つからず生成AIに聞いてもあまり良い答えが返ってこずでしたが、ソース・コードを書き直したらすんなりコードが実行出来たのでそういう事も大事なのかもなって.

明日へ続く.

⏩️【続けること】続けるという事は簡単で難しいみたい.マンパワー

おはようございます、続けるという事は簡単で難しいみたいです.例えばブログを書くことも毎日投稿出来る人は少ない気がします.毎日創作するということを続ければある一定以上の成果になるという事が分かってきました.

でもこれには続きがあって、人に認められるかとかそういうのは別話になります.絵や写真、動画作成のクオリティがある一定の力量に達しても認められるかどうかは縁次第な感じがします.縁というのは人との繋がりなわけです.どんなに良いものでも誰かの目に止まらないと花咲かないのです.

喋ることが不得意、人付き合いが不得意な人はSNSを上手く使って発信した方が良いです.そのうち誰かの目に止まることを期待しつつ淡々と続けることです.なお、目に止まらないで終わる可能性もあります.

ちなみに、この頃中学生のお小遣いぐらいの収入を毎月得れるようになってきました.これが毎月の引き落とし額を相殺してくれたら良いのになって思いながら淡々とこれからも記事を書いていきます.

明日へ続く.

⏩️【お知らせ】JavaScriptで背景色の変更が出来るようになりました.

おはようございます.【お知らせ】JavaScriptで背景色の変更が出来るようになりました.リロードしても画面の状態を維持するようになっています.因みにこれ、IPアドレスとかいうモノをこちらで取得して判断している訳ではありません.

ユーザーのブラウザの中の保存領域(のが多いw)にカラー色を保存するようになっています.なので、同ブラウザで見るとご自身が選択したカラー色で表示されるようになってます.要するに2015年?あたりから、各ブラウザにデータを保存出来る機能が追加されました.その機能をJS(javascript)言語で呼び出して使用できるようになっているのです.

このメリットはプライバシーが担保出来るということです.ユーザー側でデータを保持しているので消す事も可能ですし、どんなデータを保存しているのかもブラウザの検証項目のアプリケーション、ローカルストレージと進めば確認することが可能です.

因みにソース・コードはこちらです.


if(localStorage.getItem('zcolor')){
    document.body.style.backgroundColor = localStorage.getItem('zcolor');
}
if(document.querySelectorAll('#zcolors > .zcolor')){
    [...document.querySelectorAll('#zcolors > .zcolor')].forEach(elm=>{
        elm.addEventListener('click',(e)=>{
            let color = elm.getAttribute('data-zcolor');
            localStorage.setItem('zcolor',color);
            document.body.style.backgroundColor = color;
        });
    });
}

明日へ続く.

⏩️【映画】【アニメ映画】ルックバックを観ました.刺さる内容の

おはようございます.先日の休みに藤本タツキ先生のルックバックという漫画をアニメ映画化した映画を観に行きました.いやほんとこれ観た方が良い.心に刺さる映画です、とくに創作活動している人やしていた人にはめちゃ心に刺さるものがあります.

一番刺さる人は藤本タツキ先生のルックバックの漫画を見ていないひとが映画を観ると心揺さぶる映画になっていると思います.人によっては人生を大きく動かす映画になるだと思います.

観終わって、自分は改めて続けようと思いました好きが一番なんだよね.いやほんとそう思う.頑張れって言われているようで泣ける.そして全力肯定の映画だと思います.

最後に京アニのことを思うと言葉でないよなって.

明日へ続く.

⏩️【#はてなAPI認証】【#不完全なコード】このコードは機能しません.

おはようございます.久々にAPI認証で躓いています.この頃は躓いたことがなかったのですがはてなAPI認証で躓いております.エラー内容があまりにもアバウト過ぎて何処の項目でエラーになっているのかがわからない感じです.分かった方はコメント欄にコメント頂けたらと思っています.宜しくお願い致します.

oauthSignatureを作っているところでコケているぽっいと思っているのですが、それが正しいのかどうかも定かではないです.近日中にcurlから参考にしているような方法に変えてみようと思っています.

参考にしたサイトはQiitaの質問に記載していますので良かったら覗いてみてください.

<?php
ini_set('display_errors', 1);
require '../config/config.php';

class hatena
{
    public $oauthCallback = OAUTH_CALLBACK;
    public $oauthConsumerKey = OAUTH_CONSUMER_KEY;
    public $oauthConsumeSecret = OAUTH_CONSUMER_SECRET;
    public $oauthNonce = '';
    public $oauthSignature = null;
    public $oauthSignatureMethod = "HMAC-SHA1";
    public $oauthTimestamp = '';
    public $oauthVersion = "1.0";
    public $contentType = 'application/x-www-form-urlencoded';
    public $oauthParameters = [];

    public function oauthInitiate()
    {

        $url = 'https://www.hatena.com/oauth/initiate';
        $this->oauthNonce = uniqid();
        $this->oauthTimestamp = time();

        $this->oauthParameters = [
            'oauth_consumer_key' => rawurlencode($this->oauthConsumerKey),
            'oauth_nonce' => rawurlencode($this->oauthNonce),
            'oauth_signature_method' => rawurlencode($this->oauthSignatureMethod),
            'oauth_timestamp' => rawurlencode($this->oauthTimestamp),
        ];


        $params = [
            'scope' => 'read_public,write_public,read_private,write_private'
        ];

        $this->getSignature($url, 'POST', $params);
        $this->oauthParameters['oauth_signature'] = rawurlencode($this->oauthSignature);

        $ch = curl_init($url);

        $headers = [ //'.$this->oauthParameters['realm'].'
            'Authorization: OAuth realm="",oauth_callback="' .  rawurlencode($this->oauthCallback) . '",oauth_consumer_key="' . $this->oauthParameters['oauth_consumer_key'] . '",oauth_nonce="' . $this->oauthParameters['oauth_nonce'] . '",oauth_signature="' . $this->oauthParameters['oauth_signature'] . '",oauth_signature_method="' . $this->oauthParameters['oauth_signature_method'] . '",oauth_timestamp="' . $this->oauthParameters['oauth_timestamp'] . '",oauth_version="1.0"',
            'Content-Type: ' . $this->contentType,
            'Content-Length: ' . (string)strlen($this->contentType)
        ];


        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        $response = curl_exec($ch);
        if (curl_error($ch)) {
            echo 'Curl error: ' . curl_error($ch);
        }
        parse_str($response, $response_params);
        var_dump($response_params);
        curl_close($ch);

        return $this;
    }

    public function getSignature($url, $method = 'POST', $params = [], $oauthTokenSecret = '')
    {

        foreach($params as $key=>$value){
            $params[$key] = rawurlencode($value);
        }
        $hasBase = http_build_query($this->oauthsort(array_merge($this->oauthParameters, $params)), '', '&', PHP_QUERY_RFC3986);

        $signingKey = implode('&', [rawurlencode($this->oauthConsumeSecret), rawurlencode($oauthTokenSecret)]);
        $baseString = implode('&', [
            rawurlencode($method),
            rawurlencode($url),
            $hasBase,
        ]);

        $signature = hash_hmac('sha1', $baseString, $signingKey, true);
        $signature = base64_encode($signature);
        $this->oauthSignature = $signature;

        return $this;
    }
    //OAuth式 パラメータのソート関数
    public function oauthsort($a)
    {
        $b = array_map(null, array_keys($a), $a);
        usort($b, ['hatena', 'oauthcmp']);
        $c = array();
        foreach ($b as $v) {
            $c[$v[0]] = $v[1];
        }

        return $c;
    }
    public function oauthcmp($a, $b)
    {
        return strcmp($a[0], $b[0])
            ? strcmp(rawurlencode($a[0]), rawurlencode($b[0]))
            : strcmp(rawurlencode($a[1]), rawurlencode($b[1]));
    }
}

(new hatena)->oauthInitiate();

こちらでも解決策を模索してみます.解決出来れば追記したいと思っています.

追記::解決出来ました.

https://zip358.com/2024/07/07/%e3%80%90php%e8%a8%80%e8%aa%9e%e3%80%91%e3%81%af%e3%81%a6%e3%81%aaapi%e3%82%92%e4%bd%bf%e7%94%a8%e3%81%97%e3%81%a6url%e3%82%92%e3%81%af%e3%81%a6%e3%81%aa%e3%83%96%e3%83%83%e3%82%af%e3%83%9e%e3%83%bc.html

明日へ続く.