フロントエンドエンジニアの小林和弘です。 kakari という薬局向けに提供しているサービスで Electron を使って Windows アプリケーションを作成したので、そのことについてお話しようかと思います。 事の発端 これまで、「kakari」では、患者さまから薬局へ処方せんが送信されたときに薬剤師さまが処方せんの受信に気づけるように FAX で処方せんを送信していました。 しかし、FAX 送信に利用していた Twilio Programmable Fax サービスが 2021 年 12 月 17 日をもってサービス終了になってしまいました。 このサービス終了に対応すべく、薬局向けに処方せんが送信されたらプリンターで処方せん印刷ができる Windows アプリケーションを Electron で作成することになりました。 そもそもElectronとは HTML, CSS, JS のフロ
モック関数によりコード間の繋がりをテストすることができます。 関数が持つ実際の実装を除去したり、関数の呼び出し(また、呼び出しに渡されたパラメータも含め)をキャプチャしたり、new によるコンストラクタ関数のインスタンス化をキャプチャできます。 そうすることでテスト時のみの返り値の設定をすることが可能になります。 関数をモックするには、次の2つの方法があります。 1つは、テストコードの中でモック関数を作成するという方法。 もう1つは、manual mockを作成してモジュールの依存性を上書きするという方法です。 モック関数を利用する forEach 関数の実装をテストすることを考えてみましょう。 この関数は、与えられた配列の各要素に対して、コールバック関数を呼び出します。
GitHubは、同社が管理するJavaScriptパッケージリポジトリnpmにおいて、以下のようなセキュリティ機能関係の改善を発表した。 npmコマンドラインインターフェースによる、ログインおよびパブリッシュの効率化 npmへの2FA(2要素認証)の導入により、利用者はログイン時やパッケージ登録時に煩雑な操作を行う必要があったが、npm8.15.0より、ログインおよびパブリッシュの認証をブラウザ上で管理することができ、既存セッションを使用してログインする場合は2要素めの認証を省くことができるようになった。またパブリッシュの場合も、–auth-type=webフラグによりオプトインして使用する場合は2FAを5分間回避できる(npm9からはデフォルトで実装)。 GitHub/Twitterアカウントからnpmへ接続可能に npmのアカウントをGitHubアカウントやTwitterアカウント
先日 Babel のメンテナーとして知られる Nicolò Ribaudo 氏が次のツイートを投稿した。 We finally finished migrating the Babel monorepo from Flow to TypeScript! It has been a very long process started by @z_bodya, and after migrating package-by-package @JLHwung just opened this PR 😄 pic.twitter.com/WKXxV8x2MY — Nicolò Ribaudo 🏳️🌈 • 💙💛 (@NicoloRibaudo) July 23, 2022 そう、JavaScript のトランスコンパイラである Babel のソースコードが Flow から TypeScrip
System.Text.Json 名前空間は、JavaScript Object Notation (JSON) との間でシリアル化および逆シリアル化 (またはマーシャリングとアンマーシャリング) を行う機能を提供します。 "シリアル化" は、オブジェクトの状態 (つまり、そのプロパティの値) を格納または送信できる形式に変換するプロセスです。 シリアル化された形式には、オブジェクトに関連付けられているメソッドに関する情報は含まれません。 "逆シリアル化" では、シリアル化された形式からオブジェクトを再構築します。 System.Text.Json ライブラリの設計では、広範な機能セットよりもハイパフォーマンスとメモリ割り当ての少なさが強調されています。 組み込みの UTF-8 サポートによって、UTF-8 としてエンコードされた JSON テキストの読み取りと書き込みのプロセスが最適化さ
「WebAssembly 2.0」に関する最初のワーキングドラフトが公開。整数における符号拡張命令、関数からの複数の戻り値などを拡張 W3Cの WebAssembly Working Groupは、「WebAssembly 2.0」に関する最初のワーキングドラフト「Web Assembly First Public Working Draft」を公開しました。 WebAssemblyは、Webブラウザ上でネイティブコードに近い実行速度で高速に実行できるバイナリフォーマットとして仕様策定と実装が始まりました。2017年には主要なWebブラウザでのサポートが実現し、2019年12月にはW3Cの勧告に到達しました。 WebAssemblyがW3Cの勧告に到達。「WebAssembly Core Specification 」「WebAssembly Web API」「WebAssembly Ja
Next.jsといえば、Vercelで簡便なデプロイができることで有名ですが、GCPのCloud Runでもそれに負けないくらい簡単にデプロイできるようになってきました。 本記事では、GitHubでソース管理されたNext.jsアプリケーションをCloud Runにデプロイし、mainブランチへのpushをトリガーとしたデプロイの自動化を設定する方法を紹介します。 1. Next.jsアプリケーションの作成 Cloud Runでデプロイするためには、Next.jsをDockerに対応させる必要があります。Next.js公式がwith-dockerというexampleを公開しているので、今回はこれを利用しましょう。
こんにちは。マネージド&セキュリティサービス部セキュリティサービス部門の閏間です。総合リスクマネジメントサービス「WideAngle」の新サービスの企画を担当しています。 本記事では、私がセキュリティの知識・技術向上のために業務外で取り組んでいるバグバウンティプログラムについて、3回にわたって紹介します。 本記事により、バグバウンティプログラムの有効性と、脆弱性探しのおもしろさの両方を伝えられれば幸いです。 (前編)バグバウンティプログラムの有効性について (中編)脆弱性探しの魅力と調査方法について (後編)実際に発見した脆弱性の詳細について【本記事】 なお、バグバウンティに関する記事としては、NTT Com社内バグバウンティのご紹介もありますので、ぜひそちらもご覧ください。 脆弱性の実例:3つの問題が重なってXSS(Cross Site Scripting)が発生 本記事では、私が過去に
Re: 僕らを縛る Node.js という呪いについて - あるいはなぜ TypeScript 以外が真っ当な選択肢にならなかったか https://d.potato4d.me/entry/20220405-nodejs/ へのアンサーソング。 プログラミング言語としての JavaScript の話をする。 2010年頃、Python 2 でプログラミングを学習した自分にとっては Node.js + CoffeeScript が Better Python だった。 CoffeeScript は当時の JS(ES3~5) に足りない機能を補ってくれて、Python と同じく空白制御のオフサイドルールなのが気に入った。見た目が少しだけ Ruby っぽいので当時全盛だった Rails の人間に訴求するにも有利だった。 Node.js のモジュールシステムである Commonjs は Pytho
JavaScriptの進化で変わる身近なコーディング習慣 uhyo ( https://twitter.com/uhyo_ ) JavaScriptは歴史が結構長い言語であり、さまざまなベストプラクティスがあります。一方で、JavaScriptは進化を続けており、それに伴ってこれまでに蓄積したベ…
Annex B について JavaScript の言語仕様には Annex B という項目があります。ここには Web 互換性のために残されているレガシーな機能の仕様について記述してあり、新たに ECMAScript のコードを書く際にこれらの機能を使用したり、その存在を前提にしたりしてはいけないと明記されています。 String#big などの今となっては全く実用性のないメソッドや、escape, unescape 函数、もともと IE の独自実装だった String#substr などについて記述されています。 ブラウザではこれらの機能を取り除くことが出来ないので残念ながら扱うことが出来ます。また Chrome の JavaScript エンジンである V8 を使っている Node.js や Deno でも Web 互換性を重視していることもあって扱うことが出来ます。 一方で Web
あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。
システム開発を円滑に進めるには、開発対象のシステムに合ったプログラミング言語を選ぶ必要がある。プログラミング言語によって向いているシステム、または向いていないシステムがあるからだ。ITエンジニアには開発対象に応じて利用言語を増やしたり、場合によっては切り替えたりすることが求められる。 ITエンジニアが開発するシステムは様々だ。最近では、従来の基幹系システムだけでなく、Webサービスやスマホアプリ、AI(人工知能)システムなどもある。では、ITエンジニアはどんなプログラミング言語を使っているのか。また開発対象のシステムごとに利用されている言語は何か――。 これらを確かめるため、日経クロステックでは「プログラミング言語利用実態調査 2020 夏」をWebサイト上で実施した。調査期間は2020年6月23日~7月3日。711人の会員から回答を得た。その結果を見ていこう。 アンケートでは普段使ってい
GitHubがnpmの買収を発表、JavaScriptのパッケージ管理サービス。将来的にはGitHubとnpmを統合へ GitHubは、JavaScriptのパッケージ管理サービスを提供するnpmの買収を発表しました(GitHubの発表、npmの発表)。 We’re excited to announce that @npmjs will be joining GitHub. Millions of JavaScript developers rely on npm, and we’re honored to support this community in a new way. Learn more at https://t.co/MsQMc1rIJd pic.twitter.com/CUuPojccpm — GitHub (@github) March 16, 2020 npmはNo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く