- blogs:
- cles::blog
首里城で火災
okinawa
worldheritage
castle 【動画】沖縄県那覇市にある首里城で火災。城の正殿が激しく燃えています。https://t.co/DR8RG4zTyj#nhk_news #nhk_video pic.twitter.com/6QfdXQVabU
— NHKニュース (@nhk_news) October 30, 2019
沖縄のシンボル首里城が火災で焼失してしまったようです。
30 年かけた復元が 1 月に完了したばかりで、僕もその雄姿を 3 月に見学したばかりなだけにショックです。
WSL の apt が遅いときの対策方法
wsl
ubuntu1804 WSL の apt のダウンロード速度が 500kB/s を切っていたので、ちょっと何でも遅すぎるだろと思って調べてみたら、リポジトリが海外になっていました。
こんな感じで url に jp. をつけてあげると劇的に速度が改善されると思います。
Fedex のインターナショナル・プライオリティは予想以上に速い
delivery 海外からの通販はよく使っていますが、今回はちょっと急ぎだったので少し高い配送サービスを使ってみました。
10 月 28 日に米国サンノゼから発送されたものが、10 月 30 日の昼過ぎには都内に配送されたのにはびっくり。普段はエコノミー航空(SAL)便などが多いので、米国からは10日以上かかりますが、それとは完全に別次元。ほぼほぼ国内の通販と同じような感覚ですね。
金額的には小さなものでも1万円くらいかかるので、決して安くないんですけどね。
gem mysql から mysql2 に移行してみる
ruby
mysql 昔書いた Ruby のプログラムを CentOS 7 上で動かそうとしたのですが、MariaDB が 10.4 と比較的新しいバージョンだったので gem で mysql がインストールできないので困ってしまいました。
mysqlを見ると、最終アップデート日が 2013 年になっていて、最近はメンテナンスされていないようです。このまま粘っても解決の見込みも立たないので、mysql2 に移行してしまうことにしました。
† ソースの書き換えは大きく3箇所
基本的には以下の3箇所を変更してやれば、基本的な動作はするようです。
Date などの部分を自動的に cast する機能がついたようですが、これは :cast => false でオフにしてあります。
clang-query を使って cpp の AST を解析する
cpp
c
clang
softwareengineering C/C++ のソースコードの AST を使って簡単に解析する方法がないか調べていたら、clang-query というのが使えそうだったのでメモ。
clang-tools に入っているので Ubuntu 18.04 では apt install clang clang-tools で使えるようになりました。
† 実行例
例えば以下ような簡単なプログラムの構造を見てみます。
sample.c
コマンドラインから以下のようなコマンドを入力すると、出力を得ることができます。
クエリの内容を変更することで自在にカスタマイズができるので便利ですね。
Match #1:
Binding for "root":
FunctionDecl 0x7fffd94a0d78 </home/hsur/example.c:3:1, line:6:1> line:3:5 main 'int (void)'
`-CompoundStmt 0x7fffd94a0f88 <col:15, line:6:1>
|-CallExpr 0x7fffd94a0ef0 <line:4:2, col:22> 'int'
| |-ImplicitCastExpr 0x7fffd94a0ed8 <col:2> 'int (*)(const char *, ...)' <FunctionToPointerDecay>
| | `-DeclRefExpr 0x7fffd94a0e18 <col:2> 'int (const char *, ...)' Function 0x7fffd948fe08 'printf' 'int (const char *, ...)'
| `-ImplicitCastExpr 0x7fffd94a0f38 <col:9> 'const char *' <BitCast>
| `-ImplicitCastExpr 0x7fffd94a0f20 <col:9> 'char *' <ArrayToPointerDecay>
| `-StringLiteral 0x7fffd94a0e78 <col:9> 'char [12]' lvalue "Hello World"
`-ReturnStmt 0x7fffd94a0f70 <line:5:2, col:9>
`-IntegerLiteral 0x7fffd94a0f50 <col:9> 'int' 0
1 match.
† 参考
以下の MS による解説がわかりやすいです。
git で変更を半分だけコミットする
git git を使ってソースコードを管理していると、1 コミットで 1 Issue になるように履歴もきれいに保ちたいということがあります。
始める前はそうは思っていても、作業中に別のことが気になって、そちらもついでに直してしまったような場合(例えばバグ修正中に typo を見つけたような場合)、コミットする段階になってから困ることがあります。そのような場合には add や commit 時に -p をつけてやれば、hunk ごとに(場合によっては hunk の中をさらに分割して)ステージすることができます。
Git - git-commit Documentation
-p
--patch
Use the interactive patch selection interface to chose which changes to commit. See git-add[1] for details.
実際に add/commit しようとすると、プロンプトがこんな感じになるので種類が多くて驚くかもしれません。
基本的には y/n で答えればよく、さらに分割する必要があるときは e を選ぶという感じでしょうか。
e を選んだときにはエディタが立ち上がるので、そこで add/commit に含めたい変更(先頭が +/- で始まっている行)だけを残すようにすればよいだけです。
これについての詳細な説明は Git - git-add Documentation にあります。
WiFi 設定用の QR コードを作る
barcode
hotspot WiFi の手動設定を周知するのは面倒なので、なにか上手い方法がないかと思って探してみたら、スマホに関しては QR コードを使うという方法があることが分かったのでメモ。
例えば SSID:hoge, パスワード:fuga, セキュリティ:WPA/WPA2 の QR コードを作りたい場合、以下のような文字列の QR コードを作ればいいみたいです。
ちなみにこれがどこで定められているのか、いろいろと規格を調べてみたのですが、残念ながら見つけることができませんでした。
† 参考
Laravel でパスワードを忘れたときの再設定方法
php
laravel Laravel の Auth を使うとパスワードは DB にハッシュ化された状態で格納されます。
これはこれでセキュリティのために必要な挙動なので、これに文句を言うつもりはありません。
しかしながら、例えば管理者用のパスワードを忘れてしまい、DBを強制的に上書きしてログインしたいような場合、このハッシュがどのように作られているのか分からないとお手上げです。今日はまさにそんな状態に陥ってしまったので、解決方法を調べてみました。結論から言うと、以下のようにインタラクティブな php (artisan の tinker)を起動して、プログラムで DB を書き換えることができます。
これだと一撃で実行できるので、楽ちんです。
[Laravel でパスワードを忘れたときの再設定方法 の続きを読む]
名前のローマ字の表記は、来年1月から姓名順に
english 名前のローマ字の表記が国の公文書では、来年1月から姓名順になることが決まったようなのでメモ。
変えると混乱を招くと思うので、どの程度普及するかは未知数ですね。
ローマ字、来年から「姓・名」順 文科相表明、民間に周知へ | 共同通信
国の公文書にローマ字で日本人の名前を表記する際、来年1月1日からは特別な事情がない限り「姓・名」の順とし、姓を明確にする場合は全て大文字にすると関係する中央省庁で申し合わせたと明らかにした。各省庁が関係業界に通知を出すなどして、民間にも周知を始めるという。
git で branch を間違えてプログラムを書き始めてしまったときの修正方法
git
humanerror Git で うっかり新しいブランチを切らずにプログラムを書き始めてしまって、コミットするときに気づいて困るということがあります。
そのようなときの修正方法をいつも忘れていて調べ直すのでやり方をメモ。
基本的にには
の4ステップでできます。
† 具体的な操作
- 換気口に風よけカバーを設置 (2)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(1115)
3 . シャープの空気清浄加湿器のキュルキュル音対策は PTFE テープで(975)
4 . svn でコミットしたらエラーが出たので(959)
5 . RT810 の DHCP サーバを WPAD に対応させる(892)
Academic[574]
Book[155]
Diary[522]
Disaster[101]
Foodlogue[1425]
Game[284]
Goods[805]
Healthcare[341]
Hobby[32]
IT[1195]
Military[343]
misc.[1570]
Mobile[510]
Music[38]
Neta[106]
News[95]
Photo[391]
RealEstate[120]
Security[1178]
SEO Contest[36]
Software[634]
Tips[1886]
Travelogue[1238]
Web[675]
Work[193]

