タグ

mizchiのブックマーク (39,248)

  • Grit

    Grit automatically fixes technical debt by combining static analysis and machine learning to generate pull requests that clean up code and migrate to the latest frameworks.

    Grit
    mizchi
    mizchi 2023/12/01
  • インフォグラフィック: 2023 年開発者エコシステムの現状

    2023 年開発者エコシステムの現状このレポートは世界中の 26,348 人の開発者から集められたインサイトの集大成です。開発者の世界は広大で多様性に富んでいるため、限りなく魅力的な探索および学習領域となっています。当社はこのような毎年実施される調査活動を通じてこの魅力あふれる世界を探索し、開発者とその制作物に関する貴重なインサイトを明らかにし、分かった事実をコミュニティと共有することを目標としています。 開発者エコシステムの現状レポートには、プログラミング言語、ツール、テクノロジーから人口統計やおもしろ情報に至る広範なトピックをカバーする情報が含まれています。また、開発者のユニークなライフスタイルを覗き、開発者の情熱や関心事も明らかにしています。 今年は AI に関する質問にも範囲を広げました。AI に対する開発者の見解、懸念、よく使用されている AI アシスタントの機能、AI によって

    インフォグラフィック: 2023 年開発者エコシステムの現状
    mizchi
    mizchi 2023/12/01
  • 【翻訳】Prettier を Rust で書き換えたプロジェクトに $20k の報奨金を支払うプログラムは Biome が勝ちました

    この記事は vjeux 氏によって Prettier 公式ブログに投稿された「$20k Bounty was Claimed!」を許可をもらって翻訳したものです。 もとのタイトルを翻訳するのが難しかったので、できるだけわかりやすいものに翻訳しました。 PrettierというJavaScriptのコードフォーマッターは、人々がコードを書く様々な方法を慎重に扱うことで、驚くほど広く採用されています。この時点で、フォーマットロジックは安定しており、私たちの三項演算子に関する作業が完了すれば、それは満足のいく状態になるでしょう。 これは、次の重要な側面に注目できるということを意味します:パフォーマンス。Prettierは決して速いとは言えませんが、ほとんどの使用例には十分な速さです。これはいつも不満足な感じがしたので、何かをすることを望んでいました。それには、友好的な競争以上の方法はありません。

    【翻訳】Prettier を Rust で書き換えたプロジェクトに $20k の報奨金を支払うプログラムは Biome が勝ちました
    mizchi
    mizchi 2023/11/29
  • スペシャルインタビュー | LIVE A LIVE HD-2D Remake Original Soundtrack

    1994年にスーパーファミコン用ソフトとして発売された『ライブアライブ』が、28年の時を経てNintendo SwitchでHD-2Dリメイクで再登場。 楽曲たちもオリジナル版コンポーザー・下村陽子さん監修のもとリアレンジされ生まれ変わりました。 今回は『LIVE A LIVE HD-2D Remake Original Soundtrack』の発売を記念してスペシャル対談を実施。 『ライブアライブ』の中でも人気を誇る名曲「MEGALOMANIA」にインスパイアされ、自身のゲーム『UNDERTALE』に「MEGALOVANIA」という曲を作曲し実装した作曲家でもありゲームクリエイターでもあるトビー・フォックスさんがアメリカから来日。下村陽子さんとトビー・フォックスさんとのインタビュー対談を特別にお届けします。 今回のために特別に『UNDERTALE』のデザイナーでもあるTemmie Cha

    スペシャルインタビュー | LIVE A LIVE HD-2D Remake Original Soundtrack
    mizchi
    mizchi 2023/11/24
  • TS環境のmangle最適化ベストプラクティス

    // in const longLongVar = 1; console.log(longLongVar); // out const o = 1;console.log(o); 主に terser や esbuild のポストプロセスとして行われる。 この記事では mangle のベストプラクティスについてまとめる。当は jsconf.jp で話したかったが、時間がなかった。 例えば vscode(体)では外にexportされないプライベートメンバを mangle することで大幅なコード量の削減に成功している。 Shrinking VS Code with name mangling ライブラリ作者やサードパーティスクリプト作者に必要な技術だが、一般的なコードにも適用できる話でもある。何度か自分の発表資料に書いてきたが、単体記事になってないのでここでまとめておく。 極限環境で最終ビル

    TS環境のmangle最適化ベストプラクティス
    mizchi
    mizchi 2023/11/23
    書いた
  • Build and Publish 2023

    Previous slideNext slideToggle fullscreenOpen presenter view Build and Publish 2023 @mizchi | Plaid, Inc. jsconf.jp 2023 今日もツールチェインに消耗してますか? https://2022.stateofjs.com/en-US/libraries 今日のテーマ 今日話すこと 現代のビルドツールチェインの進化と目的 エコシステムに振り回されないようになろう! 今日話さないこと 個別のツール/ライブラリの使い方 フロントエンドの話? NO. 最近のサーバーサイドJSとバンドラは一体化している サイズ制限のある CDN Edge Worker も最適化が必要 About Me JSのビルドとは何か Transpile AltJS(TS,JSX)や CSS Modules の変換

    mizchi
    mizchi 2023/11/19
    jsconfjp での発表資料です
  • t_wadaさんと「単体テストの使い方/考え方」の疑問点についてディスカッションしました - DeNA Testing Blog

    こんにちは、SWETグループの田熊です。 現在SWETグループでは書籍「単体テストの使い方/考え方」の輪読会を実施しています。 輪読会ではメンバー同士で活発に意見が交わされていますが、著者の主張に疑問を感じる箇所もあり、一度グループ外の方とも意見を交換したいと考えていました。 そこで、t_wadaさんをお招きし「単体テストの使い方/考え方」についてディスカッションする機会を設けました。 記事では、SWETメンバーとt_wadaさんとのやりとりを紹介したいと思います。 ディスカッションの流れ ディスカッションは事前にSWETグループのメンバーが書籍を読んで疑問に感じたテーマを挙げてもらい、t_wadaさんの意見を聞くという流れで行いました。 今回は次のテーマについて話をしました。 「退行に対する保護」があるテストとはなにか 「リファクタリングへの耐性」のトレードオフはあるのか 統合テストの

    t_wadaさんと「単体テストの使い方/考え方」の疑問点についてディスカッションしました - DeNA Testing Blog
    mizchi
    mizchi 2023/11/14
  • 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で正式機能になる見通し
    mizchi
    mizchi 2023/11/09
  • Remix ❤️ Vite

    Today we’re excited to announce that unstable support for Vite is available in Remix v2.2.0! Now you get all the benefits of Vite’s lightning fast DX ⚡️ out-of-the-box when using Remix. Try it out now! # minimal server npx create-remix@latest --template remix-run/remix/templates/unstable-vite # custom Express server npx create-remix@latest --template remix-run/remix/templates/unstable-vite-express

    Remix ❤️ Vite
    mizchi
    mizchi 2023/11/09
  • GitHub - oxc-project/javascript-parser-in-rust: Tutorial on writing a JavaScript Parser in Rust

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

    GitHub - oxc-project/javascript-parser-in-rust: Tutorial on writing a JavaScript Parser in Rust
    mizchi
    mizchi 2023/11/09
  • 👾 LM Studio - Discover and run local LLMs

    LM Studio is an easy to use desktop app for experimenting with local and open-source Large Language Models (LLMs). The LM Studio cross platform desktop app allows you to download and run any ggml-compatible model from Hugging Face, and provides a simple yet powerful model configuration and inferencing UI. The app leverages your GPU when possible.

    👾 LM Studio - Discover and run local LLMs
    mizchi
    mizchi 2023/11/05
  • ast-grep | structural search/rewrite tool for many languages

    AST-GREPFind Code by Syntax ast-grep(sg) is a fast and polyglot tool for code structural search, lint, rewriting at large scale. Search and Rewriteast-grep is a code tool for structural search and replace. It is like syntax-aware grep/sed! You can write code patterns to locate and modify code, based on AST, in thousands of files, interactively. sg -p '$A && $A()' -r '$A?.()' Scan as Linterast-grep

    mizchi
    mizchi 2023/10/31
  • Typechat はどのようにプロンプトを生成してコードを実行するか

    書き終わって気づいたが、この記事とだいたい一緒 https://zenn.dev/ptna/articles/a3882d095fa685 せっかく書いたので別視点の記事として残しておく。コンセプトの理解というより、コードの中身を掘り下げる。 typechat そのものを使うというより、 typechat がどのようにコードを生成するプロンプトを生成しているか、という視点で参考にするためにコードを読んだ。 Typechat とはなにか MS謹製の自然言語をコード実行ステップに変換するプロンプトジェネレータ。 TypeScriptAPI スキーマを定義して、自然言語の入力をそのAPIに対するコード実行にステップに変換する。 自分の大雑把な理解 プログラマは呼び出し可能なAPIのスキーマと、それを実行するインタープリターを実装する chatgpt は入出力を加工して API 呼び出しのス

    Typechat はどのようにプロンプトを生成してコードを実行するか
    mizchi
    mizchi 2023/10/16
    書いた
  • ChatGPT にHTMLをプレビューさせるChrome拡張を作ってみた

    chat.openai.com 上でマークアップを試行錯誤するための Chrome 拡張を試作してみた。 例えば html+preview のコードブロックを見つけるとその隣に HTML として挿入する。後述するが React Component もプレビューできる。 📎 をクリックすると展開したHTMLを画像としてクリップボードに入れることができる。 いい感じにコードを生成してくれるプロンプトのサンプル集はここに置いてる なぜ作ったか GPT-4 はそこそこ賢いコードを生成できるのだが、細かい修正は行うにはやはりプレビューしながら対話的に行う必要がある。 また、人間がその結果を言語化するより、生成されたHTMLを画像入力として修正プロンプトに使うのが精度がでる。 (備考: まだChatGPT Plus の一部ユーザーに開放されてない機能) react-component の生成: ts

    ChatGPT にHTMLをプレビューさせるChrome拡張を作ってみた
    mizchi
    mizchi 2023/10/13
    Chrome 拡張作ってみた
  • ChatGPTの画像入力を使ったマークアップの自動生成とE2E自動化に関する考察

    tl;dr ChatGPT の画像入力でラフスケッチから簡単なマークアップを生成させることができる 生HTML はプロンプトとして弱い。 typescript(tsx) や headless-ui でコンテキスト情報を足すといい感じになる。 ChatGPT にスクリーンショットを入力し、 ChatGPT に puppeteer に操作させれて E2E 生成を自動化したり無限の猿BOT が作れるのでは。 マークアップエンジニアではなく、プログラマ視点でCSSを生成させたい。ロジックはこちらが考えるから、それに合わせたものを作ってくれ、という感じ。 まだ figma 連携とかは考えておらず、雑なラフをわせたり、一般的なパターンを生成してもらえれば良いと思って試している。 とか考えてるうちに、うちの ChatGPT に画像入力が来た。まだAPIが来てないが、これが来ることを前提にマークアップ補

    ChatGPTの画像入力を使ったマークアップの自動生成とE2E自動化に関する考察
    mizchi
    mizchi 2023/10/10
  • Haskell は Rust になれるのか?──2023年の Linear Haskell 体験記

    追記:いくらなんでもあまりにも長いので、配列演算に焦点を絞ってより「Rustっぽさ」の気持ちを強調した姉妹編を書きました。手っ取り早く雰囲気を掴みたい方はこちらもどうぞ。 TL;DR GHC 9.0 から Haskell に入った線型型(Linear Types)の機能を一部割とガッツリ使ってみたので、Linear Haskell の現在の使い心地と将来の展望を報告するよ。 使おうと思えば使える段階にあるけれど、一部バグもあるし、まだ言語機能面で実装が追い付いていない部分もあって、快適に書けるようになるにはもうちょっと掛かるよ。それでも実用しようと思えばできるレベルにあるよ。 RustのようになるにはLinear Constraintsに期待。 更新履歴 2023/12/15 11:45 姉妹編へのリンク追加。 2023/10/01 12:30 線型性を納得してくれない場合の \eta-展

    Haskell は Rust になれるのか?──2023年の Linear Haskell 体験記
    mizchi
    mizchi 2023/10/02
  • Language Server Protocol の仕様 及び実装方法

    Language Server Protocol通称LSPの仕様と、各機能をどうやって実装したら良いかの指針を示します。 対象読者 * 言語処理系を実装する人/したい人 * Language Serverを実装する/したい人 * LSPに興味がある人、日語のまとまった情報源を探している人 * Language Serverがエディタの裏でどのようなことをしているのか気になる人 書で解説される機能は以下の通りです。 * Diagnostics (検査) * Completion (補完) * Inlay hint * Hover * Goto definition (定義へ移動) * Find references (参照を表示/移動) * Rename (名前変更) * Code actions * Code lens * Signature help * Command * Docu

    Language Server Protocol の仕様 及び実装方法
    mizchi
    mizchi 2023/10/01
  • モノレポの手癖を deno で CLI ツールを作って楽にしたい

    deno で CLI ツールを作っていたら楽しくなって色々作っていた。 課題: モノレポの諸々の操作がだるい npm/pnpm/yarn の workspace を使っていると、次のようなディレクトリ移動が段々面倒になってくる。 foo を build して bar を build してルートから bar のテストを流す、みたいなことをするとこういう感じになる。 $ cd packages/foo $ pnpm build $ cd ../bar $ pnpm build $ cd ../.. ## コマンドの中身を確認 $ cat package.json | jq ".scripts" { "test": "pnpm test:foo && pnpm test:bar", "test:foo": "cd packages/foo && pnpm test", "test:bar": "

    モノレポの手癖を deno で CLI ツールを作って楽にしたい
    mizchi
    mizchi 2023/09/26
    書いた
  • Type safe CSS design systems with @property · September 1, 2023

    Type safe CSS design systems with @propertySeptember 1, 20238 min read CSS types are a worthy investment into type safety in your front-end work. We're still awaiting cross browser interop, but we'll get there 🙂 In case you've never seen one, here's a typed CSS variable with @property: @property --focal-size { syntax: '<length-percentage>'; initial-value: 100%; inherits: false; } Used that one so

    Type safe CSS design systems with @property · September 1, 2023
    mizchi
    mizchi 2023/09/24
  • はじめに - Writing an OS in 1,000 Lines

    書では、小さなOSをゼロから少しずつ作っていきます。 OSと聞くと腰が引けるかもしれませんが、OS (特にカーネル) の基機能は案外単純です。巨大なオープンソースソフトウェアとしてよく挙げられるLinuxでさえ、バージョン0.01はたった8413行でした。様々な要求に応えるために次第に肥大化していっただけで、当初は大変素朴な実装になっていました。 書では素朴なコンテキストスイッチ、ページング、ユーザーモード、コマンドラインシェル、ディスクデバイスドライバ、ファイルの読み書きをC言語で実装します。これだけ様々な機能が詰め込まれているのに、コードは合計でたった1000行未満です。 「1000行なら1日でできそう」と思うかもしれませんが、初学者には少なくとも3日はかかるでしょう。OS自作のハマりポイントは「デバッグ」です。アプリケーション開発とは違うデバッグ手法・能力を習得する必要がありま

    はじめに - Writing an OS in 1,000 Lines
    mizchi
    mizchi 2023/09/24