えんじにゃーず・ハイ

主にエンジニアや技術情報についてつらつら書き連ねるブログです

ギークハウスから始まる第二の人生

ギークハウス Advent Calendar 2016

この記事はギークハウス Advent Calendar 2016 4日目の記事です。

f:id:areph:20161204235353p:plain

Advent Calendar初参戦です。

www.adventar.org

ギークハウスのAdvent Calendarということで、ギークハウス絡みのお話を。

以前、このブログ記事でも書かせていただきました。

40balmung.hatenablog.com

現在もギークハウスに住み込んでいます。上の記事では「ギークハウスはいいぞ」と言っているだけでしたが、今回はギークハウスへ住むことで私の人生が大きく変わったことについて書き連ねていきます。

続きを読む

vimconf2016に参加しました

年に一度のvimconf2016開催!

f:id:areph:20161107123817p:plain

vimconf.vim-jp.org

vimconf2016に参加してきました。

今までVimキーバインドぐらいしか扱えていなかったものの、RailsエンジニアになってどっぷりVim使いになりました。以前Vim勉強会に参加したところ今回のカンファレンスを知り、一年に一度のVimmerの祭典とのことでしたので楽しみにしていました。

結果として本当に楽しい一日になりました。一日を通しての感想などを簡単に残しておきます。

続きを読む

Rails開発時に画面描画が遅くて開発テンポが悪い時に検討する設定

https://gyazo.com/fcad0db86ef7d9aaa6c65b6581d063b5

今まではJavaC#をメインで開発してきたのですが、Raisエンジニアになってから開発のテンポが遅くなったことがあります。

それはローカルで動作する画面が遅いこと。

ページ遷移一つとっても数十秒待たされるのでとにかく開発テンポが落ちます。Railsサーバーに出力されるログを見ているとサーバー側の処理は割りと早く終わっているので、フロントエンド側に問題がありそうです。

で、調べてみたところ

config/environments/development.rbへ下記の設定をすると描画読み込みが本番と変わらないぐらい早くなった。

config.assets.debug = false

この設定は何をしているのかというと、本番環境と同様にassets配下にあるcssやjsをapplication.js|cssに纏めるというもの。

設定ファイル(config) - - Railsドキュメント

その代わり、jsをデバッグしようと思うと全てのjsがapplication.jsに統合されてしまっているのでどのjsファイルかわからなくなってしまう諸刃の剣。

jsの修正が無い時に手早く開発したい時には有効な設定でしょう。これでも遅い場合はサーバー側の処理が遅い可能性があるので、クエリを見直したりしてみよう。

これで開発のテンポが少し上がった気がする。Railsエンジニアの方で他に有効な開発方法があれば教えてください。

ValidationEngine.jsで複数項目をajaxで送信したい時

https://gyazo.com/6f4a771817bbb8f1f0093af284d91cd7

jQueryでバリデーションする時に便利なプラグインgithub.com

このプラグインを使ってajax経由で好きなバリデーションを掛けることができる。 各form部品をバリデートする際には

// 対象のフォームを指定する
$("#userForm").validationEngine();

$.validationEngineLanguage.allRules = {
  "exists_user": {
      "url": "/user/exists_user"
   }
}
<input class=" validate[ajax[exists_user]]" data-prompt-position="topLeft" maxlength="7" id="user_id" name="user_id" type="text">

これでuser_idのテキストボックスからフォーカスが外れた時にバリデートが掛かる。もう少し細かく書くとexists_userに指定したurlへGETリクエストが送信される。クエリストリングは対象formのid名とvalueとなる。 サーバーからはバリデートするid名とbooleanを返却すれば自由にチェックできる。チェックエラーの時はfalseを返却すればいい。

ただ、今回は複数のform部品をajaxで送信してチェック処理がしたいので対象formの値しか送信できないと困る。公式ドキュメントを読むとextraDataDynamicに送信したいidを配列で指定すれば良いようだ。

"exists_user": {
    "url": "/user/exists_user",
    "extraDataDynamic": ['#user_id', '#email']
}

これでGETリクエストされるクエリストリングには#user_idと#emailに入力された値が送信される。

ブログタイトルとデザインを変更しました

ブログ画像

そろそろちゃんとしたブログにしよう

前回のブログがちょっと濃い感じで飽きてきてしまったので、こつこつ夜なべしてブログデザインを変更しました。

今回使用させて頂いたテーマはこちらです。

テーマを選んでカスタマイズしていると時間が一瞬で飛んでいきますね。8h以上使ってしまった気がします。

一応、ソーシャル連携や記事一覧など一通り基本のカスタマイズは終えて、なるべくシンプルに。

続きを読む

ギークハウスのススメ

ギークハウス新丸子に移り住んで2ヶ月経ちました。

当初は1ヶ月の予定でしたが、今では最低でも4ヶ月滞在予定が決まりました。私にとってギークハウスはかなり居心地が良かった。

さて、そんなギークハウス、どんなところなのか聞かれることが多いので記事としてまとめてみました。

続きを読む