min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

Bootstrap4 の card がWindowsのChromeだと正常に表示されない

Bootstrap4のCardで作った部品が、WindowsChromeだと崩れて見えない。

f:id:min117:20200322042957p:plain

今までApple製品しか使ってなかったから気づかなかった。

 

同じページをiPad mini 4のSafariで見ると正常に表示される。

f:id:min117:20200322043844p:plain

f:id:min117:20200322043851p:plain

WindowsでもChromeWebkit使ってるはずだし、Safariは言わずと知れたWebkitの発祥Appleの謹製だし。

 

たぶんだけど、ChromeWebkitの仕様ないしCSSの仕様に沿ってないんだと思う。

 

とはいえ、WindowsだろうがMacだろうがWebである以上は同じ見え方&同じ操作性にしたいわけで。Windowsでだけヘンな見え方のままなのも悔しい。

 

 

 

ソース見るとこのへんだなぁ

f:id:min117:20200322044738p:plain

やはりコードには誤りが無いようで。Chromeの問題と思う。

 

似たような問題を挙げてる記事。

https://github.com/twbs/bootstrap/issues/24258

https://github.com/twbs/bootstrap/issues/26814

なんでこのへんて日本語の記事ないのかね。同じことで困るハズなんだけど。もう少し調べる。

 

 

 

 

 

Windows7から10にアップデートしたLet's note SX1 のWSLを有効にして Kali Linux をインストールする

前回はメルカリで買った Panasonic Let's note SX1 をSSDに換装してWindows10をインストールした。

 

min117.hatenablog.com

 

min117.hatenablog.com

 

 

f:id:min117:20200322031451j:plain

 

今回はこれのWSL(Windows Subsystem for Linux)を有効にして Kali Linux をインストールする。

 

まずは「プログラムと機能」にアクセス。

f:id:min117:20200322031439j:plain

 

Windows の機能の有効化または無効化」から Windows Sybsystem for Linux にチェックを入れる。

f:id:min117:20200322031443j:plain

f:id:min117:20200322031447j:plain

求められるがまま再起動する。

 

 

 

起動後は Windows アプリストアから KALI Linux を選択。

f:id:min117:20200322031711j:plain

f:id:min117:20200322031455j:plain

 

複数デバイス云々は「必要ありません」で飛ばす。

f:id:min117:20200322031459j:plain

 

インストール完了。起動。

f:id:min117:20200322031704j:plain

 

おお、まともに動く。

f:id:min117:20200322031503j:plain

 

む。sshは入ってないのか。

$ sudo apt-get -y update && sudo apt-get -y install ssh

f:id:min117:20200322031509j:plain

 

f:id:min117:20200322031512j:plain

f:id:min117:20200322031518j:plain

おし。これでsshで母艦fedoraにログインできる環境になった。

 

Windowsssh繋げるコンソールがないからプライベートPCとしては全く眼中になかったけど、WSLからssh叩けるようになったことで自分用としての価値が一気に上がった

 

次回はVNC入れてMacにつなぐ。ここまでいければ実用は困らない。

f:id:min117:20200322031523j:plain

 

 

 

 

メルカリ 12,864円 で買ったLet's note SX1 をSSDに換装 → Windows7から10にアップデートする

こないだメルカリで買った Panasonic Let's note SX1。

min117.hatenablog.com

古い型だけど、モノがかなり良い。メモリ8GBにCorei5。液晶もほぼ新品。これで12,864円。リカバリディスクまで付属してこの値段。かなり良い買い物をした。

f:id:min117:20200320125802j:plain

 

HDDは256GBあるが、いかんせん遅い。SSDに換装する

 

ディスクにはバッテリーを外してアクセスする。

f:id:min117:20200320125831j:plain

 

必ず写真を撮りながら作業を進める。

f:id:min117:20200320125942j:plain 

 

金属の金具をそっと取り外したら、耳を引っ張る。グッと引く感じにするとHDDを引っ張り出せる。

f:id:min117:20200322030218j:plain

このとき引っ張りすぎないこと。右側にある端子部分が破損してしまうから。ある程度引っ張ったら、そっと端子部分からディスクを剥がす。

 

換装先のSSDはコレ。120GBだが自分的な用途には充分すぎるくらい。 

f:id:min117:20200322025750j:plain

 

引っ張り出しテープを、元のHDDのと同じ位置につける。

f:id:min117:20200322030010j:plain

 

元通りの手順で戻す。

f:id:min117:20200322030018j:plain

ディスクの上下を間違わないように慎重に。写真を撮りながら進めているのがこのへんで役に立つ。

 

ディスク保護部分のゴムも元通りに。

f:id:min117:20200322030023j:plain

 

SSDに換装したので、OSをインストールする。 

f:id:min117:20200322030027j:plain

SX1シリーズなのでCDトレイまであってかなり便利。

 

f:id:min117:20200322030034j:plain

 

久々に見たWindows7の画面。

f:id:min117:20200322030452j:plain

 

新規インストールで進める。

f:id:min117:20200322030031j:plain

f:id:min117:20200322030456j:plain

1時間程度で完了。

 

Windows7のスプラッシュ画面。なんか新鮮。

 f:id:min117:20200322031006j:plain

f:id:min117:20200322031011j:plain

f:id:min117:20200322031014j:plain

懐かしさすらある。

f:id:min117:20200322031018j:plain

f:id:min117:20200322031022j:plain

f:id:min117:20200322031026j:plain

f:id:min117:20200322031030j:plain

Panasonicのすべての機能がインストールされたようだ。要らないソフトはあとで消す。

 

f:id:min117:20200322031035j:plain

 

 

Windows7 Proの正規ライセンスなので無料でWindows10 Proにアップデートできるはず。

f:id:min117:20200322031039j:plain

 

Windows10のダウンロード

f:id:min117:20200322031047j:plain

f:id:min117:20200322031043j:plain

 

f:id:min117:20200322031056j:plain

 

引き継ぐ項目なんて無い。新規インストールなんだから。

f:id:min117:20200322031100j:plain

 

f:id:min117:20200322031109j:plain

f:id:min117:20200322031113j:plain

 

30分ほどでインストール完了。

f:id:min117:20200322031426j:plain

f:id:min117:20200322031430j:plain

 

おし。Windows10になった。

f:id:min117:20200322031451j:plain

次回はWSL(Windows Subsystem for Linux)を有効にして Kali Linux をインストールする。

 

 

 

PHP エラー箇所を特定するには php ファイル名.php とする

phpのソースが大きくなるとコードのどこでエラーになったか分かりにくくなる

f:id:min117:20200315121240p:plain

 

ソースを見る。

$ vim doLSglob.php

f:id:min117:20200315120801p:plain

 

1700行目から1746行目までしか手を入れていないはずだけど、どこだろう…

f:id:min117:20200315121530p:plain

if文のカッコの対応も正しいし。間違ってないような気がする。

 

 

こういうときはCLI版のphp動かすとエラー箇所が分かる。

$ php doLSglob.php

f:id:min117:20200315121859p:plain

2017行目でミスってる。

 

そうか。1737行目で呼び出す関数も作ったっけ。

f:id:min117:20200315121932p:plain

2017行目、変数の頭にドルマークが無い。ケアレスミス

 

よし動いた。

f:id:min117:20200315122639p:plain

それにしてもコロナウイルスの政府対応の無茶苦茶なこと。記者会見ではまともに質問を受け付けず首相による原稿の朗読会のようだ。独裁国家の国営放送と変わらない。

 

昨年2020年3月14日(ホワイトデー)には政府の閣議決定によって検察法を変えて定年を延長してしまった。

f:id:min117:20200315123607p:plain

 

そんなバカな。

 

日本は議会制民主主義国家なんだから、法律を変えられるのは国会のみのはずだ。行政府の閣議決定で法を変えるなんて決めても完全に無効なのに、それを咎めるマスコミもない。記者会見でもまともな追及もないし、そもそも政府がそれをさせない。

 

本当に恐ろしい国になった。

 

 

 

 

fedora30 定期実行cronの実行ログをjournalctlで見る

 毎日のラジオ録音がcronで正常に動いたかどうか確認したい。journalctlでcronのログを確認する。

f:id:min117:20200315103055p:plain

 

できた。

$ journalctl --since today | grep -v MUSIC

 

--since  today とすれば今日のログが取れる。

grep できるみたい。

f:id:min117:20200315102634p:plain

journalctl嫌い。UNIXの哲学に反する。そう感じる。

 

シンプルでない。

日付の指定オプションが長ったらしい。

 

出力を勝手にlessしよる。

ただただ標準出力に吐けばいいのに。

 

とにかく直感的でない。センスない。

qiita.com

 

 

 

 

コロナウイルスに関する記事をPDFにする

2019年3月9日。新型コロナウイルスは日本中に蔓延。

 

マスクの供給不足について政府の無策を指摘した報道に対し厚生労働省が番組名を挙げて批判するという、恐ろしい事態になっている。

f:id:min117:20200309002120p:plain

 

税金で運営される公機関であるはずの厚生労働省「特定の番組のみ」を名指しして批判し報道を萎縮させるとは。どこかの独裁国家のようだ。安倍政権の政治が役所まで狂わせている

 

f:id:min117:20200309002946j:plain  f:id:min117:20200309002951j:plain

ツイートでは「マスクの優先供給を行なった」と完了形で広報している

 

f:id:min117:20200309002956j:plain

 

なんとそれは嘘だった

www.huffingtonpost.jp

 

公の機関が事実と異なる内容を広報し、かつ訂正もしない

f:id:min117:20200309004053p:plain

公文書ですら改ざんされる安倍政権下にあっては行政も端から腐っていくとみえる。

 

これに呼吸を合わせるように、自民党広報も特定の番組を攻撃している。

f:id:min117:20200309002908j:plain f:id:min117:20200309002915j:plain

 

厚労省自民党にとって都合の悪い報道だけをピンポイントで攻撃している。

lite-ra.com

役所や公党による、特定の報道への狙い撃ち攻撃ツイートを許してしまえば、報道は萎縮し政治に対する健全な指摘すらできなくなってしまうだろう。先の対戦はこうして大本営化していったのか。日本は再び危ない方向に向かっている。

 

 

そんな厚生労働省が、では公式ホームページではどのような情報発信をしているのか。厚労省サイトの報道発表一覧を見てみる。

https://www.mhlw.go.jp/stf/seisakunitsuite/bunya/0000121431_00086.html

www.mhlw.go.jp

 

テキストに落とす。

$ curl https://www.mhlw.go.jp/stf/seisakunitsuite/bunya/0000121431_00086.html | grep コロナ | sed -e s/'^.*href="'/''/g | sed -e s/'html.*$'/'html'/g | grep -v 415k | tee -a to_dl_kourousyou_coronavirus.txt

 

リストを元にPDFにする。

min117.hatenablog.com

 

以前作ったスクリプトも活用する。

min117.hatenablog.com sort | uniq したリンクをsleep 60sec入れつつスクリプト食わせてPDF化する。

 

 

できた。

f:id:min117:20200309010044p:plain

f:id:min117:20200309010146p:plain

f:id:min117:20200309010228p:plain


ここからテキストに落とす(PDF→txt)

$ for i in 20200308_*pdf; do echo "$i"; pdftotext "$i"; done

f:id:min117:20200309005904p:plain

できた。

min117.hatenablog.com

 

テキストの頭の6文字を取り出してみよう。

$ for i in 20200308_*txt; do echo "$i"; cat "$i" | grep -A 6 令和; echo '------------------------'; done

 

ふーん。途中から照会先(たぶん決裁者が変わってるんだな。

f:id:min117:20200309010758p:plain

加藤だったのが

f:id:min117:20200309010845p:plain

山田に変わる。

f:id:min117:20200309010912p:plain

ふーん。

 

 

 

 

fedora30 wordpressの作りを自力で解析する

wordpress入れてみた。

min117.hatenablog.com

f:id:min117:20200308214036p:plain

 

投稿一覧にテスト投稿してみる。

f:id:min117:20200308214128p:plain

 

2020年3月。クルーズ船発の新型コロナウイルスの対応を誤ったアホな政府

f:id:min117:20200301192526p:plain

突然の全国一斉休校したせいで、日本中が大混乱。

 

新学年への心の準備も、卒業式も、全てを突然に一律に奪われた子供たち。かわいそう。

f:id:min117:20200308214225p:plain

ただ、なんでもかんでも自粛ムードの中で、公園だけは子供の声が溢れていてホッとする

 

投稿できた。

f:id:min117:20200308222157p:plain

さて、これがどんな仕組みで動いているのか。wordpress本も読んでみたけど

 

ダルい。まずは手を動かす自分で調べる。これ大事。

 

wordpressの構成ファイルは「themes」フォルダの中にあるらしい。

$ cd /mount/wp/word001/wp-content/themes/bourgeon

f:id:min117:20200308221324p:plain

 

これらphpファイルの中に、投稿した文字列「全国一斉休校」があるか調べる。

$ for i in *php; do echo "$i"; cat "$i" | grep 全国一斉休校; done

f:id:min117:20200308222011p:plain

あれ?無い?投稿はうまくってるのに?

 

そうか。投稿文字列もDBの中に格納してるのか。mysqlで覗いてみる。

$ mysql -u root -p

f:id:min117:20200308215021p:plain

mysql> show databases;

mysql> use データベース名(カンマなし)

mysql> show tables;

 

$ select ID,post_author,post_status,post_title,post_date from wp_posts order by post_title desc;

f:id:min117:20200308214925p:plain

やはり。DBに書いてるんだ。同じpost_titleが並んでいるところを見ると、投稿がアップデートされるたびに1行(1row)が作られるらしい。

 

$ select ID,post_author,post_status,post_title,post_date from wp_posts where post_title LIKE '%全国一斉休校%';

f:id:min117:20200308214810p:plain

 

ふむ。大体の仕組みは分かった。pages.phpをカスタマイズして固定ページを作ればUIはカンタンに作成できて、投稿なりしたデータはDBに格納される作りなのね。

 

あとはいろいろ投稿して弄ってみる。