Arch Linuxでモバイルブロードバンド(LTE)を有効化する方法
一部のノートパソコンなどで
モバイルブロードバンドを扱いたい場合の設定。
すでに通常の無線LANには繋がる状態であることをそうていしています。
まずは必要パッケージを引っ張る
sudo pacman -S modemmanager
サービスを有効にする
systemctl enable ModemManager
あとは再起動すれば完了。
即座に有効化したい場合には、systemctl startで起動してください。
Linux (Arch Linux) での日本語入力やキーボードレイアウトの問題の解決策を一挙に列挙、これでLinuxの日本語環境の構築の不具合は解決
Linux楽しんでいますか?
Lisuxでは通常、問題解決の時間というのは、ある意味知識が得られる楽しい時間帯でもありますよね。
しかし!!!
日本語入力関連に手間取っている時間だけは別です。
何の生産性もないだけでなく、不具合が環境特有過ぎて応用も効きにくいと、いいことなしです。
そこでArch Linuxのインストールを繰り返して溜めた日本語関連の不具合解決の知見を皆さんに共有したいと思います。
これの一覧を片っ端から試して一気に問題解決へと進めて時間を有意義に使ってください。
大原則、下流から原因を探っていく。
まず重要となるのが、原因を探る場合には下流から探っていくということです。
そう言わてもいまいちピンと来ないと思うので言い換えると
入力メソッド→デスクトップ環境設定(ローカル)→xorg,wayland設定 → グローバルのデスクトップ環境設定 → グローバルのxorg,wayland設定 → システム設定
という順番で原因を探っていきます。
このように下流から順に原因を探っていかないと
上流で試行錯誤している間に変な設定変更をしてしまい
下流で本来の問題が解決したあとで、再び上流由来の不具合が発生してしまいます。
設定の優先度の高い最下流から順番に問題がないかさぐっていきましょう。
主にどういうときに不具合が発生するのか(Arch Linuxあるある)
Arch Linuxでよくある不具合の原因は
インストールの際に横着して言語を英語にしたままでインストールしてしまうこと。
どうせUIは英語でもわかるしいいやーと余裕綽々でインストールするのですが
肝心のキーボードレイアウトが日本語なので、その部分だけ日本語化するのに後で苦労することになります。
余談ですが、Arch Linuxのインストール時に最初に実行する
loadkeys jp106
という呪文はコンソール用なので
あとから英語設定のまま入力メソッドやらデスクトップ環境やらをインストールすると
お節介なことに丁寧にキーボードレイアウトまで英語で上書きしてくれてえらい目に逢います。
Archのインストール時に英語のまま進行する理由というのは
ホームディレクトリのフォルダ名に日本語が混ざるのが鬱陶しいからだと思いますが
面倒でも日本語にしっかりと設定してインストールしたあとでフォルダ名を変更していったほうがいいです。
キーボードレイアウトや日本語入力に手間取るほうがよっぽど面倒くさいので。
今回は、日本語入力ができない場合の解決策と
日本語キーボードレイアウトにならない場合の解決策に分けて解説します。
大半の人は日本語入力自体ができない悩みでしょうが
Arch Linuxの場合はキーボードレイアウトでつまずくことが多いのですが情報がないので後者はメモ代わりに。
入力メソッドが表示されるのにJavaアプリ上で入力が効かない場合
ブラウザなどでは文字が入力できるのに
Javaアプリ上では入力した文字が反映されない場合があります。
もしかして?:KDE
これは恐らくQT関連のパッケージや
pam_environmentファイル設定の不足が原因です。
もう一度パッケージなどを見直してみてください。
全角・半角ボタンを押してもMozcが出てこない
これは初心者が落ちるケースの場合は
入力メソッドにMozcが追加されていないのが原因です。
fcitx設定やibas設定を開いてMozcを追加しましょう。
他に、Arch Linuxを英語でインストールしてしまった
一部のパワーユーザーが陥る別パターンの問題が原因の場合もありますが
それは大半の人には該当しないと思うので後述のキーボードレイアウトに関する解決策の章で同時に説明します。
入力メソッドをインストールしたのにログイン時に有効にならない
設定ファイルの記述が必要となります。
ディストーションによっては自動で設定してくれたりしますが
一部のディストリビューションでは手動での設定が必要となります。
~/.pam_environment LANG DEFAULT=ja_JP.UTF-8 GTK_IM_MODULE DEFAULT=fcitx5 QT_IM_MODULE DEFAULT=fcitx5 XMODIFIERS DEFAULT="@im=fcitx5"
上記のようなファイルを作成して再ログインしてみてください。
ログイン時に自動的に有効になります。
問題解決したいのに入力メソッドの設定画面がテキストで開いてしまって難しい
これはArch Linuxで設定用のパッケージをインストールし忘れた場合に発生する不具合です。
Arch Linuxは入力メソッドをインストールしても設定用のツールまでは自動でインストールしてくれません。
fcitx-configtool
上記のパッケージか、自分の入力メソッドに合わせた似たようなパッケージをインストールして解決してください。
fcitxやibasをインストールしたのに日本語入力ができない
これも初心者が陥るパターン
fcitxやibasは、それ自体では日本語入力できないので
fcitx-mozcやibas-mozcをインストールしましょう。
というか素のfcitxやibasは上記のインストール時に依存関係でついてくるパッケージなので
手動でのインストールは基本的にしないものと思ってください。
他にも、キーボードレイアウトの関係で
半角、全角ボタンが無効なボタンとして割り振られている場合もあります。
その場合には下記の手順で正しい日本語キーボードに設定し直す必要があります。
キーボードレイアウトが切り替わらない
いよいよ一部の人にとっての本題です。
この問題に直面するのは、英語のままでインストール作業をした場合なので
上級者がぶち当たるケースも多いかと思います。
以下は特に初心者には配慮しない解説となっていますので
用語などがわからない方は適宜ググってください。
Step0 下準備(Arch Linuxユーザー向け)
Arch Linuxを英語設定のままでインストールしてしまった人は
場合によっては不幸なことに変更するレイアウトすら入っていなかったりします。
とりあえず下準備としてレイアウトを増やしておきましょう。
sudo pacman -S kbd
他のディストリの人は多分この手順は不要だと思います。
step1 入力メソッドを疑おう
冒頭に書いた、下流から攻めるの鉄則で
最下流の入力メソッドから疑っていきます。
直前まで日本語キーボードレイアウトだったのに
急に英語キーボードレイアウトになった場合は大抵これ。
メゾット側のキーボードレイアウト設定を開いてみてください。
ここで日本語入力には成功したけども、jp106キーボードレイアウトではない場合
キーボードの種類を選び間違えてる場合があります。
Arch Linux環境の場合は
sun_type7_jp_usb
というキーボードmodelがあると思いますが
それに設定することで、「ろ」の入力などが可能になります。(物理的なキーボードの種類によります)
sun_type7のpcしか表示されない場合など
微妙にキーの数が足りなくなる場合があります。
その場合にはキーボード項目自体を削除して、Mozcのみが表示される状態にしておいてください。
他の設定項目で直接正しいキーボードレイアウトを設定すればそちらが反映されるので
日本語の場合には実は入力メソッド側での指定というのはそもそも必要なかったりします。
ただし、キーボードを削除した場合の欠点として
Mozcなどをオンオフした際のフローティングでの切り替えのお知らせポップアップが表示されなくなります。
step2 ローカルのデスクトップ環境を疑おう
デスクトップ環境用の言語設定が原因な場合もあります。
素直に設定メニューなどから、キーボードレイアウトというDE特有の設定項目があると思いますので
そこが英語キーボードレイアウトになっていないか確認してみてください。
sun_type7_jp_usbとkana86の組み合わせが存在した場合にはそれを選択してみましょう。
他のキーボードを使う予定がない場合には、システムのデフォルトを使用という項目を選択します。
これによりシステムを正しく設定できればこの項目も正しくなるので問題が単純化されます。
step3 xorgを疑おう
下記のコマンドを入力してみてください。
setxkbmap -query
現在のxorgのキーボード設定です。
ここがおかしな場合は、後述する00-keyboarの設定を行ってください。
ただし、繰り返しますが下流の問題を全て解決するのが先です。
step4 そもそも言語を設定しているのか (英語なら"en_US.UTF-8"と明記しているか)
これは結構盲点なのですが、何も設定してない場合には自動的にen_US.UTF-8になるわけではないので
結構英語ネイティブの人もそこ由来の不具合にハマっていたりします。
❯ locale locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory
英語でインストールした人は
上記のように空欄の言語設定がないか確認しておくこと
エラーが出ていた場合には下記のようなコードで修正をする。
sudo localectl set-locale LC_MESSAGES=en_US.UTF-8
step5 /etc/X11/xorg.conf.d/00-keyboard.conf に変な設定を打ち込んでいないか?
Archを使っているとありがちなのですが
試行錯誤でググった対処方法を片っ端から試している間に、おかしな設定が残ったままになっている場合があります。
❯ setxkbmap -query ─╯ rules: evdev model: sun_type7_jp_usb layout: jp,jp variant: sun_type7
ここが英語や怪しい他の文字列になっている場合には修正しておきましょう
step6 設定ファイルのスペルをミスっている
新規作成するタイプの設定ファイルが必要な場合
制作の際にスペルミスをしている可能性があります。
筆者がやらかした例ですと
.pam_enviroment # 誤 .pam_environment # 正
こんなパターンがありましたorz
設定ファイルをゼロから作る機会の多いArchLinuxではやりがちなミスなので気をつけましょう。
.pam_environmentの書式を間違えている
.xinitrcなどとは違って、構文中にexportの文字は必要ないので気をつけましょう。
コピペでexportを付与したまま作成していませんか?
そもそもDMが.pam_environmentに対応していない。
Arch Wikiではさも万能なようにかかれている上記設定ファイルですが
実際のところはDMによっては初期設定では読み込まないので無意味な設定となっている場合があります。
素直に.xinitrcと.xprofileに
export GTK_IM_MODULE=fcitx5 export QT_IM_MODULE=fcitx5 export XMODIFIERS="@im=fcitx5"
と打ち込んで再起動しましょう
(fcitx5)の部分は適宜書き換えること。
番外編
日本語入力関連のあるあるのハマりポイントもついでに解決しておきましょう。
日本語入力が即座に反映されない、毎回エンターを押す必要がある
拡張機能のon the topスタイルを有効化する
日本語入力のポップアップが常に左下に表示されてしまう
モジュールのインストールがされていないのが原因なのでインストールしましょう
(fcitx5-gtkやfcitx5-qtのこと)
Arch Linux以外の方にも似たようなパッケージがあるはずなので探してください。
日本語入力がめっちゃバグる
pam_environmentファイルでfcitx5と書くところを間違えてfcitxと書くと入力がバグるので修正しましょう。
以上です!!!!!!!!!!!
これでもうArch Linuxの日本語入力環境の整備も怖くないですね!!
Linuxで接続したBluetooth機器がログインのたびに切断されたうえにペアリングが解除される問題の対策
シンプルなので結論だけを書くと
接続だけをしてペアリングをしていないのが原意です。
マウスですとペアリングなしでも接続自体は可能なので
ペアリングをせずに接続だけで済ませてしまっていると
再接続のたびに最初から設定し直しになるので気をつけましょう。
Linuxで現在のデスクトップ環境がWaylandで動いているのかX11で動いているのか確認する方法
シンプルに以下のコマンドを打ち込むだけ
loginctl show-session 2 -p Type Type=wayland
これで実際にWaylandやX11が動いているのかどうかを確認できます
Linuxで"luks"を使ってホームフォルダを暗号化する方法
ホームフォルダの暗号化、してますか?
Mintなどのインスール時にチェックしたから安心?
実は既存のディストリで使われているecryptfsでの暗号化はあまりセキュリティ上よくない(ログアウトしても丸見えなまま)
パフォーマンスも最悪です。
The Cost Of Home Directory Encryption & LUKS Full Disk Encryption On Ubuntu 18.04 - Phoronix
そこでluksを使ってユーザーのホームディレクトリ用の暗号化パーティションを作成して
ログイン時にマウントさせましょう。
この方法なら万が一の故障の場合でも救出が容易でパフォーマンス上もメリットがあります。
早速ホームディレクトリの暗号化用のパーティションを作っていく
まずは適当にパーティションを作ってください。
どうせluksでフォーマットするのでファイルシステムは何でもいいです。
今回は仮に作ったパーティションを/dev/sda4とします
パーティションを暗号化しておく
先程作ったパーティションを暗号化します。
ディストリビューションによってはパッケージが足りない場合があるので適宜インストールしてください。
作業はほぼrootで行うため、sudo suでルート化しておきましょう。
暗号化しながらフォーマットします
cryptsetup luksFormat /dev/sda4
この際に、パスフレーズはログイン用のパスワードと同一にしてください。
暗号化したパーティションを開きます
cryptsetup open /dev/sda4 user
暗号化したパーティションをフォーマットします
mkfs.btrfs /dev/mapper/user
今回の例ではBtrfsにしていますが、ファイルシステムは自由に設定してください
一旦アンマウントします
umount /mnt/user
ここからは対象となるユーザーとは別のユーザーで実行してください
既存のホームフォルダを退避させます(ここでは仮にuserとします)
mv /home/user /home/user.bk
新たなホームフォルダを作ります
mkdir /home/user && chown -R user:user /home/user
一旦、上記のホームフォルダに暗号化パーティションをマウントしておきます
mount -t btrfs -o compress=zstd /dev/mapper/user /home/user
念の為フォルダの権限を再度変更します
chown -R user:user /home/user
バックアップしたフォルダからデータをコピーします
sudo -u user rsync -ar /home/user.bk/ /home/user/
ログイン時に自動的にマウントするように設定しておく(ついでにログアウト時のアンマウントも設定する)
余談ですが、Arch wikiの情報が古いのでArch wikiを参考にすると失敗しました。(執筆時点)
以下は改良済みの方法です。
/etc/pam.d/system-loginを編集する
auth include system-auth auth optional pam_exec.so expose_authtok /etc/pam_cryptsetup.sh
/etc/pam_cryptsetup.shに以下のスクリプトを作成
#!/usr/bin/env bash
CRYPT_USER="ユーザー名"
PARTITION="/dev/sda4" # 暗号化したパーティション
NAME="home-$CRYPT_USER"
if [[ "$PAM_USER" == "$CRYPT_USER" && ! -e "/dev/mapper/$NAME" ]]; then
/usr/bin/cryptsetup open "$PARTITION" "$NAME"
fi
上記のスクリプトに実行権限を付与
chmod +x /etc/pam_cryptsetup.sh
ユーザーのidを確認します
id user
今回はユーザー名に特殊文字があると失敗するので
念の為文字が問題ないか確認してエスケープしてください。
systemd-escape -p
ユーザー名
/etc/systemd/home-ユーザー名.mountにサービスを作成(今回はユーザーのidが1000としています)
[Unit] Requires=user@1000.service Before=user@1000.service [Mount] Where=/home/ユーザー名 What=/dev/mapper/home-ユーザー名 Type=btrfs Options=defaults,relatime,compress=zstd [Install] RequiredBy=user@1000.service
サービスを有効化します
systemctl enable /etc/systemd/home-ユーザー名.mount
/etc/systemd/system/cryptsetup-ユーザー名.serviceに以下を作成
[Unit] DefaultDependencies=no BindsTo=dev-暗号化したパーティション.device After=dev-暗号化したパーティション.device BindsTo=dev-mapper-home\x2dユーザー名.device Requires=home-ユーザー名.mount Before=home-ユーザー名.mount Conflicts=umount.target Before=umount.target [Service] Type=oneshot RemainAfterExit=yes TimeoutSec=0 ExecStop=/usr/bin/cryptsetup close home-ユーザー名 [Install] RequiredBy=dev-mapper-home\x2dユーザー名.device
サービスを有効化します
systemctl enable cryptsetup-ユーザー名.service
あとは再起動すれば完了!!!!
Pythonで機械学習を始めるのに役に立ちそうな日本語サイト10選
これからPythonで機械学習を始めてみようという際に
役立ちそうなサイトをまとめてみます。
発表されたばかりの最先端の機械学習関係の論文が1行にまとめられているサイト
データセットのリンク集
もの凄い種類のデータセットを網羅している。
機械学習に役立つPythonのライブラリがワンセットになったパッケージ
使い方 Anaconda で Python 環境をインストールする
関連 TensorFlowをWindowsにインストール Python初心者でも簡単だった件
エンジニア特化型Q&Aサイト
Pythonでの機械学習に関連したQ&Aも多数
NumPyの使い方が大量に掲載されているサイト
サンプルコードをたくさん紹介しているページ
株価予想のコードを惜しみなく公開してくれているブログ記事
TensorFlowを使って
じゃんけんの勝ち方を学習させるコードを紹介してくれているブログ記事
なんとディープラーニングを将棋に応用した上に
50記事以上に渡って強化する過程を紹介してくれているブログ
様々な機械学習アルゴリズムの比較をサンプルコード付きで行っている記事
藤井聡太七段の真のレーティングを算出!!羽生善治七冠に匹敵していたことが判明!!
- 藤井聡太七段は果たしてどれくらい強いのか?
- レーティングという基準
- まだまだレーティングが収束していない
- 藤井聡太七段の安定レートを計算してみる
- 直近30局での安定レートを算出してみる
- 他の棋士はどうなのか?
- 追記:石田直裕 五段との対局後の30局安定レーティング
藤井聡太七段は果たしてどれくらい強いのか?
快進撃の止まらない藤井聡太七段ですが
果たしてどのくらいの強さなのでしょうか?
七段という段位が現在の実力を正確に表していない事は
名人や羽生善治竜王を撃破した実績からも明らかですが
実際にどこまで強いのかは不明です。
レーティングという基準
棋士の実力を表すのに段位以外でよく引用されるのはレーティングと呼ばれる数値です。
これは実際の勝敗から確率的に確からしい強さを数字で表すという方法なのですが
如何せん、非公式な数値なので基準はバラバラです。
一番多く引用をされる最大手の棋士のレーティング算出サイトによると
藤井聡太七段のレーティングは5位という事になっています。
順 位 |
棋士名 | レート | 今年度 増減 |
前年 同月比 |
個人別 推移 |
---|---|---|---|---|---|
1 | 豊島将之八段 | 1890 | 11 | 20 | 推移 |
2 | 久保利明王将 | 1841 | 9 | -7 | 推移 |
3 | 広瀬章人八段 | 1839 | 5 | 60 | 推移 |
4 | 永瀬拓矢七段 | 1830 | -22 | 18 | 推移 |
5 | 藤井聡太七段 | 1821 | 25 | 121 | 推移 |
ところが、このレーティングという基準も
現在の藤井聡太七段の強さを表すには一つ問題があります。
まだまだレーティングが収束していない
このレーティングというのはなかなか優秀な指標なのですが
藤井聡太七段の場合には、成長速度が早すぎるために
未だ数値が安定していないのです。
そこで実際に安定した場合の数値はいくつになるのか計算してみました。
今回の計算では下記の記事を参考にしています。(感謝)
連勝の止まった藤井四段の強さはどれくらいか。:suda_k0のブロマガ - ブロマガ
藤井聡太七段の安定レートを計算してみる
早速、表計算ソフトを使って
実際に藤井聡太七段の戦績を繰り返した場合に
どのくらいの数値でレーティングが安定するのかを計測してみます。
計測に利用したのは無料のオフィスソフト、LibreOfficeです。
算出方法
今回の方法は至ってシンプル。
想定した仮レートを出発点として
藤井聡太七段の全対局と同じ勝敗結果を追体験させて
最終的なレーティングが上がりも下がりもしない均衡点を求めていきます。
現在のレーティングでシミュレーション
説明をしてもピンと来ないと思いますので
早速現在の藤井聡太七段のレーティング
1821を使ってシミュレーションをしてみようと思います。
上記の画像のように
出発レーティングを1821とした上で
対局後のレーティングの変動数値を計算していきます。
対戦相手のレーティングは大手のレーティング算出サイトから引用しました。
藤井聡太七段が対局した時点での対戦相手のレーティングを元に計算をしています。
レーティングが1905にまで上昇!!
早速直近の対局までの全対局でシミュレーションをしてみます。
・・・なんと!!
レーティングが1900を超えてしまいました!!
出発点を1900にしてみる
どうやら現在のレーティングである1821では出発点としては低すぎたようです。
先ほどの最終レーティング付近の1900から再出発してみます。
まだまだ収束せず
出発レーティングを1900に設定した二度目のシミュレーションの結果
今度はレーティング1933にまで到達してしまいました!!
全く収束する様子が見られません。
思い切って1950から出発!!
このまま刻んでいっても仕方がないので
思い切って1950から再出発してみます。
この1950というレーティングは
名人クラスの棋士にしか到達不可能な数値です。
高すぎる数値を入力しておいて
徐々に下げながら均衡点を探っていく作戦をとる事にしました。
その方が効率がいいですからね。
早速数値を入力をしてシミュレーションを行ってみます。
1950を出発レーティングにすると
最後にはどの程度レーティングが低下するのでしょうか。
・・・
!!!!?????
えっ!!?
なんと1950という名人クラスのレーティングでも
藤井聡太七段の戦績を再現するには不足しているようです
驚異の安定レート
最終的に数値を変えてシミュレーションをしてみたところ
レーティング1955という数値が藤井聡太七段の全戦績を元にした安定レーティングでした。
いやはや、驚異的な数値です。
直近30局での安定レートを算出してみる
今回も全戦績という公平な期間でのシミュレーションではあるのですが
もう少し最近の戦績に絞った安定レーティングを算出した場合にはどうなるのでしょうか?
そこで直近30局で同じように安定レーティングを算出してみることにしました。
デビュー以来の29連勝が省かれてしまうなど
先ほどの計算とは大きく条件が異なります。
先ほどの1955というレーティングを初期値にシミュレーションをしてみます。
果たして最終的にはどのように数値が変化するのでしょうか・・・?
!!!!?????(二回目)
なんと、更にレーティングが上昇してしまいました!!
藤井聡太七段の直近の安定レーティングが判明!!
その後も数値を変えてシミュレーションをしてみたところ
最終的な安定レーティングの算出に成功しました。
その安定レーティングは驚異の1995!!
これは伝説の羽生善治七冠の当時のレーティングに迫る数値です。
他の棋士はどうなのか?
今回のシミュレーションを他の棋士に適用してみるとどうなるのでしょうか?
そもそも検証方法がおかしいのでは?という疑問は誰もが抱くと思います。
私自身気になったので他のトップ棋士でも同様のシミュレーションを行ってみました。
シミュレーション対象は直近30局です。
豊島将之八段
現在R1890 → 安定R1891
誤差は僅かに+1です。
久保利明王将
現在R1841 → 安定R1838
誤差は-3。
菅井竜也王位
現在R1816 → 安定R1811
誤差は-5。
羽生善治竜王
現在R1815 → 安定R1825
誤差は+10。
想像以上に現在のレーティングに近い数値で安定しています。
結論
デビューしたばかりの新人棋士ではありますが
既に史上最強クラスの棋力を保有しているというのがシミュレーションの結果でした。
藤井聡太七段の快進撃を誰にも止められなくなる日は近いのかもしれません。
追記:石田直裕 五段との対局後の30局安定レーティング
6月5日に石田直裕 五段との対局が行われ
藤井聡太七段が勝利しました。
これによって直近30局に大橋四段への敗戦が1局弾かれるため
安定レーティングも大きく揺れる事になりました。
・・・このデータをどう解釈するかはあなた次第です。
サイトのオンライン速度計測サービスまとめ。自分のブログの表示速度も計測してみた
Webページ速度計測は様々ですが
実際に定番と言われるサービスは3種類です。
今回はこの3種類のサービスを紹介します。
このサイトのトップページのスコアも掲載しておきますので
体感と結果の比較用に参考にしてみて下さい。
gmetrix
ど定番のサイト
google PageSpeed Insights
ここも定番サイト
googleのサービスなのでSEOで考えるとある意味公式結果とも言えそう。
圧縮済みのcssファイルやjavascriptファイルも受け取ることが出来る。
個人的には甘めに評価される印象を受けるのであまり参考にはしていない。
https://developers.google.com/speed/pagespeed/insights/
google Testmysite
モバイル向けの計測サイト
低速の3G回線でアクセスした時の表示速度を計測してくれる。
https://testmysite.withgoogle.com/intl/ja-jp
Web担当者Forum版 ページ速度分析ツール
ブックマークレット形式で
実際にブラウザが実際にサイト表示にかかった内部データを表示してくれる。
動作がサックサクなので手軽な計測がしたいときにはかなり便利。
https://webtan.impress.co.jp/e/2013/01/29/14562
以上です!!
4種類になってしまいましたが
自身のサイトの高速化に是非ともご活用ください。
はてなブログを最速に仕上げる史上最強の高速化カスタマイズ設定!!
読み込み3.2秒!!
googleタグマネージャー有効!!
jqueryも有効!!
記事数表示は最大値である15記事!!
実用性 + 爆速 = 最強
シンプルな図式です。
元々の設定を高速化していまえば
記事の中で多少の文字色の変更や文字サイズの変更をしたところで
高速な描画は維持できます。
記事内での高速化は頑張らなくてもいいんです!!
サクッと高速化をして自由な執筆活動に勤しみましょう!!
早速設定方法を紹介
設定は大きく分けて
一般的な設定編と黒魔術編に分かれます。
細かい説明は省いて先に進めます。
一般的な設定編
いわゆる有名どころの高速化設定です。
解説記事は豊富ですし
このページを訪れる方なら既に適用済みの事も多いでしょうから簡潔に箇条書きします。
はてなスターの無効化
重いので外します。
はてブコメントの無効化
はてなブックマークのコメント表示は
かなり重くなるので高速化をするなら無効化必須。
jQueryの取得先を統一
jQueryを使っているなら必須ですね。
参考記事
はてなブログでjQueryの読み込み時間をゼロにする方法(はてなブログの高速化) – naenote.net
有料プラン向けの高速化設定
- キーワードリンクの無効化(pro)
- 公式の広告を非表示(pro)
- ヘッダとフッタを非表示(pro)
これらも全て行っておきます。
更にスピードを突き詰めるなら
- コメント欄の無効化
コメント欄そのものが重い上に
コメントされると更に重くなります、撤去しましょう。
- プロフィールの非表示
検索から流入してきた人にとって
これを表示させる為の遅延は無駄なので排除します。
意外としなくてもいい高速化設定
全ての高速化設定が効果的という訳ではありません
筆者の試してみた中で特にそこまでする必要はないかなという設定もあります。
標準ソーシャルボタンの完全無効化
Twitterのみ有効にしていますが
付属のソーシャルボタンで特に問題は感じていません。
結構軽くていい感じです。
パンくずリストの無効化
これもオフにして計測したところ誤差の範疇でした。
パンくずリストは実際にクリックされる事は滅多にないので無効化しても構わないのですが
google検索の結果に良い影響を与えるという説もあるので有効のままにしてあります。
黒魔術編
いよいよ黒魔術編です。
CSSファイルの圧縮&インライン化
まずは自分のサイトのトップページから
ページのソースコードを表示してcssファイルの中身を取得します。
※必ずバックアップを取ってください
取得したccsの中身を下記のサイトで圧縮します
ここから先は、テーマにレスポンシブデザインを採用しているかどうかで
対応が分かれます。
レスポンシブデザインを採用している場合
先ほど圧縮したたcss文字列をコピーして
<style>
(文字列)
</style>
という形式でheadに貼り付けます
こうする事でスタイルやデザインcssの情報は
圧縮された状態で全てhead内に記述されました。
従来のデザインcssは不要なので削除します。
この時に/* Responsive:yes */という文字列を残しておいて下さい。
これでレスポンシブデザインを維持した状態で
cssの圧縮が可能となります。
ただし、記事の執筆時と
はてなブログ側の設定が変わっている可能性もあるので
しっかり適用されているかの確認を忘れないようにしてください。
レスポンシブデザインを採用していない場合
レスポンシブデザインを採用していない場合には
headに貼り付けるとスマホ用のページでも無駄にcssを読み込んでしまうので
proの場合にはPCデザインのタイトル下に貼り付けたうえで
「スマートフォン用にHTMLを設定する」にチェックを入れましょう。
無料アカウントの場合にはデザインcssに圧縮したcssを貼り付けます。
proの場合、デザインcssの欄はこのようになる。
そもそもjpeg画像を使わない
実は編集で事前に色を落とした場合には
圧縮率を高めたjpg形式よりもgif形式の方が画像のサイズが落ちる場合があります。
特に元々色の少ないPC画面のスクショ画像の場合には違いが出やすいので
選択肢の一つとして貼り付け前にサイズを比較してみましょう。
遅いスクリプトを先に読み込む
ベンチマークを取っていると
時々https://platform.twitter.com/widgets.jsがボトルネックになっている事が判明しました。
効果は不明(というか効果はない)ですが速度アップへの祈祷の意味を込めてこれもheadに持っていきます。
(この項目はプラセボ効果しか無いのでマネしなくていいです)
まあこんな所ですかね。
cssのインライン化はベンチマークよりも体感速度に対する影響が大きい印象です。
皆さんも様々な方法を駆使してブログをサクサクに仕上げてみて下さい。
WindowsのMSYS2 / MinGWでclang / LLVMをビルドする
clangをコンパイルする記事が少なかったので苦労しましたが
何とか成功。割と簡単だったのでメモ代わりという感じで
参考
Getting Started with the LLVM System — LLVM 7 documentation
Checkout LLVM:
cd where-you-want-llvm-to-live
git clone https://github.com/llvm-mirror/llvm.git
Checkout Clang:cd where-you-want-llvm-to-live
cd llvm/tools
git clone https://github.com/llvm-mirror/clang.git
Checkout Extra Clang Tools [Optional]:cd where-you-want-llvm-to-live
cd llvm/tools/clang/tools
git clone https://github.com/llvm-mirror/clang-tools-extra.git extra
Checkout LLD linker [Optional]:cd where-you-want-llvm-to-live
cd llvm/tools
git clone https://github.com/llvm-mirror/lld.git lld
Checkout Polly Loop Optimizer [Optional]: // これを含めるとコンパイルエラーcd where-you-want-llvm-to-live
cd llvm/tools
git clone https://github.com/llvm-mirror/polly.git polly
Checkout Compiler-RT (required to build the sanitizers) [Optional]: // これを含めるとコンパイルエラーになったcd where-you-want-llvm-to-live
cd llvm/projects
git clone https://github.com/llvm-mirror/compiler-rt.git compiler-rt
Checkout Libomp (required for OpenMP support) [Optional]:cd where-you-want-llvm-to-live
cd llvm/projects
git clone https://github.com/llvm-mirror/openmp.git openmp
Checkout libcxx and libcxxabi [Optional]: // これを含めるとコンパイルエラーになったcd where-you-want-llvm-to-live
cd llvm/projects
git clone https://github.com/llvm-mirror/libcxx.git libcxx
git clone https://github.com/llvm-mirror/libcxxabi.git libcxxabi
Get the Test Suite Source Code [Optional]cd where-you-want-llvm-to-live
cd llvm/projects
git clone https://github.com/llvm-mirror/test-suite.git test-suite
あとはコンパイルしたいフォルダに移行して
cmake -G "MSYS Makefiles" -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=X86 ~/llvm※先ほどのソースをダウンロードしたフォルダ
上記のように打ち込めばMakefileが作成されるので
makeすれば出来上がりです。
藤井聡太七段のレーティングが分かるサイトを紹介 対局予定日の一覧も
最年少棋士の藤井聡太七段ですが
中学生ではなくなった今となってもその人気と実力は引き続き上昇中。
今回は藤井聡太七段の強さを知る為の指標の一つであるレーティングの分かるサイトをいくつか紹介します。
対局日程も分かるレーティングサイト [将棋 棋士別成績一覧]
藤井聡太七段のレーティング&対局日程のページ
http://kishi.a.la9.jp/2018R/1307.html
藤井聡太七段のレーティングの推移ページ
http://kishi.a.la9.jp/rankingP/1307.html
よくレーティングを比較する際に
一番引用をされることが多いのがこの棋士別成績一覧というサイトです。
レーティングだけではなく棋士の今後の対局日程もひとめで分かるようになっており
迅速な更新が特徴です、藤井聡太七段の将棋に至っては対局日に更新される日も。
棋士の採用した戦型も分かるサイト [将棋棋士レーティングランキング]
藤井聡太七段の戦型とレーティングの推移ページ
http://shogidata.info/personal/fujiisota.html
今度は棋士の戦型も分かるレーティングサイトです
藤井聡太七段だけではなく、対戦相手の棋士が一体どんな戦法を得意としているのかを調べる際に便利です。
このサイトは大型新人が現れた時のことを想定して
デビュー初期にはレーティングの変動が激しくなるように計算されています。
用途に分けて是非とも使い分けて
藤井聡太七段の将棋の観戦を更に楽しんでもらえると幸いです。
関連記事
藤井聡太七段の真のレーティングを算出!!羽生善治七冠に匹敵していたことが判明!!
MSYS2/MinGW-w64 のclangで "omp.h" file not found と言われた時の対処法
結論から言うとMinGWのLLVM5.0.1には一部のファイルが足りないので
Windows用のLLVMインストーラーからそれらを引っ張ってくれば動きます。
1.LLVM5.0.2をダウンロード
LLVM6.0.0のインストーラーにはOpenMP用のDLLが同梱されていないので
LLVM5.0.2から引っ張って来ます
上記のサイトのLLVM-5.0.2-win64.exeをダウンロードして下さい。
2.中身を開く
今回はDLL等が欲しいだけなのでわざわざインストールする必要はありません。
(MinGW64には既にclangが入っている事を前提に話を進めます)
解凍ソフトなどでインストーラーを解凍しておきましょう。
3.Mingw64側に中身をぶち込む
ここからはガンガン足りないファイルをぶち込んでいきます。
基本的には上書きはしないでください
あくまで足りないファイルを補うだけなので、変な挙動のリスクを負う必要はありません。
作業1
LLVM-5.0.2-win64.exe\lib\clang\5.0.2\include
↓中身をごっそり移行「omp.h」も上記のフォルダに含まれている
mingw64\lib\clang\5.0.1\include
作業2
LLVM-5.0.2-win64.exe\bin
↓libomp.dll、libomp5md.dllを移行
mingw64\bin
作業3 ※重要
LLVM-5.0.2-win64.exe\lib
↓libomp.libをlibomp.aにリネームして移行
mingw64\lib
以上です!!
作業3とか普通に考えて分かる訳がない(笑)
とりあえずはこれでコンパイルには成功するはずです。
WSL(Windows Subsystem for Linux)の使い方まとめ
リポジトリのサーバーをjaistに変更
WSL上で
sudo sed -i.bak -e "s%http://archive.ubuntu.com/ubuntu/%http://ftp.jaist.ac.jp/pub/Linux/ubuntu/%g" /etc/apt/sources.list
参考
Windows上のフォルダに移動する
/mnt/c/ がWindowsのcドライブになっているので
bash上でそこに移動すればWindows上のフォルダに入る事が出来ます
cd /mnt/c/
Windows上のフォルダをLinux上に同期させる(シンボリックリンク)
ln -s /mnt/c/(リンクさせたいWindow上のフォルダのパス) (作成するフォルダ名)
追記予定
将棋ソフト、クジラちゃん(godwhale_child)のダウンロードと設定方法
6第28回世界コンピュータ将棋選手権も終了し
有力ソフトが続々と公開されました。
公開されているソフトの検証が進むにつれて
一般の将棋ファンが利用する上での最強ソフトも徐々に明らかになっています。
ズバリ「godwhale_child探索部 + qzlila9評価関数」の組み合わせです。
※最強ソフトの座は「NNUE」に移りました。
早速別ページで紹介をしています。
2018年最強ソフト NNUE (TNK (たぬき))のダウンロードと使い方 - みくにまるのブログ
なにそれ
godwhaleとは今回のコンピュータ将棋選手権で6位に入賞した
大合神クジラちゃんというソフトです。
コンピュータ将棋選手権は様々なスペックのPCで争われる上に
定跡による強さの底上げなどもあるため、順位の高いソフトが必ずしも検討でも最強とは限りません。
公開された様々なソフトを比較検証して初めて検討向きのソフトが判明するのです。
godwhaleはその検証の結果
2017年の最強ソフトだったaperypaqをも上回る強さであることが明らかになりました。
導入方法
クジラちゃんは探索部と評価関数に分かれているので
別々にダウンロードしてインストールをする必要があります。
将棋ソフトに慣れていない人にはかなり難解な作業です。
そこでまとめてダウンロード可能なページを用意しました。
https://www.axfc.net/u/3908980
上記のリンクからダウンロードが可能となっています。
1.展開
ファイルのダウンロードが終わったら
ダウンロードしたファイルを展開します。
右クリックをして「すべて展開」を選択しましょう。
展開が終わったファイルは好きな場所においてください。
2.エンジン登録
ShogiGUIを開き、エンジン設定をクリックします。
エンジン設定の画面が出てくるので「追加」をクリック
先ほど展開をしたフォルダの中から
「godwhale_child-tournament」を選択してください。
古いPCを使っている場合には動作しない可能性がありますが
その場合には「godwhale_child-tournament-sse42」の方を選択してください。
3.設定
初期設定のままですと
読み筋が途切れるなど、やや検討向きではない部分があります。
おすすめの設定を載せておくので活用してください。
ポイントはConsiderationModeです。
ここをonにしないと、検討をしていても読み筋が表示されない場合が多くなってしまいます。
Hashの数値も、少ない状態ですと検討の際に読み筋が途切れる事があるので適宜調整してください。
以上で設定は終了です。
その他詳しい使い方は
ShogiGUIの公式サイトをご覧ください。
Linux版のVivaldiやOperaで動画が見られない(H.264/MP4)時の対策(Ubuntu/Debian編)
最強ブラウザのVivaldiですが
Linux環境で利用をすると、そのままではTwitter等の動画が再生できないという問題があります。
Twitter等の動画が見られない、再生出来ない、というのは不便なので解決方法を紹介します。
まずはH.264/MP4の動画が閲覧出来ない事をチェック
http://www.quirksmode.org/html5/tests/video.html
このページの中のH.264/MP4が閲覧出来ないのならこの方法で対処します
1.chromium用のコーデックを取り出す。
http://security.ubuntu.com/ubuntu/pool/universe/c/chromium-browser/
上記のページから
chromium-codecs-ffmpeg-extra_xxxxxxxxx-0ubuntu1_amd64.deb
というファイルをクリックしてダウロードします
「xxxxxxxxx」の部分はその時の最新版の数値なので一番大きいものを選んで下さい。
2.解凍してlibffmpeg.soを取り出す
アーカイブマネージャーで
先程ダウンロードしたファイルを解凍し
中からlibffmpeg.soというファイルを取り出します。
3.Vivaldi・Operaにインストール
libffmpeg.soを取り出したら
その場で端末を開き
Vivaldi
sudo install libffmpeg.so /opt/vivaldi/lib/libffmpeg.so
Vivaldi開発版
sudo install libffmpeg.so /opt/vivaldi-snapshot/lib/libffmpeg.so
Opera開発版
sudo install libffmpeg.so /usr/lib/x86_64-linux-gnu/opera-developer/lib_extra/libffmpeg.so
それぞれ自分の利用しているブラウザに合ったコマンドを利用してインストールしましょう。
4.実際に閲覧出来るかチェック
再びテスト用のページを開きましょう
H.264/MP4の動画が再生できていれば成功です。
失敗する場合にはコーデックではなく別の原因があるかもしれません。
以上です!!
この記事がVivaldiユーザーの方のお役に立てれば幸いです。