モンモンブログ

技術的な話など

Nuxt.js + Netlifyで404 Not Foundをトップページにリダイレクト

動作環境 $ node -v v13.2.0 $ npx nuxt -v @nuxt/cli v2.10.2 Nuxt.js で 404 をトップページにリダイレクト Nuxt.js 製のサイトで存在しないページへアクセスすると、デフォルトでは画像のような 404 Not Found ページが表示されます。 Nuxt.js のデフォル…

macOS に capybara-webkit をインストールする

Catalina に capybara-webkit をインストールしようとして手間取りました。 こちらを参考に解決しました。 Installing Qt and compiling capybara webkit · thoughtbot/capybara-webkit Wiki capybara-webkit のビルドに必要な QtWebKit が Qt 5.6 で削除さ…

テックレジデンスはいいぞ

いい… いいぞ… (これは TechResidence Advent Calendar 2019 の24日目の記事です) adventar.org

某レジデンスが全然テックじゃなかった件

これはギークハウス界隈 Advent Calendar 2019の11日目の記事です。Webエンジニアのモンモンといいます。よろしくお願いいたします。 ギークハウスには(ときさば系ばかり)3件連続で住んでいたのですが、今年の初旬ごろちょっとした気まぐれでギークハウス…

Nuxt JS に Bootstrap 4 / Bootstrap Native を導入

バージョンこんな感じ $ node -v v12.8.0 $ npx nuxt -v @nuxt/cli v2.9.1 パッケージをインストール yarn add node-sass sass-loader bootstrap bootstrap.native bootstrap.native-loader Bootstrap の css をロードする設定を assets/sass/common.sass に…

技術同人誌「ネットワークスクランブル TCP編」がめっちゃ分かりやすい

先日の第2回 技術書同人誌博覧会で購入した ネットワークスクランブル TCP編 を読了。 booth.pm 本の発売自体は今年の 5/24 で、ちょっと前だったみたい。 woshidan.hatenablog.com 98ページと手頃な厚さで読みやすく、それでいて TCP について一歩深く掘り…

2019/07/21 gRPC と Golang でブロックチェーンもどきを作って遊んだ

こちらのイベントに参加。 webbench.connpass.com 参加者は主催者含め4人。カフェの一角でもくもく作業していた。もくもく会なので何やっても自由だけど、用意されていた作業内容としては以下のブログ記事の通りにブロックチェーン(もどき)を実装してみよ…

Nuxt.js に Materialize を導入&カスタマイズ

Nuxt.js ではプロジェクト作成時に Bootstrap などの CSS フレームワークを選択すると簡単に導入できて便利ですが、選択肢にない CSS フレームワークを使おうとするとちょっと手間です。マテリアルデザインの CSS フレームワーク Materialize を使いたかった…

技術書典6に一般参加してきました

技術書典6に一般参加してきました! 今回から11時~13時の入場は有料(1000円)となったにもかかわらず凄まじい行列でした。 僕は友人たちと、朝10時のチケット販売開始時刻の頃(入場開始の1時間前)に着くように行ったのにすでに長蛇の列。建物の外の、陸…

「セキュリティコンテストチャレンジブック」はクラッキングの基本を広く&結構深く学べる良本

セキュリティコンテストチャレンジブック CTFで学ぼう!情報を守るための戦い方 を読みました。 セキュリティコンテストチャレンジブック -CTFで学ぼう! 情報を守るための戦い方-作者: 碓井利宣,竹迫良範,廣田一貴,保要隆明,前田優人,美濃圭佑,三村聡志,八木…

「フリーランスエンジニアでプロジェクトを進めることについて考える会」イベント参加メモ

フリーランスエンジニアでプロジェクトを進めることについて考える会 - connpass こちらのイベントに参加しました。会場は日本橋のサイボウズさんのところ。 15分くらい遅刻しちゃったので最初の安藤さんの発表は途中からになります…m(_ _)m フリーランサー…

CentOS で man が見れない場合は man-pages パッケージを再インストール

環境こんな感じ。vagrant の centos/7 です。 % uname -a Linux localhost.localdomain 3.10.0-693.11.6.el7.x86_64 #1 SMP Thu Jan 4 01:06:37 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux % cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) C…

ギークハウス四ツ谷について

この記事は ギークハウス新宿界隈 Advent Calendar 2017 の5日目の記事です。 前日の徳谷さんからバトンタッチ。 モンモンといいます。Webエンジニアです。ギークハウス四ツ谷に住んでます。 ギークハウス四ツ谷についてちゃんと紹介した記事がなかったよう…

「ActionDispatch::Static がないよ」エラーは rails_12factor gem 入れて解決

環境 % sw_vers ProductName: Mac OS X ProductVersion: 10.12.6 BuildVersion: 16G29 % ruby --version ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-darwin16] % bundle exec rails --version Rails 5.1.4 本題 production 環境で rails console …

Rails5 の or クエリがバグを誘発しそうで超怖い

Rails5 になって ActiveRecord に or クエリが導入されました。早速、既存のコードを書き換えようとしたんですが、かなり慎重に使わないと結合順序のワナに嵌ってバグりそうで怖いです。 このような(間の抜けた)コードがあったとします。 Country. where(i…

DelayedJob による非同期処理の失敗を exception_notification でエラー通知させる

delayed_jobs による非同期処理時に、exception_notification によるエラー通知メール送信を行う - Qiita こちらの記事を参考に DelayedJob のエラー通知を実装していたんですが、 Rails5 で alias_method_chain が Deprecated になってしまったので Module.…

Rubyで2項演算子が単項演算子に化けて悪さする話

DateTime.now + 1.hour と DateTime.now +1.hour は異なる値を返します。 何を言ってるのかわからねーと思うがこの実行結果を見てくれ。こいつをどう思う? [10] pry(main)> DateTime.now + 1.hour Fri, 29 Jan 2016 11:38:52 +0900 # こっちだと 11:38 [11]…

ActionMailerのメール本文がログに出力されるのを抑制

メール本文がログに出力されるとログ容量を圧迫するので(あとウザいので)出力を抑制しました。 環境 $ ruby -v ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin13] $ rails -v Rails 4.2.5 事象 メーラーでメールを送信すると、デフォルトでメー…

ActiveRecordのscope,validatorでの意図せぬキャッシュに要注意

クリティカルなバグの原因になりえます(なりました)。 環境 少々古いです。activerecord の最近のバージョンでは未確認です。 ruby 1.9.3p547 (2014-05-14 revision 45962) [x86_64-darwin13.3.0] rails-3.2.11 activerecord-3.2.11 MacOSX Mavericks 現象…

Action Mailerのマルチパートメールでファイル形式の優先順位が変わっちゃう件

Action Mailer でマルチパートメールを送るようにしていて、かつ mail メソッドにブロックを渡す場合は注意が必要です。html 版、text 版の優先順位が意図せず変わってしまう場合があります。 環境 MacOSX Mavericks ruby 1.9.3p547 (2014-05-14 revision 45…

Rails + Grape 構成で Grape API ファイルを自動再読み込みさせるには

RESTful な API が楽ちんに書ける grape。 rails との組み合わせで使う場合も README に従うだけで簡単に出来ますが、なぜか自動再読み込み (auto reloading) されないって問題にぶち当たります。 development 環境だと model や controller への修正はブラ…

jQuery プラグインを bower のレジストリに登録してみた

表題の通り、jQuery プラグイン jquery.narrows を bower のレジストリに登録してみた時の記録です。 bower とは? Bower入門(基礎編) - from scratch Bower入門(応用編) - from scratch こちらが非常に分かりやすかったです。 基礎編の冒頭から(勝手に)引…

JSON 形式で設定ファイル書かせるの、やめてもらえません?

設定ファイルを JSON 形式で記述するライブラリやフレームワークって、 PHP のパッケージ管理システム composer の composer.json node のモジュール管理システム npm の package.json クライアントサイド JavaScript のパッケージ管理システム bower の bow…

jasmine + スクリーンショット作成サービスでWebアプリを複数ブラウザで一括動作確認!

この投稿は JavaScript - Client Side - Advent Calendar 2013 の13日目の参加記事です。 JavaScript のテスティングフレームワーク jasmine でテストを書いておくと、コードをいくらいじってもブラウザのリロード一発で動作確認できてそれだけでもステキで…

jasmine のテストをページロード時ではなくボタンクリックで実行するには

jasmine テストに時間かかりすぎ!キー! あるプロジェクトで、600行の JavaScript コードのテストを jasmine で書いたら、テストコードだけで700行を超えてしまいました(笑) で、テストにかかる時間も、およそ30〜40秒。長い! コードでもテストでもDOM要…

5分で分かる jasmine テストフレームワーク

JavaScript のテストフレームワーク jasmine がゴキゲンだぜ。書きやすいしテスト結果も見やすいしかわいいよちゅっちゅ。 そんな jasmine ちゃんをまだ触ったことない人のために、出来るだけ取っ付き易くなるように解説してみたいと思います。拙作の jQuery…

Symfony2 + Monolog でのロギングについて(その1)

Symfony2 のロギングでデフォルトで使われてる Monolog について調べたので忘れないうちにまとめておく。 何回かに分けて書きます。今回は Monolog イットセルフについて。 Monolog のバージョンは 1.7.0。 Monolog の構造 Monolog は4つのコンポーネントか…

ローカルでの git push 時にサーバ上で自動で git pull

ローカルで git push した時にサーバ上で自動で git pull してくれるスクリプト gitpull_server.py を公開しました。 とりあえず Github, Backlog に対応しています。 使い方、注意点などは README に書きましたのでそちらをご覧下さい。 みんな大好き Pytho…

Symfony2 のログを見やすく設定する

symfony2 のログってなんか汚くて見難いです。 $ tail -f app/logs/dev.log [2013-08-08 21:53:41] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\Security\Http\Firewall::onKernelRequest". [] [] [2013-08-08 21:53:41] …

php5.3 以前で mixin 的なものを実装

php

php5.4 以降であれば Trait で mixin は実現できますが、 php5.3 以前で mixin 的なことをやるにはどうするか。 こうです。 実行するとこう。 % php mixin.php // $foo->mixin_method MixinClass のインスタンスメソッド yahoooooo! 2013-10-11 // $foo->mix…