ブログとYOUTUBERの厳しい現状。

2020.01.28

Logging

月1万PV(表示)でも収益はそれほどの額ではない。今日、ブログのPVの割合とYOUTUBERの登録者数の割合を調べてみた結果、ブログに力を入れるよりYOUTUBEに力を入れる方がまだ合理的だと感じた。上位3%の人がまぁそれなりの生活が出来ているという感じですね。なんだかこれってブログが始まった当初のような感じです。結局、ブルーオーシャンのときに初めていたひとが良いという感じ。

ユーチューバー全体に対するチャンネル登録者数の割合について解説!

唯、ブログやYOUTUBEで収入を得るより地道に何でも良いから働いたほうが幸せなのかもしれない。事情があって働けない人は力を注いでも良いかもしれないが、そうではない場合は当たれば良いなぐらいの感覚で毎日のようにUPしていく方が良いと思います。ちなみに自分はブログやYOUTUBEはその感覚でいます。

ブログのPVと収益対比表はこちらです。
https://ebloger.net/bloger-ranking/

世の中甘い話はないなと感じます。例えば高知の代表的なYOUTUBERに「ちゃがまらん」というYOUTUBERがいます。いま1.5万人の登録者数がいるのだけどこれだけでは食っていけそうにない。一人なら大丈夫だと思うのだけど複数人でやっているから、これだけでは厳しいじゃないかと思う。唯、伸びていっているので何とかなるかもしれないが…。
ちゃまがらんのチャンネル登録はこちらです。
10万人登録者数になれば彼らは生きやすくなると思います。
https://www.youtube.com/channel/UC-L-MfqOsxHu3CdqWfiy4Aw

タグ

, , bloger-ranking, ebloger, net, PV, UP, youtube, YOUTUBER, オーシャン, こちら, これ, それなり, とき, ひと, ブルー, ブログ, , 上位, , , 事情, , 今日, 割合, , 収入, 収益, , 地道, 場合, 対比, 幸せ, 当初, 感じ, 感覚, , , 毎日, 現状, 生活, 登録者, 結果, 自分, 表示, , ,

補助金のそこんトコロ知りたい。

2020.01.26

Logging

自分が知っている補助金といえばIT補助金なのだけど、これはIT関係のサービスを導入したいと思っている企業が国から費用を貰える制度なのだけど、これ国の税金を中小企業にばら撒いていると思う。日本は中小企業を大事にしているが倒産しそうな会社は倒産したほうが良いのではないかと思っていた最近まで。ただよくよく考えると自己破産した場合はお金が消えてなくなるわけだから難しいなと思えてきた。どちらの方が損失多いのだろうか?

もし自分が企業した場合は、このIT補助金というものを使用したいと考えるだろうか。実際、経営が困難になるとどうしても頼れるもの、使える制度は使うことになるだろうか?国は企業にあまり支援制度を設けない方が良いじゃないかと思います。支援制度は途中で辞めれないよね、日本銀行が日本株を買っているのと同じ感覚のような気がする。

『辞められない止まらない』状態だよね。黒田総裁、安倍首相が交代するまで日本企業の株を買い続けるつもりなのかな。首相が変わった途端に化けの皮が剥がれて暴落が起きるじゃないかと不安視しているのは自分だけでしょうか?

補助金にせよ、日本銀行にせよ。優しさが逆に国や企業をダメにするというパターンもあるじゃないのかと、たまに思う時がある。優しさって難しいですね。

タグ

IT, お金, こと, これ, サービス, そこ, つもり, トコロ, どちら, ばら, もの, わけ, 中小企業, 交代, 企業, 会社, 使用, 倒産, 制度, 困難, , 場合, , 大事, 安倍, 実際, 導入, 感覚, 損失, 支援, , 日本, 日本株, 日本銀行, 最近, , , 状態, 税金, 経営, 総裁, 自分, 自己破産, 補助金, 費用, 途中, 関係, 首相, 黒田,

webpに対応しましたプラグインでカバーしました。 Safariめ!!

2020.01.25

Logging

WebP Express(ウェッピーエクスプレス)というWordPressのプラグインがあるので、そちらでコンバート(変換)すれば良いのですが、大量に画像があるサイトはそれで変換できないので下記の対応方法で対応をお願いします。

1. WebP Express使用してコンバートする際に webpが生成されます。webpの生成場所を確認する。現在は下記の配下にwebp画像が作られています。

/wp-content/webp-express/webp-images/doc-root/wp-content/uploads

2.1の配下にwebpの画像を生成するために下記のコマンドを実行します。自分の場合、アップロードしている画像をリスト化して一括処理するプログラミングを実行しました。尚、cwebpがインストールされていない場合、インストールする必要があります。さくらレンタルサーバーには入っているみたいです。

cwebp -q 90 元画像名(階層を含む).png -o 変換後のファイル名.webp (変換先の階層を含む)

こうすることで画像は全てwebpに変換することが可能ですが、これだけでは表示が切り替わらないので下記の画像を参照しプラグインの設定を変更してください。

ちなみにこのwebp(ウェッピー)はグーグルさんが開発したものらしいです、大体のブラウザが、こちらの webpに対応しているのですがSafariとIEは非推奨みたいなんですよね。何れwebpに対応すると思います…思いたい。

タグ

, 2.1, cwebp, doc-root, Express, Safari, uploads, webp, webp-express, webp-images, WordPress, wp-content, アップロード, インストール, ウェッピーエクスプレス, お願い, カバー, コマンド, コンバート, サーバー, サイト, さくら, そちら, それ, ため, プラグイン, プログラミング, リスト, レンタル, 一括, 下記, 使用, 処理, 場合, 場所, 変換, 大量, 実行, 対応, 必要, 方法, 現在, 生成, 画像, 確認, 自分, 配下, ,

テキストを日本語ボイスに変換してくれるしょぼいWindowsソフトを作ったよ。

2020.01.21

Logging

VS2017のC#で、テキストを日本語ボイスに変換してくれるしょぼいWindowsソフト( 滑舌が悪いけどYOUTUBERしたい人用)を作ったよ。自分はかなり滑舌悪いくてどもるので、YOUTUBER向かないのですがユーチューバーしてみたい願望があったので、Gさんの「Cloud Text-to-Speech API」で適当に作ってみた。ちなみにまだYOUTUBERするかは決めてない!

APIですが月に0?100万文字までは無料枠なので、大量に使わない限り無料枠で収まると思います。これを他の人に提供しようとするとアウトだろうけど・・。
自分だけが使用するのには何とかその範囲内かと思います。

尚、ソースコードを提供します可変してお好みで使ってください。大量のテキストをボイス変換した場合、ビジーになるかもしれません。そこら辺の処理は入れてません。またGさんからダウンロードしたJSONファイルを置いている階層に合わしてください。

参考にしたサイトは下記になります。
https://cloud.google.com/text-to-speech/docs/quickstart-client-libraries?hl=ja#client-libraries-install-csharp

フォームのオブジェクトの配置は下記になります。画像を参照ください。

ソースコードは下記になります。

using System;
using System.IO;
using System.Windows.Forms;
using Google.Cloud.TextToSpeech.V1;
namespace テキストを日本語ボイスする
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if(richTextBox1.Text.Replace("\r", "").Replace("\n", "") == "")
            {
                MessageBox.Show("文字を入力してください");
                return;
            }
            Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "C:\\xxxxx\\xxxxx\\xxxxx\\xxxxx.json", EnvironmentVariableTarget.Process);
            TextToSpeechClient client = TextToSpeechClient.Create();
            SynthesisInput input = new SynthesisInput
            {
                Text = richTextBox1.Text.Replace("\r", "").Replace("\n", "")
            };
            VoiceSelectionParams voice = new VoiceSelectionParams
            {
                LanguageCode = "ja-JP",
                Name = "ja-JP-Wavenet-A",
                SsmlGender = SsmlVoiceGender.Neutral,
            };
            AudioConfig config = new AudioConfig
            {
                AudioEncoding = AudioEncoding.Mp3,
                SpeakingRate = f1(trackBar1.Value),
                Pitch = f2(trackBar2.Value),
            };
            var response = client.SynthesizeSpeech(new SynthesizeSpeechRequest
            {
                Input = input,
                Voice = voice,
                AudioConfig = config
            });
            DateTime dt = DateTime.Now;
            string dttimename = dt.ToString("yyyy-MM-dd-HH-mm-ss");
            using (Stream output = File.Create("voice-" + dttimename + ".mp3"))
            {
                response.AudioContent.WriteTo(output);
                Console.WriteLine($"Audio content written to file 'voice - " + dttimename + ".mp3'");
                MessageBox.Show("生成しました=>>voice - " + dttimename + ".mp3");
                System.Diagnostics.Process.Start(Directory.GetCurrentDirectory());
            }
        }
        private void trackBar1_ValueChanged(object sender, EventArgs e)
        {
            label3.Text = string.Format("{0:0.00}", f1(trackBar1.Value));
        }
        private void trackBar2_ValueChanged(object sender, EventArgs e)
        {
            label4.Text = string.Format("{0:0.00}", f2(trackBar2.Value));
        }
        private double f1(int a) {
            return Convert.ToDouble(a) / 100;
        }
        private double f2(int a)
        {
            return Convert.ToDouble(a) - 20;
        }
    }
}

変換したボイスはこんな感じです!

タグ

0, 100, 2017, API, Cloud, json, Text-to-Speech, VS, Windows, YOUTUBER, アウト, お好み, かなり, コード, これ, ソース, そこら辺, ソフト, ダウンロード, テキスト, ビジー, ファイル, ボイス, ユーチューバー, , , , 使用, 処理, 場合, 変換, 大量, 提供, 日本語, , , 滑舌, 無料, 範囲, 自分, 適当, 限り, 願望,

R-PlayアプリでPS4用リモートプレイが外出先でも出来ちゃう神アプリ!

2020.01.21

Logging

R-PlayアプリでPS4用リモートプレイが外出先でも出来ちゃう神アプリがios用にあります。これはとても良い感じがしますがセキュリティの事が心配という方は公式アプリが外出先に対応するまで待つかプレイステーションVITAを購入してそれを使いプレイする方が良いかと思います。

iphoneでPS4のゲームをしよう!!R-playの使い方とコントローラーの設定の仕方解説!!

ちなみに外出先からプレイするためにはDMZ(非武装地帯)の設定が必要になります(厳密にはポート開放じゃないだけどね)。そしてモデム兼ルーター機能のあるものにルーターを繋いでいる場合は、ルーターをブリッジモードに変更する必要があります。変更しすると今までIPアドレスが変わるため固定IPアドレスで設定していた機器は再設定が必要になります。ネットワークに詳しい人に設定してもらう事をオススメします。

たった3分で出来るポート開放!!実践編

尚、 R-Playアプリは有料アプリで1400円します、VITAを購入するよりは安いですよね。ちなみに中古のVITAは8000円?9000円します。ちなみに自分はこの神アプリを昨日、知りました。

【VITA×PS4リモートプレイ】外出先の無線Wi-Fiでリモートプレイが遊べるのか!?

R-PLAYアプリは下記を参照ください。

※注意:外出先で2時間40分ぐらいプレイすると1G(ギガ)ほど通信量が発生するそうですよ。使い放題のパケじゃないと厳しいかも気をつけましょう。

https://apps.apple.com/jp/app/r-play-ps4%E7%94%A8%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%97%E3%83%AC%E3%82%A4/id1222889057

追記:iosでもPSの純正アプリでリモートプレイ出来るようになりました。

https://www.playstation.com/ja-jp/remote-play/

タグ

1400, 4, DMZ, iOS, IP, PS, R-Play, VITA, アドレス, アプリ, おすすめ, これ, セキュリティ, それ, ため, ネットワーク, ブリッジ, プレイ, プレイステーション, ポート, モード, モデム, もの, リモート, ルーター, 中古, , , 公式, , 固定, 地帯, 場合, 変更, 外出, 対応, 心配, 必要, 感じ, , 有料, 機器, 機能, 武装, , , 設定, 購入, 開放,

本日発売[20/1/16]のドラゴンボールZKAKAROTが凄い仕上がり!

2020.01.16

Logging

何だこれはすごい完成度の高いゲームだよ。
ドラゴンボールZの世界をそのままゲームに生き写したゲームだと感じました。初代プレイステーションではこれは出来なかっただろう。プレイステーション4だから可能になった領域な気がします。

そしてドラゴンボール世代の皆さんは、心が揺さぶられるような何だか懐かしい気持ちになるゲームだと思います。子供のが遊んでいるのを取り上げて大人が遊んでいそうな気がします。

『ドラゴンボールZ KAKAROT』 PV

自分も安定した収入が出来たらドラゴンボールZKAKAROT(カカロット)をポチる可能性は高いと思います。ただ積みゲーにならないようにしないと行けない。自分の場合、序盤だけプレイして放置した作品が山程あります。大人になると学生時代よりも時間がないですね(・(ェ)・)。そして仕事を辞めると収入がないのに請求があるという理不尽な社会システムの構造があるため、無駄遣いは出来ないのです。

早く再就職するか安定した収入を得ることを望んでいる今日このごろの記事でした。
最後に::ベジータ「カカロットォォォ!!」
※ベジータは孫悟空の事をカカロットと呼びます。

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

タグ

, 16, 20, 4, ZKAKAROT, カカ, ゲー, ゲーム, これ, システム, ため, ドラゴンボール, プレイ, プレイステーション, ぽち, ロット, 世代, 世界, 仕事, 作品, 初代, 収入, 可能, 可能性, 場合, 大人, 子供, 学生, 安定, 完成, 就職, 序盤, , 放置, 時代, 時間, 本日, 構造, , 気持ち, 無駄遣い, 理不尽, 生き写, 発売, 皆さん, 社会, 自分, 請求, 領域,

受験はおそろしい?

2020.01.15

Logging

受験はおそろしい?の動画が良い感じですね(・(ェ)・)
自分が高校受験した時のことを思い出しました。いま中学生に戻ったらもっと勉強していた事でしょう。やはり学生時代に勉強して良い大学へ進学すると社会に出たときに仕事の選択肢が増えます。どこどこの有名学校を卒業したというのは田舎では仕事が決まりやすいです。

働き方改革とか言っているけど田舎の会社は未だに昭和感の会社が多いと思います。しかしそんな田舎でもIT企業や大企業、若い経営者や柔軟な経営者はそういう判断をしない場合もありますが、実際、自分が経営者だったらどうするかと考えるとやはり履歴書でしか判断できないですからね。仕方ないことかもしれません、特に新卒の場合、学歴と資格を見ますよね。

なので、学生にとって学歴と資格は大事なものだと思います。新卒以外は、転職では職歴と資格、技術職だったら技能が判断材料になると思います。

学生時代に望みの高校に入れなくとも高校に入ってから巻き返しすれば良いので学生時代には勉強することをオススメします。

最後にいろいろ書きましたが、ダメだったとしても諦めないで再挑戦することが大事です。なにせ人生、思い通りにならないものです、特に社会に出たらそう感じると思います、ですが努力はするべしです。努力は報われない事もありますが受験や資格取得などの努力は比較的報われる可能性が高いと思います。

皆さん頑張ってくださいね?

早稲アカブランドムービー「知らなかった自分が、そこにいた。」篇

タグ

IT, いま, こと, とき, どこ, もの, 中学生, , 仕事, 企業, 会社, 働き方, 判断, 勉強, 動画, 卒業, 受験, 場合, 大事, 大学, 学校, 学歴, 学生, 実際, 履歴書, , 感じ, 技能, 技術, 改革, 新卒, 昭和, , 時代, 有名, 未だ, 材料, 田舎, 社会, 経営者, 職歴, 自分, 資格, 転職, 進学, 選択肢, 高校,

お金を燃やすとどうなるか?

2020.01.13

Logging

日本の場合、他人のお金を燃やすとそれは罪になります。
これは当たり前なので、まぁそうだろうという考えなのですが、
自分のお金を燃やすとどうなるかというと、答えは違うんですね。

自分の紙幣を故意に燃やすことは罪になりませんが、硬貨を燃やす(溶かす)と
これは罪になります。燃やす以外にも硬貨を曲げたり加工したりすることは
違法です。YOUTUBEで硬貨を曲げたりする行為をアップすると罪に
なりますのでくれぐれもUPしないように、これは日本の法律ではそうなっているので他の国は違うかもしれません。

日本の憲法はかなり古い物が多いです、それを今でも殆ど法律は改正しないで
使用されています。だからトンチンカンな法律は結構ありそれを
悪用する人もいるでしょう。

ちなみにテクノロジーが進んでいるので、自分はそれに対応する法律の
改正などは行ったほうが良いと思いますし、何年間に一回は
見直しを行うことは大事だと考えています。

日本の場合、一度決まると見直しがなかなかされないのが
変だと思います。世の中変わっていっているからそれに合わさないと
やはり時代遅れの法律になってしまう気がします。

タグ

UP, youtube, アップ, お金, かなり, くれぐれ, こと, これ, それ, テクノロジー, , , , , 他人, 以外, 何年間, 使用, 加工, , 場合, 大事, 対応, 当たり前, 悪用, 憲法, 改正, 故意, 日本, 殆ど, 法律, , 硬貨, 答え, 紙幣, , 自分, 行為, 違法,

SEOを解説しているYOUTUBER

2020.01.12

Logging

KYOKOさんと言う方がYOUTUBEでSEO解説やWEB副業の解説を
しています。SEOって結構怪しげな物も多いのですが
このひと、まともな事を語っています。

下記の文章は自分のSEO対策に関しての考えです。
アクセスを上げたいと考えているのならば
自分が発信したいものに2?3個をカテゴリーに分けて
最初は発信したほうが良いと思います。その2?3個のジャンルの中で
アクセス数が多いジャンルが必ず出てきます。
そうなったら、徐々にそのジャンルに焦点を当て記事を書いていく事を
オススメします。たまにどれも平均的なアクセスと言う場合もありますが。

あと、SEO対策を追っていくと切りがないので
最低限しないといけないSEO対策だけを行うことが良いと思います。
例えば、下記の動画にあるようにモバイルフレンドリーなどは大事かと思いますし、サイトの表示速度も大事です。表示速度は下記からテストが出来ます。

pagespeed insights(Gさんが提供しています)
https://developers.google.com/speed/pagespeed/insights/

最後にKYOKOさんのYOUTUBEチャンネルのリンクを貼っときます。

https://www.youtube.com/channel/UCF7IKesFOYQb34uzNiuNDqQ/featured

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

タグ

2, , insights, KYOKO, pagespeed, SEO, web, youtube, YOUTUBER, アクセス, あと, おすすめ, カテゴリー, こと, サイト, ジャンル, たま, テスト, どれ, ひと, フレンドリー, まとも, もの, モバイル, 下記, , , 副業, 動画, 場合, 大事, 対策, 提供, 文章, , 最低限, 最初, 焦点, , 発信, 自分, 表示, 解説, 記事, 速度,

一時間に一回だけAPIを実行するPHPのオブジェクトファイル

2020.01.10

Logging

あるユーザーが公開しているプログラミングを参考にして
オブジェクト化してみた。
参考にしたサイトのリンクは下記になります。
phpでapiを切りの良い時刻までキャッシュする

尚、動作環境はPHP5.6以上になります、と言いつつ
動作テストは行っていないので、もしかしたらエラーで動かないかも?
動作内容はJSONファイルの更新時間( hour )と
サーバの 時間 ( hour ) を比べ差異があれば
APIを呼び出し結果をJSONファイルとして上書き保存します。
そのため、一時間に一回だけ更新処理が走ります。
(※CRONで設定していれば)

結果がJSONで返ってこない場合などは可変して頂いて構いません。
もともと自分の案でもないので…。

PHPファイルのダウンロードはこちらから
https://zip358.com/tool/timeKeeper/timeKeeper.zip

ソースコードはこちらになります(* ̄(エ) ̄*)

<?php
class timeKeeper{
    public static $json_filename = "abc.json";
    public static $json_api_url = "https://example.com/api/?v=1.333";
    public static function judge(){
        $server_timestamp = time();
        $server_time = date('Y/m/d H',$server_timestamp);
        $json_timestamp = filemtime(self::$json_filename);
        $json_time = date('Y/m/d H',$json_timestamp);
        return $server_time === $json_time ? true : false;
    }
    public static function api_run($opts=null){
        if(is_null($opts))return false;
        $context = stream_context_create($opts);
        $json = file_get_contents(self::$json_api_url, false, $context);
        $fp = fopen(self::$json_filename, "w");
        fwrite($fp,$json);
        fclose($fp);
        return self::json_load();
    }
    public static function json_load(){
        $json = file_get_contents(self::$json_filename);
        return json_decode($json, true);
    }
    public static function check(){
        if(file_exists(self::$json_filename)){
            return self::judge();
        }
        return false;
    }
}
///使用例
if(timeKeeper::check()){
   $json = timeKeeper::json_load();
}else{
    $opts = array(
        "http"=>array(
        "method" => "POST",
        "header" => "User-Agent: php"
        )
    );
    $json = timeKeeper::api_run($opts);
}

タグ

5.6, API, class, cron, hour, json, lt, php, public, timeKeeper, エラー, オブジェクト, キャッシュ, コード, こちら, サーバ, サイト, ソース, ダウンロード, ため, テスト, ファイル, プログラミング, ユーザー, リンク, , 上書き, 下記, 保存, 公開, 内容, 処理, 動作, 参考, 場合, 実行, 差異, 時刻, 時間, 更新, , 環境, 結果, 自分, 設定,

さくらレンタルサーバーでWordPressのDBバックアップを支援するPHPコード

2020.01.10

Logging

さくらレンタルサーバーでWordPressバックアップを支援するPHPコードです。

駆け出しのWEB担当者用のプログラムです、動作環境はPHP5.6以上でお願いします。バックアップする際にWARNINGが発生してしまうには対応しておりません。メールが貯まりますが大丈夫ですよ、きっと。

プログラムを読めば何を書いているのか、駆け出しのWEB担当者様もわかるとは思いますが、変更してほしいのはIDとPASS部分です?。ルートにWordPressをインストールしていない場合は $wploadfile の変更もお願いします。

ファイルをアップロードした階層に dbbackup名でフォルダを設置しそのフォルダにベーシック認証をかけておいてください。外部からダウンロードが容易に出来るので・・・。

上記の設定が完了したらファイルをアップロードし sakura-rental-wpdb-backupfullにアクセスしてください。
ログイン後、管理画面より設定を行った後、さくらレンタルサーバーのコントロールパネルよりCRONの設定を行ってください。

ダウンロードはこちらから
https://zip358.com/tool/sakura-rental-wpdb-backupfull/sakura-rental-wpdb-backupfull.zip

尚、CRON設定に関しては例を管理画面に書いていますのでそちらの参考に設定をお願いいたします、またバックアップは1週間保持します。
月曜日?日曜日まで7ファイルのMYSQL、DBのバックアップファイルが出来上がります。管理画面の曜日設定にチェックが入っていないものはバックアップ致しません。

※ソースコードは下記になります。
※2020年12月、修正しました。ソースコードは下記になります。
※wp-load.phpの階層を自身の階層に変更してください。

<!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.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>さくらレンタルサーバーでWordPressのDBバックアップを支援するPHPコード</title>
</head>
<body>
	<div class="container">
		<div class="row">
			<div class="col table-responsive">
					<table class="table" id="tbl">
					</table>
			</div>
		</div>
	</div>
<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>
<script src="./assets/js/common.js?<?=time()?>"></script>
</body>
</html>
window.onload = function () {
	$.ajax({
		type: "POST",
		dataType: "json",
		url: "./lib/view.php",
		data: "data",
		success: function (response) {
			if (response.password.ok === "ok") {
				view();
			} else {
				passwordview();
			}
		}
	});
};


function view() {
	let str = "";
	fetch("./schedule.dat").then(response => response.text()).then(data => {
		let weekval = data.split(",");
		let weekname = 
			[
				{en:"Sunday",ja:"日曜日"},
				{en:"Monday",ja:"月曜日"},
				{en:"Tuesday",ja:"火曜日"},
				{en:"Wednesday",ja:"水曜日"},
				{en:"Thursday",ja:"木曜日"},
				{en:"Friday",ja:"金曜日"},
				{en:"Saturday",ja:"土曜日"}
			];
		
		if (weekval.length === 7) {
			for (var i = 0; i < 7; i++) {
				let weekvalflg = weekval[i] == 1 ? " checked " : "";
				str += `
		<tr>
		<td>${weekname[i].ja}</td>
		<td>
			<div class="form-check">
				<input id="${weekname[i].en}_chk" class="form-check-input" type="checkbox" name="" value=1 ${weekvalflg}>
				<label for="${weekname[i].en}_chk" class="form-check-label">バックアップする</label>
			</div>
		</td>
	</tr>
		`;
			}
		} else {
			for (var i = 0; i < 7; i++) {
				str += `
		<tr>
		<td>${weekname[i].ja}</td>
		<td>
			<div class="form-check">
				<input id="${weekname[i].en}_chk" class="form-check-input" type="checkbox" name="" value=1>
				<label for="${weekname[i].en}_chk" class="form-check-label">バックアップする</label>
			</div>
		</td>
	</tr>
		`;
			}

		}
		str += `
<tr>
	<td colspan="2"><button class="btn btn-primary"  id="btn" type="button">設定する</button></td>
</tr>
`;
		document.getElementById("tbl").innerHTML = str;
		document.getElementById("btn").addEventListener("click", function () {
			$.ajax({
				type: "POST",
				url: "./lib/backup-setting.php",
				data: {
					Sunday: document.getElementById("Sunday_chk").checked?1:0,
					Monday: document.getElementById("Monday_chk").checked?1:0,
					Tuesday: document.getElementById("Tuesday_chk").checked?1:0,
					Wednesday: document.getElementById("Wednesday_chk").checked?1:0,
					Thursday: document.getElementById("Thursday_chk").checked?1:0,
					Friday: document.getElementById("Friday_chk").checked?1:0,
					Saturday: document.getElementById("Saturday_chk").checked?1:0
				},
				dataType: "json",
				success: function (response) {
					if (response.ok == "ok") {
						alert("設定しました");
					} else {
						alert("失敗しました");
					}
				}
			});
		});

	});
}

function passwordview() {
	document.getElementById("tbl").innerHTML = `
	<tr>
	<td>wordpress Id</td>
	<td>
		<div class="input-group">
			<input class="form-control" type="text" id="wpid" placeholder="ワードプレスのIDを入力ください" aria-label="ワードプレスのIDを入力ください" aria-describedby="wpid">
		</div>
	</td>
</tr>
<tr>
	<td>wordpress pass</td>
	<td>
		<div class="input-group">
			<input class="form-control" type="password" id="wppass" placeholder="ワードプレスのPassを入力ください" aria-label="ワードプレスのIDを入力ください" aria-describedby="wppass">
		</div>
	</td>
</tr>
<tr>
	<td colspan="2"><button class="btn btn-primary"  id="btn" type="button">ログインする</button></td>
</tr>	
	`;



	document.getElementById("btn").addEventListener("click", function () {
		$.ajax({
			type: "POST",
			dataType: "json",
			url: "./lib/pass.php",
			data: { wpid: document.getElementById("wpid").value, wppass: document.getElementById("wppass").value },
			success: function (response) {
				if (response.password.ok === "ok") {
					view();
				} else {
					alert(response.password.msg);
					passwordview();
				}
			}
		});
	});
}

タグ

5.6, db, dbbackup, ID, pass, php, sakura-rental-wpdb-backupf, WARNING, web, WordPress, wploadfile, アップロード, インストール, お願い, コード, サーバー, さくら, ダウンロード, バックアップ, ファイル, フォルダ, プログラム, ベーシック, メール, ルート, レンタル, 上記, , 動作, , 場合, 変更, 外部, 完了, 容易, 対応, 担当者, 支援, 環境, 発生, 設定, 設置, 認証, 部分, 階層, , 駆け出し,

ユーザーは動画を30秒で判断するYOUTUBE30秒時代の到来。

2020.01.09

Logging

ユーザーは動画(YOUTUBE等)を
30秒で判断する時代になっていくと思います。

動画が始まってから30秒で面白い動画なのか、自分の好みの動画なのかは
何となく動画を大量に見ていくと分かるようになります。

そしてYOUTUBEの動画を飛ばし飛ばし再生して
面白そうだったら最初から最後まで観たり、時間がなければ
その部分から再生してみるユーザーが徐々に増えていくと
自分は考えています。

動画のタイトルやサムネイルで釣ったとしても
中身のない動画は30秒以内にスキップやスルーされる時代に
なっていくのではないかと思います。

ちなみに自分は音楽のランキングを視聴する場合、
曲の冒頭部分、10秒ぐらいで判断して
自分の好みの曲ではなければスキップします。

YOUTUBEは長時間の動画などが収益を得やすいらしいですが
登録者数を増やす場合は質もある程度じゃないと難しいかなと思います。

30分、15分、10分、3分動画がYOUTUBEの大半の動画だと思います。
この頃は1時間動画も見掛けるようになりましたが
余程、クリエイティブな動画ではないと正直なところ、ユーザーに
飽きられてしまう可能性が高いと思います。

動画を見る一人のユーザーとして意見を記載しました。
皆さんはどう思いますか?

タグ

10, 15, 30, youtube, サムネイル, スキップ, スルー, タイトル, ユーザー, ランキング, 中身, 再生, 冒頭, 判断, 到来, 動画, 収益, 場合, 大量, 好み, 時代, 時間, , 最初, 最後, 登録者, , 自分, 視聴, , 部分, 長時間, 音楽,

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, アップロード, インポート, これ, つもり, データ, データベース, トラブル, プラグイン, メディア, ライブラリ, 一括, 下記, , 今回, 使用, 保存, 問題, 場合, 新規, , 構築, , 画像, 管理, 編集, 自作, 自分, 記録, 途中, 過去, ,

じぶんがYOUTUBERになるためには壁があるので無理ゲーですね。

2019.12.18

Logging

じぶんがYOUTUBEになるには壁がある。

1.チャンネルの過去12か月間の総再生時間が4,000時間
2.チャンネル登録者が1,000人

これを満たさないと広告収入が入らないというシステムになっている。
2に関してはお金を払えばチャネル登録者数は買えるらしいけど
チャネルがBANされてしまっては嫌なのでやらない。

顔出しは全然OKだけど、喋るのが全然ダメなので
YOUTUBERには向かないと思っている。

喋るのは未だに小学生低学年ぐらいの表現力しかないし
なにせ滑舌悪いので、視聴するには向かないかも。

綺麗な動画をUPさせてそれで収入を得るということは
自分の場合できる可能性は高いだけど、それには編集ソフトと
高スペックのPCが必要、いまのPCのビデオボードでは
無理ゲーだと思う、ただビデオボードを入れ替えれば可能性はある。

でも、なんだかそれもしたくない。
何というかカッコいいサイトとかよりゆるい事をだらーって
している方が良い。

方向性は決めていないけどYOUTUBEもUPしていきますので
チャネル登録お願いします。

https://www.youtube.com/watch?v=2BdSJwQ4jJU

タグ

000, , 2, 4, BAN, OK, PC, UP, youtube, YOUTUBER, いま, お金, ゲー, こと, これ, サイト, システム, じぶん, スペック, ソフト, それ, ため, チャネル, チャンネル, ビデオ, ボード, 再生, 動画, 収入, 可能性, 場合, , 学年, 小学生, 広告, 必要, 時間, 未だ, 滑舌, 無理, 登録者, 綺麗, 編集, 自分, 表現力, 視聴, 過去, 顔出し,

英語を止めて中国語を勉強なさい。

2019.12.09

Logging

英語を止めて中国語を勉強しなさい

https://www.lingq.com/ja/

20ヶ国語話せるおじいさん…。
凄いな・・・日本人が聞いても理解できるから凄いな。

たぶん、日本人は完璧な英語が喋りたいから、挫折するだろうなと
感じます。伝わらないと日本人は結構な確率で挫折する。

それが一番の障壁になっているのだろうなと感じます。

ちなみに自分は英語を何度も勉強しようとして途中で止めてきた
ひとですが、聴く能力だけは映画やYOUTUBEで英語を理解していない
日本人より聞くことが多いので
その能力だけは高くなっているように思えます。

ただし、、、何を言っているかは1/4ぐらいの割合で理解できる程度です:D
自分が思うに聞く?話す?書くなのかも。

でも日本人の場合、最初に文法的なことから理解しようというするから
挫折するのかなと思います。

それとは別に下記の動画のような英単語勉強方法をすることをオススメします。

【英単語暗記法】20000語を覚えるための方法

タグ

0, , 20, 4, com, UlCz, youtube, おじいさん, おすすめ, こと, それ, , 下記, 中国語, , 何度, 割合, 勉強, 動画, 場合, 完璧, 挫折, 方法, 日本人, 映画, 最初, 理解, 確率, 程度, 結構, 能力, 自分, 英単語, 英語, , 途中, 障壁,

ワードプレス電光掲示板プラグインを作りました。

2019.12.05

Logging

電光掲示板(お知らせ)のプラグイン取扱に関して記載します。

プラグインに関してはワードプレス5.2以降を推奨としテーマファイル(外観)のheader.phpのbody直下に下記の記述が存在しない場合は追加記述を
お願いいたします。

<?php wp_body_open();?>

尚、プラグインのソースコードはご自由に変更頂き二次配布も構いませんが
ひとつ注意事項があります。参照した記事にリンクを貼ってください、
なお、事前の連絡等入りません。

電光掲示板(お知らせ)のソースコードは下記になります。
現在、テキストはHTMLタグを許していますので、いろいろと自由に
変更することが可能かと思います。

ちなみにこういった電光掲示板みたいな流れる仕様のコードは
インターネットの初期のころは多く見られましたが
このごろは全然、見なくなりましたね。。。

CSSの記述に関してはとくめいさんの記述を使用させて頂きました。
https://creatorclip.info/2014/06/css3-electric-bulletin-board/

とくめいさんも同じようなことを記事に記載しておりますが
自分もそのように感じました。

とくめいさんへ断りもなく使用してすみません、
Twitterで連絡しようかなと思ったのですが、それもなんだかと思い
勝手ながらこのような手段を取りました。

お知らせ(電光掲示板)のダウンロードは下記になります。
下記のファイルを解凍しワードプレスのプラグイン領域にフォルダごと
アップロードしプラグインを有効にするとご使用頂けます。

https://zip358.com/plugin/Z-Electric-bulletin-board.zip

<?php
/*
Plugin Name: Z-Electric-bulletin-board
Plugin URI: https://zip358.com/plugin/Z-Electric-bulletin-board.zip
Description: お知らせ
Author: taoka toshiaki
Version: 1.0
Author URI: https://zip358.com/
*/
add_action( 'wp_head', function() {
    $color = get_option('ZEBB_color')?get_option('ZEBB_color'):"ffffff";
    $cssdata ="
    <style>
        /* =====================
            電光掲示板
        ======================= */
        .ledText {
            overflow: hidden;
            position: relative;
            padding:5px 0;
            color: #$color;
            font-size: 60px;
            font-weight: bold;
            background: #333333;
        }
        /* CSS3グラデーションでドット感を出す */
        .ledText:after {
            content: ' ';
            display: block;
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            background-image: linear-gradient(#0a0600 1px, transparent 0px), linear-gradient(0, #0a0600 1px, transparent 1px);
            background-image: -webkit-linear-gradient(#0a0600 1px, transparent 0px), -webkit-linear-gradient(0, #0a0600 1px, transparent 1px);
            background-size: 2px 2px;
            z-index: 10;
        }
        /* CSS3アニメーションでスクロール */
        .ledText span {
            display: inline-block;
            white-space: nowrap;
            padding-left: 100%;
            -webkit-animation-name: marquee;
            -webkit-animation-timing-function: linear;
            -webkit-animation-iteration-count: infinite;
            -webkit-animation-duration: 15s;
            -moz-animation-name: marquee;
            -moz-animation-timing-function: linear;
            -moz-animation-iteration-count: infinite;
            -moz-animation-duration: 15s;
            animation-name: marquee;
            animation-timing-function: linear;
            animation-iteration-count: infinite;
            animation-duration: 15s;
        }
        @-webkit-keyframes marquee {
        from   { -webkit-transform: translate(0%);}
        99%,to { -webkit-transform: translate(-100%);}
        }
        @-moz-keyframes marquee {
        from   { -moz-transform: translate(0%);}
        99%,to { -moz-transform: translate(-100%);}
        }
        @keyframes marquee {
        from   { transform: translate(0%);}
        99%,to { transform: translate(-100%);}
        }
    </style>
    ";
    print $cssdata;
 });
add_action("wp_body_open",function(){
    $text = get_option('ZEBB_text')?get_option('ZEBB_text'):"";
    if($text)print '<p class="ledText"><span>'.$text.'</span></p>';
});
add_action('admin_menu','Z_Electric_bulletin_board_set');
function Z_Electric_bulletin_board_set(){
	add_options_page(
		'zip358.com:プラグイン',
		'電光掲示板設定',
		'administrator',
		'Z_Electric_bulletin_board',
		function(){
            if(isset($_POST["ZEBB_color"]) or isset($_POST["ZEBB_text"])){
                $color = preg_match("/[a-zA-Z0-9]*/",$_POST["ZEBB_color"])?$_POST["ZEBB_color"]:"ffffff";
                update_option('ZEBB_color', wp_unslash($color));
                $text = $_POST["ZEBB_text"];
                update_option('ZEBB_text', wp_unslash($text));
            }
            ?>
            <form method="post" action="">
                <h2>電光掲示板設定</h2>
                color code #<input type="text" style="width:350px" name="ZEBB_color" value="<?=get_option('ZEBB_color')?get_option('ZEBB_color'):""?>" placeholder="f7f7f7"><br>
                text <input type="text" style="width:350px" name="ZEBB_text" value="<?=get_option('ZEBB_text')?get_option('ZEBB_text'):""?>" placeholder="文字を記入してください"><br>
                テキスト文字を未入力にすると電光掲示板が表示されません
                <?php submit_button(); ?>
            </form>
            <?php
        }
	);
}

タグ

5.2, body, css, gt, header, html, lt, open, php, wp, いろいろ, インターネット, お知らせ, お願い, コード, こと, ころ, ごろ, ソース, タグ, テーマ, テキスト, トク, ひとつ, ファイル, プラグイン, プレス, メイ, リンク, ワード, 下記, 事前, 事項, , 仕様, 使用, 初期, 参照, 取扱, 可能, 場合, 変更, 外観, 存在, 推奨, 掲示, 注意, 現在, 直下, 自由, 記事, 記載, 記述, 追加, 連絡, 配布, 電光,

嘘半分のWEB事情、WEBのタブーを書いてみる。

2019.11.29

Logging

嘘半分のWEB事情、WEBのタブーを書いてみる。
毎日ブログを書けばブログのアクセスアップが出来ますよ。
これは半分本当で半分ウソである、いくら短文の投稿を有名人のように
毎日書いたとしてもアクセス数はほとんどアップしない。

かと言って長文を毎日書くとアクセス数は増えるかと言えば
そうでもない。Gさんは重要な記事なのか判断しそうでもないと
思えばその記事は検索候補にすらしないのだ。

よって、毎日長文を書けば何かのきっかけでバズる可能性はありますが
ほとんどの場合、アクセス数は増えないと思ったほうが良い。

一番って取り場合、アクセス数アップの方法を教えます。
アクセス数の多いドメインを購入し、そのドメインでブログやサイトを
運用するか、そのドメインのサーバ内(ルート直下)に
.htaccess(どっとえいてぃーあくせす)を設置し
現在の運用しているドメインへリダイレクトさせる方法で
アクセス数を伸ばす方法です。

いまWEB上でアクセス数を伸ばすことは非常に難しくなっています、
なので上記の方法をとった上で、広告宣伝を行いユーザーを増やす方法を
行っているのが賢明かと思います。

只これには非常にお金を必要とします、個人でお金をかけずに
アクセス数を増やす方法は、SNS(ソーシャルネットワークサービス)を
使用するしかなくそれでいて、バズるかフォロワー数を地道に増やさないと
アクセス数は増えていきませんし、この方法はアクセス数が
増えるかどうかは、その人達のセンスに比例します、なので非常に
難しいと思ってもらうと良いです。

ブログサービスが駆け出しだった時に毎日ブログを書いていたサイトが
あったのですが、そこはそれなりのアクセス数が日にありました。
なので、インターネットというのは何か新しいサービスが登場したら
まずは自分のサイトでも取り入れてみるというのは大事なことだと思います。

無料でアクセス数を増やしたい場合は、本当に毎日地道に
更新や発信することが大事なことだと感じます。

タグ

htaccess, web, アク, アクセス, アップ, いま, ウソ, きっかけ, これ, サーバ, サイト, タブー, ドメイン, パス, ブログ, ほとんど, リダイレクト, ルート, , , 事情, 何か, 候補, 判断, 半分, 可能性, , 場合, 投稿, 方法, 有名人, 本当, 検索, 毎日, 現在, 直下, 短文, 記事, 設置, 購入, 運用, 重要, 長文,

プログラムの基礎しか書かないわけ。

2019.11.27

Logging

何故、自分のブログには基本的なプログラミングしかなく複雑なプログラムが存在しないわけはこちらです。

基本的な文法から複雑なプログラムが生まれるので基本的な部分がわかれば大体の人は応用できるだろうと
考えているからです。

自分の場合、勉強と経験からコードを組み立てています。人から教わらないけれど、ググると無数のコードと
解説が存在します。そんな先人が残したコードを読み取り習得するという形と参考書から情報を得たりして経験値を
積んでいます。

職場でプログラムを教わったことは今までほぼほぼ無いです。本当はOJTがあって然るべきだと思いますが中小企業に入るとそんなに甘くはないですね。

今の人はYOUTUBEなどでも無料でプログラミングの知識を取得することも可能です、そこらへんが少し羨ましいです。

ちなみに自分は教えられていないので後輩には自分が知っていることは教えるということを現場では心がけていました。知識って共有して向上するのですがブラック企業は技術を教えない技術は盗み取るものだという考え方が未だに根強いです。

タグ

OJT, youtube, コード, こちら, こと, そこら, , ブログ, プログラミング, プログラム, べん, わけ, 中小企業, , , 何故, 先人, 共有, 勉強, 参考書, 取得, 可能, 向上, 基礎, 場合, 大体, 存在, 少し, , 後輩, 応用, 情報, 文法, 本当, 無数, 無料, 現場, 知識, 経験, 習得, 職場, 自分, 複雑, 解説, 部分,

PHP非同期の考え方サンプル。

2019.11.12

Logging

非同期の考え方サンプルです。
さて非同期ってなんでしょうか?
非同期とは次から次へと仕事をお願いする状態。
仕事量が重いと結果が返るまで時間がかかります。
なので、Aという仕事が重く、B、Cという仕事が楽な場合は
A、B、Cという仕事を順番に頼んでもAの結果はBの後やCの後に
結果が返ってきます。

逆に同期処理とは何か?
A、B、C の順に仕事を頼むと、Aの仕事が終えた後にB、Cと仕事を
行います。

非同期=並列処理と考えると良いかも。
同期処理=逐次処理と考えると良いかも。

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


<!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">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <title>Document</title>
    <script>
        $(function(){
            $("#btn").on("click",function(){
                test();
                return false;
            })
        });
        function test(){
            var data = $("#frm").serialize();
            $.ajax({
                type: "post",
                url: "url.php",
                data: data,
                dataType: "json",
                success: function (response) {
                    console.log(response);
                }
            });
        }
    </script>
</head>
<body>
    <a href="#" id="btn">クリック</a>
    <form id="frm">
        <input type="text" name="test1">
        <input type="text" name="test2">
        <input type="text" name="test3">
    </form>
</body>
</html>
<?php
//url.php
$data = [];
if(!is_null($_POST)){
    foreach($_POST as $key=>$val){
        $data[$key] = $val;
    }
    print(json_encode($data));
}else{
    print(0);
}

タグ

65, 8, charset, com, DOCTYPE, en, gt, head, html, lang, lt, meta, name, php, quot, UTF-, VHlW, WPUDY, youtube, お願い, サンプル, 並列, 仕事, , 処理, 同期, 場合, , 時間, , 状態, 結果, 考え方, , , 順番,

ワードプレス過去記事のツイートをボット化する方法。

2019.11.05

Logging

WordPress(ワードプレス)の過去記事をツイートしたいけど
結構大変ですと断られる業者は腕なしかもしれない。

簡単に作れます。Composerをインストールして
TwitterOAuthのライブラリー入れてあげて、ワードプレスのwp-load.phpと
TwitterOAuthのライブラリー を参照するような下記コードを作るだけで
ツイートが可能です。

これを自動化するにはcrontab(クロンタブ)という機能で実行できます。
ほとんどのレンタルサーバーにこの機能はついています。

うちのサーバーはWindowsサーバーなんでとかいう場合は
スケジュールでなんとかしてくださいと言えばOKです。

これを実装するのに発生する単価は1万ぐらいじゃないかと思います。
それ以上高ければ、ぼったくられています。

1万円が高いかどうか?

ちなみに普通のプログラマーはこれを構築するのに30分もかからないです。
人件費を考えるとそれぐらいが妥当だと思います。
いまクラウドワークスなどで頼めば5000円以下で対応してくれる人も
いますが、単価が下がるとそれは最終的に自分の首を絞めることに
なります。なので1万円ぐらいが妥当だと思います。

<?php
//ひとつ英語名のフォルダ作って、これいれてあげて
require_once ('../wp-load.php');
require_once ("../vendor/autoload.php");
use AbrahamTwitterOAuthTwitterOAuth;
define("CONSUMER_KEY","コンシューマーキー");
define("CONSUMER_SECRET","コンシューマーシークレット");
define("ACCESS_TOKEN","アクセストークン");
define("ACCESS_TOKEN_SECRET","アクセストークンシークレット");
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
$args = array(
  'post_status' => 'publish',
	'posts_per_page' => 1,
    'orderby' => 'rand'
);
$posts = get_posts($args);
foreach ( $posts as $val ){
    $href =  get_permalink($val->ID);
    $title = get_the_title($val->ID);
    $res = $connection->post("statuses/update", array("status" =>$title . " n" . $href . " n#黒歴史ってなんだ? #ブログ ".date('Y/m/d H:i:s')));
}

タグ

, 30, Composer, crontab, OK, php, TwitterOAuth, Windows, WordPress, wp-load, インストール, うち, , クロン, コード, これ, サーバー, スケジュール, それ, タブ, ツイート, プレス, プログラマー, ボット, ほとんど, ライブラリー, レンタル, ワード, , 下記, 人件, 単価, 参照, 可能, 場合, 大変, 実行, 実装, 方法, 普通, 業者, 構築, 機能, 発生, 簡単, , 自動, 記事, 過去,

内容まで¥r¥nで書かれたCSVコードを整形する簡単な方法。

2019.10.19

Logging

内容まで¥r¥nで書かれたCSVコードを整形する簡単な方法。
CSVの内容まで¥r¥nで書かれているとプログラム(PHP)で読み込みが
とても面倒くさいなので、自分は手っ取り早い方法で整形を行いました。
まずCSV編集専用のソフトか何かでファイルを開いてください。
おそらく正しく読み込まれると思います。次に
列の最後に新たに列を追加しCSVで使用されていないユニークな文字を
記入して行端まで値を入れて再度保存してください。
次にエディターでCSVを開き、全ての¥r¥nを¥nに置き換えます。
次に列の最後につけた、ユニークな文字を¥r¥nに置き換えます。
こうすることにより列の終端を探すなどのコード書かなくても
explodeなどで取り出すことが可能です。
但し容量が多いG(ギガ)単位のCSVファイルには通用しません。
その場合、CSVファイルを分離するか、
プログラムで何とかするかになります。

以上、小技テクニックでした。
 

タグ

CSV, explode, php, エディター, ギガ, コード, こと, ソフト, ファイル, プログラム, ユニーク, 但し, 何か, 使用, 保存, , 全て, 内容, 再度, 分離, , 単位, 可能, 場合, 容量, 専用, 整形, 文字, 方法, 最後, 簡単, 終端, 編集, 自分, 行端, 記入, 追加, 通用,

ちょっとした物。InstagramのAPI取得する

2019.10.05

Logging

Instagram(インスタグラム)の画像などが取得することが出来ます。アクセストークンの取得の方法がわからない場合はぐぐってください。尚、APIのバージョンが、今後上がった場合は下記のコードは使用できなくなる可能性があります。ちなみにこのコード動作確認はしておりません。このコードを理解して使用できる人のみお使いください。
尚、画像取得数はデフォルト10にしています。プログラムではアクセストークンと20を渡しています。
画像URLはコメントアウトのところに入ってきます。※プログラムを可変してお使いください。

<?php
//Instagram
//https://api.instagram.com/v1/users/self/media/recent/?access_token=&count=
class instagram_api{
    public const url ="https://api.instagram.com/v1/users/self/media/recent/?access_token=";
    public function api ($access_token= "",$img_count =10){
        $url = self::url;
        return (object)json_decode(@file_get_contents($url . $access_token."&count=".$img_count));
    }
    public function obj_img($obj=Null){
        if(!is_object($obj))return false;
        if(!$obj->data)return false;
        foreach ($obj->data as $key => $item) {
            var_dump($item);
            // $item->images->standard_resolution->url
            // $item->images->low_resolution->url
        }
        return true;
    }
}
$obj = instagram_api::api("access_token",20);
instagram_api::obj_img($obj);

タグ

, 10, 20, access, API, class, com, const, count, https, instagr, Instagram, lt, media', php, public, quot, recent, self, token, url, users, アウト, アクセス, インスタグラム, コード, こと, コメント, デフォルト, トークン, ところ, バージョン, プログラム, 下記, , 今後, 使用, 動作, 取得, 可能性, 場合, 方法, , 理解, 画像, 確認,

動画を無音声に変換するバッチ

2019.09.28

Logging

こらからプログラムしている所のVlogを撮ろうと
月曜日に、WEBカメラを新調しました。
いざ撮影してみると部屋の雑音などが入ってしまうので
音声カットする方法は無いのかなと
フリー編集ソフトをググっていたのだけど
フリーの動画編集ソフトは動画の最初に開発会社のロゴが
表示されるものが多くて何だかやだなーと思い
断念、よくよく考えると自分プログラマーじゃないかということを
思い出しffmpegの存在を思い出して、、、。
ffmpegで無音声で検索すると音の切り離しができる事を知り
バッチを作る事が出来たのでその方法をおすそ分け。
Windows用のffmpeg(解凍したフォルダffmpeg)がC:の直下に入っているとした場合の
バッチです、尚、解凍したフォルダはffmpegに名前変更済とします。
下記のコードをテキストファイルにコピーしてその後、拡張子をbatと変更し
お使いください。動かない場合、下記のプログラムを正しく理解するか
知り合いのIT関係者にヘルプしたら大体の方はわかると思います。
※環境変数には登録していないのでexeにパラメータを渡します。

@echo off
set /P INMP4="動画ファイル名(絶対パス)を入力ください"
set /P OUTMP4="出力動画ファイル名(絶対パス)を入力ください"
cd C:ffmpegbin & ffmpeg.exe -i "%INMP4%" -vcodec copy -an "%OUTMP4%"
echo "complete"

 
無事、無音声の動画に音楽をYOUTUBEで付与することが出来ました。
https://www.youtube.com/watch?v=0-0FH3iaEP4

タグ

Bat, ffmpeg, Vlog, web, Windows, おすそ分け, お使い, カット, カメラ, コード, こと, コピー, ソフト, だなー, テキスト, バッチ, , ファイル, フォルダ, フリー, プログラマー, プログラム, もの, ロゴ, 下記, , 動画, 名前, 場合, 変換, 変更, 存在, , , 拡張子, 撮影, 断念, 新調, 方法, 最初, 月曜日, 検索, , 直下, 編集, 自分, 表示, 解凍, 部屋, 開発, 雑音, , 音声,

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

2019.06.02

Logging

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

タグ

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

MYSQLのif文みたいなものを使用する機会が物凄く少ない気がする。

2019.05.18

Logging

### mysql case = if文みたいなもの
```sql
select namae,tensu
case when (tensu >= 75 and tensu <= 80)  then '可'
when (tensu >= 25 and tensu < 75)  then '否' else '???' end as kahi
from tbl;
table name tbl
|namae|tensu|
|---|---|
|hirose|77|
|non|76|
|arimura|78|
|aragaki|80|

mysql case = if文みたいなものを使用する機会が物凄く少ない気がする。
プログラム言語って使用しなければ抜け落ちるです。
自分の場合、たぶん長期的な記憶に障害があって抜け落ちるですw🙄。
メモしたことすら忘れてしまう…これは痛い老害?。

でも、好きな事は大体覚えていますね、概念的な事を覚えていたら大丈夫です😌。
 
 

タグ

```, 25, 39, 75, 76, 77, 78, 80, and, aragaki, arimura, as, case, else, end, from, gt, hirose, if, kahi, lt, MYSQL, namae, name, non, select, SQL, TABLE, tbl, tensu, then, when, こと, プログラム, メモ, もの, 使用, , , 場合, , 機会, , 自分, 言語, 記憶, 障害,