bundle install でNokorigiインストール時に「Gem::Ext::BuildError: ERROR: Failed to build gem native extension.」エラーが出た場合の対処方法
bundle install
でnokogiriインストール時に下記のようなエラー
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
が出てしまった場合
gem install時であれば --use-system-libraries
オプションを付けて再実行してみるところですがbundlerの場合はどうすればいいかというと
bundle config --local build.nokogiri --use-system-libraries
というような感じでコマンドを実行します。
--local
オプションはapp/.bundle/config
へ設定を書きます。
--global
オプションは~/.bundle/config
に書くようです。
まあよほどの事情がない限り、プロジェクトごとの.bundle/config
に書いておくほうが良いと思います。その他、環境変数にも定義できます。
bundle configの優先順位
bundle configですが、mysqlなどと同様、複数の箇所に設定を保持しておけます。用途によって適切な場所に設定を書いておくのがいいと思いますが、bundleコマンドのhelpによると
DESCRIPTION This command allows you to interact with Bundler´s configuration system. Bundler loads configuration settings in this order: 1. Local config (app/.bundle/config) 2. Environmental variables (ENV) 3. Global config (~/.bundle/config) 4. Bundler default config
という優先順位で参照されます。
ロジクール G-PKB-002 ゲーミングキーボード 青軸を赤軸に交換して打鍵音動画をアップしました
2年ほど使用してきた愛用のキーボードがチャタリングを起こすようになってしまい、新しい相棒を探していたところ、ロジクールさんから今まで使っていたキーボードの後継機が出ていたので購入しました。
今回は、Youtubeに2本動画を上げておいたので、購入を検討している方がいらっしゃいましたら参考になれば嬉しいです。
標準状態(青軸 GX BLUEクリッキースイッチ)打鍵音動画
標準搭載されているスイッチは青軸(風?)ということで、かなりのカチカチ感と打鍵音です。 動画ではいまいちわかりにくいですが、カチカチ・バシャバシャみたいないわゆる青軸サウンドが余すところ無く楽しめます。
赤軸スイッチへの換装と打鍵音動画
ボイスチャットしながらキーボードを叩くことが多いので、自分は赤軸風スイッチを別途購入して換装しました。こちらは打鍵音がすごく静かになります。打鍵感はもちろん快適で、スコスコスコスコ・・・という感じで気持ちよくタイピングできるので自分にはとても合っていると思いました。
前モデルのG-PKB-001に打鍵感としては近くなりましたが、やはりそれでも002は002独特のフィーリングです。
最初、標準の青軸を使ったときには正直「失敗したかな?」と少し思いましたが、赤軸スイッチ(GX REDリニア)に換装したら、大好きなフィーリングだったので買い替え大正解です。
今回紹介した商品はこちら

Logicool G PRO X ゲーミングキーボード テンキーレス G-PKB-002 ブラック クリッキースイッチ 日本語配列 RGB 着脱式ケーブル 国内正規品 2年間メーカー保証
- 発売日: 2019/11/14
- メディア: Personal Computers

Logicool G GXリニア スイッチ PRO X ゲーミングキーボード G-PKB-002用 スイッチアクセサリー GX-LN 国内正規品 2年間メーカー保証
- 発売日: 2019/11/14
- メディア: Personal Computers

Logicool G GX タクタイル スイッチ PRO X ゲーミングキーボード G-PKB-002用 スイッチアクセサリー GX-TC 国内正規品 2年間メーカー保証
- 発売日: 2019/11/14
- メディア: Personal Computers
SameSite=None; Secure をnginxで付与する方法(Chrome80対応)
2020年2月にUPDATEが予定されているChrome 80から サードパーティクッキーの読み書きに制限が発生します。
具体的には、SameSiteのデフォルト値がLax
となります。
SameSiteについては下記が参考になります
例として、コンテンツ内に埋めてもらったimgタグなどを経由してリクエストを受付け、 3rd party cookieを操作するタイプのサービスを担当するエンジニアの方は対応が必要です。
対応自体は単純な改修になるのですが、 フレームワークの都合(一例としてPlay Frameworkのv2.6未満など)で、 ビジネスロジック側でSameSite=Noneを付与しにくいケースでは Nginxの設定でHeaderを付与する方法を検討してみる価値があると思います。
例として
location / { proxy_cookie_path / "/; secure; HttpOnly; SameSite=None"; }
上記のようにproxy_cookie_path
を設定してみるなどの方法です。
参考になれば。
ffmpegでMP4のビットレートを下げてビデオを圧縮する
納品されてきたmp4が2Mbpsもありファイルサイズがデカい・・・ もう少し品質下げても十分閲覧可能なので1Mbpsに変更します
ffmpegのインストール
$ brew install ffmpeg
ビデオの情報を確認
$ ffprobe -i video_2000kbps.mp4 ffprobe version 4.2.1 Copyright (c) 2007-2019 the FFmpeg developers built with Apple clang version 11.0.0 (clang-1100.0.33.8) configuration: --prefix=/usr/local/Cellar/ffmpeg/4.2.1_1 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.jdk/Contents/Home/include/darwin -fno-stack-check' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video_2000kbps.mp4': Metadata: major_brand : mp42 minor_version : 512 compatible_brands: isomiso2avc1mp41 creation_time : 2019-06-19T08:51:24.000000Z encoder : HandBrake 1.0.7 2017040900 Duration: 00:00:16.06, start: 0.000000, bitrate: 2407 kb/s Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1124x1080 [SAR 135:304 DAR 281:608], 2408 kb/s, 30 fps, 30 tbr, 90k tbn, 180k tbc (default) Metadata: creation_time : 2019-06-19T08:51:24.000000Z handler_name : VideoHandler Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 2 kb/s (default) Metadata: creation_time : 2019-06-19T08:51:24.000000Z handler_name : Stereo
bitrate: 2407 kb/s
これを1024kb/sに変更します
別名で再エンコード
$ ffmpeg -i video_2000kbps.mp4 -vb 1024k video_1024kbps.mp4
動画を閲覧してみて問題ないことを確認
採用!
Mac(Mojave)にpdftotextをインストールする
まずはHomebrewでインストール
brew install Caskroom/cask/xquartz brew install xpdf
ココから
日本語化リソースをダウンロード
日本語化リソースの置き場を作る
mkdir -p /usr/local/share/xpdf/japanese
コピーしておく
cd /usr/local/share/xpdf/japanese tar -jxvf ~/Downloads/xpdf-japanese.tar.gz
ホームディレクトリに .xpdfrc
を作成
textEncoding UTF-8 cidToUnicode Adobe-Japan1 /usr/local/share/xpdf/japanese/xpdf-japanese/Adobe-Japan1.cidToUnicode unicodeMap ISO-2022-JP /usr/local/share/xpdf/japanese/xpdf-japanese/ISO-2022-JP.unicodeMap unicodeMap EUC-JP /usr/local/share/xpdf/japanese/xpdf-japanese/EUC-JP.unicodeMap unicodeMap Shift-JIS /usr/local/share/xpdf/japanese/xpdf-japanese/Shift-JIS.unicodeMap cMapDir Adobe-Japan1 /usr/local/share/xpdf/japanese/xpdf-japanese/CMap toUnicodeDir /usr/local/share/xpdf/japanese/xpdf-japanese/CMap
以上
MacOS Mojaveにpyenvで3.7.3を入れるメモ
$ brew install zlib $ xcode-select --install xcode-select: note: install requested for command line developer tools $ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target / installer: Package name is macOS_SDK_headers_for_macOS_10.14 installer: Installing at base path / installer: The install was successful. $ pyenv install 3.7.3
MacOS MojaveでNFS設定時「/etc/exports: Operation not permitted」と出て失敗する場合の対応方法
VagrantでRails開発環境が起動しなくなってしまった・・・Sharedフォルダを非NFSにすれば動くが Vagrant+RailsはNFSでフォルダ共有しないととても遅い・・・
原因調査すべく、とりあえずnfsまわりの設定を確認したり最初からnfsの設定をし直したりしていると
$ sudo touch /etc/exports /etc/exports: Operation not permitted
sudoでtouchできないと言われましても・・・
で、どうせセキュリティ絡みだろうと確認してみると
フルディスクアクセス・・・・ こんなの今までなかった気が・・・w
というわけでiTermを追加。
解決。
ただこれだけのことでした。
orz
RDSでmax_allowed_packetの値を変更する
大きなサイズのSQLを実行しようとしたとき
MySQL server has gone away
となってしまうことがありますが
この場合、max_allowed_packet
の値を確認すると解決する場合があります。
mysql> show variables like 'max_allowed_packet'; +--------------------+---------+ | Variable_name | Value | +--------------------+---------+ | max_allowed_packet | 4194304 | +--------------------+---------+
で現在の設定が確認できます。 私の環境では4MBになっていました。
例えばMySQL5.6であれば設定できる最大値は1GBですので、状況に応じて適切に設定してあげるとクエリが通せるようになると思います。
なおRDSの場合は、マネジメントコンソールからパラメータグループ内の設定を変更することになります。
タイプがDynamicになっていれば、インスタンスの再起動は不要です。
参考
Qiitaに同様の内容を投稿しています
Mojaveで変更されたフォントのスムージングを従来の設定に戻す
Mojaveにアップデートしたら、外付けのFullHDモニタに表示される文字が
かなり残念な感じに・・
まあ我慢できなくもないレベルですが、一日の殆どの時間見ているVSCodeがこの状態だとやはりストレスということで
$ defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO
上記コマンド入力後、ログオンし直すと
元通りε-(´∀`*)ホッ
IFTTT:Feedlyにコメント追加したらTwitterに投稿する
feedlyで閲覧した記事にコメントをつけると自動でTwitterにシェアされるIFTTT Appletのメモです
続きを読む