並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 281件

新着順 人気順

typescript enumの検索結果1 - 40 件 / 281件

  • 今年俺を一番幸せにしたDX最高な奴ら10選

    みなさん、普段から開発者体験(DX)を気にしてますか? DXとは、開発中に感じる“心地よさ”や“効率の良さ”を指します。 車輪の再開発のようなDXを損なう体験がなければ開発はずっと楽しいんです! そこでこの記事では、「心から開発を楽しめる」相棒たちを10選紹介します! 1. Convex “SQLの呪縛”からの解放 歴史のあるSQLはどうしても、歴史に引っ張られます。 Supabaseとかを使ってると、Row Level SecurityやSQL Functionsとかで、死ぬほど書きにくいSQLを書かなきゃいけなくなることありますよね。まるでFirebaseの認証ルール並み。良くも悪くも結局SQLだから、隠しきれない歴史の重み、つまりDXの悪さがでてくる。 しかしConvexは一切そういうのはありません!!!! 全てがDXを中心に一から考えられて作られたサービス。そう、React時代のバ

      今年俺を一番幸せにしたDX最高な奴ら10選
    • 【C#】何故 C# を好むのか。~他の言語と比較しながら~ - ねののお庭。

      世の中には多くの C# に関する誤解が蔓延っています。 偏見にも満ちています。 そして技術的に正しい批判ではなく、根本的に技術的に誤った批判ばかりで正直悲しい。 技術的に正しい形の批判なら「お、そうだな。そしてそれの解決策はですねぇ...(ニヤニヤ)」となるのですが...。 そして C# 界隈から一歩出ると、「え、C# で作ってるの!?なんで??」とか言われる事が非常に多い始末。 C# 大好きマンとしては非常に嘆かわしい。 嘆かわしい限りなので、ここでなぜ C# を私が好むか、そして何故ソフトウェアの開発に向いているかを語りたいと思います。そして誤解が解けたら嬉しい。ついでに C# を書きたいと思ってくれたら嬉しい。 想定読者 前書きという名の予防線 事前知識: C# と .NET C# はパフォーマンスの高い言語 C# はビルドも高速 C# はオープンソースかつクロスプラットフォーム 言

        【C#】何故 C# を好むのか。~他の言語と比較しながら~ - ねののお庭。
      • Re: 僕らを縛る Node.js という呪いについて - あるいはなぜ TypeScript 以外が真っ当な選択肢にならなかったか

        Re: 僕らを縛る Node.js という呪いについて - あるいはなぜ TypeScript 以外が真っ当な選択肢にならなかったか https://d.potato4d.me/entry/20220405-nodejs/ へのアンサーソング。 プログラミング言語としての JavaScript の話をする。 2010年頃、Python 2 でプログラミングを学習した自分にとっては Node.js + CoffeeScript が Better Python だった。 CoffeeScript は当時の JS(ES3~5) に足りない機能を補ってくれて、Python と同じく空白制御のオフサイドルールなのが気に入った。見た目が少しだけ Ruby っぽいので当時全盛だった Rails の人間に訴求するにも有利だった。 Node.js のモジュールシステムである Commonjs は Pytho

          Re: 僕らを縛る Node.js という呪いについて - あるいはなぜ TypeScript 以外が真っ当な選択肢にならなかったか
        • バリデーション解体新書 - kawasima

          バリデーション解体新書 2025/4/8に開催した #アーキ部 『バリデーション解体新書』の内容を編集したものです。 バリデーションとは何か? 広義には、 何らかの処理を実施するにあたって、入力データが想定する条件を満たすかを検証する行為 と言える。 この定義で、アプリケーションのどこでバリデーションをしているのかを考えると、以下のように各層にそれが見られる。 このように実装される場所が散らばるので、「バリデーション」や「入力チェック」を分類して開発ガイドラインを作ることが多い。 例えば、大規模Java開発向けのTERASOLUNA開発ガイドラインを見てみると、 ユーザーが入力した値が不正かどうかを検証することは必須である。 入力値の検証は大きく分けて、 1. 長さや形式など、文脈によらず入力値だけを見て、それが妥当かどうかを判定できる検証 2. システムの状態によって入力値が妥当かどうか

            バリデーション解体新書 - kawasima
          • アルパカ証券 技術ノート|アルパカ証券の裏側 - はじめに

            こんにちは。shirou(@r_rudi) と申します。アーキテクトという名の雑用係をしています。 Alpaca Japanでは、2021年8月に「アルパカ証券」という証券サービスをはじめました。 この一連の文章は、アルパカ証券の裏側のシステムやその開発体制などについて述べたものです。なるべく証券分野に限らず説明していく予定ですので、証券サービスを立ち上げようとしている人たちにはもちろん、それ以外の方にも参考にしていただけるような文章を目指したいと思っています。 アルパカ証券とはアルパカ証券の詳細はホームページをご覧ください。また、第一種金融商品取引業者登録完了時のプレスリリースにも、「アルパカ証券」サービスの特徴が記載されています。 全体設計方針まず最初に、アルパカ証券を構成するシステムの全体設計方針について説明します。 マイクロサービス vs モノリシック設計は2018年中頃ぐらいから

              アルパカ証券 技術ノート|アルパカ証券の裏側 - はじめに
            • MCPでLLMに行動させる - Terraformを例とした tfmcp の紹介 - じゃあ、おうちで学べる

              はじめに こんにちは!今回は、私が最近開発した tfmcp というツールを紹介します。これは Terraform を LLM(大規模言語モデル)から操作できるようにするツールで、Model Context Protocol (MCP) を活用しています。 github.com このブログが良ければ読者になったり、GitHub リポジトリにStarをいただけると開発の励みになります。nwiizoをフォロワーしてくれるのもありがたいです。より良いツール開発のためのフィードバックもお待ちしています! MCP とは何か? 記事を始める前に、まず MCP (Model Context Protocol) について簡単に説明しましょう。MCP についてより詳しい情報は、公式ドキュメント modelcontextprotocol.io や Anthropic の Model Context Protoc

                MCPでLLMに行動させる - Terraformを例とした tfmcp の紹介 - じゃあ、おうちで学べる
              • 4 ステップでモダンな tsconfig.json を作る - mizdra's blog

                tsconfig.json を使うと、型チェックを緩く/強くしたり、また出力する JS の形式を変えたりできる。しかしいくつかの事情から、正しく書くのが難しい。 オプションの数が非常に多い その数なんと 133 個 *1 オプションの意味や役割が理解しにくい 公式ドキュメントは丁寧にかかれているが... JavaScript や TypeScript の仕様、型の知識、歴史的経緯などを知らないと理解しづらい 推奨されるオプションが変わっていく 言語やエコシステムの進化/変化によって変わる 最近だと Node.js の TypeScript サポートで変わった 「オプションの細かい意味とかは一旦いいから、モダンで最小限の tsconfig.json がすぐに欲しい!!!」。そうした声に応えて、id:mizdra がオススメする「4 ステップでモダンな tsconfig.json を作る方法」

                  4 ステップでモダンな tsconfig.json を作る - mizdra's blog
                • 社内で実施している「10分勉強会」のご紹介

                  マナリンクCTOの名人です。 2022年3月頃から社内で実施している「10分勉強会」という取り組みと、実際の内容についてざっくり紹介していきます。 10分勉強会の目的 10分勉強会の目的は以下のとおりです。 すぐに実務で使えるかは分からないけど、知っておいて損はないことを先に学ぶ機会を作る 実務にて学んだことで、他のメンバーにも知ってほしいと思ったことを共有する機会を作る 前者については、たとえば「新しいバージョンのPHPについて調べてみた」といった、すぐには役立たないがいずれ使うであろう知識が挙げられます。後者については、たとえば「ある施策の実装をきっかけにCSSの◯◯プロパティについて学びなおした」といった例が挙げられます。 (ちょっとあまり上手な図解ではない気がしますが)学習機会の必要性について図解してみました。 エンジニアがある施策Aを実装するには、最低限これさえ分かっていたら実装

                    社内で実施している「10分勉強会」のご紹介
                  • どのようにTypeScriptを使うのか - uhyo/blog

                    現在、TypeScriptの重要性は、フロントエンド開発を中心としてますます増すばかりであります。それだけに、TypeScriptをどのように使うべきかという問題については多様な意見が見られます。 これまで筆者はTypeScriptの使い方に、特にコンパイラオプションの使い方について意見を散発的に発信してきましたが、このたび記事にまとめました。この記事では、特に次のような意見に対しての反対意見を述べます。 厳しいコンパイラオプションは型パズル愛好者のためのものであり、普通の人は細かいことを気にせず緩い設定でよい。熟練のJavaScript使いにはTypeScriptは必要ない。例え話最近はTypeScriptを補助輪に例えたりするのが流行っていますので、この記事でも例え話をしてみます。筆者の考えでは、TypeScriptというのは例えるならば料理人が使う包丁のようなものです。コンパイラオプ

                      どのようにTypeScriptを使うのか - uhyo/blog
                    • RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも!|ハイクラス転職・求人情報サイト アンビ(AMBI)

                      ハイクラス求人TOPIT記事一覧RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも! RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも! 安全性に大きな特徴があるプログラミング言語Rustは、C言語やC++に代わるシステム記述言語として注目されてきました。しかし、その安全性とパフォーマンスの高さにより、ビジネスアプリケーションの構築にも採用されています。この記事ではキャディ株式会社による事例を紹介します。 こんにちは。キャディ株式会社バックエンドエンジニアの松田と申します。 キャディ株式会社では、「モノづくり産業のポテンシャルを解放する」をミッションとして、製造業分野に関連するさまざまなソフトウェアの開発を行っています。また、そのための主要な開発言語としてRustを採用

                        RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも!|ハイクラス転職・求人情報サイト アンビ(AMBI)
                      • DB に JSON を保存したいときに Protobuf を使うと便利 #LayerXテックアドカレ - LayerX エンジニアブログ

                        こんにちは。バクラク事業部 Enabling チームの @izumin5210 です。最近「HUNTER×HUNTER」の既刊を全部読みました。 この記事はLayerXテックアドカレ2023の9日目の記事です。 前回「1人目データアナリストとしてデータチームに異動しました 」 次回「Slack × Zapier × MiroでKPTでの振り返りをラクにする」 RDB や KVS などのデータ保存先において、データを正規化せずにそのまま保存したいと思うことはありませんか? 8月にリリースされた「バクラク請求書発行」というプロダクトには「柔軟なレイアウトカスタマイズ」機能が搭載されています。リンク先の画面操作イメージを見ていただくと、この機能の雰囲気を理解していただけると思います。この機能が扱うレイアウトデータはまさに「関係の正規化をせずに保存したいデータ」でした。 bakuraku.jp こ

                          DB に JSON を保存したいときに Protobuf を使うと便利 #LayerXテックアドカレ - LayerX エンジニアブログ
                        • RustでWebバックエンドを書き始めてから1年くらい経った

                          はじめに 僕はDeno Land Inc.でDenoを利用したサーバレスエッジホスティングサービスのDeno Deployを開発するチームに所属しています。OSSのほうのDenoのメイン言語はRustで、Deno Deployのバックエンドも同様にRustで書かれています。 今年のアドベントカレンダーで一休さんから以下の記事が公開されましたが、日本でもRustをWebバックエンドの言語として採用する企業がじわじわと増えてきている印象があります。 Deno DeployのバックエンドをRustで開発してきて、RustでWebバックエンドを書くことのメリットやデメリットをいくつか感じたので、この記事で紹介したいと思います。 Deno Deployの構成 まず、ざっくりとDeno Deployのバックエンドの構成を紹介します。 多くのコンポーネントがありますが、ここではどのようにRustを利用し

                            RustでWebバックエンドを書き始めてから1年くらい経った
                          • 人間は意図、AIは実装:Codexが導く「要件を伝えるだけ」のAI駆動開発ワークフロー | CyberAgent Developers Blog

                            はじめに 特に、OpenAIのCodexに代表される「大規模なコードコンテキストを理解するAIモデル」のポテンシャルを最大限に引き出すため、各フェーズで使用するプロンプト、AIの予想出力、そしてコンテキスト管理の方法を具体的に紹介します。 この記事で学べること Codex等のコード生成モデルを「単なる補完」ではなく「開発パートナー」にするプロンプト術 AI駆動開発の各フェーズにおける具体的なプロンプトの書き方 UIワイヤーフレームをAIに生成させる方法 コードベースだけでなくJSONを用いたプロジェクト進捗・コンテキスト管理 小規模Webアプリ開発に最適化されたワークフロー 目次 プロジェクト概要 Phase 0: プロジェクト構想 Phase 1: プロジェクト初期化 Phase 2: 要件定義・ドメインモデリング Phase 3: アーキテクチャ設計・技術スタック選定 Phase 4:

                              人間は意図、AIは実装:Codexが導く「要件を伝えるだけ」のAI駆動開発ワークフロー | CyberAgent Developers Blog
                            • TypeScript の「型安全」を担保するために知っておきたかったこと - OITA: Oika's Information Technological Activities

                              タイムリープTypeScript 〜TypeScript始めたてのあの頃に知っておきたかったこと〜 アドベントカレンダー1日目の記事になります。 よろしくお願いします。 3行で TypeScript で安全に型を扱う勘所は以下2点だと思いました。 最初から最後まで型が壊れていないことを保証する 型が壊れる可能性があるものは壊れている前提で扱う 個人的背景と前提 もともと C# での開発をメインとしていました。 Web開発は、JavaScript歴 ≒ TypeScript歴くらいの型付依存者です。 そのため、型付けのゆるい言語に対する耐性がなく、本内容もそういうポジションからの見解になります。 本記事内のサンプルコードは TypeScript V4.4 で挙動を確認しています。 最近のバージョンで変更のあった点は脚注を入れています。 最初から最後まで型を壊さない C# という静的型付け言語

                                TypeScript の「型安全」を担保するために知っておきたかったこと - OITA: Oika's Information Technological Activities
                              • TypeScript 10年の歩み - Qiita

                                Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? TypeScriptは、2022/10/01に10周年を迎えました。 ということで、それを記念してMicrosoftの中の人が振り返りのエントリーを書いていました。 以下は該当の記事、Ten Years of TypeScriptの紹介です。 Ten Years of TypeScript 2022年10月1日は、TypeScript10歳の誕生日です。 10年前の今日、2012年10月1日に、TypeScriptは初めて公にされました。 The Early Days 初めてTypeScriptが表に現れたとき、それももっともなことでし

                                  TypeScript 10年の歩み - Qiita
                                • 個人で静的型付け言語のコンパイラをフルスクラッチで作れる時代が来た! - Islands in the byte stream

                                  今年に入ってからふと思いつきで新しいプログラミング言語 "Wado" (ワドゥ)を設計しつつagentic codingで実装したところ、なんと3週間ほどで基礎的なところができちゃいました。実装的にはまだ本当に基礎的なところで、B-Tree Mapを実装できる程度です*1。 github.com このWadoは、2026年1月3日にinitial commitが行われました。それから一ヶ月も経っていない今、静的型付け、ジェネリクス、トレイトおよびトレイトによる演算子オーバーローディング、クロージャ、モジュールシステム、shebangによるペライチスクリプトの実行、そして実用的なパフォーマンスを備えた処理系が動いています。 開発者は私一人です。スタートアップでVP of Technologyとして働きながら、二人の子供(mfxとrfx)を育てる傍らでの開発です。コードの100%以上はコーディ

                                    個人で静的型付け言語のコンパイラをフルスクラッチで作れる時代が来た! - Islands in the byte stream
                                  • 【第2回】TypeScriptもウェブも仕様や原理から楽しむ | GeeklyMedia(ギークリーメディア) | Geekly(ギークリー) IT・Web・ゲーム業界専門の人材紹介会社

                                    2022年4月に著書『プロを目指す人のためのTypeScript入門』が発売された鈴木僚太さん(https://twitter.com/uhyo_)。QiitaやTwitterでは「うひょ(uhyo)」さんとして、TypeScriptやフロントエンドの話題を中心にウェブ技術に対する踏み込んだ解説でも知られています。 著書ではあえて触れられなかったという「TypeScriptでウェブアプリケーションをどう書くか」という観点へのヒント、なぜそれを書かなかったのか、そして仕様や原理に立ち返って自ら考えることの楽しさについて、株式会社一休CTOの伊藤直也さん(https://twitter.com/naoya_ito)が聞き出します。 ・伊藤 直也さん / 株式会社 一休 執行役員 CTO 新卒入社したニフティ株式会社でブログサービス「ココログ」を立ち上げ、CTOを務めた株式会社はてなでは「はてな

                                    • 生成AIでJavaScript/TypeScriptを扱うときに設定しておきたい ESLintルール - プププなテクブ

                                      このエントリはTSKaigi Mashup Kansai 生成AIでTSを扱うときに考えたい設計&ガードレールでの発表内容です。登壇資料をブログとして読めるように再構成して公開しています。 はじめに 去年あたりは「ジュニアエンジニアレベルと思ってね」と公式各所から言われていたコーディングエージェントも、もはやそのレベルを超えてきました。 今や副操縦席に座っているのは人間の側です。しかし、AIが機長だからといって自由に飛行機を操縦してよいかというとそうではありません。決められた航路や離着陸の手順を守る必要があり、そこを外れないガードレールが必要です。 またこれはAIに限った話でもありません。AIであれ人間であれ、「開発者」はもれなく全員が決められたルールに違反しないようコードを書くべきです。またレビュワーも完璧ではありません。問題に気づかないまま変更を承認してしまうこともあるでしょう。 なの

                                        生成AIでJavaScript/TypeScriptを扱うときに設定しておきたい ESLintルール - プププなテクブ
                                      • Rails+Next.jsでGraphQLを導入する時に考えたこと - Timee Product Team Blog

                                        こんにちは、タイミー開発プラットフォームチームで業務委託として働いている宮城です。 タイミーはリリースから4年が経過したプロダクトで、2022年の前半から一部領域でGraphQLを利用し始め現在導入を進めています。 本記事では、GraphQLをプロダクトに導入する上で判断に迷った箇所や課題に対して、タイミーでの意思決定とその理由を紹介します。参考にしていただければ幸いです。 GraphQLの選定理由についてはこの記事では触れませんが、CTOの@kameike が以下のイベントで詳しく紹介する予定です。まだ参加申し込みは可能ですので、興味がある方はぜひ合わせてご覧ください。 timeedev.connpass.com なお、本記事のタイトルはソウゾウさんの以下の記事にインスパイアされています。 engineering.mercari.com GraphQLの「Getting Startedの

                                          Rails+Next.jsでGraphQLを導入する時に考えたこと - Timee Product Team Blog
                                        • TypeScriptで「選択肢」の定義をEnum的な定数にまとめる――satisfiesとSSoTもあるよ

                                          ソート順の選択プルダウンがある一覧系ページを実装するとき、選択肢たちの管理方法に頭を悩ませることが多いと思います。 商品一覧ページの概要 ソート順プルダウンの選択肢たち 上の画像に示したような場合だと、 《クエリパラメータ》と《選択肢》の間の相互変換 ?sort=price&order=desc <--> 「価格が高い順」 《select の状態に使うための文字列》と《選択肢》の間の相互変換 <option value={id}>{label}</option> クエリパラメータが sort order の2つあり、それらをそのまま流用できないので 最低限でも、これらの変換ロジックを用意しておく必要がありますね。 この記事では、このような「選択肢と、それにまつわる変換ロジック群」を整理する方法を、高凝集・SSoT (Single Source of Truth; 信頼できる唯一の情報源)

                                            TypeScriptで「選択肢」の定義をEnum的な定数にまとめる――satisfiesとSSoTもあるよ
                                          • Reactの技術質問!!これで面接を圧倒すべし!

                                            最近フロントエンドの副業案件の面接を受けていて、聞かれた技術質問や準備しておいた方が良い質問をまとめます。(実務経験 約2年) 今回何回か面接をしましたが、正直技術質問って普段普通に実装していてもそれを言語化して答えるのって結構難しいです。 面接はコミュ力ではなくて準備力です! しっかり準備して挑みましょう! 前提 面接を受けたときのスキル感は下記です。 フロントエンドが主戦場で、api周りはNode.jsで基本的なApiであれば対応可能。 インフラはそこまで経験なしといった感じです。 応募ポジション: フロントエンドエンジニア 応募先のフロントエンドスタック: Next.js, TypeScript 実務経験: 1年8ヶ月 言語、フレームワークの実務経験年数 Nuxt.js(Vue) ... 1年8ヶ月 Next.js(React) ... 半年(個人開発では2年触っている) TypeS

                                              Reactの技術質問!!これで面接を圧倒すべし!
                                            • 初めてのTypeScript

                                              TypeScriptの本格的な入門書。TypeScriptは、世界で最もよく使われ、かつ最も好まれているプログラミング言語の1つです。本書では、JavaScriptの基礎的な知識のあるプログラマーを対象に、「型」や「型システム」の基本から、明快かつ包括的にTypeScriptを解説します。TypeScriptはバグやタイプミスを防ぎ、コードを読みやすくするのに有用なだけでなく、JavaScriptがどのように動くべきかを宣言し、それを維持するのに役立つ優れたシステムです。読者は本書を読むことで、TypeScriptの基礎と最も重要な機能をマスターできるでしょう。 賞賛の声 監訳者まえがき まえがき 第I部 TypeScriptの概念 1章 JavaScriptからTypeScriptへ 1.1 JavaScriptの歴史 1.2 バニラJavaScriptの欠陥 1.2.1 コストのかかる

                                                初めてのTypeScript
                                              • Node.jsでネイティブにTypeScriptを実行できる「Type Stripping」機能が安定版に到達。Node.js v25.2.0

                                                Node.jsでネイティブにTypeScriptを実行するための機能「Type Stripping」が、11月11日にリリースされた新バージョン「Node.js v25.2.0」で安定版になったことが発表されました。 これにより本番環境などでもType Stripping機能を用いたTypeScriptファイルの実行が安心してできるようになりました。 Node.jsはTypeScriptをサポートしていなかった Node.jsはもともとサーバサイドのJavaScriptランタイムとして開発されたため、JavaScriptのスーパーセットであるTypeScriptの型指定や高度な命令などには対応していません。 Node.jsでTypeScriptファイルを実行するには、TypeScriptトランスパイラを用いてJavaScriptに変換するなどの方法があります。 この方法を用いたts-nod

                                                  Node.jsでネイティブにTypeScriptを実行できる「Type Stripping」機能が安定版に到達。Node.js v25.2.0
                                                • TSKaigi資料まとめ

                                                  非常に学びが多く、刺激的な時間でした。…が、あまりに内容が濃く、逆に記憶に残らない! そんな自分のために、登壇者の方が公開してくださっている資料をまとめました。 もともとは完全に自分用のメモなのですが、「こんなの欲しかった」と思ってくださる方がいればと思い、共有してみます。 内容に誤りや抜けがあれば、ぜひコメントなどでご指摘いただけると嬉しいです。修正していきます! ※本記事では、TSKaigi 2025の各登壇者が公開されている資料・概要を引用・紹介しています。 ※引用元・登壇者情報は公式サイトおよび各スライド共有サービスからのリンクに基づいています。 ※内容の正確性については各登壇資料をご確認ください。 2025/05/23 Room: トグル 招待講演 The New Powerful ESLint Config with Type Safety Introduction to th

                                                    TSKaigi資料まとめ
                                                  • Announcing TypeScript 5.0 - TypeScript

                                                    Today we’re excited to announce the release of TypeScript 5.0! This release brings many new features, while aiming to make TypeScript smaller, simpler, and faster. We’ve implemented the new decorators standard, added functionality to better support ESM projects in Node and bundlers, provided new ways for library authors to control generic inference, expanded our JSDoc functionality, simplified con

                                                      Announcing TypeScript 5.0 - TypeScript
                                                    • Rustで始めるwebフロント開発。フロントエンジニアのためのRustメモリ管理入門

                                                      この記事は、Supershipグループ Advent Calendar 2021の23日目の記事になります。 はじめまして。まさやんです。 普段はバックエンドをメインで書きつつ、フロント書いたり、AWSでインフラ構築したりと色々やらせてもらってます。 今回は、フロントエンドをメインにやってる人が、rustを始める時に参考になる記事を書こう!と思い立ち、書いてみました。 この前、JSConfの講演を聴いてて、rustの話もどんどん増えているなあと思ったのがきっかけです。 近いうちに、フロントの人もrust触れないとね〜、という時代になるかもなので、自身の学習も兼ねて整理してみました。 自分がつまずいたり、勉強する時参考になったなーという情報を整理して、最後にrustのフレームワークを紹介して終わりにします。 そこそこ長いので、休み休み読んでください。 対象読者 フロントエンドを書いていて、最

                                                        Rustで始めるwebフロント開発。フロントエンジニアのためのRustメモリ管理入門
                                                      • Node.jsのTypeScriptサポートについて

                                                        README.md Node.jsのTypeScriptサポートについて Created: 2024-07-28 Updated: https://gist.github.com/azu/ac5dafbf211ef8b5ecf386930ac75250/revisions Node.jsのTypeScriptサポートに関する議論を時系列でまとめたものです。 Start Issue: Support typescript with --experimental-strip-types · Issue #208 · nodejs/loaders SWCを使ってTypeScriptの型を削除することで、Node.jsのTypeScriptサポートを実現するという提案からスタートした。 最初の懸念としては、Node.jsのLTSは3年保守する必要があるので、依存によってNode.jsのLTSサポー

                                                          Node.jsのTypeScriptサポートについて
                                                        • TypeScriptプロジェクトにスキーマ駆動開発を持ち込み、より型安全な世界へ - Sansan Tech Blog

                                                          Bill One Entry*1グループの秋山です。 本題に入る前にお知らせです。9/12 (火) にTypeScriptを活用した型安全なチーム開発をテーマとしたイベントを開催します。 ぜひ、お気軽にご参加ください! sansan.connpass.com 1. はじめに 1-1. スキーマ駆動開発とは 1-2. Testing Trophyとの関係性 2. 構成 2-1. 最初の構成と課題 2-2. 最終的な構成 3. バックエンド 3-1. スキーマから型ファイルを作る 3-2. APIハンドラに型を与える 3-3. バリデーターを追加する 3-4. huskyでスキーマ変更を検知する 4. フロントエンド 4-1. スキーマからAPIクライアントを作る 5. パターンマッチングを持ち込む 6. まとめ 1. はじめに 1-1. スキーマ駆動開発とは 詳しい解説は他の記事に譲り、一言

                                                            TypeScriptプロジェクトにスキーマ駆動開発を持ち込み、より型安全な世界へ - Sansan Tech Blog
                                                          • TSKaigi 2025「TypeScriptとは何であって何でなく、誰のもので、どこへ向かうのか」スピーカーノート

                                                            TSKaigi 2025「TypeScriptとは何であって何でなく、誰のもので、どこへ向かうのか」スピーカーノート 導入 今日は「TypeScriptとは何であって何でなく、誰のもので、どこへ向かうのか」というタイトルでお話させていただきます。よろしくお願いします。 まず最初に、軽く自己紹介をさせていただきます。Suzuki Sosuke と申します。ユビー株式会社でソフトウェアエンジニアをしています。今日ブースやってるので遊びにきてください。あと趣味でPrettierというコードフォーマッターのメンテナンスをしたり、WebKitのReviewerをやっていたりします。WebKitといってもJavaScriptCoreの部分だけなんですけどね。 で、トークの方に移っていくんですが、今回のトークのタイトル、まるで基調講演のような壮大なタイトルだなと思われるでしょう。自分でもめちゃくちゃそう

                                                              TSKaigi 2025「TypeScriptとは何であって何でなく、誰のもので、どこへ向かうのか」スピーカーノート
                                                            • 【TypeScript】enumを使ったっていいじゃないか

                                                              TypeScriptで定数をどのように表現するか、というのは意外に意見が分かれるテーマです。本稿では、enumの特徴とその代替手段を整理し、何を採用すべきかを考えてみます。 enumを推奨しないという意見が多いのは知っていても、何故そう言われているのか、を理解していますか? 「使ってはダメ」と思考停止するのではなく、この記事を読むことでメリット・デメリットを理解して自分で選択できるようになる、かもしれません! 列挙型(enum)とは enumはJavaScriptにはないTypeScript独自の構文で、定数を集合としてまとめて扱うことができます。 enum Mode { Auto = 'Auto', UDP = 'UDP', TCP = 'TCP', } const mode: Mode = Mode.Auto

                                                                【TypeScript】enumを使ったっていいじゃないか
                                                              • Rust始めてみた。JSONフォーマッターを作ってみた | stin's Blog

                                                                唐突にRustを使ってみたいと思ったので勉強を始めてみました。 始めた理由始めてみたかった理由は色々あります。 まずはやはりフロントエンド開発ツールが色々とRustで実装されることです。VercelはTurborepoとTurbopackをRustで実装していますね。JavaScriptコンパイラのSWCもRustで実装されています。あとは、uhyoさんのnitrogqlもRustで作られていて、おもしろいなと思いました。そんな感じで、コンパイラ実装でRustがよく使われていることと、ビルドツールなどのテキスト処理に興味があったのが1つ目の理由です。 あとは、Tauriですね。ふとデスクトップアプリを作りたいと思ったときにTauriを調べたんですが、TauriのバックエンドをRustで書けたらかっこいいなと思いました。普通にJavaScriptでも書けるらしいんですが、かっこよさ重視です。

                                                                  Rust始めてみた。JSONフォーマッターを作ってみた | stin's Blog
                                                                • 【LINE証券 FrontEnd】Recoilを使って安全快適な状態管理を手に入れた話

                                                                  こんにちは。LINEフィナンシャル開発センター フロントエンドエンジニアの峯です。 先日新卒としてLINE証券プロジェクトに配属となり、最初のタスクとしてRecoilによる状態管理の導入に取り組みました。 その際、なぜRecoilにしたのか、また本番開発にRecoilを使うにあたって設計に気をつけたことなどを本記事でご紹介しようと思います。 技術選定 いままでの状態と課題 LINE証券フロントエンドではReact+Typescriptによる開発を採用しており、いままでのグローバルな状態管理にはUnstated を用いていました。 Unstatedでは Container classを状態の単位とし、その内部の stateを setState によって更新します。状態を使用したいコンポーネント側では、<Subscribe> コンポーネントによって情報を読み出すことができます。 一方ご存知の通

                                                                    【LINE証券 FrontEnd】Recoilを使って安全快適な状態管理を手に入れた話
                                                                  • 【個人開発】爆速な賃貸検索サービスをさらに高速化した【Rust】 - Qiita

                                                                    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 個人で運営している賃貸物件の検索サービス Comfy のバックエンドを Rust でリプレースしました。この記事では、そのリプレースの背景と詳細をご紹介します。 まずは結果から 技術構成: Rust + Cloud Run1 へ移行 (Python + GCE2 から) 性能向上: 約 1.5 倍 開発期間: 1 ヶ月間 コード行数: 約 40 % インフラ費用: かなり減少 (多分3) 短い期間・少ないコードでかなり高速化できちゃった上に、開発体験もとてもよい Rust は本当に素晴らしいです…!! サービス概要 Comfy は 日本

                                                                      【個人開発】爆速な賃貸検索サービスをさらに高速化した【Rust】 - Qiita
                                                                    • 「プロを目指す人のためのTypeScript入門」読書感想

                                                                      @uhyo さんのTS本ということで読んでいます。 一応入門書という位置づけなので、社内での育成に活用したい目線。 とはいえ自分でも学べるところ多そう、特にTSのd.tsみたいなモジュールまわり理解弱いので… 全体的な感想 4章(関数)、6章(高度な型)が特によかった。 (5章が入ってないのは自分がクラス使わないからなので、使う人だったら5章も入ってると思う) 自分も何年かフロントエンドエンジニアとしてやっているのでさすがにだいたいは知っている内容のおさらいになったけど、それでもふわっとした理解が適切に言語化だったり、コーナーケースの知らない挙動など発見は沢山あった。 特に育成には有用だなと思った。6章の内容は理論と実践の話のバランスが良く、レベル的にもそれなりにTS書いてる人でも知らないこと全然ありそうな内容だったので、自分のチームのメンバーにも少なくとも6章は読んでもらいたい。勧めます

                                                                        「プロを目指す人のためのTypeScript入門」読書感想
                                                                      • 「コンセプトから理解するRust」を読んでRustに入門する - パンダのプログラミングブログ

                                                                        3年前に抱いていた Rust に対するイメージ 「コンセプトから理解するRust」(Amazon)という書籍を読んで Rust に再入門してみました。 実は2019年に Rust のチュートリアルである「The Rust Programming Language」(通称 TRPL)を写経したことがあります(GitHub)。 しかし、当時の自分は PHP のバックエンドエンジニアとしての経験が2年ちょっとあるくらいで、TypeScript にもまだ入門しておらず静的型付け言語の経験はほとんどなかったように記憶しています。 当時から Rust は所有権などの概念が難解で初心者を拒むものの、 Stack Overflow のアンケートで開発者から人気な言語として高い地位を誇っているというイメージがありました。 https://twitter.com/Panda_Program/status/11

                                                                          「コンセプトから理解するRust」を読んでRustに入門する - パンダのプログラミングブログ
                                                                        • OpenAPI Generatorに適したOpenAPIの書き方 - ZOZO TECH BLOG

                                                                          はじめに こんにちは! WEARバックエンドブロックの高久です。 WEARではOpenAPI(Swagger)を使って、アプリやWebのクライアントが利用するAPIを定義しています。そして先日、開発効率化のためにOpenAPI GeneratorでOpenAPIからAPIクライアントコードを自動生成、活用できるように整備をしました。その中でOpenAPI Generatorに適したOpenAPIの書き方のポイントがいくつかあったので、内容を紹介していきます。 想定読者 OpenAPIを現在利用している、またはこれから利用する予定の方 OpenAPI Generatorを利用したコード自動生成を検討している方 背景 当初WEARではAPIクライアントコードはOpenAPIでのAPI定義を基に各クライアントが手動で実装していました。しかし手動で実装すると初期の実装コストや変更時の追従コストがか

                                                                            OpenAPI Generatorに適したOpenAPIの書き方 - ZOZO TECH BLOG
                                                                          • 「TypeScriptが当たり前」になった世界において、ESモジュール本来の運用に必要な考え方と設定とは - Findy Media

                                                                            こんにちは、藤吾郎(gfx)と申します。Starleyという会社でおしゃべりAIアプリ「Cotomo」を開発しています。TypeScript歴は10年くらいです。 はじめに - TypeScriptが当たり前になった世界今年(2025年)はTypeScriptがリリースされて13年、ESモジュールが導入されたES2015のリリースから10年が経ちます。今やJavaScriptプロジェクトにおいては、TypeScriptが当たり前の世界になってきました。つまり「JavaScriptプロジェクトの実装言語のデフォルトはTypeScript」という状況にかなり近づいています。 TypeScriptが当たり前の世界とは、JavaScript処理系がデフォルトでTypeScriptをサポートしている世界のことです。Node.jsでTypeScriptサポートが始まり、BunやDenoのように最初から

                                                                              「TypeScriptが当たり前」になった世界において、ESモジュール本来の運用に必要な考え方と設定とは - Findy Media
                                                                            • TypeScript で仕様が一目瞭然な定数ファイルを書く

                                                                              オブジェクトの中に、定数をフラットに列挙しただけの定数ファイルを書いていませんか? 私は、フロントエンドの開発において、 JavaScript の簡潔なオブジェクト記法 TypeScript による型チェック / IDE 等による入力補助 を活用した保守性の高い定数ファイルの書き方を日夜研究しているので、4つのポイントに着目して解説しようと思います。 ▼ Enum 的な記述についてまとめた記事です。本記事を読んだあとで、こちらもチェックしてみましょう。 (2024/10/15 訂正)「オブジェクト-キー」形式(genre.name)より 「疑似的な名前空間」形式(genre_name)が無難 この記事においては、以下のようなオブジェクトに定数たちをまとめることを推奨していました。この形式を 「オブジェクト-キー形式」 と呼ぶことにします。 object.key の形式にすることによって、E

                                                                                TypeScript で仕様が一目瞭然な定数ファイルを書く
                                                                              • Haskellでゲームボーイエミュレータ - bercriber’s diary

                                                                                Haskell Advent Calendar 2024 3日目の記事です。 TypescriptやZigでゲームボーイエミュレータを書いたことがあったのでHaskellでも試して見ました。CPUまで書いて力尽きたのでゲームは遊べません。自分でゲームボーイエミュレータ書いてみたいという方はgbdev.ioを見ればだいたいなんとなくおおよそたぶんわかるかと思います。 エミュレータはCPUの命令を実行するたびにレジスタやメモリなどを逐次更新していくことになるのでミュータブルの方が効率が良いと思います。素直にIORefやVector.Mutableなどを使うのがよいと思うわけですが、StateMとLensを使えばミュータブルっぽいインターフェイスですっきり書けそうな気がしました。気がしたんです。 type CPU a = StateT CPUState (StateT MBCState (Sta

                                                                                  Haskellでゲームボーイエミュレータ - bercriber’s diary
                                                                                • Optimizing Javascript for fun and for profit

                                                                                  I often feel like javascript code in general runs much slower than it could, simply because it’s not optimized properly. Here is a summary of common optimization techniques I’ve found useful. Note that the tradeoff for performance is often readability, so the question of when to go for performance versus readability is a question left to the reader. I’ll also note that talking about optimization n