2018年3月14日のブックマーク (4件)

  • Golangの defer をRubyでも使いたい - たごもりすメモ

    前にRubyでtry-with-resourcesが使いたいという話を書いてそのときにリリースしたgemもあるが、人類の安全に・便利にリソースを解放したいという欲求には際限がない。 try-with-resources は便利なんだけど欠点がないわけではなくて、リソースの確保と解放を一ヶ所でまとめてやらないとネストが深くなる。複数箇所に分けて書くならネストも2段になってしまう。 これはこれで整理されたコードを書く圧力になるので悪くない面もあるんだけど、とはいえもうちょっと自由にやりたい、いい方法は無いもんか、という話。 defer ある。Golangの defer が便利そう。defer foobar って書いとくと、そのスコープを外れるときに自動的に foobar の内容が実行される。あるスコープのどこに何度書いてもいい。これは便利。 # GolangのdeferのままRubyにもってき

    Golangの defer をRubyでも使いたい - たごもりすメモ
    cocoasynn
    cocoasynn 2018/03/14
  • xv6 - DRAFT as of September 3, 2014

    xv6 a simple, Unix-like teaching operating system Russ Cox Frans Kaashoek Robert Morris xv6-book@pdos.csail.mit.edu Draft as of September 3, 2014 Contents 0 Operating system interfaces 7 1 Operating system organization 17 2 Page tables 29 3 Traps, interrupts, and drivers 37 4 Locking 49 5 Scheduling 57 6 File system 71 7 Summary 87 A PC hardware 89 B The boot loader 93 Index 99 DRAFT as of Septemb

    cocoasynn
    cocoasynn 2018/03/14
  • GitHub Issuesでブログを作る - Qiita

    GitHubのIssueをNuxtとNetlifyでブログ化するというのをやってみたので解説します。 デモサイト: https://gh-blog.netlify.com/ Issues: https://github.com/miyaoka/gh-blog/issues Headless CMS はじめにHeadless CMSについて解説しておきます。旧来のAPI無しのWordPressのような一体型CMSではなく、コンテンツ管理部分を切り離してAPIでやりとりできるようにするのがHeadlessなCMSです。これによりフロントの実装やデプロイが疎結合になり、好きにできるようになります。 例としてCMSにContentful、デプロイにNetlifyを使う構成だとこんな感じになります。 参考) 次世代Headless CMS「contentful」事始め - Qiita Nuxt.js

    GitHub Issuesでブログを作る - Qiita
    cocoasynn
    cocoasynn 2018/03/14
  • フロントエンドの負債と向き合う - mizchi's blog

    某所で書いたものを公開用に書き直したもの 前提 フロントエンドでTDDは難しい、というかほぼ不可能である。なぜなら事前に副作用をデータとして表現できるか不明だからだ。たとえばあなたのプロダクトの画面の何処かにボタンを追加するために、その内部表現を事前に思い浮かべることが可能だろうか? react-redux などのFluxフレームワークは如何に副作用をアクションとして表現することで、テスト・デバッグのための情報を残すか、という視点で発展してきた側面がある。あの冗長なアクション定義は、全てデバッグのために書いていると言っても、過言ではない。それすら「Textは文字がある」といったトートロジーなデータになりがち。 フロントエンドの現実的な単体テストは、他の開発者のために、自分が書いたコードの要求を満たしているか検知する手段として、防衛的にテストアフターしておく。これぐらいしか現実的な手法がない

    フロントエンドの負債と向き合う - mizchi's blog
    cocoasynn
    cocoasynn 2018/03/14