ルニラボ

lni_T の長文置き場

夜勤メモ

  • 初夜勤だったので自分向けノウハウメモ
  • 効果には個人差があります

前夜

  • だいたい12時間くらいは眠っていられるので、出勤時刻の少し前までしっかり眠れるように前日夜更かししておく。
    • アニメ消化
    • スプラトゥーン
    • プログラミング
    • etc
    • やめどきを見失わないようにする
  • 近隣が工事中で昼間うるさくなりそうな場合は備えておく
    • 窓を閉める
    • 市販の睡眠薬を飲む
    • 耳栓
      • きもちわるくて使えなかった

当日

  • ビル内コンビニは24時間営業でない事もあるので兵糧に注意
  • 割り込みはないが、だらだら業務しても効率がでないので注意
    • 気付かない間にだらけやすい

後日

  • なるべくさっさと寝てリズムを戻す

Raspberry Pi2 に最新版のJenkinsを導入する

事前準備

  • リポジトリを追加する。初期状態だとaptでは古いJenkinsしか入らない。
wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'

手順

sudo apt-get update
sudo apt-get install openjdk-7-jre
sudo apt-get install jenkins
  • まずはJava7をインストールすること。この手順を飛ばすとJava8がインストールされてしまった
    • 当環境ではJava8でJenkinsは動作せず

WebサイトへのSNSシェア系ボタンの設置方法メモ

概要

  • Twitterはてブ等でのシェアボタンを設置するためのリンク集(2015/10/20)

詳細

Rails+AngularJSのアプリをJasmineでテストする

概要

参考資料

手順

jasmine-railsのインストール

  • ここは参考資料通り
# Gemfile
group :development, :test do
  gem 'jasmine-rails'
end
  • bundle install

  • rails g jasmine_rails:install したら一式インストール完了

    • 楽ちんすぎてばかになりそうだ

angular-mocksのインストール

  • Jasmineでテストしようとすると、angular-mocksが必要になる。
  • 入ってないとこれ以降の手順で以下のエラーが出る。
    • ReferenceError: module is not defined
  • application.jsでrequireする
    • なんらかの手段でangular-mocksのパッケージは入れておくこと
//= require angular-mocks

実際のテスト

  • 先のjasmine-railsのインストールで、テスト用のページは作られているのでSpecRunner.htmlなどは不要で、そのままテストを書けばよい。
describe "HogesController", ->
  beforeEach ->
    module('myApp')

  beforeEach ->
    inject ($controller, $rootScope, Hoge) ->
      @scope = $rootScope.$new()
      @ctrl = $controller("HogeController", { $scope: @scope })
      spyOn(Hoge, "query").and.callFake ->
        return []

  it "search()", ->
    @scope.search()
    expect(@scope.hoges).toEqual([])
  • myAppHogeサービスと、HogesControllerが定義されており、HogesControllersearch()をテストすることとする。

  • 最初のbeforeEachでmoduleを準備する。

  • 次のbeforeEachで@scopeとテスト対象のコントローラを定義する。
    • ついでにHogeサービスのquery()で返ってくる値をspyOnで代役を立てておく。これで実際に通信しにいくことはない。
    • spyOnはJasmineのSpy機能の1つ
  • itでテストを行う。
    • HogesControllersearch()が実行された後、scopeのhogesHogeサービスのquery()の戻り値が入っていることを期待する。

ひとりプログラミング合宿へ

突発的なここではないどこかへ欲

そして合宿へ

計画

リリースやインターンシップのや炎上案件が重なり、取得できていなかった夏季休暇があったので今週取得して合宿へ。

特に場所の希望はなかったのでざっくりと決めていく

  • 近場or遠出
    • →あまり遠いと移動で合宿の体力が尽きるので関東近郊で
  • 海or山
    • ここは直感で海へ

ここまでくるとある程度しぼれる

  • 千葉or神奈川
    • 神奈川は来週別の用事で行くので違う場所へ行こうということで千葉へ

というわけで千葉に行くことに…

事前調査

  • とりあえずるるぶで下調べ
    • が特に行きたい場所なし
    • というわけで適当に宿とって温泉はいってもくもくしましょう
    • るるぶトラベルで宿探して予約

決行

  • というわけで高速バスで1時間ほど揺られて木更津へ
  • 到着しての感想
    • 「田舎だ…」「駅前に人がいねえ…」「何もない…」
    • 人が居ないので落ち着いて合宿できそうです。
  • ひとまず宿のチェックインが16時なので喫茶店で時間つぶしがてら目標の記載を行う。

合宿の目標

  • という訳で目標設定

スケジュール

  • 14:00 目標設定
  • 15:00 下調べ
  • 15:45 ホテル移動
  • 16:00 ホテルチェックイン
  • 16:15 第一次もくもくタイム
  • 18:00 近場の温泉へ(大浴場付きのホテルの予約が取れなかった)&晩飯
  • 19:45 ホテル戻る
  • 20:00 第二次もくもくタイム
  • 21:30 休憩
  • 22:00 第三次もくもくタイム
  • 23:30 休憩
  • 24:00 第四次もくもくタイム(眠気が来るまで)

実施内容

  • もくもくと何か
    1. AngularJSのテストコード
      • IkaDB!のJSにテスト構築
    2. Chrome Extension作成
      • SelectをSelect2にしてくれるExtension
    3. 読書

意気込み

  • 進捗出すぞー

本当の旅の目的

Rails4でActiveAdminを使う備忘録

Railsで管理画面を作るのに使ったActiveAdminの備忘録

基本

↓に従って進める github.com

手順

導入

  • Gemfileに記載してbundle install
  gem 'activeadmin', github: 'activeadmin'
  gem 'devise'
  • rails gで各種生成
    • $ rails g active_admin:install
      • 特に何もしていしなければAdminUserというdeviseを使ってログインできるユーザーが作成される
  • 日本語化したければしておく
  • 試しにログインするとかっこいい管理画面が表示される。

モデルを操作対象に

  • 対象のモデルに対して以下のようにrails generate
    • rails g active_admin:resource ModelName
    • これで画面に表示されるが、まだ編集はできない。
    • アソシエーション系も勝手に表示される!スゴイ!
  • app/admin/model_name.rbで操作可能な属性を指定する

    • belongs_toは :hogehoge_idを指定すると操作可能になる。
  • 追記 全属性を操作可能にする

    • config/initializer/active_admin.rbに以下を追加。
ActiveAdmin::ResourceController.class_eval do
  # Allow ActiveAdmin admins to freely mass-assign when using strong_parameters
  def resource_params
    [(params[resource_request_name] || params[resource_instance_name]).try(:permit!) || {}]
  end
end

スプラトゥーン装備検索システム「IkaDB!」 リリースしました

IkaDB!

https://ikadb.herokuapp.com

概要

  • スプラトゥーンのブキ・ギアの詳細検索ができるWebアプリです。
  • いちいちWikiを漁らなくても検索クエリを入力するだけで合致するブキ・ギアを発見できます。

経緯

  • というわけでスプラトゥーン系で何か作ると健康で楽しくなれそうだったので

結果

  • 楽しかった
  • 楽しくなりすぎて寝不足で倒れて会社休みました

結論

  • 徹夜プログラミングはほどほどに