並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 629件

新着順 人気順

node.jsの検索結果321 - 360 件 / 629件

  • おすすめのエンジニアリング関連YouTubeを紹介しながらエンジニアとYouTubeについて考える - Stimulator

    - はじめに - 最近、所属企業でYouTubeの企画やインタビューを進める事になった。 私の所属する企業は、どのような事柄に対しても説明責任を重視する企業であり、ある程度の合理的な理由付けの上でYouTube上での広報活動をしていこうとなったのだが、実際は「Podcastで良いんじゃないか?」「ブログとリーチできる層は違うのか?」という話が後からも出てくる事が予想できるので、自分の中でも整理と記録を取っておきたい。 体感として、特にソフトウェアエンジニアリング業界でのYouTubeに対する評価は、正直半々といった所だろう。 私の認識としては、大きな2つの主張を短く要約すると「YouTube(全般的に)は面白い」「日本のソフトウェアエンジニアのYouTuberが技術の話をしていない」辺りにまとめられる。 これはある種実態を表しているとも言えるし、違うとも言える。 この事も踏まえ、本記事では

      おすすめのエンジニアリング関連YouTubeを紹介しながらエンジニアとYouTubeについて考える - Stimulator
    • node.js のメトリクスの計測、ベンチマークの改善、Docker イメージの絞り方を勉強した

      フロントエンドのパフォーマンス計測は得意なのだが、サーバーサイド node.js のメトリクスの取り方はあまり知らなくて、いつも勘でやりがちだった。最近は業務でこの周辺で困ることが増えたので、勉強しなおした。 また、最近使ってみたかった cloudflare workers の制限で、メモリ 128MB、CPU 時間 50ms という制約があり、このためにも Node.js の CPU のメトリクスを計測できるようになっておく必要があった。 という目的を踏まえて、今回は OS やデータベースの最適化は扱わず、ネットワークとアプリケーション層だけに絞って学習した。あと仕事の Docker イメージのサイズにも悩んでたので、ここも。 (あと ISUCON 参加者が楽しそうだったのもある。 ISUCON のチューニング対象にフロントエンドは含まれないので…) 計測対象 今回実験したリポジトリはこ

        node.js のメトリクスの計測、ベンチマークの改善、Docker イメージの絞り方を勉強した
      • GitHub - docker/awesome-compose: Awesome Docker Compose samples

        Icon indicates Sample is compatible with Docker Dev Environments in Docker Desktop version 4.10 or later. Icon indicates Sample is compatible with Docker+Wasm. ASP.NET / MS-SQL - Sample ASP.NET core application with MS SQL server database. Elasticsearch / Logstash / Kibana - Sample Elasticsearch, Logstash, and Kibana stack. Go / NGINX / MySQL - Sample Go application with an Nginx proxy and a MySQL

          GitHub - docker/awesome-compose: Awesome Docker Compose samples
        • Goのおすすめのフレームワークはnet/http | フューチャー技術ブログ

          僕としてはGoのおすすめのフレームワークを聞かれたら、標準ライブラリのnet/httpと答えるようにしています。というよりも、Goの他のフレームワークと呼ばれているものは、このnet/httpのラッパーでしかないからです。 Goでアプリケーションを作成する場合のイメージは次の通り。battery includedなアプローチは他の言語でもたまにありますが、ついてくる機能が今時のものが多くて、標準ライブラリで済むことが多いです。ウェブ開発についてもそんな感じです。 PythonとかRubyとかもそうですが、言語組み込みのウェブサーバー機能はテスト用で本番運用には機能が足りない、性能が足りない、ということから「プロダクションに耐えうるフレームワークを別に入れないと」と思う人も多いんじゃないかな、と思いますが、Goの場合は組み込みのサーバーで問題なかったりします。Node.jsに近いかも?世間に

            Goのおすすめのフレームワークはnet/http | フューチャー技術ブログ
          • ちょっと複雑なシェルスクリプトをJavaScriptで書く - lacolaco-engineering

            ちょっと複雑なシェルスクリプトを https://github.com/google/zx を使って書くとJavaScriptプログラマにとってはメンテナンスしやすい /lacolaco/lacolaco.iconはzx歴 3-4ヶ月ってところ (2021-08) 嬉しいところ async/awaitが使える 配列が扱いやすい モジュールで再利用しやすい 他のNode.jsライブラリと併用できる Prettierでフォーマットしやすい Lintしやすい エディタ支援が安心 Made by Google 微妙なところ JavaScriptプログラマ以外にとっては無用 とはいえシェルスクリプトによほど慣れてる人以外はよく整理されたJavaScriptのほうがセマンティクスを読み取りやすいのではないか スクリプト自体はこんな感じ(公式READMEより) code:js #!/usr/bin/en

              ちょっと複雑なシェルスクリプトをJavaScriptで書く - lacolaco-engineering
            • Kubernetes入門 - 自作のDockerイメージをminikubeで動かす方法 - ANDPAD Tech Blog

              こんにちは!アンドパッド開発部のyokohamaです。 ITコンサル、WEBサービス会社を経て昨年5月にアンドパッドにジョインしました。 突然ですがアンドパッドでは社内で様々な勉強会を開催しています。 Vue, Flutter,マイクロサービスなどいろんなテーマの勉強会が開催されていて、所属に関わらず各々好きな勉強会に参加することができます。 自分はKubernetes/マイクロサービス勉強会と機械学習勉強会に参加しています。 勉強会に参加する目的は人それぞれだと思いますが、自分は怠け者なので学習をさぼらないようにペースメーカーとして勉強会に参加し続けています。 機械学習勉強会についてもいつか記事にできればと思っていますが、今日はKubernetes(k8s)に関しての記事なります。 k8sは入社前は全く触ったことがありませんでしたが、この勉強会のおかげで少しずつ触れるようになってきました

                Kubernetes入門 - 自作のDockerイメージをminikubeで動かす方法 - ANDPAD Tech Blog
              • アーキテクトがチェックすべきオープンソースのWebサービス一覧

                実装の参考の当たり 前口上: オープンソースの実装を読もう 普段Web開発をしているとこの書き方は普通か、実装の方向性はよさそうか不安になることがあります。そういった際、同じリポジトリの既存実装や会社の他のリポジトリ、技術ブログや本、過去の経験、他のメンバーの意見などを参考にしつつ当たりをつけるわけですが、リファレンスが増えるに越したことはないです。 有名な言語、フレームワークではオープンソースのWebサービスがGitHub、GitLab上などにあがっていることがあり、参考になります。 それぞれライセンスがあり、とりわけGPL汚染などは要注意ですが、収集した一覧が溜まってきたのでまとめておきます。ある程度有名なものメインでスクリプト言語+Go。 Ruby Ruby on Railsは有名なので採用しているWebサービスが多数あります。 Redmine イシュー、プロジェクト管理ソフトのRe

                  アーキテクトがチェックすべきオープンソースのWebサービス一覧
                • WEB開発に役に立つAPI一覧+API毎に関連するQiita記事を分類 ! - Qiita

                  前回: Qiita APIで記事からYoutube動画を集めてみた 🎬 、Qiita APIを使って、Qiita記事を取得してYoutube動画のURLを抽出することができました。 今回は、特定APIに関連したQiita記事を取得して、API毎に分類、タグを集計してドーナツグラフ化することでAPIの特徴を表してみました。 最新のAPI一覧はこちら API一覧 | DOGAKIITAA! ~ APIごとにQiita記事を分類 ~ Google系 Cloud Vision API https://cloud.google.com/vision/docs/quickstart 📝 機械学習を使用して画像を解析します。画像ラベリング、顔やランドマークの検出、光学式文字認識(OCR)、不適切なコンテンツへのタグ付けなどができます。 Cloud Vision APIの凄さを伝えるべくRasPi b

                    WEB開発に役に立つAPI一覧+API毎に関連するQiita記事を分類 ! - Qiita
                  • Lambda の運用面でのベストプラクティスを学べる「AWS Lambda Operator Guide」を読んだ - kakakakakku blog

                    AWS の公式ドキュメント「AWS Lambda Operator Guide」を読んだ❗️AWS Lambda を軸にサーバーレスアプリケーションを構築するときに意識しておくべき "運用面のポイント・ベストプラクティス" がまとまっていて,とても良いドキュメントだった👏 内容的には AWS Well-Architected Framework: Serverless Applications Lens と重複するところもあるけど,サーバーレスアプリケーションを開発・運用しているなら1度は読んでおくと良いのではないでしょうか❗️ \( 'ω')/ 多くの人に読みやすくなるように日本語翻訳もあるとイイなぁ〜 docs.aws.amazon.com 構成 ドキュメントとしては全6章で構成されている.どれも重要で,理解を深めるために読むのはもちろん,開発中もしくは運用中のアプリケーションに対し

                      Lambda の運用面でのベストプラクティスを学べる「AWS Lambda Operator Guide」を読んだ - kakakakakku blog
                    • Admin.jsを使って面倒な管理画面をサクッと作ろう | DevelopersIO

                      こんにちは、CX事業本部Delivery部サーバーサイドチームのmorimorkochanです。 突然ですが「あぁ〜管理画面作るのめんどくせ〜」って思うことはないですか? 例えばRDBと接続されたRESTfulなAPIサーバーを作っていて、一部の管理者向けに管理画面を作りたいが管理画面にこだわりがない場合などなど。 そんな時に便利なのが、Admin.jsです。Admin.jsは管理画面を簡単に作成できるフレームワークです。オープンソースとして公開されており、クラウドにデプロイされているサービスを利用する場合は月額料金がかかりますが手動でサーバーに組み込んでデプロイする場合は無料です。 Admin.jsを使うと、RDBで管理される各テーブルごとにCRUD画面を簡単に作成することができます。これによってRDBと同じプロパティを何度も定義したり同じようなCRUDコードを何度も記述する必要はありま

                        Admin.jsを使って面倒な管理画面をサクッと作ろう | DevelopersIO
                      • 現代開発を加速させる古来の術式

                        浮かない顔をしておるな。ワケを話してみよ。 npmの依存パッケージが増えた ふむ。npmで依存パッケージを増やしたと。それで? なに、他の開発者から 動かない と言われたのか。で、毎回 npm ciをしてくれ と頼んでいるわけか。 …その問題、半世紀ほど前に解決されておるぞ。 何かの縁じゃ。お主に開発環境を自動更新する古来の術式を教えてやろう。 詠唱準備 手始めに適当なパッケージを作るかの。今からの操作は空ディレクトリの中で作業していくぞ。 お主がNode.jsをインストール済であれば、

                          現代開発を加速させる古来の術式
                        • Next.js + Vercel + Cloudflare Workers KV + Googleスプレットシートで寄付管理サービスを作った

                          Next.js + Vercel + Cloudflare Workers KV + Googleスプレットシートで寄付管理サービスを作った philan.netという寄付の予算を決めて寄付した記録をつけるウェブサービスを作ったので、この記事では技術的な部分の解説をします。 philan.net自体については、次の記事で解説しています。 寄付をするために、寄付の予算と寄付の記録をSpreadSheetベースでつける philan.net というサービスを作った | Web Scratch この記事では、Next.js + Vercel + Cloudflare Workers KV + Googleスプレットシートを使って動いているphilan.netについて解説します。 あと検証中にCloudflare Workersを色々いじったのでそれについても書いていきます。 Idea phila

                            Next.js + Vercel + Cloudflare Workers KV + Googleスプレットシートで寄付管理サービスを作った
                          • Fastly で Next.js アプリケーションを実行

                            Fastly の新しい next-compute-js ライブラリを使用することで、Compute@Edge プラットフォーム上で Next.js アプリケーションをホストできるようになりました。これにより、Next.js 開発者のエクスペリエンスが向上し、圧倒的なスピードを誇る Fastly のグローバルエッジネットワークのメリットが得られます。オリジンサーバーも必要ありません。 Next.js は広く普及している JavaScript ベースのサーバーフレームワークで、開発者に優れたエクスペリエンスを提供します。具体的には、フロントエンドのコードを React で作成できるほか、ごくわずかな設定で本番環境に必要な優れた機能 (ハイブリッドの静的レンダリングとサーバーレンダリング、スマートバンドル、ルートプリフェッチなど) を直感的にセットアップできる便利さを備えています。 Next.j

                              Fastly で Next.js アプリケーションを実行
                            • Web のセマンティクスにおける Push と Pull | blog.jxck.io

                              Intro 筆者は、 Web のセマンティクスに対する実装の方針として、大きく Push 型の実装 と Pull 型の実装 があると考えている。 もっと言えば、それは実装方法という具体的な話よりも、開発者のセマンティクスに対する態度を表現することができる。 この話は「Push よりも Pull が良い」などと簡単に切り分けられる話ではない。 「自分は今 Push で実装しているのか、 Pull で実装しているのか」この観点を意識するかしないかによって、セマンティクスに対する視野が広くなり、その応用として、たとえば今自分が行っている実装が、将来の Web においてどのような互換性の問題を生じるかなどを想像できるようになるだろう。最近問題になる Ossification を、こうした視点の欠如の結果とみることもできる。 (本エントリでの Ossification は、一般に言われている Pro

                                Web のセマンティクスにおける Push と Pull | blog.jxck.io
                              • corepack is 何?

                                追記: 2023-11-19 corepack v0.20.0 にて、CLI のコマンド体系が一新されて多少わかりやすくなりました (PR#291)。新しいコマンドは README を参照。 追記: 2022-02-03 Node.js v14.19.0 に corepack が標準バンドルされました。 corepack がバンドルされていない Node.js v12 系は 2022-04-30 に EOL を迎えるので、あと 3 ヶ月もすればアクティブな Node.js 環境には必ず corepack が揃っているという状態になりますね。引き続き experimental ステータスのままではありますが。 追記: 2021-09-08 Node.js v16.9.0 で corepack が標準バンドルされました。まだ experimental 扱いですが。 デフォルトでは yarn も

                                  corepack is 何?
                                • Introducing WebContainers: Run Node.js natively in your browser

                                  Introducing WebContainers: Run Node.js natively in your browser Update: Since the publication of this blog post in May 2021, WebContainers became stable and available on Firefox but most importantly, we released a WebContainer API for you all to enjoy! A few years ago we realized that the web was heading towards a key inflection point. The advent of WebAssembly and new capabilities APIs made it se

                                    Introducing WebContainers: Run Node.js natively in your browser
                                  • 大規模チームの中でフロントエンドを立ち上げて2ヶ月経ったのでまとめる

                                    とある大規模開発プロジェクトの中で WebView 用のフロントエンドシステム開発を立ち上げて2ヶ月経ちました。Android, iOS専任のエンジニアがいないため、外部協力者の指導のもと、モバイルアプリの画面を WebView で作るためです。 ある程度その営みについて見えてきたものがあるので記事にまとめることにしました。 プロジェクト参加人数は30名以上 プロジェクト自体は4ヶ月前から動いてる このプロジェクトへのフロントエンドチームの参加は1月から 現在 WebView とモバイル・バックエンドなどの結合試験をはじめている 背景 去年12月いまの会社にテックリードとして入社し、前述とは別のプロジェクトでフロントエンドチーム立ち上げを行っていました。同タイミングで、いまの会社に誘ってくれた飲み仲間もテックリード・チームリーダーとして入社しています。フロントエンドチームはこの2名がプロパ

                                      大規模チームの中でフロントエンドを立ち上げて2ヶ月経ったのでまとめる
                                    • Denoの登場でNode.jsの時代は終わるのか? - Qiita

                                      Deno ver 1.0 5月13日、Deno v1.0の正式リリースが決定しました。 少し勉強してみましょう。 ↑ かわいい Denoってなに? DenoはNode.jsの製作者であるRyan Dahlによって作られました、新しいJS/TSランタイムです Denoはdefaultで安全です(許可なしではファイル・ネットワーク・環境にアクセスできません) DenoはTypeScriptがビルトインで入ってます 外部パッケージはurlでインポートできます(Goみたいに) ディーノって読むらしい(デノではない) Denoが作られた背景 一年前くらいにこの動画を見たことを思い出しました。 Node.jsの作者であるRyan Dahlが、Node.jsを開発した当時の仕様を後悔する旨の動画です。 https://www.youtube.com/watch?v=M3BM9TB-8yA&t=1319s

                                        Denoの登場でNode.jsの時代は終わるのか? - Qiita
                                      • 【AWS】大規模なバッチ処理を支える技術選定

                                        ここから、表で挙げた内容をそれぞれ解説していきます。 構築難度に関しては、関数を実装するだけで済むLambdaが最も簡単で、バッチ専用に特化されたサービスであるBatchに関しては比較的バッチ構築はしやすい印象ですが、ECSに関してはバッチに特化していないため、バッチ処理を行うようにカスタマイズする必要があります。 タイムアウト制約に関して留意すべきは、Lambdaの実行時間は15分までなので、それ以上を超える処理時間のバッチは実装できないことです。 起動•実行上のオーバーヘッドに関しては、Lambdaにはコールドスタートがあるため起動時にオーバーヘッドを考える必要があり、Batchではジョブをキューに送信して、最適化のために、ある程度のジョブがキューイングしてから実行しようするので、即時性を求める処理には不向きです。 既存バッチを移行したいケースがあると思いますが、Lambdaで動かせる

                                          【AWS】大規模なバッチ処理を支える技術選定
                                        • サーバ不要でバックエンドAPIのモックを実現する「Mock Service Worker 2.0」正式リリース。Fetch API、ストリームAPI対応など新機能

                                          サーバ不要でバックエンドAPIのモックを実現する「Mock Service Worker 2.0」正式リリース。Fetch API、ストリームAPI対応など新機能 Webアプリケーションのクライアントを開発する際に、本来ならばサーバ上で稼働するWebアプリケーションのバックエンドのAPIを呼び出してデータを受け取って表示するといった動作を作り込みたいけれども、まだバックエンドのAPIも開発中であったり、何らかの理由でバックエンドを稼働させる環境を用意できなかったりすることは、しばしば起こりえます。 そうしたときにサーバを立てることなく、バックエンドのAPIをモックとして簡単に設定し提供してくれるソフトウェア「Mock Service Worker」の最新版「Mock Service Worker 2.0」が正式にリリースされました。 Announcing MSW 2.0! Migratio

                                            サーバ不要でバックエンドAPIのモックを実現する「Mock Service Worker 2.0」正式リリース。Fetch API、ストリームAPI対応など新機能
                                          • Modern web apps without JavaScript bundling or transpiling

                                            August 12, 2021 Modern web apps without JavaScript bundling or transpiling I didn't much care for vanilla JavaScript prior to ES6. Through all of the 2000s, I chased different approaches to avoid writing too much of it. First there was RJS (Ruby-to-JavaScript). Then there was CoffeeScript. Both transpiling approaches that turned more enjoyable-to-write source code into the kind of JavaScript that

                                              Modern web apps without JavaScript bundling or transpiling
                                            • 【第3回】CTOはWeb技術のトレンドに何を見てきたか | GeeklyMedia(ギークリーメディア) | Geekly(ギークリー) IT・Web・ゲーム業界専門の人材紹介会社

                                              日本を代表するブログサービスをはじめ、近年ではサーバ監視サービスMackerelでも知られる株式会社はてな。日本におけるWeb開発の黎明期から現在に至るまで、新旧さまざまな技術スタックが混在する環境で、CTOであるmotemenさんこと大坪弘尚さんはどのような心構えで技術選択に挑んでいるのか。初代はてなCTOでもある株式会社一休CTOの伊藤直也さんが聞き出します。 ・伊藤 直也さん / 株式会社 一休 執行役員 CTO 新卒入社したニフティ株式会社でブログサービス「ココログ」を立ち上げ、CTOを務めた株式会社はてなでは「はてなブックマーク」などの開発を主導。グリー株式会社では統括部長としてSNSを担当した。2016年4月、一休に入社し執行役員CTOに就任。 ・大坪 弘尚さん / 株式会社はてな CTO 2008年、東京大学大学院情報理工学系研究科を中退後、アプリケーションエンジニアとして新

                                              • Gormにおける「仕様通り」なSQLインジェクションの恐れのある実装についての注意喚起 - ANDPAD Tech Blog

                                                ANDPADボードチームの原田(tomtwinkle)です。 Node.jsの mysqljs/mysql の仕様に起因するSQLインジェクションが話題に上がっていたので、それGolangのORMであるGormでも同じような「仕様」があるよ! という注意喚起の意味も込めて筆を執りました。 ※ 2022/02/21追記 コードレビューを自動化して指摘してもらう記事を公開しました! tech.andpad.co.jp Node.jsのMySQLパッケージにおけるエスケープ処理だけでは防げない「隠れた」SQLインジェクション | 株式会社Flatt Security TL;DR GormのQuery Conditions関数に関する危険な仕様 対策 締め TL;DR GormのConditions関数(Find, First, Delete...)を使用する際、第2引数の値にStringを引き渡

                                                  Gormにおける「仕様通り」なSQLインジェクションの恐れのある実装についての注意喚起 - ANDPAD Tech Blog
                                                • GitHub Actions now supports CI/CD, free for public repositories

                                                  CompanyProductGitHub Actions now supports CI/CD, free for public repositoriesSince we introduced GitHub Actions last year, the response has been phenomenal, and developers have created thousands of inspired workflows. But we’ve also heard clear feedback from almost everyone: you want CI/CD! And that’s what we’re announcing today. GitHub Actions is an API for cause and effect on GitHub: orchestrate

                                                    GitHub Actions now supports CI/CD, free for public repositories
                                                  • Rails 7.0正式リリース、Node.js不要のフロントエンド開発環境がデフォルトに

                                                    Ruby言語によるWebアプリケーションフレームワークの最新版となる「Rails 7」が正式リリースされました。 Rails 7.0 FINAL: The fulfillment of a vision to present a truly full-stack approach to web development that tackles both the front- and back-end challenges with equal vigor. https://t.co/WxJ0nKYfE7 — Ruby on Rails (@rails) December 15, 2021 Rails 7の最大の変更点は、フロントエンド開発環境が刷新されてNode.jsを用いない構成がデフォルトとなったことでしょう。 Rails 6では、優れたフロントエンド開発環境を実現するためにトランスパ

                                                      Rails 7.0正式リリース、Node.js不要のフロントエンド開発環境がデフォルトに
                                                    • WebContainer API is here.

                                                      In 2021 we announced WebContainers, a novel WebAssembly-based operating system which enables Node.js to run entirely inside the browser. Over the last two years, millions of developers have used WebContainers each month as it powers, among others, the StackBlitz editor. Today we are thrilled to release the WebContainer API for public use and we invite the entire JavaScript and Node.js community to

                                                        WebContainer API is here.
                                                      • 2019年、2020年のJavaScript - 別にしんどくないブログ

                                                        この記事は JavaScript Advent Calendar 2019 - Qiita の初日の記事です。 2019年を締めくくるアドベントカレンダーの初日ということで、今年のJavaScriptを簡単に振り返りたいと思います。2020年のJavaScriptについても予習しましょう。 2019年、2020年が何を指しているかは後述します。 カテゴリが「プログラミング言語」なので、React、Vue、AngularやNode.jsなどJavaScriptを使った技術ではなく、JavaScriptの言語機能にフォーカスしたいと思います。 はじめに ES2019 Optional catch binding JSON superset Symbol.prototype.description Object.fromEntries Well-formed JSON.stringify Arr

                                                          2019年、2020年のJavaScript - 別にしんどくないブログ
                                                        • A Proposal For Type Syntax in JavaScript - TypeScript

                                                          Today we’re excited to announce our support and collaboration on a new Stage 0 proposal to bring optional and erasable type syntax to JavaScript. Because this new syntax wouldn’t change how surrounding code runs, it would effectively act as comments. We think this has the potential to make TypeScript easier and faster to use for development at every scale. We’d like to talk about why we’re pursuin

                                                          • pixivをNext.jsでリプレイスする取り組みをご紹介します。 - pixiv inside

                                                            pixivではNext.jsを用いたフロントエンドのリプレイスプロジェクトを2022年3月末より行っており、現時点(2022年8月)でリクエスト機能をNext.jsにてリプレイスしました。 今回のpixiv insideではピクシブ株式会社で働くエンジニアの取り組みとして、pixivのフロントエンドをNext.jsでリプレイスする取り組みについて実際に取り組んだメンバーからご紹介します。 まずは皆さんの自己紹介をお願いします namazu: pixivのウェブ領域に関するテックリードを担当しているnamazuです。今回のNext.js化プロジェクトではPjMやNext.jsのホスティング回りの実装を担当しています。 shu: 2022年3月に入社したshuです。Next.js化ではフロントエンドの設計、実装を担当しています。 mog: エンジニアとしてアルバイトをしているmogです。Nex

                                                              pixivをNext.jsでリプレイスする取り組みをご紹介します。 - pixiv inside
                                                            • TypeScriptの異常系表現のいい感じの落とし所 | DevelopersIO

                                                              みなさんTypeScriptでサーバアプリケーション(Node.js)のロジックを書く時に、異常系の表現をどのようにされていますでしょうか?ここでいう異常系とは、仕様上想定される異常のことです。準正常系と言ったりもするかと思います。 私はJavaScriptの延長でTypeScriptをはじめたので、最初は null や undefined を返したり throw を用いるやり方をしていましたが、次第にTypeScriptが持つ型を生かし、できるだけ型安全に異常系を表現したいと考えるようになりました。そして試行錯誤した結果、いい感じの落とし所に落ち着いたので、その内容についてお伝えしたいと思います。 また記事の後半では、異常系の型を実装する中でハマった点についてもお伝えしたいと思います。 TypeScriptの異常系表現について 1. nullやundefinedを返す 冒頭でも述べたよう

                                                                TypeScriptの異常系表現のいい感じの落とし所 | DevelopersIO
                                                              • ServerlessDays Tokyo 2023が最高すぎた! - Qiita

                                                                はじめに 4年ぶりの開催となるServerlessDays Tokyoに参加してきました https://tokyo.serverlessdays.io/ 「もっとうまくやりたい、誰よりも上手にやりたい」 というメッセージとともに開催されたServerlessDays Tokyo 2023ですが、超豪華なスピーカー陣を国内外から集め、ここ数年のServerlessの成熟と未来をしっかりと味わえる濃いイベントです。 1日目がセッション、2日目がワークショップということで、熱力の高いうちに激熱なサービスを素早く学べる構成になっていて、とても充実した内容でした。 所感 4年前のServerless LambdaをはじめとするFaaSをいかに簡単にデプロイ、運用していくかというツール系の話と S3やSQS,SNSなどのFaaS以外のServerlessなサービスの組み合わせでLowOpsな仕組みを

                                                                  ServerlessDays Tokyo 2023が最高すぎた! - Qiita
                                                                • Cloudflare Workers それは Frontend / Node.js が CDN Edge Side まで拡張されるもの

                                                                  最近は Cloudflare Workers が熱くて、週末はずっとその調査しています。この記事はそのまとめです。 注意点として、手元でいろいろなパターンで動かして試してはいますが、プロダクション環境で運用したわけではないです。それを踏まえた上でお読みください。 特に断りが無い限り、引用文は DeepL で翻訳したものです。 Cloudflare Workers とはなにか Cloudflare Workers | サーバーレスコンピューティング | Cloudflare 一言でいうなら 「ServiceWorker の API が CDN Edge 上で動く JavaScript 処理系」 です。 Technology Radar では、まだ ASSESS(調査) フェーズという扱いです。 Cloudflare Workers | Technology Radar | ThoughtWo

                                                                    Cloudflare Workers それは Frontend / Node.js が CDN Edge Side まで拡張されるもの
                                                                  • Node.jsのバージョン管理にVoltaを推したい

                                                                    Volta とは Voltaとは、JavaScript ツールマネージャーです。 タイトルでは Node.js のバージョン管理としていますが、 npm・yarn のバージョン管理も行うことができます。 公式サイトでは、「The Hassle-Free JavaScript Tool Manager(手間のかからない JavaScript ツールマネージャー)」と紹介されています。 チームの Node.js のバージョン管理を Volta に統一したところ非常に DX が上がり、Volta の恩恵を感じています。 この記事では、開発者の Volta 人口を増やすべく Volta の紹介と使用方法について解説していきたいと思います。 なかなか詳しく解説している日本語のソースはないので、公式ドキュメントを読んで適宜和訳しています。 公式ドキュメントを読むのがめんどくさいという人に読んでいただい

                                                                      Node.jsのバージョン管理にVoltaを推したい
                                                                    • GitHubのトレンドで振り返る2021年のJavaScript/TypeScript

                                                                      今年も GitHub のトレンドで 2021 年の JavaScript/TypeScript を振り返ります。去年の記事はこちらです。 — GitHub のトレンドで振り返る 2020 年の JavaScript | WEB EGG 集計方法 GitHub トレンドは過去の履歴を公式に提供していないため、非公式に集計されたデータを利用しています。 データソースはlarsbijl/trending_archiveを使用 去年はxiaobaiha/github-trending-historyを利用したが今年のデータは無かったので変更 日ごとにまとめた markdown になっており、remark で AST→ データ化しました 集計期間は 2021/01/01 から 2021/12/15 まで 対象言語はJavaScriptとTypeScriptのみ 集計後のデータはこちらのスプレッドシー

                                                                        GitHubのトレンドで振り返る2021年のJavaScript/TypeScript
                                                                      • AWS、高速起動にこだわった軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開。AWS Lambdaでの利用にフォーカス

                                                                        AWS、高速起動にこだわった軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開。AWS Lambdaでの利用にフォーカス Amazon Web Services(AWS)は、実験的な実装としてサーバレス環境のAWS Lambdaで使うことにフォーカスした軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開しました。 LLRTはRustで開発され、JavaScriptエンジンにはQuickJSを採用しています。 LLRTの最大の特徴は、現在のJavaScriptランタイムにおいて性能向上のために搭載されているJITコンパイラをあえて搭載せず、よりシンプルで軽量なランタイムとして実装することで高速に起動することにこだわっている点です。 これにより(Node.jsやDenoや

                                                                          AWS、高速起動にこだわった軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開。AWS Lambdaでの利用にフォーカス
                                                                        • GitHub、コード提供の全ユーザーに2要素認証(2FA)を義務付けへ 2023年末までに

                                                                          同氏によると、現在GitHubで2FAを使っているのは全アクティブユーザーの約16.5%のみ。傘下のnpmにいたっては、わずか6.44%のみという。 npmは2月、上位100のライブラリのメンテナに2FAを義務付けた。5月末までに上位500に拡大する計画だ。 関連記事 「ロシアをGitHubから切り離して」の意見に公式が返答 「私たちのビジョンは、全ての開発者のホームになること」 「GitHubからロシアを切り離して」──ロシアのウクライナ侵攻を受けて、このような件名の投稿がGitHub上に掲載された。さまざまな物議を醸したが、GitHubは「私たちのビジョンは、どこに住んでいても、全ての開発者のホームになることだ」と返答をした。 GitHub傘下のnpm、上位100のパッケージメンテナは2FA必須に GitHub傘下のパッケージリポジトリnpmは、上位100のライブラリのメンテナは2要素

                                                                            GitHub、コード提供の全ユーザーに2要素認証(2FA)を義務付けへ 2023年末までに
                                                                          • インフラエンジニア1年生がプログラミングを勉強するのに使った教材 - Qiita

                                                                            はじめに 私は普段インフラをメインで扱っているエンジニアです。 そんな開発がメインではない私が1年目でプログラミングを学ぶために使用した教材を紹介していきます。インフラエンジニアの方だけではなく未経験のエンジニアの方にも参考になれば良いなと思っております。 インフラの学習に使用した教材については下記記事にて紹介しておりますので、ご覧いただければ幸いです。 インフラエンジニアはプログラミングは必要? まずはこの質問をChatGPTに聞いてみましょう。 はい、インフラエンジニアにとってプログラミングスキルは必要です。 近年、クラウドの普及やインフラ自動化の進展により、インフラエンジニアに求められるスキルも変化しています。今では、サーバの自動化やコンテナのデプロイなど、プログラミングスキルが必要な業務も多くなっています。 具体的には、以下のようなことが挙げられます。 インフラ自動化の実現 インフ

                                                                              インフラエンジニア1年生がプログラミングを勉強するのに使った教材 - Qiita
                                                                            • 自堕落な技術者の日記 : jsrsasignの寄付金を募ることにしてみました(やりがいって何だっけ?) - livedoor Blog(ブログ)

                                                                              私はjsrsasignというJavaScriptのオープンソース暗号、PKIライブラリを個人的な趣味で開発し公開しています。ところが最近、npmパッケージのダウンロードが月間60~70万件と、異常にユーザーも増え、製品でも使われ始め、ちょっと厄介なことになっており、いろいろ悩んだ挙げ句、これが正解なのかもわかりませんが、ライブラリの維持のために寄付金を募ることにした次第です。今日は、心の吐露をつらつら書いていくことにします。 jsrsasignとは 2010年ごろ、スタンフォードの学生さんであるTom Wooさんという人のJavaScriptでRSA暗号化できるコードを見つけ、自分はPKIや電子署名を専門にしていたので「JavaScriptでRSA署名できたら面白いな」と思い、2010年6月に、ほんのRSA署名単機能のライブラリとして公開したのが jsrsasign です。当時のはしゃぎっ

                                                                              • JavaScriptの上限・限界値 - Qiita

                                                                                JavaScriptの文字列や配列は最長でどこまで格納できるか、気にしたことはありますか?関数は何個まで引数を取れるのでしょうか?ブロックのネストは何段まで? この記事では、そんな素朴な疑問に答えてみます。 テストに使った環境は、 macOS 12.3.1 (Arm64) Node.js v17.7.2 Firefox Nightly 102.0a1 (2022-05-29) です。当たり前ですが、この記事に載せる数値は環境によって変わる可能性があります。 テストに使ったスクリプト類は https://github.com/minoki/javascript-limits に置いてあります。 文字列の長さ まずは文字列の長さです。 規格には The String type is the set of all ordered sequences of zero or more 16-bit

                                                                                  JavaScriptの上限・限界値 - Qiita
                                                                                • SQLiteの正式なWebAssembly版「SQLite3 WASM/JS」が登場

                                                                                  SQLiteの公式Webサイトに、SQLite3をWebAssembly化した「SQLite3 WASM/JS」プロジェクトのページが公開されました。 これまでさまざまなWebAssembly版SQLiteの試みが行われてきたなかで、初めてSQLiteの正式なサブプロジェクトとして開発されるWebAssembly版SQLiteになります。 下記はドキュメント「About the sqlite3 WASM/JS Subproject」からの引用です。 this subproject is the first effort "officially" associated with the SQLite project, created with the goal of making WASM builds of the library first-class members of the fa

                                                                                    SQLiteの正式なWebAssembly版「SQLite3 WASM/JS」が登場