並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 183件

新着順 人気順

*Javascriptの検索結果1 - 40 件 / 183件

  • Webサービス公開前のチェックリスト

    個人的に「Webサービスの公開前チェックリスト」を作っていたのですが、けっこう育ってきたので公開します。このリストは、過去に自分がミスしたときや、情報収集する中で「明日は我が身…」と思ったときなどに個人的にメモしてきたものをまとめた内容になります。 セキュリティ 認証に関わるCookieの属性 HttpOnly属性が設定されていること XSSの緩和策 SameSite属性がLaxもしくはStrictになっていること 主にCSRF対策のため。Laxの場合、GETリクエストで更新処理を行っているエンドポイントがないか合わせて確認 Secure属性が設定されていること HTTPS通信でのみCookieが送られるように Domain属性が適切に設定されていること サブドメインにもCookieが送られる設定の場合、他のサブドメインのサイトに脆弱性があるとそこからインシデントに繋がるリスクを理解してお

      Webサービス公開前のチェックリスト
    • DNSを変更するとネットワークは速くなるか | IIJ Engineers Blog

      はじめに あえてどことは言いませんが、先日某サイトで「ネット速度を高速化する方法」としてDNSサーバの設定をpublic DNSサービスに変更する記事が出てました。その記事の結論としては「変更しても大差ない」というものでしたが、DNSでネットワークを高速化するというこのような記事は何年も前からときどき見かけます。いい機会なので、このあたりについてもう少し深く掘り下げて考えてみましょう。 ※この記事では、とくに明示しなければDNSサーバとはキャッシュDNSサーバ(フルサービスリゾルバ)を指すものとします。 DNS応答の速さ DNSの設定を変えることによりネットワークの速度が速くなるとすれば、(1)DNSそれ自体の応答が速くなるか、(2)その後のWebアクセスが速くなるか、のどちらか(または両方でしょう)。このそれぞれについて検討してみましょう。 前者が速くなると画像やJavascriptなど

        DNSを変更するとネットワークは速くなるか | IIJ Engineers Blog
      • 徳丸さん、こんにちは。 読売のような大手メディアのサイトでもサポート詐欺の偽警告が表示されるようになってしまいましたし、今の時代は広告ブロッカーが必須と考えたほうが安全なのでしょうか? | mond

        徳丸さん、こんにちは。 読売のような大手メディアのサイトでもサポート詐欺の偽警告が表示されるようになってしまいましたし、今の時代は広告ブロッカーが必須と考えたほうが安全なのでしょうか? 徳丸が書いていないことを質問いただくことが時々ありますが、私が書いてないのは書きたくない理由があるから(単にめんどうくさいも含む)です。ですが、せっかく質問いただいたので、思うところを書いてみようと思います。 まず、私自身は広告ブロッカーを使っていないです。その理由は、広告ブロッカーには危険なものがある(原理的にあり得るし、過去にあった)からです。過去には、広告ブロッカーが元の開発者から売却され、マルウェア化した例が複数あります。具体例は示しませんが、検索するとすぐに見つけられると思います。 広告ブロッカーがマルウェア化すると、これらはブラウザアドオンの形で動くため、非常に強い権限があり、すべてのサイトの情

          徳丸さん、こんにちは。 読売のような大手メディアのサイトでもサポート詐欺の偽警告が表示されるようになってしまいましたし、今の時代は広告ブロッカーが必須と考えたほうが安全なのでしょうか? | mond
        • ブラウザ開発者ツールのネットワークタブに表示されない情報送信手法 - Qiita

          はじめに はじめまして、セキュリティエンジニアのSatoki (@satoki00) です。今回はブラウザの開発者ツールのネットワークタブから隠れて、Webサイト内の情報を送信する手法をまとめます。所謂Exfiltrationというやつです。中にはCSPの制限をBypassするために用いられるテクニックもあります。CTFなどで安全に使ってください。 前提 発端はWeb上でテキストの文字数をカウントできるサイトが閉鎖する際の話です。カウント対象のテキストデータがサイト運営 (やサイトを改竄した攻撃者) に盗み取られていないかという議論が巻き起こっていました。「盗み取られていない」側の主張は、ブラウザの開発者ツールのネットワークタブにリクエストを送信した形跡がないというものでした。ここで ブラウザの開発者ツールのネットワークタブに表示がなければ外部へデータを送信していないのか? といった疑問が

            ブラウザ開発者ツールのネットワークタブに表示されない情報送信手法 - Qiita
          • 唐突に使っているChrome拡張を紹介 - laiso

            ページ閲覧 AutoPagerize chromewebstore.google.com ページネーションされたウェブページを自動で読み込み続けます。無かったら違和感あるレベルで日常になっています。 daily.dev chromewebstore.google.com 開発者向けニュースを空タブに表示します。 タブを開くときに自然に視界に入るのに加えて、検索で「過去話題になったもの」から探したりします(はてなブックマークやHacker Newsも似た用途で使います) ホームタブとは別です。ホームはperplexity.aiにしてます。 Google Scholar PDF Reader chromewebstore.google.com 標準のPDFビュワーを科学論文を読みやすく強化します。参考文献の追跡や引用、ジャンプ機能を提供します。ついでに官庁資料やクリプト系のホワイトペーパーなど

              唐突に使っているChrome拡張を紹介 - laiso
            • 生成AIに疑似コードで指示すると自然言語よりも効率的にプログラムが生成できるというアイデアから生まれた、生成AI用の疑似言語「SudoLang」

              生成AIに疑似コードで指示すると自然言語よりも効率的にプログラムが生成できるというアイデアから生まれた、生成AI用の疑似言語「SudoLang」 ChatGPTやCopilotなどの生成AIを用いてコードを生成しようとすると、多くの場合プロンプトを自然言語で書くことになるでしょう。 しかし自然言語で的確にプログラムの内容を表現するのは、ときに面倒だったり、あいまいさを排除することが難しかったりします。 一方で、プログラマが自分でコードを書こうとするとき、あるいは他のプログラマとコードの内容を議論するときに、自然言語をプログラミング言語のような構文で書く、いわゆる「擬似コード」を使うことがよくあります。 例えばこんな風に自然言語をコードっぽくホワイトボードに書いたことのあるプログラマの方は多いのではないでしょうか? 入力値を処理するための関数(A、B){ Aは数字かどうか確認する Bは日付か

                生成AIに疑似コードで指示すると自然言語よりも効率的にプログラムが生成できるというアイデアから生まれた、生成AI用の疑似言語「SudoLang」
              • 【2024年最新版】0からReactを勉強するならこのロードマップに従え! - Qiita

                はじめに こんにちは@Sicut_study (Watanabe Jin)です。 去年の10月頃にReactのロードマップを投稿しておかげさまで1000いいねもすぐそこになりました そこから私自身も状況がかなり変わり、大好きなReactを使ってプログラミングを教えるスクールを運営しております。 エンジニアになりたい完全未経験の方や、すでにエンジニアだけどもっと自由にプログラミングができるようになりたい人をたくさん教えてきました。 👇メンバーの記事はこちらにあります その中である程度この流れで学習をすすめていけば1-2ヶ月程度でReactで自由にサービスを作れるレベルに再現性をもってレベルアップすることができると確信がもてたので、 実際にやっているカリキュラム(React部分)をすべて紹介します ロードマップは完全未経験でもできるようなものになっていますのでわかる箇所は飛ばしてもOKです。

                  【2024年最新版】0からReactを勉強するならこのロードマップに従え! - Qiita
                • 徳丸浩氏に聞く クレカ情報の漏洩が非保持化でも起こるワケ 2つの攻撃手法と対応策

                  徳丸浩氏に聞く、クレカ情報の非保持化に潜む漏洩リスクとEC事業者の対策 ECサイトやWebサービスからの情報漏洩が相次いでおり、クレジットカード番号やセキュリティコードなど、機微な情報が漏洩する事案も散見されます。特に、クレジットカード情報は、2018年に施行された改正割賦販売法にもとづき、ECサイトやWebサービスの運営事業者では事実上、保持しないこと(非保持化)が義務付けられているなか、なぜ漏洩被害が発生してしまうのでしょうか。 本記事では、ECサイトからの漏洩事案を題材として、Webセキュリティの専門家である徳丸浩氏に「なぜクレジットカード情報の漏洩が起こってしまうのか」「ECサイト事業者はどのような対策をとるべきか」「漏洩が発生した場合、どんな流れで対応すべきか」などを伺いました。 この記事のポイント ECサイトでクレジットカード情報の漏洩事案が発生するのは、ECサイトの利用者がク

                    徳丸浩氏に聞く クレカ情報の漏洩が非保持化でも起こるワケ 2つの攻撃手法と対応策
                  • Poku

                    🐷 What's Poku?A cross-platform test runner that brings the JavaScript essence back to testing. ⚡️ Quick Tutorials

                      Poku
                    • OAuthの仕組みを説明してHonoで実装してみる

                      はじめに はじめまして!レバテック開発部でレバテックプラットフォーム開発チームに所属している塚原です。 直近に認証・認可周りの改修を予定しているため、チーム内で認証・認可の基礎からOAuth・OpenID Connectの仕組みを学ぶ勉強会を実施しました。今回はそこで学んだことのうち、認証・認可の基礎とOAuthの仕組みをまとめます。また、WebフレームワークとしてHono、JavaScriptランタイムとしてBunを使って、OAuthクライアントを実装してみます。 対象読者 認証と認可の違いってなんだっけ...?という人 Basic認証やDigest認証てなんだっけ...?という人 OAuthはライブラリ使って実装してるから仕組みよくわかっていない...という人 OAuthのクライアントの実装って何をすればいいんだっけ...?という人 認証・認可の基礎 2024/7/18 追記 こちらで

                        OAuthの仕組みを説明してHonoで実装してみる
                      • Webエンジニアの学習ロードマップが知れるサイト - Qiita

                        エンジニアのみなさま、日々の学習本当にお疲れ様です! また本記事まで足を運んでいただき本当に感謝です。 約2分程度で読めるので最後まで読んでもらえると幸いです。 はじめに 「Webエンジニアを目指したいが、何から手をつけていいか分からない」 「いろんな人が学習ロードマップの情報提供をしているが、どれに手をつけるか判断に迷う」 こんな悩みを抱えている方の一助になれば幸いです...! 結論 こちらのサイトになります。 自分が学習したい分野を選択すると、その分野のロードマップが書かれています。 最近では「言語専用」のロードマップも書かれているため、かなり充実したサイトになってきた印象です。 それでは、試しに「Backend」のロードマップを見てみましょう。 学習ロードマップ|Backend こんな感じです。 黄色塗りのフォームが「仕組み」や「概念」が書かれたもので必ずチェックしたい内容になります

                          Webエンジニアの学習ロードマップが知れるサイト - Qiita
                        • マツコの知らない LINE ログインの世界

                          Ubie プロダクトプラットフォーム所属の nerocrux です。今回は Ubie において、 LINE ログインを成功させるために工夫したことをいくつか紹介したいと思います。 面白いこともすごいこともやってないし、対象読者もよくわかりませんが、興味があったら読んでみてください。 はじめに 症状検索エンジン「ユビー」について Ubie では、症状検索エンジン「ユビー」(以下、ユビーと呼ぶ)という一般ユーザー向けのサービスを展開しています。ユーザーが簡単な質問を回答することで、関連する病名や、適切な受診先情報を得ることができるサービスとなっています。 ユビーは Web ブラウザ経由で利用されることが多いですが、iOS / Android のネイティブアプリも提供しています。 ユーザーがユビーを利用する際に、ユビーのアカウントを作成することで、一貫性のある問診・受診・受診後のフォローアップ体

                            マツコの知らない LINE ログインの世界
                          • CSSのclass名やJavaScriptの関数名を付けるときに役立つ単語リストのまとめ -Classnames

                            CSSのclass名やJavaScriptの関数名を付けるときに悩んだり、ネタ切れになったことはありませんか? BEM, OOCSS, SMACSSで命名する場合はそれを使用すればよいのですが、特定のテーマ別にグループ化された単語のリストが必要になるときもあります。そんなときに役立つ単語リストをまとめたClassnamesを紹介します。 Classnames Classnamesは、CSSのclass名やJavaScriptの関数名を付けるときに便利な単語をリスト化したものです。MITライセンスで、商用プロジェクトでも無料で利用できます。

                              CSSのclass名やJavaScriptの関数名を付けるときに役立つ単語リストのまとめ -Classnames
                            • チュートリアル: Yjs, valtio, React で実現する共同編集アプリケーション - ROUTE06 Tech Blog

                              Yjsは、リアルタイム共同編集を実現するためのアルゴリズムとデータ構造を提供するフレームワークです。Notion や Figma のように、1 つのコンテンツを複数人で同時に更新する体験を提供することができます。 Y.Map, Y.Array, Y.Text といった共有データ型を提供し、それらは JavaScript の Map や Array のように利用できます。さらにそのデータに対する変更は他のクライアントに自動的に配布・同期されます。 Yjs は Conflict-free Replicated Data Types (CRDT) と呼ばれるアルゴリズムの実装であり、複数人が同時にデータを操作してもコンフリクトが発生せず、最終的に全てのクライアントが同じ状態に到達するように設計されています。 クイックスタート Y.Map がクライアント間で自動的に同期されるコード例を見てみましょ

                                チュートリアル: Yjs, valtio, React で実現する共同編集アプリケーション - ROUTE06 Tech Blog
                              • Google広告費の影響を受けない新たなWebブラウザが必要だと、スクラッチからWebブラウザを開発する「Ladybird Browser Initiative」、元GitHub創業者らが立ち上げ

                                Google広告費の影響を受けない新たなWebブラウザが必要だと、スクラッチからWebブラウザを開発する「Ladybird Browser Initiative」、元GitHub創業者らが立ち上げ スクラッチから新たにWebブラウザの開発をオープンソースとして行う非営利団体「Ladybird Browser Initiative」の設立が発表されました。 Ladybird Browser Initiativeは、Webブラウザ「Ladybird」およびそのためのレンダリングエンジン「LibWeb」、JavaScriptエンジン「LibJS」などの開発を行います。 Web開発の資金源が広告であるべきではない Ladybird Browser Initiativeを設立したのは、元GitHub創業者兼CEOのChris Wanstrath氏と、NokiaおよびAppleでWebKit開発チーム

                                  Google広告費の影響を受けない新たなWebブラウザが必要だと、スクラッチからWebブラウザを開発する「Ladybird Browser Initiative」、元GitHub創業者らが立ち上げ
                                • 『Rustで作るプログラミング言語』を読んで、かねてから構想していた自作言語を形にした - Islands in the byte stream

                                  Rustで作るプログラミング言語という書籍が先日発売されました。簡単なプログラミング言語を作ってバイトコードに変換して実行したりネイティブコードに変換して実行してみよう、という本で、大変面白く読みました。最終的にまあまあ本格的な言語になるので、これを元にするとわりとちゃんとした言語を作れそうです。 この書籍で最終的に作られる言語はこちら: GitHub - msakuta/ruscal: Programming language implementation learning project ちょうど私も、以前から構想していた言語があったので、ちょっと作ってみました。というのも、TypeScriptを設定記述言語としてさまざまなプログラミング言語から使えると便利ではないかとずっと思っていたのです。 この設定言語で複雑なことができる必要はなく、最終的にはJSONに準ずるデータ構造になればよい

                                    『Rustで作るプログラミング言語』を読んで、かねてから構想していた自作言語を形にした - Islands in the byte stream
                                  • 【T3 Stack】フロントエンド・バックエンドTypescript開発入門

                                    はじめに フロントエンドもバックエンドもTypescriptで書きたい!ということで、T3 Stack(T3スタック)について調べてみました。 T3 Stackを利用したプロジェクトを作成するためのCLIツールcreate-t3-appが用意されており、簡単に雛形プロジェクトが作れるため、実際に使ってみました。 この記事は以下の内容をメインに紹介します。 create-t3-appの環境構築手順 雛形プロジェクトの解説(特にtRPCを用いたAPIの呼び出し方法について) T3 Stackとは T3 Stackとはsimplicity(簡潔さ)、modularity(モジュール性)、full-stack type safety(フルスタックの型安全)を追求した思想に焦点を当てています。 そしてそれらを実現するために以下6つの技術スタックが採用されています。 ✅ Next.js ✅ tRPC

                                      【T3 Stack】フロントエンド・バックエンドTypescript開発入門
                                    • MySQL 9.0登場。 JavaScriptストアドプログラムが利用可能に、ベクトル型もサポート

                                      オラクルはリレーショナルデータベース「MySQL」の新バージョンとなる「MySQL 9.0」をリリースしました。 MySQLは現在、数カ月ごとにリリースされ積極的に新機能が追加されるイノベーションリリース(Innovation Release)と、長期で安定して利用されることを想定して2年ごとにリリースされる長期サポート(LTS:Long Term Support)版の2つに分かれてリリースされています。 現在のLTS版は今年(2024年)4月に登場したMySQL 8.4です。 そして今回リリースされたMySQL 9.0はイノベーションリリースに該当します。最新機能をいちはやく試したい開発者やユーザーのためのリリースです。 MySQL 9.0の主な新機能 MySQL 9.0のドキュメント「What Is New in MySQL 9.0」から、新機能「JavaScriptストアドプログラム

                                        MySQL 9.0登場。 JavaScriptストアドプログラムが利用可能に、ベクトル型もサポート
                                      • Tailwind CSS初心者が絶対ハマる落とし穴

                                        ムーザルちゃんねるのzaruです。今回はムーさんと、Tailwind CSS初心者が絶対ハマる落とし穴について話しました。Tailwind CSSを使い始めた人、あるいはまだ使ったことがない人には是非見てほしいです。すでにこの落とし穴から抜け出している人はあるよねーって感じで眺めてください。 すごいサムネイル… ハマるポイント クラス名の動的指定 クラス名のコンフリクト クラス名の動的指定 例えば、通常は背景を青だけど、エラーの時は赤くしたい。そんなときにJavaScriptでクラス名を組み立てると以下のように書きがちです。bg- と -500 は固定なので変化する red blue だけ変数で組み立てるやり方です。 const color = error ? 'red' : 'blue'; <div class={`bg-${color}-500`}></div>

                                          Tailwind CSS初心者が絶対ハマる落とし穴
                                        • Node.jsでTypeScriptのコードを実行できるようになるかも - hiroppy's site

                                          module: add --experimental-strip-types by marco-ippolito · Pull Request #53725 · nodejs/node It is possible to execute TypeScript files by setting the experimental flag --experimental-strip-typ... 💁‍♀️ まだマージされてない点に注意してください --experimental-strip-typesというフラグを実行時に付けることにより、Node.jsでTypeScriptのコードを実行できるようになるPRが出てきました。 背景 TC39でも型注釈の話題(議事録を読むとブラウザとの兼ね合いもあり道のりは長そう)が存在するほどJSのコードにおいて、型は当たり前となっています。 Node.jsと同

                                            Node.jsでTypeScriptのコードを実行できるようになるかも - hiroppy's site
                                          • axiosやfetchに替わるKyのススメ - Qiita

                                            Kyとは Kyは、Sindre Sorhusが開発したJavaScript向けの軽量かつ多機能なHTTPクライアントです。ネーミングの意図はよくわかりませんが、AxiosやネイティブのFetch APIに代わる、より効率的で使いやすい選択肢として設計されています。 Kyの利点 軽量で効率的: Kyのコアは非常に小さく(約2 KB)、パフォーマンスが重要なアプリケーションにとっては特に大きなメリットとなります。 Promiseベース: Fetch APIと同様に、KyはPromiseを基盤としており、async/await構文との組み合わせが容易です。 シンプルなAPI: Kyが提供するAPIは非常にシンプルなので、学習コストが抑えられます。 再試行機能: Kyには、失敗したリクエストの再試行する機能が組み込まれており、エラーハンドリングの実装コストを減らします。 JSON処理: Kyは自動

                                              axiosやfetchに替わるKyのススメ - Qiita
                                            • Google、Google Sheetsの計算エンジンをWebAssemblyに最適化し、2倍の性能を実現したと発表

                                              Google、Google Sheetsの計算エンジンをWebAssemblyに最適化し、2倍の性能を実現したと発表 GoogleはWebブラウザ上でスプレッドシート機能を提供する「Google Sheets」の計算エンジンの性能をWebAssembyで実装し、従来のJavaScriptによる実装と比較して性能を2倍に向上させたことを明らかにしました。 これにより単純なSUM計算から複雑なクエリまで、シート上でのあらゆる計算を始め、ピボットテーブルの作成、条件付きフォーマットなどさまざまな処理が高速になるとのことです。 この性能向上は、JavaScriptで構築されていた計算エンジンをWebAssemblyに最適化したことで実現していると説明されており、そのためにWebAssemby GC(ガベージコレクション)機能を用いたとのことです。 そのため現時点ではChromeとMicrosoft

                                                Google、Google Sheetsの計算エンジンをWebAssemblyに最適化し、2倍の性能を実現したと発表
                                              • 【JavaScript】ネイティブで集合演算できるようになった - Qiita

                                                JavaScriptにはだいぶ前からSetオブジェクトがありましたが、何故か集合演算は全く定義されておらず自力で実装しなければなりませんでした。 その後、まあ不便だねってことでSet Methods for JavaScriptというproposalが提出されました。 実装は珍しくSafariが最も早く、2023/09/18のSafari17から対応しました。 その後2024/02/21にChrome122、そして2024/06/11にFirefox127で実装されたことにより、主要全ブラウザで集合演算が使用可能になりました。 複数環境で実装されたことから、無事ES2025としてStage4、つまり上がりになりました。 ということで使い方を紹介するよ。 Set.prototype.intersection() 要素と引数の、両方に含まれる値を返します。 new Set([1, 2, 3,

                                                  【JavaScript】ネイティブで集合演算できるようになった - Qiita
                                                • 国産ヘッドレスCMSとして注目されているmicroCMSとNext.jsを使用したWebサイトのモダンな制作方法を学べる解説書 -モダンWebサイト制作入門

                                                  ※本ページは、アフィリエイト広告を利用しています。 国産ヘッドレスCMSとして注目されている「microCMS」とJavaScriptフレームワーク「Next.js」を使ったモダンWebサイトの制作について初心者でも分かりやすく解説した入門書を紹介します。 当ブログはWordPressですが、ここ数年ヘッドレスCMSに注目が集まってきています。ヘッドレスCMSって何?という人からNext.jsは使ったことがないという人でも本書でしっかりと学ぶことができます。 著者陣は非常に豪華で、microCMSの開発陣です。開発者と聞くと開発側の目線なのでは?と心配になるかもしれませんが、実装者目線のステップバイステップで架空のコーポーレートサイトを実装しながらmicroCMSとNext.jsを用いたWebサイトのモダンな制作方法を学べます。 WordPressは使ったことがあるけどヘッドレスCMSは初

                                                    国産ヘッドレスCMSとして注目されているmicroCMSとNext.jsを使用したWebサイトのモダンな制作方法を学べる解説書 -モダンWebサイト制作入門
                                                  • 「第4のブラウザ言語」WebAssemblyが変えるフロントエンド開発 - レバテックラボ(レバテックLAB)

                                                    執筆 山内 直 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)に所属するテクニカルライター。出版社を経てフリーランスとして独立。ライター、エディター、デベロッパー、講師業に従事。屋号は「たまデジ。」。著書に『Bootstrap 5 フロントエンド開発の教科書』、『作って学べるHTML+JavaScriptの基本』など。 監修 山田 祥寛 静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「独習」シリーズ、「これからはじめるReact実践入門」、「改訂3版 JavaScript本格入門」他、

                                                      「第4のブラウザ言語」WebAssemblyが変えるフロントエンド開発 - レバテックラボ(レバテックLAB)
                                                    • [K, U] extends [U, K] ← ナニコレ

                                                      タイトルは初見時の自分の気持ちでした。内容は結構あっさりしたもので、5分あれば読めると思います。 「あーなるほどね」となった方はわざわざ読む必要がない記事っぽいです。 型の互換性チェック 一言で言ってしまえばそういうことです。KとUが互いに置き換え可能かどうかを確認しています。 これがKとUのままだと分かりづらいのですが、適当な型に置き換えてみると分かりやすいです。 type Test1 = [1, 1] extends [1, 1] ? true : false; // true type Test2 = [number, number] extends [number, number] ? true : false; // true type Test3 = [string, string] extends [string, string] ? true : false; // tru

                                                        [K, U] extends [U, K] ← ナニコレ
                                                      • Node.jsのTypeScriptサポートについて

                                                        README.md Node.jsのTypeScriptサポートについて Created: 2024-07-28 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サポートが難しくなるという話。 具体的には次のような懸念があった SWCがSemverではないこと TypeScriptがSemverではないこと SWCについては、

                                                          Node.jsのTypeScriptサポートについて
                                                        • ミニマムな React Web アプリケーションの技術スタックを大公開! - inSmartBank

                                                          はじめに こんにちは。サーバーサイドエンジニアの mokuo です。 最近、ミニマムな React アプリを実装する機会がありました。 社内のメンバーにアドバイスをもらいながら、今(2024年前半) React アプリをミニマムに作るならこんな感じかな、という構成になった気がするので、ご紹介したいと思います。 実例の1つとして参考にしていただけますと、幸いです。 はじめに 本文 📝 機能要件 ⚒️ 採用したツール (npm モジュール) 📁 ディレクトリ構成 👨‍💻 プロトタイピングの実施 🍩 おまけ コンポーネント設計について フロントエンドに DDD のエッセンスを取り入れてみたい おわりに 本文 📝 機能要件 社内の限られた CS メンバーのみが利用する、管理画面を開発しました。 バックエンドは Golang で実装される API サーバーで、認証機能以外だと、2つの機能

                                                            ミニマムな React Web アプリケーションの技術スタックを大公開! - inSmartBank
                                                          • TypeScript/JavaScriptの不要なコードを削除するツール「Knip」の紹介 - ベースマキナ エンジニアブログ

                                                            こんにちは、taroです! 今回は、ベースマキナのTypeScriptのプロジェクトで不要なコードの検知・削除で使用しているKnipについて紹介します。 Knip とは Knipは、TypeScript/JavaScriptのコードベースの不要なコードを検出するCLIツールです。 以下が検出できる不要なコードの例です。 package.jsonのdependencies/devDependenciesの中で使われていないpackage exportされているがどこからもimportされていない変数、関数、型など 使用していないファイル その他、検出できる内容の一覧はこちらで確認できます。 またExperimentalな機能(2024年7月現在)として不要なコードの自動削除も可能です。 ちなみにTypeScript/JavaScriptの不要なコードの検出するツールではts-pruneも知ら

                                                              TypeScript/JavaScriptの不要なコードを削除するツール「Knip」の紹介 - ベースマキナ エンジニアブログ
                                                            • GPT-3.5ベースのChatGPTのコーディング能力は「古い問題には有効も新しい問題では困難に直面する」ことが明らかに

                                                              GoogleやMistral AIなどからプログラミングに特化したAIツールが登場しており、大手テクノロジー企業のCEOが「AIがコードを書くのでもうプログラミングを学ぶ必要はない」と発言するなど、AIによるプログラミングは注目を集めています。そんなAIによるプログラミング能力を分析した研究が公開されており、AIモデルがトレーニングされたタイミングによっては困難に直面することがあることが判明しました。 No Need to Lift a Finger Anymore? Assessing the Quality of Code Generation by ChatGPT | IEEE Journals & Magazine | IEEE Xplore https://ieeexplore.ieee.org/document/10507163 ChatGPT Code: Is the AI

                                                                GPT-3.5ベースのChatGPTのコーディング能力は「古い問題には有効も新しい問題では困難に直面する」ことが明らかに
                                                              • Google ChromeにはGoogleだけがアクセスできる隠しAPIがプリインストールされていることが判明、EdgeやBraveなどのChromiumベースのブラウザも同様

                                                                JavaScript Registry(JSR)やDenoの開発者であるLuca Casonato氏が、Google純正のウェブブラウザであるGoogle ChromeにはGoogle関連のウェブサイトしかアクセスできないAPIがプリインストールされていると指摘しています。 Casonato氏によると、Google ChromeはすべてのGoogle関連サイトにシステムおよびタブ上でのCPU使用率・GPU使用率・メモリ使用率といった情報への完全なアクセス権限を付与しています。他にも、より詳細なプロセッサ情報へのアクセス権限や、ログを記録するバックチャンネルへのアクセス権限も付与しているそうです。これらを実現するAPIは、他のウェブサイト向けには公開されておらず、Googleが自社サイトでのみ利用しているものであると、Casonato氏は指摘しています。 So, Google Chrome

                                                                  Google ChromeにはGoogleだけがアクセスできる隠しAPIがプリインストールされていることが判明、EdgeやBraveなどのChromiumベースのブラウザも同様
                                                                • 大規模サービスの負荷試験を改善していった話

                                                                  こんにちは!株式会社COMPASSのシステム開発部、SREチームのごーすと(@5st7)です!普段は、k8s周りの運用であったり、アプリケーションのパフォーマンスの監視、改善、インフラ周りの自動化などを積極的に進めています。三度の飯よりも好きなものがプリンで、美味しいプリンの店とかが流れてきたら1営業日以内に馳せ参じます。プリン好きな人はお店で会いましょう。 今日は負荷試験の取り組みについてご紹介できればと思います。COMPASSが提供するキュビナは現在100万人を超えるユーザーに利用していただいていますが、その分トラフィックも大きく、安定してサービスを提供できるようにするために、様々な工夫をしています。その中でも利用の集中する時間帯の負荷に耐えられるかの検証は非常に重要な取り組みの一つです。今回は、COMPASSが今まで負荷試験にどのように取り組んできたのか、その歴史と改善を行っていった

                                                                    大規模サービスの負荷試験を改善していった話
                                                                  • Next.js と Server-side Rendering をプロダクト環境で3年運用してきた知見と率直な所感 | MEDLEY Developer Portal

                                                                    2024-07-23Next.js と Server-side Rendering をプロダクト環境で3年運用してきた知見と率直な所感こんにちは、医療プラットフォーム本部・プロダクト開発室・第1開発グループ所属の加藤です。 オンライン診療・オンライン服薬指導アプリ「CLINICS」の開発を担当しています。 今回は CLINICS で採用している Next.js と Server-side Rendering (SSR) についてお話ししたいと思います。 Next.js は昨今注目を集めている React ベースの Web フレームワークです。 これから Web フロントエンドの開発を始めるにあたって採用を検討している方も多いのではないでしょうか。 Next.js といえば React コンポーネントをサーバー上で実行して HTML を返す SSR に対応しているのが大きな特徴です。 SSR

                                                                      Next.js と Server-side Rendering をプロダクト環境で3年運用してきた知見と率直な所感 | MEDLEY Developer Portal
                                                                    • エッジは誰のもの? - ゆーすけべー日記

                                                                      CDNの文脈でいうエッジコンピューティングはフロントエンドのものとされることが多い気がするけど、そうじゃない。フロントエンドの技術を使ったバックエンドである。 フロントエンド? ユーザーに近いところで実行されるという意味ではフロントエンドかもしれない。あと、VercelのNext.jsのように、フロントエンドフレームワークのファンクションがエッジで動くからフロントエンドでしょというのはある。そしてエッジのファンクションはたいていフロントエンドで使われているJavaScriptもしくはTypeScriptで書く。そうするとツールチェーンも、例えば「Vite」と聞いてそれが何であるか?を答えられる人はフロントエンドやってる人の方が多いだろう。 2つのユースケース エッジには2つのユースケースがある。 CDNの機能を拡張する。オリジンありき。 サーバーレスコンピュート。オリジンそのものになる。

                                                                        エッジは誰のもの? - ゆーすけべー日記
                                                                      • chrome拡張機能の『x-zombie-killer』を導入したらインプレゾンビ全員消え失せたのでガチ有能過ぎる→「消したゾンビの数が討伐数みたいに表示されるの好き」

                                                                        セカヤサフリーランスエンジニア&Web制作者💻小林 秀樹 @hideki_climax フリーランス8年目 | 「世界一初心者に優しい」→セカヤサ 初心者が5年後も10年後も仕事を奪われない人になるための発信中。 HTML/CSSが一番得意。 JavaScriptチョットデキル 技術ブログ:itokoba.com セカヤサBooks:zenn.dev/hideki_climax?… tan-band-c66.notion.site/37abe7077b184b…

                                                                          chrome拡張機能の『x-zombie-killer』を導入したらインプレゾンビ全員消え失せたのでガチ有能過ぎる→「消したゾンビの数が討伐数みたいに表示されるの好き」
                                                                        • AIと一緒に新しい言語処理系を作ってみた|shi3z

                                                                          Claude-3 Sonnetがだいぶ良いので、前々から考えていた、「Lispっぽい記法で書けるけど他の言語に慣れた人にも使える言語」の処理系を作ってみた。仮にEasyLispという名前にした。 この言語ではこんな感じでプログラムが書ける (define person (object)) (set! person.name "Alice") (set! person.age 30) (print person.name)personというオブジェクトのプロパティをnameやageがあって、これをドット記法で指定するとpersonオブジェクトのプロパティにアクセスできる。 同じことをCommon-Lispでやろうとするとこうなる (defun example () (let ((person (make-object :name "Alice" :age 30))) (format t "N

                                                                            AIと一緒に新しい言語処理系を作ってみた|shi3z
                                                                          • 良いコードとは良い感じのコードである - ennui's blog

                                                                            こんにちは、imazです。10年ちょっとRailsエンジニアをしています。 インフラは苦手、CSSやJavaScriptも得意ではない、アーキテクチャとか設計も得意ではない… SQLとかデバッグが好きです。答えがあることが好き! 作業中めちゃくちゃ独り言が出るのでオフィスで働けないタイプです。 Re: 良いコードってどんなコードですか?という質問を受けたら何と答えるか snoozer05.hatenablog.jp 今日はしまださんの記事を読んで、私ならどう答えるかなぁ、自分の場合はこうだなぁ、と思ったことを書いておきます。 良いコードを書くために 私がコードを書くときに心がけているのは「コードがなぜそうあるのか説明できるようにすること」です。 コードの一行一行に対して、どういう選択肢があってなぜそのコードを選んだのかというのが理解できているのが良い状態だと思っています。 簡単な例 たとえ

                                                                              良いコードとは良い感じのコードである - ennui's blog
                                                                            • Claude神アプデ。「Artifacts」に共有機能が追加され、プログラミング知識なしでも自作のゲームやツールが公開できるようになった

                                                                              Claude神アプデ。「Artifacts」に共有機能が追加され、プログラミング知識なしでも自作のゲームやツールが公開できるようになった Anthropicは7月9日、同社のチャット型AI「Claude.ai」でゲームやプログラムコードなどを作成できる「Artifacts」機能に、「パブリッシュ」および「リミックス」機能を実装したことを発表した。 素人でも「Reactライブラリ」を活用可能に Artifacts made with Claude can now be published and shared. You can also remix Artifacts shared by others. 🎨 https://t.co/AjARvS0TDopic.twitter.com/d7D0n96tfr — Anthropic (@AnthropicAI) July 9, 2024 Ar

                                                                                Claude神アプデ。「Artifacts」に共有機能が追加され、プログラミング知識なしでも自作のゲームやツールが公開できるようになった
                                                                              • ChatGPT Artifactsができた? GPT-4oでもClaudeみたいな楽しいプロンプト開発ができるのだ(CloseBox) | テクノエッジ TechnoEdge

                                                                                この問題を解決するにはどうしたら良いか? ChatGPTにもGeminiにも毎月お布施をしているし、彼らも同レベルの機能を持っているのだから、Claudeの休眠期間中はそっちを使えばいいのではないか。 そう考えていたところ、良い助け舟が。 ChatGPTにArtifacts機能を追加しますよ、というソフトの開発者からメンションが飛んできました。 このソフトはGitHubで公開されているので、普段使っているM1 iMacにインストールしてみました。git cloneしてNode.jsをインストールしてという、自分にとってはなかなかハードルの高いインストール方法でしたがなんとか動くようになりました。 使うにはOpenAIのAPI Keyが必要です。つまりChatGPT-Artifactsという名前ではありますが、実際はAPIで呼び出しているわけです。ChatGPTっぽいプロンプト操作でGPT-

                                                                                  ChatGPT Artifactsができた? GPT-4oでもClaudeみたいな楽しいプロンプト開発ができるのだ(CloseBox) | テクノエッジ TechnoEdge
                                                                                • .tsファイルを直接実行するのにtsxで特に困っていない | Marginalia

                                                                                  Node.js 本体で TypeScript ファイルを実行できるようにするプロポーザルが出されているという話が先週あたりから話題になっている。しかしそれほど嬉しいかといわれると、正直いらんなあと思っている。 TypeScriptで簡単なスクリプトを書くときは、長らくtsxを使って実行している。tsxを使い始めるより前は ts-node を使っていたが、tsxを使ってからは何の不満もなく使い続けている。 tsxは内部的にはesbuildでTypeScriptをトランスパイルしていて、型チェックは行わない。tsxのありがたい点は、すべての node コマンドのオプションを tsx コマンドでサポートしていることだ。単純にコマンドを置き換えるだけでいいので、何も新しく覚えることがない。 構造的にはNode.jsの中でswcでJavaScriptに変換されるか、外でesbuildで変換されるかの

                                                                                    .tsファイルを直接実行するのにtsxで特に困っていない | Marginalia