タグ

関連タグで絞り込む (216)

タグの絞り込みを解除

コードに関するluccafortのブックマーク (64)

  • チェリー本の増刷(第5刷)が決まりました&これまでに書いたサポート記事のまとめ - give IT a try

    お知らせ 先日、技術評論社の編集者さんから「プロを目指す人のためのRuby入門(通称チェリー)の4回目の増刷(第5刷)が決まりました」と連絡がありました! 増刷嬉しい〜😆これもひとえに今まで購入してくださったみなさんのおかげです。どうもありがとうございます! プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで Software Design plus 作者:伊藤 淳一発売日: 2017/11/25メディア: Kindle版 ちなみに増刷というのは、出版社が在庫を補充するために、まとまった部数を追加で印刷することを言います(書籍の内容は同じです)。 言い換えると、「増刷される=在庫がなくなるぐらい順調に売れている」ということなので、著者や出版社にとってはとても嬉しい知らせになります。 まあ、普通の読者さんにとっては「ふーん」という話題ですよね😅 僕も自分で

    チェリー本の増刷(第5刷)が決まりました&これまでに書いたサポート記事のまとめ - give IT a try
    luccafort
    luccafort 2020/07/21
    最初の頃大変お世話になったのでもっともっと必要な人の元へ届いてほしい。紙媒体版はあるのでKindle版をせっかくだから購入しようかなぁ。たまに読み返して確認したいことがあるんですよね。
  • さよならアーキテクチャ議論|Seiji Takahashi@ベースマキナ

    ポエム。 つまり?予算やチームのリテラシーに合わせて最速で作れて、チーム内で「俺ら高凝集低結合だなー」と思えるなら、アーキテクチャはなんでもいいと思えてきました。 前提・まだ割と収益が安定してないプロジェクトでの話です。お金があるなら好きにやりましょう。Go Bold。 ・DDDやクリーンアーキテクチャがダメとは言ってないです。むしろ自分は直近そこまで厳格ではないクリーンアーキテクチャでAPI書いてます。 ・以前こういうポスト書くくらいにはアーキテクチャのこと試行錯誤してました。 アーキテクチャ導入議論への疲労以前僕は、DDDやクリーンアーキテクチャを導入するという話が出ると積極的に顔を出すようにしていました。でも、最近は「導入しましょう」「既に適用してあるのでキャッチアップしてください」などの議論をするのに少し疲れてしまい、足が重くなったように感じます。もうおじいちゃんなので体力がないん

    さよならアーキテクチャ議論|Seiji Takahashi@ベースマキナ
    luccafort
    luccafort 2020/07/07
    言わんとするところはわからなくはないと思ってるんだけどビジネスがブーストしようというタイミングでアーキテクチャが足かせになることはままあると思っててそういうときのためのアーキテクチャ論かなぁと思ってる
  • 35歳を迎えたCTOが35歳定年説について考えた - そーだいなるらくがき帳

    先月、35歳になった。 35歳定年説は「全員に一致する法則ではない」というのは一般的な認識になっている。 前職の同僚で同世代である id:motemen に聞いたところ「そんな事を意識したことなかった」という回答をもらったこともある。 しかし、実際に自分が35歳になると「自分は他人事ではない」という感覚だけがある。 そこで今日はそのことについて考えていきたい。 コードを書くということ コードを書くという行為は年齢関係なく続けていける。 しかし「仕事でコードを書き続ける」となると事情が変わる。 まず費用対効果として自分がコードを書くことが正しいのか?という問題とぶつかる。我々のプログラマーとしての仕事を奪うのはAIではない。いつの時代も 優秀な若者 だ。 そんな若者と比較した時、我々がコードを書くことが若者がコードを書くことよりも費用対効果がある場合はどんな場合だろうか?やはり経験が活かせる

    35歳を迎えたCTOが35歳定年説について考えた - そーだいなるらくがき帳
    luccafort
    luccafort 2019/11/29
    言い方は違うけどいまの10年が次の10年の方向性を決める、取捨選択だというのはめちゃくちゃわかりみがあってここ何年かそういうことでもがき苦しんでる。そうそうに方向性を決めている若手をみるとすごいなと思う。
  • 私がコードレビューの際に気をつけているコメントの書き方 - BASEプロダクトチームブログ

    こんにちは、BASE株式会社 ランニング部部長の元木です。 日々、社員に運動不足解消を促す傍ら、Owners Marketingというチームでバックエンドエンジニアをしています。 さて、弊社ではソースコードを変更した際に必ずメンバー間でコードレビューを行ない、OKが出たコードだけをデプロイすることになっております。 今ではほとんどの開発現場でコードレビューを取り入れていると思いますが、読者の中には 「レビューのコメントって、どう書いたらいいのか分からない」 「こんな事を言って嫌な顔をされたり、喧嘩にならないか心配」 などと、苦手意識を持っている人もいるのではないでしょうか? そこで、今回は私がコードレビューの際に気をつけているコメントの書き方をご紹介したいと思います。 気を付けているポイントとレビューコメントの書き方の例 私は、レビューで指摘事項をコメントする際のポイントは 「いかに分かり

    私がコードレビューの際に気をつけているコメントの書き方 - BASEプロダクトチームブログ
    luccafort
    luccafort 2019/06/14
    Github使ってるならSuggest機能使えると思うんだけどそれをあえて使わない理由ってなんだろ?エビデンスとWhyを書くというのはわかる。
  • 入社6か月間で駆け出しエンジニアがつまずいた4つのポイント - LiBz Tech Blog

    前回「入社2か月間で駆け出しエンジニアがつまずいた15のポイント」 tech.libinc.co.jp という記事を書かせて頂いてから早いもので入社6ヶ月目になりました。 たくさんの方に読んで頂けたようでありがとうございます。 未経験 ~ 駆け出しの間は特に不安だったり想像のつかないことも多いかと思うので少しでも実際に働いて見た気づきなどをシェアできたらと思います! 今回は前回に続き入社6ヶ月目でつまずいたポイントを4つ書かせていただきます! とりあえず公式ドキュメントを参照する癖をつける コードを書くばかりがエンジニアではない メソッド名の!と?に気をつける 三項演算子を効果的に使う 最後に とりあえず公式ドキュメントを参照する癖をつける 公式ドキュメントって読みづらいのでついついQiitaとかまとめブログに目がいきがちです。でも結局は公式のドキュメント見て調べた方が正確で早く作業も終わ

    入社6か月間で駆け出しエンジニアがつまずいた4つのポイント - LiBz Tech Blog
    luccafort
    luccafort 2019/04/03
    ぼくは三項演算子のところは return 'ok' if user.lock_countにしてその次の行にfalseって書くかなー。メソッドの返り値で三項演算子使うのなんとなく避けがちだな、いま気づいたけど。
  • 正しさとGo - Qiita

    はじめに Goの良いところは、最低限の文法を知っていればコードを上から順番に読むことで詳細を容易に理解できることです。 文法の中にシンタックスシュガーや特別な省略が許されていないため多様な表現になることはありません。 そのためGoを書ければGo体と標準ライブラリを読むことができます。 しかし以下の原因により、これらの利点を守ることが難しくなることがあります。 DSL フレームワーク 抽象化 これらは設計として新たな制約を課すことで品質向上や実装を容易にするためのものです。 またこれらを採用する論理立てた 正しい 理由が存在します。 DSL DSLを提供するツールとして、DIのための wire があります。 GoでDIを実現するためには多くの実装を必要とするため、実装量を減らすためにもDIツールが求められてきました。 これは 正しい です。 しかし一方でDSLはコードを読む人間に言語以上

    正しさとGo - Qiita
    luccafort
    luccafort 2018/12/21
    "「コードがシンプルであるためコードレビューで気がつくことができる」"GolangのErrorの処理、面倒だなと思う半面シンプルすぎるくらいにシンプルでどういうときにエラーが返るかわかりやすいので好きなのかも。
  • テクノロジーで街なかの ”移動” を変える「メルチャリ」の舞台裏 - Mercari Engineering Blog

    Mercari Advent Calendar 2018 の9日目はメルチャリチーム Androidエンジニアの @wiroha がお送りします。 メルチャリは2018年2月27日にスタートし、現在福岡市内で展開しているシェアモビリティサービスです。 専用の赤い自転車「メルチャリ」の後部に、スマートロックが搭載されており、メルチャリアプリを通じてお客さまが鍵をあけることで利用できます。 記事では、ハードとソフト、システムとリアルを融合させる、実は複雑で奥深いメルチャリの裏側をご紹介します! ハードウェア機能と深く連携するアプリ メルチャリアプリは、自転車や駐輪ポートの情報を地図上に描画して提供しています。主に使う技術は、iOSではApple MapAndroidではGoogle Mapsです。 車体についているQRコードをお客さまが読み込むと、アプリからサーバ、サーバから自転車へとリク

    テクノロジーで街なかの ”移動” を変える「メルチャリ」の舞台裏 - Mercari Engineering Blog
    luccafort
    luccafort 2018/12/14
    は?メルチャリのサーバーサイドって1人しかいないの?!!!マジで?!バックエンドはGoなのか、どの辺苦労したのかとか話しを聞いてみたい。
  • AWS をどう使わずにおくか - portal shit!

    ジョブキューイングシステムをどうするかでチームのリーダーとやりあって考えたことがあるのでまとめておく。 Rails で使うジョブキューイングシステムの技術選定で、リーダーは Amazon SQS 推し(レガシーシステムで SQS を使っている)、自分は Sidekiq 推しだった。前職時代に Sidekiq を使ってトラブルに遭遇したことはなかったし、とても簡単に使えるので Sidekiq で十分だと思っていた。 Sidekiq は GitHub でのスター数は 9000 オーバーで、 Rails の ActiveJob バックエンドとしては事実上のデファクトスタンダードだといえると思う。ググれば情報がいっぱい出てくるし、チームメンバーもリーダー以外は全員 Sidekiq の使用経験があった。 GitHub - sidekiq/sidekiq: Simple, efficient back

    AWS をどう使わずにおくか - portal shit!
    luccafort
    luccafort 2018/10/01
    SQS採用したところここで反対されている内容でやっぱりうーむみたいな気持ちになったので正しい判断だったんじゃないかなぁと思う。言語に依存したくなかったのでSQSにしたけどちょっと微妙だった。
  • RubyKaigi2018 懇親会に酒は要らない!?"コードで懇親する"コード懇親会 - Speee DEVELOPER BLOG

    架電芸人エンジニア*1の西(id: kohtaro24)です。最近スマホをiPhoneからBlackBerry KeyOneに変えました。物理キーボードの重量感を楽しんでいます。 現在はRubyKaigi2018に参加するためはるばる仙台まで来ており、RubyKaigi2018の二日目に開催されたコード懇親会についてレポートしたいと思います。 コード懇親会 "コード"懇親会ですのでイベント概要もGithubリポジトリ上で公開されています。 github.com 以下の引用にあるように、コード懇親会はお酒ではなくコードを媒介して懇親することをコンセプトに設計されています。 スポンサーをSpeeeが努めさせていただき、クリアコードの須藤(@ktou)さんにイベントコンセプトやデザインをリードしていただきました。 Rubyは楽しくプログラミングできることを大事にしているプログラミング言語です。み

    RubyKaigi2018 懇親会に酒は要らない!?"コードで懇親する"コード懇親会 - Speee DEVELOPER BLOG
    luccafort
    luccafort 2018/06/04
    あああめっちゃ楽しそう。次回あるなら参加したいいいい。
  • 「悪い方が良い」原則と僕の体験談|Rui Ueyama

    ソフトウェアの世界には「悪い方が良い」原則という有名なエッセイがある。キレイにレイヤ分けされた一貫性のある良いデザインよりも、一見手抜きの悪いデザインのほうが実は良いときもあるという話だ。この逆説的なデザイン原則を僕は身をもって体験したことがある。それについてちょっと書いてみようと思う。 僕はlldというリンカの現行バージョンのオリジナル作者だ。リンカというのはコンパイラと組み合わせて使うもので、実行ファイルやDLLを作るのに使用される。lldはプロダクトとしてはかなり成功していて、標準のシステムリンカとして採用しているOSがいくつかあったり、GoogleやFacebookなど皆が知っているような大規模サイトの中で広く使われていたりする。 現在のlldは2世代目で、第1世代のlldは僕がプロジェクトに参加する前から存在していたのだけど、数年前にそれを捨てて一から書き直すということになった。

    「悪い方が良い」原則と僕の体験談|Rui Ueyama
    luccafort
    luccafort 2018/04/06
    こういうのもある意味で「done is better than perfect」なのかなと読んでいて思った。悪いほうがいいデザインで最初からやってたらまた別の問題が起こった気がするので結果だけ見たら良かった気がする。
  • Railsを始めて一ヶ月半経ったので振り返りをする - ゆとり日記

    「Webアプリケーションエンジニアになるぞ!」という意気込みで事業会社に転職し、Railsのプロダクトコードを書き始めて少し経ったので現状を振り返ってみる。 プロダクトコードでRailsを書いてみての感想 なかなかに楽しい。 設計を格的に考えると答えは出てこないし、プロダクトコードはがそもそも複雑だし、PullRequestのレビューは厳しいし・・といった感じで頭を抱える事案は多いものの、自分の血肉となっているので良しとする。 実戦に入るにあたってやったこと・やっていること 定番のサイト達 Railsチュートリアル Railsにもなかなか慣れなかったけど、Ruby文化になかなか慣れることが出来ずに苦戦。 1回の挫折を挟み、完走まで1ヶ月以上かかった。 Railsの教科書 Railsチュートリアルよりも内容がコンパクトだったので、一時期こっちに逃げていた。 感覚をつかむには、まずこっちを

    Railsを始めて一ヶ月半経ったので振り返りをする - ゆとり日記
    luccafort
    luccafort 2018/03/23
    "ActiveRecordがイミフ過ぎた"クソわかる。 ファットController問題はRailsの場合ServiceかViewModelでなんとかしろ!という雑な認識なのだけどServiceが捉える範囲が広くなりすぎるみたいな話しもありよくわからない。
  • プライベートでコードを毎日書き続けて2年以上が過ぎた

    いつの間にか2年間継続してコードを書いていたので、その振り返りです。上のインコは日々僕を応援してくれる二羽のインコのうちの一羽です。この後をボロボロに噛みちぎっていきました。 1年目との違い去年こんなポストを書きました。 このとき、自分はコードを1年継続して書いたわけですが、その後また1年継続してコードを書いていました。 1年目とは「書きたい」と思うものも変わりました。また、習慣を維持する労力も小さくなり、コードを書くことそのもの以外の、登壇などの時間を取れるようになりました。 この1年で新たにやったことツール作成markdownをMediumポストにするCLIツールAWS SSMで管理されたパラメーターを環境変数にInjectするツールGoogle Cloud Platform API向けに使える、goonと同様のDatastoreクライアント基盤作成AWS上にTerraform+An

    プライベートでコードを毎日書き続けて2年以上が過ぎた
    luccafort
    luccafort 2018/02/27
    "あくまで平日の平均の時間ですが2~3時間くらいでしょうか。あんまり取れてないかなと思います。"え、平日のプライベート時間で2、3時間取れるってかなり取れているほうだと思ってたが少ないのかという衝撃…。
  • エンジニアチーム全員がフルリモートで働く際に役立つ便利ツールと組織のルール | 働き方・カルチャー

    こんにちは、株式会社キャスターでCTOを担当しています、福田です。 株式会社キャスターはオンライン秘書サービスを主な事業として展開しており、100名以上の従業員全員がフルリモートで働いています。 エンジニアチームもその例外ではなく、当然全員がリモートワーカーで、各自が自分の好きな場所に住み、集中できる環境でコーディングに勤しみ、必要に応じてオンラインで活発に議論しながらモノづくりをしています。 このブログで伝えたいことそんな我々エンジニアチームは、自分たちにとって働きやすい環境は何かを追求するため、日々新しい取り組みを実験として試しながら、リモートエンジニアリングに最適なツールやルール作りに取り組んでいます。 今回のこのブログでは、そんな我々が、日々愛用しているツールや、リモートワークをする上で気をつけていることや組織のルールの一部をここで紹介させていただこうと思っています。 この記事を読

    エンジニアチーム全員がフルリモートで働く際に役立つ便利ツールと組織のルール | 働き方・カルチャー
    luccafort
    luccafort 2018/02/06
    "ホワイトボード的なファシリティを実現できないか常々考えていました。"うーん…realtime boardいいのかなあ?と思ってサイトみたけどぼくが求める形と少しズレがあって悩ましい。
  • ISUCON7 勝てなかった - すぎゃーんメモ

    ISUCON7に id:kazeburo さんと id:gfx さんと、チーム「スギャブロエックス」で出場して、入賞もならず、最終結果5位で終わりました。 うーん 悔しい。 お題 WebSocketで通信しつつ各ルームで複数のユーザが操作するので同期をとりながら値を更新していく、的なもの。 チームの動き 予選のときと同様に、言語はNode.jsを選択。 今回はTypeScriptを使うようにしていっても良いのでは、と gfxの発案で序盤にすべてのコードをTypeScriptに変換して それを中心に進めていくことに。 実際、TSLintが良く効いて構文エラーや簡単な型の不一致などはすぐに気付くことができて編集しやすくて良かったです。 序盤の各サーバへのログインやNodeのバージョン変更、deployのためのscriptなどの環境整備はお2人に任せて、自分はとにかくアプリケーションをまずgit

    ISUCON7 勝てなかった - すぎゃーんメモ
    luccafort
    luccafort 2017/11/27
    レベルが高い…ところで最終発表の画像が「スギャブロエックス」ではなく「ギャブロエックス」になってるのがジワジワくる。年内に一人反省会しないとという機運が高まる。お疲れ様でした。
  • 『ZERO BUGS』を読んだ - r7kamura - Medium

    Amazonでケイト・トンプソン, 酒匂 寛, 小田 朋宏の{ProductTitle}。アマゾンならポイント還元が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽… 全体が78個の物語によって構成されており、それぞれの物語において教訓が紹介される。ZERO BUGS というタイトルの通り、どの物語もソフトウェアの不具合をテーマにしている。文章の内容は平易で、プログラマ初心者にもわかりやすく、しかしながら示唆に富んでおり、経験が浅いプログラマであれば「なるほど」、経験が深いプログラマであれば「あるある」とどちらも頷きながら読み進めていけるはず。 それぞれの物語は2ページ程度でとても短く、何かの合間にも少しずつ読み進めていける。出来る限りコンパクトに話を収めようという気持ちで書かれていることが文面から伝わり、とても好感が

    『ZERO BUGS』を読んだ - r7kamura - Medium
    luccafort
    luccafort 2017/09/24
    書店でパラパラ捲ったところベカラズ集的というか実践的でないと思って買わなかったが"最善のコードが書けないからといって、それが酷いコードを書く理由にはならない"みて考えが少し変わった。
  • たのしくなるコードレビュー - クックパッド開発者ブログ

    こんにちは!サービス開発部でAndroidアプリの開発をしているこまたつ(@k0matatsu)です。 みなさんコードレビューしていますか? 最近ではとりいれているチームも多いと思いますが、良い効果をもたらしてくれる一方で、負荷の高い作業でもあります。 また、コードレビュー自体に馴染みの薄かった人はなにをどうしたらいいのか難しいですよね。 同僚から得たアドバイスと自分なりのノウハウをあわせて、コードレビューの指針を考えていたので公開してみようと思います。 前提として、クックパッドではGitHub Enterpriseとプルリクエストを使った開発プロセスを採用しています。 また、コードレビューの前には自動テストと静的解析ツールによる単純なフォーマット、コードスタイル、頻出バグのチェックは行われているものとします。 静的解析による機械的なチェックはコードレビューよりも低コストで有効な方法ですの

    たのしくなるコードレビュー - クックパッド開発者ブログ
    luccafort
    luccafort 2017/09/22
    "コードレビューの前には自動テストと静的解析ツールによる単純なフォーマット、コードスタイル、頻出バグのチェックは行われているもの"これが行われている前提だよね。
  • プログラマをクソコードで殴り続けると死ぬ - megamouthの葬列

    ここにクソコードがある。 誰が作ったかはわからぬ。それが、どのような経緯でクソコードとなったのか、 あるいは、最初からクソコードであったのか、それらは全てクソコード自身が知るのみである。 ファーストコンタクト ある日、営業からシステム案件を打診されたので見積もりして欲しい。というメールが来る。 とある企業の既存システムに機能を追加する簡単な案件ですが、なななんとソースや仕様書をご支給いただけます! と、それはサンタにプレゼントが貰えると信じて疑わぬ子供のような真っ直ぐなメールである。 ソースコードが入った圧縮ファイルを受け取ったプログラマは、早速、コードを読んでみる。 そのシステムが当にいいコードで書かれているかを判断するには時間がかかるが、 クソコードであるかはおおよそ30分でわかる。 インデントがタブとスペースどちらかに統一されていないとか、フレームワークの誤用があるとか、またはフレ

    プログラマをクソコードで殴り続けると死ぬ - megamouthの葬列
    luccafort
    luccafort 2017/08/01
    クソコードが悪なのではなくてその周りが悪だといういいお話し。「短期だしお金もそんなにもらってないから」とクソコードを放置するやつがいるがそのプロダクトは死なずに動き続けるんだぞ?わかってんのか?
  • コードレビューのクオリティとスピード,とくにスピードについて,それとコミュニケーションについて - hitode909の日記

    ソフトウェアを作るときにクオリティとスピードのバランスをとりたくて,どちらかに偏ってはいけなく,どちらもキープしないといけない.すごく雑に*1とらえると, クオリティ→正しく動き,不具合がないほうがよい スピード→(計算時間ではなく)早く作れるほうがよい ということになる. コードレビューでは,不具合を見つけて直してもらったり,動きはしてもコードの可読性に問題があって直してもらったりと,クオリティに目を向けられがちだと思う. ところで,コードレビューとスピードの関わりについて考えてみる.スピードのためにできることはいくつかあり, 早く読み始める→他のことやってても手を止めて読み始めたり,1日のうち決まった時間にレビュータイムを設けたり 速く読む→これはコツとかある*2けど精読しないといけないので難しい 不具合を見逃さない→リリース後とか,リリース直前に正しく動かないことが分かったら大きな手

    コードレビューのクオリティとスピード,とくにスピードについて,それとコミュニケーションについて - hitode909の日記
    luccafort
    luccafort 2017/06/02
    "小さいpull requestを少しずつ送ると,一度で収束するサイクルを導入しやすくなる"これぼくも同意なんだけど抵抗のある人はこの時間を取るのを嫌がっていてそういう人に対してどうするか?で悩む。
  • ベイエリアで働くエンジニアがやりやすいと感じる会社の特徴5つ - Qiita

    私は昨年7月からサンフランシスコにあるAsanaという会社でエンジニアをしています。アメリカの大学でComputer Scienceを専攻し、昨年卒業しました。 エンジニアを指導する立場の人こそ読んでほしい、新卒エンジニアが1年間で上司に感じた5つのことの著者と私は新卒エンジニアで1年経ったところという境遇が似ている一方で、私は上述の記事に書かれているような不満を一度たりとも感じたことがありません。 この記事では、H_Craneさんの5つの上司に対する不満点と対比して、私がこの1年間で感じたAsanaの良い点を5つ列挙することで、どういった環境下だと新卒エンジニアはやりやすいと感じるのかの一例をご紹介します。 1、「当にそれググった?」って聞き返さないで欲しい 1、部下がイラッとしない指導の仕方を上司が心得ている 私の憶測ですが、「当にそれググった?」と聞かれてイラッとしてしまう原因は

    ベイエリアで働くエンジニアがやりやすいと感じる会社の特徴5つ - Qiita
    luccafort
    luccafort 2017/05/17
    所変われば品変わるの典型だなー。問題の本質を一緒に探るのは部下と上司ではなくチームメイトでポジションが上司だという認識なのかな。
  • デバッグ用のコードが残っているとGitでコミットできないようにする - Masteries

    PerlWebサービスやライブラリを開発している際, 「今, この変数の中には何が入っているんだろう?」となった時にはよくData::Printerを使っています. Data::Printerは非常に便利なのですが, 先日誤って勢い良くData::Printerを使って変数をダンプするコードを混入したままにcommit/pushをしてしまって, いろいろと大変なことになったので, これを防げるようにしようという気持ちになりました. Data::Printerを使う時は, 大抵Vimのスニペットで「DDP」をuseして使うようにしています. なので, Gitでcommitする際に, Perlのコードの中に「DDP」という文字列が含まれていれば, commitに失敗するようにすれば良さそうです. 「commit時に処理を走らせる」, となればGitのpre-commitのhookを使ってやれ

    デバッグ用のコードが残っているとGitでコミットできないようにする - Masteries
    luccafort
    luccafort 2017/04/03
    Perl以外にも使えるって点が良さ気。