【ネタ供養】sue445 Advent Calendar 26日目

これは [sue445 Advent Calendar 2016](http://qiita.com/advent-calendar/2016/sue445) の26日目です

~~Advent Calendarは25日まで？そんなのは知らんな( ◜◡◝ )~~

実は一人Advent Calendarを書くにあたってネタ自体は50個ほどあったのですが、Advent Calendarでネタにするには微妙なやつを選外にしたのでこの場を借りてネタ供養したいと思います。

# gem
## byndler
* https://github.com/sue445/byndler
* https://rubygems.org/gems/byndler

`gem install bundler` しようとして間違えて `gem install byndler` typoした時にインストールされるgem

用途がニッチすぎたので選外

執筆時点で2456人もtypoしてるとかマジか。。。

![image](https://qiita-image-store.s3.amazonaws.com/0/8059/481a482c-001b-b1f0-4313-2deb3ed12d14.png)



## gitlab_awesome_release
* https://gitlab.com/sue445/gitlab_awesome_release
* https://rubygems.org/gems/gitlab_awesome_release

GitLabでgemとかを開発する時にtag間のアクセプトされたMergeRequestからいい感じにCHANGELOGを生成するためのgem

社内gemから社内のGitLabに依存してた部分をなくしていい感じに汎用化したgem

gemの性質上 https://gitlab.com/ で公開しているのですが、周辺ツールが対応してなさすぎるのがつらい

開発コンセプト自体はよかったと思うんですが、いかんせんOSSのgemをGitLabに公開してるケースなんてないだろうなーと思って選外

## heart_seed
* https://github.com/sue445/heart_seed
* https://rubygems.org/gems/heart_seed

xlsxファイルをyamlファイルに変換して、さらにそのyamlを `rake db:seed` するためのgem。

DL数見るとそこそこ使われてる気配はあるのですが、こいつも社内のコードをいい感じに汎用化したものの自分の宣伝能力が足りなくてあまり社内で普及していないというつらい思い出があるので選外

一応GitHubに上げてない個人プロダクトでは使ってます

## paraduct
* https://github.com/sue445/paraduct
* https://rubygems.org/gems/paraduct

マトリクステストをするためのgem。

一時期よく使ってたんですが最近は全然使っていないので選外。

コード自体は21日目の[Yaml Axis Plugin](http://qiita.com/sue445/items/f8f23a5a8841ea80817a)の方に引き継がれています。（RubyからGroovyへの移植）

## pebbles-tokyu_ruby_kaigi
* https://github.com/sue445/pebbles-tokyu_ruby_kaigi
* https://rubygems.org/gems/pebbles-tokyu_ruby_kaigi

29日で土日祝日を探すためのgem

こいつも用途がニッチすぎたので選外

## rm_attr
* https://rubygems.org/gems/rm_xattr
* https://github.com/sue445/rm_xattr

Macで `ls -l` した時に出る `@` （Extended Attributes）を消すためのgem

地味に便利だと思うんですが最近使ってないよなーと思って選外

## rubocop-gemfile
* https://github.com/sue445/rubocop-gemfile
* https://rubygems.org/gems/rubocop-gemfile

Gemfileをいい感じにrubocopでいい感じに静的チェックするためのgem

作ってる途中でrubocop v0.46.0の `Bundler/OrderedGems` で全く同じ機能が本体に入ってお蔵入りになったので選外

ただrubocop-gemfileにしかない機能もあるので気が向いたらPR送ります

## rubygems_check_replacement_vulnerability
* https://github.com/sue445/rubygems_check_replacement_vulnerability
* https://rubygems.org/gems/rubygems_check_replacement_vulnerability

自分が作ったgemが [RubyGems.org gem replacement vulnerability and mitigation - RubyGems Blog](http://blog.rubygems.org/2016/04/06/gem-replacement-vulnerability-and-mitigation.html) の脆弱性に引っかかってるか調べるためのgem

脆弱性自体がピンポイントでほぼほぼ影響なかったというのと、旬を過ぎているため選外

## tweet_validator 
* https://github.com/sue445/tweet_validator
* https://rubygems.org/gems/tweet_validator

ツイートをDBに保存する時に短縮URLを考慮した状態で[^tco]140文字以内かどうかチェックするためのvalidaror

[^tco]: ツイートに含まれるURLは全て t.co の短縮URLに変換されますが、ツイート内にURLが含まれていた場合140文字ルールは短縮URLの方の長さで適用されます

元々はTwitterのDMを一斉送信する時にDBにDM本文を保存したいことがあって、保存する段階で140文字以内かどうかチェックしたくて作ったのですが、後日DM本文の長さ制限がなくなってお役御免になったので選外

# Chrome拡張
## Chatter Share for Google Chrome™
* https://chrome.google.com/webstore/detail/chatter-share-for-google/aehgkgapfagaljikampcebpacdcpkbfc
* https://github.com/sue445/chrome-chatter-share

はてブっぽくChatterにリンクをシェアするための拡張

元々弊社ではChatter使ってたんで作ったのですが、現在ではChatter使わなくなったので選外。

メンテナ募集中です

## chrome-github-pullrequest-suppressor
* https://github.com/sue445/chrome-github-pullrequest-suppressor
* https://chrome.google.com/webstore/detail/pullrequest-suppressor-fo/pjdcpaodmmecdminpbehhkidbgbaelke

upstream（フォーク元のリポジトリ）に間違えてPullRequestを投げないようにするためのChrome拡張

用途がニッチすぎて選外

# アプリ
## app-stat-api
* https://github.com/sue445/app-stat-api
* https://app-stat-api.herokuapp.com/

https://www.apple.com/support/systemstatus/ をスクレイピングしていい感じにjsonで取得するためのアプリ

書いてる途中で気分が乗らなくなったので選外

スクレイピングのメインロジックは [apple_system_status](https://github.com/sue445/apple_system_status) に切り出しているので単体で使いたい人はこっち使ってください

ちなみに社内にはこのAPIを利用して、AppStoreとiTunes Storeが調子悪くなった時にChatWorkに投稿するボットが動いてるのですが [^apple_bot]、もしかしてこれTwitterのボット化した方がよかったりするだろうか

![image](https://qiita-image-store.s3.amazonaws.com/0/8059/21dc0108-205c-98e2-d163-2f0acf188417.png)

[^apple_bot]: この辺が調子悪いと自社サービスでも課金エラーが発生するので監視している

## ChatWork Preview
* http://sue445.github.io/chatwork-preview/
* https://github.com/sue445/chatwork-preview

ChatWorkのタグをコード補完しつつプレビュー表示するツール。 `[info][title]〜[/title]〜[/info]` がサクッと書けます。

作ったことすら忘れていて選外。

## gemoire
* https://github.com/sue445/gemoire

ソースコード中のYARDドキュメントをホスティングするためのアプリ

[RubyDoc.info](http://www.rubydoc.info/) クローンを目指して作ったけど、GitHubの他にGitLabやbitbucketとかにも対応しています

こいつを選外にした理由は特に思いつかなかったんだけど、25日分全部書いたら気づいたら書かれなかったという選外です

## gitpeach
* https://github.com/sue445/gitpeach

GitLab版の [Waffle.io](https://waffle.io/) クローンのアプリ

こいつ自体は結構前に作られてStarもそこそこあるんですが、GitLab本体のIssue Boardとして同様の機能が作られているため選外

## アイドル募集ジェネレータ
* http://sue445.github.io/idle-recruit-generator/
* https://github.com/sue445/idle-recruit-generator

[エンジニアの芸能事務所](https://peraichi.com/landing_pages/view/liberal-en) に触発されて2時間位で作ったクソコラジェネレータ

同じく旬を過ぎてるので選外

# 【おまけ】 sue445 Advent Calendar の順番の法則
ネタ自体は25日分すぐに集まって余裕だったのですが、どういう順番で投稿するかが一番迷いました。

似たようなネタが続くと書いてる方も読んでる方も飽きるということで、いい感じにバラけさせるために下記のような **ナベアツルール** を採用しました。[^nabeatsu]

* 3の倍数の日はgem以外のものを紹介
* 3の倍数の日はgemを紹介

[^nabeatsu]: 3の倍数の時にアホになるという[世界のナベアツ](https://www.google.co.jp/search?q=%E4%B8%96%E7%95%8C%E3%81%AE%E3%83%8A%E3%83%99%E3%82%A2%E3%83%84)です。 

唯一の例外は5日目の [Go!プリンセスプリキュアのGo言語実装「GoPrecure」](http://qiita.com/sue445/items/5d19b0bc3293371a85e2) です。（5日目なのでGoの話を書かざるをえなかった）