並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 98件

新着順 人気順

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

  • N予備校プログラミング入門コースで学べること - Qiita

    私 is 誰 今年の7月にドワンゴの教育事業部に異動し、N予備校でプログラミング講師をやることになりました。 現在は週2回ニコ生やN予備校上にてプログラミング入門コースの授業放送をしています。 ドワンゴ自体は7年目となり、ニコニコ動画の開発を4年、エンジニア教育やエンジニア採用を2年ほどやってきました。 この記事で書きたいこと 現部署に異動後、教材のインプットを兼ねて『N予備校プログラミング入門コース』を履修したのですが、明らかに難易度が僕の想像した "入門コース" から外れたガチ編成になっていて衝撃を受けたことが記事を書こうと思ったきっかけです。 中身としてはとても良い教材になっているので、僕のような勿体無い誤解が少しでも減れば幸いです。 入門コースはいわゆる入門コースではない 『プログラミング入門コース』のゴールは ドワンゴがエンジニアとして採用したいレベル や IT企業のエンジニアイ

      N予備校プログラミング入門コースで学べること - Qiita
    • 高校生がリアルタイム投票サイトを公開したらいきなり1万PVを記録した話 - Qiita

      今回は高校生の私たちが公開した投票サイトが三日で1万PVを記録したので、その経緯をサイトの紹介も含め、全て公開します。 qiitaで後日談を書きましたので、よかったらお読みください リンクはこちらです サイトの内容 名前はAICEVOTE(アイスボート) リンクはこちら ----> aicevote.com(大量アクセスで現在サーバーが不安定な状況です。ご了承ください。) このサイトを一言で言うとこんな感じです。 "投票用紙を氷に見立てた次世代のリアルタイム投票サイト" AICEVOTEとは 普通の投票とAICEVOTE(アイスボート)の違い 普通の投票 普通の投票では、投票箱A/Bに最終的に投票された票の数の比で結果が決まります AICEVOTE AICEVOTEでは投票用紙の代わりに氷を投票します。 それぞれの投票箱の底は網目になっています 時間が経てばあなたが投票した氷は少しずつ溶け

        高校生がリアルタイム投票サイトを公開したらいきなり1万PVを記録した話 - Qiita
      • 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
          • リリース頻度を毎週から毎日にしてみた - 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
                • SIer/年収1000万を手放した私 ( 後編 / 復活の章 ) 〜 webエンジニアの 挫折者から生存者へ 〜 - 毛並みの揃った話はないけれど

                  はじめに みなさま、おはこんばんにちは。 私は プレイド のエンジニアの大平(おおひら) (@Victoria_Peak_) と申します。 7年勤めた野村総合研究所を辞め、2018/07〜現在まで 株式会社プレイド で勤務しています。 twitter.com 日々の活動内容(プログラミング・SaaS/SIer・ロードバイク・減量など)をつぶやいたりしておりますので、本エントリを読んで興味を持たれた方は、twitterでフォロー、リプライ、メッセージなどをいただければと思います。基本すぐに回答します。 本エントリは、去年2018年12月に執筆した、 前編 と、 今年2019年9月の 中編 、 後編 の 挫折の章 の続編になります。 www.taihey-blog.com www.taihey-blog.com www.taihey-blog.com - 対象読者 エンジニアに限らず前向きに人

                    SIer/年収1000万を手放した私 ( 後編 / 復活の章 ) 〜 webエンジニアの 挫折者から生存者へ 〜 - 毛並みの揃った話はないけれど
                  • フロントエンドの消失 - または戦争が激しくなる話

                    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

                                先日 @okazuki さんが C# で出来ること一覧 を書いていて、とても同意だった。C# 10年以上やってきて、その成長には満足しているし、対応ソリューションやプラットフォームは凄いものがあると思っています。 しかしこの記事では、あえて C# が逆に向かないことが何かを考えてみました。 あくまで個人の見解であり、同意できないことがあることは事前に同意してきます C# Love なので、非常にバイアスがあります 他の言語そこまで知らないので、どの言語がいいという話はありません 普段 C# か Node.js で開発しているので、そもそも C# に向かないことを自分がやっていないだけというオチはあるかも Hello World までが遠い LINE イベントや外部ハッカソンなど、Microsoft の外で活動する際、C# は Hello World までの時間が Node.js や Pyt

                                  個人的に 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
                                          • メルカリ初、新卒PM向け研修「Engineering Training」企画・運営での学び | mercan (メルカン)

                                            メルカリのEngineering Gateway Teamでエンジニアメンバーのオンボーディングなどを担当していたyui_tangです。 さて、これはとある研修発表の様子。実は今年6月、メルカリ・メルペイに入社する新卒プロダクトマネージャー(PM)メンバー総勢14名を対象に、1ヶ月間の研修「Engineering Training」を実施。そして、この日は研修を通じて学んだことの集大成を発表していたのです! 研修実施の経緯と目的は? そんな発表会から遡ること約1ヶ月前の6月初頭。新卒PMメンバーたちは自信、不安、心配の入り乱れたさまざまな心境・面持ちで研修のスタートを迎えていました。 メルカリ・メルペイでは、入社者数の増加による現場チームでの受け入れ側の負担が増えるとともに、PMの現場配属前段階で一定のWebアプリケーションのエンジニアリング経験が求められる状況もありました。そこで、「第一

                                              メルカリ初、新卒PM向け研修「Engineering Training」企画・運営での学び | mercan (メルカン)
                                            • 実績紹介(日本ケンタッキー・フライド・チキン様 オフィシャルアプリ) | ゆめみ

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

                                                実績紹介(日本ケンタッキー・フライド・チキン様 オフィシャルアプリ) | ゆめみ
                                              • バグバウンティにおける 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
                                                  • TypeORMはNode.js開発のスタンダードになるか? - Qiita

                                                    こんにちはGAOGAOの代表をしております @tejitak です。GAOGAOアドベントカレンダー 17日目の記事です。GAOGAOのスタートアップスタジオにて、最近お手伝いしている海外のお客様案件にてTypeORMを導入しています。 今回の記事では、TypeORMとはなんぞや?という方を対象として、まだ比較的日本語記事が少ないTypeORMについてのご紹介します。 Node.jsのORM Node.jsでサーバーサイドを実装する際にはExpressを使うことが多いと思います。ExpressはサーバーサイドのWebフレームワークで、データベースを扱うORMは自由に導入することができます。以下代表的なORMを紹介します。 mongoose 公式ドキュメント: https://mongoosejs.com/ MongoDBはJavaScriptとの相性の良さから昔からNode.jsの多くのプ

                                                      TypeORMはNode.js開発のスタンダードになるか? - Qiita
                                                    • 株式会社CureAppを退職します

                                                      本日で最終出社が終わったので、記録を残しておきます。 表題の通り、2017 年 7 月から2年半ほど勤めた株式会社 CureAppを退職します。報告と自分語りです。 CureAppでやってたこと 治療アプリ©という疾患を治療するアプリを作るソフトウェアエンジニアとして入社しました。スマフォアプリが治療効果を持つ医療機器として承認されるため、薬事や臨床開発などの今まで全く知らなかった医療の世界に貢献できることはなにか、自分がなすべき領分は何かを考えながら仕事してました。 初仕事は臨床試験が迫っているアプリを仕上げることと、技術スタックをキャッチアップしてReal World React Native in Agri/Med/Fin Techというイベントで事例紹介することでした。登壇資料はこちら。 — React Nativeで医療機器作ってます - Speaker Deck 主な使用技術は

                                                      • 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
                                                            • Upcoming Browser Behavior Changes: What Developers Need to Know

                                                              Browser ChangesUpcoming Browser Behavior Changes: What Developers Need to KnowLearn about upcoming changes to browser cookie behavior that may make your web applications incompatible. Are you operating a web application with sessions (e.g. for saving user preferences, shopping carts)? Do you allow users to sign in using identity providers such as Google and Apple, or use solutions such as Auth0? W

                                                                Upcoming Browser Behavior Changes: What Developers Need to Know
                                                              • 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
                                                                • Udemyを使って、フロントエンドエンジニアになるためのロードマップを考えてみた - Qiita

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

                                                                    Udemyを使って、フロントエンドエンジニアになるためのロードマップを考えてみた - Qiita
                                                                  • 急性中耳炎の重症度が分かるLINE Botの作成 - Qiita

                                                                    概要 プログラムの勉強を始めて4か月ほどの開業医です。 病気のおすすめの診断法や、治療法などを記載した診療ガイドランというものがあります。診療ガイドラインに従うことは強制ではないのですが、エビデンスに基づいた治療をするためにはガイドラインは重要です。しかし、忙しい臨床現場ではガイドライン通りに診療を進めることが難しい場合もあります。 今回、小児急性中耳炎の診療ガイドライン(2018年-日本耳科学会)に沿って、急性中耳炎の重症度と推奨治療が簡単に分かるLINE Botを作成しました。 医師が臨床現場で使えることはもちろんですが、一般の方でも医療機関で「鼓膜の赤さ・腫れ・耳垂れ」の程度を医師に聞いていただくと急性中耳炎の重症度が判定できます。 実装 LINE上で質問に答えていくとスコアリングが行われ、急性中耳炎の重症度と推奨治療が分かるLINE Bot。 概念図 node.js express

                                                                      急性中耳炎の重症度が分かるLINE Botの作成 - 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
                                                                      • 人類が満足する WordPress はもう一度作れるのか

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

                                                                          人類が満足する WordPress はもう一度作れるのか
                                                                        • 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
                                                                          • Express.js(node.js)からMySQLへの接続とCRUD操作 | アールエフェクト

                                                                            MySQLのインストール Homebrewを利用してMySQLのインストールを行います。MAC環境へのMySQLへのインストール方法については、下記の文書の前半を参考に行なってください。 注意点:MYSQLバージョン8の場合 MySQLのバージョンが8の場合はnode.jsからMysqlへの接続の際にError: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server;といったエラーが表示されます。この場合はMysqlに接続し、下記の設定を行うことで回避することが可能です。 $ mysql -u root mysql> alter user root@localhost identified with mysql_native_password by ''

                                                                              Express.js(node.js)からMySQLへの接続とCRUD操作 | アールエフェクト
                                                                            • 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')