タグ

2021年12月14日のブックマーク (6件)

  • OCaml でゲームボーイエミュレータを書いた話 - Qiita

    はじめに ブラウザ上で動くゲームボーイエミュレータを OCaml で書きました。以下のページで試せます。 デモページ いくつかの homebrew ROM も一緒になっているのでいろいろ遊んでみてください。おすすめは「Bouncing ball」と「Tobu Tobu Girl」です。最近のスマホならだいたい安定して 60 FPS 出るはずなので、スマホでも遊べます。 レポジトリはこちらです。 スクリーンショット なぜ OCaml でゲームボーイエミュレータ?新しいプログラミング言語を学ぶ過程で以下のように思ったことはないでしょうか? 簡単なプログラムなら書けるが、中規模以上のコード1をどうやって書けばよいのか分からない 発展的な言語機能2も勉強しなんとなく理解した気になったが、実践のなかでどのように活用すればいいのかが分からない OCaml を格的に勉強し始めてた数ヶ月前の筆者はまさに

    OCaml でゲームボーイエミュレータを書いた話 - Qiita
    igrep
    igrep 2021/12/14
    いい動機付け
  • 型推論のTips集 - Qiita

    始めに 自分が今までTypeScriptで型推論させるにあたって、中々いい方法が見つからず、他にいいやり方がないか模索して時間がかかってしまうケースがいくつかありました。 そこで今回は割と使うケースで解決するのに苦労したものについて、Tipsという形でまとめてみました。自分はこのやり方でやっていますが、他にいいやり方があれば是非コメントください! 基編と上級編に分けており、上級編の方が割と込み入ったことをやっているものになります。 基編 Object.keysに型をつける Object.keysの返り値の型はstringで固定されているため、以下のように書くとtype errorになってしまいます。 const obj = { a: 10, b: 'text', c: true, }; Object.keys(obj).forEach((key) => { // key: string

    型推論のTips集 - Qiita
  • エラーハンドリングをミスって大事故に - Qiita

    はじめに アドベントカレンダー初参加です! とある企業でサーバーサイドエンジニアとして働いており、主にGoAPIを実装しています。 今年に入って新規事業の開発を任され、色々やらかしを経験させていただきました。 その中でも一番のやらかしを自戒の念も込めて投稿したいと思います。 特定を避けるために敢えて分かりづらく表現している箇所があります。その点ご了承くださいmm 惨劇発覚前夜 とある会員制サイトのリリースを控えており、それに備えて色々準備を整えてました。 リリース当日はそれなりにアクセス急増が見込まれるので ALBの暖気申請 フロントエンドサーバーのスケールアウト 等の対応を行いました。 今までも似たようなサイトをいくつかリリースしており、上記の対応でアクセスは捌けていたので今回も同様の対応で問題ないと思ってました。 リリース当日PM20:00 にサイトのURLを公開。 今までをはるかに

    エラーハンドリングをミスって大事故に - Qiita
    igrep
    igrep 2021/12/14
    静的解析でなんとかならんの、と思いきや試した限りはならんらしい。うーむ。
  • Clojureで実装されている静的コード解析ツールCodeSceneでClojureプロジェクトを分析する - Qiita

    今回は、私が業務をしている中で出会った、Clojureを用いて実装されている静的コード解析サービス、CodeSceneについてご紹介します。業務でClojureを採用する際の説得材料の一つになれば幸いです。また、Clojure以外の言語も多数サポートしているので、その他の言語のプロジェクト管理にもオススメです。コミュニティエディションはオープンソースプロジェクトには無料で利用できます。 CodeSceneはスウェーデンの企業で、ソースコードを静的解析して、コード品質や開発チームの効率、メンバーが辞めたときのリスクなどを評価するサービスを提供しています。社名はCrime Scene(事件現場)をもじったもので、Forensics(犯罪科学、鑑識)をソフトウェアに適用していることから来ているものと思われます。 GitHubやBitBucketで管理されているリポジトリをスキャンし、28のプログ

    Clojureで実装されている静的コード解析ツールCodeSceneでClojureプロジェクトを分析する - Qiita
  • Floating Windowの変態的な使い方 - ハイパーマッスルエンジニア

    これはVim Advent Calendar 2021の14日目の記事です。 NeovimにFloating Windowが実装されて以来、様々なプラグインが開発、リプレイスされてきました。 有名所でいうとgit-messenger.vimでしょうか。Floating Windowの良い使い方だなあと感動した覚えがあります。 今日は僕が今まで開発してきたプラグインの中で、Floating Windowを変態的に使ったものを紹介したいと思います。 はじめに 矩形選択&ペーストを可視化して直感化 テトリスペースト ボタンを作って発射する 行飛ばしで選択してコピー Vimでビートマニア(@skanehiraさん作) 最後に はじめに 記事内に折りたたまれているコードはダブルクリックでコピーが可能で、 test.vimとして保存 ->:source % -> Shift+T で実行できるようになっ

    Floating Windowの変態的な使い方 - ハイパーマッスルエンジニア
    igrep
    igrep 2021/12/14
    面白いなぁ
  • Vimを使い始めた理由とカスタマイズの大筋について - Qiita

    始めに この記事は、Atomを使ってきた自分がVimに切り替えて、Vim沼へ落ちた話です。 前回の投稿から何ヵ月も経過し、今までいったいなにをやってきたのか、そんな備忘録です。 なお今回の記事では大筋のみを語り、Vimにしてきた設定などは、別に記事を書く予定です。 もともとVimmerというものにあこがれていた zsh環境構築やdotfilesの構築について、いくつか記事を読んでいると、Vimの設定を整えてdotfilesをインストールしただけで使えるスマートさにあこがれました。 そして調べ物をするときに、マウスを使ってだらだらと「あーでもない、こーでもない」という操作は理解できます。 しかし、コーディングをしているときに、マウスを使うのはスマートじゃないと思っていました。 使い始めたのはAtomでしたが、バージョンアップで重くなってくるし、先に説明したとおりマウスを使うのでスマートではな

    Vimを使い始めた理由とカスタマイズの大筋について - Qiita
    igrep
    igrep 2021/12/14
    coc.nvimってvimでも動くのでは