📓

PointFreeのサブスクに登録してみた話

2023/12/18に公開

はじめに

この記事は、フラー株式会社 Advent Calendar 2023の18日目の記事です。
初めに書いておくとこの記事はポエムです。

先日、pointfree.co のサブスクに登録してみたので、その話を共有します。

PointFreeについて

PointFreeとはBrandon WilliamsStephen Celisの2人が立ち上げた会社であり、pointfree.coでは、主にSwiftに関する技術トピックの解説動画を視聴することができます。

いくつかの動画は誰でも視聴できますが、全ての動画を視聴したい場合は有料会員になる必要があります。
価格は2023年12月18日時点で年額168ドル、月額18ドルなので、円安状態の今日においては、決して安いとは言えない金額ですね。

登録のきっかけ

弊社は半年ごとに評価があり、半期の最初に目標を立て、半期の終わりにその目標を達成したかどうか報告する仕組みがあります。
今期に私が立てた目標の1つに、「iOS開発の新しいフレームワーク(TCAやSVVSなど)について学び、実際にフレームワークを触ってみて、知見を社内のiOS開発メンバーに共有する」がありました。

TCAやSVVSを実際に使ってみて、技術的に躓いた部分があり、それがSwift Concurrencyでした。

弊社のプロジェクトで採用されている技術スタックはUIKit x RxSwiftが主流であり、私自身これまでSwift Concurrencyを使ったことが無く、社内の知見もほぼ無い状態でした。フレームワークの思想や使い方も学ぶ必要がありますが、Swift Concurrencyについても同様に学ぶ必要性があると感じました。

そこで「Swift Concurrencyについての知見を社内で共有したらいいのでは?」に至りました💡
しかしながら、知見を共有するにはまず自分がSwift Concurrencyを理解する必要があります(それはそう)
そういうわけで、Swift ConcurrencyやTCAの理解の一助になるかと思って「PointFreeに登録して動画を見てみるか」という点に至ったわけです。

PointFreeのいいところ

PointFreeのサイトでは、Swift ConcurrencyやTCAだけでなく、SwiftUIやMacrosといった様々な技術トピックに関する記事・動画が出ており、iOS開発に関する様々な技術トピックについて体系的に学べるのがいい点だと思います。
また、説明も比較的分かりやすく感じます(技術トピックそのものが難しく分かりづらいという点はあったりしますが…)

また、動画では実際のコーディングも交えた解説をしているので、記事のみを読むよりも、より理解が捗ります。

PointFreeのよくないところ

英語

動画は基本的に英語であり、記事もまた英語で書かれており、そのまま読むことができなかった私は一度和訳を通す必要がありました。
最初はブラウザのGoogle翻訳を通して記事を読んでいましたが、"Actor"を「俳優」と訳してしまったり、翻訳がこちらの期待する通りにならなかったため、最終的にはDeepLを使用して翻訳しました。

和訳をどのように管理しているかというと、個人用Notionに置き場所を作り、2カラムにして、原文の隣に和訳を置いて、いつでも原文と比較できるようにしています。

この作業を通して気付いたことは、「DeepLは勝手に訳を省略してしまうことがある」ということです。
例えば、以下のような文章を訳したいとします。

この例だと、and then ~ 以降の文章はなんと訳されていません。このように and then ~ や、and ~ and ~ のような文章でDeepLのサボりが頻発する印象があるので、注意が必要です。

最終的には英語をそのまま読めるようになればいいんですけどね…!道のりは長い…

(ちなみに、記事の和訳の流れでDeepL PROにも登録してしまいました。)

サブスクの罠

これは自分がおっちょこちょいだっただけかもしれませんが、月額課金で登録したつもりがなぜか年額課金になっていました(なぜ?)
すぐに月額に変更したのですが、月額にしたからといって年額課金で払った分が戻ってくるわけではなく、いわゆるクレジット的な扱いなので、既に払った年額課金額から月額分が1ヶ月ごとに引かれるシステムのようでした。
年額課金分が戻ってくるかと思っていたので少し悲しかったです。

気付き

インプットだけでなくアウトプットも大事

解説動画を見たり、本を読んだりして学ぶ行為は「インプット」にあたりますが、正直、インプットだけでは「じゃあ実際に開発する時にどう書くの?どうやって使うの?」に陥りました。あまりピンと来てない状態ですね。

幸運にも、Swift Concurrencyについて学んだ直後に、実務で使えそうな場面が出てきたので、実際に使ってみた際に「なるほど、こうやって使うのか」と、さらに理解を深めることができました。また、既に採用されている他の技術(RxSwiftなど)との兼ね合いを考える必要があったりもしたりと、実務ならではの課題も感じました。

インプットも大事だけど、アウトプットすれば更に理解が深まり、技術が身に付きやすくなるので、アウトプットも大事ですね!と、最近アウトプットをサボっていたので、自戒を込めてここに書いておきます。

おわりに

以前と比べると、自由時間を勉強に充てる時間が増えたことから、iOS開発の技術への興味・関心が増してきているのを感じています。
この調子で今後もアウトプット含めてがんばるぞい!٩( 'ω' )و

Discussion