SwiftPrettyPrint のクイックスタート・ガイド+応用テクニックを紹介する記事です。 それは何? Swift 標準の print や dump よりもきれいに出力するデバッグ支援ライブラリです。 github.com 以下に比較を載せます。 標準: print 標準: dump SwiftPrettyPr…
どうも、トビ(@tobi462)です。 今年もついに WWDC の季節がやってきてしまいましたね! そんなわけで去年の WWDC 21 を振り返ってみましょう!(え? Effective WWDC はじめに 全体的に Xcode Cloud Swift Concurrency Meet async/await in Swift Use asyn…
Tl;Dr まえがき Pulumi 3.0 のリリース Pulumi って? TypeScript による記述 設定値の管理 デプロイ時の差分確認 マルチステージなデプロイ おわりに P.S. Tl;Dr GCP の構成管理ツール(Infrastructure as Code)として Pulumi を導入してみた。 TypeScript…
Crystal 本体 VSCode 拡張:Crystal Language 静的解析ツール:ameba VSCode 拡張:Auto Add Brackets in String Interpolation VSCode 拡張:Auto Comment Blocks 標準で入ってるツール フォーマッター:crystal tool format テスト:crystal spec ドキュメ…
Tl;Dr それは何? 構成は? がんばるぞい bot の歴史 (興味がない方は読み飛ばしてください) ペンギン村 Slack では昔から がんばるぞい bot が稼働していました。 それは Slack bot と呼ぶには単純すぎるもので、「がんばるぞい!」や「がんばったぞい!…
さて、前回は Haskell のリストや再帰処理などを見てきました。 今回はこれまで見てきたデータ型について軽く復習した上で、より詳細について見ていきます。 直積と直和 直積データ 直和データ 直積と直和の組み合わせ レコード構文 type / newtype データ型…
さて、前回は Swift の配列における典型的な操作(filter / map / reduce)について、Haskell の場合にどのように書けるのか見てきました。 今回は、リストの正体と再帰について見ていきます。 前回の訂正 リストの実体 リストを定義する Haskell のリストの…
さて、前回は Haskell におけるデータ型の宣言やパターンマッチについて見てきました。 今回は Swift でよくある配列操作について、Haskell の場合にどのような書き方になるのか見ていきます。 リスト 関数と演算子 関数を演算子として使用する セクション記…
さて、前回は関数の書き方やカリー化・部分適用などについて見てきました。 今回はデータ型の基本について見ていきたいと思います。 データ型の定義 直積型の定義 直和型の定義 関連値を持つ直和型 値の生成 値の生成 再帰的? パターンマッチ case-of スマ…
さて、前回で Haskell の開発環境を構築できたので本編に入っていきたいと思います。 プログラミング言語の入門記事としては、基本データ型などから入るのがセオリーですが、そうした話題は大切ではあるものの同時に退屈でもあります。プログラマとしてある…
さて、この記事では VSCode と stack を利用した Haskell の開発環境の構築を行っていきます。この環境構築を飛ばしても、次回以降の記事を読むのに支障はありませんが、コードを実行・評価できる環境が整っていると学習が捗るのでおすすめです。 概要 Stack…
Haskell は Swift に影響を与えたプログラミング言語として知られています。Swift に影響を与えたとされるプログラミング言語は他にも Objective-C、Rust、Ruby、Python、C# など多数に及びますが、プログラミングパラダイムに最も影響を与えているのは Hask…
SwiftPrettyPrint の 1.2.0 をリリースしました。 github.com 今回のリリースには、ターミナル統合(ANSIカラー)とマイナーな Bugfix が含まれています。 そもそも SwiftPrettyPrint って何ぞや、という方は前回の記事をご参考いただければ幸いです。 blog.…
どうも、まだ生き延びてる @tobi462 です。 swift-emmet という CLI ツールをリリースしたので、それの紹介的な記事です。 github.com ちなみに Haskell で書かれています。 それは何? シンプルな記法で構造体やクラスのコードを生成する CLI ツールです。 …
どうも、あんま元気ではないですが、まぁ何とか生きてる @tobi462 です。 いや、こんな出だしで大丈夫か?って感じもしますが、大丈夫だ。問題ない。ということで久しぶりに技術記事を書いてみます。 Tl;Dr ローカル関数とは? 引数を継承する関数呼び出し …
先週、 SwiftPrettyPrint の 1.1.0 をリリースしました。このリリースには以下の2つのインテグレーションが含まれています。 LLDB Combine 本記事では、その2つの機能について解説したいと思います。 そもそも SwiftPrettyPrint って? LLDB 統合 Combine 統…
この○○が金やちやほやされるために技術ブログを書いていると思っているのかァーッ!! 技術ブログを書いていることをアフェリエイト目的とか、PV目的だとか言われた時に。 なるほど完璧な開発プロセスっスねーーーっ不可能だという点に目をつぶればよぉ〜 一…
どうも、休職中の @tobi462 です。 毎日仕事もせずに何をやっているかと言えば・・・そうですね、個人的推論に則った改善活動といったところでしょうか。 Bitrise の Xcode 11.3.x ビルドスタックの bundler が 1.x → 2.x に更新された 先週くらいに iOS 界…
どうも、最近は Dirty Androids の『Saturdays』ってアルバムがお気に入りの tobi462 です。 www.da-recording.com 広義には『HOUSE』あるいは『EDM』といった音楽ジャンルに当たるんでしょうか。個人的には『FUTURE BASS(フィーチャーベース)』っぽく感じ…
あ=阿良々木くん、羽=羽川(元)委員長 これは僕が『DDD』について学びながら、自分なりにアウトプットした話でありフィクションであり、まぁつまるところどうでもよい独り言だ。 どちらでも良いし、どちらでも悪いかもしれない。 唯一、正しいのはこれを書…
どうも、最近はRabi-Libiという弾幕アクションゲームをやっているtobi462です。 というわけで、PEAKSから『iOSテスト全書』の電子版が正式リリースされました。 peaks.cc おそらく製本版も今月中には発送されるかと思います。 (ところで一般販売はされるの…
どうも、WWDC19に行ったついでにサンフランシスコで食べたカニの味が忘れられない @tobi462 です。 さて、そんなわけで今年も iOSDC の CfP を快適に検索できるサービス「このすばCfP」をリリースしました! iosdc19-cfps.penginmura.tech アニメでいうなら2…
どうも、最近は ウマ娘 プリティーダービー というアニメにハマっている @tobi462 です。 ちなみにセイウンスカイちゃんが一番好きです。 さて、すでに結構時間が経ってしまいましたが、try! Swift 2019 TOKYO で登壇してきたのでその感想的なブログ記事です…
どうも、 try! Swift 2019 TOKYO で登壇したのにいまだにブログを書いてない @tobi462 です。 今回はすごく久しぶりに勉強会に参加してきたのでそのレポートです。 yj-meetup.connpass.com Bonfire iOS は今回で5回目の開催で、今回は テスト がテーマという…
どうも、今さらラブライブにハマっている @tobi462 です。 今回はペンギン村のロゴ・ステッカーが出来るまでの話です。 ロゴ原案を担当した私と、デザイナへの発注・ステッカー作成を担当した「かむい」氏の2名でお送りします。
以下の記事の続きです。 blog.penginmura.tech blog.penginmura.tech 最後となるこの記事では、ここまで紹介してこなかった細かい機能や、Go言語における並列処理を実現するゴルーチン・チャネルについて触れ、最後に Go 言語に対する総括的な感想を述べて終…
以下の記事の続きです。 blog.penginmura.tech 制御構文 Go言語の制御構文としては次のものがある。 if switch for ゴルーチン・チャネルにおいて利用できる select という制御構文もあるが、それは後ほど触れることにする。 if 文 基本的な書き方は Swift …
私は Rust に賭けていた。ポストC++言語としての地位をどのプログラミング言語が取るか、もっといえば Rust vs Go でどちらが勝つかという話においてだ。 私が初めてGo言語を知った時は、こんな非力なプログラミング言語のどこが良いのだろうという感想だっ…
どうも、年末年始に飲むワインはバッチリ買い揃えた @tobi462 です。 なんだか、ひょんなことからすごく久しぶりに Haskell を書いたのですが、そもそも doctest のインストール方法とかもすぐに分からなかったのでメモも兼ねて。 Tl;Dr -- | 文字がすべて異…
Tl;Dr たぶんこれが一番早いと思います。 $ less ~/Downloads/xxxx.log 補足 Bitrise のビルドログは Web 上では色分けしてきれいに表示されますが、 Bitrise でのログ表示 ダウンロードしたものをテキストエディタで開くと、以下のようにエスケープシーケン…