圧倒亭グランパのブログ

30年後の自分にもわかるように書くブログ

Crystalのmacro紹介 "def_equals"

この記事は、 Crystal Advent Calendar 2017 の6日目の記事です。

crystalには便利なmacroがあります。macroを使えば、記述量も削減でき表現力も向上します。しかし、ただcrystalを書いているだけでは、なかなかそれらのmacroに出会うことができません。

ということで、アドベント・カレンダーの日数稼ぎも兼ねて、macroの紹介をしたいと思います。

そもそも「macroってなんだ」という場合は、下記の本家docsを参照してください。

Macros · GitBook

 

今回は、 def_equals を紹介します。

続きを読む

Crystalのmacro紹介 "record"

この記事は、 Crystal Advent Calendar 2017 の5日目の記事です。

crystalには便利なmacroがあります。macroを使えば、記述量も削減でき表現力も向上します。しかし、ただcrystalを書いているだけでは、なかなかそれらのmacroに出会うことができません。

ということで、アドベント・カレンダーの日数稼ぎも兼ねて、macroの紹介をしたいと思います。

そもそも「macroってなんだ」という場合は、下記の本家docsを参照してください。

Macros · GitBook

 

今回は、 record を紹介します。

続きを読む

Crystal 勉強会 #5 in 渋谷 を開催しました

この記事は、 Crystal Advent Calendar 2017 の1日目の記事です。

11/30日に Crystal 勉強会 #5 in 渋谷 を開催させていただきました。

crystal.connpass.com

#4の開催からちょうど1年というタイミングでした。今回は「わいわいガヤガヤとピザと酒をくらいつつ、技術談義をする」という形にしたかったため、発表と懇親会を明確に分けず、最初から乾杯してピザを食べつつLTを開催するという形式にしました。そのほうが、会場のajitoっぽさもあります。

今回は、自分を含め3名の方がLTを行いました。以下の資料を御覧ください。

続きを読む

「共同開発環境」によって変化しそうなものを妄想してみた

最近は、TDDやペアプロに興味があります。それらにとって「共同開発環境」がどう影響するかを妄想してみました。

目次

  • 目次
  • 共同開発環境
  • 共同開発環境によって変化しそうなもの
    • テストの価値が上がりそう
    • ペアプロの変化
    • 並列プログラミングと似ている「並列開発」
  • まとめ
続きを読む

テスト駆動開発は「治具を使いこなす」ようなもの

前回に続き、@t_wadaさん翻訳の「新訳版 テスト駆動開発」を読み、思ったことについて書きます。

   

前回は、この本の読み進め方について書きました。

at-grandpa.hatenablog.jp

今回は、前々から思っていた「テスト駆動開発治具を使いこなすようなものだ」ということについて、具体的に言語化できたのでまとめます。  

目次

  • 目次
  • 治具」とは
  • TDDを間違って使っていた自分
  • テストは治具
  • TDDは「良い設計」を生むものではない
  • まとめ
続きを読む

技術本を読む時にリポジトリを作る

@t_wadaさん翻訳の「新訳版 テスト駆動開発」の第Ⅰ部を終えました。

   

この本を読むにあたってgitリポジトリを作って読み進めたので、その方法を記しておきます。

 

続きを読む

ISUCON7の予選に落ちて悔しいので、徹底的に復習するためのDocker環境を構築しました

俺のISUCONはこれからだ...!(予選は敗退しています)

 

ISUCON7お疲れ様でした!「楽しい・勉強になる・交流が深まる」の三拍子揃ったイベントを開催していてだき、運営の方々、関係者の方々、本当にありがとうございました。

 

毎年思うのは、「普段やってないことはできないなー」ということです。「仕事だけでは技術力の幅は広がらない」と毎年のように思わされます。そういう気付きを得られるだけでもISUCONは素晴らしいですし、そういう機会に巡り会えたこそ、このチャンスを無駄にはしたくはないなと思いました。

 

そこで、以下の思惑があり、ISUCON7の予選問題のDocker環境を作成しました。

  • 例年以上に悔しかったので徹底的に復習したい
  • そろそろ皆さんのブログも出尽くして、良い情報が固まりつつありそう
  • それらを試すためにも「何度でも壊して何度でも蘇る環境」が欲しい
  • お金は節約したい(切実
  • ローカルでサクッとできたら便利そう
  • いい機会だしDockerの勉強にもなるだろう

リポジトリは下記です。

github.com

これを作っている時に matsuu さんの docker-isucon/isucon7-qualifier が準備されて「あれー!w」と思っていましたが、自分で作り始めてしまったんだから公開しよう!ということで、今回ブログに書いています。

 

続きを読む

「相談」と「責任転嫁」は紙一重

「自分で考え、自分で判断しよう」という話です。相談したつもりが、知らぬ間に責任転嫁してしまうというケースを防ぐためにも、文章にまとめようと思いました。

 

目次

  • 目次
  • とある相談
  • 無意識の責任転嫁の弊害
  • 相談は「意見をもらう場」
  • 「なぜそうしたか」を語れるようになろう
  • まとめ
続きを読む

A Tour of Go 完走 & VS Code デビュー

今更ながら完走しました。最近はcrystalばっかり触ってたので逆にいろいろ面白かったです。あと、現在vscodeに移行中なので、これもちょうど良い練習でした。エディタ移行に踏ん切りがつかない時、新言語の学習をセットで行ってしまう、というのは結構良いのでは?という知見が得られました。

リポジトリは下記です。Web上で完結させても良かったのですが、vscodeを使うことも一つの目的だったのでファイルとして残しました。

github.com

続きを読む

clim 0.1.3 released

Crystalの「スリムなCLIビルダー clim」の version 0.1.3 をリリースしました。

github.com

以下の記事でも紹介しましたが、自作ライブラリのリリースをブログでも公開してみたかったのです。

at-grandpa.hatenablog.jp

続きを読む