タグ

k0yoshitsuguのブックマーク (9,803)

  • Sentry for Development

  • GHCへの私の貢献2023 | 雑記帳

    この記事は Haskell Advent Calendar 2023 の6日目の記事です。 私はここ数年、HaskellコンパイラーであるGHCに貢献しています。この記事では、今年(2023年)に私が行った貢献を紹介します。 GHCの開発は独自ホストされたGitLab上で行われています。 Glasgow Haskell Compiler / GHC · GitLab 私の貢献 今年は貢献と言っても、バグ報告のみ(修正パッチは含まない)のケースが多いです。私はLunarMLが忙しいので……。 FMAについてコメント(2月ごろ) 2〜3月ごろに、FMA (fused multiply add) を計算するプリミティブをGHCに実装するマージリクエストが出ていました。 !9996: Add fused multiply-add operations · Merge requests · Glas

  • The Roc Programming Language

    Roc's goal is to be a fast, friendly, functional language. It's very much a work in progress; below, you can see the current progress towards this goal. This website is intentionally unstyled as a way to emphasize the language's current level of incompleteness. The website will become more polished after the language itself becomes more polished! Roc compiles to machine code or to WebAssembly. Eve

  • イマドキな Haskell で書かないもの: return, >>, forM_, mzero, mplus, `shiftL`, その他 - Qiita

    イマドキな Haskell で書かないもの: return, >>, forM_, mzero, mplus, `shiftL`, その他Haskell 0. まとめ liftA2 関数および liftA3 関数以外の持ち上げ関数は計算コストが高い可能性があるため、liftA2 関数および liftA3 関数や演算子 <$> および演算子 <*> を使用します: liftA liftM, liftM2, liftM3, liftM4, liftM5 ap Applicative クラスと Monad クラスで同じ機能が提供されている場合、Monad クラスでなく Applicative クラスを使用します: 基 return = pure (>>) = (*>) mzero = empty mplus = (<|>) ループ mapM_ = traverse_, forM_ = for_

    イマドキな Haskell で書かないもの: return, >>, forM_, mzero, mplus, `shiftL`, その他 - Qiita
  • 間接参照を巨大仮想メモリで飲み込む - Software Transactional Memo

    この記事はデータベース・システム系 Advent Calendar 2023の3日目の記事である。昨日の記事も僕でした。 間接参照を巨大仮想メモリで飲み込む メインメモリはハードディスクやSSDより容量が小さく、この問題は当面は解決の目処が立たない。 そもそも今のDRAMより速くて安くて大きいストレージが仮に発明されてもそれがDRAMに取って代わるメインメモリの立ち位置になるだけであってその下のレイヤーには依然としてそのメインメモリより安くて大きなストレージが置かれる事になる。大局的な観点ではストレージの階層構造とは経済活動の鏡像でもある。 バッファプール さて、耳にタコができるほど繰り返しているが現代のデータベースはディスクなどの永続ストレージにデータの尊が保存され、メインメモリはそれに対する読み書きを高速化するためのデータ一時置き場としての役割を担当している。 代表的なRDBMSは3

    間接参照を巨大仮想メモリで飲み込む - Software Transactional Memo
  • ヨドバシの中の人が語る、開発中のヨドバシAPIが目指す機能、仕組み、そしてセキュリティ(前編)

    ヨドバシカメラは現在、お客様との接点をドメインとして設計する新たなAPIを開発中であることを、クリエーションラインが主催し10月27日に開催されたイベント「Actionable Insights Day 2023」で明らかにしました。 REST APIとして実装される予定のこのAPIについて同社は「ヨドバシスタッフの魂を注入する」としており、厳重なセキュリティやユーザーフレンドリーで高い利便性などが追求されています。 ヨドバシAPIがどのように設計され、開発、実装されていくのか。その中味が紹介されたセッションの内容を見ていきましょう。 記事は前編と後編の2の記事で構成されています。いまお読みの記事は前編です。 疎結合なのに一体感、ヨドバシAPIがつなぐ社会 株式会社ヨドバシカメラ 代表取締役社長 藤沢和則氏。 ヨドバシカメラの藤沢と申します。日はまずこの貴重な機会をいただきありがとう

    ヨドバシの中の人が語る、開発中のヨドバシAPIが目指す機能、仕組み、そしてセキュリティ(前編)
  • MySQL 5.7 から 8.0 にしたらテストが激遅になった - Qiita

    この記事は、株式会社カオナビ Advent Calendar 2023 の3日目です。 はじめに 株式会社カオナビの高橋(@kunit)です。 今回は MySQL バージョンアップ(5.7 -> 8.0) で起きた問題とそれに対してどのように対処したのかを書いていこうと思います。 何が起きたのか MySQL 5.7 から 8.0 にバージョンアップをするにあたって、CI およびローカル環境でテストができるように MySQL 8.0 のイメージを作成し、それをつかって各機能の担当者にテストを開始してもらっていたのですが、以下のような事が起きました。 接続を MySQL 5.7 から 8.0 に切り替えただけでテストの時間が3倍くらいかかるようになった そこを変更するだけで3倍遅くなるってやばいぞということで報告してくれた担当者と同じテストを自分でも実施してみると再現性があり、それが以下のどの

    MySQL 5.7 から 8.0 にしたらテストが激遅になった - Qiita
  • 『かがくを料理する』:「サイエンス×工作×料理」のおいしい世界! - HONZ

    かがくを料理する (Make:Japan Books) 作者: 石川 繭子,石川 伸一,加賀 麗 出版社: オライリー・ジャパン 発売日: 2023/9/27 先般、東京出張の折に、はじめてHONZの朝会というものに参加しました。HONZのメンバーが原則(少なくとも今回は)ひとり一冊、今読んでいる、あるいはこれから読もうと思っているを持ち寄り、そのに対する期待やおもわく(?w)について語る会です。 で、そのときHONZレビュアーの首藤淳哉さんが、『かがくを料理する』というを持っていらしたのです。 いえね、「料理の科学」みたいな路線のなら、わたしもこれまで何冊も読んできたんですよ。でも、「かがくを料理する」ってなんだろ??? って不思議に思ったのです。今どき科学と料理を結び付けて新しいを出すのなら、分子調理(分子ガストロノミー)方面の実践的入門書かな? とわたしは思いました。(実

    『かがくを料理する』:「サイエンス×工作×料理」のおいしい世界! - HONZ
  • Haskellで、手軽にプロパティベーステスト

    はじめに Haskell Advent Calender 2023の2日めの記事です。カレンダーの枠が空いていたので、久しぶりに勢いで書いてみました。 さて、ラムダノート社から「実践プロパティベーステスト」が出版されたので、巷ではプロパティベーステストが流行っていることでしょう (紹介宣伝です)。 Haskellでは、プロパティベーステスト用のライブラリとして、例えばQuickCheckがあります。 この記事では、Haskellではソースコードのコメント中に簡単な記述をするだけで、プロパティベーステストを手軽に実行できることを改めて紹介します。 格的なコードを開発している局面だけではなく、ちょっと頭の中を整理したい時などにも手軽で便利です。 (前準備) テストケースと期待値によるテスト Haskellでは、ソースコードのコメント中に埋め込まれたテストケースを実行できるdoctestという

    Haskellで、手軽にプロパティベーステスト
  • OSS 観光名所を貼るスレ - ぽ靴な缶

    これは はてなエンジニアアドベントカレンダー2023 2日目の記事です。 はてなエンジニア Advent Calendar 2023 - Hatena Developer Blog はてなエンジニアのカレンダー | Advent Calendar 2023 - Qiita トップバッターは緊張するけど、順番が回ってくるまで長い間ソワソワするのも嫌、という理由で例年2日目を狙うようにしている id:pokutuna です。今年も成功しました。 観光名所とは 目を閉じれば思い出す、あのコード... あの Issue... あなたが Web 系のエンジニアであれ、趣味で開発している方であれ、必要に応じてライブラリやフレームワークのコードを読むのはよくあることでしょう。公開の場で開発されているソフトウェアは、ソースコードだけでなく、開発コミュニティでの議論やバグ報告なども見ることができます。 リポ

    OSS 観光名所を貼るスレ - ぽ靴な缶
  • Rustプログラムのデバッグ辛すぎ問題 - Qiita

    この記事は Rust Advent Calendar 2023 シリーズ2 の1日目の記事である。 Rustは良くも悪くもシステムプログラミング言語なので、何も工夫しなければデバッグの体験がC言語と同じレベルになってしまう。例えば「rust lldb」でググると上位に Debugging Rust programs with LLDB is a nightmare というスレッドが出てきてしまう。 使うべきツールを知っていれば幾分かマシな体験にできる。Rustコンパイラはデバッガとして LLDB, GDB, WinDbg/CDB をサポート していて、僕はWinDbGは10年くらい触ってないので、この記事ではLLDBとGDBについて書く。 LLDB Apple SiliconのMacだとGDBが使えないので、必然的にLLDBを使うことになる。 CodeLLDB GDBと同じく、LLDBにも

    Rustプログラムのデバッグ辛すぎ問題 - Qiita
  • Small String Optimization で Rust ライブラリ ratatui を最適化した話 - はやくプログラムになりたい

    最近 ratatui という crate に Small String Optimization を利用した最適化を入れたので,その話を書きます. 目次 Small String Optimization (SSO) とは(SSO を既に知っている人は読み飛ばして大丈夫です) Rust で SSO を適用した文字列型を提供する crate 比較 SSO を利用して ratatui のメモリ効率と実行効率を最適化した話 compact_str crate の実装の最適化の話 インラインストレージに24バイト全てを使える理由 隙間最適化のための工夫 説明を簡潔にするため,特に断りが無い場合 64bit アーキテクチャを前提とします. Small String Optimization (SSO) とは Rust の可変長文字列型 String は文字列バッファへのポインタ,文字列の長さ,バッフ

    Small String Optimization で Rust ライブラリ ratatui を最適化した話 - はやくプログラムになりたい
  • SSHログインの失敗が大量に記録されているとSSHログインが極端に遅くなる - Repro Tech Blog

    Development Division/Platform Team/Sys-Infra Unitの伊豆です。Sys-Infra Unitインフラエンジニア・SRE 的な役割を担っています。 今回は、ある日突然SSHログインが遅くなったときに調査した内容を共有します。 SSHログインに数分かかる ある日、AWS EC2上で動いている開発環境のSSHゲートウェイにSSHログインすると30秒以上かかると報告がありました。-vvvオプションを指定してSSHログインしてみるとpledge: filesystemというログが出力された後、数十秒から数分程度かかってSSHログインが成功する状況でした。 pledge: filesystemやssh slowなどで検索してみると、主に以下のような対処法が挙げられていましたがどれを試しても状況は改善されませんでした。 systemd-logindを再起動

    SSHログインの失敗が大量に記録されているとSSHログインが極端に遅くなる - Repro Tech Blog
  • Reddit で振り返る今年の英語圏 Haskell 界隈の話題 - Qiita

    Haskel advent calendar 2023 の1日めの記事です. お仕事も情報系でなく,多忙を言い訳に数年ほとんどコード自体をかけていなかったのですが,最近 e-Gov 法令検索 で公開されている法令XMLを読みたい需要があって久しぶりに Haskell で書いてみたらやはり書きやすく,とても楽しくて改めて感動しました.書きながら自然に思考が整理される感じがよい. Hoogle は変わらぬ使いやすさでモリモリサポートしてくれるし,環境構築も GHCup などが噛み合って随分スムーズで,Haskell Language Server も成熟してきているようです.環境構築については,昨年の Advent Calendar の1日め @mod_poppo さんの記事 などが参考になります. 最近入った言語拡張にも,ちょっとだけコード書く位でも(大規模なあるいは高度なコードじゃなくても

    Reddit で振り返る今年の英語圏 Haskell 界隈の話題 - Qiita
  • 3PCA 1 日目: 3rd Party Cookie Advent Calendar Agenda | blog.jxck.io

    Intro このエントリは、 3rd Party Cookie Advent Calendar の 1 日目である。 3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiita https://qiita.com/advent-calendar/2023/3rd-party-cookie Agenda 2024 年は、いよいよ 3rd Party Cookie の Deprecation が格的に開始される。 これは端的に言えば「Web の歴史上最大の破壊的変更」と思って差し支えない。 一方、そのインパクトに対してエコシステム側に万全の準備が整っているかというと、決してそうとは言えない。 そもそも事態を認識していない人もいれば、大した影響を想定していない人もいるだろう。 「3rd Party Cookie が使えないなら、代わりに何か別の

    3PCA 1 日目: 3rd Party Cookie Advent Calendar Agenda | blog.jxck.io
  • なぜ HTML の form は PUT / DELETE をサポートしないのか? | blog.jxck.io

    Intro 10 年ほど前に同じことを調べたことがある。 なぜ html の form は PUT / DELETE をサポートしないのか? - Block Rockin' Codes https://jxck.hatenablog.com/entry/why-form-dosent-support-put-delete 当時は全くの素人で、素人なりに調査はしたが、ほとんどが推測の域を出ない結論だった。 この問題についてあらためて記す。 仕様策定の経緯 表題の通り、 <form> の method には GET と POST しかサポートされていない。 HTTP には他にも PUT や DELETE といったメソッドもあるのに、なぜサポートされていないのかという疑問から始まった。 仕様が決定した経緯は、以下に残っている。 Status: Rejected Change Descriptio

    なぜ HTML の form は PUT / DELETE をサポートしないのか? | blog.jxck.io
  • CS SYD - Announcing conformance

    k0yoshitsugu
    k0yoshitsugu 2023/11/17
    “conformance”
  • A Fistful of Automata

    20 October 2023 Recently, I have been brushing up my knowledge of Formal Languages and stumbled again into the many different faces of finite automata. Most materials present DFAs, NFAs and company as distinct beasts, each with their own properties and theorems. Nevertheless, I couldn’t get out of my mind that all definitions seemed too similar. After hitting my head into a couple walls, I finally

  • ブラウザでリロードしながらキャッシュの挙動を確認してる全ての開発者へ | blog.jxck.io

    Intro こういうタイトルを付けるのはあまり好きではないが、あえてこのようにした。 「ブラウザでキャッシュがヒットしない」 以下は、 Web における Caching の FAQ だ。 サーバで Cache-Control を付与したのにキャッシュがヒットしない サーバで ETag を付与したのに If-None-Match が送られない サーバで Last-Modified-Since を付与したのに If-Modified-Since が送られない 先日も、筆者が書いた MDN の Cache セクションで「記述が間違っているのでは?」と同様の質問を受けた。 Issue about the Age response header and the term "Reload" · Issue #29294 · mdn/content https://github.com/mdn/cont

    ブラウザでリロードしながらキャッシュの挙動を確認してる全ての開発者へ | blog.jxck.io
  • WebAssemblyのガベージコレクションが正式機能に、最新版のChrome 119で。Firefoxも今月リリースのFirefox 120で正式機能になる見通し

    WebAssemblyのガベージコレクションが正式機能に、最新版のChrome 119で。Firefoxも今月リリースのFirefox 120で正式機能になる見通し 2023年2月にリリースされたChrome 111から試験的実装となっていたChromeにおけるWebAssemblyのガベージコレクション機能(以下、WasmGC)が、10月31日にリリースされたChrome 119で正式機能になったことが明らかになりました。 Firefoxでも今月(2023年11月)21日リリース予定のFirefox 120においてWasmGCが正式機能になる見通しです。 WasmGCを利用することで、ガベージコレクション機能が言語のランタイムに含まれているJavaなどプログラミング言語をWebAssemblyで実装することが容易になるため、今後WebAssembly上でさまざまなプログラミング言語の実装

    WebAssemblyのガベージコレクションが正式機能に、最新版のChrome 119で。Firefoxも今月リリースのFirefox 120で正式機能になる見通し