並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 90件

新着順 人気順

node.js_expressの検索結果1 - 40 件 / 90件

  • 2020年のフロントエンドエンジニアの技術スタックの一例

    年の瀬なので、私自身が今年利用した技術をベースに技術スタックをまとめてみようと思います。 とはいえ Web Standard といった広い対象から、フレームワークやライブラリまで、粒度の違うものを全て言及するのは無理があるというもの。特に強く言及できるものは個別で説明しつつ、最後に利用する機会がなかったものも最後に記載する形で。 以下常体。 追記: マイナー企業のようなので一応書いておきますが、筆者は本業ではLINE株式会社という組織でいわゆるエンジニアリングマネージャーと言われるような業務とその採用に関わる仕事をしています。 利用した技術一覧 HTML/CSS/JS みたいなことを書いてるとキリがないので、独断と偏見で区分けして適宜漉いています。特に利用する機会が多かったものは太字でピックアップ。 Frontend Language/Platform TypeScript JavaScr

      2020年のフロントエンドエンジニアの技術スタックの一例
    • Node.jsのMySQLパッケージにおけるエスケープ処理だけでは防げない「隠れた」SQLインジェクション - Flatt Security Blog

      ※本記事は筆者styprが英語で執筆した記事を株式会社Flatt Security社内で日本語に翻訳したものになります。 TL;DR Node.jsのエコシステムで最も人気のあるMySQLパッケージの一つである mysqljs/mysql (https://github.com/mysqljs/mysql)において、クエリのエスケープ関数の予期せぬ動作がSQLインジェクションを引き起こす可能性があることが判明しました。 通常、クエリのエスケープ関数やプレースホルダはSQLインジェクションを防ぐことが知られています。しかし、mysqljs/mysql は、値の種類によってエスケープ方法が異なることが知られており、攻撃者が異なる値の種類でパラメータを渡すと、最終的に予期せぬ動作を引き起こす可能性があります。予期せぬ動作とは、バグのような動作やSQLインジェクションなどです。 ほぼすべてのオンラ

        Node.jsのMySQLパッケージにおけるエスケープ処理だけでは防げない「隠れた」SQLインジェクション - Flatt Security Blog
      • 【セールは12月2日まで!】ブラックフライデーだから買っておきたいUdemy講座! ソフトウェアエンジニアのキャリアでずっと役立つ定番&大作講座をまとめてレビュー・紹介します! - はてなニュース

        ソフトウェア開発の技術トレンドは移り変わっていきますが、数年前から急激に盛り上がってエンジニアリング環境を変化させた生成AIのトレンドもひと段落し、今年は落ち着いて技術の基本をしっかりと時間をかけて学ぶのにちょうどよいタイミングかもしれません。 オンライン学習プラットフォーム「Udemy」が11月29日まで実施するブラックフライデーセールと12月1日・2日のサイバーセールでは、対象講座が1講座1,300円からと通常よりもお得に、気になる講座をまとめて購入できるチャンス! 時間をかけて取り組みたい技術要素や、これから長く役立つであろう技術領域の講座を厳選してご紹介します。 定番から新作・大作までまとめてチェックできるのもブラックフライデーならでは。何十時間にもなる大作講座の見どころもいくつか抜き出してレビューしています。皆さんのこれからのキャリアにフィットする講座を、この機会にぜひ見つけてく

          【セールは12月2日まで!】ブラックフライデーだから買っておきたいUdemy講座! ソフトウェアエンジニアのキャリアでずっと役立つ定番&大作講座をまとめてレビュー・紹介します! - はてなニュース
        • リリース頻度を毎週から毎日にしてみた - NTT Communications Engineers' Blog

          目次 目次 はじめに NeWork とは リリース頻度変更の背景 それまでの運用 課題 実現方法 解説 日次でワークフローが起動するようにする main ブランチの HEAD にタグが付与されていなければ付与する develop に差分があれば main へのマージを自動で行う 細かな工夫点 main の内容を develop に自動で取り込む 祝日はリリースしないようにする 自動リリース・自動 develop → main マージの制御 Slack にリリース結果を通知する stg 環境に変更内容を通知する その他の考慮 上司への事前説明の省略 スプリントレビュー前のリリース リリースノート 品質面 リリース頻度を変えてみて おわりに はじめに こんにちは、NeWork 開発チームの藤野です。普段はオンラインワークスペースサービス NeWork のエンジニアリングマネジメントをしています

            リリース頻度を毎週から毎日にしてみた - NTT Communications Engineers' Blog
          • フロントエンド開発のためのセキュリティ入門 知らなかったでは済まされない脆弱性対策の必須知識 | 翔泳社

            Webアプリケーションの堅牢化に欠かせない知識を凝縮! セキュリティ学習のスタートに最適の一冊! 本書は、安全なWebアプリケーションを開発するための基本知識を、フロントエンドエンジニア向けに解説したセキュリティの入門書です。 これまでWebアプリケーションの開発で、セキュリティは「バックエンドの仕事」というイメージの強い領域でした。しかし、アプリケーションの安全性を高めるためには、フロントエンドエンジニアにも、セキュリティの基礎知識や具体的な対策の実践が求められます。 本書では、Webセキュリティの必須知識である「HTTP」「オリジン」などの基礎トピックや、「XSS」「CSRF」といったフロントエンドを狙ったサイバー攻撃の仕組みを、サンプルアプリケーションを舞台にしたハンズオンで学びます。 もちろん、攻撃からユーザーを守る防御の手法もしっかりおさえます。個々の攻撃手法に応じた対策のほか、

              フロントエンド開発のためのセキュリティ入門 知らなかったでは済まされない脆弱性対策の必須知識 | 翔泳社
            • 超基礎からの 速習 Docker (1) - Qiita

              本稿は、Christffer Noring さん (@chris_noring) の Learn Docker, from the beginning を翻訳し、分かりやすいように少しだけ追記、サンプルコードの実行上の補足等を行ったものです。Docker について教科書的な使い方を実際に実行して確認しつつ、Docker Composeを使ったオーケストレーションの基礎までを導いてくれます。今、Docker で注目されるのは、コンテナ同士が連携する、オーケストレーションです。本稿ではオーケストレーションの最も基礎となる Dokcer Compose までですが、オーケストレーションを活用するための基礎的部分の考え方を実地を以ってしっかりと理解できます。その意味で、原題は「from the beginning」ですが、初心者向けと言うよりも、今現在進行形の技術トレンドをキャッチアップするための

                超基礎からの 速習 Docker (1) - Qiita
              • フロントエンドの消失 - または戦争が激しくなる話

                React Server Components に感じたフロントエンドの消失という記事に端を発する一連の議論だが、実際この記事で書かれていることはそうだろうなと思う。話の流れとして誤ってる部分はないと思うし同意する。 この記事ではフロントエンドエンジニアとして、この件についての僕の見解を書く。もちろんフロントエンド(とは?)の総意ではない。 元記事と重複する部分多いが、そこは同じ問題を取り扱う以上避けて通れないため、ご容赦いただきたい。 同じ領域を取り扱ってる以上、開発戦争は激しくなる 様々な理由によりユニバーサルが求められている ※この記事でいう「戦争」とは、お互いの領域を食い合う開発が、活発化することを「戦争」と称しているだけです。それ以上の意図は全くございません 領域がかぶっている 最近のフロントエンド系ユニバーサルエコシステムは、たしかに PHP や Rails の領分を侵そうとし

                  フロントエンドの消失 - または戦争が激しくなる話
                • REST API Design Best Practices Handbook – How to Build a REST API with JavaScript, Node.js, and Express.js

                  I've created and consumed many API's over the past few years. During that time, I've come across good and bad practices and have experienced nasty situations when consuming and building API's. But there also have been great moments. There are helpful articles online which present many best practices, but many of them lack some practicality in my opinion. Knowing the theory with few examples is goo

                    REST API Design Best Practices Handbook – How to Build a REST API with JavaScript, Node.js, and Express.js
                  • 50以上の言語に対応!何でも開発可能な無料のクラウドIDE「Repl.it」を使ってみた! - paiza times

                    どうも、まさとらん(@0310lan)です! 今回は、多彩なプログラミング言語を活用したプロジェクト開発ができる無料のクラウドIDEをご紹介します。 HTML / CSS / JavaScriptを利用したフロントエンド開発から、Node.js / Python / PHP / Ruby / GOなどを使ったバックエンド開発まで、さまざまな言語を利用した開発環境がブラウザ1つで完結できるのが特徴です。 他にも、GitHub連携や複数人とコラボなども可能なので、ご興味ある方はぜひ参考にしてみてください! 【 Repl.it 】 ■「Repl.it」の使い方 それでは、「Repl.it」をどのように使うのか詳しく見ていきましょう。 サイトのトップページにアクセスしたら【start coding】ボタンをクリックしてください。 プログラミング言語を選択する画面が表示されるので、好きな言語を選びま

                      50以上の言語に対応!何でも開発可能な無料のクラウドIDE「Repl.it」を使ってみた! - paiza times
                    • 7万行のJavaScriptコードをTypeScriptに移行した話 - Qiita

                      はじめに 今関わっているプロジェクトで7万行以上のコードを、JavaScriptからTypeScriptに移行するというのを経験しました。 移行するにあたっての準備や手順、実際にやってみて感じたことなどを共有します。 プロジェクトの概要 フルスタックWEBアプリケーション フロントエンド: JavaScript + React バックエンド: Node.js + Express.js + GraphQL なぜそもそもTypeScriptを採用しなかったのか 事前に技術選定をした際に、TypeScriptを利用するかどうかの議論はありました。 当時は以下の理由から採用しないという選択に至りました。 JavaScriptの開発に慣れていたため、TypeScript型定義=面倒というイメージが強かった 「スピードが命」と考えており、TypeScriptを使うことで開発効率が下がると思っていた プ

                        7万行のJavaScriptコードをTypeScriptに移行した話 - Qiita
                      • 「フロントエンド開発のためのセキュリティ入門」を読んだ - toshi-toma blog

                        フロントエンド開発のためのセキュリティ入門 知らなかったでは済まされない脆弱性対策の必須知識 作者:平野 昌士翔泳社Amazon 書籍「フロントエンド開発のためのセキュリティ入門」を読みました。 どういう本か この本は、Webアプリケーションにおける脆弱性やその対策について、フロントエンドに焦点を当てて解説しています。 Webやセキュリティに関する知識のない人でも理解できるよう、HTTPやオリジン、ブラウザの同一オリジンポリシー、Cookie、DOMといった基本的な用語や概念についても説明されています。 また、ハンズオン形式なので、まずは手元で攻撃を成功させてから対策を入れた結果を確認できるので理解を深めれます。 初学者がわかりやすいように噛み砕いて身近な例で説明していたり、画像や図もあり、とても分かりやすかったです。あと、文章が読みやすくてスラスラ読めました。 ハンズオンはNode.js

                          「フロントエンド開発のためのセキュリティ入門」を読んだ - toshi-toma blog
                        • 【図解】Next.jsで理解するSSRとクライアントルーティングの通信の仕組み

                          「Next.jsで理解するSSRとクライアントルーティングの違い」という名目で社内にて簡単に勉強会を行いました。本記事は、その内容を適宜編集して公開するものです。 TL;DR 以下の要約を読んで、「なんだその話か」って思った方は引き返していただいて大丈夫です。逆に「えっそうなの・・・?」と思った方は、ぜひ読んでください! Next.jsアプリケーションにおいて、/hogeと/fugaというページがあり、それぞれgetServerSideProps()が定義されているとします 最初ブラウザで/hogeを開いたとき、Next.jsアプリケーションはブラウザから/hogeへのGETリクエストを受け取り、getServerSideProps()を実行します 次に/hogeから/fugaへrouter.pushで遷移すると、Next.jsアプリケーションはブラウザから/fugaへのGETリクエストを

                            【図解】Next.jsで理解するSSRとクライアントルーティングの通信の仕組み
                          • 個人的に C# が向かないと思うこと - Qiita

                            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 先日 @okazuki さんが C# で出来ること一覧 を書いていて、とても同意だった。C# 10年以上やってきて、その成長には満足しているし、対応ソリューションやプラットフォームは凄いものがあると思っています。 しかしこの記事では、あえて C# が逆に向かないことが何かを考えてみました。 あくまで個人の見解であり、同意できないことがあることは事前に同意してきます C# Love なので、非常にバイアスがあります 他の言語そこまで知らないので、どの言語がいいという話はありません 普段 C# か Node.js で開発しているので、そもそ

                              個人的に C# が向かないと思うこと - Qiita
                            • プログラミングは英語圏の人が圧倒的に有利、もはや卑怯なレベル - Qiita

                              プログラマーへの道、備忘録 略歴 90年代のAppleとAdobeのDTP革命の熱に浮かされて、薬科大学を中退後、グラフィックとウェブデザインを独学し、フリーランスとしてウェブ系の仕事を5年ほどしつつ、その後はモノ作り中心のデザイナーに転身。 ITエンジニアとしてビリオネアとなったドイツ人投資家との縁で、彼の所有する外資系リゾートにて支配人として10年ほど働く。 が、コロナの厄災にて観光業が壊滅。失業状態。 非常事態宣言下のフィリピンにて、Amazon初期にバイスプレジデントを努めた投資家より、巣ごもり中にITプロジェクトへのオファーと、数ヶ月の自習期間を与えられる。 20年ぶりに見るWEB開発のノウハウは、HTML、CSS、PERLでコツコツ書いていた20年前とは別世界であり、戦後からタイムスリップした様な気分で、ゼロから勉強し直さないと全くついて行けないと絶望する。 自習とは自分との戦

                                プログラミングは英語圏の人が圧倒的に有利、もはや卑怯なレベル - Qiita
                              • Webシステム開発で関わる技術のまとめ(2022年に知った物) - Qiita

                                はじめに Webシステムの開発に携わりたくて転職して9か月,知らない事ばかりで日々勉強しております。 自分の勉強用メモとして知っておくべき技術をまとめようと思いました。 (こちらの記事にインスパイアされたものです) 技術用語について,なるべく2~3行で概要を説明できる事を目指しています。 情報が多過ぎるので,主流な技術は見出しを赤字にしています。(主観強め) また,今後需要が増えそうな技術は青字にしています。(かなり主観強め) とはいえ,新しい技術が登場すれば,数年でトレンドが変わってしまう事も多々あると思います。 ほとんどはあくまでも初心者がネットで情報をかき集めた程度のものです。 誤りがあればご指摘,ご意見など頂きたいです。 ※2023/2/6追記 不正確・不十分だと思った記載はひっそりと随時修正しています。 また,「そういえばこんなんあったな」という項目も追記しています。 あと,自分

                                  Webシステム開発で関わる技術のまとめ(2022年に知った物) - Qiita
                                • 『フロントエンド開発のためのセキュリティ入門』という本を出版します! - 別にしんどくないブログ

                                  フロントエンド開発のためのセキュリティ入門 2月13日に『フロントエンド開発のためのセキュリティ入門』というタイトルの本を出版します。 www.shoeisha.co.jp 今回は本の内容の簡単な紹介をします。また、今回はじめて本を執筆させていただいたので、熱が冷めないうちに本を書くということについて書き残しておこうと思います。 本の内容について タイトルの通り、フロントエンドエンジニアに向けて書いたセキュリティの入門書です。 筆者はセキュリティの専門家ではありませんが、フロントエンドエンジニアとして働いています。 筆者はフロントエンドエンジニアとしてセキュリティを自ら学びましたが、セキュリティの学習の難しさを常に感じていました。 そういった同じく難しさを感じているフロントエンドエンジニアにとってセキュリティの学習の最初の一歩となる本を目指して書きました。 想定読者 メインターゲットとなる

                                    『フロントエンド開発のためのセキュリティ入門』という本を出版します! - 別にしんどくないブログ
                                  • 今年のオープンソース活動振り返り @ 2020

                                    2020年のオープンソース活動の振り返り記事です。 今までの振り返り。 今年のOSS活動振り返り @ 2019 | Web Scratch 今年のOSS活動振り返り @ 2018 | Web Scratch 今年のOSS活動振り返り @ 2017 | Web Scratch 今年のOSS活動振り返り @ 2016 | Web Scratch 今年のOSS活動振り返り @ 2015 | Web Scratch 今年のOSS活動振り返り @ 2014 | Web Scratch 2020年のGitHubのPublicなContributionsは7000~9000ぐらいを推移していました。 最近はPrivateリポジトリをメモやブックマーク管理などでも使うようになったので、Private比率は増えてPrivateなContributionsは13400でした。 GitHub Issuesを個人

                                      今年のオープンソース活動振り返り @ 2020
                                    • 🤺 Node.js + Expressの混沌を統治する 🤺 - estie inside blog

                                      こんにちは!株式会社estieでEMをやっています、t-poyoです。 今回は、estieの創業以来走り続けてきたプロダクトのapiをどう改善しているかについて書きたいと思います。 当社は"estie"と"estie pro"という2つのサービスを作っていますが、今回は"estie"の開発にまつわるお話になります。 こんな方に読んでほしい estieの開発チームが何をやっているのか知りたい方 node.jsでイチからプロダクトを作りたい方 apiのアーキテクチャに悩みつつも「クリーンアーキテクチャほどガチガチにやるのは…」な方 TL;DR コールバック関数を利用してアプリケーション層をExpressから分離できる 分離した関数に対して複雑なモックを使わずテストを書ける あらすじ estieは、2020年2月にUI刷新をおこない、バージョンも2.0にメジャーアップデートしました。 その際、フ

                                        🤺 Node.js + Expressの混沌を統治する 🤺 - estie inside blog
                                      • Autogen StudioでAIプロダクト開発チームを作る

                                        今回作成したAIチームによる本記事の要約 この記事では、Autogen Studioを活用してAIプロダクト開発チームを構築し、AI同士のコミュニケーションによる課題解決を試みたことが述べられています。 チームはPdM、デザイナー、データアナリスト、エンジニアの4つのエージェントから構成され、依頼内容に基づいてプロダクトの企画と設計が行われました。 マルチエージェントシステムの動作を通じて、AIエージェントの協力による進行状況の観察が可能であり、実装における課題も指摘されています。 Autogen Studioを使って、AIプロダクト開発チームをつくってみました。 AI同士に会話させて課題解決させるということを、個人的に試してみたかったというのがモチベーションです。 題材として、普段の仕事で関わっているプロダクト開発メンバーの構成を模倣しました。 なお、私は普段バックエンド開発を主軸として

                                          Autogen StudioでAIプロダクト開発チームを作る
                                        • バグバウンティにおける JavaScript の静的解析と動的解析まとめ - blog of morioka12

                                          1. 始めに こんにちは、morioka12 です。 本稿では、バグバウンティなどの脆弱性調査で行う、JavaScript の静的解析と動的解析についてまとめて紹介します。 1. 始めに 免責事項 想定読者 検証環境 静的解析と動的解析 2. 静的解析 (Static Analysis) 2.1 JavaScript File の URL を収集する getJS hakrawler getallurls (gau) 2.2 エンドポイントを列挙する LinkFinder xnLinkFinder katana jsluice endext 2.3 シークレット情報を検出する SecretFinder jsluice Mantra trufflehog 2.4 潜在的な脆弱性情報を検出する Retire.js ESLint 3. 動的解析 (Dynamic Analysis) DevTool

                                            バグバウンティにおける JavaScript の静的解析と動的解析まとめ - blog of morioka12
                                          • AmazonCognitoでユーザー認証するリバースプロキシサーバーをdocker-composeで構築する - Qiita

                                            はじめに 社内で構築したWEBアプリを社外のユーザーにも使ってもらう際に、ユーザー認証部分を従来は node.js+express+passport で構築していました。 この方式の場合、ユーザーの追加変更削除を行うにはユーザーを管理するデータベースを直接触るか、または別途ユーザー管理画面を作成する必要があり手間がかかっていました。 今回この認証とユーザー管理部分をAWSのCognitoに移行したので手順を共有します。 なお、このサンプルではローカルPCにWEBアプリおよびリバースプロキシをサーバー構築するものとします。 Amazon Cognitoの設定 ユーザープールの作成 AWSにログインしてサービスの一覧から Cognito をクリックし、次画面で[ユーザープールを作成]ボタンをクリックします。 Cognitoユーザーのサインインオプションは「Eメール」のみ選択します。 セキュリテ

                                              AmazonCognitoでユーザー認証するリバースプロキシサーバーをdocker-composeで構築する - Qiita
                                            • 実績紹介(日本ケンタッキー・フライド・チキン様 オフィシャルアプリ) | ゆめみ

                                              日本ケンタッキー・フライド・チキン株式会社|可用性の高いシステム設計、高い分散処理性能を持つシステム開発 日本ケンタッキー・フライド・チキン株式会社「ケンタッキーフライドチキン 公式アプリ」のリニューアルを担当し、UX/UI設計~アプリ開発、コンテンツ運用をご支援させていただいております。 <プロジェクト詳細> One to One・パーソナライズドマーケティングという構想を実現するためのCRM強化を目的とした開発を実施しました。 本開発では、システム全体には「マイクロサービスアーキテクチャ」を採用し、各システムが疎結合となることで、今後も進化発展していくデジタルマーケティング基盤として、可用性の高いシステム設計となっています。 プラットフォームにおいては、全国の店舗から集約した膨大な購入データに対し、数十分でチキンマイル(※後述)を付与することが可能な高い分散処理性能を持つマイルプラット

                                                実績紹介(日本ケンタッキー・フライド・チキン様 オフィシャルアプリ) | ゆめみ
                                              • COTOHA Call Centerの開発における自動化の取り組みについて - NTT Communications Engineers' Blog

                                                この記事は、 NTT Communications Advent Calendar 2023 18日目の記事です。 はじめに この記事はCOTOHA Call Center開発チームの福田、立木、木村の共同執筆です。 この記事では、私たちが普段の開発業務の中で工夫している自動化関連の取り組みについて共有します。 私たちはCOTOHA Call Centerというサービスをスクラム手法で開発し、福田はスクラムマスター、立木と木村は開発者として参画しています。 COTOHA Call Centerの概要 COTOHA Call Centerは簡易なコールセンター機能を搭載したIP電話のサービスです。 IVRのカスタマイズや音声ガイダンス作成、AIオペレーター機能を実装しており、WEBブラウザ版とモバイル版をリリースしています。 基本的に全てJavaScript/TypeScriptで実装してお

                                                  COTOHA Call Centerの開発における自動化の取り組みについて - NTT Communications Engineers' Blog
                                                • neue cc - async decoratorパターンによるUnityWebRequestの拡張とUniTaskによる応用的設計例

                                                  UniTask v2も2.0.30まで到達し、いい加減そろそろ安定したと言える頃合いです(ほんと!)。GitHub Star数も1000を超えて、準スタンダードとして安心して使ってもらえるレベルまで到達したと思うので、基盤部分から入れ込んで設計するとこんなことができますよ、という一例を出してみます。 UnityWebRequestはかなりプリミティブな代物で、そのまま使うよりかはある程度はアプリケーションに沿ったラッパーを被せることがほとんどなのではないかと思います。しかし、ライブラリ単体でアプリケーションの要求を全て満たそうとするとヘヴィになりすぎたり、というかそもそもアプリケーション固有の要求には絶対に答えられない。というわけで、理想的なラッパーというのは、それ自身が極力軽量で、拡張性を持たせたプラガブルな仕組みが用意されているものということになります。プラガブルな拡張性がないと、例え

                                                  • 2021年に作るべき7つのフルスタックプロジェクト - Qiita

                                                    以下はHenry Boisdequin( dev.to / Twitter / GitHub )による記事、7 Fullstack Projects You Need to Make in 2021の日本語訳です。 どのようなフルスタックプロジェクトを作るべきか? もしこのような疑問を持ち続けているのであれば、あなたは正しい場所にいます。 私は、2021年に作るべき7つのフルスタックプロジェクトのリストをまとめました。 早速、挑戦してみましょう! E-commerce Site Eコマースサイトとは、ユーザーが商品を購入できるサイトのことです(例:Amazon、eBayなど)。 Eコマースサイトを作ることで、セキュリティ、CRUD、データベース、フロントエンドフレームワーク、状態管理など、APIやウェブサイトを作るためのあらゆる部分について学ぶことができます。 これは、フルスタックのWeb

                                                      2021年に作るべき7つのフルスタックプロジェクト - Qiita
                                                    • N予備校のプログラミング入門 Webアプリコース(2021年度版)を完走してみて得たもの | DevelopersIO

                                                      Webアプリケーション作りの基礎を学びたかったのでN予備校の「プログラミング入門 Webアプリ」コースをやってみました。所要時間や感想を書き残します。 N予備校とは N予備校は月額1,100円でプログラミングコース以外にも、Webデザインや、数学、英語といった様々なコースをすべて利用できます。 プログラミングコースは、未経験者向けの「プログラミング入門 Webアプリ」コースや、Scalaを使った「実践大規模Webアプリ」コース、Node.js(Express)を使った「ニコニコ動画再現 Webアプリ」コースなど複数コースが用意されています。 その中から「プログラミング入門 Webアプリ」コースをやってみました。 きっかけ インフラ中心に仕事してきたこともあり、Webアプリケーションを基礎から学びたいと思いつつ「なにからやればいいのかなー」と漠然と考えているようでいませんでした。興味を惹く良

                                                        N予備校のプログラミング入門 Webアプリコース(2021年度版)を完走してみて得たもの | DevelopersIO
                                                      • 人類が満足する WordPress はもう一度作れるのか

                                                        こんにちは zane です。 この業界で知らない人はいない WordPress は、全ウェブサイトの40%で使われており、誕生して20年経つ今も、ブログやホームページを作る選択肢として依然トップに君臨しています。しかし、エンジニアの目線から見ると、システムとして多くの課題が挙げられます。 僕は、今 Collections というオープンソースのヘッドレス CMS を提供しています。WordPress に感じた問題から、いまだ席巻する CMS 領域を再構築したい思いに駆られて、この1年間開発してきた経緯をまとめてみました。 魔改造という闇 WordPress は、管理画面からソフトウェアをアップデートできることで、だれでも最新版を使い続けられたり、自由度の高いカスタマイズ、外部プラグインによる強化など、非常に細部まで考えつくされたシステムです。 しかしながら、無造作に追加されたプラグインによ

                                                          人類が満足する WordPress はもう一度作れるのか
                                                        • Udemyを使って、フロントエンドエンジニアになるためのロードマップを考えてみた - Qiita

                                                          はじめに Udemyとは、動画形式で学ぶことができるオンライン学習プラットフォームです。多くの講座がハンズオン形式になっていて、研修にもよく利用されています。 個人的に、勉強する際にはよくUdemyを活用していますし、インプットするための勉強方法が多様化している今、あえてUdemyだけに絞ってざっくりではありますが、ロードマップを作ってみました。 今回は、数多くある講座の中から、このカリキュラムで学べば、フロントエンドエンジニアになるために最低限のスキルが身につくだろうと考えられる講座を選定してみました。 ロードマップ 簡易的ですが、以下のようなロードマップにしました。 Vue.jsではなく、Reactを選んだ理由は、現時点で公開されているUdemy内の講座の中で、個人的にReactの方が、良さそうな講座が多かったからです。 まず最初に受けるべき講座 一番最初の講座は、こちらが圧倒的オスス

                                                            Udemyを使って、フロントエンドエンジニアになるためのロードマップを考えてみた - Qiita
                                                          • Node.js の CPU プロファイリングでボトルネックを特定する - Uzabase for Engineers

                                                            こんにちは。NewsPicksでソフトウェアエンジニアをしている森田です。 今回は業務の中で実際におこなった Node.js の CPU プロファイリングについてご紹介します。 なぜプロファイリングをおこなったのか プロファイリング方法 V8 simple profiler Chrome の inspect おわりに 参考文献 なぜプロファイリングをおこなったのか 現在私が運用・開発しているWebサービスの Webフロントは React で動いています。 あるとき、ありがたいことに多くのアクセスがあった際に Reactを配信するために Node.js (Express) が動いている Webサーバー のCPU利用率が異様に高くなる現象が発生しました。 より多くのリクエストを捌くためにどの処理がCPUヘビーになっているか調査をする必要がありますが、そのなかで Node.js で CPU プロ

                                                              Node.js の CPU プロファイリングでボトルネックを特定する - Uzabase for Engineers
                                                            • REALITYのコメントシステムを Goで書き直してみた話 REALITY Advent Calendar #2|REALITY

                                                              こんにちは、REALITY Advent Calendar 2021 2日目担当サーバエンジニアのゆーしです。開発合宿は1歳の愛娘と離れるのがつらいので、リモートでの参加となりました。 今回の合宿ではREALITYのコメントシステムをGoで書き直すことに挑戦しました。 REALITYのコメントシステムについて現在のREALITYのコメントシステムは、node.js +  express + Redis Pub/Subを用いたWebSocketサーバとなっています。コメント以外にも、REALITYではWebSocketを使った仕組みが数多くあり、それらは全て同様の構成になっています。詳しくは以下の記事などをみてもらえればと! 一方で、REALITYのAPIサーバはGoで実装されているので、この機会にAPIサーバと同じアーキテクチャでコメントシステムを実現できないか試してみることにしました。

                                                                REALITYのコメントシステムを Goで書き直してみた話 REALITY Advent Calendar #2|REALITY
                                                              • 2019年のJavaScriptとDartの比較

                                                                さて、あなたが何を既に心得ているかはわかっています。伝説のJavaScript言語を使って、Webアプリケーション、サーバーサイドアプリケーション、デスクトップ、およびモバイルアプリケーションでさえ、作ることができたんだと思ってましたよね?その点、間違っているかもしれませんよ。2019年を早送りしてみましょう。私達には、より簡単かつ効率的に、上記のものの大部分を行える(それほど新しくない)言語があるのです。ハロー、ダート! さて、両者の競争は直接対決となっているようです。 2019年に、これら2つのプログラミング言語が互いにどのように比較されるかを見てみましょう。 2019年におけるJavaScriptの必要性は何か? この質問を誰かに聞くと、たいてい「当然必要でしょう?我々は皆、毎年JSが必要ですよ!」という答えを得るでしょう。全くその通りです。今年を見ていく前に、以前を振り返ってみまし

                                                                  2019年のJavaScriptとDartの比較
                                                                • OWASP Juice Shop でWebアプリの脆弱性を体験してみる | DevelopersIO

                                                                  はじめに OWASP Juice Shopを触りつつOWASP Top 10の理解を深めるという目的で社内勉強会を開きました。 その時の資料を公開します。EC2に構築してみんなで同じサイトをワイワイガヤガヤ攻撃してみました。 OWASP Juice Shop というのは OWASPが提供するやられアプリ、やられサイトの一種です。Node.js、Express、AngularJSで開発されているSPAアプリです。Dockerイメージで提供されています。 OWASP Juice Shop OWASP BWA (The Broken Web Applications) という同じようなアプリがもう1つあるのですが、OWASP Juice Shopの方が新しいようです。BWAはVirtual Boxが必要です。 OWASP Juice Shopを構築する dockerをインストール後、pullして

                                                                    OWASP Juice Shop でWebアプリの脆弱性を体験してみる | DevelopersIO
                                                                  • [Node.js][Express]リクエストからパラメータを取得する・POSTされたデータを取得する

                                                                    クエリパラメータを取得する クエリパラメータを取得するには req.query を使います。 const express = require('express'); const app = express(); app.get('/hello', (req, res) => { res.send('Hello ' + req.query.name); }); app.listen('3000', () => { console.log('Application started'); }); $ curl 'http://localhost:3000/hello?name=Suzuki' Hello Suzuki パスパラメータを取得する リクエストされたパスからパラメータを取得するには req.params を使います。 const express = require('express')

                                                                    • 2022-02-22のJS: Deno 1.19、Next.js 12.1、Monorepo Toolsまとめ

                                                                      JSer.info #580 - Deno 1.19がリリースされました。 Deno 1.19 Release Notes deno vendorという外部モジュールをリポジトリ管理するためのコマンドが追加されています。 deno vendorは外部モジュールをローカルにインポートし、Import mapsでマッピングして利用できます。 Proposal: deno vendor · Issue #13346 · denoland/deno Deno.FileをDeno.FsFileにリネームし、Deno.Fileがdeprecatedとなっています。 Deno.Fileは次のメジャーアップデートで削除される予定です。 Deno.FsFileやDeno.ConnなどがWeb Streamsに対応、CompressionStream/DecompressionStreamのサポート、cons

                                                                        2022-02-22のJS: Deno 1.19、Next.js 12.1、Monorepo Toolsまとめ
                                                                      • Kubernetesのグレースフルシャットダウンやるよ

                                                                        Kubernetesのグレースフルシャットダウンの話になります。GoogleのGKEを使用していますがAWS等でも同じかと思います。Node.js, Python, Go, Rustでの具体的なコードもご紹介します。 グレースフル・シャットダウンとは? 処理中のリクエストがある状態でWebサーバのプロセスを突然KILL(ハード・シャットダウン)するとHTTP接続がブチッとなり502などのエラーが発生してしまいます。それを極力避けるため、エレガント(graceful)に、段階を踏んでシャットダウンすることでエラーの発生を低減する手法です。 具体的には、Webアプリにシャットダウン用のエンドポイントを生やし、シャットダウンの手順を実装しておきます。KubernetesはPodをシャットダウンするときには必ずそのエンドポイントを叩くという仕組み(仕様)になっています。 仕掛かり中のリクエストの他

                                                                          Kubernetesのグレースフルシャットダウンやるよ
                                                                        • 【Next.js】文化祭のチケット・レジシステムを作成・運用した話

                                                                          2024年度に行った私 (筆者) が所属している学校での文化祭において、全校生徒(高校3年生を除く)および教職員、来場者、そして保護者に対しての文化祭システムを作成・運用させていただきました。今回はこのシステムの作成・運用にあたっての話を書いていきます。 本記事の内容は、私が所属する学校に非公式で公開しているものです。本記事に関する問い合わせを学校へ行う行為は慎んでいただくようお願いいたします。 また、本記事の画像には最新のものでない古い画像があることがあります。 構想 2023年度の文化祭サイトは私とは別の人が作成しており、TypeScript (Node.js) + Express + EJS + Prisma (MySQL) が使用されており、API の構造として GraphQL が使用されていました。 2024年3月に私がサイト開発業務に入って、チームはどのような構造にすべきか話し

                                                                            【Next.js】文化祭のチケット・レジシステムを作成・運用した話
                                                                          • システムの安定稼働を支えるバックエンドエンジニアを募集! - 株式会社microCMS

                                                                            microCMSは日本発のヘッドレスCMSで、世界で通用するプロダクトを目指して日々開発しています。 バックエンドプラットフォームチームと呼ぶチームで業務するエンジニアの募集要項です。 バックエンドプラットフォームチームはシステム全体の安定稼働やパフォーマンス向上のための技術的な取り組みやインフラの管理、オブザーバビリティ、開発者体験の改善を担当するチームです。 チームとしての業務範囲は多岐にわたりますが、ご自身の興味やスキルに応じて担当業務を調整することができます。 開発企業である株式会社microCMSは2017年にヤフー出身のエンジニア・デザイナーの2名で創業しました。 microCMSの開発・運用を行なっており、現在では9,000社を超える企業様にご利用いただくようになっております。 ■ミッション エンジニアの武器を作り出し世界の進歩を後押しする ■職務内容 - Node.js,

                                                                              システムの安定稼働を支えるバックエンドエンジニアを募集! - 株式会社microCMS
                                                                            • 便利!Node.jsにDBマイグレーション、Seed、モデルを用意する「Sequelize」

                                                                              さてさて、前々回の「入門!Expressのインストールと基本のまとめ」でも少し書いたのですが、Node.jsのフレームワーク「Express」を本格的に使ってみた実感として、Laravelのようなデータベース周りの機能がなく、ちょっと残念な気持ちになっていました。 ところが、やはり世界中には天才プログラマーたちが多数いるもので、Node.jsに以下3つの機能を一気に提供してくれるパッケージがあることを知りました。 マイグレーション ・・・ DBテーブルの管理 Seed ・・・ テストデータの管理 モデル ・・・ データベース操作(LaravelのEloquentのようなもの) その名も「Sequelize」です。 ※ YouTubeを見る限り、「すぃーくぅらいず」と読むようです。英語でSQLを「すぃーくぅ(る)」と読むことに掛けてるのかと思います。 しかもこのパッケージには、Laravel

                                                                                便利!Node.jsにDBマイグレーション、Seed、モデルを用意する「Sequelize」
                                                                              • Vue.js JWT Authentication with Vuex and Vue Router - BezKoder

                                                                                Overview of Vue JWT Authentication example We will build a Vue application in that: There are Login/Logout, Signup pages. Form data will be validated by front-end before being sent to back-end. Depending on User’s roles (admin, moderator, user), Navigation Bar changes its items automatically. Screenshots – Signup Page: – Login Page & Profile Page (for successful Login): – Navigation Bar for Admin

                                                                                  Vue.js JWT Authentication with Vuex and Vue Router - BezKoder
                                                                                • Passport.js の基本的な利用方法 (Node.js & Express) - Qiita

                                                                                  その1. 最小限の実装 極小の実装(セッション非利用、ユーザデータは埋め込み)で作成。 app.postではなく、router.postでやっている。 Passportに渡すパラメータが正しいか確認するため、リクエストボディをコンソールに表示する。 挙動の解説 express から、http://localhost:3000/ へのリクエストを indexルータ で処理。 passportにパラメータを渡すため、app.use(express.urlencoded( { extended: false }))が必要。 認証が成功した場合、passportミドルウェアはリクエストヘッダにreq.userをセットし、次のコールバックに処理を渡す。 動作を確認するのが目的なので、認証失敗時のページは実装していない。 実装 const express = require('express'); c

                                                                                    Passport.js の基本的な利用方法 (Node.js & Express) - Qiita