Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
astの人気記事 71件 - はてなブックマーク
[go: Go Back, main page]

並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 71件

新着順 人気順

astの検索結果1 - 40 件 / 71件

astに関するエントリは71件あります。 TypeScriptASTjavascript などが関連タグです。 人気エントリには 『データベースの仕組み(アーキテクチャ)をざっくり理解する』などがあります。
  • データベースの仕組み(アーキテクチャ)をざっくり理解する

    株式会社モアでバックエンドエンジニアをしているrevenue-hackです! 普段はGo言語でバックエンドを中心にやっています〜 ↓登壇したときの資料です! より図を入れて詳しく書いております! 今回はデータベースの特にRDBの仕組み(アーキテクチャ)についてざっくり理解して、なにかに役立てようぜ〜 というような内容になります。 ↓記事はこちらに移しました!↓ AI駆動開発&DB設計やクラス設計(DDDやクリーンなど)に力を入れていて、 弊社では適宜エンジニアを募集しているので、興味のある方はご連絡ください! 株式会社モア

      データベースの仕組み(アーキテクチャ)をざっくり理解する
    • 新言語『TypoScript』を作った - Qiita

      この記事は、クソアプリAdvent Calendar2021の20日目(ホノルル時間)の記事であると同時に、GMOペパボエンジニア Advent Calendar 2021の21日目(日本時間)の記事でもあります。 みなさん、TypeScript使ってますか?TypeScriptはJavaScriptの世界に秩序をもたらす素晴らしい言語ですね。 しかし世界には光の秩序だけでなく闇の混沌も必要です。 という訳で、JavaScriptに闇の混沌をもたらす新言語を作ってみました。 その名も『TypoScript』です。 TypoScript is 何 TypoScriptとは何か。まずはこちらのコードをご覧ください。 function fizz_buzz(count) { for (var i = 1; i <= caunt; i++) { if (i % 3 === 0 && i % 5 ==

        新言語『TypoScript』を作った - Qiita
      • TypeScriptで世界一型安全な型レベルSQL Interpreterを作っている話

        こんにちは。DevOps芸人と化して久しいAndyです。 2020年の秋にTypeScript 4.1へTemplate Literal Typesが導入され、そのインパクトに俄かに一部の界隈がザワついたのは記憶に新しいかと思います。 今回は型プログラミングの可能性を大いに押し広げたTemplate Literal Typesを用いてSQL文を型レベルで解析し、その実行結果を型情報として導出するためのsqlptureというライブラリを作ったので紹介します。 Embedded content: https://github.com/andoshin11/sqlpture SQLの実行/検証対象はPostgreSQL v13です。 tl;dr SQL文を型レベルで解析・評価して返り値型を取得できるmini interpreterを作ったよ 型レベルのSQL validatorも作ってるよ 実際

          TypeScriptで世界一型安全な型レベルSQL Interpreterを作っている話
        • Grit

          Grit is a developer tool to put software maintenance on autopilot. We automatically handle your: Dependency upgradesLarge migrationsCode quality improvements

            Grit
          • なぜSQLiteはバイトコードを使うのか

            以前にデータベースを自作しようとして、SQLiteのアーキテクチャを見てみたらVMだったことに疑問を感じ、それをツイートしたところ作者からリプをもらいました。 作者いわく、次のような背景があったとのことでした。 SQLiteを作った当初はデータベースエンジンのことをよく知らないがコンパイラのことをよく知っていた SQLデータベース・エンジンを書くという問題をコンパイラ構築の問題として扱うのは自然なことだった データベースエンジンのコアの部分をVMにするという発想がまったくなかったので、どんなメリットがあるのか?と気になっていました。 それを作者に聞いたら、詳細な説明ページを作ってくれました。 個人的にVMにしたことで、評価&実行のパフォーマンスは多少良くなると思うが、データベースエンジンのパフォーマンスにそれほど寄与していないんじゃないかな?って思ったりしました。 本記事はそのページについ

              なぜSQLiteはバイトコードを使うのか
            • 全ての道はRomeへ続くのか - これからのJavascript開発を考える

              Romeとは 現代のJavascript開発には多くのツールチェーンが必要とされます。Babel,webpack,Jest,ESLint,Prettier,Typescriptなどを組み合わせて開発することが多く、さらにこれらの一部代替選としてesbuild,SWC,Viteなどのツールチェーンの選択肢が存在し、選択肢の多さやその組み合わせの複雑さに苦い思いをしたことがある方も少なくないのではないと思います。 こうした中で、新たに開発が進められているツールチェーン、Romeをご存知でしょうか? Romeは先に挙げたように複数のツールチェーンを役割ごとに組み合わせて使うのではなく、1つのツールチェーンでこれら全ての役割を担ってしまおうという壮大な計画を持つツールチェーンです。 Romeは2020/03にFacebookより発表されました。現在は法人化され、yarnやBabelの生みの親である

                全ての道はRomeへ続くのか - これからのJavascript開発を考える
              • ast-grep VSCode: 構造検索と置換の強力なツール

                こんにちは、 ast-grepの作者Herringtonです。 正規表現でコードを検索したことがある方なら、複数行のマッチングや入れ子構造の処理、コメントの無視などに苦労したことがあるかもしれません。 そこで、ast-grep VSCodeという新しい拡張を紹介します。これは、構造的検索と置換(SSR)という技術を利用して、より正確で効率的な検索と置換を実現するツールです。 構造検索は? テキスト検索と置換の限界 例えば、JavaScriptコードをリファクタリングして、lodash の _.filter 関数をネイティブの Array.prototype.filter メソッド に置き換えたいとします。単純なテキスト検索と置換は次のようになります: これは一部のケースではうまくいくかもしれませんが、いくつかの問題があります。 一行の式しかマッチングできません。コードが複数行にまたがってい

                  ast-grep VSCode: 構造検索と置換の強力なツール
                • Maintainer Month: なぜtextlintを作ったか

                  今では200以上のルールがある自然言語のLintツールであるtextlintがどのように作られたかを振り返る記事です。 6月はMaintainer MonthというイベントをGitHubが主催しています。 Maintainer Month is a reminder for the ecosystem to support, celebrate, and compensate open source maintainers. – Maintainer Month Maintainer Monthは、オープンソースのメンテナーが集まって情報共有したり、メンテナーを祝ったり、支援したりするイベントです。 メンテナーがどういうサポートを求めているかを知る、負荷が特定の箇所に集中するエコシステムはバランスが悪いのでそれを支援する方法を知るといったことを思い出すのがMaintainer Monthの

                    Maintainer Month: なぜtextlintを作ったか
                  • JavaScriptでObjectに空のStringを足すと0になる!?……わけではなかった

                    ASTをみてみよう この不思議な現象を調査するために、AST(Abstract Syntax Tree: 抽象構文木)の状態を見てみることにしました。ASTはソースコードを構文解析した結果をツリー構造にしたもので、AST Explorerを使うと簡単に見ることができます。 ({}) + "" のAST ({}) + "" のASTをみると、ひとつの ExpressionStatement となっているのがわかります。ExpressionStatement の leftは ObjectExpression 、 operator は + 、rightは Literal となっていて、たしかに Object と String の足し算になっています。これなら確かに"[object Object]" が返ってくるでしょう。 {} + ""のAST しかし、{} + "" のASTをみると、Bloc

                      JavaScriptでObjectに空のStringを足すと0になる!?……わけではなかった
                    • Graydon HoareのCompiler講義資料が面白かった話 - Arantium Maestum

                      Graydon Hoareが2019年にカナダのブリティッシュ・コロンビア大学でコンパイラ関連のゲスト講義した時の資料21 compilers and 3 orders of magnitude in 60 minutes - a wander through a weird landscape to the heart of compilationを読んだら大変面白かったのでメモ。 作者 Graydon HoareはMozillaでRustを開発したことで有名。その後Rustの開発もMozillaも離れて(というかRustの開発からは2013年に離れたようだ)、一時期AppleでSwift開発チームに所属していたらしい。(ソース:Reddit: I wonder, why Graydon Hoare, the author of Rust, stopped contributing in

                        Graydon HoareのCompiler講義資料が面白かった話 - Arantium Maestum
                      • 最高の構文木の設計 2024年版

                        Osaka RubyKaigi 04 https://regional.rubykaigi.org/osaka04/

                          最高の構文木の設計 2024年版
                        • Content EditableでWYSIWYGエディタ作るの楽しい! - maru source

                          こんにちは丸山@h13i32maruです。 僕は今、Ubie Discoveryで医療従事者向けのカルテエディタを作っています。人生で初めてContent Editableを使ってエディタを作ってるんですが、それがすごく楽しいです!というのも、エディタを作るには色々技術的な課題があります。例えば、テキストをパースするには?ASTからHTMLをビルドするには?パフォーマンスのよい更新方法は?などなど。それらの技術的な課題を解決していくのが単純に楽しいという感じです。また、車輪の再発明は極力抑えつつ、自分たちのプロダクトでやりたいことを実現できるような工夫もしています。 というわけで、今回はそんなエディタ作りで取り組んだ課題と解決策を紹介していきたいと思います。 (訳: 楽しかったので、誰かに聞いてもらいたい!) エディタの概要 メンテしやすいテキストパーサ - PEG.js メンテしやすいH

                            Content EditableでWYSIWYGエディタ作るの楽しい! - maru source
                          • Generate React Component with TypeScript AST

                            Oracle Database Technology Night 92 Database Connection control FAN-AC

                              Generate React Component with TypeScript AST
                            • マークダウンパーサを作ろう - エムスリーテックブログ

                              デジカル開発メンバーの末永(@asmsuechan)です。電子カルテの開発を通して医師や医療事務の方の「書く」をサポートしています。 みなさん、マークダウンでテキストを書いていますか?私はマークダウンで書くことが好きで、プレーンテキストでもほとんどのメモをマークダウン記法で書いてしまいます。この記事もはてなのマークダウンを使って書いています。*1 マークダウンを使えるサービスを挙げていくとGitHubやStackOverflowなど開発者ならば誰しも知るサービスが多く出てきます。このことからもわかるように、マークダウンはもはや開発者とは縁の切れないものとなっています。 しかし、普段の開発時によく使うマークダウンですが、実際にはどのような仕組みで動いているのかを知る人は少ないのではないかと思います。 この記事ではオリジナルのマークダウンパーサ「minute」をTypeScriptを使ってハン

                                マークダウンパーサを作ろう - エムスリーテックブログ
                              • 入れ子構造を自由に拡張する – TypeScript版「Trees that Grow」 | IIJ Engineers Blog

                                日本Haskellユーザーグループ(愛称 Haskell-jp)発起人の一人にして、Haskell-jpで一番のおしゃべり。 HaskellとWebAssemblyとプリキュアとポムポムプリンをこよなく愛する。 This is a Japanese translation of Flexiblly Extend Nested Structures – “Trees that Grow” in TypeScript. 抽象構文木(AST, Abstract Syntax Tree)の扱いに慣れた一部のHaskell開発者の間では、「Trees that Grow」というイディオムが一般的で、Haskellの最も有名なコンパイラ、GHCにおいても採用されています。今回は、この「Trees that Grow」をTypeScriptで実現するにはどうすれば良いかを共有しましょう。 あらまし Ha

                                  入れ子構造を自由に拡張する – TypeScript版「Trees that Grow」 | IIJ Engineers Blog
                                • Rust AST 入門

                                  これは、簡単な Rust の AST をざっと読めるようになる、もしくは該当のドキュメントを読めるようになる、といったことを目的としたものである。入門といっても網羅的なものではなく、雰囲気を掴んでほしいという意味合いで書いたものであって細かいところまでは説明しないつもりである。なお Rust には型などより多くの情報も含む HIR などいくつかの AST があるが、ここではコンパイル時に最初に作られる AST についてのみふれる。 プログラミング言語で一般的に述べられる AST 自体についてはここでは説明しないので他を参照するとよい。有用そうなもののリンクは以下の通りである。 ASTs - What are they and how to use them Crafting Interpreters また、AST を確認するというと AST explorer も有用だが、 AST expl

                                    Rust AST 入門
                                  • Rust製TypeScriptコンパイラstcの現状と今後 | メルカリエンジニアリング

                                    この記事は、Merpay Tech Openness Month 2023 の2日目の記事です。 メルペイFrontendエンジニアの@togami2864です。普段はPartner Platformというチームで加盟店申込みフォームや審査・管理を行うためのMerchant Supportツールの開発・運用を担当しています。 本記事ではRust製TypeScriptコンパイラであるstcについて筆者の観測範囲での概要、開発状況、課題等を紹介します。なお、内容は全て2023年5月時点のものです。また、本記事の一部は Node学園 41時限目 書籍について で発表したものと重複していることをご了承ください。 概要 stcは2022年10月にオープンソース化されたRust製のTypeScriptコンパイラです。 https://github.com/dudykr/stc 製作者はRust製のトラ

                                      Rust製TypeScriptコンパイラstcの現状と今後 | メルカリエンジニアリング
                                    • TypeScript の抽象構文木を用いた、数百を超える API の大規模リファクタリング戦略

                                      TSKaigi 2024 の発表資料です。 https://tskaigi.org/talks/yanaemon169 Demo 用コードはこちら https://github.com/yanaemon/nestjs-migration-example ミツモアはサービスの提供開始から、…

                                        TypeScript の抽象構文木を用いた、数百を超える API の大規模リファクタリング戦略
                                      • 【脱ランタイムCSS in JS】styled-componentsを別のCSS in JSに自動置換するCLIツールの開発

                                        1.はじめに 本記事はサイボウズの夏インターン(2022年)で取り組んだ内容の紹介を行います。インターンでは、サイボウズのフロントエンド領域における横断的組織であるフロントエンドエキスパートチームに配属されました。5日間のインターン期間でstyled-componentsを別のCSS in JSに自動置換するCLIツール・extract-styledの開発に取り組みました。 2. extract-styledの紹介 実装したextract-styledは、以下のようなCLI経由の実行を通して、styled-componentsで定義されたReactコンポーネントをtargetに指定した任意のCSS in JSに変換することができます。(現時点では変換先としてlinaria・vanilla-extractに対応) $ extract-styled \\ --path ./src/compon

                                          【脱ランタイムCSS in JS】styled-componentsを別のCSS in JSに自動置換するCLIツールの開発
                                        • GitHub - unjs/magicast: 🧀 Programmatically modify JavaScript and TypeScript source codes with a simplified, elegant and familiar syntax powered by recast and babel.

                                          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. Dismiss alert

                                            GitHub - unjs/magicast: 🧀 Programmatically modify JavaScript and TypeScript source codes with a simplified, elegant and familiar syntax powered by recast and babel.
                                          • TypeScript 5.5 で追加された正規表現構文チェックを理解する

                                            TypeScript 5.5で、@graphemeclusterさんによって正規表現リテラルの構文チェックが導入されました🎉 この構文チェックによって、正規表現に間違いがあった場合、事前にTypeScriptがエラーを出力してくれます。 この機能について、次のことが気になったので調べてみました。 どんな構文がエラーになるか なぜ導入されたか どうやってチェックしているか JavaScriptで実行できるがTypeScriptでエラーになる構文はあるか ESLintとのカバー範囲の違い 本記事に関して、誤り等があれば指摘いただけると嬉しいです。 どんな構文がエラーになるか TypeScript 5.5では、正規表現に関するエラーメッセージが40個程度追加されています。 例えば、下記のような構文は、5.5でエラーになります。 // 存在しないフラグ var re = /a/b; // エラー

                                              TypeScript 5.5 で追加された正規表現構文チェックを理解する
                                            • ESLintがJSONとMarkdownのコードチェック機能をサポ―ト | gihyo.jp

                                              ESLintプロジェクトは2024年10月3日、ESLintがJSONとMarkdownのリンティングを正式にサポートしたことを発表した。 ESLint now officially supports linting of JSON and Markdown -ESLint ESLintはオープンソースのJavaScriptコードチェック(リンティング)ツール。JavaScriptやTypeScriptのコードを静的解析し、構文エラーやコーディング規約に違反がないか、等をチェックすることができる。 新たにサポートされたJSONリンティングは、@eslint/jsonというプラグインを使用して実行される。このプラグインはJSON、JSONC (⁠コメント付きJSON⁠)⁠、JSON5の解析機能を提供するもので、npmからインストールすることができる。 また、Markdownリンティングは@e

                                                ESLintがJSONとMarkdownのコードチェック機能をサポ―ト | gihyo.jp
                                              • typescript-eslintで新しい構文をサポートする

                                                新しい構文がやってくる ご存知の通り、JavaScript の標準仕様である ECMAScript では毎年新しい記法や構文が提案され、採択されています。もちろん JavaScript のスーパーセットである TypeScript もその例外ではありません。 TypeScript では基本的に ECMAScript Proposal の Stage3 になった仕様から順次サポートするという方針があります。最近であれば v5.0 に入った Decorators や v5.2 で導入される using Declarations(Explicit Resource Management)などが該当します。 ここまでのことは普段 TypeScript を利用している方であれば知っている方も多いでしょう。しかし実際に TypeScript で新しい構文がサポートされた後、typescript-esl

                                                  typescript-eslintで新しい構文をサポートする
                                                • Reconstructing TypeScript, part 0: intro and background

                                                  Jake Donham > Technical Difficulties > Reconstructing TypeScript, part 0 Reconstructing TypeScript, part 0: intro and background2021-09-07I've been building a "document development environment" called Programmable Matter that supports live code embedded in documents, with a simple TypeScript-like programming language. It's been fun figuring out how to implement it—the type system in TypeScript is

                                                  • GraphQLのダイエット術 TypeScript Language Service Pluginで未使用フィールドをなくす

                                                    はじめに GraphQLは、API開発において柔軟性と効率性を提供する強力なツールです。しかし、クエリの記述が自由な分、クライアント側で不用意に多くのフィールドを要求してしまうと、パフォーマンス低下や保守性の悪化につながる可能性があります🥲 本記事では、TypeScript Language Service Pluginの1つであるGraphQLSPを活用し、GraphQLクエリの"ダイエット"、つまり未使用フィールドの削減を実現する方法を紹介します。 ※ この記事はTSKaigi Kansai 2024で共有した内容を記事にしたものです。 GraphQLの課題と対策 over fetching問題 GraphQLは、クライアントが厳密に必要とするデータのみを要求できるため、REST APIに比べてオーバーフェッチによるパフォーマンス低下を抑えることができます✊しかし、GraphQLでも

                                                      GraphQLのダイエット術 TypeScript Language Service Pluginで未使用フィールドをなくす
                                                    • sqlglot/posts/sql_diff.md at main · tobymao/sqlglot

                                                      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. Dismiss alert

                                                        sqlglot/posts/sql_diff.md at main · tobymao/sqlglot
                                                      • TypeScriptパーサーのベンチマーク:Rustツールの性能の謎を解く

                                                        TL;DR: JavaScriptで使われるネイティブパーサーは、言語間の余分な作業のために常に速いとは限りません。これらのオーバーヘッドを回避し、マルチコアを使うことが性能にとって重要です。 Rustは、そのパフォーマンスと安全性の特徴から、JavaScriptエコシステムの中で急速に選択肢の一つになっています。しかし、RustをJavaScriptツールに統合することは、特に効率的で移植性の高いプラグインシステムを設計する際に、固有の課題をもたらします。 「JavaScriptツールをRustで書き直すことは、広範な外部貢献を必要としない速度重視のプロジェクトにとって有利です。」 ESLintの作者であるNicholas C. Zakas Rustは、その急な学習曲線のために難しいものになりがちで、さらにコンパイルされたバイナリを異なるプラットフォームに配布することも簡単ではありません

                                                          TypeScriptパーサーのベンチマーク:Rustツールの性能の謎を解く
                                                        • TypeScript Compiler API で Storybook を置換した話とその次の話

                                                          TECH STAND #6 TypeScript https://standfm.connpass.com/event/229027/ note PDFy https://note-pdfy.panda-program.com/ 「TypeScript Compiler API で40の…

                                                            TypeScript Compiler API で Storybook を置換した話とその次の話
                                                          • GitHub - ast-grep/ast-grep: ⚡A CLI tool for code structural search, lint and rewriting. Written 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. Dismiss alert

                                                              GitHub - ast-grep/ast-grep: ⚡A CLI tool for code structural search, lint and rewriting. Written in Rust
                                                            • 大規模コードベース向けASTツールのast-grepについて

                                                              大規模なコードベース向けの高速なASTツールとしてast-grepというものがある。これについての調査メモ。 主に以下の公式ドキュメントを読み進めて、利用方法、パターンやルールの詳細などについて理解を深める。 ast-grepとは 公式ドキュメントでは、コードの検索からLint、codemodに至るまでASTツールとして網羅的にカバーできるツールであることが以下のように表現されている。 Think ast-grep as an hybrid of grep, eslint and codemod. 結果に精度が求められる場面では、高速であるものの精密さに欠けるテキストベースではなく、ASTベースでの正確な解析の方が望ましいだろうけど、ASTでの記述は非常に面倒になりがちという側面がある。 その点においてast-grepは、テキストベースでのgrepではなく、ASTベースでのgrepというよ

                                                                大規模コードベース向けASTツールのast-grepについて
                                                              • OPA/Regoによる汎用的なGo言語の静的解析

                                                                TL; DR Go言語は様々な静的解析ツールがあるが、独自ルールのチェックなどをするには都度ツールを自作する必要がある 1つのツールでより汎用的なチェックができるように、汎用ポリシー言語のRegoでGo言語のAST(抽象構文木)を検査できるようにした 「第一引数に必ずcontext.Contextをとる」というルールをCIでチェックした様子 背景 Go言語では様々な静的解析ツールが提供されており、一般的なベストプラクティスが正しく記述されているか?については既存の静的解析ツールを利用することで概ね必要なチェックをすることができます。例えばセキュアなGoのコーディングをするためのツールとして gosec などがあり、自分も愛用させてもらっています。しかし、ソフトウェア開発におけるコーディング上のルールはベストプラクティスによるものだけでなく、そのソフトウェアやチームに依存したルールというのも

                                                                  OPA/Regoによる汎用的なGo言語の静的解析
                                                                • LRパーサーはいいぞ

                                                                  Kernel/VM探検隊@関西 11回目「LRパーサーはいいぞ」の発表スライド https://kernelvm.connpass.com/event/347564/

                                                                    LRパーサーはいいぞ
                                                                  • TypeScript Compiler APIを活用してi18nの不整合をチェックする - Commune Engineer Blog

                                                                    こんにちは。業務委託としてコミューンのグローバルチームでエンジニアをしているhiro08と申します。 グローバルチームでは主に海外展開に向けた開発や施策を行なっています。もし、グローバルチームに興味のある方は日本のSaaSスタートアップが世界で戦うためのプロダクトを開発するということも一読ください。 今回はグローバルチームでの開発の一部として、TypeScript Compiler APIを活用したi18nの不整合をチェックするツールを作成したお話をしようと思います。 背景 海外展開に向けた開発でまず思いつくのがi18n (多言語化) 対応ではないでしょうか。コミューンのプロダクトではi18nの対応が完了しており、すでに運用フェーズに入っています。 しかし、運用していく中で対訳データのキーやネームスペースの不整合に気づく仕組みがないことが課題点として挙がってきました。 i18nでは、ネーム

                                                                      TypeScript Compiler APIを活用してi18nの不整合をチェックする - Commune Engineer Blog
                                                                    • GitHub - zesterer/chumsky: Write expressive, high-performance parsers with ease.

                                                                      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. Dismiss alert

                                                                        GitHub - zesterer/chumsky: Write expressive, high-performance parsers with ease.
                                                                      • ts-blank-space

                                                                        What is ts-blank-space? ts-blank-space is a fast type-stripping compiler that converts TypeScript to JavaScript. It supports a modern subset of TypeScript by erasing the types and replacing them with whitespace. That's it. It is not a type checker and does not perform any other code transformations. The underlying technique can improve build performance and simplify development. The implementation

                                                                        • GitHub - oxc-project/oxc: ⚓ A collection of high-performance JavaScript tools.

                                                                          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. Dismiss alert

                                                                            GitHub - oxc-project/oxc: ⚓ A collection of high-performance JavaScript tools.
                                                                          • GraphQL 界の Babel こと Envelop を使ってスキーマの破壊的変更をごまかす

                                                                            この記事は LayerX のエンジニアブログがたくさん出る #ベッテク月間 の8記事目になります。こちらのカレンダーに、これまでの記事と今後出る予定がまとまっています。 LayerX のバクラク事業部には GraphQL Gateway というバクラク全プロダクトから参照される GraphQL スキーマが存在します[1]。今回の記事は、その GraphQL Gateway のスキーマをより良い状態にしていくためにぶつかった課題を強引に突破したときの話です。 モチベーション GraphQL スキーマの破壊的変更によって GraphQL Document がスキーマに適合しなくなる場合、そのリクエストはエラーになります。例えば以下のようなケースが考えられます: 使わなくなったフィールドを削除したい 削除されたフィールド(存在しないフィールド)を含む Document を処理することはできない

                                                                              GraphQL 界の Babel こと Envelop を使ってスキーマの破壊的変更をごまかす
                                                                            • GoのASTを解析してFeature Toggleを掃除する - freee Developers Hub

                                                                              この記事はfreee Developers Advent Calendar 2023の21日目の記事です。 こんにちは、金融開発部でEMをしている ogugu です。 今回は、Go言語において Feature Toggle の分岐を掃除するCLIを作ったので、ご紹介します。 ※ 毎年恒例の開発合宿 での成果になります。 Feature Toggle とは Feature Toggle とは、特定機能の有効・無効をフラグによって切り替える方法です。 金融開発部では、以下のように Feature Toggle を実現できるライブラリを用意しています。 if featflg.Enabled(ctx, "feature_name") { doNewLogic() } else { doOldLogic() } 一般に、フラグ設定は、設定ファイル・環境変数・ストレージなどから読み出し、それらに対する

                                                                                GoのASTを解析してFeature Toggleを掃除する - freee Developers Hub
                                                                              • GitHub - carthage-software/mago: Mago is a toolchain for PHP that aims to provide a set of tools to help developers write better code.

                                                                                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. Dismiss alert

                                                                                  GitHub - carthage-software/mago: Mago is a toolchain for PHP that aims to provide a set of tools to help developers write better code.
                                                                                • 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. Dismiss alert

                                                                                    GitHub - oxc-project/javascript-parser-in-rust: Tutorial on writing a JavaScript Parser in Rust

                                                                                  新着記事