みつ君がDockerを初めたとのことだったので、Dockerの話をしました。
資料を見てもらえるとわかるかと思いますが、社内での所属が変わりました。 TMIXの開発から離れ、インフラをメインにやっていくことになりました。どこかでちゃんと書きます。
我々福井技術者の集いは、重龍・α改・うなすけの3名で開催致しました。 その主要メンバーの全員が、今年3月をもって福井の地から巣立つことになります。 よって、初期福井技術者の集い運営メンバーの卒業と、 新しい福井技術者の集いの始動を記念してここに"7.5"回を開催致します。 皆様のご参加を、心からお待ちしております。
僕については結構前から福井を離れてはいますが、つまりはそういうことです。コミュニティの引き継ぎが行なわれたわけですね。
「fukuitechを支える技術」 #fukuitech
— うなすけ(ミートアップ) (@yu_suke1994) 2017年2月25日
fukuitech、福井技術者のつどいですが、第2回からUstreamでの配信、Youtubeへの録画の公開をしています。
そして第5回以降は、HDR-CX485とLiveShell 2を用いた Youtube Liveでの配信をしています。
このYoutube Liveでの配信で、それ以前のUstream配信と比較すると、大幅な配信品質の向上ができました。
また個別の発表の録画についても、Ustreamを使用していたころはWebカメラやPCに備え付けのカメラを使用していたのが、 動画撮影に特化したハードウェアを使うことで、高画質、高音質のものが公開できるようになりました。
しかし、これらの機材はfukuitechとして所有されているものではなく、僕個人の機材を持ち出して使用しているにすぎません。
つまり、僕が参加しない回については、配信・録画の質の低下に留まらず、それらが行われないことも考えられます。
福井技術者のつどいの配信関連は、完全に僕個人に依存している状況になっています。
主催に関しては希望すればやってもらうことはできるでしょうが、配信関連に関しては、やる気のみでなく、機材の確保もやってもらうことになるので、 なかなか誰かにお願いすることもできません。
最近は配信機材をかかえての夜行バスでの移動も苦痛になってきました。
これは答えの出ないポエムのようなものですが、この属人化について、なんとかしたいなあ……と思っています。
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設定がつかえます。誰得ですか。
元ネタです。
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日
部長はじめ多くの方々に「上手くなったね」とか「良かったよ」と言われとてもうれしいです。
さて僕は、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ができるようになろうと思いました。
結果として当日までに計3回、nagomixでCDJの練習をし、まあ、それなりにできるようになりました。
そんな感じです。よろしくお願いします。
やぎすけ Advent Calendar 2016 - Adventar
24日目です。遅れましたがやっていきましょう。
まず最初に必須パラメータの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
#kosendj Advent Calendar 2016 - Adventar
ジャンル名は「カラオケ」です。
「準備はいいんかね!?」で始まり、「これでお終いさ」で終わるのは狙いました。
DJコントローラーぶっ壊れたので明日のadvent calendarが厳しい
— うなすけ(ミートアップ) (@yu_suke1994) 2016年12月19日
USBポート変えたら直ったので嬉しいが、つまりmacbookが壊れている……
— うなすけ(ミートアップ) (@yu_suke1994) 2016年12月19日
やぎすけ Advent Calendar 2016 - Adventar
16日目です。やっていきましょう。
さて、今のdevelopment branchではtestが落ちるので、直していきましょう。
Remove unneed controller tests · unasuke/imas_api_rails@56d92f3
GET
しかないので、それ以外は消します。
Define character fixture · unasuke/imas_api_rails@3b78b84
天海春香さん。
Fix test url · unasuke/imas_api_rails@874afe9
indexはまだなにもないので、allに対してテストするよう変更します。
Check response body · unasuke/imas_api_rails@bb50504
response.bodyにちゃんとcharacterがはいっているか確認します。
Add test characters#search without params · unasuke/imas_api_rails@a3bc2a5
searchにparamsがない場合のtestを追加しました。
やぎすけ Advent Calendar 2016 - Adventar
14日目です。大半がやぎにいなのでプレッシャァ。
遅い
無料のci serviceに言う文句じゃない気もしますが、とにかくtestがpassするまでの時間が長いと感じていました。
たとえばRubyの2.3.3など、わりと新しめのversionを使おうとすると毎回インストールを実行するので時間がかかります。
そこでwerckerを選択しました。werckerはciを実行する環境がdocker containerの中になるので、適切なcontainerを 選んでやれば環境構築の手間は最低限で済みます。
こちらになります。
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が実行されるようにしています。
deployが発生しない、通常のciが終わるまでに要した時間を適当に5つ抜き出してみました。
だいたい3分間といったところ。
ほぼ1分間という感じ。
deployが発生する場合に、deploy終了までどれだけの時間を要したかを適当に5つ抜き出してみました。
これもだいたい3分から4分の間。1回だけ13:06かかったことがあり謎。
werckerに移行してからあまりdeployしてないのでサンプルが少ないですが、早くなっています。
#kosendj Advent Calendar 2016 - Adventar
ジャンル名は「哀愁」です。
もっとうまくならなきゃ……