タグ

2022年4月18日のブックマーク (9件)

  • A Tour of Go

    A Tour of Go

  • バックエンドエンジニアが Next.js でモダンなフロントエンド開発を始めるにあたり学習したこと

    2021年秋ごろ、副業のような形で Next.js による新規フロントエンド開発のお手伝いをさせていただくことになりました。プライベートの空き時間でフロントエンドの学習をし、今はひとまず開発できるようになってきた気がするので、これまで学んできたことをご紹介します。 基TypeScript, React, Next.js だけでなく、GraphQL の周辺ツールやテストについても学習しました。 これまで 当時、Web 系の受託開発会社にて主に Ruby on Rails でバックエンドの開発をしていました。TypeScript, React は学生の頃から趣味で書いていました。 テストは、Rails での開発なら RSpec や Capybara で書いていましたが、JS ではほぼやったことがありませんでした。GraphQL は全くの未経験でした。 やったこと React チュートリア

    バックエンドエンジニアが Next.js でモダンなフロントエンド開発を始めるにあたり学習したこと
  • 5 分ではわからない HM 型推論 - 型システム祭りオンライン 2020 4/17

    型システムについての議論は ML 言語系の表現と数学的な定式化の表現が基的に必要になってきます。しかし、その見た目はものものしくてちょっと腰が引けてしまいます。そこで、ごく簡単に ML / HM 型システムについて概略的に入門してみようと思います。

    5 分ではわからない HM 型推論 - 型システム祭りオンライン 2020 4/17
  • Hindley-Milner型推論をCで実装した話 - free(malloc(sizeof(MRM)));

    SecHack365 2019 Advent Calendar 14日目の記事です(大遅刻). what is this きっかけ 実装したもの 型と型推論について 型? 型付け規則はこわくない 型環境 型付け規則を読む 整数 変数 ラムダ抽象 関数適用 let式 let rec式 型推論? Hindley-Milner Type System Hindley-Milner型推論 型の連立方程式 多相性 実装 感想 参照したリンクとか what is this 型理論とか全く知らない人がHindley-Milner型推論器(+ REPL)をCで実装したお話. 記事に誤謬などを発見したらコメントとかDM,リプライください(@cmpl_error). きっかけ 今年の4月からHindley-Milner型推論という型推論アルゴリズムがあるのはなんとなく知っていて,実装してみたいなーという気持ち

    Hindley-Milner型推論をCで実装した話 - free(malloc(sizeof(MRM)));
  • 自作Cコンパイラで(x64 ABIと戦って)セルフホストに成功した話 - Qiita

    1.はじめに これは Mobility Technologies Advent Calendar 2020 の 15日目の記事です。 Mobility Technologies (MoT) は今年の4月に旧JapanTaxi社と旧DeNA Automotive が事業統合してできた会社です。GOという配車アプリを提供しています。タクシー起点の交通リアルテック×AI大活用でサービス開発していますので、よろしければぜひMoT技術ブログを御覧ください! 明日は @tstomoki の 「リモートワーク自転車に乗り始めてインスタグラマーになった話」 です。 これは何 この記事は、C言語のコンパイラ開発の概要と、その中でもそれなりに手ごわかった x64 の ABI (呼び出し規約: Application Binary Interface) について一部を説明したものです。 少々ポエムも含まれてお

    自作Cコンパイラで(x64 ABIと戦って)セルフホストに成功した話 - Qiita
  • 人でもわかる型推論 - Qiita

    追記: この記事を書いてから早2年弱。今は数式のほうがわかりやすいなあと思うようになりました。 これは何? この記事は、最近 Hindley Milner (Algorithm W) 型推論を理解したばかりの私が、型推論のことをなるべくわかりやすく解説するものです。 簡略化したOCamlのようなコードが登場します。 わかりやすさ重視で書いていくつもりなので、専門用語(自由変数とか)はあまり出てきません。 間違いなどあったらコメントしていただけると幸いです。 まずは単相から ここからは図を使って説明していきます。(ビジュアルなほうがわかりやすいハズ) とても簡単な例 以下にとても簡単なコードを示します。 見ればわかりますが、xの型はintですね。 ですが、どのようにしてintだとわかったのでしょうか。 すでにわかっていることを書き出しだしてみました。リテラルの右肩を見てください。 1の型は当

    人でもわかる型推論 - Qiita
  • JEP 286 を調べていたはずなのにいつのまにか Kotlin で Hindley-Milner 型推論を実装していた - Qiita

    この記事は、エムスリーアドベントカレンダー2017 の 17日目の記事です。 @nishiba のガチ記事のあとで気が引けますが、最近は生後半年の娘がかわいすぎて脳が溶け、記憶力も理解力もかなり低下しているのでご容赦ください。 はじめに さて、エムスリーでは、今、世間にも増して Kotlin が熱いです。参加メンバーも熱いです。アプリもフロントもサーバサイドもやれるポテンシャル、確かにありますね、そう、Kotlinなら。 とはいえ、まだまだ Java ベースのシステムも多いのは事実で、Javaのコーディングストレスを軽減する別案としての Alt-Java のニーズは、もう10年以上、Groovy, Scala, Kotlin と数年ごとに対象を変えながら盛り上がりを見せてきました。 Alt-Java に行かず Java の世界でも、Lombok や Play1 の黒魔術が Java の未来

    JEP 286 を調べていたはずなのにいつのまにか Kotlin で Hindley-Milner 型推論を実装していた - Qiita
  • Rustに影響を与えた言語たち - Qiita

    各カラムの意味は次のとおりです。言語の特徴は主にWikipediaを参考にしていますが、正確な分類は困難なため多少の独断と偏見が含まれていることをご了承ください。 登場年代 プログラミング言語が登場した年代です。前後3年の誤差は見逃してください FP(関数型プログラミング) 言語がFPを強くサポートしているかを示しています 程々にサポートしている場合は△を示しています OOP(オブジェクト指向プログラミング) 言語がOOPを強くサポートしているかを示しています 並行計算 アクターや CSP/π計算モデルの特徴を言語が強くサポートしているかを示しています 外部ライブラリを使えばできるよ!みたいなものは除外します 静的型付け 言語の最も主要な処理系が静的型付けをサポートしているかを示しています パラメータ多相 言語がパラメータ多相をサポートしているかを示しています ジェネリクス(Java)、テ

    Rustに影響を与えた言語たち - Qiita
  • Non-Lexical Lifetimes - Qiita

    Non-Lexical Lifetimesって? Rust 2018 Edition の最初のリリース、Rust 1.31.0でstabilizeされた新しいリージョン推論システムの名前。 または、Rustの借用システムにおけるノンレキシカル・ライフタイム (レキシカルスコープではなく制御フローグラフに基づくライフタイム)対応への拡張。 これにより、(主に式をまたいだライフタイムの)より柔軟なリージョン推論が可能になりました。 Announcing Rust 1.31 and Rust 2018を読むと、「エラーメッセージがわかりやすくなってデバッグが簡単になりました」と書いてありますが、実際はできること自体が増えています。 今回ちょっと時間が無かったため、RFCで例に上がっているコードをコンパイルしてみて確認してみました程度になってしまいました。 追記:コメントで将来的にRust 201

    Non-Lexical Lifetimes - Qiita