@Blog
日常日誌からプログラムやYOUTUBER紹介、旅日記まで日々更新中です。

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

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

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

著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
567, アレ, デザイン, なか, バージョン, パシャ, もの, レストラン, わけ, 上, 中, 到着, 前, 図書館, 外観, 学生, 山奥, 庭, 建築, 影響, 後, 想像, 感じ, 所, 撮影, 昼過ぎ, 時代, 書店, 木, 環境, 町並み, 若者, 蔦屋, 逆, 隈研吾, 雲, 風景,

オレオレ認証SSL化、ワンツーコマンドで出来る。
2020.11.09
mkcertというものを使うとワンツーコマンドぐらいでオレオレ認証SSL化が出来てしまいます。尚、mkcertをインストールするにはHomebrew(ホームブルー)がインストールされている事が前提です。
リナックスではHomebrewをインストール前手順として、gitとrubyがインストールことが、前提となります。あと、nss-toolsも入っていなかったら入れる必要があります。こちらを入れて下記のコマンドでインストールします。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
次にHomebrew、コマンドよりmkcertをインストールします。(※コマンド登録は割愛します!!)
brew install mkcert
ローカル環境に認証局を作成してSSL認証を発行すれば終わりです。
mkcert -install
mkcert example.com
その場所に生成が終わるとファイルが出来ているので、そのpemファイルをApacheのVirtualHostで設定している場合は下記のように設定しApacheを再起動してあげればブラウザ(FirefoxかChrome)で見ると鍵認証が付いている状態になります。/etc/hostsのファイルの設定もお忘れなく。
<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/html/example.com
SSLEngine on
SSLProtocol all -SSLv2
SSLCertificateFile /home/tanaka/example.com.pem
SSLCertificateKeyFile /home/tanaka/example.com-key.pem
</VirtualHost>
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
-fsSL, bash, bin, brew, C++, com, curl, git, githubusercontent, Homebrew, https, install, master, mkcert, nss-tools, quot, raw, Ruby, sh, SSL, インストール, オレオレ, こちら, こと, コマンド, ブルー, ホーム, もの, リナックス, ローカル, ワンツー, 下記, 事, 作成, 前提, 割愛, 化, 必要, 手順, 次, 環境, 登録, 認証,

Twitterの名前、記号部分を天気予報のアイコン、夜は月のアイコンへと変更する。
2020.11.06
Twitterの名前の特定の記号部分(■や@部分)を天気予報のアイコン、夜は月のアイコンへと変更する。ある有名エンジニアさんのアイディアを拝借して作りました、autoloadとnamespaceの関係で手詰まり、試行錯誤して解決、その次に命名の間違えで手詰まり。そしてファイルの参照で手詰まりしてやっとリリースしました?、長かった。
使用方法はdefineにそれぞれの値をいれてコマンドから定期的に実行すればよいという品物です。Composerでインストールしている環境で下記のコマンドでパッケージをインストールしてください。
パッケージの開発部分は白紙です、今後、この機能に関してはバージョンアップするつもりはないです。
プログラムに改善の余地はありですが、はじめてパッケージ使ったので疲れました?以上、現場からでした。
https://packagist.org/packages/zip358/tw_name_change
https://github.com/zip358/tw_name_change
defineの補足
- OPENWEATHERMAPのAPI_IDが必要です(ユーザー登録が必要です)。
- Twitter API 登録しCONSUMER_KEYなどのキーが必要です。
- Twitterのユーザー名が必要です(自分)。
- KENNOは下記のテーブルを参照ください。
- KIGOUは置き換える文字です。
※正規表現に使われている記号は使用できません。
composer require zip358/tw_name_change
php Twitter_name_change.php
if($argv[0]){
require './vendor/autoload.php';
use zip358\tw_name_change\tw_name_chg;
define("KIGOU","■");
define("KENNO","KENNO");
define("TIME_ZONE","TIME_ZONE");
define("OPENWEATHERMAP_API_ID","Openweathermap_api_id");
define("USER_SCREEN_NAME","user_screen_name");
define("CONSUMER_KEY", "CONSUMER_KEY");
define("CONSUMER_SECRET", "CONSUMER_SECRET");
define("ACCESS_TOKEN", "ACCESS_TOKEN");
define("ACCESS_TOKEN_SECRET", "ACCESS_TOKEN_SECRET");
$tw_name_change = new tw_name_chg();
$tw_name_change->main();
}
KENNO | 県名 |
---|---|
0 | 北海道 |
1 | 青森県 |
2 | 岩手県 |
3 | 宮城県 |
4 | 秋田県 |
5 | 山形県 |
6 | 福島県 |
7 | 茨城県 |
8 | 栃木県 |
9 | 群馬県 |
10 | 埼玉県 |
11 | 千葉県 |
12 | 東京都 |
13 | 神奈川県 |
14 | 新潟県 |
15 | 富山県 |
16 | 石川県 |
17 | 福井県 |
18 | 山梨県 |
19 | 長野県 |
20 | 岐阜県 |
21 | 静岡県 |
22 | 愛知県 |
23 | 三重県 |
24 | 滋賀県 |
25 | 京都府 |
26 | 大阪府 |
27 | 兵庫県 |
28 | 奈良県 |
29 | 和歌山県 |
30 | 鳥取県 |
31 | 島根県 |
32 | 岡山県 |
33 | 広島県 |
34 | 山口県 |
35 | 徳島県 |
36 | 香川県 |
37 | 愛媛県 |
38 | 高知県 |
39 | 福岡県 |
40 | 佐賀県 |
41 | 長崎県 |
42 | 熊本県 |
43 | 大分県 |
44 | 宮崎県 |
45 | 鹿児島県 |
46 | 沖縄県 |
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
autoload, Composer, define, https, namespace, org, packages, packagist, Twitter, zip, アイコン, アイディア, アップ, インストール, エンジニア, コマンド, それぞれ, つもり, バージョン, パッケージ, ファイル, プログラム, リリース, 下記, 予報, 今後, 余地, 使用, 値, 参照, 名前, 命名, 品物, 変更, 夜, 天気, 実行, 拝借, 改善, 方法, 月, 有名, 機能, 次, 特定, 現場, 環境, 白紙, 解決, 記号, 試行錯誤, 部分, 開発, 関係,

映画、風をつかまえた少年を観ました。
2020.10.25
映画、風をつかまえた少年を観ましたよ、この映画、予告でストーリーは大体、分かると思うのですがそれでも見る価値はあると思います。自分はこの映画の予告をシェアしましたが、確か・・・高知県では上映されていなかったので見に行くことが出来なかった作品です。この度、プライムで配信されていたので歩きながら、2日間にかけて映画を観ました。

実話というのもあって考えさせられるものがありました、日本にいるとこういう環境で生活している人のことを想像できにくいのだけど、やはりまだそういう世界は存在している。グーグルマップで世界を見るとインフラの整っていない地域は結構あります、そして勉学よりも食べることに必死な世界があるということ。
そういう事が起きているということを忘れてはならないと思います。知で変えられることはまだ世界には在るだなと。
そんな価値のある映画です。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
2, インフラ, グーグル, こと, シェア, ストーリー, それ, プライム, マップ, もの, 上映, 世界, 予告, 事, 人, 作品, 価値, 勉学, 地域, 大体, 存在, 実話, 少年, 度, 必死, 想像, 日本, 映画, 環境, 生活, 知, 自分, 配信, 風, 高知県,
iPhone12買いますか?
2020.10.16
https://www.apple.com/jp/iphone-12/ iPhone12を買いますか?自分は収入が不安定なのでいまは買うことはないでしょう。でも、魅力的なのは確か…。だけど5G対応したはじめてのiPhoneだから、もしお金があっても自分はスルーするつもり。
いまそんな事より仕事を見つけることが優先順位高いです。そして仕事探しの他にアプリを作ることを勉強中です。あとjavaを学習中です。この2つのことで気づきはjavaは大事だわ。java学習していると他の言語で応用がかなり楽になるということが身を持って気づきました。
あとios系アプリ作るのにswift(スウィフト)という言語も触っているのですが、言語はPythonとJavaの掛け合わせみたいな書き方だなと感じています。因みにios系のアプリを作るにはMacが必要です。そして開発環境はxcodeです。xcodeを触っていて・・・outlet(アウトレット)という考え方があるのですが、これが最初なれないなと感じました。今でもめんどくさいなと思っています。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
12, 2, 5, apple, com, https, iOS, iPhone, java, jp, Mac, outlet, Python, swift, www, xcode, アウトレット, あと, アプリ, いま, お金, かなり, こと, スウィフト, スルー, つもり, ハジメテ, 不安定, 事, 仕事, 他, 優先, 勉強, 収入, 大事, 学習, 対応, 必要, 応用, 書き方, 環境, 系, 自分, 言語, 身, 開発, 順位,
PowerShellであれ使えるだな。
2020.10.15
wget "ダウンロードするファイルのURL" -OutFile "保存先ファイルパス"
あれというのはwgetというダウンロードするときなどに使用するcommandです。リナックス系を使用している人には使っている方も多いかもしれない。そんな素敵なcommandがウィンドウズ10のPowerShell7では使用できるみたいだ。
大量画像にダウンロードする必要があったのでダウンロードファイルをリスト化、command打つように変換した。結果、とても楽です。
事務作業している方でIT好きな方はVBAを勉強してみると確実に仕事の効率化に繋がると思っています、たまにPythonをオススメするひともいるだけど、自分はあまりオススメしません。
なぜなら、一般的な事務員さん全員がそれを取り扱えるとは思わないからです。なのでクリックすれば動くよみたいな物が作れてパソコンの環境を変えないで良いのはVBAぐらいかと思います。PowerShellでもパソコンの環境を変更しないと動かないですからね。
バッチ処理などは一般的なひとはやはりハードルが高いと思ふ・・・?
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
-Command, -OutFile, 10, 7, IT, powershell, Python, quot, url, VB, VBA, wget, あれ, ウィンドウズ, おすすめ, クリック, それ, ダウンロード, たま, とき, パス, パソコン, ひと, ファイル, リスト, リナックス, 事務, 人, 仕事, 作業, 使用, 保存, 全員, 効率, 勉強, 変換, 大量, 必要, 方, 物, 環境, 画像, 素敵, 結果, 自分,
映画、僕と世界の方程式を観ましたよ。
2020.09.10
映画、僕と世界の方程式を観ましたよ。感想から言うと何だか、他人事とは思えなかった、別に自分は賢くはないですがサバン症候群の軽症に当てはまるのかなと思ったりします。
人と少し感覚が違うところがあるのでそう思うところから、そう感じるのだけなのかもしれませんが・・・。
映画を観て最初はそれほどかなと思いましたが、徐々に映画の内容に共感を得ることが出来ました。同じような境遇の人の中にいると成長できたり楽しめたりすることが出来るのかなと思ったわけです。自分もそのような環境で切磋琢磨したいなと感じます。
そんな事もあり感情移入でき最後の方まで見ることが出来ました。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
こと, サバン, ところ, わけ, 世界, 中, 事, 人, 他人事, 僕, 共感, 内容, 切磋琢磨, 境遇, 少し, 感情移入, 感想, 感覚, 成長, 方, 方程式, 映画, 最初, 最後, 環境, 症候群, 自分, 軽症,
死守せよ、だが軽やかに手放せ
2020.07.11
過去の記事を全消しに近いぐらい消して記事を再構築しました?。
自分も含めピーター・ブルックの言葉『死守せよ、だが軽やかに手放せ』を送ります。皆さん、必死だから見えなくなるですよ。自分を傍観しましょうよという話です。
必死にしがみついていると見なくなったりします。例えば職場でここしかないと思って働いていると、その環境が劣悪な環境だったとしても、ここしかないと思い必死に働いてしまいます。そういう事はよく有ることだと。
なので、一度、俯瞰的に見る目を持つことが大事になると思います、そして自分をステップアップ出来る環境に移りたいと思ったら、いきなり辞めるのではなく転職先が決まってから辞めることをお勧めします。それまではスキルアップの時間を日々の時間に取り入れることをお勧めします。
また転職先が決まってから、次の日から転職先で働くのではなくお休みや有給休暇を消化して次の職へ移ることをお勧めします、何故なら社会人になると中々、自由な時間が取れなくなるものです、なので自分にご褒美を与えてください、そうすることにより次の職場で頑張るぞという気持ちがより一層芽生えます。
あと、万が一のために貯蓄は絶対です。無職でも2、3年生活できる資金は持っておくと心に余裕もできます、なので、そういう事を考えた上で「死守せよ、だが軽やかに手放せ/Hold on tightly, let go lightly」という事を実行しましょう。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
6, com, https, oihnM, watch, wixB-, www, youtube, アップ, お休み, お勧め, ここ, こと, スキル, ステップ, それまで, ピーター, ブルック, 一度, 事, 俯瞰, 傍観, 全消し, 大事, 必死, 日, 日々, 時間, 構築, 次, 死守, 環境, 皆さん, 目, 職場, 自分, 言葉, 記事, 話, 転職, 過去,
レジ袋有料化で思うこと。
2020.07.02
7月1日からレジ袋有料化が始まりました。たぶん他の国から言えば遅れているでしょうけれど始めないよりはじめた方が良いわけです。因みに昨日、こんな呟きをしました。
こんな感じで今まで無料だったものが有料になると感覚的に高いなと感じませんか?自分は高いなと感じてしまいます。これって例えばWEBサービスでもそう感じるのかもしれない。特にサブスクリプションの値上がりは少し値段が上がっても高いなと感じてしまいますよね。そう思うと最初に高い値段にして元が取れた時点で値下げするようなサブスクリプションのシステムを導入すれば、逆にユーザーはお得感が生まれるのではないかなと思います。
これからはそういうサブスクリプションも登場するのではないかなと思います。ともあれ、今回のレジ袋有料化は日本人に環境意識を植え付けるにはとても良い事だと思います。少しは環境の意識の薄い世代でも環境のことを考えることになるだろうなと思います。温暖化もありますからね…今年の夏はどうなるのだろうか、そして567の影響でマスク着用ってのは辛いですよね。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1, 7, web, お得感, こと, これ, サービス, サブスクリプション, システム, もの, ユーザー, レジ袋, 世代, 事, 今回, 他, 値下げ, 値段, 元, 国, 導入, 少し, 意識, 感じ, 方, 日本人, 昨日, 時点, 最初, 有料, 温暖化, 無料, 環境, 登場, 自分, 逆,
機械学習なら何とかなりますよと思った。
2020.06.16
あんぽんたんな自分でも機械学習なら何とかなりますよと思わせたYOUTUBEが結構ある。何とかなりそうだと思えると結果何とかなることが自分は多い。
なので多分、機械学習は何とかなりそうだ。
そしてこの頃、思った。機械学習で学習できそうなYOUTUBE動画、日本ではあまりないのだが海外はかなりの量のYOUTUBE動画が投稿されていていて、ほんと今はネットが常時接続可能な環境であればなんでも勉強できると思えた。
それは機械学習だけではなくあらゆる分野の学問が無料で習うことが可能だということです。あの小学校に行かない子供も何とかなりそうだとこの頃、思えるようになった。彼が勉強が大事だと本気で思って本気で勉強すれば何とかなる世の中になっているだなと、、、。インターネットって本当に凄いな。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
youtube, あんぽんたん, インターネット, かなり, こと, それ, ネット, ほんと, 世, 中, 今, 分野, 勉強, 動画, 可能, 大事, 子供, 学問, 学習, 小学校, 常時, 彼, 投稿, 接続, 日本, 本当, 本気, 機械, 海外, 無料, 環境, 結果, 自分, 量, 頃,
グランツーリスモ7は凄い。
2020.06.15
グランツーリスモ7は凄い、リアル。
これを開発している人は凄いなと感じます。
仕事の話ですが、凄い人がいると思う環境で仕事をするのと
そうではない環境で仕事をするのとでは大きな違いが有ると思います。
日本企業は会社で成長できるという考え方があるところも未だあるかもしれないが、外資系は仕事で成長できるという考え方はない。仕事で自分は技術を教わったことが今まで無いに等しいのですが殆どの人は勉強しないだってさ。ある意味、ゆるげーなのかもしれない。
自分を向上させたかったら、自分よりも技術の高い人がいる環境に身を置くと良いかもしれない。そうすると嫌でも勉強し技術を習得しようとする心が生まれるから、ただここで注意点は向上心を持っていけるかどうかだと思います、それが出来ない上司がいる、否定するや劣悪な環境ならば転職したほうが良い。
技術は自分で身につけるものだけど環境はかなり大事だと。ひとを変えたければ環境だと思う。どんなに秀でた才能があっても環境が悪ければ花咲かないと、、。あと浴びせられる言葉も大事かなと思います。
いや、ゲームとは全然違う話でしたが、グランツーリスモ7は何がすごいかと言えば、リアルであるのに処理がスムーズなところです。かなりの計算処理が走っているのにモタツキがない所だと思います。ビジュアル的にも凄いけど、リアルを追求しているところが本当に凄いです。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
7, com, ecUQE-sDUtk, https, watch, www, youtube, グランツーリスモ, ここ, こと, これ, それ, ところ, リアル, 上司, 人, 仕事, 企業, 会社, 勉強, 向上, 向上心, 否定, 外資, 心, 意味, 成長, 技術, 日本, 殆ど, 注意点, 環境, 習得, 考え方, 自分, 話, 身, 転職, 違い, 開発,

bingから画像を一括ダウンロードするアプリ。
2020.06.14
任意のキーワード検索でbing画像からを一括ダウンロードするアプリを作りました。img-dl-bing-sss.exeファイルを起動すると動画のようなコンソール画面が開くので入力してダウンロードを開始してください。ダウンロードが終わると勝手に閉じます。
なお、一応R指定にも対応しています、キーワードがR指定項目かもと思う場合、Yと入力ください。
新垣結衣さんの熱烈なファンでもないですが、綺麗な方だとは思います。ということで例として使用させて頂きました、、、関係者の皆様ごめんなさい。
このアプリはウィンドウズ10環境で動作します。また、動作しないブロックされる場合は下記のURL等を参照しブロックを解除しお使いください。ブロック解除方法:https://forest.watch.impress.co.jp/docs/news/1130655.html
※なお、Bingサイトのデザインが変わった場合、動作しなくなりますのであしからず。
画像ダウンロードアプリのソースコードはこちら(古いコードですので動かない場合がありますVS2019C#)
using System;
using System.Runtime.CompilerServices;
namespace img_dl_bing_sss
{
class Program
{
static void Main(string[] args)
{
string keyword = "",R18="";
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("処理中は画面や立ち上がったブラウザを閉じないでください。\n" +
"処理が完了すると「***終了します***」と表示されます。\n" +
"何かキーを押し終了してください\n\n");
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("↓検索キーワードを入力しエンターを押してください");
keyword = Console.ReadLine();
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("↓R指定ですか?\nY or N かの文字を入力しエンターを押してください");
R18 = Console.ReadLine();
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("***画像のダウンロード量(画像数ではありません) 1?999 ***");
var scroll = 9999;
try
{
scroll = int.Parse(Console.ReadLine());
if(scroll >=1 && scroll <= 999)
{
scroll = scroll * 9999;
}
}
catch
{
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("***検索キーワードが不適切です。***");
}
SuiteTests img = new SuiteTests();
if (img.Imgdlok(keyword, R18, scroll))
{
img.Dispose();
}
else {
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("***検索キーワードが不適切です。***");
}
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("***終了します***");
}
}
}
// Generated by Selenium IDE
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Remote;
using OpenQA.Selenium.Support.UI;
using OpenQA.Selenium.Interactions;
using Xunit;
using AngleSharp;
using AngleSharp.Html.Parser;
using AngleSharp.Html.Dom;
using AngleSharp.Dom;
using System.Runtime.InteropServices;
using Newtonsoft.Json;
using System.IO;
using System.Net;
public class SuiteTests : IDisposable {
public IWebDriver driver {get; private set;}
public IDictionary<String, Object> vars {get; private set;}
public IJavaScriptExecutor js {get; private set;}
public SuiteTests()
{
driver = new ChromeDriver();
js = (IJavaScriptExecutor)driver;
vars = new Dictionary<String, Object>();
}
public void Dispose()
{
driver.Quit();
}
public bool Imgdlok(string keyword="", string R18= "",int scroll = 999999)
{
if (keyword == "") return false;
Console.Clear();
string path = System.IO.Directory.GetCurrentDirectory() + "\\IMG\\";
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
driver.Navigate().GoToUrl("https://www.bing.com/?scope=images&nr=1&FORM=NOFORM");
driver.Manage().Window.Size = new System.Drawing.Size(945, 1030);
driver.FindElement(By.Id("sb_form_q")).Click();
driver.FindElement(By.Id("sb_form_q")).SendKeys(keyword);
driver.FindElement(By.CssSelector(".search.icon.tooltip")).Click();
try
{
if (R18 == "Y")
{
driver.FindElement(By.LinkText("設定の変更")).Click();
driver.FindElement(By.CssSelector("#settings_safesearch div:nth-child(3)")).Click();
driver.FindElement(By.Id("adlt_set_off")).Click();
driver.FindElement(By.Id("sv_btn")).Click();
driver.FindElement(By.Id("adlt_confirm")).Click();
}
}
catch
{
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("***R指定ではありません***");
}
try
{
double ps = 0;
for (int i = 99; i < scroll;i+=1000)
{
js.ExecuteScript("window.scrollTo(0," + i + ")");
Console.CursorLeft = 0;
ps = (double)(((double)i / (double)scroll) * 100);
Console.Write("処理中::{0:D2}%",(int)ps);
}
}
catch
{
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("***Max画像まで到達しました***");
}
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("\n***ダウンロード処理開始***\n");
int cnt = 0;
var elm = driver.FindElements(By.ClassName("iusc"));
driver.Manage().Window.Minimize();
foreach (var e in elm) {
dynamic jsondata = JsonConvert.DeserializeObject(e.GetAttribute("m"));
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine((string)jsondata.murl + "::wait.....");
string imgurl = (string)jsondata.murl;
if(4 <= Path.GetExtension(imgurl).Length && Path.GetExtension(imgurl).Length <= 5)
{
try
{
cnt++;
string ext = Path.GetExtension(imgurl);
WebClient myWebClient = new WebClient();
myWebClient.DownloadFile(imgurl, path + "No-" + cnt + "-" + keyword + ext);
myWebClient.Dispose();
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine("***" + cnt +"::" + imgurl + "\n::ダウンロード中、画面を閉じないでください...***");
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("***" + cnt + "::ダウンロード済***");
}
catch
{
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("***ダウンロードが失敗しました***");
}
}else{
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("***画像の拡張子が不明のためダウンロードが失敗しました***");
}
}
Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine("***ダウンロード完了しました***\n" + path);
return true;
}
}
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
10, bing, exe, img-dl-bing-sss, url, VS, アプリ, ウィンドウズ, キーワード, コード, こちら, こと, コンソール, サイト, ソース, ダウンロード, デザイン, ファイル, ファン, ブロック, 一括, 下記, 任意, 使用, 例, 入力, 動作, 動画, 勝手, 参照, 場合, 対応, 指定, 新垣結衣, 方, 方法, 検索, 環境, 画像, 画面, 皆様, 等, 綺麗, 解除, 起動, 開始, 関係者, 項目,

ダラダラとLaravel構築してみた解説あり(*´?`*)
2020.06.02
Laravelをインストール手順を動画にしました。いらない手順が含まられていますが・・・。気にしないでください!!
ちなみに適当な動画は無音ですみません。尚、PHPがタイムアウトしてComposerがインストール出来ない場合はポートの解放が出来ているか、IPv6が有効になっていないかなど調べてくだいね。なお、自分の場合、IPv6が有効になっていてダウンロードが出来ない状態でした(´・ω・`)。
お世話になったサイトはこちらです。こちらの手順通り対応しvirtualBOX、いや仮想環境を再起動してあげてください。そうするとすんなりダウンロード出来ます。それでもダウンロード出来ない場合はアドレスからgetcomposer.orgからダウンロードする手段もありますが、恐らくその後のComposerインストールで躓くはずです。サーバー環境を見直すと良いでしょう。
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
composer create-project laravel/laravel example-app
最後にLaravelのドキュメントのリンクを貼っときますm
https://laravel.com/docs/8.x/installation
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
6, Composer, getcomposer, https, IPv, Laravel, org, php, server-me, virtualBOX, www, アドレス, いね, インストール, お世話, くだ, こちら, サーバー, サイト, タイムアウト, ダウンロード, パス, ポート, 仮想, 再起動, 動画, 場合, 対応, 後, 手段, 手順, 有効, 構築, 気, 無音, 状態, 環境, 自分, 解放, 解説, 適当,
戦場のピアニストが好きです。
2020.05.31
戦場のピアニストを聴くと心が落ち着きます。何故ナノカわからないですが昔からこの曲が好きなんですね。昨日、生きていくとはどういう事なのかみたいな事を書きました。自分の耳に学生時代のひとの情報がいろいろ届くことはあまりないです。たぶん、自分の耳まで届けばその情報はかなり凄いことだと思います。
六次の隔たりという言葉があります、フェイスブックで友人6人と繋がれば、タレントにコンタクトを取るということも可能になるというような意味合いがその言葉にはあります。自分はフェイスブックの繋がりは0人です。ただFBは公開しているので誰でも見ることは可能です。コンタクトを取りたい人はとれる環境ですが未だにコンタクトを取ってくれません。悲しい状況といえばそうですね。
フェイスブックでの情報発信はずっと続けていくでしょう。情報発信は自分のためにもなりますし、誰かの為になると思っています。朝に『おはようございます』と街頭にたって挨拶する人がいます。何年前からそれを続けている人は何のためにやっているのか?、他人には変わったひとのように見えるかもしれませんが、でも誰かの為になっているだろうと思います。信念があるのでしょう。何かそれには理由があるだと思います。理由もなく街頭で挨拶するって出来ないですよ。何かしらあるだろうと…。話しかけてみると案外普通の人なのかもしれません。
そんな感じで明日から標準記事に戻ります。
最後にフェイスブック申請をお願いしますー!?お願いしますー!
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
0, 6, FB, かなり, こと, コンタクト, ため, タレント, なのか, ピアニスト, ひと, フェイスブック, 事, 人, 公開, 六, 友人, 可能, 学生, 心, 情報, 意味合い, 戦場, 挨拶, 昔, 昨日, 時代, 曲, 朝, 未だ, 為, 状況, 環境, 発信, 耳, 自分, 街頭, 言葉, 誰, 誰か,
昔といまの変わらないプログラマーさん。
2020.05.21
簡単なコードをむかしはいろいろ調べながらプログラムを書いていた、いまはその調べる時間が短くなって来ている、特によく使用している言語はそんなに時間がかからない、長くても1時間だと思います。それ以上はあまりない。。。『えっそんなにも』と驚く人もいると思うけれど、誰も聞く人がいない環境だとあたりまえに、そんな環境はあると思います。
学習方法は今も昔やあまり変わらない手を動かしてプログラミングして覚えるという事につきます。YOUTUBEなどの解説を聞いただけで覚える人も中にはいると思うけれど、普通の人は解説を聞き手を動かし、そこからプログラムを可変してやっと身につくことになると思います。
自分はそんな感じです?だから・・・
皆がおなじという考えではなく、中小企業で働くIT戦士を長年見てきて皆、そんな感じで経験を積み、中小企業のプログラマーになっていくという形が大半です。中には素質ありの方もいます、そういうひとは最初から大企業のプロパになります。>生きている道が違いますが皆、プログラマーです(´・ω・`)。
プログラマーにもランクがあります。SランクにはなれなくともAランクやBランクのプログラマーを目指して日々精進じましょう。
ひとつコードを記載します。さてこのJSのコードの無駄はなにか考えてみてください。分かっても一人ほくそ笑む事にしてください(*´?`*)
https://zip358.com/tool/demo16/
let i = 0;
const btn = document.getElementsByTagName("button");
const evt = (e) => {
const view = document.querySelector("#view");
str = `
<div class="alert alert-primary" name="pop" role="alert">
Content ${i++}
</div>
`;
view.innerHTML += str;
const rm = (e) => {
e.target.remove();
};
const pop = document.getElementsByName("pop");
for (var x = 0; x < pop.length; x++) {
pop[x].addEventListener("click", rm);
}
};
btn[0].addEventListener("click", evt);
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1, IT, youtube, アタリマエ, いま, コード, こと, そこ, それ, ひと, プログラマー, プログラミング, プログラム, プロバ, むかし, 中, 中小企業, 事, 人, 今, 企業, 使用, 大半, 学習, 形, 感じ, 戦士, 手, 方, 方法, 昔, 時間, 普通, 最初, 環境, 皆, 簡単, 素質, 経験, 聞き手, 自分, 解説, 言語, 誰, 身, 長年,

悲報:アレが減っている?
2020.04.08
YOUTUBERの人達が広告の収益が減っていると最近聞きましたが、それはブロガーさん達も同じかなと思います。
こういうご時世だから仕方がないと思います。coronavirus-19での倒産件数も日々増えています。企業は生き物だということもあるように、死んでいく生物もいれば新たに誕生する生物もいます。順応性のある生き物はこんな中でも生き残ることが出来るかと思いますが、中々、大変だなと感じますね。ちなみに最強の生物と言われる生き物にクマムシという生物がいます。この生物は熱い環境にも寒い環境にも、はたまた真空でもとあらゆる極寒の環境でも生きていける生物です。そんな企業は無いと思いますが、強いていうならGAFA+BATかなと思います。
これから世の中、どうなっていくのだろうかなと思っています。過去の感覚には戻れるのだろうか、ちなみに日本で完全リモートワークを始めた企業は5%ぐらいだそうです。これは多いのか少ないのか少々わからないですね。全企業から言えばIT企業はどれぐらいシェア率なのか?この5%はIT企業がほぼほぼの割合だとすると、今後、他の企業にもリモートワークが導入され始めるかと思っています。おそらく最初はとてもやり難いと感じるでしょう。日本でリモートワークとして上手く行っている会社があります。それの企業はソニックガーデンと言います、創業当初?からリモートワークを行っているそうです、なので今まで蓄積されたノウハウはかなりあるのではないでしょうか?これからリモートワークを始めようと考えている企業様や社員さんはアマゾンで「倉貫 義人」とググってみると社長が書かれた書籍がありますので参考にしてみてください。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
19, 5, Bat, coronavirus-, GAFA, IT, YOUTUBER, アレ, かな, クマムシ, こと, これ, ご時世, それ, ブロガー, リモート, ワーク, 世, 中, 中々, 人, 件数, 企, 企業, 倒産, 収益, 大変, 完全, 広告, 悲報, 感覚, 日々, 日本, 最強, 最近, 極寒, 環境, 生き物, 生物, 真空, 誕生, 過去, 順応性,

アロー演算子の数珠繋ぎの作り方?
2020.03.17
コロナウィルス対策の一環として東京都が“GitHub”に開設した新型コロナウイルス対策サイトがすごいと話題になっているらしいので自分も見てみました。ソースコードはVue.js,TypeScript,React.js,PHPなどなどいろいろな言語が使用されていました。PHPはLaravelの機能が使われてたりして、書き方が綺麗で勉強になるなぁと思ったわけです。参考になりますよね、きれいな書き方のコードを見るとやはり参考になります。
もともと、書き方が古いと自分は古い書き方に合わせます。特に上がプライドが高い人だと出る杭は打たれるみたいな状態になりますので要注意ですね…。そういう人が上にいると徐々にコードを書くのが面白くなくなります。そういうのは大いにあるなと思います。名も知らないひとのコード書きが自分の上司だったらなと思うときがあります。
そう愚痴ってもしょうが無い、その環境を選んだのは自分自身な訳ですからね。
ただ技術力を伸ばしたければやはり環境は大事、辞めたいなら辞めて自分の力を表現できる環境に身をおいた方が断然良い。
前置き長くなりました、、アロー演算子を数珠繋ぎする考え方はこんな感じです。考え方を知っとくと応用が出来るようになります、やはり基準を知るが大事かなといつも思います。
追記:これを応用するとこんな感じになります。追記のソースコードを記載しました(2021.07.05)
<?php
class testA{
public $a = "";
public function __construct($a)
{
$this->a = $a;
}
public function test1($a=""):string{
return (string)$this->a." ".$a."<br>\n";
}
public function test2($a=""):string{
return (string)$this->a." ".$a."<br>\n";
}
}
class test{
public function main($a="Hello"):object
{
$this->a = $a;
return new testA($this->a);
}
}
$test = new test();
print $test->main()->test1("PHP");
print $test->main("by")->test2("C");
<?php
class test{
function main(){
return new class{
function testA(){
return "testA";
}
function testB(){
return "testB";
}
};
}
}
$test = new test();
print $test->main()->testA();
print $test->main()->testB();
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
github, JS, Laravel, php, react, TypeScript, vue, アロー, いろいろ, ウィルス, きれい, コード, コロナ, コロナウイルス, サイト, しょう, ソース, とき, ひと, プライド, もともと, わけ, 一環, 上, 上司, 人, 作り方, 使用, 勉強, 参考, 名, 対策, 技術力, 数珠繋ぎ, 新型, 書き方, 杭, 東京都, 機能, 注意, 演算子, 状態, 環, 環境, 綺麗, 自分, 自身, 言語, 訳, 話題, 開設,
システムエンジニアの1日を撮ったvlog(one day)
2020.01.30
システムエンジニアの1日を撮ったvlogが海外では流行っていたのか、結構検索するとヒットする、大手のIT企業で働いている人もvlogを撮っているので興味のある方は視聴してみてはどうだろうかと。日本の場合、IT企業が宣伝目的で撮ったvlogは結構あるものの、個人が自分の1日を撮った動画はかなり少ない。これが日本と海外の差でもあるなと感じました。
見ていただけると分かる通り、やっていることはそこらにいるシステムエンジニアやプログラマーと変わりはあまり無い、ただ、そこに書かれているコード内容が違う、そして一番違うのは彼らの働いている環境がブラックIT企業とは、雲泥の差があるという事だ。彼らと同じような環境に近づけたいのならば、フリーランスのエンジニアとして働くのが一番理想に近くなる可能性が高いが、全責任は自分自身に降りかかるので、そこだけは注意したほうが良さげ。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
-brF, 1, 6, com, day, IT, one, SUXbns, Vlog, youtube, エンジニア, かなり, コード, こと, これ, システム, そこ, そこら, ヒット, ブラック, フリー, プログラマー, ランス, 事, 人, 企業, 個人, 内容, 動画, 可能性, 場合, 大手, 宣伝, 差, 彼ら, 方, 日本, 検索, 海外, 理想, 環境, 目的, 自分, 自身, 興味, 視聴, 責任, 通り, 雲泥,

WEBお問い合わせフォームのお値段はいったい幾ら?
2020.01.17
WEBお問い合わせフォームのお値段はいったい幾らなのか?
堀江貴文氏はデジタルの値段は限りなくゼロに近くなると言っていたけど、無料のWEB申し込みフォームやお問い合わせフォームはある。自分もお問い合わせフォームの簡易的な物を作ってみましたのでファイルをアップしますね。
テンプレートエンジンとしてtwig3.0を使用しています、そのため動作環境はPHP7.2以上になります。ソースコードの可変は行って構いません、またこのソースコードの動作保証などは致しません。WEB担当者様が確認を行いバグ等があれば修正を行ってください。
尚、Composerでtwigをインストール済みという事が前提となります。また送信部分やエラー処理についてはご自身で機能の追加が必要となります。
サンプルページ
https://zip358.com/tool/request/
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>お問い合わせ</title>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"
integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6"
crossorigin="anonymous"></script>
<script src="js/common.js"></script>
<style>
.jumbotron {
background-color: #2bd4d0;
color: #fff;
}
.btn-primary {
color: #fff;
background-color: #2bd4d0 !important;
border-color: #2bd4d0 !important;
}
.input-group-text {
background-color: #2bd4d0;
border: 1px solid #2bd4d0;
}
</style>
</head>
<body>
<div class="jumbotron jumbotron-fluid">
<div class="container">
<h1 class="display-4">お問い合わせ</h1>
<p class="lead">必須項目を入力し送信ボタンを押してください。<br>DEMOのため送信はできません</p>
</div>
<div class="alert alert-warning" id="error_sendmail" role="alert">
</div>
</div>
<form action="index.php" method="POST">
<div class="container">
<div class="row">
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">お名前[必須]</span>
</div>
<input type="text" name="name" class="form-control" id="name" placeholder="name" value="{{name}}">
</div>
<div class="alert alert-warning" id="error_name" role="alert">
</div>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">メールアドレス[必須]</span>
</div>
<input type="email" name="email" class="form-control" id="email" placeholder="name@example.com"
value="{{email}}">
</div>
<div class="alert alert-warning" id="error_email" role="alert">
</div>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text" id="basic-addon1">@</span>
</div>
<input type="text" name="twitter_account" class="form-control" placeholder="twitter account"
aria-label="twitter account" aria-describedby="basic-addon1" value="{{twitter_account}}">
</div>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">お問い合わせ内容[必須]</span>
</div>
<select name="meun" class="form-control" id="exampleFormControlSelect1">
{% for selectop in meun_option %}
<option value="{{selectop.value}}" {{ selectop.value == selectoped ? " selected":"" }}>
{{selectop.name}}</option>
{% endfor %}
</select>
</div>
<div class="alert alert-warning" id="error_meun" role="alert">
</div>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">コメント[必須]</span>
</div>
<textarea name="comment" rows="10" class="form-control" aria-label="コメント">{{comment}}</textarea>
</div>
</div>
<div class="row">
<footer class="blockquote-footer">
<small class="text-muted">
ご自由に記入ください。
</small>
</footer>
</div>
<div class="alert alert-warning" id="error_comment" role="alert">
</div>
<button type="submit" class="mt-2 btn btn-primary btn-lg btn-block">送信する</button>
</div>
</form>
</body>
</html>
<?php
session_start();
require __DIR__ . '/vendor/autoload.php';
use Twig\Environment;
use Twig\Loader\FilesystemLoader;
$loader = new FilesystemLoader(__DIR__.'/templates');
$twig = new Environment($loader);
$meun_option = json_decode(file_get_contents("js/select.json"));
$form = ["name","email","twitter_account","meun","comment"];
$data = [];
if($_POST){
foreach($_POST as $key=>$val){
$_SESSION[$key] = strip_tags($val);
}
}
if($_SESSION){
foreach($_SESSION as $key=>$val){
$_SESSION[$key] = strip_tags($val);
}
}
foreach($form as $key => $val){
$data[$val] = $_SESSION[$val]?$_SESSION[$val]:"";
}
extract($data);
print $twig->render('index.html.twig',["name"=>$name,"email"=>$email,"twitter_account"=>$twitter_account,"selectoped"=>$meun,"comment" => $comment,"meun_option"=>$meun_option]);
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
3.0, 358, 7.2, com, Composer, DOCTYPE, gt, html, https, lt, php, request, tool, Twig, web, www, zip, アップ, インストール, エラー, エンジン, お問い合わせ, コード, ご自身, サンプル, ゼロ, ソース, ため, デジタル, テンプレート, バグ, ファイル, フォーム, ページ, 事, 使用, 保証, 修正, 値段, 処理, 前提, 動作, 堀江貴文, 幾ら, 必要, 担当者, 機能, 無料, 物, 環境, 確認, 簡易的, 自分, 追加, 送信, 部分,
一時間に一回だけAPIを実行するPHPのオブジェクトファイル
2020.01.10
あるユーザーが公開しているプログラミングを参考にして
オブジェクト化してみた。
参考にしたサイトのリンクは下記になります。
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);
}
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
5.6, API, class, cron, hour, json, lt, php, public, timeKeeper, エラー, オブジェクト, キャッシュ, コード, こちら, サーバ, サイト, ソース, ダウンロード, ため, テスト, ファイル, プログラミング, ユーザー, リンク, 一, 上書き, 下記, 保存, 公開, 内容, 処理, 動作, 参考, 場合, 実行, 差異, 時刻, 時間, 更新, 案, 環境, 結果, 自分, 設定,
さくらレンタルサーバーでWordPressのDBバックアップを支援するPHPコード
2020.01.10
さくらレンタルサーバーで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();
}
}
});
});
}
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
5.6, db, dbbackup, ID, pass, php, sakura-rental-wpdb-backupf, WARNING, web, WordPress, wploadfile, アップロード, インストール, お願い, コード, サーバー, さくら, ダウンロード, バックアップ, ファイル, フォルダ, プログラム, ベーシック, メール, ルート, レンタル, 上記, 何, 動作, 名, 場合, 変更, 外部, 完了, 容易, 対応, 担当者, 支援, 環境, 発生, 設定, 設置, 認証, 部分, 階層, 際, 駆け出し,
こういうの結構需要あるよね。
2019.12.01
こういうYOUTUBE動画は結構需要あるよねと思ってしまいます。
例えば、雨の街角を記録した映像とか、ほんと何気ないのだけど
ほんとにそういうのが好きです。
雨の音のアプリがあるのは、自分は納得しています。
自分も結構使っています。スマートスピーカーから雨音を一日中流すことも
あります。雨音って聞いていても雑音にもならないし、
逆になんだか落ち着けるので良いかなと思っています。
屋久島の夜音(虫の音色)も雨音と同じぐらい落ちけます。
ちなみに雨音聞かせてくれるサイトがあります。
https://www.rainymood.com/ 【昔は映像も流れてた】
こういった環境音っていま流行っているらしいですが…
休日は何も考えないでぼーっとこういう映像を観るのもリラックスに
良いかなと思っています。
著者名
@taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
com, rainymood, youtube, アプリ, いま, こと, サイト, スピーカー, スマート, ほんと, リラックス, 休日, 何, 動画, 夜, 屋久島, 昔, 映像, 環境, 納得, 自分, 虫, 街角, 記録, 逆, 雑音, 雨, 雨音, 需要, 音, 音色,
働き方の考え方が変化している
2019.11.14
いままでは正社員が優遇された会社が多かった。
地方はそのような会社がまだありますが、都市では
そのような会社が減っています。
働き方改革で何が変わったのか。
1. 終身雇用ではなくなりつつある。
2.会社というシステムが必要性がなくなりつつある。
これからどうなるか(20年後までに起きそうなこと)?
1. 中小企業の減少(ホワイトカラーの企業からその動きが始まる)。
2.個人が複数の仕事を行うようなアメリカのような社会になる。
たぶん、これからIT業界は実力主義になります。
実力のない人は消えていく運命になると思います、そして
簡単な仕事は個人へ流れ、プロジェクトはプロジェクト単位で
チームが形成されプロジェクト完了ともに解散というような流れに
変わるでしょう。この基盤のようなWEBシステムサービスがありますが
最終的にはWEB上で仕事が行える環境を提供するサービスと
プロジェクトを発注するサービスは別々になると思います。
いま一番、問題なのはクラウド上で仕事が行える環境を提供してくれる
サービスが少ないということですが、今後はそのような環境を提供する会社は
増えていくと思います。
著者名
@taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1, 2, 20, IT, web, アメリカ, いま, ぐ, こと, これ, サービス, システム, チーム, プロジェクト, ホワイトカラー, 上, 中小企業, 主義, 人, 仕事, 企業, 会社, 何, 個人, 働き方, 優遇, 別々, 単位, 問題, 地方, 基盤, 変化, 完了, 実力, 形成, 必要性, 提供, 改革, 業界, 正社員, 減少, 環境, 発注, 社会, 簡単, 終身, 考え方, 複数, 解散, 運命, 都市, 雇用,
いろいろエディタやIDEを試してみてこれが良いかなと。
2018.11.23
IDEとエディタの境目あたりで言えばATOMかVisual Studio Codeですね。
IDEでPHPを使用するならばNetBeansかなと思います。
ATOMに関してはいろいろ試してみてこれだけのプラグインをインストールすれば
それなりに開発しやすいですよ。
auto-encoding
autocomplete
japanese-menu
linter-php
v-bootstrap4
これを入れてあとはPHPで開発するならばPHPのインストールも
お忘れなく。
ちなみにVisual Studio Codeの方が安定しています。
間違いなくシェアはこちらのほうが多いです。
会社でもVisual Studio Codeを使う人が多くなってきています。
サクサク動くので使用しやすいですね。
Visual Studio Codeでも上記と同じようなことがプラグインや
基本設定から可能です。
特に開発環境がUTF-8だけではない環境の方は
基本設定のここをONにしてあげると便利です。
“files.autoGuessEncoding”: true
著者名
@taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
4, 8, ATOM, auto-encoding, autocomplete, autoGuessEncoding, Code, files, IDE, japanese-menu, linter-php, NetBeans, ON, php, Studio, true, UTF-, v-bootstrap, Visual, あげる, あたり, あと, いろいろ, インストール, エディタ, お, かな, ここ, こちら, こと, これ, これだけ, サクサク, し, シェア, それなり, ちなみに, ない, プラグイン, やすい, 上記, 人, 会社, 使う, 使用, 便利, 入れ, 動く, 可能, 同じ, 基本, 境目, 多い, 多く, 安定, 忘れ, 思い, 方, 特に, 環境, 良い, 言え, 設定, 試し, 開発, 間違いなく, 関し,
プライドというモノ。
2018.06.24
子供の頃はそれほど、プライドが高い子というものは
いないと思います。だから、まとまりやすいけれど思春期ぐらいから
プライドというモノを持ち出す。
そうなると自分の考えとかそういうモノが
芽生えてきて、まとまりにくい環境が出来てくる。
プライドというのは価値観だと。
価値観というのは主に義務教育の中で生まれる。
ほとんどの人は日本国に都合の良い教育の中で生まれた
価値観なんだと思います。
もっと掘り下げるとその教育の根底にあるのは
「武士道」みたいな心が昔から脈々と受け継がれているけれど、
ここ数年でグローバル化進み
いままでとは違う多様な価値観を生む社会にシフトして行っている。
コレから先、どうなるのか分からないけれど
日本人である事を忘れないでいる事が大切になる気がします。
※スターウォーズなんかを観てたらよく分かります。
著者名
@taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
B00007AJUL, B00GBEARHU, グローバル化, コレ, スターウォーズ, プライド, 価値観, 子供, 思春期, 日本人, 日本国, 根底, 武士道, 環境, 社会, 義務教育, 良い教育, 都合, 高い子,