うなすけとあれこれ

2017年03月29日

高専DJ部 #12 でした

kosendj-bu-12

右のDJでした。

謝罪

はしゃぎすぎて機材のコンセントを踏み抜いてしまったこと、大変申し訳なく思っております。

セトリ

今回はB2Bなので、僕が流した曲を順に貼っていきます。

  1. ウッーウッーウマウマ(゜∀゜) (Ryu* Remix) - Ryu☆
  2. Fury - Feint
  3. Such Kick (Deathmachine Remix) - N-Vitral
  4. Shot Thru Da Speaker (Original Mix) - Kurt, Mike Ahmet
  5. Rise Again (Buzzman & Summa Jae Remix) - Mark Breeze, Lost Witness
  6. Downside Up (Original Mix) - The DJ Producer
  7. Hentai (DJ Edit) - S3rl
  8. Industrial Machinery (Original Mix) - eDUB

togetter

KosenDJ-bu #12 - Togetterまとめ

Tweet
2017年03月29日
2017年03月07日

maekawaというAWS CloudWatch Eventsのcli clientをGolangで作りました

commits

What’s “maekawa” ?

unasuke/maekawa: AWS CloudWatch Events client

maekawaは、Golangで書かれたAWS CloudWatch Eventsのcli clientです。Yamlに定義されたRuleとTargetを登録します。

冪等性を持つようになっているので、便利です。

なんで作ったか

軽く探したのですが、CloudWatch Eventsの操作をするcli toolが見当たらなかったので作りました。

なんでGolangか

1. クロスプラットフォーム

Golangはクロスコンパイルが容易にできる言語です。1つのソースから複数環境に適したバイナリを生成することができます。

手元のmacOSで実行したり、CIサービスで稼動しているLinux上での実行をしたりすることを考えると、クロスプラットフォーム対応は必須でしょう。

2. aws-sdkがある

Golang向けのaws-sdkがあるので、awsの機能を使用するプログラムが簡単に作成できます。

aws/aws-sdk-go: AWS SDK for the Go programming language.

3. やってみたかった

最大の理由です。

クロスプラットフォームも、aws-sdkも、どちらも僕の慣れているRubyで書くことにしても、同じ利点があります。

ただ、何か静的型付けでコンパイルする言語を学習しておきたいなと思ったので、Golangを選択しました。

名前の由来

隣の席の人に「どんな名前にしたらいいですかね」って聞いたら「maekawaでいいんじゃない」って言われたのでそうしました。

つかいかた

READMEを読んでください。

あとまだ安定してないので実戦投入オススメしないです。直せてプルリク送れるレベルで使ったほうがいいです。

そこそこ安定したらversion 1.0.0にします。

もともと社内で使うために作ったので、そのへんも追々会社のブログに書こうと思います。

Tweet
2017年03月07日
2017年03月06日

beats solo³ wirelessを買った

beats solo³ wireless

今頃感

ヲチモノ- 【ヘッドホン】Beats 『Solo3 Wireless』 レビューチェック

発売開始はどうやら2016年の9月。なんで今頃になって買ったのかと言うと、発売当初になかった(PRODUCT)RED色がいつの間にかラインナップに追加されていたからです。

(PRODUCT)REDというか赤が好きなので。

音質

音質は僕はどうこう言える耳を持っていないのでなんともですが、今までに使っていたbeatsのヘッドホン(Mixr)と同様に低音がちゃんと出ているように思います。

DJブースでも使ってみましたが、モニターヘッドホンとして支障なく使うことができました。

つけ心地

しっかり押さえつけてくれるので、うがいとかしても外れません。ただやっぱり長時間つけてると耳が痛くなりますね。眼鏡もかけてるし。これは最初からわかってました。

いくら(PRODUCT)REDとはいえ赤すぎでは???????

Tweet
2017年03月06日
2017年02月27日

福井技術者のつどい 第7.5回と属人性について

fukuitech 7.5th

発表資料

unasuke/fukuitech-07.5

みつ君がDockerを初めたとのことだったので、Dockerの話をしました。

資料を見てもらえるとわかるかと思いますが、社内での所属が変わりました。 TMIXの開発から離れ、インフラをメインにやっていくことになりました。どこかでちゃんと書きます。

7.5回とは

我々福井技術者の集いは、重龍・α改・うなすけの3名で開催致しました。 その主要メンバーの全員が、今年3月をもって福井の地から巣立つことになります。 よって、初期福井技術者の集い運営メンバーの卒業と、 新しい福井技術者の集いの始動を記念してここに"7.5"回を開催致します。 皆様のご参加を、心からお待ちしております。

福井技術者の集い その7.5 - connpass

僕については結構前から福井を離れてはいますが、つまりはそういうことです。コミュニティの引き継ぎが行なわれたわけですね。

属人化

「fukuitechを支える技術」 #fukuitech

— うなすけ(ミートアップ) (@yu_suke1994) 2017年2月25日

fukuitech、福井技術者のつどいですが、第2回からUstreamでの配信、Youtubeへの録画の公開をしています。

福井技術者のつどい - YouTube

そして第5回以降は、HDR-CX485LiveShell 2を用いた Youtube Liveでの配信をしています。

このYoutube Liveでの配信で、それ以前のUstream配信と比較すると、大幅な配信品質の向上ができました。

また個別の発表の録画についても、Ustreamを使用していたころはWebカメラやPCに備え付けのカメラを使用していたのが、 動画撮影に特化したハードウェアを使うことで、高画質、高音質のものが公開できるようになりました。

しかし、これらの機材はfukuitechとして所有されているものではなく、僕個人の機材を持ち出して使用しているにすぎません。

つまり、僕が参加しない回については、配信・録画の質の低下に留まらず、それらが行われないことも考えられます。

福井技術者のつどいの配信関連は、完全に僕個人に依存している状況になっています。

主催に関しては希望すればやってもらうことはできるでしょうが、配信関連に関しては、やる気のみでなく、機材の確保もやってもらうことになるので、 なかなか誰かにお願いすることもできません。

最近は配信機材をかかえての夜行バスでの移動も苦痛になってきました。

これは答えの出ないポエムのようなものですが、この属人化について、なんとかしたいなあ……と思っています。

Tweet
2017年02月27日
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日
古い投稿