upinetree's memo

Web系技術の話題や日常について。

Webpacker 3.0 でのWebpackの設定カスタマイズ

Webpacker 3.0 以降ではWebpackの設定を直接書かずに、npmモジュールに定義されるデフォルトを上書きする形になった。 いい感じにデフォルトがそのまま使えて楽になった反面、すでに設定を結構いじったりしている場合にバージョンアップをするのがちょっと面…

redux-thunk で雑に getState するのは控えめにしたほうが良いかも

たとえばこういう Store があるとき。 const reducers = combineReducers({ foo: fooReducer, bar: barReducer }); const store = createStore( reducers, applyMiddleware(thunk) ); こんな感じの雑さで getState() して現在の state を取っていたとする。 …

React の Component 間通信について色々実験してみる

React さんのこといまいちよく理解していなかったので、コンポーネントのやり取りを題材に色々試してみました。 コード例は載っていますが思考実験的なのでかなり雑な点ご了承ください。 対象課題 たとえばモーダル表示切り替えを考える。 DOM構造は下記のよ…

明日から使えるテスト技法をざっくり社内で紹介した

弊社では月一で帰社日という全社員が集まるイベントがあります。 そこで有志が発表する枠があるのですが、そのなかでも「基調講演」と銘打ってまあちょっとだけ気合い入れて発表するコーナーがあるのですね。それが今月は僕の番ということで、テスト技法につ…

native extension に openssl を使う gem のビルドに失敗するときの対処法

homebrew で openssl をインストールした場合、今までだとbrew linkするだけで特に問題なく使えていたが、最近ではbrew linkができなくなった。 $ brew link openssl --force Warning: Refusing to link: openssl Linking keg-only openssl means you may en…

Rails 5.0.1 の変更点で個人的に気になったところ雑まとめ

先日12/21に Rails 5.0.1 が出ましたね。 CHANGELOG をざっと読みながら、個人的に気になったところを雑にまとめます。 雑まとめなので間違ってるかもしれません。正確な情報はリンク先を見てください〜。 3行で バグフィックスたくさん 便利メソッド追加 Ru…

docker diff が勉強に便利

たとえば % docker run -it --name hoge ubuntu /bin/bash root@db1da9fc72e9:/# useradd hoge root@db1da9fc72e9:/# exit % docker diff hoge C /etc C /etc/group A /etc/group- C /etc/gshadow A /etc/gshadow- C /etc/passwd A /etc/passwd- C /etc/shad…

Dockerコンテナに対してAnsibleで雑にプロビジョニングする

Packer の ansible provisioner とか使っていると、変更差分の動作確認したくなってくる。 毎回 packer build するのは時間がかかり休憩が捗りすぎて進捗がでないという問題点があり、なんとかしたい。 しかしそのために環境作るのも面倒だ。そこで前回出力…

vimprocのビルドで失敗するとき

vim

vimのプラグインマネージャをdein.vimにして(*1)、 Ubuntu 14.04.4 のVMで:call dein#install()したら下記のような感じで怒られた。 (*1)たぶんdein.vimにしたことは関係ない vimproc's DLL: "/home/vagrant/.vim/bundle/repos/github.com/Shougo/vimproc.vi…

ブログタイトルと説明を少し変えた

具体的にはこんな感じ: - upinetree's tech blog + upinetree's memo Qiitaに書き始めてからこのブログ全然書いてないのでもったいないなーと思い、ブログを書く敷居を少し下げてみました。 Qiitaにはちゃんと検証した技術ネタを書いて、こちらにはメモ的な…

Digitech RP360のファームウェア更新に失敗した時の直し方

http://www.digitechjapan.jp/products/RP360/rp360.html これ(マルチエフェクター)の話です。 ちょっと焦ったのと、日本語の情報がなかったので書き残しておきます。 結論 RP360本体を再起動し、Windows10以外のマシンでアップデートする。 詳しく 先日、…

rails newのときのテンプレのアレ作った

rails newするたびに同じ設定するの面倒になったのでマイテンプレつくった。 https://github.com/upinetree/rails_template まだ途中だけど、ちょっとずつ育てていこうかなと〜。 参考: Rails Application Templates — Ruby on Rails Guides オレオレRails A…

転職から1年経ったのでTokyuRuby会議08で樽酒割った

と書いてみたものの、題名の前半と後半は実はあんまり因果関係ないです。 僕がこんなエントリを書いて転職してから、はや一年が経ちました。 2013-11-01 - 転職します - upinetree's tech blog 今読むと妙に力が入っていて恥ずかしい感じがします。一年しか…

fluentdを使ってIdobataでニコレポを取得する

はじめに 先日ニコレポ用のfluentdプラグインを書きました。 https://github.com/upinetree/fluent-plugin-nicorepo このまえ作ったニコレポgemを使って、ニコ動からニコレポを逐次取得してくれるすごいやつです。 (別にfluentdじゃなくてもいいじゃんとい…

NicorepoというRuby gemを公開しました

ニコニコ動画のニコレポというのがあって、ニコ動版のツイッタータイムラインみたいなやつなんですが、これがまた情報が分類されてなくて読みづらいし、フィルタリングもできない、非常に廃人仕様なわけです。 毎日ニコレポに張り付くわけにも行かないけど、…

実行中Rubyプログラムのbinding.pryを全て無効にする

Pry version: 0.9.12.4 on Ruby 2.1.0. これだけ pry(main)> disable-pry どんな機能かというと pry(main)> help disable-pry Usage: disable-pry After this command is run any further calls to pry will immediately return `nil` without interrupting …

CoffeeScriptでインスタンスメソッドを関数バインディングする

忘れないようにメモ。 イベントをバインディングする時、関数をコールバックで渡すことがある。 $('.hoge_field').on('blur', (e) -> updateHoge(e.target)) updateHoge = (hoge_field) -> hogehoge でも、インスタンスメソッドを渡すときは同様にこうしては…

非表示要素はCapybaraのfindで検索対象になるのか

今日はもう一個書く! Capybara使ってると、display: noneで非表示にしてあるものはCapybaraのfind対象なのか?? という疑問がでてきたわけです。 ここは公式みてみますか。 Module: Capybara::Node::Finders visible (Boolean) — Only find elements that …

テキストをクリックして入力フォームを出現させる (rails+haml+coffee)

一覧画面とかで、表示されているテキストクリックしたら入力フォームが出現して、 サクッと内容変更できたらカッコ良いじゃないですか。 例えばブログ記事のタイトルとか、クリックしたら編集できるようになるとか。 というわけで毎度のメモです。 haml #pos…

FactoryGirlでファクトリ継承時、クラス指定を忘れて困った

困ったのでメモ。 次のようなSTIな感じのモデルがあるとき、ファクトリ側でも継承を使いたいなーと思うわけです。 モデル class Post < ActiveRecord::Base end class PhotoPost < Post belongs_to :album end Factory FactoryGirl.define do factory :post …

libv8, therubyracer のインストールが OS X Mavericks で失敗する

はまったのでメモ。 Mavericks上でlibv8, therubyracerのgem installが失敗する現象への対処法です。 なお、最新バージョンのlibv8, therubyracerではもう対応済みのようです。 bundleで特定バージョン入れなきゃいけないんだけどーみたいなときに読んでくだ…

転職します

今月中旬にSIerを退職します。新卒で入社してから今まで2年半、あっという間でした。 今度は神保町でWeb系のお仕事する予定です。皆さま、よろしくお願いします。 転職エントリ、知らないおじさんが「で、誰?」って言いに来るイメージあるのでこわかったの…

長岡でScalaに入学した

9/28に新潟県長岡市でScala入学式に参加しました。 長岡IT開発者勉強会(#NDS33)の一環として開催されたハンズオン形式の勉強会です。 id:nkgt_chkonkさんが講師をしてくれました。 ScalaはおろかJavaすら普段いじってないレベルだったので不安でしたが、や…

NDS32 GitHubハンズオンにいってきた

7/6(土), NDS32 GitHubハンズオンに参加して来ました。 Gitはコマンドである程度は使えていたのですが、SourceTreeも以前から気になっていました。 あと、人にGit勧めたりチームに展開するときにGUI環境があると説明しやすいかなーと思いつつ参加しました。 …

TDD Boot Camp 長岡 1.0 に参加してきた

05/18 (土) に長岡で開催された、TDDBCに参加して来ました! 自分一人でTDDやってみてもよく分からず、前々よりTDDBCに参加したいと思っていたのですが、この度ついに長岡で開催とのことで、念願の参加となりました。 簡単にですが、まとめます。 大事だと思…

ニコレポをスクレイピングするスクリプトとライブラリ書いた

ニコ動って楽しいけど、ニコレポにずっと不満があった。 1ページ20ログしか出ない。ページめくるのめんどくさい ログの種類が絞り込めない。動画だけチェックしたいのにすぐ流れていく ブラウザ開くのめんどくさい。ターミナルでチェックしたい じゃあスクリ…

Mechanizeでニコ動スクレイピングしようとしてコケた

ニコ動スクレイピングしたら楽しそうだなーと思ってやってみたら、 2回ほどコケたのでメモ。 homebrewで入れたopensslの証明書でコケる opensslのバージョンが古かったので、homebrewでopenssl入れたら ruby2.0.0で証明書エラーでました。 http://qiita.com/…

Rubyのwin32oleでWordファイルをPDFに一括変換する

WORD→PDF→結合という変換は結構な頻度で定期的に発生する作業だったのですが、 いい加減めんどくさいので自動化します。 Office2007以上であればPDF保存できるので、Win32OLEを使ってやりましょう。 下記エントリがとても参考になりました。 WordファイルやE…

Sublime Text とりあえず入れるパッケージリスト

自分用メモ。 Package Controlは入ってること前提です。 Sublime Text ? http://www.sublimetext.com/ IMESupport https://github.com/chikatoike/IMESupport WindowsでIMEのインライン変換がおかしな位置に表示されるのを解消 ConvertToUTF8 https://github…

ぐんまRuby会議01に行って来ました。

ちょっと遅れましたがレポートです! 出発 2013.03.09 高崎市総合福祉センター、ぐんまRuby会議01に行って来ました。 当日はとても良い天気で、上着が要らないくらい暖かかったです。 その日は夜に新宿に行く用事があったので、お得なウィークエンドパスを利…