ORマッパーのTypeORMをTypeScriptで使う
Node.jsの普及によって、JavaScript/TypeScriptはフロントエンドだけの実装言語ではなくなりました。 Express等のWebサーバーや、Lambda等のサーバーレス環境でバックエンド処理として使われることが当たり前になりました。 最近はもっとバリエーションが増えていますが、一般的にバックエンドサービスだとRDBアクセスが定番モノと言えます。 ここでは、そんなJavaScript/TypeScript向けのORマッパーのTypeORMをご紹介します...
記事を読むDTOとエンティティの変換コードをfluentなワンライナーで書いてみる
昨今のJavaアプリケーションではレイヤーアーキテクチャにしろ、Clean Architectureにしろ、DTOとエンティティを変換するコードが多く登場します。今回は冗長となりがちなDTOとエンティティの変換コードをラムダとインタフェースを使ってfluent(流暢)なワンライナーで書けるようにする小ネタを紹介します。 変更前のちょっと残念な変換コード # 外部からの入力などをDTOで受け取り、それをエンティティに変換してサービスに渡す...
記事を読むDBアクセスフレームワークDoma2の紹介
業務で使用させていただいおりますDBアクセスフレームワークDoma2を紹介させていただきます。(とても重宝しております。)導入方法等の詳細については公式サイトをご覧ください...
記事を読むIngressを強化したKubernetes Gateway APIを試してみる
2022-07-13にKubernetesコミュニティ(sig-network)で策定が進められているKubernetes Gateway APIがベータ版になりました。 Kubernetes Gateway API Graduates to Beta 外部からのトラフィックにはKubernetes built-inのIngressリソースで対応することが多いと思いますが、Ingressには次のような欠点が指摘されてきました...
記事を読むDeno Deploy を基盤とする Netlify Edge Functions を試す
Netlify では、AWS Lambda を利用したサーバーレス機能 Functions が従来から提供されていました。 Functions overview 今年の4月 Netlify Edge Functions ベータ版についての発表が Netlify と Deno からありました...
記事を読むペアワイズ法をGUIから使いこなすツール「PictMaster」の紹介
前々回、前回とペアワイズ法に関する情報を発信してきました。 今回は前回紹介したPICTをGUIから利用できるようにした便利ツールである「PictMaster」について紹介します。 PictMasterとは # 詳しくはPictMasterのサイトの説明を読んでいただくとして、PictMasterについて簡単にご説明します。 PictMasterはExcelベースのツールです。 Excel上で因子・水準等を設定するだけで簡単にPICTを操作して、結果をExcel表にして出力してくれます...
記事を読むユニバーサルJavaScriptサーバーNitroをAWS Lambdaにデプロイする
2022-04-19にハイブリッドVueフレームワークのNuxt3がRCバージョンになりました。 https://nuxt.com/blog/nuxt3-rc Nuxt3はVue3やTypeScript、Vite対応等の様々な改良・機能追加がありますが、大きな変更の1つにNitroエンジンの搭載があります。 Nitro Nitro自体はNuxtに依存するものではなく、Node.js上で動作する軽量・高速JavaScriptサーバーです...
記事を読む豆蔵社員のリモートワーク環境ご紹介 その6 ピタゴラスイッチな切り替え
はじめに # リモートワークになり自宅端末、業務用端末、開発用端末と複数のPCを使っている方も多いと思います。作業スペースを効率的に使うためにもキーボードやマウス、モニタを1つで済ませられないかを考えてみたものの会社から貸与されているPCはアプリのインストール禁止などの制約があるため、切り替えユーティリティソフトを入れられずどうしたものかと思われている方もいるかと思います。 そんな方に向けて自分なりにたどり着いたスペースは取らないが気がつけばピタゴラスイッチな切り替え環境を紹介したいと思います...
記事を読むCamunda Platform のモダンなプロセスオーケストレーター Zeebe による開発環境を構築する
先日の、Tauri のアプリケーション開発の記事で BPMN モデリングのライブラリ bpmn.js を取り上げましたが、これは、Camunda というプロセスオーケストレーター製品を提供している会社の OSS でした。本記事では、Camunda のプロセスオーケストレーターのエンジンである Zeebe の概要と、ローカルの開発環境構築について記述します...
記事を読むペアワイズ法による組み合わせテストケース生成ツール「PICT」の紹介
先日のブログにて「ペアワイズ法」をご紹介しました。 その記事では組み合わせテストケースを作成する際に「PICT」というツールを使いました。 今回はペアワイズ法による組み合わせテストケース生成ツール「PICT」をご紹介いたします。 PICTとは # PICT (Pairwise Independent Combinatorial Testing tool) はMicrosoft社が開発したペアワイズ法による組み合わせテストケース生成ツールで、フリー(無償)で利用することが出来ます...
記事を読むSecrets Store CSI DriverでKubernetesのシークレット情報を管理する
以前に以下の記事で、Kubernetes上のアプリケーションのシークレット情報を暗号化してGit管理する方法をご紹介しました。 SealedSecretsでKubernetesコンテナのシークレット情報をGit管理する ここでは、KubernetesのSecretオブジェクトを暗号化されたSealedSecretオブジェクトに変換することで、シークレット情報を安全にGit管理しました。 ただし、より厳格な組織だと、専用の暗号化ストレージにシークレット情報を完全に分離する必要があったりします...
記事を読むElectron 製の非公式 Scrapbox アプリを式年遷宮した話
昨年書いた「非公式 Scrapbox アプリを開発している話」の記事の最後に Electron のリリース速度が早まり、古いバージョンのサポート切れが容赦なくて追従するのが大変ではありますが・・。 と書いていましたが、その後、実際に追従できなくなりました。 Electron v14 から v15 にアップデートすると、ページ一覧画面でプライベートな Scrapbox プロジェクトを表示できなくなってしまいました...
記事を読むGitHub Projects の Automated kanban で issue 管理を楽にする
みなさんは GitHub Projects を活用しているでしょうか? issue は使ってるけど、Projects は使ってないという方も多いかもしれません。 issue をカンバンに並べて可視化するのは、チームの朝会などで進捗を確認したり、その場で issue を動かしたりできて便利です。 このスクリーンショットは豆蔵デベロッパーサイトのリポジトリの Project です。 To do / In progress / Done のセクションに issue がカードとして並んでいます...
記事を読む複数因子の組み合わせテストケースを簡単に効率よく導出する(ペアワイズ法)
ソフトウェア品質を保証する上でテストは非常に重要な役割を果たします。 テストに工数を使えば使った分だけ効果を期待できますが、テストにかける工数を無限に大きくすることは出来ず、いかに効率良くテストを実施するかが課題になります。 テスト技術者はこれまで「少ないテスト工数で多くの欠陥を効率よく検出する」を考えてきました。 複数の因子が絡み合うテストの場合、テストケースの数が爆発的に増加します。 今回ご紹介する「ペアワイズ法」は効率的にテストケース数の削減に寄与してくれます...
記事を読むnpm モジュールを GitHub Actions で GitHub Packages にデプロイする
庄司です。 GitHub Packages は、Docker イメージ、npm、Maven、NuGet、RubyGems などさまざまな言語で書かれたモジュール/パッケージを管理できます。 この記事では、OpenAPI Generator で生成した TypeScript モジュールを GitHub Actions を使って GitHub Packages にデプロイする方法を説明します...
記事を読むVue3コンポーネントをnpmモジュールとしてAWS CodeArtifactにデプロイする
Vue.jsのようなコンポーネントフレームワークを使ってある程度の規模の開発を進めていくと、作成するコンポーネントは膨大になってきます。 その結果、似たようなコンポーネントが乱立し、メンテナンスが難しい状況に陥るのはよくあることです。 この課題に対する有力な解決策は、再利用可能なコンポーネントをnpmモジュールとしてプライベートnpmレジストリに登録することです...
記事を読む豆蔵社員のリモートワーク環境ご紹介 その5 オンライン新人研修の環境
はじめに # はじめまして。教育グループに在籍している高です。社員のリモートワーク環境紹介の5回目です。 私はタイトルにもあるように、本年度オンライン新人研修(主にJava)のメイン講師を担当しました。これまでのシリーズとは少し趣が異なると思いますが、よろしくお願いします。 筆者の働き方 # 基本的な働き方は、これまでこのシリーズの記事を書かれた方と大きくは変わりません。ただし、研修期間中は当然以下の働き方が中心となります...
記事を読むTauri でデスクトップアプリ開発を始める
先月、Tauri が v1.0 に到達しました。 Tauri 1.0 Release | Tauri Apps 前回の記事、「Rust によるデスクトップアプリケーションフレームワーク Tauri」では、カウンターを動かす簡単なアプリを実装したにとどまっていましたが、もう少し実用的なアプリを作って、雰囲気をつかんでいきたいと思います...
記事を読む複雑な関係から真の関係を絞り込む(偏相関)
以前のブログで複数のデータ群間の関係の強さをみる「相関行列」を学びました。 今回は、他のデータの影響を除外して”2つのデータ群間の相関のみ”を導き出す「偏相関」について見ていきたいと思います。 偏相関とは # 相関係数は「2つのデータ群間の関係の強さ」を示す値です。 相関係数は対象としているデータ以外からの影響の有無は考慮されていません...
記事を読む自然言語処理初心者が「GPT2-japanese」で遊んでみた
はじめに # 文章を楽に書きたい。 日常生活でそう思ったことはないでしょうか? 文章を書く機会は社会人だけでなく学生でも多いと思います。 報告書やメール、レポート課題、そして今読んでいるようなブログなどです。 その時に出だしは順調でも途中で詰まったり、表現がわからずにネットで調べたりして、ちっとも進まないということがよくあります...
記事を読む