第7回 hojiroLTで発表しました
タイトルの通り,第7回hojiroLTで発表をしてきたので,それに関する話をするエントリになります.
中身についてざっくりと話すと,国外のVPSを使っていい感じに節約して焼肉食べようね.でも危険な目に合わないように頑張ろうね.っていう感じです.
0 お詫び 2017.05.27
申し訳ありませんでした。
1 補足
言い足りないこと,誤解を生みそうなことについて補足します.
1-1 見れなかった人へ
スライドには載せられなかったけど,言いたいことを書いておきます.
P. 6
“VPSを貸してくれるサービス"も"VPS"って言っちゃうことがよくあります.
仮想化技術のところはとてつもなくザックリした印象なので,流してください.
P. 12
DDoSや不正アクセスに使われていると言うのは余談で,使う分に影響は無いと思います.
P. 13
似たようなスペックでも半値以下.ということです.
選択肢が広がる分,ワルイヤツも中にはいるので注意が必要です.それについて後のスライドで説明をしています.
個人な分類ですが,VPSはスペックで分けると以下のように分類することができます.
- メモリ先行型: 1コア2GB, 2コア4GB … という感じ
- CPUコア数先行型: 2コア1GB, 3コア2GB … 国内はほぼこれ
- バランス型: 1コア1GB, 2コア2GB, 2コア4GB … 途中からメモリ先行型になる
国内VPS使ってると “CPUコア数こんなに要らないんだけどな” と思うことがあると思います.そういうときに,メモリ先行型で節約できるかもしれません.
P.14
pingに関して,アメリカは西海岸だと120ms,東海岸だと200msぐらいになります.pingの値が200msを越えるとターミナルでの作業がつらくなります.具体的には,キーを押してから反応があるまでワンテンポ遅れます.
P.16
DBが必要だと,DBサーバを独立させたくなりますよね? → 肥大化
P.17-18
僕の勝手な発表上の分類です.
アメリカDCがあるやつはヨーロッパDCもあるし…みたいな包含関係を表してます.もちろん例外はあります.
P.19
Linodeは最近まで使っていたのですが,"お前が使ってるサーバに物理障害発生したから一時的に止めるわ!w" というのがたまにありました. → 誤りでした
(追記 2017.05.27)
Vultrの読み方は,おそらくVulture(コンドルやハゲワシのこと)から来ているので,ヴァルチャーみたいな読み方だと思います.
P.23
“かしこく” って何が言いたいのかと言うと,"すべて国外で済ませよう!"と言いたいわけではなく,"適材適所に使い分けて"上手に節約しよう.ということです.
1-2 取り上げなかったVPSサービスプロバイダ
時間の都合で取り上げきれなかったものをここで紹介します.
I/O Zoom
- https://www.iozoom.com
- アメリカ(だけ)にDCがあるサービスプロバイダ
- そこそこ安い
アメリカ東海岸と西海岸両方にDCがあるので,日本からのアクセスを想定する場合は,pingの低い西海岸を選ぶのが良いかと思います.
Time4VPS
- https://www.time4vps.eu
- ヨーロッパにDCがあるサービスプロバイダ
- やすい(OpenVZ, 1Core, 512MB, HDD:20GB → 月額1.49ユーロ)
OpenVZであること,ストレージがHDDであることに注意してください.
ちなみに,1年分一括で払うと12.5%OFF,2年分一括で払うと25%OFFになります.
紹介したプランではこんな感じになります.
- 月額払いで2年間使った場合: 35.76ユーロ / 1.49ユーロ/月
- 1年分先払いで2年間使った場合: 29.76ユーロ / 1.29ユーロ/月
- 2年分先払いで2年間使った場合: 23.76ユーロ / 0.99ユーロ/月
RunAbove
- https://www.runabove.com
- ヨーロッパにDCがあるサービスプロバイダ
- ARMv8のVPSが安い
- 不安定
以前使おうとした時はHPが重くてまともに登録すらできなくて,諦めました.そんな感じです(笑)
1-3 説明を諦めたもの
時間と自分の知識的な都合で説明ができなかったものをここで紹介します.
仮想化技術について
つよい,よわいでは怒られるという指摘があったので補足しようと思ったのですが,調べる必要があるので,後日またエントリを別に用意します.
Linodeについて
OVHについて
Omgservについて
無料でマイクラ鯖が借りられます.最大同時接続人数4人までで,おためし版みたいなものです.
紹介したVPSサービスプロバイダの公式HP
- Linode - https://www.linode.com
- Vultr - https://www.vultr.com
- Digital Ocean - https://www.digitalocean.com
- OVH - https://www.ovh.com/us/
- Scaleway - https://www.scaleway.com
- Omgserv - https://www.omgserv.com/en/
国内のVPSサービスプロバイダについて
こんなのがあります.という紹介に留めます.
いまだにHDD使ってるところが多いです.
国外VPSを探すときに使っているサイト
- Host Advice https://ja.hostadvice.com - あくまでも指標の1つです.眺めて楽しみます.
2 自分の発表を振り返って
- ところどころ言葉が出てこない箇所があった
- 準備不足
- もっと伝えたいことを明快にしたかった
- 推敲不足
- イラストや絵文字を多用すると,文字に対する意識が持って行かれてしまうのではないか?
- VPSを借りたことがある人がそれなりに居て,少しは新しい情報を共有することができたと思った
- 初めて人前でスライド使って説明みたいなことしたけど,なんとかなった(たぶん)
3 あとがき
質問や誤字脱字は@shuymnにお願いします.
次回のhojiroLTは,日にち的な余裕が少ないので,発表するか迷ってます. わざと補欠で発表者登録しようかな
追記 2017.05.27
MacBook Pro(US配列) + Windows10(BootCamp) での日本語入力環境を整える
前置き
とりあえずMBP(13inch, early 2015, US配列)にBootCampを使ってWindows10を入れてみたのですが、日本語入力周りでイライラしすぎたので改善することにしました。
ちなみに、自分はMac上ではKarabinerを使って右commandキーを押すと日本語入力オン、左commandキーを押すと日本語入力オフになるように設定しています。
なので、Windows上でもcommandキーを使って日本語入力のオン・オフを切り替えることを目標にしました。
使うソフトウェア
Windows単体で上記の設定をすることはできないので、インターネット上で公開されているソフトウェアを使用します。
- KeySwap*1
- AutoHotKey
- (Google日本語入力)*2
KeySwap
ダウンロードはここらへんから。Windows10対応は明記されていませんが、問題なく動作しています。
ダウンロードしたら解凍して、KeySwap.exeを右クリックから「管理者として実行」
あらかじめ幾つか設定されていますが、右上の「設定をすべて削除」で削除し、「キーボード種別」を「英語」にします。
そして、Caps LockにCtrlを割り当てます。
最終的にはこんな感じ。 これで再起動するとCaps LockがCtrlになっています。元のCtrlはそのままCtrlとして使えます。
AutoHotKey
このソフトウェアが一番大切です。ダウンロードはこちら。こちらも問題なく動作しています。
ダウンロードしてインストールをして、メモ帳などでahkファイルを作り、そこに設定を書いていきます。 書く際に参考にしたサイトは一番最後に記しておきますので、ここでは自分の設定を公開します。
一行ずつ見ていきます。
LWin::vk1Dsc07B
これは、左のWindowsキー(左commandキー)を無変換(vk1Dsc07B)に割り当てるコードです。
RWin::vk1Csc079
これは、右のWindowsキー(右commandキー)を変換(vk1Csc079)に割り当てるコードです。
LWin & Space::Send, ^{Esc}
これは、両方のWindowsキーを別のものに割り当ててしまったので、Command+Spaceでスタートメニューを開くようにするコードです。スタートメニューを開くためには、Windowsキーを押す以外に、Ctrl+Escもあるので、それをCommand+Spaceに割り当てました。これは自分がMacでCommand+SpaceでAlfredを開くようにしているので、それを真似しています。
それ以降はよく使うCtrl+hogeのショートカットをCommand+hogeに割り当ててるだけです。
そして、ahkファイルを編集したら、fuga.ahkで保存して、保存したファイルを右クリックして「compile script」をクリックします。すると、fuga.exeが生成されるので、それを実行して動作を確かめます。間違っていたりうまく動かなかったらまたahkファイルを書きなおしてコンパイルの繰り返しです。
LWinを無変換に置き換えているのだから、無変換+Spaceのようにしないとダメなのかなと思い試してみたが、どうやらそうではないらしいので、LWin+hogeでショートカットを割り当てている。
生成したexeファイルをスタートアップに設定する
スタートアップに登録しないと、起動した時に自動で実行してくれないので、その設定をします。
こちらを参考に、隠しフォルダを表示させ、そしてスタートアップフォルダにfuga.exeを置きます。これで完了です。
IMEの設定
最後に、無変換と変換でIMEのオンオフができるように設定します。
タスクバーの時計の隣のIMEのアイコンを右クリック→プロパティ
それ以降はそれぞれの使っているIMEによって変わりますので、以下を参考にしてください。
これが終了して、再起動やサインアウトをしてもう一回サインインすれば、設定ができているはずです。
最後に
US配列でWindows使うのは本当に苦行感が出ているので、なんとか自分のmac日本語入力環境と同じような日本語入力環境が整えられて気分がいい。
Windows10に完全に対応が保証されているわけではないので、たまに動かない時があるが、ほとんど問題はない。
質問等ありましたらtwitter:shuymnまで
参考
Viqo 2.1 で日本語入力(Fcitx)ができない問題を解決する
ここで途中に書いた「ViqoにFcitxな日本語入力環境で日本語入力ができない問題」の解決方法を書いておきます。使うコマンドはArchLinux由来だったりディレクトリが環境によって違ったりするので適宜自分の環境に合わせて解釈していただければ幸いです。
環境変数が設定されているか確認する
$ export | grep IM
QT_IM_MODULE=fcitx
があればOK
なかった場合は特定のファイルに記載すれば良いのですが、環境ごとに異なるので各自で調べるのが最適です。一応ですが、自分の環境(Arch Linux + Cinnamon)では.xprofile
に記載しています。
platforminputcontextsの確認
あるパッケージによってインストールされたファイルの一覧の取得はyaourt -Ql
でできます。
$ yaourt -Ql viqo | grep platforminput
僕の環境での実行結果がこちら
viqo /usr/lib/viqo/platforminputcontexts/ viqo /usr/lib/viqo/platforminputcontexts/libcomposeplatforminputcontextplugin.so viqo /usr/lib/viqo/platforminputcontexts/libibusplatforminputcontextplugin.so
libibusplatforminputcontextplugin.soならあるんですが、fcitxのものはありません。おそらくコレがfcitxで日本語入力できない原因かと思われます。ibusならデフォルトでできるはず。そこで、libfcitxplatforminputcontextplugin.soが自分の環境内にあるか調べます。
fcitxplatforminput...を探す
こちらもさっきと同じコマンドで調べられます。
$ yaourt -Ql | grep fcitxplatforminput
実行結果
fcitx-qt5 /usr/lib/qt/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so
fcitx-qt5
が持ってます。これをviqoのところにシンボリックリンク貼ってあげます。
sudo ln -s /usr/lib/qt/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so /usr/lib/viqo/platforminputcontexts/
これでViqoで日本語入力出来るようになります。おしまい。
参考
ありがとうございました。
追記 2015.05.25
Viqo開発者のDiginatu(@diginatu)さんからこの件について回答をいただきました。
@shuymn ありがとうございます。実はこれ、Qtのバージョンも合わせる必要があります。多分最新のQtが入っていたんだと思います。
— Diginatu (@diginatu) 2015, 5月 25
@shuymn いえいえ、一応参考まで。 特定のバージョンでコンパイルする方法です http://t.co/FDjnpH2q0K
— Diginatu (@diginatu) 2015, 5月 25
UEFI-GPT環境でArch Linuxをインストールしました
2週間ほど前にBIOS-GPT環境でArchLinuxをインストールしたのですが、もともとPCの調子が悪かったのでCPUとマザボとメモリを新しくしたら、 Archが起動しなくなってしまったので、新しい環境でも起動するように再インストールをしました。
BIOSの設定次第では元のままでも起動したかもしれませんが、せっかくUEFIBootできる環境になったので、UEFI-GPT環境でのインストールをしてみました。
主な相違点は、
と言ったところです。
必要なところ以外はすべて過去の記事と同じ手順でインストールを行いました。
環境
- CPU : Pentium G3258
- RAM : 16GB(DDR3-1333)
- M.B. : ASUS Z87 PRO (V EDITION)
- SSD : 128GB
- GPU : GeForce 9800 GTX
余談ですが、G3258は4.2GHzにOCして常用しています。
安定稼働していて、UnixBenchのスコアで約30%アップしました。
手順
BIOSの設定
- Secure Bootを無効(Other OS)に
- CSMの各パラメータ設定で、それぞれUEFIを優先的に使うように設定
- Fast Bootを一時的に無効に
これで、起動して最初のメニューが黒背景に白文字の無骨なものであることを確認し、
# efivar -l
でドバーっといろいろよくわからないもの(UEFI変数)を出力してくれたらUEFIBootできています。
パーティション
今回は以下のように区切りました。
ESP*1は512MBが推奨されているようです。
/dev/sda1 => ESP 512MB /dev/sda2 => /boot 128MB /dev/sda3 => /var 16GB /dev/sda4 => / 残り
パーティショニングします。
# cgdisk /dev/sda
ESPはtypeをef00
にします。それ以外はデフォルトの8300
でOK
1007KB余りますが気にしない。
フォーマットします。
# mkfs.ext4 /dev/sda2 # mkfs.ext4 /dev/sda3 # mkfs.ext4 /dev/sda4 // ESPはfat32かvfat32でフォーマットする必要があります。 # mkfs.vfat -v -F 32 /dev/sda1
マウント
ESPもマウントすることに注意してください。 マウントする順番にも気をつけてください。
# mount /dev/sda4 /mnt # mkdir /mnt/boot # mount /dev/sda2 /mnt/boot # mkdir /mnt/boot/efi # mount /dev/sda1 /mnt/boot/efi # mkdir /mnt/var # mount /dev/sda3 /mnt/var
pacstrap
ミラーサーバの設定をしたあと、ベースシステムとブートローダ関連のインストールをします。
# pacstrap /mnt base base-devel grub dosfstools efibootmgr
このあとgenfstab
してchroot
して基本的な設定をします(ここでは省略)。
ブートローダのインストールと設定
grub-install
する前にboot/efi/EFI
を作る。
# mkdir /boot/efi/EFI # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub --boot-directory=/boot/efi/EFI --recheck --debug # grub-mkconfig -o /boot/efi/EFI/grub/grub.cfg
このあと、アンマウントして再起動をします。
その後の手順は以前と変わりません。
参考
大変参考になりました。ありがとうございました。
無断リンクで申し訳ありません。
無断で載せないで欲しい。等ありましたらTwitter(@shuymn)まで。
mlocate(updatedb)での検索から除外する方法
unite locate使いやすいんですけど、.cacheの中とかマウントしてる外付けHDDのゴミ箱の中からも検索してきて邪魔だったので、いらないものは検索しないように除外したいなと思って調べてみました。
環境
除外方法
updatedb.conf に記述を追加するだけです。
vim /etc/updatedb.conf
PRUNEPATH に除外したいディレクトリ、ファイルへのパスを記述する。
PRUNENAMESに除外したいディレクトリ名、ファイル名を記述する。
PRUNEFSに除外したいファイルシステム名を記述する。
区切りはカンマではなく半角スペースです。
PRUNEPATHは、除外したい特定のディレクトリ、ファイルがあるときに使う。
PRUNENAMESはマッチしたものすべてを除外したいディレクトリ、ファイルがあるときに使う。