windowsパッケージマネージャー平たく言えば #windows

2022.10.13

Logging

おはようございます、寒さが足元から来る季節になりましたね😖。

さて、今日はwindowsパッケージマネージャーのお話をします。windowsパッケージマネージャーとはなんぞやという方もいると思いますので、簡単な説明を記載しときます。ウィンドウズパッケージマネージャーとは、Windowsにインストールされているソフトの管理をするものです。

Windowsパッケージマネージャーがインストールされていない方は、こちらのURLからインストール下さいませ。

これをインストールする事により何が良いかと言えば、ソフトウェア(アプリ)のアップデートが一括で出来たりします。コマンドプロンプトに下記のコマンドを入力すればほぼ自動でアップデートしてくれてとても便利です。

winget upgrade --all

タグ

all, upgrade, url, Windows, winget, アップデート, アプリ, インストール, ウィンドウズ, お話, こちら, コマンド, これ, ソフト, ソフトウェア, パッケージ, プロンプト, マネージャー, もの, 一括, 下記, , 今日, , 便利, 入力, 季節, , 管理, 簡単, 自動, 記載, 説明, 足元,

数珠繋ぎのツイートシステムに予約機能を付けました😂 #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, コード, これ, システム, スクロール, スケジュール, ソース, ツイート, ところ, バージョン, パラメーター, ファイル, 一部, , 予定, 予約, 事項, , 使用, 偏頭痛, , 先日, 変更等, 大変, 投稿, 掲載, 数珠繋ぎ, 更新, 機能, 機能等, 此処, 注意, 管理, 編集, 記事, 近日, 追加, ,

Laravelで再構築した2bbs-video.comをヨロシク😌

2022.08.10

Logging

こんにちは、よさこいをしている踊り子さん達へ、熱中症にはお気をつけてくださいませ。

本日はあまり使用されていなかった、2bbs-video.comをLaravelで再構築したお話を記載します。2bbs-video.comはYOUTUBE動画を共有するのに特化したサイトになります。当然、YOUTUBEのアドレスのない投稿はできません。今のところ動画の投稿内容は管理人が独断と偏見で管理します、その為、投稿していた内容が削除されるという事もあります。

2bbs-video.comのサイトキャッチャー

サイトをLaravelで再構築していて、ページネーションが半端ないぐらい楽に生成できたのは凄く便利だなって感じましたが、逆にベタで構築できる技術も必要じゃないかなって思います。

そしてLaravelにはパッケージが豊富にあるのだけど、正直な所、どれが良いパッケージ(有名所)なのか分からないので調べる必要があるなって感じました。それまでは自分で作るしか無いかもしれない、そういう所などの経験値を積まないとLaravelゴリゴリ使えますとは言えないなと。ただ、大体の勘所は掴めましたね。あとは習うより慣れろ感覚でいろいろと制作していきます😌。

タグ

2, bbs-video, com, Laravel, youtube, アドレス, お気, お話, キャッチャー, サイト, ところ, どれ, ネーション, パッケージ, ページ, ベタ, よさこい, , , 使用, 便利, 偏見, 共有, 内容, 削除, 動画, 半端, 必要, , 技術, 投稿, 有名, 本日, 構築, 正直, , 熱中症, 特化, 独断, 生成, 管理, 管理人, 記載, 調, 豊富, 踊り子, ,

マイネオの通信容量をMaxに変更した理由。

2022.08.02

Logging

おはようございます。昨日は炎天下のなか、ウォーキングをしておりました。

さて、昨日マイネオの通信容量を5GからMax枠の20Gに変更しました、これで来月から通信容量をあまり気にせずに外出先で使用できると思います。なぜ、使い放題の方にしなかったかというと20G枠にすると1.5Mのパケ放題プラスは管理画面より切り替えが可能で、それも無料で使用できる為、このプランに変更しました。そして何より5G枠と20G枠の差は600円程度の差なので、なんだか20ギガの方がお得に思えてならなかった。そんな理由でMax枠に変更しました。

因みにウォーキングの時にながらしながら歩いています。基本的に自分がウォーキングするところは、自転車や車が通らない道でかつ、人も時間帯によりますが通らない場所なのでながらしています。田舎なのでこういう事が出来る。都会で同じことをしていたら、今頃、自転車なんかと接触事故を起こしている頃なのかもなのでオススメはしません。

ともあれ、来月からは外出先での開発が捗りそうです。尚、開発と言っても誰かに委託された開発では無いのです、お金になるかは分からないことをしています。

タグ

1.5, 20, 5, 600, max, ウォーキング, おすすめ, こと, これ, それ, ところ, なか, パケ, プラス, プラン, マイネオ, , 事故, , 今頃, 何より, 使用, 可能, 場所, 変更, 外出, 容量, , , 接触, 放題, , 昨日, , 時間, 来月, , , 炎天下, , 無料, 理由, 田舎, 画面, 管理, 自分, 自転車, , 通信, , 都会, ,

お店のホームページ(サイト)の作り方その弐

2022.03.05

Logging

おひさしぶりです。
ブログを数日休んでいました。こらからは不定期という感じでブログを書いてきます。
このブログはお店のホームページ作り方その壱の続きになります。

下記が予約ボタンと地図の作成手順です、こちらの変更部分をindex.phpのファイルを書き換えてください。予約には予約システムSelectType (セレクトタイプ)を使用しているのでアカウントを作りご自身のお店に合わして管理画面から設定してみてください。

会社の地図に関しては、GoogleMapを使用しています、こちらをindex.phpに貼り付けるのですが必要ない部分があるのでその部分を削除して貼り付けています。動画を注視してみるとわかるかと思います。

予約ボタン
ぐーぐるまっぷ・ お店の地図

今回はここまでです。次回はさくらレンタルサーバにファイルをアップロードする方法とSSLの設定を行い完了となります。

タグ

6, com, GoogleMap, https, index, php, SelectType, SSL, vMSy-CCthA, watch, www, youtube, アカウント, アップロード, お店, ここ, こちら, ご自身, サーバ, サイト, さくら, システム, セレクト, タイプ, ファイル, ブログ, ホームページ, ボタン, レンタル, 下記, 不定期, 予約, 今回, 作り方, 作成, 使用, 削除, 動画, 地図, , 変更, , 感じ, 手順, 数日, 方法, 次回, 注視, 画面, 管理, 設定, 部分,

e-taxが非情に使いづらいことが分かって戸惑ったので!?

2022.02.16

Logging

おはようございます、今日も寒いですね、
寒いながらも日中は徐々に暖かさを感じるようになってきました。

さて、今日から確定申告が始まります、今回はe-taxを使って入力して見ようと思ったのですが何だか素人では難しいUI(ユーザーインターフェース:見た目)で、入力するのが何だか面倒くさいなと感じたので本日、市役所で教えてもらいながら手続きします。

こんなに使いづらいから、freeeというサービスが成り立つに違いなということが、ヒシヒシと感じました。月に980円支払って収支がインターネット上で出来て楽天銀行や地方銀行などとも連携しているので、仕事、会社用の口座を作ってしまえば何も管理せずに確定申告もボタンポチれば簡単にできてしまうというのは、盲点ですよね(多少の修正は必要かとも思います)。小さな会社では経理を雇わなくてもfreeeがあれば殆どの手間は省けるのかなって思いました。

【freee会計使い方:確定申告編1】年間の収支入力

こういう事から見直していくと結構、経費が浮くと自分は思っています、他にも今はいろいろなDXサービスがあり、探すとサブスクリプション(月額)で契約できるアプリやWEB(クラウド)サービスが沢山ありますので是非チェックしてみてください。

予約フォームを10分で作る / SELECTの予約システム

余談:デジタル庁が出来たからe-taxも見直されそうな気がします、もし一新したらfreeeなんて必要なくなるかもしれませんけどね・・・、あまり期待はしていませんが。

タグ

980, e-tax, freee, https, UI, www, youtube, インターネット, インターフェース, こと, サービス, ボタン, ぽち, ユーザー, 今回, 今日, 仕事, 会社, , 修正, 入力, 収支, 口座, 地方, 多少, 市役所, 必要, 手続き, 手間, 日中, , 本日, 楽天銀行, 殆ど, 盲点, 確定申告, 管理, 簡単, 素人, 経理, 見た目, 連携, 違い, 銀行, 非情,

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

2022.02.07

Logging

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

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

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

Computer Science is Changing Everything

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

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

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

タグ

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

Notionというアプリが定着しているけどどうなのかな。

2021.08.15

Logging

雨はシトシトと降っている、平日に土日の記事を予約投稿しています?。

非ITエンジニアの方はあまり知らない、もしくは、はじめて聞いたという方もいると思いますがITエンジニアの方々にはNotionというアプリが結構、定着しています。使用していなくてもIT界隈の皆さまは名前だけは聞いたことあるよという人は多いはずです。Notionというアプリを簡単に説明するならばメモアプリです?。

それも無料枠で結構使える、メモアプリ。どこかの記事では神アプリとも言われているぐらい良いアプリですが・・・(*´ω`*)、自分はまだこのメモアプリを使用しておりません。なので、今回どんなアプリなのかを知るために平岡雄太さんのYOUTUBE動画を視聴しました。

Notionの使い方徹底解説!Notionの魅力と基本的な使い方を解説【前編】

それを見てITエンジニアが使うわけだと思ったわけです、その理由はメモした情報をデータとして管理・整理することが出来るという所です。データベースの使い方を平岡雄太さんが詳しく分かりやすく解説していますので、これからNotionを使用したい方は必見の動画になると思います。

Notionの使い方徹底解説!データベース管理の基本を分かりやすく紹介します【中編】

因みにNotionは、日本語対応をしていないので、ページをGさんの翻訳機能を使用して使用するか英語を理解するかになります。尚、2021年中に日本語対応する可能性があります、遅れたとしても2022年には日本語に対応することになりそうです、そうなれば一気にNotionというアプリが広がりそうな気がします。そんな訳もあり今回紹介しました。

Notionの使い方徹底解説!Viewを活用して欲しいものリストや読書記録を作る【後編】

尚、自分としてはガントチャートが使用できるというのはすごく便利だなと思いました。

人気の情報共有ツール「Notion」が2021年中に“日本語対応“へ──日本第1号社員を直撃

タグ

IT, Notion, youtube, アプリ, エンジニア, こと, それ, ため, データ, データベース, どこか, パス, まだこ, メモ, わけ, 予約, , 今回, 使い方, 使用, 動画, 名前, 土日, 定着, 平岡, 平日, 情報, , 投稿, 整理, , 方々, , 無料, 理由, 界隈, 皆さま, , 管理, 簡単, 自分, 視聴, 記事, 説明, 雄太, , ,

みんなの銀行ってどうなのかって思っている人!??

2021.06.25

Logging

みんなの銀行ってどうなのかって思っている人!??は結構いると思います。みんなの銀行って何なのさと思った方のために軽く説明しときますと地方銀行(ふくおかファイナンシャルグループ)が設立したネット決済などに特化した銀行です。セブンイレブンのコンビニATMからも引き落としができるですけど・・・?、手数料が110円(平日時間帯)かかっちゃう所があるので少し現金払いの人にはネックになりそうです、逆にネット決済やレジも電子マネー払いの人にとってはメリットがあります。そしてみんなの銀行のアプリは金銭管理が管理しやすくなっているので便利そうですね?。

デビットカードをApple Payへ登録しよう <みんなの銀行>

アプリはiPhone、アンドロイド端末にも対応しています。口座開設も結構スームズに出来る所がアピールポイントなのかも。前述にも記載したとおり、みんなの銀行は金銭管理に特化した所が他のアプリと違うところです。なので、お金の管理がしやすい、何々貯蓄とかが簡単にアプリ内で出来る所は良いなと思います。使用してみたい方は下記からアプリをダウンロードして口座開設等にトライしてみてください?!。

[Sponsored]ついにスマホでATMから現金をおろせるように。持ち物を極限まで減らしたい人におすすめの、デジタルバンク「みんなの銀行」

https://itunes.apple.com/jp/app/id1521392854 ?iPhone端末

https://play.google.com/store/apps/details?id=com.MinnaNoGinko.bankapp ?アンドロイド端末

タグ

, 110, ATM, com, https, iPhone, Sm-qFiJp, watch, www, youtube, アピール, アプリ, アンドロイド, グループ, コンビニ, スー, セブンイレブン, ため, とおり, ところ, ネック, ネット, ファイナンシャル, ふくおか, ポイント, マネー, みんな, メリット, レジ, , , , 便利, 前述, 口座, 地方, 対応, 少し, , 平日, , 手数料, , 時間, 決済, 特化, 現金払い, 端末, 管理, 記載, 設立, 説明し, , 金銭, 銀行, 開設, 電子,

Laravelの勉強を始めた結果。

2021.04.08

Logging

Laravelの勉強を始めた結果。案外すんなりと初歩的な部分ははじめて2日ぐらいで覚えた感じです。自分はカートシステムを作りながらララベルを勉強中なのです。本当はECサイトの管理ツールを作ろうと考えたのですが、それにはちょっと時間がかかるので、カートシステムなら工数も少ないじゃないかなと思い、手を付けたのですが案外完成には時間がかかる気がします。会員登録やカートの管理、商品の登録などの機能を充実させる必要があります、なので恐らく自分が飽きたり、諦めたりしなければ今から一ヶ月か二ヶ月後にはDEMO版がリリースできるのではないかと考えています。

https://twitter.com/zip358com/status/1372950722795380741

尚、どんなものなのかは下記の動画より確認頂けます。テスト稼働後、有償で販売するかオープンソース化するかなどは未だに決めていません。いまはとにかく決済処理が完了するまで作ろうと思っています。

https://www.youtube.com/watch?v=dHRwuWDEv1U

タグ

2, demo, EC, Laravel, いま, カード, サイト, システム, ソース, それ, ツール, テスト, もの, ララベル, リリース, , 下記, , , 会員, 充実, 処理, 勉強, 動画, 商品, 完了, 完成, 工数, 必要, 感じ, , 時間, 有償, 未だ, 本当, 機能, , 決済, , 登録, 確認, 稼働, 管理, 結果, 自分, 販売, 部分,

アクセス履歴からの見つめ直し。

2021.03.31

Logging

アクセス解析をこのサイトには導入しているのでアクセスログが管理画面から見えます、それを見ていると昔書いた記事などを読んでくださるユーザー様がいるわけです。そしてそんな記事を自分でも読み直すこともありますし、アクセスの多いプログラムの記事に関してはテコ入れする場合もあります。日記のような記事には手直しは殆どしません、あまりにも今と昔とでは考えが変わったなと思う記事は削除する場合もあります。

そんな中で自分が退社した時の記事に昨日、アクセスがあり改めて読み直しました。読んでいて、その気持ちを忘れないようにと思える一文がありました。それは「おかげさま」という気持ちです。自分はこの「お陰様」をよく忘れることがあります。ついつい自分を通してしまうことがあるのだけど、一呼吸おいて言葉を選ばないとなと思うことがあります。

別に人格者になりたい訳ではないですが、それで結構失敗もしているのでそう思った次第です。因みにアクセス数は過去のアクセス数と変わりない感じです。正直なところあと日に500ぐらいアクセス数が欲しいところですね。

タグ

アクセス, おかげさま, お陰様, こと, サイト, それ, テコ入れ, プログラム, ユーザー, ログ, 一呼吸, 一文, , 人格者, , 削除, 場合, 失敗, 導入, 履歴, 感じ, 手直し, 日記, , 昨日, , 次第, 殆ど, 気持ち, 画面, 管理, 自分, 解析, 言葉, 記事, , 退社, 過去,

ping送信はエラー吐きまくり。

2020.11.03

Logging

FC2ブログ http://ping.fc2.com
Technorati JAPAN	http://rpc.technorati.jp/rpc/ping
NAMAAN	http://ping.namaan.net/rpc/
Blog People	http://www.blogpeople.net/servlet/weblogUpdates
BulkFeed	http://bulkfeeds.net/rpc
gooブログ	http://blog.goo.ne.jp/XMLRPC
MyBlog Japan	http://ping.myblog.jp
ココログ	http://ping.cocolog-nifty.com/xmlrpc
ブログ村 Pingサーバー広場	http://ping.blogmura.jp/rpc/
Amagle ping service	http://ping.amagle.com/
ブログスタイル	http://blogstyle.jp/xmlrpc/
JUGEM	http://jugem.jp/?mode=NEWENTRY
bolgoon	http://www.blogoon.net/ping/
人気blogランキング	http://blog.with2.net/ping.php/
ドリコム	http://ping.rss.drecom.jp
エキサイトブログ	http://ping.exblog.jp/xmlrpc
yahoo.com	http://api.my.yahoo.com/RPC2
PING.BLOGGERS.JP	http://ping.bloggers.jp/rpc/

上記のようなping一覧が在るけれど、実際機能していないものが多い。ping送信はもう時代遅れになりつつ在るのかもしれない。そんな時代遅れになりつつ存在なので、自分でping先をいちいち管理するのは、ナンセンスだと思いこの度、pingoo!(https://pingoo.jp/)というサービスのフリープランを使いだしました。因みにスパム屋さんなど、いろいろな方々が登録されているサービスなのでそれを覚悟でお試しください。

それとは別にping送信をコマンドラインから送信するPHPプログラムを作りました。自分が運用しているよさこい動画検索サイトに入れ込んでいます。ソースコードとコマンドは下記になります。

php ping.php ping
<?php

if ($argv[1]=="ping") {
	$nglist = [];
	$server = array(
		"http://ping.fc2.com",//FC2ブログ
		"http://pingoo.jp/ping/",//pingoo.jp
	);

	$site_name = "よさこい動画検索";

	$url_parameter = explode("\n", file_get_contents("../data.csv"));

	for ($i = 0; $i < count($server); $i++) {

		foreach ($url_parameter as $key => $val) {
			$parameter = explode(",", $val);
			$parameter[0] = trim($parameter[0]);
			$parameter[1] = trim($parameter[1]);
			$site_url = "https://yosakoi-video.com/?id={$parameter[0]}&q=" . urlencode($parameter[1]);
			$dev = $content = '<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>weblogUpdates.ping</methodName>
<params>
<param><value>' . $site_name . '</value></param>
<param><value>' . $site_url . '</value></param>
</params>
</methodCall>
';

			$options = array('http' => array(
				'method' => 'POST',
				'header' => 'Content-type: text/xml' . "\r\n"
					. 'Content-length: ' . strlen($content),
				'content' => $content
			));
			$context = stream_context_create($options);

			$ret = @file_get_contents($server[$i], false, $context);
			var_dump($server[$i]);
			var_dump($parameter[0]);
			//var_dump($ret);
		}
	}
}

タグ

2, Amagle, blog, BLOGGERS, bolgoon, BulkFeed, cocolog-nifty, com, fc, goo, http, https, JAPAN, jp, JUGEM, MyBlog, NAMAAN, People, ping, pingoo, service, Technorati, xmlrpc, Yahoo, いろいろ, エキサイト, エラー, ココログ, サーバー, サービス, スタイル, スパム, ドリコム, ナンセンス, プラン, フリー, ブログ, ブログ村, もの, ランキング, 一覧, 上記, 人気, , 存在, 実際, 広場, , 方々, 時代遅れ, 機能, 登録, 管理, 自分, 送信,

(github)=>{git push -u ギットハブ master;}

2020.05.27

Logging

github(ギットハブ)を知っている方はIT業界では9割近いかなとか思っているのですが・・・どうでしょうか?名前は聞いたことが有るけれど触ったことはないという方も地方ではいらっしゃると思います。ちなみに自分も名前だけ知っているような状態でした。そもそもソロみたいな感じでコード書いている人はgit(ギット)だけで十分ですし、ソースコードの管理すらしない人もいるかと思います。ひとりでギットハブを使う方は特にブランチ関係は覚える必要はないかなと思います。

git add .
git commit -m "comment..."
git remote add origin https://github.com/test.git
git push -u origin master

なので初回はこんな感じで打ち込みます。3行目でoriginと打ち込んでいると思いますがこれは、『https://github.com/test.git』をoriginとして認識させるよという事になります。originじゃなくても良いです。originじゃない場合、『push』のコマンド行を任意の文字に置き換える必要があります。

尚、ひとりで使っていてPCが壊れた時に『Pull』が必要になるかと思います。それ以外はブランチもぷるも必要ない気がします。

※gitにはいろいろなコマンドオプションがあるようですね…。
例えば下記のようなコマンドを打つと『git add .』を省略することが可能だとか、どういう意味かは割愛します。必ずぐぐってくださいね。

git commit -a -m "comment..."

githubではhtmlやjsは使用できるので無料でサイトを構築することも可能です。ポートフォリオとしてのページをgithubで作っている人も多いみたいです。
『ソースコード管理する事自体が面倒くさい‥な』と思っている方は考え直してください、ソースが消えちゃった事やチームで何かを作ったりレビューしたりするときの事を考えてくださいな。

じぶんの説明がわからない方はこちらに完結に説明している動画がありますので参照くださいね(´・ω・`)

.NETラボ講演「今更聞けないGit/GitHub入門とVisual Studio Codeから使う」2017/1/28

追記:github強制プッシュを無効にする方法
https://next.rikunabi.com/journal/20170516_t12_iq/

タグ

-m, , , Add, com, comment, commit, git, github, https, IT, master, origin, push, quot, remote, test, u', キット, ギットハブ, コード, こと, これ, ソース, ソロ, ひとり, ブランチ, , 初回, 名前, 地方, 必要, 感じ, , 業界, 状態, 管理, 自分, 関係,

WordPressのメディアライブラリについて愚痴る。

2020.01.08

Logging

過去のデータベースを引き継いでいればメディアライブラリのデータは
壊れないが、途中でXMLなどデータをインポートすると
メディアライブラリでは管理出来なくなってしまう。

これを呼び戻すには Add From Server やmedia from ftpなどのプラグインを
使用して呼び戻すしか無いようだと思っていたが、唯これをしてしまうと
いささか問題があるので使えない。
このプラグインは基本的に新規で構築する際に
画像をFTPで一先ず一括アップロードして使用する場合などに対しての
プラグインである物なのでいささか違う。

なので今回、自分で自作しようと思っていたが、、、
特に過去の画像を編集するつもりもないので辞めた。
ちなみにメディアライブラリの画像はwp_postsとwp_postmetaに
保存されている。

下記のURLを見て昔、これでトラブルになった事を思い出した。
WordPressで画像はどのようにデータベースに記録されているか

上記のようなことから、データベースの画像の欠損を復元するのは
正直なところ面倒。投稿データには大体、データは残っているのだが
メタデータが欠損していてメディアライブラリに表示されないということが
殆どだと思うが、このメタデータを復元するのは至難、なぜなら
投稿データって使っているIDとメタデータのIDのリンクを上手く結びつける
事ができないからとてもエンジニア泣かせである。

要するにメタデータIDの方が以前使っていたIDを別の要素のIDが
使っていたりして…。
これを整理しながら元に戻すのは非常に至難だと言うこと。

なので、結論を言えばちゃんとデータベースのバックアップ取りましょう?

タグ

Add, from, FTP, media', postmeta, posts, SERVER, url, WordPress, wp, xml, アップロード, インポート, これ, つもり, データ, データベース, トラブル, プラグイン, メディア, ライブラリ, 一括, 下記, , 今回, 使用, 保存, 問題, 場合, 新規, , 構築, , 画像, 管理, 編集, 自作, 自分, 記録, 途中, 過去, ,

gitとかgithubとかgitlabを一通り勉強して

2019.06.02

Logging

gitとかgithubとかgitlabを一通り勉強して
githubやgitlabは遠隔でプロジェクト組んで開発する人以外には
必要ないような気がします。
確かにGUIでほぼ面倒な手順は消えてなくなります。
gitとは何かバージョン管理と言われます、
簡単に言えばファイルの世代管理です。
githubやgitlabは何か、リポジトリ管理です。
リポジトリ管理とはなにか、簡単に言えば
バージョン管理を集約したものを管理するものと思ってください。
リポジトリというものを管理したいディレクトリの配下に
置くことでその中のファイルはコマンド打てば
管理下に置くことが出来、世代管理が可能になるということ
ただ、それだけの事です。
ローカルで管理していたものをリモートに置く場合、
プッシュ=アップロード。ダウンロードしたい場合は
プルという事。管理したいファイルはアッドする。
コミットをした時点でファイル履歴となる等など…。
複数人で開発する場合は
グールプを作りその中にユーザを作成し
ローカルからリモートへ接続を行えば良い…
これぐらい覚えとけば良いかなと後はブランチ機能なども
ありますが、この機能を使用すると複雑怪奇になりそうな気がします。
 

タグ

git, github, gitlab, GUI, アッド, アップロード, こと, コマンド, コミット, それだけ, ダウンロード, ディレクトリ, バージョン, ファイル, プッシュ, プル, プロジェクト, もの, リポジトリ, リモート, ローカル, 世代, , , , 勉強, 可能, 場合, 手順, , 管理, 簡単, 遠隔, 配下, 開発, 集約, 面倒,

windows10 1809 不具合 Chromeが繋がらない(タイムアウト)

2019.02.02

Logging

windows10アップデート後(1809) 不具合 :Chromeが繋がらない
(タイムアウト)の対応策。
初期化して再度OSを入れ直すのもアレなんで対応策として
スタートアップ時にBatを走らせる事にした。
管理者権限にするBatとネットワークサービスを再起動するBatで
なんとか次期OSのアップデートかGさんが解決してくれる事を
期待しています。
それまでコンピュータ管理のサービスとかも停止せず待っときます。
Batは下記になります。
追記:
累積アップデートで直りましたと言いたいところだけど
一度、累積アップデートの一部を削除して再度、累積アップデートを
適応したら直りました・・・。

net stop CryptSvc
net start CryptSvc
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "Start-Process (管理者)ネットが繋がらないよ.bat -Verb runas"

タグ

-ExecutionPolicy, -NoProfile, 10, 1809, Bat, Chrome, CryptSvc, net, OS, powershell, start, stop, unres, Windows, アップ, アップデート, あれ, コンピュータ, サービス, スタート, それまで, タイムアウト, ところ, ネットワーク, 一度, 一部, 下記, 不具合, , 停止, 再度, 再起動, 初期, 削除, 対応策, 期待, 権限, 次期, 管理, 管理者, 累積, 解決, 追記, 適応,

SSH.NETでSFTPとSSHの接続を確立させるまでの過程。

2016.12.11

Logging

SSH.NETでSFTPとSSHの接続を確立させるまでの過程。
ソースコードは下記です、あくまでも触りなのでココからご自分で考えて作り変えてください。ちなみにSSH.NETのライブラリを入手するには拡張機能からNuGet Package Managerという拡張機能を追加するとツールのNuGetパッケージマネージャーが現れるので、ソリューションのNuGetパッケージ管理からSSH.NETと検索しインストールすることによりライブラリが使用できます。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using Renci.SshNet;
using Renci.SshNet.Common;
using Renci.SshNet.Sftp;
namespace ftp
{
    public partial class Form1 : Form
    {
        String Host = "168.192.11.1";
        int Port = 22;
        String RemoteFileDIR = "/root/";
        String LocalDestinationDIR = "C:\\Users\\hoge\\Documents\\BACKUP\\";
        String Username = "admin";
        String Password = "hogehoge";
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            ssh_cmd();
        }
        private void dl(string filename) {
            using (var sftp = new SftpClient(this.Host, this.Port, this.Username, this.Password))
            {
                sftp.Connect();
                using (var file = File.OpenWrite(this.LocalDestinationDIR + filename))
                {
                    sftp.DownloadFile(this.RemoteFileDIR + filename, file);
                }
                sftp.Disconnect();
            }
        }
        private void ssh_cmd() {
            SshClient ssh = new SshClient(this.Host, this.Username, this.Password);
            ssh.Connect();
            string command = "cd /root && ls";
            string[] str_result;
            string str_results;
            char ptn ='\n';
            int i =0;
            var result = ssh.RunCommand(command);
            //MessageBox.Show(result.Result);
            str_results = result.Result;
            str_result = str_results.Split(ptn);
            ssh.Disconnect();
            for ( i = 0; i < str_result.Length; i++) {
                //MessageBox.Show((str_result[i]));
                if (str_result[i] != "")
                {
                    dl(str_result[i]);
                }
            }
        }
    }
}

タグ

Collections, ComponentModel, data, Drawing, Generic, Linq, Manager, net, NuGet, Package, SFTP, SSH, System, Tasks, Text, Threading, using, インストール, コード, ココ, こと, ご自分, ソース, ソリューション, ツール, パッケージ, マネージャー, ライブラリ, 下記, 使用, 入手, 拡張, 接続, 検索, 機能, 確立, 管理, 追加, 過程,

memo_one-メモった―っていう軽量アプリを作ってみた。

2015.09.13

Logging


VisualStudio2015フリー版でmemo_one-メモった―っていう軽量アプリを作ってみた。
只今、ベクターにアプリ申請中ですが、
こちらでも公開します。ちなみにフリーソフトですが寄付は歓迎です的なw、、、。
どういうソフトなのかと言うと、日々のメモを管理するアプリです。
操作に関しては習うより慣れよっていう感じですが・・・。
これを作った経緯は、仕事をしている時にいままでExcelにメモ機能をつけて
管理していたのですがExcelでメモを見るのが見づらくなってしまって
この際、ExcelのVBAで作るのではなくてVSでつくちゃおうと
思って作りました。解像度により見栄えが悪くなる不具合があるかもしれません。
その場合は@zip358comへご連絡ください。
DLはこちらから。https://zip358.com/tool/memo_one.zip

タグ

AM, DL, Excel, memo_one, VBA, VisualStudio2015, VisualStudio2015フリー版, zip358com, アプリ申請中, フリーソフト, ベクター, メモ, メモ機能, 只今, 寄付, 操作, 日々, 管理, 経緯, 見栄え, 解像度, 軽量アプリ,