DEV Community

e_ntyo
e_ntyo

Posted on

 

コモナドスケッチ ~ 2. 大改造!!劇的ビフォーアフター ~

コモナドスケッチ ~ 2. 大改造!!劇的ビフォーアフター ~

e_ntyoです。前回の投稿からだいぶ時間が空いてしまいましたが皆様いかがお過ごしでしょうか。私は先日誕生日を迎え、Twitterのフォロワーからよくわからないものをたくさん頂きました

さて、この連載はAngularで書かれたSPAをPureScriptで書き換えるというものです。前回はスクラッチでアプリケーションの骨組みをつくり、それを例にとってpurescript-halogenについて(かなりざっくりとですが)解説しました。

次回(今回)以降は非同期処理やTyped CSSについて書く予定でしたが…

連載終了のおしらせ

はい。終わります。

理由は2つありまして、1つは今回の記事を書くタイミングが見つからず、先日ついに 書き換えが完了してしまった ためです。こちらにデプロイ済みです。

じゃあ前回の投稿からこれに至るまでを記事にしてよ、という話なんですが、残念ながら私はPureScript初学者でコード(特にAPIリクエスト周り)がだいぶ汚いのです…Justin氏からアドバイスこそもらったものの、まだ反映できていません。この辺りは別途記事にできればいいなと思っています。

余談ですが、WatchingUのCI環境では前々から気になっていたNix Package Managerを使ってみました。Nixを使ってPureScriptアプリケーションのビルド環境を構築する方法については、Justin氏のこちらの記事が詳しいです。psc-package2nixを使えばめちゃめちゃ簡単にミニマムなPureScriptのビルド環境が手に入ってうれしいです。

もう1つは、Halogenのrealworld exampleが産まれようとしているためです。こちらはpurescript-halogen-formlessの作者で、実務でもHalogenをゴリゴリ使っているというプログラマのthomashoneyman氏によるもので、本体はまだWIPですがガイド(こういう指針でアプリケーションを設計していこうみたいなやつ)の大部分をこちらで読むことが出来ます(少し前までソースコードと同じリポジトリにあったのですが切り離されたようです)。私の記事なんかを読むよりこっちを読んだほうが絶対に良いです。間違いないです。

ガイドには主にアプリケーションモナドを定義して変なことが起こらないようにしようだとか、純粋な関数(単にログイン中のユーザ名を受け取ってheaderやfooterなどのHTML p iなビューを返すやつら)とEffectを含むようなコンポーネント(APIリクエストをしたりlocalStorageにデータを保存したりするやつら)を分離しましょうなどのことが書いてあります。最後の項目だけまだWIPですが、本体が完成する頃には読めるようになるかと思われます。

そういうわけなので、どうせみんな読んでないし…もうゴールしてもいいかな…

まだWatchingUでやり残したことはたくさんあるんですが、どうせなら先述のrealworld exampleを読んでから取り掛かりたいというのと、他に作りたいものができたのでそっちを優先しようという気持ちがあります。次はThree.jsのバインディングを使っておもちゃを作ります。できたら記事にしますね。ではまた。

Top comments (0)

An Animated Guide to Node.js Event Loop

Node.js doesn’t stop from running other operations because of Libuv, a C++ library responsible for the event loop and asynchronously handling tasks such as network requests, DNS resolution, file system operations, data encryption, etc.

What happens under the hood when Node.js works on tasks such as database queries? We will explore it by following this piece of code step by step.