ペンギン村 Tech Blog

技術をこよなく愛するエンジニア集団が在住するペンギン村から、世界へ役立つ(かもしれない)技術情報を発信する技術系ブログです。某アラレちゃんが済む村とは一切関係ありません。んちゃ!

がんばるぞい bot の構成管理ツールとして Pulumi を導入した話

Tl;Dr まえがき Pulumi 3.0 のリリース Pulumi って? TypeScript による記述 設定値の管理 デプロイ時の差分確認 マルチステージなデプロイ おわりに P.S. Tl;Dr GCP の構成管理ツール(Infrastructure as Code)として Pulumi を導入してみた。 TypeScript…

Mac での Crystal 1.0.0 の開発環境の構築(VSCode)

Crystal 本体 VSCode 拡張:Crystal Language 静的解析ツール:ameba VSCode 拡張:Auto Add Brackets in String Interpolation VSCode 拡張:Auto Comment Blocks 標準で入ってるツール フォーマッター:crystal tool format テスト:crystal spec ドキュメ…

Crystal 1.0.0(とRuby)で、がんばるぞい bot を復活させた話。

Tl;Dr それは何? 構成は? がんばるぞい bot の歴史 (興味がない方は読み飛ばしてください) ペンギン村 Slack では昔から がんばるぞい bot が稼働していました。 それは Slack bot と呼ぶには単純すぎるもので、「がんばるぞい!」や「がんばったぞい!…

6. レコード構文と多相型とカインドと :: Swift プログラマのための Haskell 入門

さて、前回は Haskell のリストや再帰処理などを見てきました。 今回はこれまで見てきたデータ型について軽く復習した上で、より詳細について見ていきます。 直積と直和 直積データ 直和データ 直積と直和の組み合わせ レコード構文 type / newtype データ型…

5. リストと再帰 :: Swift プログラマのための Haskell 入門

さて、前回は Swift の配列における典型的な操作(filter / map / reduce)について、Haskell の場合にどのように書けるのか見てきました。 今回は、リストの正体と再帰について見ていきます。 前回の訂正 リストの実体 リストを定義する Haskell のリストの…

4. リストと演算子と関数合成 :: Swift プログラマのための Haskell 入門

さて、前回は Haskell におけるデータ型の宣言やパターンマッチについて見てきました。 今回は Swift でよくある配列操作について、Haskell の場合にどのような書き方になるのか見ていきます。 リスト 関数と演算子 関数を演算子として使用する セクション記…

3. データ型の基本 :: Swift プログラマのための Haskell 入門

さて、前回は関数の書き方やカリー化・部分適用などについて見てきました。 今回はデータ型の基本について見ていきたいと思います。 データ型の定義 直積型の定義 直和型の定義 関連値を持つ直和型 値の生成 値の生成 再帰的? パターンマッチ case-of スマ…