読者です 読者をやめる 読者になる 読者になる

pockestrap

Web Programmer's memo

Battle Conference U30 に参加、登壇してきました

battleconference-u30.connpass.com bcu30.jp 登壇内容 「自分の足を撃たない技術」というタイトルで登壇しました。 資料 qiita.com 内容 実は、私がいいたいことの8割ぐらいは id:sinsoku さんのこのツイートに集約されていると思っています。 各社がレビュ…

GitHub の芝でオリジナルTシャツを作れるサービス Shibart に 3D芝機能を追加しました!

今日はプレミアムフライデーですね。いかがお過ごしでしょうか。 本日、Shibart に新機能をリリースしました!3Dの芝です! shibart.pocke.me Shibart とは? Shibart は、GitHubの芝からオリジナルのTシャツなどのグッズを作ることが出来るサービスです。 …

Shibartで作ったグッズが届いた

先日、ShibartというGitHubの芝グラフをTシャツなどのグッズにするサービスをリリースしました。 shibart.pocke.me ブログ記事 pocke.hatenablog.com pocke.hatenablog.com このサービスで作成した商品が届いたので、それの写真などをレポートします。 なお…

プログラムのコードを書き換えずにRubyプログラムをStackprof付きで実行する、stackprof-run というGemを作りました。

github.com こんにちは。 id:Pocke です。 Stackprofを便利に使うGemを作成したので紹介しようと思います。 Stackprof とは 下記参照 github.com Stackprof を使う際の問題点 コマンドラインツールに対してStackprofを使用する際、通常だと以下のようなコー…

Shibart 作成の軌跡

あけましておめでとうございます。 id:Pocke です。 今年の目標は、人の顔を覚えることです。人のことを服の色で覚えてしまうので、この季節はコートを脱ぎ着すると人の判別ができなくなってしまうのを今年こそは直そうと考えています。 昨年末、Shibartとい…

GitHubに芝を生やすだけで満足していませんか? 芝を着るサービス、Shibartをリリースしました!

追記 2016年12月31日 22時40分 2016年12月31日 22時(JST)頃まで、プログラムのバグにより生成される芝が7段ではなく6段になってしまっている不具合がありました。 今後新規に作成されたTシャツなどでは問題なく7段の芝になります。 既にTシャツ等をご購入頂…

Performance/RegexpMatch Cop の概要と実装

こんにちは。id:Pocke です。 先日、RuboCop に Performance/RegexpMatch という Cop が追加されました。 Add new Performance/RegexpMatch cop by pocke · Pull Request #3824 · bbatsov/rubocop このCopは、Ruby 2.4 で追加された match? メソッドに対応す…

tmuxinator の代替ツールを作っている話

github.com ptmux の p は pocke の p です。 何故作っているのか 私はずっとtmuxを使っているのですが、tmuxinatorなどのツールは使わずにいました。 最近、遅ればせながらtmuxinatorへの興味が高まったので試してみたところ、下記の不満点があることが分か…

Firefoxでgithub-greedy-collectorを使う

Google Chrome には、GitHubのレポジトリのページに訪れた際に自動的にgit cloneしてくれるExtensionがあります。 moznion.hatenadiary.com 便利そうなのですが、宗教上の理由でFirefoxを使っているため、このExtensionを使うことが出来ません。 そのため、F…

Cookpad Tech Internship ~ Summer 2016 ~ に参加しました!

Cookpad Tech Internship 2016 – Summer – | クックパッド株式会社 採用情報 真面目な記事はこちら www.wantedly.com 写真で振り返るインターンシップ 太るインターン pic.twitter.com/xEQ7b8s5QE— Pocke (@p_ck_) 2016年8月10日 太るインターン pic.twitter…

go get / ghq get でのアドレス形式の違いから人類を解放した

こんにちは。最近Lintツールにお熱なPockeです。 表題の通り、go getとghq getの際にアドレス形式の違いの悩みから人類を解放しました。 go getとは go getはGo言語で記述されたソフトウェアをダウンロード/インストールする際に使用するコマンドです。 例え…

RSpecでexitを含むコードをテストする

TL;DR expect{subject}.to raise_error SystemExit exitをテストする状況はそもそも筋が悪い 前置き こんにちは。私は最近miというRails用のマイグレーションジェネレータを作っています。 github.com Railsのジェネレータは内部でThorというライブラリを使…

Rails Best Practices を3~4倍ぐらい速くした話、あるいはStackProf入門

github.com TL;DR StackProf でボトルネック検出 String#present?は遅いから使わない。 何度も呼び出される毎回同じ値を返すメソッドをメモ化 上記により3~4倍のパフォーマンス改善 はじめに Rails Best PracticesはRailsに特化したコードメトリックツールで…

Rails 4, 5 両方対応のGemをTravisでテストした話

先日、Railsのマイグレーションファイルをもっと便利に生成するGem、miのバージョン1.0.0をリリースしました。 github.com pocke.hatenablog.com このGemではRailsの4と5両方に対応しており、また4と5では挙動が異なります。 このため4と5両方のバージョンで…

Railsのマイグレーション生成をもっともっとImprovementする! mi gem version 1.0.0 をリリースしました!

こんにちは! RuboCop大好きpockeです。 最近はRuboCopにPRを投げるのが趣味みたいになってきました。 Railsにおけるマイグレーションファイルの生成をもっともっと楽にするGem、miのバージョン1.0.0をリリースしたので、今回はその紹介をしようと思います! g…

rails-apiでcookieを使う

最近、rails-apiでcookieを使うような機会が何度かあったので、その方法をメモしておきます。 tl;dr rails-api with cookie · pocke/rails-api-with-cookie-sample@11ccaf1 前置き rails-apiのデフォルトでは、cookieが無効化されています。 そのため、セッ…

テストの際にいい感じにbinding.pryするGem PryTestcase を作った

github.com Rubygems: pry_testcase | RubyGems.org | your community gem host 前置き # Twitter にメッセージを投稿する def say(msg, param) opt = to_opt(param) opt.message = msg send_to_twitter(opt) end describe '#say' do context 'case1' do it …

Ripperをコマンドラインから簡単に使うラッパー rpr を作った

github.com RubyGems: rpr | RubyGems.org | your community gem host 作った動機 私は現在仕事としてSideCIというコードレビューを自動化するサービスを開発しています。 SideCIではRubocopなどの静的解析ツールを使用しています。 静的解析ツールの拡張の…

もっと便利に rails g migration する

前置き Railsには、DBのマイグレーションファイルを作成する為のジェネレータ、rails g migrationがあります。 例えば、usersテーブルにemailカラムを追加したい場合、このジェネレータは以下のように使います。 $ bin/rails g migration AddEmailToUsers em…

lemonade v1.0.0をリリースした

:tada: github.com Release v1.0.0 · pocke/lemonade · GitHub lemonade については、以前書いた記事をご覧ください。 リモートのPCのブラウザやクリップボードを操作するツール Lemonade を作った - pockestrap リモートユーティリティーツール、Lemonade v…

都道府県のマスタテーブルを作るGemを作った

つくりました github.com todofuken | RubyGems.org | your community gem host Ruby on Rails 用に、都道府県のマスタテーブルを作成するGemです。 Rails の generator を利用しています。 Installation 普通のGemと同じように、Gemfileに以下を記載します…

www v0.3.0 をリリースした

www のバージョン 0.3.0 をリリースしました。 :tada: github.com www 自体の説明は以前別の記事(楽々静的HTTPサーバー - pockestrap)でしているので、もしご存知なければそちらをご覧ください。 --binding オプション このリリースでは、--bindingオプショ…

ruby の begin-resuce-end で囲むVimプラグイン作った

こんな感じ Installation GitHub で公開されているので、NeoBundleなどを使用してインストールすることが出来ます。 github.com NeoBundle "kana/vim-operator-user" NeoBundle "pocke/vim-operator-ruby-rescue" Usage Vim の Operator プラグインとして動…

mixi git challenge に行ってきた(優勝した)

優勝メダルですヽ( >ヮ<)ノ mixi git challenge とは 3月5日(土)開催。株式会社ミクシィ主催【1day技術イベント】 git challenge | IT系のインターンシップならエンジニアインターン mixi さんが開催している、学生向けのイベントです。今回が2回目の開催でし…

Rails のモデル内のメソッドをソートするRubocop Extension を作った

Rubocop、使っていますか? RubocopはRubyコードを静的に解析して問題を指摘します。 更にauto-correct機能を使うことで、指摘した内容を自動で修正することも可能です。 bbatsov/rubocop RuboCopの自動修正がSideCI上から行えるようになりました。 - SideCI …

今月読んだ技術書 2016年2月版

先月分 pocke.hatenablog.com UNIX という考え方 UNIXという考え方―その設計思想と哲学作者: Mike Gancarz,芳尾桂出版社/メーカー: オーム社発売日: 2001/02メディア: 単行本購入: 40人 クリック: 498回この商品を含むブログ (142件) を見る 誕生日プレゼン…

TDDBC in Tokyo 2016-02 に参加した

tddbc.doorkeeper.jp 経緯 多分 dots 経由で知ったと思う。 行こうかな―って迷っているうちに補欠登録になってしまったけど、繰り上がりで参加できてよかった。 TDDBC、ちょっと悩んでから登録したせいでキャンセル待ちになってしまった…。あとGoやりたい ht…

行末スペースを消すVim Operatorプラグインを作った

github.com Installation and Setting Example NeoBundle 'kana/vim-operator-user' NeoBundle 'pocke/vim-operator-trailing-space' map <Space><Space> <Plug>(operator-trailing-space) Demo わかりやすさのために、行末スペースを可視化しています。 何故作ったか 行末スペー</plug></space></space>…

Markdown 用 Operator Vim プラグインを作った

Markdown でヘッダレベルをいい感じに上げ下げするOperatorプラグインを作りました。 github.com 動画を見ていただくと、どのような動きをするのかわかると思います。 Operator とは 知らない方は、 Vim Advent Calendar 2013 97日目:モモンガでもわかるテキ…

Markdown 用 TextObject Vim プラグインを作った

Markdown のコードブロックを選択するVimプラグインを作りました。 github.com 動きは動画を見て頂くのが早いと思います。 TextObject とは Vim の「範囲を表す」概念です。 Vim Advent Calendar 2013 97日目:モモンガでもわかるテキストオブジェクトとオペ…

今月読んだ技術書 2016年1月版

私の今年の目標は、「技術書を沢山読む」ことです。 この目標の達成度の確認も兼ねて、今月読んだ技術書の紹介をします。 暗号技術入門 第3版 暗号技術入門 第3版 秘密の国のアリス作者: 結城浩出版社/メーカー: SBクリエイティブ発売日: 2015/08/26メディア…

Ruby on Rails で、スキーマ定義からモデルのファイルを生成する

Migration だけ先にがーーーっと書いたらモデルを作るのがめんどくさくなったので、Rakeのタスクを書きました。 gist.github.com 上記ファイルをlib/tasks/model_from_schema.rakeなどとして保存して、下記のようにコマンドを実行すると使用することが出来ま…

Railsで、Layoutを適用した静的なエラーページを生成してみた

こんにちは。私は現在 bearfruits という GitHub と連携した就活支援Webサービスを作成、運営しています。 bearfruits はRuby on Railsで開発しています。 エラーページがRailsデフォルトのままだったのを改善したので、手順をまとめます。 環境 Ruby on Rai…

Serverspec を書きやすくする Vim プラグインをつくった

github.com 経緯 会社で Serverspec 作成 GUI アプリケーションを作る Serverspec 作成補助アプリケーションをリリースしました | サバカン屋テックブログ ↓ 幼女「GUIめんどい、Vimだったら使う」 @p_ck_ ごくまれに書くー 記事を読んだ感想だと、全く新規…

vlc だけじゃない! みくったーちゃんもサンタ帽をかぶる

こんにちは。いよいよクリスマスも近づいてきました。 クリスマスといえば vlc です。 vlc はクリスマスになるとサンタ帽をかぶります! 今年も、動画再生アプリ「VLC」のアイコンがクリスマス仕様に変更される でも、カラーコーンは美少女ではありません。ど…

Vim で Go 言語を書いている時、Neosnippet でいい感じに if する

今回は、Neosnippet x Go x if にフォーカスを当てた話をしようと思います。 Neosnippet とは? みなさん、Neosnippet を知っていますか? && 使っていますか? Neosnippet はいい感じに snippet を展開してくれる Vim プラグインです。 Neosnippet 自体につい…

GitHub アカウントから自動で実績資料を作成するサービス、bearfruits をBetaリリースしました!

Bearfruits これなに? 一言で言うと、bearfruits は GitHub アカウントからあなたの実績資料を作成します! といってもピンとこないと思うので、詳しく説明します。 こんな経験はありませんか? 就職/転職活動で、実績の提示を求められたことはありませんか? G…

"git " って打つのめんどくさい…!

この記事は Git Advent Calendar 2015 の 9日目です。 qiita.com 昨日は kaneshin さんの Gitリポジトリをメンテナンスして軽量化する - Qiita でした。 レポジトリをダイエットしたい時に便利そうですね。 "git " って打つのめんどくさくない…? git って打…

xrandr ですぐにミラーリングしたい!

先日、ハッカソンに参加しました。 そこで私のPCでプレゼンをしたのですが、PC画面とプロジェクターを同期するのに数十秒かかってしまいました。 最近LTなどプロジェクターを使う機会も増えているのでコマンド一発でミラーリングしたいなーと思い、ツールを…

GitHub に登録しているSSH公開鍵を、自分のサーバにも登録する

こんにちは。 GitHub に登録しているSSH公開鍵を取得、~/.ssh/authorized_keysに登録するツール、gh-ssh-pubkey を作ったので紹介します。 github.com インストール Go 言語で書かれているため、go getでインストールすることができます。 go get github.com…

Vue.js について LT をした。

先日、ポート株式会社様で開催されている、もくもく会に行ってきました。 第10回【フリースタイル】もくもく会【学生歓迎!】 - connpass 当日、LT発表者が3名しかいなかったため、飛び込みLTと言う形で突然LTしてきました。 実際飛び込みが多くて、結局8人…

require しないで Ruby を書く -- import.rb というアプローチ

import.rbという Gem をリリースしました。 pocke/import.rb · GitHub import.rb | RubyGems.org | your community gem host この Gem について解説したいと思います。 import.rb の目的 Kernel.requireを置き換えること。 Kernel.require とは 外部ファイル…

mikutter から ActiveRecord の validates を使う

mikutter とは、Ruby で書かれた Linux 向け Twitter クライアントです。 というのは表向きの顔で、実際は Plugin で高度に拡張可能な Twitter アプリケーションフレームワークです。 ともなれば、mikutter で Web アプリケーションを作りたくなるのは必然で…

My NeoComplete settings

普段 NeoComplete にとてもお世話になっているので、自分の設定を晒そうと思います。 参考にしてくれる人がいれば嬉しいです。 Plugins Shougo/neocomplete.vim · GitHub 言わずと知れた補完ブラグイン。 今回の主題 NeoBundle 'Shougo/neocomplete' if neob…

Vim で Ruby を書くならこれを使え!

私は開発環境を整えるのが大好きなのですが、今まであまり発信をすることがなかったのでこの記事を書きました。 少しでも Vim で Ruby を書くのが快適になれば幸いです。 なお、煽り気味のタイトルですが、それだけ私の独断と偏見で便利だと思っているもので…

一定間隔でコマンドを再起動するコマンド Mayfly を Golang で作った

つくりました。 pocke/mayflygithub.com Mayfly は「かげろう」って意味です。虫のほうです。 Installation go get github.com/pocke/mayfly バイナリは用意していないのでgo getしてください。 Usage このようにすると、gulpを起動した上で10分おきにgulpを…

リモートユーティリティーツール、Lemonade v0.2.0 をリリースした

pocke/lemonadegithub.com バージョンアップしました。 公開した時の記事はこちらです。 リモートのPCのブラウザやクリップボードを操作するツール Lemonade を作った - pockestrappocke.hatenablog.com 使い方 簡単な使い方に関しては、上記記事をご覧くだ…

最近作ったわりとどーでもいいもの3つ

気がついたらどーでもよいものを3つほど作っていたので、まとめてブログに書くことにしました。 hex pocke/hexgithub.com hex です。名前の通り、8進数です。 go getでインストールできます。 go get github.com/pocke/hex 以下のようにコマンドラインツール…

リモートのPCのブラウザやクリップボードを操作するツール Lemonade を作った

pocke/lemonadegithub.com 作りました。 Lemonadeといいます。 Go言語で書かれています。 インストール go getでインストールすることが出来ます。 go get github.com/pocke/lemonade また、リリースページから圧縮ファイルをダウンロードし、PATHの通ったと…

有理数を計算する電卓を作った

レポジトリ pocke/dentaku · GitHub 経緯 バイトに行ったら同僚が課題で分数として計算する電卓を作ったと言っていて、面白そうだから作ってみた。 言語を作ってみたくてちょうどyaccを触ったりしていた。 やってること yacc でパースしてごにょごにょした。…