npushを試験運用します.誰でも使用できるように急遽対応しました.

2024.10.19

Logging

おはようございます.npushを試験運用します.作り出してから一二週間ぐらい経過したと思いますが、一応、運用できる状態になったのでご報告です.まだユーザーさんは通知機能を使用することは出来ません.毎日のアクセス数が100ぐらいになったら会員登録を開放しようと思っています、そして会員数が100人ぐらいになれば通知機能をユーザーさんに使ってもらおうと思っていますが、そんなに甘くはないので、ずっと停止中のままなのかもしれないです.

余談として技術的なことを少し話すとフレームワークはLaravelを使用しています.フロント側はReactを使用しています.viteというものでビルドしているのでさくらレンタルサーバーでも動いています.

データベースはさくらレンタルなのでご想像どおりです.特に難しい技術は使用していません.人により難しいと思う人もいるかも知れませんが苦労した点は無いです.アピールポイントはロゴですねー.このロゴ、イラレを使用して作ったのですが保存し忘れてpng画像とかしか無いのです、なので一点物になります.同じようなものは作れますが同じものは作れないです.そこだけが後悔していますがロゴは良いのが出来たと思っています.

最後にリンクを貼っときます.
https://npush.start-line-system.com/

明日へ続く.

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

Laravel, npush, png画像, react, vite, アピールポイント, イラレ, ご想像どおり, さくらレンタル, さくらレンタルサーバー, データベース, フレームワーク, フロント側, ロゴ, 余談, 停止中, 最後, 試験, 通知機能, 難しい技術,

Photo by fauxels on Pexels.com

データベースサーバをアップグレードしました.MYSQL8系

2024.09.23

Logging

おはようございます.本日、レンタルサーバーのデータベースサーバをアップグレードしました.MYSQL8系に....少々恐いが出来ていると思います.

連休最終日に夜な夜な起きてアップグレードを行ったわけだけど、データベースの以降や何やらは苦手ですねー.シームレスに移行できればよいのだが、何処かで大なり小なりトラブルが起きるわけでそれを迅速に対応できるかが焦点になると思います.

何故、サーバー以降が深夜帯が多いかと言えば深夜はやっぱ皆さんお休みされていて、閲覧者さんが日中よりも比較的に少ない場合が多いので大体、深夜帯にサーバー以降が多い.

それは昔も今もあんまり変わってなくて金融系は今でも深夜帯にサーバーメンテナンスを行っている.何かトラブルがあっても翌朝までに対応できればセーフというわけです.何か有れば最悪だけども大体、トラブルがあった場合は昨日まで動いていた状態で運用することが多い.要するにアップデートを取りやめたりアップグレードを取りやめたりする.

はぁーこわやこわや.

明日へ続く.

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

MYSQL8系, アップグレード, サーバーメンテナンス, サーバー以降, セーフ, データベース, データベースサーバ, トラブル, やっぱ皆さんお休み, レンタルサーバー, 何処か, 多い., 日中, , 深夜, 深夜帯, 焦点, 翌朝, 連休最終日, 金融系,

ギャラリー(Gallery)とBBSを追加しました.前々から追加し...

2024.08.29

Logging

おはようございます.ギャラリー(Gallery)とBBSを追加しました.前々から追加しようと思っていた訳でもないです.突発的に作ってみようと思いになり土曜日と日曜日にそれぞれ機能を追加した形になります.

内部的なコードは差し控えるものの、Galleryにはデータベースを使用していません.BBSはDBを使用しています.そしてGalleryは全てオリジナルコードですが、BBSはLaravelのライブラリを局所的に取り入れています.例えば表示はBladeONEを使用しています.そんな感じなので工数的にはどちらも半日程度で組み立てました.

composer require eftec/bladeone

作っていて思ったのが、Laravelを使用する程でもない、だけどバニラで作ると面倒だと思うサービスは局所的にLaravelのライブラリを使用することで短時間で制作することが可能になるなってこと.それはちょっと小規模と中規模の間ぐらいのサービスを作りたいときに適していると思いました.

明日へ続く.

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

BBS, BladeONE, composer require, db, eftec, Gallery, Laravel, ギャラリー, コード, データベース, バニラ, ライブラリ, 前々, 半日程度, 土曜日, 日曜日, , 規模, ,

L11が登場.

2024.03.28

Logging

おはようございます、ララベル11がリリースされました.PHP8.2から使用できるようです、いろいろとスリム化されたり機能が加わったりしているようです.下記の動画をGeminiに何を話しているのか要約してもらうようにしました.

Welcome Laravel 11

レベル11は、Laravelアプリケーションの開発をより簡単にするために設計された新機能が満載の、大幅な改善が加えられた新しいリリースです。

ビデオでは、レベル11の新機能がいくつか紹介されています。そのうちのいくつかは次のとおりです。

・アプリケーションフォルダの構造が簡素化されました。不要なファイルが削除され、より直感的に操作できるようになりました。
・新しいデフォルト設定により、新しいLaravelアプリケーションのセットアップがより簡単になりました。データベースの設定など煩わしい作業が不要になりました。
・アプリケーションの健全性を監視するための新しいヘルス機能が追加されました。これにより、アプリケーションが正常に動作していることを確認しやすくなりました。
・アプリケーションキーの変更がより簡単になりました。新しいキーのローテーション機能により、ユーザーがロックアウトされるのを防ぐことができます。
・ジョブのテストが簡素化されました。新しいアサーションメソッドを使用すると、ジョブが期待通りに動作していることを簡単に確認できます。

https://gemini.google.com/

ということらしいので、今までのLaravelとはかなり違った感じになっています.laravelshiftサービスなどを使用すれば比較的に簡単に移行できるようです.

明日へ続く.

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

gemini, Laravel, laravelshiftサービス, Laravelアプリケーション, アプリケーション, アプリケーションキー, アプリケーションフォルダ, うち, ジョブ, データベース, テスト, とおり, ビデオ, ララベル11, ローテーション機能, ロック, 新しいLaravelアプリケーション, 新しいアサーションメソッド, 構造, 煩わしい作業,

Laravelのappとresolveでインスタンス。

2023.07.29

Logging

おはようございます、この頃、技術的な記事を書いていなかったのでLaravelのことについて語ります。Laravelのappとresolveでインスタンスしてくれる便利な機能があります。使い方は下記を参照してください。

$result = resolve('App\SomeClass')->someMethod();
$result = app('App\SomeClass')->someMethod();

では、これは何をするでしょうか。Factory(ファクトリー)はどんな機能なのかをBardに説明してもらいました。

LaravelのFactoryは、テストでデータベースを使う代わりに、データの生成方法を定義して、そのデータをテストで使うことができる機能です。
例えば、ユーザーモデルのテストをするときに、Factoryを使ってユーザーを生成することができます。そうすることで、データベースを使う必要がなくなり、テストが高速化されます。
また、Factoryを使うことで、テストで使用するデータの作成を自動化することができます。これにより、テストの保守性が向上します。
Factoryは、Laravelのテストを書くときに、非常に便利な機能です。
// 1つのデータを生成
$user = factory(App\Models\User::class)->create();

// 複数のデータを生成
$users = factory(App\Models\User::class, 5)->create();

appとresolveを知っていた人は恐らくFactoryも知っているかも知れません。Laravelのドキュメントを隅から隅まで読めば参考書は要らない気がします。英語がスラスラと読めるようになりたいなってこういう時に思います。

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

App, AppModelsUser, AppSomeClass&#39, Bard, class, create, Factory, gt, Laravel, resolve, result, someMethod, user, users, データベース, ドキュメント, ファクトリー, 生成, ,

眠れるサイトを再構築したって話。 #phpcode

2023.03.25

Logging

おはようございます、お腹がキリキリ痛む時があります、プレッシャーでしょうか?

今日は眠れるサイトを再構築したって話です、このサイト、放ったらかしにしてもう10年以上の年月が経過しているのですが、まともに稼働したことがありません。今回、そんな眠れるサイトを再構築しました、このサイトで出来ることは24時間しか投稿が表示されない。

掲示板サイトです、24時間後には投稿が自然消滅します、厳密に言えばデータは保管されているのですけど、表示されないような処理を書いています。なので、表面上は表示されません…。

24時間後にデータを消しても良いのですが、もし何かの問題が起きた時にデータを提出出来るようにデータはデータベースに保管しています。

このサイトで問題が起きた場合、自分のTwitterアカウントか運営しているサイトのアカウントにDM無いしReしてくれたら対応を行います。

因みにこのサイトはものの数分で構築しました・・・・。見る人が見れば簡単やなって呟くことだと思いますが、複雑なサイトがウケるとも限らず案外、簡単なものがウケる場合もあるだと思います。

トイウコトデ、釣りMAPというサイトも名前改めて釣りったーに改名して近々リリースします。近々が何時になるかは分からないですが・・・😂。

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

24時間, 24時間後, DM, map, Twitterアカウント, アカウント, お腹, データ, データベース, トイウコトデ, プレッシャー, 処理, 名前, 問題, 年月, 投稿, 掲示板サイト, 自分, 表面上, ,

laravel入門書コンプリートしたけどなんか😅。 #laravel

2022.12.27

Logging

おはようございます、クリスマス・イブは普段と変わりない日常でした。彼女は引き続き募集しています😧(冗談w)。

さて、Laravel入門書は一通り走らせてみました。すべての機能を覚えた訳でもないけどこういう事が出来るだということは頭の片隅に残っています。後半のデータベースの内容になってデータベースの設計も大事なんだな。特に名前付けが大事になるとはある程度知っていたけど、ここまで尾を引く感じになっているものとは驚きでしたね。

今まで独自フレームワークで開発していたので、こういう所が緩かった気がします。Laravelの良さを引き出すにはこういう所(テーブル名の命名やフィールド名の命名)も大事になるだろうな。

ただ、先日呟いたhasOneとhasManyに関しては使用しづらいって感じがあります。そもそもメソッドを使用してSQL文を発行するのが、非情にやりづらさを感じるので出来れば、DB::row(…)->setBindings(※1)でなんとかしたいなという気持ちがあります。もしくはDB::table(…)->get()とかで・・・。

※(※1)を使用する場合は疑問符プレースホルダーで使用しましょう。名前付きプレースホルダーは使用できないみたい_(:3」∠)_。

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

db, GET, gt, hasMany, hasOne, Laravel, Laravel入門書, row, setBindings, SQL文, TABLE, イブ, データベース, フレームワーク, メソッド, 一通り, 名前付きプレースホルダー, 命名, 片隅, 疑問符プレースホルダー,

新さくらレンタルサーバーが昨日から使えるようになっている。

2022.02.17

Logging

おはようございます、今日の朝は一段と寒さを感じました。

さて今日はレンタルサーバーの話です。タイトル通り新さくらレンタルサーバーが昨日から使えるようになっているので使用してみました😌。

処理能力は確かに早くなっている気がします、まだブログなどを取り扱っていないのでどこまで早くなっているかは計測できてはいません。何故、ワードプレスなどを使用すると表示速度が遅くなるのかという疑問を持つ人も多いと思います。答えは一概に言えないのですが。記事数が増えてくるとデータベース(保管庫)から記事を探し出すのが遅くなるという理由が第一に上げられます。その他、レンタルサーバー側の通信速度やデータベースの処理能力が遅い、レタリング能力が遅いなどいろいろな理由により表示速度が変わります。

レンタルサーバーを使用していたとき、TOPページなどは表示速度が早いけど記事ページになると遅いというサイトを見かける人もいるかと思います、これはキャッシュ(一時的保存)という技術を取り入れているからです。この方法を取り入れると良くアクセスするサイトは表示速度は早いけど、あまり参照しないページは遅くなるという事に繋がります。

ここまで話しましたが表示速度を本当に改善したい場合はレンタルサーバーをグレードアップさせるよりもサーバー側の通信速度を改善するのが一番手っ取り早く表示速度が早くなります。

プラグインを導入したり、画像を軽量化するなどの巷に溢れる情報で改善するよりか、サーバーサイドの通信速度を見直すこととサーバー側の処理能力を見直すことの方が断然に表示速度が早くなります。

因みに今日から自分が作った掲示板サービスを運用します、こちらでの告知はもう少し後になります。

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

TOP, いろいろ, キャ, これ, サーバー, サイト, さくら, その他, タイトル, データベース, とき, どこ, プレス, ブログ, ページ, レタリング, レンタル, ワード, , , 今日, 使用, 保管, 処理, 昨日, , , 理由, 疑問, 答え, 能力, 表示, 計測, 記事, , 通信, 速度,

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号社員を直撃

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

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

LINE messaging apiでブログの配信通知するプログラムコード。

2021.07.14

Logging

暑い日が続いています、夕立になった後のアスファルトの匂いを嗅ぐと夏だなぁって思うのは自分だけでしょうか?
さてLINE messaging apiでブログの配信通知するプログラムコードを書きましたのでお裾分けします?、コードはいつもの通りコメントなんてものはありません。この2つのコードは何をしているのかだけ、解説しますね。

1つ目のコードは私のLINEチャンネルを友だち追加してくれたら、データベースにuseridを登録するコードです。解除したらuseridの削除もちゃんとしています。

2つ目のコードは私のLINEチャンネルに登録してくれた方々に最新の記事を送信しています。自分は毎日、9時に最新の記事を送信するようにcron登録しました。

一部、defineを設定している部分がありますのでコードに追加してください、よろしくお願いします?
※LINEチャンネル登録よろしくお願いします。

<?php
    class line{
        function webhook($webhook_object=null){
            if(!$webhook_object)return false;
            $obj = json_decode($webhook_object);
            $type = $obj->events[0]->type;
            $userId = $obj->events[0]->source->userId;
            $replyToken = $obj->events[0]->replyToken;
            if($type==="follow"){
                $pdo = self::db();
                if($pdo){
                    $sql = "insert into user (userid)values(:userid)";
                    $sth = $pdo->prepare($sql);
                    $sth->bindValue(":userid",$userId,PDO::PARAM_STR);
                    $sth->execute();
                }
            }
            if($type==="unfollow"){
                $pdo = self::db();
                if($pdo){
                    $sql = "delete from user where userid = :userid";
                    $sth = $pdo->prepare($sql);
                    $sth->bindValue(":userid",$userId,PDO::PARAM_STR);
                    $sth->execute();
                }
            }
            if($type==="message"){

            }
        }

        function db(){
            try {
                $pdo = new PDO(DSN,USERNAME,PASSWORD);
                return $pdo;
            } catch (\Throwable $th) {
                //throw $th;
                return false;
            }
        }
    }


    if($data = file_get_contents('php://input')){
       print line::webhook($data);
    }
<?php
    class blog_post_msg_line{

        function db(){
            try {
                //code...
                return new PDO(DSN,USERNAME,PASSWORD);
            } catch (\Throwable $th) {
                //throw $th;
                return false;
            }
        }

        function rss(){
            $obj = simplexml_load_file("https://zip358.com/feed");
            $post_message[2] = $obj->channel->item[0]->title ."\n". $obj->channel->item[0]->link;
            $post_message[1] = $obj->channel->item[1]->title ."\n". $obj->channel->item[1]->link;
            $post_message[0] = $obj->channel->item[2]->title ."\n". $obj->channel->item[2]->link;
            return $post_message;
        }

        function main(){
            $pdo = self::db();
            if($pdo){
                $post_message = self::rss();
                $sql = "select userid from user;";
                $sth = $pdo->query($sql);
                $res = $sth->fetchAll(PDO::FETCH_ASSOC);
                if($res){
                    foreach($res as $key=>$val){
                        $user_id = $val["userid"];
                        self::line_post($user_id,$post_message);
                    }
                }
                
            }
            
        }

        function line_post($user_id ='',$post_message=null){
            $text = [
                [
                    'type' => 'text',
                    'text' =>"最新の記事をお届けします"
                ],
                [
                'type' => 'text',
                'text' =>$post_message[0]
                ],
                [
                    'type' => 'text',
                    'text' =>$post_message[1]
                ],
                [
                    'type' => 'text',
                    'text' =>$post_message[2]
                ]                                
            ];
            
            $message = [
                'to' => $user_id,
                'messages' => $text
            ];
            
            $message = json_encode($message);
            
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . ACCESS_TOKEN, 'Content-Type: application/json'));
            curl_setopt($ch, CURLOPT_URL, 'https://api.line.me/v2/bot/message/push');
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
            curl_setopt($ch, CURLOPT_POSTFIELDS, $message);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            $res = curl_exec($ch);
            curl_close($ch);      
        }
    }

    if($argv[0]){
        blog_post_msg_line::main();
    }  

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

, 2, , API, cron, define, line, Messaging, userid, アスファルト, いつも, お裾分け, お願い, コード, コメント, チャンネル, データベース, ブログ, プログラム, もの, 一部, , 削除, 匂い, 友だち, , 夕立, , 方々, , 最新, 毎日, 登録, , 自分, 解説, 解除, 記事, 設定, 追加, 送信, 通り, 通知, 部分, 配信,

外部VPSサーバーからさくらレンタルサーバーのDBに接続する方法。

2020.12.04

Logging

外部VPSサーバーからさくらレンタルサーバーのDB(データベース)に接続する方法は下記のコードだけでは上手く動かない。だけど、tmpファイルを生成時にパーティションにu+xの権限を与えればこのコードは要件をみたします。因みにプロセスが残ったままになるので接続が終わったら、プロセスを削除してあげてください。なのでどのプロセスを削除する機能として追加しないと使えないかな?、時間があれば完成したコードをアップします。

なお、変数の初期値はご自身で入れてください。あとポート開放expectが入っていない場合はyumなどでインストールする必要もあります。

<!DOCTYPE html>
<html lang="en">

<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.5.2/css/bootstrap.min.css">
	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.0/css/all.min.css">
	<link rel="stylesheet" href="assets/css/style.css">
	<title>ssh sqli</title>
</head>

<body>
	<?php
	print ssh_sqli_connect();
	?>
	<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.5.2/js/bootstrap.min.js"></script>
</body>

</html>
<?php
function ssh_sqli_connect()
{
	global $dblink,$dbname,$sshuser, $sshhost, $sshpassword,$host,$sshport;
	$ret = null;
	$cmd = "#!/usr/bin/expect -f
set timeout 3
expect -c \"spawn ssh -f -N -L $sshport:$host:3306 $sshuser@$sshhost -oStrictHostKeyChecking=no
expect \\\"$sshuser@$sshhost's password:\\\"
send \\\"$sshpassword\\n\\\"
\"
";

	$tmpfname = tempnam(sys_get_temp_dir(), 'ssh');

	$handle = fopen($tmpfname, "w");
	fwrite($handle, $cmd);
   	shell_exec("sh $tmpfname");
	sleep(3);
	$dblink = db_connect();
	try{
		for($id = 1 ;$id<=99;$id++){
			$ret = $dblink->query("SELECT * FROM $dbname.X.xtbl where $dbname.X.xtbl.id=$id;");
			if ($cnt = (int) mysqli_num_rows($ret)) {
			  $row = mysqli_fetch_assoc($ret);
			  print ($row["id"].", ".$row["name"]);
			}
		}
	}catch(PDOException $e){
		echo "失敗: " . $e->getMessage() . "\n";
	}

	fclose($handle);
	unlink($tmpfname);

	db_close();
	return "未完成";
}

function db_connect()
{
	global $dblink, $host, $user, $password, $dbname,$sshport;
	try {
		$dblink = new  mysqli("127.0.0.1", "$user", $password, $dbname ,$sshport);
		//$dblink->set_charset("utf8");
		return $dblink;
	} catch (PDOException $e) {
		echo "接続失敗: " . $e->getMessage() . "\n";
	}
}

function db_close()
{
	global $dblink;
	$dblink->close();
}

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

8, charset, db, DOCTYPE, en, expect, gt, head, html, lang, lt, meta, name, quot, tmp, UTF-, vie, VPS, yum, アップ, インストール, コード, ご自身, サーバー, さくら, データベース, パーティション, ファイル, プロセス, ポート, まま, レンタル, 下記, 初期, 削除, 場合, 変数, 外部, 完成, 必要, 接続, 方法, 時間, 権限, 機能, 生成, 要件, 追加, 開放,

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

2020.01.08

Logging

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

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

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

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

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

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

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

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

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

年賀状CSVを作りました。SJISで保存してください。

2018.12.30

Logging

https://zip358.com/tool/nenga/
ブラウザ上で完結しています。
禁則処理などはありません、ただ純粋に入力したものが
CSV形式の文字列で出力されます。
これ何のために使えるかといえば
https://nenga.yu-bin.jp/
こちらのサイトで住所録を登録する際に使用できます。
タイトルにも描きましたがSJISの文字コードで出力をお願い致します、
また、データベースに保持などはしていないため
リロードしてしまうと全てのデータが消えてしまいます。
これを作った経緯。
自分が郵便年賀.jpで登録するのが面倒だったため作りました。

著者名  @taoka_toshiaki

※この記事は著者が30代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

358, com, CSV, jp, nenga, SJIS, tool, yu-bin, zip, お願い, コード, こちら, これ, サイト, タイトル, ため, データ, データベース, ブラウザ, もの, リロード, 住所, , 使用, 保存, 保持, 入力, 全て, 処理, 出力, 完結, 年賀, 年賀状, 形式, 文字, 文字列, 登録, 禁則, 純粋, 経緯, 自分, 郵便, , 面倒,

ドロップシッピングのTOPページの仮の仮が出来て思うこと。

2018.07.08

Logging


高知県のNTT通信障害が無ければ昨日のうちに
仮の仮ページは作成することができていたように思えてならないのです。
一番、時間がかかったのは商品データの流し込みです。
数時間、流し込みに時間がかかりました・・・orz
(シェルスクリプト走らせて寝てました:起きたら出来てた!)
ちなみに383355点の商品があったのですが、登録できたのは383313点です、
少しSQLエラーで商品がコケちゃっているのです。
まぁ良いかなと、、、。

 
 
 
全商品近く登録すると2Gぐらいの商品データになります。
この中から、売れ筋商品だけをまずチョイスして
TOPページに出力するプログラムを作りましたが意外にも
表示が早くてびっくりです。
やはりMYSQLのINDEXとか設定すると違うんだなと思った次第です。
データが破損したら嫌なんでローカルのデータベースに
ごっそりコピーしています。
最初、850MGのCSVを515円のデータベースへ流し込みを
していたのですが、どうも容量制限よりデータが撥ねられていた可能性が
あります、もしさくらレンタルサーバーとかでドロップシッピングのCSVを
データベースに流し込みするには1500円代以上のサーバをレンタルしないと
いけません。その代金の元を取ることが出来るかどうかは?
構築とサイトデザインとかと・・運用方法が大事になるのかもしれないです。
一番は運用なんだと思います、いかに買いたいなと思わせるのかが
大事になるでしょう。二番目はサイトデザインかなと、怪しげなサイトでは
商品は中々購入しないと思うのです。
この2つが満たしていれば購入する確率は高くなると思います。
いまいろいろなショップサイトデザインを見て勉強しています。
 

著者名  @taoka_toshiaki

※この記事は著者が30代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

CSV, MYSQL, NTT通信障害, TOPページ, インプレスムック, さくらレンタルサーバー, シェルスクリプト, スキマ時間, データベース, ドロップシッピング, プログラム, 二番目, 副収入, 商品データ, 売れ筋商品, 少しSQLエラー, 流し込み, 高知県,

マイナンバー制度がやってくる。10月から!!

2015.08.18

Logging


マイナンバー制度がやってくる。10月からはじまるそうですよ・・。この頃、メディア全然、話題に取り上げなくなったマイナンバー制度ですが、10月には執行され国民にマイナンバーがふられるようになるのです。おそらく半数の人が忘れているのではないかなと思っています。ちなみにマイナンバー制度、結構、反対していたのですが、いまは若干賛成よりになっています。どんな所が賛成なのかというと自分の個人情報を誰がいつ見ているのかが分かるようになっている所です。今までみたいに雑に扱われないように少しなった所が良いのではないかなと思います。反対する点はやはり個人情報の漏洩部分です。おそらくコレが一番、ネックになっていると思います。ちなみにマイナンバー制度と対になっているかは分かりませんが、会社も国のDB(データベース)に集約されるらしくて(企業コード)、こちらは国民が会社検索可能になるだとか。こういう新しいサービスは良い面もありますが、悪い面も持ち合わせているなと感じます。始まっていきなり個人情報の漏洩とかになったら・・。
 
 

著者名  @taoka_toshiaki

※この記事は著者が30代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

, db, コレ, データベース, ネック, マイナンバー制度, メディア, 企業コード, 会社検索, 個人情報, 半数, 国民, , 悪い面, , 新しいサービス, 漏洩, 漏洩部分, 良い面, 若干賛成, 話題,

WordPressを別のURLへ移行する方法。

2015.07.08

Logging


WordPressを別のURLへ移行する方法ですが、いろいろと巷では、WordPressのPHPを修正すれば良いよとか記載していますが、本当はこれだけで良いはずです。WordPressが保管されているデータベースのデータの任意のURLを全て置換するという方法です。そうすればエラーなどもなく移行することが可能ですが、ただ、データが多いと結構、大変な作業です。全てのURLを直さなくて良い場合などは・・・大変な作業になることは間違いないです。ほぼ、人力ですね。一括置換で良さそうな場合はすごく手間がかかりません。下記の方法がよく見かける方法ですが・・・おそらく上手くいきませんという場合が多いです。

WordPressのindex.phpの中の
require(‘./wp-blog-header.php’);

require(‘./wordpress/wp-blog-header.php’);に変更。

著者名  @taoka_toshiaki

※この記事は著者が30代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

index.php, require, url, WordPress, wp-blog-header.php', エラー, これだけ, データベース, 一括置換, 下記, 人力, 作業, 全て, 変更, , 手間, 方法, 良いはず, 良い場合,

Twitterの公開、非公開をつぶやきで切り替える仕様になるとか・・アレから

2014.12.16

Logging

Twitterの公開、非公開をつぶやきで切り替える仕様になるとか一部、IT記事で書かれていたけど全然進展がないのは何故?米国では対応済みなのかな・・・・。もしそうだとしたら日本でも早く適応してもらいたいです。それさえ有れば、Twitterは、かなり便利なWEBツールになると思うのですけどね。二段階認証とかよりも・・・こういうことに力を入れて欲しいです。
最近、Twitterのカメラの編集機能がインスタグラム仕様に変更されましたけど何だか使いにくいですね。スライド式で選べるようになると便利なんだけど、今のところアイコン触らないと変換してくれないトコロが不便さを感じます。何だかんだ言ってTwitterやFacebookって米国生まれなので新しい機能が追加されても日本とかは英語圏ではないのでかなり対応が遅めですよね。そこら辺、融通が効いて欲しいところです。
 
余談:Facebookで過去投稿を検索できるようになりましたけど、日本語非対応なんですね。どういった形でDB(データベース)に文字コードを保存しているのか気になります。普通のDB保存方法ではないことは確かだと思います、UTF-8の文字コードをDBに保存し検索するのは苦ではないはずです。なので文字コードをそのまま保存していないということでしょうね(アタリマエか?)、たぶん文字コードを圧縮して保存しているに違いないというふうに考えてます。ちなみに間違っているかもしれませんがFacebookはDB形式はNOSQLではなくてRDBMSだったと思います。

著者名  @taoka_toshiaki

※この記事は著者が30代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

DB保存方法, DB形式, Facebook, NOSQL, RDBMS, Twitter, utf-8, アタリマエ, インスタグラム仕様, スライド式, そこら辺, つぶやき, データベース, トコロ, ところアイコン, 文字コード, 米国生まれ, 英語圏, 融通, 非公開,