うなすけとあれこれ

2017年02月14日

unasukecopというgemをつくりました

unasukecop

リポジトリ

https://github.com/unasuke/unasukecop

config以下にrubocopの定義があります。理由もコメントしてあります。

つかいかた

おもむろにGemfileに次のような行を追加します。

gem 'unasukecop', require: false, group: :test

そしたらbundle installをして、.rubocop.ymlに次のように書きます。

inherit_gem:
  unasukecop:
    - "config/rubocop.yml"
    # - "config/rails.yml" # railsのCopを使いたい場合コメントを外す

すると僕の好みのrubocop設定がつかえます。誰得ですか。

inspired by onkcop

元ネタです。

onk/onkcop: OnkCop is a RuboCop configration gem.

initコマンドの移植をしなかったのは、必要性を感じなかったからです。

きっかけ

社内でrubocopを本格的に使っていくことになり、Copを調教するにあたって自分の好みを把握しておくべきかなと思ったので、やりました。

そのためにrubocopのCop定義を全部読みました。気づいたら翌朝になってました。

Cops - RuboCop: The Ruby Linter that Serves and Protects

所感

命名規則に従うならunasukecopだけど語呂悪すぎではrubocop-unasukeとかのほうがいいのではと思っている

— うなすけ(ミートアップ) (@yu_suke1994) 2017年2月13日
Tweet
2017年02月14日
2017年01月29日

高専DJ部 #11 でした

kosendj-bu #11

セトリ

  1. Champagne Showers - LMFAO Feat. Natalia Kills
  2. Sexy Beast - Stereotronique
  3. You Need Fxxkin’ Anthem (feat.Yuyoyuppe) - DJ'TEKINA//SOMETHING
  4. Rock ‘N’ Roll (Will Take You To The Mountain) - Skrillex
  5. Wormhole (Original Mix) - Far Too Loud
  6. LMFAO - Shots (Camellia’s ShaShaSha Bootleg) - かめりあ
  7. Your Boobs (feat.Yuyoyuppe) - DJ'TEKINA//SOMETHING
  8. Kill EVERYBODY - Skrillex
  9. Run Wild feat. Jake Reese (Extended Mix) - Hardwell, Jake Reese
  10. Five Gorilla5 - GAT
  11. [e-] - かめりあ
  12. Keep On Rocking - F.O.O.L
  13. Speed Complex - Srezcat & Kobaryo
  14. Mind Mapping - Ryu☆
  15. Need You - F.O.O.L
  16. Fugitive - Case & Point
  17. This is Rock n Roll maybe - かめりあ

部長はじめ多くの方々に「上手くなったね」とか「良かったよ」と言われとてもうれしいです。

コントローラー持ち運びからの脱却

さて僕は、DDJ-SBを持っています。

DDJ-SB PERFORMANCE DJ CONTROLLER (black) - Pioneer DJ

今までの高専DJ部では、このPCDJコントローラーを持って行ってDJをしていました。 どう考えたって大変です。

そんな折、#kosendj Advent Calendar 2016の14日目、

PCDJ しか使ったことない人向けの CDJ + rekordbox 移行ガイド - polamjaggy

を読み、これを期にCDJをやってみようと思いました。

なので、slackにnagomixの解放dayの告知を流す部屋をつくり、部活動当日までの解放になるべく参加してCDJができるようになろうと思いました。

slack nagomix部屋

結果として当日までに計3回、nagomixでCDJの練習をし、まあ、それなりにできるようになりました。

Tweet
2017年01月29日
2016年12月27日

blogのデザインをなおしました

pull request

どこがどう変わったのか

そんな感じです。よろしくお願いします。

Tweet
2016年12月27日
2016年12月25日

やぎすけ Advent Calendar 24日目 status codeの修正

pull request

やぎすけ Advent Calendar

やぎすけ Advent Calendar 2016 - Adventar

24日目です。遅れましたがやっていきましょう。

serachにparamsがない場合

まず最初に必須パラメータのnameがあるかチェック、ない場合はエラーなjsonを返却。

やぎ小屋 | Ruby on RailsでつくってみるAPI(2日目)

とのことですが、エラーの場合はHTTP status codeもそれ相応のものを返してやったほうがいいと思うので、そうします。

この場合だと400が適当でしょうか。

List of HTTP status codes - Wikipedia

なので、このように書き替えます。

def search
  if params[:name].blank?
    render status: 400,  json: [{"error": "100", "msg": "必須パラメーターがありません", "required": {"key": "name"}}]
  else 
    @result = Character.where("name like ?", "%" + params[:name] + "%")

    if @result.empty?
      @result = Character.where("phonetic like ?", "%" + params[:name] + "%")
    end

    render json: @result
  end
end

Return 400 if params is not present · unasuke/imas_api_rails@07185c5

Tweet
2016年12月25日
2016年12月20日

高専DJ部 Advent Calendar 2016 20日目MIX

dj

#kosendj Advent Calendar 2016

#kosendj Advent Calendar 2016 - Adventar

20日目MIX

ジャンル名は「カラオケ」です。

「準備はいいんかね!?」で始まり、「これでお終いさ」で終わるのは狙いました。

セトリ

  1. ルンがピカッと光ったら - ワルキューレ
  2. survival dAnce ~no no cry more~ - TRF
  3. Pick Me Up - Perfume
  4. ワンルーム・ディスコ - Perfume
  5. WILD STARS - μ’s
  6. Darling!! - 西木野真姫 (Pile)
  7. Hotel Moonside (Extended Live Version) - 速水奏 (CV:飯田友子)
  8. レーザービーム (Album-mix) - Perfume
  9. ショコラ・ティアラ - 三村かな子 (大坪由佳)
  10. さよならトリップ - Dormir
  11. Snow Crystal - Another Infinity Feat. Mayumi Morinaga
  12. Just Be Friends - Dixie Flatline Feat. 巡音ルカ

余談

DJコントローラーぶっ壊れたので明日のadvent calendarが厳しい

— うなすけ(ミートアップ) (@yu_suke1994) 2016年12月19日

USBポート変えたら直ったので嬉しいが、つまりmacbookが壊れている……

— うなすけ(ミートアップ) (@yu_suke1994) 2016年12月19日
Tweet
2016年12月20日
2016年12月16日

やぎすけ Advent Calendar 16日目 testの追加

pull request

やぎすけ Advent Calendar

やぎすけ Advent Calendar 2016 - Adventar

16日目です。やっていきましょう。

testを書く

さて、今のdevelopment branchではtestが落ちるので、直していきましょう。

不要なhttp methodを削る

Remove unneed controller tests · unasuke/imas_api_rails@56d92f3

GETしかないので、それ以外は消します。

fixtureにデータを登録

Define character fixture · unasuke/imas_api_rails@3b78b84

天海春香さん。

testするurlの変更

Fix test url · unasuke/imas_api_rails@874afe9

indexはまだなにもないので、allに対してテストするよう変更します。

response.bodyも見る

Check response body · unasuke/imas_api_rails@bb50504

response.bodyにちゃんとcharacterがはいっているか確認します。

searchのtestを書く

Add test characters#search without params · unasuke/imas_api_rails@a3bc2a5

searchにparamsがない場合のtestを追加しました。

Tweet
2016年12月16日
2016年12月14日

このblogのCIをCircle CIからwerckerに変更しました

wercker

やぎすけ Advent Calendar

やぎすけ Advent Calendar 2016 - Adventar

14日目です。大半がやぎにいなのでプレッシャァ。

Circle CIへの不満

遅い

無料のci serviceに言う文句じゃない気もしますが、とにかくtestがpassするまでの時間が長いと感じていました。

たとえばRubyの2.3.3など、わりと新しめのversionを使おうとすると毎回インストールを実行するので時間がかかります。

インストールの様子

werckerなら速そう

そこでwerckerを選択しました。werckerはciを実行する環境がdocker containerの中になるので、適切なcontainerを 選んでやれば環境構築の手間は最低限で済みます。

werckerでmiddlemanのbuild

こちらになります。

box: ruby:2.3.3
init:
build:
  steps:
    - install-packages:
        packages: nodejs
    - bundle-install
    - script:
        name: middleman build
        code: bundle exec middleman build
deploy:
  steps:
    - install-packages:
        packages: nodejs rsync
    - bundle-install
    - add-ssh-key:
        host: unasuke.com
        keyname: deploy
    - add-to-known_hosts:
        hostname: unasuke.com
        fingerprint: $FINGERPRINT
    - script:
        name: middleman build
        code: bundle exec middleman build
    - script:
        name: middleman deploy
        code: bundle exec middleman deploy

master branchでciが実行された場合は、deploy pipelineが実行されるようにしています。

workflow設定

どのくらい速くなったのか

build ci

deployが発生しない、通常のciが終わるまでに要した時間を適当に5つ抜き出してみました。

circle ci

だいたい3分間といったところ。

wercker

ほぼ1分間という感じ。

deploy ci

deployが発生する場合に、deploy終了までどれだけの時間を要したかを適当に5つ抜き出してみました。

circle ci

これもだいたい3分から4分の間。1回だけ13:06かかったことがあり謎。

wercker

werckerに移行してからあまりdeployしてないのでサンプルが少ないですが、早くなっています。

参考

Tweet
2016年12月14日
2016年12月05日

高専DJ部 Advent Calendar 2016 5日目MIX

dj

#kosendj Advent Calendar 2016

#kosendj Advent Calendar 2016 - Adventar

5日目MIX

ジャンル名は「哀愁」です。

セトリ

  1. Paradigm - Leslie Wai
  2. Snowblind (feat. Tasha Baxter) - Au5
  3. Surface - Aero Chord
  4. Keep On Rocking - F.O.O.L
  5. Sometime (Vocal) - Seamless ft Veela
  6. Magnolia - Guriri
  7. Blossom - Au5
  8. Valkyrie II: Lacuna (feat. Cassandra Kay) - Varien
  9. 532nm - Ryu☆
  10. 405nm (Ryu☆Mix Extended) - Another Infinity
  11. Riot - Tanchiky

もっとうまくならなきゃ……

Tweet
2016年12月05日
2016年12月04日

whywaita advent calendar day4

slack

whywaita Advent Calendar 2016 - Adventar




whywaita











alitaso

Tweet
2016年12月04日
2016年12月03日

福井技術者のつどい 第7回

denari

資料

死霊です 👻 #fukuitech

Web appつくるなら何を知らないといけないの? https://t.co/zUQNn0s6oU

— うなすけ(ミートアップ) (@yu_suke1994) 2016年12月3日

unasuke/fukuitech-07

logの話するの忘れたなと思いました。

感想

D言語やっていきたい。ドメインやっていきたい。webサイトやっていきたい。

以上です。

Tweet
2016年12月03日
新しい投稿
古い投稿