綺麗な空だったiPhone15に買い替える。

2023.09.05

Logging

おはようございます、iPhone15に買い替えます。直ぐには買い替えないけど1年後にはiPhone15に買い替える予定でいます。不具合とか見つからなかったらの話ですけどね。今までiPhone10PROMAXを使用していたのだけど恐らく、次のiosのバージョンアップ(グレードアップ)する際に自分の端末はバージョンアップ出来なくなるのでそのタイミングまで使用するより、今からiPhone貯金を始めて一括払いで購入しようと思っています。

ちなみにiosのバージョンアップが適応されなくなったからと言って、いきなりスマホが使用出来なくなる事はないです、じわじわインストールしているアプリの更新が出来なくなり最終的に使えなくなるまでは数年ぐらい時間があるので、そのタイミングで買い替えるのも良い手段じゃないのかなって?

ただ、自分はそこまで大切にiPhoneを使用していないので、近いうちにiPhone15に買い替えます。

ちなみに来週の12日?、正式にiPhone15の発表があるはずです。Appleファンは待ち遠しいと思います、自分はAndroidに移行したいなって思っていたのですがアプリの移行が面倒くさいので当分Apple信者でいようと思います。最初からAndroidにしておいたらこんな事にならなかっただけど、Androidの最初の頃の端末ってXXXX🤬だったので直ぐにiPhone鞍替えした記憶があります。

タグ

Android, Appleファン, Apple信者, iOS, iPhone, iPhone10PROMAX, iPhone15, iPhone貯金, xxxx, アプリ, グレードアップ, タイミング, バージョン, バージョンアップ, 一括払い, 最初, 移行, 端末, 記憶, 近いうち,

よさこい祭り動画検索を久しぶりにバージョンアップ

2023.08.24

Logging

おはようございます、よさこい祭り動画検索を久しぶりにバージョンアップしました。バージョンアップした理由はGさんがAndroid12に対応していないアプリは駄目だよと警告⚠を頂きまして、その対応のため、アプリを更新しました。このアプリはサイトを読み込んで表示しているだけのアプリなのでそのうち改修しようと思っているのだけどなかなか、手直ししていないアプリです。

Androidアプリでリリースしているものは、これだけでこのアプリがGさんに出禁になっても別に良いやというアプリですが、それでもなんだか知らない間にアプリのインストールも増えていて、びっくりしています。更新したのですが、実機で確認するとなんだかエラーが出てたりして何度か手直しを行いました。原因はマニフェストの書き方が駄目だったみたいです。

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.yosakoi_app">
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

こんな感じに書かないとお叱りを受けるようです、皆さまも気おつけてください🙇。

タグ

Androidアプリ, example.yosakoi_app&quot, gt, lt, manifest xmlns, Package, quot, quot;android.permission.ACCESS_NETWORK_STATE&quot, quot;android.permission.INTERNET&quot, uses-permission android, インストール, うち, エラー, お叱り, バージョン, マニフェスト, 何度か手直し, 出禁, 皆さま, 警告,

NativePHPというフレームワークでWindowsアプリが

2023.08.23

Logging

おはようございます、NativePHPというフレームワークでWindowsアプリが作れるそうです。そうPHP言語でアプリが作れるということは、簡単に言えばElectronと似たことが出来るということです。凄いですよね、今まで有りそうでなかった、、、。いまNativePHPはアルファ版なので品質保証はしてくれないものの正式にリリースしたら一度、フレームワークに触れてみたいなって思っています。

因みにこの頃、Electronも触っていないのですが、バージョンアップして透過機能(アクリル)なども追加されたそうですよ。

話それますが、この頃まともにソースコードをオープンにしていないのには理由があります。ソースコードの公開の線引しているからです。ちょっとした物は今まで通り公開しますがあまりにも商業利用可能なものは公開を控えます、なのでちょっとした物しかこれからも出てこないと思います。

タグ

Electron, NativePHP, PHP言語, Windowsアプリ, アクリル, アプリ, アルファ版, ソースコード, バージョン, フレームワーク, リリース, 一度, 公開, 品質保証, 商業利用, , 理由, , 透過機能, 通り,

Line3.8bバージョンとline1.7b バージョン使ってみたけど何か。

2023.08.20

Logging

おはようございます、Line3.6bバージョンとline1.7b バージョン使ってみたけどエヌビディア(GPT)が入っていないと動かないだって、でもどうしても動かしたいと思っている方!CPUでも動かせるように変換してくれている人がいます。ありがたや~☺。

上記のURLへ移動して頂き、READMEを参照すればメモリが2Gあれば何とか最小のモデルが動かせるみたいです、ローカルで動かしたい方はエヌビディアさんのCUDA(Compute Unified Device Architecture)とCUDAツールキットも必要になります。あと、torch(pytorch)のバージョンとドライバが合っていないと上手く動かないようです。参考リンクはこちら👉https://qiita.com/nabenabe0928/items/7962dcf3030889667de4 https://pytorch.org/get-started/previous-versions/

なお、Windowsでは今のところ動かない可能性が高いですね(・・;)、ウブントゥとエヌビディアが最強ポッい。

タグ

Compute Unified Device Architecture, CPU, CUDA, CUDAツールキット, GPT, Line3.6bバージョン, pytorch, README, torch, url, Windows, ウブントゥ, エヌビディア, エヌビディアさん, ドライバ, バージョン, メモリ, モデル, 最小, 最強ポッい,

電子積本と電子積みゲーが山程ある。#積み本

2023.07.07

Logging

おはようございます、またまた電子積本と電子積みゲーが山程あります。なんとか時間を作って読みたいのだけど時間がないだよね。時間がないわけではなくて読む時間が勿体ないと思っているので、積本をアレクサに読み上げてもらうことにして消化していきます。

『FINAL FANTASY VII REBIRTH』Summer Game Fest 2023 トレーラー

朗読本はありますが、そうではなくてアレクサの読み上げ機能を使用して読み上げてもらうことに.。アレクサの読み上げで問題なのがひとを”にん”と読み上げたりするのが致命的なところがあるのだけど、そろそろそんなアレクサの読み上げも生成AIなど事もあってバージョンアップしそうな気がします。

そんな訳でアレクサにまたまた読み上げてもらいます(過去の記事参照)。

今までAzはそんなにアレクサに力を入れていなかったと思いますが、恐らく大きなバージョンアップがそろそろ有りそうです。

電子積みゲーに関しては、自分の手でこなさないとイケないので休日に時間を作って、せめてFF7Rだけは最後までクリアしないとなって思っています。そうしないと次期FF7Rがプレイできないから。

タグ

Az, FF7R, アレクサ, イケ, にん, バージョン, バージョンアップ, ひと, 休日, 勿体, 最後, 朗読本, 次期FF7R, 生成AI, 積本, 記事参照, , 過去, 電子積みゲー, 電子積本,

ios17はセーフなのだが買い替え時が迫る。#iPhone

2023.06.13

Logging

おはようございます、ios17の発表が先日ありましたね。何とか自分のiPhoneは今回のios17に対応されますが、ios18,19とバージョンアップされていくと非対応製品になる可能性があるわけです。そうなる前にiPhoneを買い替えないといけない。

結構、出費だと思っています。

18万円ぐらいする端末を買うわけですからね。昔、よく迷わず買い替えていたなって思います。今回は2台ぐらい買い替え予定です。一台は自分用もう一台は親用です。自分はMaxを購入するつもり親には普通のiPhoneかAndroid端末に買い替えする予定です。

WWDC23: 17 big & little things | Apple

Maxの購入時期は未定ですね、ギリギリ(非対応)まで買い替えを行わないかもしれないし、もしくはiPhone15が発表されたタイミングかもしれません。お金が有れば買い替えていますが何だかお金が入用で中々貯蓄にシフト出来ていません。

タグ

19, 2台, ios17, ios18, iPhone, iPhone15, iPhoneかAndroid端末, max, タイミング, バージョン, 一台, , 発表, 端末, 自分用もう一台, , 親用, 貯蓄, 購入時期, 非対応, 非対応製品,

Laravelの再学習をはじめて一日目。 #laravel #phpcode

2022.12.19

Logging

おはようございます、来月の引き落としは結構な額です🥺。

先日からLaravelを再学習をしています、昔、購入した参考書を基準に勉強しています。今までググって必要なものだけを使用して書いてきたもので、色々な機能がある事を改めて痛感しています。

全部の知識を覚えるというのは、この短期間では無謀なのでこういう機能があるということを頭の片隅に置いとく勉強方法になります。

勉強方法としては実際にlocalhostを立ち上げその中にLaravelをインストールし参考書に書かれている内容を試していくという作業になります。参考書だけ読んでいるだけだと身につかない部分があると思います、例えば頻繁に出てくるメソッドなんかも肌感覚で分かるようになります。

因みに、今までローカル環境でもlocalhostのドメインなんて使用しなかったのだけど、そこの環境も似せてます。

尚、開発環境ではSSL環境が多いかと思います。その際にオレオレ認証(オレオレSSL)を作る方がいます、自分もオレオレ認証を今まで何度か作っていたけどChromeのバージョンが上がると動作しなくなったりします。なので、今はこの方法でSSLの壁を乗り越えています。Chrome83以降の動作させる際にページ内で下記のキーを入力します。

thisisunsafeエンター

解除したい場合はリンクバナーをクリック(保護されていない通信)して、警告をオンにするをクリックで元に戻ります。

タグ

Chrome, Laravel, localhost, SSL, SSL環境, thisisunsafeエンター, オレオレSSL, オレオレ認証, オン, キー, ドメイン, バージョン, メソッド, リンクバナー, ローカル環境, 基準, , 片隅, 肌感覚, 警告,

常時ディレクトリ監視を行う方法。 #CPU使用率 #炎上

2022.11.03

Logging

おはようございます。何だかアカウントを作ってまでコメントする人の考えがわからない🤔。

Qiitaに、このコードのsleep関数がないバージョンをアップしたら、何やらアカウントを作ってまでコメントする人が現れる、理由はCPU使用率がMax近くになるのが駄目だからです、そんな事は分かっているのが普通だと思っていたのだけども…例文として掲載するのも駄目だそうです、コピペで運用する人が結構いるのかもしれない。

正直なところ、そこまで叩かれるとは思っていなかったので、正直なところ驚きを隠せない。段々と世間の常識とズレていっている気がします😗。

昔はそういうコードは巷に溢れていたのにな・・・そんな事も出来なくなってきたのか・・・。

トイウコトデ、常時ディレクトリ監視を行い任意の画像ファイルだけ別のディレクトリへ移動するコードです。

nohup php File_Check.php &
├── File_Check.php
├── upload
└── data
<?php
while(true){
    if($result = is_scandir("./upload")){
        foreach($result as $key=>$value){
            rename("./upload/$value","./data/$value");
        }
    }
    sleep(3);
}

function is_scandir(string $dirname="",array $ext_list = ["png","jpg"]){
    $is_filelest = [];
    $result = scandir($dirname);
    foreach($result as $key=>$value){
        $ext = substr($value, strrpos($value, '.') + 1);
        if(in_array($ext,$ext_list,false)!== false){
            $is_filelest[] = $value;
        }
    }
    return count($is_filelest)>0 ? $is_filelest : false;
}

タグ

check, CPU, file, max, nohup, php, qiita, sleep, アカウント, アップ, コード, コピペ, コメント, そこ, ディレクトリ, トイウコトデ, ところ, バージョン, ファイル, 世間, , , 任意, 使用, 例文, , , 常時, 常識, 掲載, 方法, , 普通, 正直, 段々, , 炎上, 理由, 画像, 監視, 移動, 近く, 運用, 関数, 駄目,

さくらVPSの仕様なのか、分からないけど。

2022.10.14

Logging

おはようございます、昨日は暖かい陽気でしたね🫠。

さて、昨日ドハマリして数時間、時間を費やしてしまった問題が有りました。結論から言えばOSのバージョンの関係で上手くいかなかった。さくらの中の人(開発者)、OSバージョンアップした際の挙動を確認して無さそうな気がします。

どんなトラブルになったのかと言えば、こんな感じ。

作業用VPSサーバーを設置してWEBのコントロールパネルからssh鍵の設定して作業に取り掛かろうとテラターム(ローカル)でログインした所、エラーが出る。

何度、トライしてもパーミッションが駄目だよと弾かれるので、ウインドウズでユーザーの設定なんかを変更したりしたのだけど駄目だった。

リナックスやMacからだとログインできるだよね、なのでコレはWindowsの問題だと思っていた、パーミッション原因だと思っていたのだけど、前サーバーはssh鍵付きでログイン出来てたので変だなと思い、前サーバーのssh鍵を変更してみたら、こちらはすんなりとログイン出来てしまった。

ここで何が違うかと言えば、OSのバージョンだけ8系と9系の違いでログイン出来なくなる。恐らくこちら側の設定がどうこうではなく、何か・・・の接続時のデータ送受信で変になっている気がします。

この事象をさくらVPSに問い合わせしていないので、原因は分からないだけど恐らくOSのバージョンの違いで今のところ発生している問題だと思います。

タグ

Mac, OS, SSH, VPS, web, Windows, アップ, ウィンドウズ, エラー, コレ, コントロール, サーバー, さくら, ターム, テラ, ドハマリ, トライ, トラブル, バージョン, パーミッション, パネル, ユーザー, リナックス, ローカル, ログイン, , , 仕様, 何度, 作業, 原因, 問題, , 変更, 感じ, , 挙動, , 昨日, 時間, , 確認, 結論, 設定, 設置, , 鍵付き, 開発者, 関係, 陽気, , 駄目,

WP予約投稿ツイートプラグイン作り方。#php言語 #code #v2

2022.10.11

Logging

おはようございます😤 お仕事に飢えてます…寒い季節ですね…。

さて、今日はWP予約投稿ツイートプラグイン作り方を記載していきます。ワードプレスでプラグインを作る場合はWordPressの下記の場所に任意のフォルダを作り、その中にディレクトリ名(任意名)と同じファイル名でphpファイルを作ります。※昔の名残なので今は命名が違っても動くかも知れませんが・・・。

cd /wp-content/plugins
mkdir mytweets
vi mytweets.php

そして、命名したファイル名を開き、ファイルの上部に下記のコメントを記載します。プラグイン名やプラグインの説明、プラグインバージョンをそれぞれ変更して頂き保存、その後サーバーサイドにアップロードします(フォルダごと)。

<?php
/*
Plugin Name: My tweets
Description: tweets
Version: 1.0
*/

これで何も動作しないプラグインが出来上がります。

後はコマンドラインからプラグインフォルダにcomposerをインストールしtwitteroauthのライブラリを入れます。

此処までが前手順です。此処までで挫折した人は結構いると思います🙄。

因みに此処までの事がすんなりと出来る人は、このブログの情報は必要ないものです。なのでココからはソースコードを記載します。WP予約投稿ツイートプラグインなんてオチャノコサイサイだと思います。

<?php
/*
Plugin Name: My tweets
Description: tweets
Version: 1.0
*/
if (!defined('ABSPATH')) exit;
require_once  "tw-v2-config.php";
require_once  "./vendor/autoload.php";

use Abraham\TwitterOAuth\TwitterOAuth;

function mytweets($new_status, $old_status, $post)
{
    
    if ($new_status == 'publish' && $old_status != 'publish') {
        try {
            $connection = new TwitterOAuth(APIKEY, APIKEYSECRET, ACCESSTOKEN, ACCESSTOKENSECRET);
            $connection->setApiVersion('2');
            $response = $connection->post('tweets', ['text' => get_the_title($post->ID) . "\n" . get_permalink($post->ID)], true);
        } catch (\Throwable $th) {
            //throw $th;
        }
    }
}
add_action('transition_post_status', 'mytweets', 10, 3);

上記のコードを記載した上で上書き保存&アップロードします。その後ワードプレスの管理画面よりプラグインを有効にして出来上がり、今回はtwitteroauthのライブラリを使用しましたがcrulなどのを理解している人はライブラリは特に必要ないのかなとも思います。ライブラリを使用すればお手軽ですが、万が一何かあった時に困るのでライブラリを使用せずにコードを書くという方もいらっしゃると思います。

自分も極力、公式のライブラリしか使わないようにしています🙇。

トイウコデ、ワードプレスのプラグインの作り方でした。

タグ

2, cd, Code, description, lt, mkdir, My, mytweets, name, php, plugin, plugins, Tweets, Vers, vI, WordPress, wp, wp-content, アップロード, お仕事, コメント, サーバー, それぞれ, ツイート, ディレクトリ, バージョン, ファイル, フォルダ, プラグイン, プレス, ワード, 上部, 下記, , 予約, , 今日, 任意, 作り方, 保存, 名残, 命名, 場合, 場所, 変更, 季節, , 投稿, , 言語, 記載, 説明,

数珠繋ぎのツイートシステムに予約機能を付けました😂 #php #code

2022.10.07

Logging

おはようございます、偏頭痛持ちは雨が降るが一番大変です☔。

先日、数珠繋ぎのツイートシステムを作ったのですが、そのシステムに予約機能を付けました。尚、TwitterAPIのバージョン2でスケジュールのパラメーターが今のところ無いですね。これから先、機能が付くかも知れないですが今のところ無いようです。因みにソースコードは近日中にQiitaGithubにUPします。此処ではソースコードの一部を掲載します(※記事を更新しました下へスクロール🫠)。

Twitter API v2 ツイート数珠繋ぎ

尚、crontabでPHPファイルを叩くようにしています、あと注意事項ですが予約を一度した投稿については変更等は出来ません、編集機能等の機能追加の予定はないです。また、予約管理はsqlite3を使用して管理しています。

<?php
date_default_timezone_set('Asia/Tokyo');
ini_set("display_errors",0);
require_once "./data/tw-config-v2.php";
require_once "../vendor/autoload.php";

use Abraham\TwitterOAuth\TwitterOAuth;

class tw
{
    var $connection = null;
    var $pdo = null;
    function __construct()
    {
        $this->connection = new TwitterOAuth(APIKEY, APISECRET, ACCESSTOKEN, ACCESSTOKENSECRET);
        $this->connection->setApiVersion("2");
    }
    function db_connection()
    {
        try {
            //code...
            $res = $this->pdo = new PDO("sqlite:./data/tw-tweets-db.sqlite3");
        } catch (\Throwable $th) {
            //throw $th;
            //print $th->getMessage();
            $res = false;
        }
        return $res;
    }

    function timecheck($timeonoff, $times)
    {
        if (!$timeonoff) return true;
        $n = new DateTime();
        $t = new DateTime($times);
        return $t <= $n ? true : false;
    }

    function pickup_tweets(mixed $tw_text = null, int $timeonoff = 0, mixed $times = null, string $id = "")
    {
        if (!$times) return false;
        $obj = (object)[];
        $times = preg_replace("/\-/", "/", $times);
        $times = preg_replace("/T/", " ", $times);

        if ($this->timecheck($timeonoff, $times)) {
            if (isset($tw_text) && is_array($tw_text)) {
                foreach ($tw_text as $key => $value) {
                    if (preg_replace("/[ | ]/", "", $value)) {
                        $obj = !$key ? ($this->connection->post("tweets", ["text" => $value], true)
                        ) : ($this->connection->post("tweets", ["reply" => ["in_reply_to_tweet_id" => $obj->data->id], "text" => $value], true)
                        );
                    }
                }
                return true;
            }
        } else {
            return $timeonoff ? $this->save_sqlite($tw_text, $timeonoff, $times, $id): true;
        }
    }

    function save_sqlite($tw_text = null, int $timeonoff = 0, mixed $times = null, string $id = "")
    {
        if ($this->db_connection()) {
            try {
                //code...
                if (isset($tw_text) && is_array($tw_text)) {
                    foreach ($tw_text as $key => &$value) {
                        if (preg_replace("/[ | ]/", "", $value)) {
                            $stmt = $this->pdo->prepare("insert into tweets (tw_id,user,times,tw_text)values(:tw_id,:user,:times,:tw_text)");
                            $stmt->bindValue(":tw_id", $key, PDO::PARAM_INT);
                            $stmt->bindValue(":user", $id, PDO::PARAM_STR);
                            $stmt->bindValue(":times", $times, PDO::PARAM_STR);
                            $stmt->bindValue(":tw_text", $value, PDO::PARAM_STR);
                            $stmt->execute();
                        }
                    }
                }
                $this->pdo = null;
                return true;
            } catch (\Throwable $th) {
                //throw $th;
                return false;
            }
        }
    }
    function tweets_load(string $id = "")
    {
        if (!$id) return false;
        try {
            //code...
            $value = null;
            if ($this->db_connection()) {
                $stmt = $this->pdo->prepare("select * from tweets where user = :user order by times,tw_id asc;");
                $stmt->bindValue(":user", $id, PDO::PARAM_STR);
                $res = $stmt->execute();
                $value = $res ? $stmt->fetchAll() : false;
                $this->pdo = null;
            }
            return $value;            
        } catch (\Throwable $th) {
            //throw $th;
            return false;
        }
    }
    function tweets_update(int $key = 0, int $timeonoff = 0, mixed $times = null, string $id = "",mixed $tw_text="")
    {
        try {
            //code...
            if(!preg_replace("/[ | ]{0,}/","",$tw_text))return false;
            if ($this->db_connection()) {
                $stmt = $this->pdo->prepare("update tweets set tw_text = :tw_text where tw_id = :tw_id and user = :user and times = :times");
                $stmt->bindValue(":tw_id", $key, PDO::PARAM_INT);
                $stmt->bindValue(":user", $id, PDO::PARAM_STR);
                $stmt->bindValue(":times", $times, PDO::PARAM_STR);
                $stmt->bindValue(":tw_text", $tw_text, PDO::PARAM_STR);
                $stmt->execute();
                $this->pdo = null;
            }
        } catch (\Throwable $th) {
            //throw $th;
            return false;
        }
        return true;

    }

    function tweets_delete(int $key = 0, int $timeonoff = 0, mixed $times = null, string $id = "")
    {
        try {
            //code...
            if ($this->db_connection()) {
                $stmt = $this->pdo->prepare("delete from tweets where tw_id = :tw_id and user = :user and times = :times");
                $stmt->bindValue(":tw_id", $key, PDO::PARAM_INT);
                $stmt->bindValue(":user", $id, PDO::PARAM_STR);
                $stmt->bindValue(":times", $times, PDO::PARAM_STR);
                $stmt->execute();
                $this->pdo = null;
            }
        } catch (\Throwable $th) {
            //throw $th;
            return false;
        }
        return true;
    }

    function bat_tweets(mixed $value = null)
    {
        if (!$value) return false;
        $obj = (object)[];
        $t = "";
        foreach ($value as $key => $val) {
            if ($this->timecheck(1, $val["times"])) {
                $obj = ($val["times"]<>$t)? ($this->connection->post("tweets", ["text" => $val["tw_text"]], true)
                ) : ($this->connection->post("tweets", ["reply" => ["in_reply_to_tweet_id" => $obj->data->id], "text" => $val["tw_text"]], true)
                );
                $this->tweets_delete($val["tw_id"], 1, $val["times"], $val["user"]);
                $t = $val["times"];
            } else {
              //  var_dump($val);
              //  break;
            }
        }
    }
}

if ($argv[0]) {
    $tw = new tw();
    $value = $tw->tweets_load(xss_d($argv[1]));
    $tw->bat_tweets($value);
}
function xss_d($val = false)
{
    if (is_array($val)) {
        foreach ($val as $key => $value) {
            $val[$key]  = strip_tags($value);
            $val[$key]  = htmlspecialchars($val[$key]);
        }
    } else {
        $val  = strip_tags($val);
        $val  = htmlspecialchars($val);
    }
    return $val;
}

追記:予約編集機能なども付けました🙄。

GithubとQittaのリンクはこちらです。
Github:https://github.com/taoka-toshiaki/tweets-system-box1
Qitta:https://qiita.com/taoka-toshiaki/items/5ef12b60b267742bf584

タグ

2, , 39, Asia, Code, crontab, date, default, github, ini, lt, php, qiita, Se, set, Sqlite, timezone, Tokyo, TwitterAPI, UP, コード, これ, システム, スクロール, スケジュール, ソース, ツイート, ところ, バージョン, パラメーター, ファイル, 一部, , 予定, 予約, 事項, , 使用, 偏頭痛, , 先日, 変更等, 大変, 投稿, 掲載, 数珠繋ぎ, 更新, 機能, 機能等, 此処, 注意, 管理, 編集, 記事, 近日, 追加, ,

Twitter-API-v2ツイート数珠繋ぎ #コード公開 #php

2022.10.04

Logging

おはようございます。土日祝も関係なくブログは毎日書いています🤮。

さて、今日はPHP言語でTwitterAPIバージョン2(v2)を使用してツイート数珠繋ぎをする方法を抜粋して記載していきます。こういうコードは今のところ出回っていないようです。少し調べれば公式サイトに記載しているのだけども・・・。まだ、日本語に対応した記事が少ないようです。v2でツイートする方法やリツイートする方法は何故かあるのだけどリプライ(Reply)[/statuses/update]する方法が記事としては記載していなかったので?記載します。

<?php
require_once "vendor/autoload.php";
use Abraham\TwitterOAuth\TwitterOAuth;

class tw{
    var $connection = null;
    function __construct()
    {
        $this->connection = new TwitterOAuth(APIKEY, APISECRET,ACCESSTOKEN, ACCESSTOKENSECRET);
        $this->connection->setApiVersion("2");
    }

    function pickup_tweets(mixed $tw_text=null){
         $obj = (object)[];
        if(isset($tw_text) && is_array($tw_text)){
            foreach ($tw_text as $key => $value) {
                if(preg_replace("/[ | ]/","",$value)){
                    $obj = !$key?(
                        $this->connection->post("tweets", ["text" =>$value], true)
                    ):
                    (
                        $this->connection->post("tweets", ["reply"=>["in_reply_to_tweet_id"=>$obj->data->id],"text"=> $value], true)
                    );
                }
            }
            return true;
        }
        return false;
    }
}

最初に結論とコードのアルゴリズムに付いて解説します。まず、tweetsのパラメーターでリプライ出来るように変更されています。v1.1とはそこが変わっているので同じ仕組みを検索しがちですがそれでは検索にヒットしないようです🤔。まずはエンドポイントの変更点の確認が必要みたい👏。

エンドポイントのv1.1からv2への対応表

エンドポイントのv1.1からv2への対応表が公式から出ているので確認してみてください↑。

次にコードの解説ですがまずTwitterOAuthライブラリをインストールを行い、defineなどの設定なども考慮した上で実行してみてください(コードに追記記載が必要)。変数、$tw_textは配列です。また投稿する文字が入っていると考えてください。そしてこのコードを下記のような考え方で実行してみてください。

<?php
       require_once "tw-index.php";
       $tw_text[0] ="test1";
       $tw_text[1] ="test2";
       $tw = new tw();
       if($tw->pickup_tweets($tw_text)){
        $ret["msg"] = "ok";
       }else{
        $ret["msg"] = "NG";
       }
       var_dump($ret);

※前提条件としてtwitter社にAPIの申請を行って受理されている事。

Twitter API v2 ツイート数珠繋ぎ

これで思った通り実行出来たと思います。尚、自分のように管理画面などを作って数珠繋ぎの投稿するのも良いかも知れません🫠。

タグ

2, Abraham, autoload, class, connection, function, lt, null, once, php, quot, Reply, require, statuses, tw, Twitter-API-v, TwitterAPI, TwitterOAuth, UPDATE, use, var, vendor, コード, サイト, ツイート, ところ, バージョン, ブログ, リツイート, リプライ, , 今日, 使用, 公式, 公開, 土日, 対応, 少し, 抜粋, 数珠繋ぎ, 方法, 日本語, 毎日, , 言語, 記事, 記載,

一部のサービスのアクセス数が極端に増えたことで思うこと。

2022.08.16

Logging

おはようございます。今日は3時に起床してみました。たぶん二度寝することになりそうですが🙄。

さて、一部のサービスでアクセス数が極端に増えてたみたいです、昨日の話。基本的に自分は作るまでが楽しくて作ったものは自分では使用しません。バージョンアップやテスト投稿などはしますが、それ以外の書き込みなどは全くです。

極端にアクセス数が増えたりするというのは、大体、シェアや口コミからの流れが多いことがあります。

自分にとってはアクセス数よりも収益に繋がったのかや皆が楽しく使っているのかなどの方が重要です。今、あるサービスでは匿名での投稿が殆どです、投稿内容の質もイマイチです(似たような投稿ばかり)。このまま匿名投稿を継続させるのか、Twitterのアカウントなどソーシャルなアカウントと結び付けないと使えないようにするか考えています。

アクセス解析ツールで分かることは年代、男女の比率、何処からのアクセスなのかなどは分かります。そういう傾向を見ると何だか偏っている、そして何より自分の思惑とはかなり違った方向に行っている気がします。コレばかりは仕方がない事なのかも知れませんが悩みどころですね。

トイウコトデ、検討中です。

タグ

, Twitter, アカウント, アクセス, アップ, いまいち, こと, このまま, サービス, シェア, ソーシャル, それ, ツール, テスト, バージョン, もの, 一部, , , 今日, 何処, 使用, 内容, 匿名, 収益, 口コミ, 大体, 年代, 投稿, , 昨日, 極端, 殆ど, 比率, 男女, , 継続, 自分, 解析, , , 起床, 重要,

覚えとくと良いChromeの小技?大技!?

2022.07.06

Logging

おはようございます。お腹すきすぎて目が覚めました・・・。

今日はChromeブラウザの小技を紹介していきます。まずお使いのChromeのバージョンを知りたい場合、アドレスバーに下記のように入力するとバージョンが確認できます。わざわざ、ヘルプから見ないでも詳細な情報が見れます。

chrome://version/

次にChromeタブを閉じずに再起動したいなど、そういう事がある方は下記のURLsをアドレスバーに入力してみてください。すぐに再起動がかかります、また再起動後、タブは保持されたままです。

chrome://restart/

その他、いろいろな機能があります、どんな機能があるのか知りたい場合は下記の情報を入力してみてください。

chrome://chrome-urls/

タグ

Chrome, chrome-urls, restart, URLs, Version, アドレス, いろいろ, お使い, お腹, その他, タブ, バー, バージョン, ブラウザ, ヘルプ, まま, わざわざ, 下記, , 今日, 保持, 入力, 再起動, 場合, 大技, 小技, 情報, , 機能, , , 確認, 紹介, 詳細,

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

2022.06.14

Logging

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

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

お待ち下さい~。

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

タグ

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

そろそろPHPのバージョン引き上げしないと駄目。WPの話。

2022.06.09

Logging

おはようございます。お腹が痛くなるとそれが一週間ほど続いたりします😭。

今日のタイトルは「自分のサーバーのPHPバージョンをアップさせない駄目。WPの話」です。いつの間にかWordPressのバージョンが6になりましたよね。いまの推奨環境ではPHP7.4以上になっています。ワードプレスのロードマップがどうなっているかは知りませんが、そのうちPHP7.4は非推奨になり何れ動作しなくなることは目に見えているので、近々、PHPのバージョンアップを行いたいと思います。

その際はサーバーを停止することもあるので、表示されないという事象が起こる可能性があります。

尚、cgi-binを使用して動かすようになると思います。エンジンエックスでcgi-binを使用するのは初めてですので、長い間、サーバーが不安定な状態になるかもしれません。

タグ

6, 7.4, cgi-bin, php, WordPress, wp, アップ, いま, うち, エックス, エンジン, お腹, こと, サーバー, それ, タイトル, バージョン, プレス, マップ, ロード, ワード, , 不安定, 事象, 今日, 何れ, 使用, 停止, 初めて, 動作, 可能性, 推奨, 状態, 環境, , 自分, 表示, , , , 駄目,

2019という年が意味するもの。それは大きいと思う。

2022.05.13

Logging

おはよう朝日です☀。

2019という年が意味するもの。それは大きいと思う、2020年に入ってコロナウイルスが蔓延して大変な時代になったなぁって…。2019年を知っている人にとっては、そういう昔の社会に戻したいという気持ちが強いは強いじゃないかって思います。

2019年みたいな社会に戻す取り組みは続くと思いますが、それはコロナウイルスというよりはウィルスに打ち勝つ日だと自分は思っていて、地球に存在するウィルスに打ち勝つことの出来る万能抗体を人類が持つということなんじゃないかって思います。

ACME In Concert: Steve Reich's Complete String Quartets | NPR MUSIC LIVE

それが良いことか悪いことか分からないけども、必ず流星のごとく天才が現れて人類をバージョンアップする日が来るじゃないかって思っています。それはアインシュタインのような一人の天才によってもたらせるのか、天才の集団によって解決するのかはわからないけども、おそらくそうなると自分は信じています。

たまに空想的なことをブログで書くけど、結構な確率で自分の考えたことは誠になっていたりするから、若干怖いのです…。

タグ

2019, 2020, アインシュタイン, アップ, ウィルス, こと, コロナウイルス, それ, たま, バージョン, ブログ, もの, 一人, 万能, , 人類, 地球, 大変, 天才, 存在, , 意味, 抗体, , , 時代, , 朝日, 気持ち, 流星, 社会, 自分, 蔓延, 解決, 集団,

コードを見れば大体の技術レベルが分かるは本当?しかも、性格も分かる場合がある。

2022.02.07

Logging

おはようございます。今日の朝も寒いですね。。。

朝からcode.orgの動画を見ていたら日本もアメリカもITエンジニアの割合はあまり変わりないみたいな事を知りました、そしてアメリカでも子供たちのなりたい職業1位でもないみたいです。

さて、コードを見れば大体の技術レベルが分かるは本当?しかも性格も分かる場合があるですが、ソースコードを見ると其の人の技術がわかり、変数の名前付けとかで性格もある程度分かってしまったりします。そしてバージョン管理、ファイル管理で仕事に対する姿勢までもが分かってしまったりします。

Computer Science is Changing Everything

なので・・・日頃からご注意ください。自分の場合、Githubのコメントなどを見るとこの人は適当な人なんだなぁって事が分かってしまうかもしれません。唯、仕事に対する姿勢は少し違うかなっていうのはあります。

仕事になるとファイル管理やバージョン管理もこの頃はちゃんとするようになりました。やはり整理整頓は結構大事な要素です。ファイルがどこにいったんだろうとか検索しないでも良いように管理することは大切なことです。昔はごちゃごちゃなファイル管理をしていましたけど(反省)😣。

因みに私生活で使用するパソコンのフォルダ整理は全然ダメダメですね。整理しようと思っているのだけどフォルダやファイル数が多くて大変な感じです(負の遺産が多いです)。

タグ

, Code, github, IT, org, アメリカ, エンジニア, コード, コメント, ご注意, ソース, バージョン, ファイル, レベル, , , 今日, 仕事, 割合, 動画, 名前, 場合, 変数, 大体, 姿勢, 子供, 少し, 性格, 技術, 日本, 日頃, , 本当, 管理, 職業, 自分, 適当, ,

WordPress5.9からかなり仕様が変わります。それで?

2021.12.20

Logging

寒い日が続きますね、昨日も今日の朝もかなり冬って感じの朝だな…?

さてショッキングな情報を先日、耳にしましたので共有します。WordPress5.9からテンプレート仕様が大きく変わるみたいですね。かなりガラリと変わります。どのように変わるかはこちらのサイトとこちらのサイトでご確認くださいませ。尚、今までのテンプレートは今の所、バージョンアップしても使えるとは思いますが、5.9以降、バージョンアップにつれて今までのテンプレートは使用できなくなるのは目に見えています。

Introducing WordPress 5.9

テンプレートの仕様が変わることにより、色の変更や配置などがGUI(グラフィカルユーザーインターフェース)で簡単に操作出来るようになります。今後、ちょっとした色の変更や見栄えなどの変更をユーザーが簡単にできてしまうようになるという事はWEBを生業としている業界からすると、かなり痛手かと思います。

WP5.9の対応してしまった後は、仕事が激減しそうな気さえします。やはりウェブはウェブ制作だけでは食べていけない、そんな感じになってくるのではないかなとヒシヒシと感じます。

このサイトもWP5.9がリリースされたら、オリジナルテンプレートを作って運用していく事になりそうです。

以上、現場からでした。

タグ

5.9, GUI, web, WordPress, wp, アップ, インターフェース, かなり, グラフィカル, こちら, こと, ご確認, サイト, ショッキング, テンプレート, バージョン, ユーザー, , , 今後, 今日, 仕事, 仕様, 使用, 先日, 共有, , 変更, 対応, , 情報, , 操作, , 昨日, , 業界, 生業, 痛手, , 簡単, , , 見栄え, 配置,

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

2021.12.08

Logging

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

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

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

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

タグ

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

結局、YOUTUBE Premium継続することにしました。過去記事を撤回。

2021.11.22

Logging

YOUTUBE Premium継続することにします。アマゾンミュージックを一週間ぐらい使用したのだけど、プライム会員のバージョンだと聞きたいなと思う音楽があまりにも少ない感じでした。なのでYOUTUBE広告が無くて音楽も結構な量があるYOUTUBE Premiumを継続することにしました。無収入の状態ではYOUTUBE Premiumのお金を支払い続けるのは贅沢なのかもしれませんが、音楽ない生活は自分はあまり考えられないです?。

特に本を読むやコードを書く時は音楽を聞いてするのとしないとでは、集中する時間が変わってきます?。

あとネットフリックスも再契約したいなと考えているのですが、これは自分が就職するまで我慢かなと思っています。仕事先が決まって仕事が始まると今度は観る時間がない問題になるのですが、特にIT系の仕事就くと結局休みもソースコードなどを書くことに時間を割いてしまってネットフリックスなんて見れない。今でも動画を見る時間は勿体なという気持ちになりますからね・・・でも見たいのです、矛盾してますね。

『新聞記者』 予告編 – Netflix

因みにネットフリックス以外にもサブスクリプションを再契約したいなと思うものはありますし、新たに始めたいサブスクリプションもあります。特に早急に復活させたいサブスクリプションはアドビのIllustratorですね。これはブログのアクセス数とも直結しているので、早々に復活させたいと思っています。

【1分でわかる】曲線と図形の組みあわせで似顔絵を描く方法 | Illustrator - アドビ公式

タグ

IT, Premium, youtube, アマゾン, お金, コード, こと, これ, ソース, ネットフリックス, バージョン, プライム, ミュージック, , 今度, 仕事, 休み, 会員, 使用, 収入, 問題, 契約, 就職, 広告, 感じ, 我慢, 撤回, , 時間, , 状態, 生活, , 結構, 継続, 自分, 記事, 過去, , 集中, 音楽,

Yahoo japanサイトのコロナ情報リンク集です。好評に付きVer2。

2020.12.21

Logging

Yahoo japanサイトのコロナ情報リンク集です。好評に付きバージョン2を
作成しました。見た目はこんな感じです。県名をクリックするとYahoo!japanのコロナサイトの
画面が開きます(遷移します)。ほんとは、Yahoo!データをウェブスクレイピングしようと思ったのですが、別にそこまでする必要はないかなと思いとどまり、いまに至っています。
データは国もJSONで公開していますのでわざわざ作ることもないのですけど、自分が見やすいように、時間があれば改善していきます。

追記:時間があったので改善しました。

https://zip358.com/tool/COVID-19-japan/

var ken_json = {};
fetch("./assets/js/ken47.json").then(response => response.json()).then((data)=>{
	let ken = [];
	for (const key in data) {
		ken.push("<a href='#' onClick='c19(\"" + "https://hazard.yahoo.co.jp/article/covid19" + data[key].roman +"\")' onmouseover='c19_f(\"" + data[key].roman.toUpperCase() + "\",\"red\")'' onmouseout='c19_f(\"" + data[key].roman.toUpperCase() + "\",\"#fff\")'>" + data[key].name + "</a>");
	}
	document.getElementById("covid19-link-list").innerHTML = ken.join(",");
	for (const key in data) {
		document.getElementById(data[key].roman.toUpperCase()).setAttribute("fill","#fff");
	}
});

function c19(url){
	window.open(url,"_blank");
}
function c19_f(kenid,color){
	document.getElementById(kenid).setAttribute("fill",color);
}	
{
	"1": {
		"name": "北海道",
		"roman": "hokkaido"
	},
	"2": {
		"name": "青森",
		"roman": "aomori"
	},
	"3": {
		"name": "岩手",
		"roman": "iwate"
	},
	"4": {
		"name": "宮城",
		"roman": "miyagi"
	},
	"5": {
		"name": "秋田",
		"roman": "akita"
	},
	"6": {
		"name": "山形",
		"roman": "yamagata"
	},
	"7": {
		"name": "福島",
		"roman": "fukushima"
	},
	"8": {
		"name": "茨城",
		"roman": "ibaraki"
	},
	"9": {
		"name": "栃木",
		"roman": "tochigi"
	},
	"10": {
		"name": "群馬",
		"roman": "gunma"
	},
	"11": {
		"name": "埼玉",
		"roman": "saitama"
	},
	"12": {
		"name": "千葉",
		"roman": "chiba"
	},
	"13": {
		"name": "東京",
		"roman": "tokyo"
	},
	"14": {
		"name": "神奈川",
		"roman": "kanagawa"
	},
	"15": {
		"name": "新潟",
		"roman": "niigata"
	},
	"16": {
		"name": "富山",
		"roman": "toyama"
	},
	"17": {
		"name": "石川",
		"roman": "ishikawa"
	},
	"18": {
		"name": "福井",
		"roman": "fukui"
	},
	"19": {
		"name": "山梨",
		"roman": "yamanashi"
	},
	"20": {
		"name": "長野",
		"roman": "nagano"
	},
	"21": {
		"name": "岐阜",
		"roman": "gifu"
	},
	"22": {
		"name": "静岡",
		"roman": "shizuoka"
	},
	"23": {
		"name": "愛知",
		"roman": "aichi"
	},
	"24": {
		"name": "三重",
		"roman": "mie"
	},
	"25": {
		"name": "滋賀",
		"roman": "shiga"
	},
	"26": {
		"name": "京都",
		"roman": "kyoto"
	},
	"27": {
		"name": "大阪",
		"roman": "osaka"
	},
	"28": {
		"name": "兵庫",
		"roman": "hyogo"
	},
	"29": {
		"name": "奈良",
		"roman": "nara"
	},
	"30": {
		"name": "和歌山",
		"roman": "wakayama"
	},
	"31": {
		"name": "鳥取",
		"roman": "tottori"
	},
	"32": {
		"name": "島根",
		"roman": "shimane"
	},
	"33": {
		"name": "岡山",
		"roman": "okayama"
	},
	"34": {
		"name": "広島",
		"roman": "hiroshima"
	},
	"35": {
		"name": "山口",
		"roman": "yamaguchi"
	},
	"36": {
		"name": "徳島",
		"roman": "tokushima"
	},
	"37": {
		"name": "香川",
		"roman": "kagawa"
	},
	"38": {
		"name": "愛媛",
		"roman": "ehime"
	},
	"39": {
		"name": "高知",
		"roman": "kochi"
	},
	"40": {
		"name": "福岡",
		"roman": "fukuoka"
	},
	"41": {
		"name": "佐賀",
		"roman": "saga"
	},
	"42": {
		"name": "長崎",
		"roman": "nagasaki"
	},
	"43": {
		"name": "熊本",
		"roman": "kumamoto"
	},
	"44": {
		"name": "大分",
		"roman": "oita"
	},
	"45": {
		"name": "宮崎",
		"roman": "miyazaki"
	},
	"46": {
		"name": "鹿児島",
		"roman": "kagoshima"
	},
	"47": {
		"name": "沖縄",
		"roman": "okinawa"
	}
}

タグ

19, 2, 358, 47, assets, com, covid, fetch, gt, https, JAPAN, JS, json, ken, quot, response, then, tool, var, ver, www, Yahoo, zip, ウェブ, クリック, こと, コロナ, サイト, スク, そこ, データ, バージョン, ピング, ほんと, リンク集, レイ, わざわざ, 作成, 公開, , 好評, 必要, 情報, 感じ, 改善, 時間, 画面, 県名, 自分, 見た目, 追記, 遷移,

意識するまえに脳が信号を送る。

2020.11.30

Logging

いま、NHKで放送されているヒューマニストという番組が放送されているのだけど、いまいち盛り上がりにかけますね。でも内容は良い、例えば意識する前に脳活動が行われているのか、それとも自己が考えて行動するのかという問いは、昔から研究されていたのだけど、近年、どうも脳活動が先というのが答えらしいと分かったみたいだ。厳密言えば人は両方の事が起きているのだとか。じゃなぜ、脳活動が発生するのかなどはいまの所、不明みたいです。

ここからは妄想でのお話、実はひとも半操り人形なのかもしれないな・・・というおいら説、誰に操られているかは想像におまかせします。ひともゴキブリをラジコンのように操ったりしてましたからね。ひとも電気信号で操縦されていたとしても、文句は言えないな。

でも、もし本当に操られていたら、恐いな・・・。

そんな妄想は良いとして、Notionというアプリが良いらしい。来年には日本語対応のバージョンになるのだとか、Notionというアプリは仕事の効率化ツールです、スケジュール管理からTodoなんかいろいろな機能がひとつに纏まったツールで海外では流行っているだって。じぶんはこういう効率化ツールのが未だに面倒くさいなと感じます。まずTodoリストに登録するより記憶すればそのタスクが終わるまで覚えているタイプなので、何故、こういうタスクが必要なのか、わからない。付箋かメモで良いじゃんと昔から思っていたけど、他の人に共有すると見える化されて便利なんだなと感じました。

タグ

NHK, Notion, アプリ, いま, いまいち, おいら, おまかせ, お話, ゴキブリ, ここ, バージョン, ひと, ヒューマニスト, まえ, ラジコン, 不明, 両方, , , 仕事, 信号, , 内容, , , 妄想, 対応, 想像, 意識, , 操り人形, 操縦, 放送, 文句, 日本語, , 本当, 来年, 活動, 番組, 発生, 研究, , 自己, 行動, , 近年, 電気,

Electronの脆弱性でアレをtrue設定はNGですよね。

2020.11.23

Logging

Electron(エレクトロン)でrequire(りくわいあ)というものを使用するとエラーになります。Electronの昔のバージョンはこれが使用できたんだって今はこれを脆弱性対策のため、OFF(false)にしている。その設定をtrueにするとOK何だけど、これは公式では認めてない不正解の書き方だとさ。

function createWindow() {
    mainWindow = new BrowserWindow({ width: 800, height: 600 , webPreferences: {
        nodeIntegration: true
	}});

じゃどうするれば良いのか?調べた結果、これが良いみたいです?。下記の書き方はちょっと面倒くさいけれども、こう書かなくては駄目だとさ。requireを使用しない場合はこんな感じで書かなくても良いです。

const path = require('path');
function createWindow() {
    mainWindow = new BrowserWindow({ width: 800, height: 600 , webPreferences: {
        nodeIntegration: false,
        contextIsolation: true,
        preload: path.join(__dirname, "preload.js")
	}});
const { contextBridge, ipcRenderer} = require("electron");
const request = require('request');//使ってないけど?


contextBridge.exposeInMainWorld(
    "hoge_hoge", {
        send: (data) => {
           consloe.log(data);
           document.getElementById("hoge").innerHtml = "Hey!! " + data;
           ipcRenderer.send("Hey!! " + data);
        },
        receive: (data) => {
                consloe.log(data);  
                //ipcRenderer.on(channel, (event, ...args) => func(...args));
        }
    }
);
<button id="btn">Hey!!</button>
<span id="hoge"></span>
<script>
	document.getElementById("btn").addEventListener("click",(e)=>{
		window.hoge_hoge.send("hogeO!!");
	});
</script>

タグ

600, 800, BrowserWindow, const, createWindow, Electron, false, function, Height, mainWindow, new, NG, nodeIntegration, off, OK, path, require, true, webPreferences, Width, アレ, エラー, エレクトロン, これ, ため, バージョン, もの, リグ, 下記, 不正解, , , 使用, 公式, 場合, 対策, 感じ, , 書き方, 結果, 脆弱性, 設定, 駄目,

雲の上の図書館と雲の上のレストランを見てきた。

2020.11.12

Logging

雲の上の図書館と雲の上のレストランを見てきました。雲の上の図書館はとても良い環境だなと感じました。こんな所が学生時代、あれば結構入り浸りだったと思います。567の影響でひとはあまりいなかったわけですけど、いない中でも若者たちは結構いました、あんな山奥のなかに「でっでーん」と目新しい隈研吾さんがデザインしたモノが建っていたら、そうなるかな。でもお昼過ぎぐらい到着してたのに図書館の前の庭で遊んでいた学生さん、アレは学生さんではなかったのかな?因みに図書館の中は蔦屋書店のミニバージョン木張りと想像して頂ければ良いかなと思います。

外観より中が良かった雲の上の図書館を後にして、帰りに雲の上のレストランの外観をパシャパシャ撮影して帰りました。デザインは雲の上のレストランの建築デザインが好きでしたね。おそらく雲の上の図書館は町並みに合わして作られた感じがします。逆に雲の上のレストランは風景に映える建築デザインだなと感じました。すごくマッチしていて良かったです。

タグ

567, アレ, デザイン, なか, バージョン, パシャ, もの, レストラン, わけ, , , 到着, , 図書館, 外観, 学生, 山奥, , 建築, 影響, , 想像, 感じ, , 撮影, 昼過ぎ, 時代, 書店, , 環境, 町並み, 若者, 蔦屋, , 隈研吾, , 風景,