ペンギン村 Tech Blog

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

【SwiftPrettyPrint】クイックスタート・ガイド

SwiftPrettyPrint のクイックスタート・ガイド+応用テクニックを紹介する記事です。 それは何? Swift 標準の print や dump よりもきれいに出力するデバッグ支援ライブラリです。 github.com 以下に比較を載せます。 標準: print 標準: dump SwiftPrettyPr…

セッション画像で振り返る、去年の WWDC 21。

どうも、トビ(@tobi462)です。 今年もついに WWDC の季節がやってきてしまいましたね! そんなわけで去年の WWDC 21 を振り返ってみましょう!(え? Effective WWDC はじめに 全体的に Xcode Cloud Swift Concurrency Meet async/await in Swift Use asyn…

がんばるぞい 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 のリストの…