並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 84件

新着順 人気順

豆蔵の検索結果1 - 40 件 / 84件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

豆蔵に関するエントリは84件あります。 githubAI開発 などが関連タグです。 人気エントリには 『基本から理解するJWTとJWT認証の仕組み | 豆蔵デベロッパーサイト』などがあります。
  • 基本から理解するJWTとJWT認証の仕組み | 豆蔵デベロッパーサイト

    これは、豆蔵デベロッパーサイトアドベントカレンダー2022第8日目の記事です。 JSON Web Token(JWT)の単語を目にすることがよくあると思いますが、それと一緒に認証と認可や、RSAの署名や暗号化、そしてOpenIDConnectやOAuth2.0までと難しそうな用語とセットで説明されることも多いため、JWTって難しいなぁと思われがちです。しかし、JWT自体はシンプルで分かりやすいものです。そこで今回は素のJWTの説明からJWS、そしてJWT(JWS)を使った認証を段階的に説明していきます。 おな、この記事はJWT全体の仕組みや使い方の理解を目的としているため、以下の説明は行いません。 RSAやHMACなど暗号化やアルゴリズムの細かい説明 JWTを暗号化するJWEとJSONの暗号鍵表現のJWKについて OpenIDConnectとOAuth2.0について 記事は上記のような内容

    • Rust によるデスクトップアプリケーションフレームワーク Tauri | 豆蔵デベロッパーサイト

      Tauri はクロスプラットフォームデスクトップアプリのための Rust によるフレームワークです。Electron と同様 Web 技術でアプリの UI を構築します。 Build smaller, faster, and more secure desktop applications with a web frontend | Tauri Studio 記事執筆時点で v1.0.0-rc.5 (Pre-release)、もうすぐ v1.0 がリリースされそうなところです。 Release v1.0.0-rc.5: Apply Version Updates From Current Changes (#3468) · tauri-apps/tauri Electron と比べて、インストーラーのサイズ、メモリ消費量、起動時間などが圧倒的に小さいと謳われています。 https://gi

      • ChatGPTのベースになった自然言語処理モデル「Transformer」を調べていたら「Hugging Face」に行き着いた | 豆蔵デベロッパーサイト

        ChatGPTのベースになった自然言語処理モデル「Transformer」を調べていたら「Hugging Face」に行き着いた 最近「ChatGPT」というワードがSNSを賑わしているようです。 筆者は技術に対しては非常にミーハー(?)なので、ChatGPTが何なのか?また、どれほど凄いのか試してみたくなりました。 さっそく ChatGPT を使ってみたいと思います。 (ChatGPTの利用登録の方法については、解説サイトがたくさんありますのでそちらを参照ください。Googleアカウントを持っていればGoogleアカウントと連携してログインすることも可能です) ChatGPTに登録してログインすると以下のような画面が表示されます。 Examplesを使って、いくつかの問いかけに対する応答を確認することが出来ます。 試しにExamplesの一番上にある「Explain quantum co

        • Vue 3 と D3.js で作る可視化アプリ | 豆蔵デベロッパーサイト

          筆者は Scrapbox を愛用しており、Scrapbox プロジェクトのページ間のグラフ構造を可視化するためのツールを作ったりしています。 GitHub - mamezou-tech/sbgraph: Fetch Scrapbox project data and visualize activities. このツールは Graphviz の dot 形式ファイルを出力するので手軽にグラフ構造の可視化が可能です[1]。 D3.js を使うと Graphviz よりインタラクティブな可視化アプリを作れます。グラフ構造の可視化には、force simulation を使うと効果的です。 Force-Directed Graph かなり前に Vue 2 と D3.js を使って可視化のための SPA (Single Page Application) を試作して放置していました。 放置している

          • GitHub Projects に Roadmaps が登場 - issue や PR をタイムラインで管理しよう | 豆蔵デベロッパーサイト

            GitHub Projects のビューに Roadmap が追加されました。 Roadmaps in Projects are now generally available | GitHub Changelog 従来の Board(カンバン)、Table(スプレッドシート)のレイアウトに加えて、よりプロジェクト計画・進捗管理に適したレイアウトが追加されたことになります。

            • OpenAIのChat APIに追加されたFunction callingを使ってみる | 豆蔵デベロッパーサイト

              2023-06-13にOpenAIからGPT-3.5-turboとGPT-4のアップデートに加えて、Function callingという機能をAPIに追加したと発表しました。 OpenAI Blog - Function calling and other API updates 最初はAPI内で任意の関数呼び出しが実行できるようになるのかと思いましたが、よく読んでみるとコンテキストに応じて実行する(または実行しない)関数を選択し、その関数シグニチャーに従ったパラメータを作成してくれるものです。 ChatGPTプラグインは、コンテキストに応じてプラグインAPIを選択して実行してくれますが、Function callingは実行の直前(関数選択とパラメータ準備)までを手配してくれる感じでしょうか。 ここではこのFunction callingを実際に使ってみます。 Information2

              • 自然言語処理初心者が「GPT2-japanese」で遊んでみた | 豆蔵デベロッパーサイト

                文章を楽に書きたい。 日常生活でそう思ったことはないでしょうか? 文章を書く機会は社会人だけでなく学生でも多いと思います。 報告書やメール、レポート課題、そして今読んでいるようなブログなどです。 その時に出だしは順調でも途中で詰まったり、表現がわからずにネットで調べたりして、ちっとも進まないということがよくあります。 そういった場合に続きの文章を書いてくれる、もしくは続きの候補を出してくれるシステムがあると非常に便利ですよね? 私もそういう楽をしたいために色々探ってみましたが、どうやら文章自動作成ツールを作るには「自然言語処理」というものを学ぶ必要がありそう……。 しかもそれを学ぶ上では数々の用語や知識が必要でなかなか難しそうでした。 楽になるためにはまずは勉強をしなくてはダメか、と諦めかけていたのですが、ネットの海を漂っていると事前学習済みのモデルがあることがわかりました。 そのひとつが

                • TypeScript5で導入されたStage 3のDecoratorを眺めてみる | 豆蔵デベロッパーサイト

                  TypeScriptでDecoratorって使っていますか? DecoratorはJava等のオブジェクト指向言語ではお馴染みのアノテーションです。DI/AOP等のメタプログラミングでよく使われているものです。 Decorator自体はECMAScriptの仕様として、かなり昔(2014年)から存在していました。 現時点(v4.9)のTypeScriptでサポートしているDecoratorは、Stage 2(Draft)の仕様です。 仕様策定が難航していたDecoratorですが、一部を除いて2022-03にようやくStage 3(Candidate)へと昇格し、TypeScript v5.0(2023-03リリース予定)から正式サポートされる予定です。 Announcing TypeScript 5.0 Beta Decoratorは、AngularやNestJS、TypeORM等のライ

                  • Nuxt3入門(第1回) - Nuxtがサポートするレンダリングモードを理解する | 豆蔵デベロッパーサイト

                    Vue.jsのハイブリッドフレームワークとして人気のNuxtですが、メジャーアップデートとなるNuxt3がそろそろGAになりそうです。 Vue3やNitro、Vite等、多くの変更があるNuxt3ですが2022年春にRC版が公開された後、ハイペースで更新が続きかなり安定してきた印象です。 ここでは、Nuxt3入門と題してNuxt3が提供する基本機能について連載を書いていきたいと思います。 まず、初回はNuxtが提供するレンダリングモードを整理します。 なお、基本的なプロジェクト作成の方法は公式ドキュメントに記載されているとおりですので触れません。 今回は、新しいVueコンポーネントを作成せずに初期状態のNuxtのWelcomeページで見ていきます。

                    • ChatGPT先生に教わりながら「Transformerの肝」である「注意機構(Attention機構)」を可視化する | 豆蔵デベロッパーサイト

                      前回と前々回では機械学習アーキテクチャ「Transformer」を使って簡単な文章生成に挑戦しました。 ちょっと前までは、プログラミングで調べたいことがあるときは「Google先生」にお伺いを立てていたのですが、最近は「ChatGPT先生」にお伺いを立てることが増えました。 (ここでは ChatGPT に対して敬意を込めて「ChatGPT先生」と呼称しています。ChatGPT先生に問いかける時に出来るだけ敬語で問いかけるようにすると良い結果が出るようです) 今回は「Transformer」が「入力文のどの単語に注意しているのか」を”可視化”する方法を ChatGPT先生に聞きながら実装してみたいと思います。 注意機構(Attention機構)は、Transformerに代表される自然言語処理や音声認識、画像処理などの分野で幅広く使用される機構です。 これは、モデルが与えられた入力の一部に重

                      • CRaCによるJavaの高速化 | 豆蔵デベロッパーサイト

                        これは、豆蔵デベロッパーサイトアドベントカレンダー2022第2日目の記事です。 先日、JavaのLambda関数の起動を高速化するLambda SnapStartがAWSから発表されましたが、このLambda SnapStartにはJavaのCRaC(Coordinated Restore at Checkpoint)が使われています。 CRaCは起動の高速化と即時にピーク性能を発揮させる技術です。CRaCが登場した背景にはJavaの起動の遅さがあります。この弱点を補う技術としてはGraalVMによるネイティイメージが有名ですが、CRaCはこの弱点を補うもう一つの高速化手段として今注目を集めている技術です。今回はこのCRaCの概要や仕組み、その試し方などを紹介します。 はじめにいっておきますが、CRaCスゴイです。ホントに爆速になりますヨ! 最初にCRaCとはなにかですが、ごく簡単に説明す

                        • ChatGPTに自然言語処理モデル「GPT2-Japanese」の使用方法を聞きながら実装したら想像以上に優秀だった件 | 豆蔵デベロッパーサイト

                          前回は ChatGPT と Hugging Face を簡単に触ってみました。 今回は ChatGPT に自然言語処理モデル「GPT2-Japanese」の使用方法を聞きながらプログラムを実装してみたところ、想像以上に優秀だったので、その過程をご紹介したいと思います。 (想像以上ではありましたが、そのままコピペでは動作しなかったので、エラーの回避方法も ChatGPT に問いかけをしながら実装を進めました) ChatGPT の登場以降、SNSでは「プログラマーは失業する」とか「ソフトウェアエンジニアの危機」みたいな情報が散見されるので、ChatGPT がソフトウェア開発にどれくらい役に立つのかを試してみたくなりました。 前回は ChatGPT のベース技術である「Transformer」について調べていたので、その流れで今回は「”ChatGPT”の力を借りて自然言語処理を”実際に”プログラ

                          • カスタムワークフローで GitHub Pages デプロイが可能に | 豆蔵デベロッパーサイト

                            GitHub Pages は専用のブランチか docs などのターゲットディレクトリを指定して公開する方式です。したがって、SSG(Static Site Generator) を使う場合、ソースコードだけでなくビルド成果物もリポジトリ管理する必要がありました。7月に GitHub Actions ワークフローによるデプロイがベータ版として利用可能になりました。 GitHub Pages: Custom GitHub Actions Workflows (beta) | GitHub Changelog これにより、ビルド成果物をリポジトリ管理せずに、リポジトリの更新をトリガーに GitHub Pages を更新できるようになります。 リポジトリの GitHub Pages の設定で Build and deployment セクションの Source を見ると、GitHub Action

                            • 岡崎観光:前半 豆蔵・岡崎城 - 本紹介・株・食べ歩きなどのサラリーマンブログ

                              先日岡崎に行ってきました。 最近「どおする家康」で岡崎市も盛り上がってるようで(もんの前にも看板)、、、珈琲の豆蔵→岡崎城→岡崎駅周辺の観光をしてきました。(長くなるので岡崎駅周辺は後半で別途UPします) まずは岡崎城前に喫茶店の豆蔵で一服です。 ここは店内自家焙煎、コンテストで技能を磨き人気のお店でいってみたいなーと思っていたので、、、ついでに立ち寄ってみました。 店内の様子は焙煎豆が売られていたり、焙煎機が見えたり、家康で盛り上がっていたり、写真や絵が飾られている落ち着いた感じ モーニングはデニッシュ、トースト、ワッフル、シフォン、スコーン、おすすめ、スペシャルなどより取り見取りですね🤔 で、選んだのが季節のコーヒー☕とワッフルです(茹で卵orコーヒーゼリーが選べ🥚に)。コーヒーカップもウェッジウッドのモノが使われておりこだわってるな~と感じました✨✨ 伝票の裏には以下のようにお店

                                岡崎観光:前半 豆蔵・岡崎城 - 本紹介・株・食べ歩きなどのサラリーマンブログ
                              • GitHub Pull Request マージキュー(beta)を試す | 豆蔵デベロッパーサイト

                                ブランチを作成してから PR を作成するまでに発生した main ブランチの変更を取り込む必要があるケースはけっこうあります。特に規模の大きい開発ではマージの作業コストは大きくなります。マージキューの ChangeLog の文章には以下のように書かれています。 開発者はマージ前に PR ブランチを更新して、マージ時に変更が main ブランチを壊さないようにする必要がしばしばありました。PR ブランチ更新のたびに、CI によるチェックの新たなラウンドが発生し、開発者がマージを試みる前に終了する必要がありました。別の PR がマージされた場合、すべての開発者はプロセスを再度実行する必要があります。 マージキューは、マージのためにキューに入れられた各 PR がキュー内の先行する PR でビルドされるようにすることで、このプロセスを自動化します。 つまり、PR を作成したらマージする代わりにマー

                                • Viteベースの高速テスティングフレームワークVitestを使ってみる | 豆蔵デベロッパーサイト

                                  現在JavaScriptのスタンダードなテスティングフレームワークと言えば、Jestかと思います。 Jestはそれ単体でテストランナー、マッチャーからモックまでテストに関する一通りの機能を網羅する万能なフレームワークです。 とはいえ、プロダクトがある程度の規模になってくるとテスト実行時間に不満を持っている方もいるかもしれません。 今回はJestに代わる新しいテスティングフレームワークのVitestを試してみたいと思います。 VitestはWebpackに代わる高速ビルドツールのViteを基盤としています[1]。 Viteのパイプラインとして実行されますので、テストも高速になるはずです。 Vitestの公式サイトでも、Blazing Fast Unit Test Frameworkと宣伝してるところからも期待できそうです。 また、API自体もJestと互換性を保つように設計されていますので、

                                  • Docker+Wasm で WASM をコンテナとして実行する | 豆蔵デベロッパーサイト

                                    昨年10月に Docker+Wasm がテクニカルプレビューとして発表されました。WebAssembly ランタイムをターゲットとしてビルドされた WASM バイナリーを OCI 互換の環境で実行できるようにするものです。 Introducing the Docker+Wasm Technical Preview | Docker ブログから、Docker+Wasm の実行イメージを引用します。 Docker Desktop では OCI ランタイム containerd を使用してコンテナイメージを管理・実行します。コンテナは runc などのさらに低レベルなライタイムにより実行されます。Docker+Wasm はこの runc にあたるレイヤーに WasmEdge を適用して WASM を実行します(図の右下)。Docker Desktop では containerd のサブプロセスで

                                    • Slack の GitHub インテグレーションで GitHub Actions ワークフローのイベントを通知可能に | 豆蔵デベロッパーサイト

                                      Slack の GitHub インテグレーションを使えば、PR(Pull Request) や issue のオープンや更新などのイベントを通知できます。PR に Slack からコメントすることも可能です。 GitHub + Slack 先日、GitHub Actions ワークフローのイベントも通知できるようになったことが Changelog に流れていました。 GitHub Actions workflow notifications in Slack and Microsoft Teams | GitHub Changelog これまではワークフローにサードパーティの Action を組み込んで実現していた部分ですので、気になる方も多いのではないでしょうか。 この記事では GitHub インテグレーションの導入、ワークフローイベント通知の登録と実際の使用感を見ていきます。 Info

                                      • Jest再入門 - 関数・モジュールモック編 | 豆蔵デベロッパーサイト

                                        単体テストでは、テストを不安定化させる要因となる外部サービス、データベース等のステートフルなモジュールへの依存は極力避けるべきです。 これを実現するには、モックやスタブが必要になってきます。 Jestはモック機能が標準で備わっています。今回はJestのモック機能を見ていきましょう。 test("基本的な使い方", () => { const mockFn = jest.fn((a: number) => a * 10); mockFn(1); mockFn(2); expect(mockFn.mock.calls).toHaveLength(2); expect(mockFn.mock.calls[0][0]).toBe(1); // 1回目の呼出の引数 expect(mockFn.mock.calls[1][0]).toBe(2); // 2回目の呼出の引数 expect(mockFn.

                                        • GitHub のリリースノート自動生成機能を使う | 豆蔵デベロッパーサイト

                                          昨年10月 GitHub のリリース機能がリニューアルされ、自動的なリリースノート生成とリリースページ作成 UI の改善が実施されました。 Improvements to GitHub Releases - generally available | GitHub Changelog 自動的なリリースノート生成については、これまで Release Drafter が使われてきましたが、この機能が本家に取り込まれた感じですね。 GitHub - release-drafter/release-drafter: Drafts your next release notes as pull requests are merged into master. Release Drafter は PR がマージされるたびに次回リリース用のドラフトが更新されていく動きでしたが、本家のジェネレータはリリー

                                          • Nuxt3入門(第8回) - Nuxt3のuseStateでコンポーネント間で状態を共有する | 豆蔵デベロッパーサイト

                                            前回はNuxt3でプラグイン、ミドルウェアの導入について見てきました。 今回はNuxt3が提供する状態管理について見ていきます。 Nuxt2では、コンポーネント間で状態を共有するには、Nuxt2にバンドルされているVuexを使うのが一般的でした。 Nuxt3ではVuexはNuxt本体に含まれていません。 代わりにNuxt3では新たにuseState Composableが提供されるようになりました[1]。 useStateはVuex程の機能はありませんが、必要最低限のシンプルな設計で使いやすいものとなっています。 比較的シンプルなデータ構造であったり、中小規模のアプリケーションでは十分に実用的なものとなっています。 Informationそれなりの規模のアプリケーションでは、Piniaの利用を検討すると良いかと思います。 こちらはNuxtモジュールとして提供されています。 useState

                                            • アーキテクチャ・デシジョン・レコードの勧め | 豆蔵デベロッパーサイト

                                              庄司です。 Michael Nygard 氏は「DOCUMENTING ARCHITECTURE DECISIONS」で、特にアジャイル開発では最初の時点でアーキテクチャが決まることはなく、また包括的なドキュメンテーションには価値がなく、小さなピースのドキュメントが全てのステークホルダーに必要となるため「アーキテクチャ・デシジョン・レコード (ADR: architecture decision record)」と呼ばれるドキュメントを提案しています。 その後、ADR は 2022年の InfoQ のトレンドレポートで「アーリーアダプタ」の位置を獲得し、さらに「Fundamentals of Software Architecture (邦題: ソフトウェアアーキテクチャの基礎)」の中にも解説されています。 この記事では、「ソフトウェアアーキテクチャの基礎」に書かれていることをベースに、A

                                              • Debezium によるチェンジデータキャプチャー | 豆蔵デベロッパーサイト

                                                Change Data Capture (CDC) は、データベースで発生した変更をキャプチャーして別のシステムに伝播させ、応答できるようにする仕組みです。CDC を利用することで、テーブルの更新をポーリングするバッチ処理などを作り込まずに、イベントドリブンな応答処理を実装できます。CDC はイベントソーシングと並んで分散システムをリアクティブに連携させるためのソリューションとして位置付けられます。[1] Amazon DynamoDB や Azure CosmosDB などのマネージドサービスでは、変更イベントを通知する仕組みを備えているものがあります。Debezium を使うと、MySQL や PostgreSQL などオンプレミス環境で広く使われている DBMS でも CDC を利用できます。 この記事では Debezium の概要を簡単に説明し、PostgreSQL と Debez

                                                • 開発者体験(DX)を進化させるJetBrainsのAIアシスタント機能の紹介 | 豆蔵デベロッパーサイト

                                                  先日JetBrains社からAIアシスタント機能の一般公開が発表されました。 Introducing JetBrains AI and the In-IDE AI Assistant JetBrains AI と IDE 内での AI Assistant のご紹介 今回はこれを試してみましたので、その使いどころをご紹介したいと思います。 なお、本記事ではIDEとしてIntelliJ IDEA 2023.3 (Ultimate Edition)を使用しています。 AIアシスタント機能の公式ドキュメントはこちらです。 JetBrainsのAIアシスタントとは? # JetBrainsのIDEノウハウとLLMを組み合わせて、開発ワークフローを効率化するJetBrains AIの機能です。 リファクタリングやコード生成に加えて、ドキュメント作成やソースコード上の問題点検出までいろんなことをしてくれ

                                                  • 話題の CI/CD ツール Dagger を体験してみる | 豆蔵デベロッパーサイト

                                                    Dagger は、Docker を開発した人たちによるポータブルな CI/CD ツールです。先月末公開されました。 Introducing Dagger: a new way to create CI/CD pipelines ポータビリティ実現のためコンテナ環境が前提になっています。 Dagger は DAG (Directed Acyclic Graph)に由来するものと思われますが、CI/CD の文脈で DAG はパイプラインを構成するジョブの依存関係グラフのことです。 Dagger はビルドエンジンとして BuildKit を利用しています。BuildKit は Docker に統合されたツールキットで docker build の高速化・ルートレス化を実現したテクノロジーです。 GitHub - moby/buildkit: concurrent, cache-efficient

                                                    • 手書き風ドローツール Excalidraw のススメ | 豆蔵デベロッパーサイト

                                                      「ちょっと図で考えたい」「メモに簡単な図を添えたい」そんな用途にオススメなドローツールが、Excalidraw です。 https://excalidraw.com/ にアクセスすれば、ユーザ登録などもなく直ちに使い始められます。 「百聞は一見にしかず」を心理学の分野で言えば、Picture Superiority Effect(PSE) になります。日本語で言うところの「画像優位性効果」ですね。人は、文字や言葉よりも画像の処理の方が早く、視覚情報の方が記憶に残りやすいというものです。 サクッとメモを残したい時に、図で書けば分かりやすいとは思いつつも、ドローツールを立ち上げるのは手間で心理的障壁が大きいものです。そんな時、すぐに作業を開始でき、シンプル極まりない Excalidraw はとても良い選択肢になります。 手書き風なザックリした図しか書けないので、変にレイアウトに凝りたくなるとい

                                                      • 豆蔵デベロッパーサイト

                                                        こんにちは、みんな!豆香だよ。今日はね、「Algorithm Optimization」についてお話しようと思うの。これ、プログラミングの世界ではめちゃくちゃ大事なんだよね。 アルゴリズム最適化っていうのは、簡単に言うと、プログラムがスムーズに、早く、効率的に動くように工夫することなの。例えばね、私がラーメンを作る時、具材をどの順番で入れるか考えるでしょ?それと同じで、コードの中の「具材」をどう組み合わせるかっていう工夫をするわけ。 でも、これが結構面倒くさいのよね〜。だって、最適な方法って一つじゃないんだもん。時には、コードを短くしたり、メモリ使用量を減らしたり、計算速度を上げたり…。もう、まるでダイエットみたい(笑)。食べたいけどカロリーは低くね!みたいな? コーディングチャレンジでよく「Algorithm Optimization」が出題されるのは、このスキルがエンジニアにとって超重

                                                          豆蔵デベロッパーサイト
                                                        • AWS認定資格を12個すべて取得したので勉強したことなどをまとめます | 豆蔵デベロッパーサイト

                                                          筆者の簡単な属性を紹介します。 2022年2月中途入社の社会人18年目。 福岡在住でフルリモート勤務(執筆時点の出社回数は4回)。 同居人は同業者の妻と小学生の男子二人。 前職では開発の片手間で社内インフラ(社内ネットワークの構成と管理、VPN構築、自社製の勤怠管理システムの管理、など)の管理をしていた。 情報処理技術者試験のデータベーススペシャリスト、ネットワークスペシャリスト、情報処理安全確保支援士を保有。 豆蔵入社時点でAWSを触った経験なし。 きっかけは豆蔵入社直後の事業部長との面談で、「APN(AWS Partner Network)のTierを上げるためにAWS認定の保有者が必要なので、Cloud Practitionerを取らないか」と勧められたことでした。 豆蔵に入社した理由が、「AWSやAzureなどのメガクラウドでサーバーレスなシステム構築などモダンな技術を使った開発に

                                                          • ORマッパーのTypeORMをTypeScriptで使う | 豆蔵デベロッパーサイト

                                                            Node.jsの普及によって、JavaScript/TypeScriptはフロントエンドだけの実装言語ではなくなりました。 Express等のWebサーバーや、Lambda等のサーバーレス環境でバックエンド処理として使われることが当たり前になりました。 最近はもっとバリエーションが増えていますが、一般的にバックエンドサービスだとRDBアクセスが定番モノと言えます。 ここでは、そんなJavaScript/TypeScript向けのORマッパーのTypeORMをご紹介します。 TypeORMはフルスタックのORマッパーで、特に実装言語としてTypeScriptを利用すると、その型付け機能をフル活用できます[1]。 もちろん、PostgreSQL、MySQL、Oracle、SQL Server等のメジャーなRDBはフルサポートされています。 また、実験的(experimental)ではありますが

                                                            • Nuxt3で導入されたハイブリッドレンダリングとNuxt版ISG/ISRを試してみる | 豆蔵デベロッパーサイト

                                                              これは、豆蔵デベロッパーサイトアドベントカレンダー2022第18日目の記事です。 今年春にRCバージョンとなったNuxt3は、先月(2022-11-16)ようやく安定バージョンとなりました。 Announcing Nuxt 3.0 stable Nuxt3の目玉機能の1つとしてハイブリッドレンダリングがあります。 以下公式ドキュメントからの引用と機械翻訳結果です。 Hybrid rendering allows different caching rules per route using Route Rules and decides how the Server should respond to a new request on a given URL. ハイブリッドレンダリングは、Route Rulesを使用してルートごとに異なるキャッシュルールを可能にし、与えられたURLの新しい

                                                              • GitHub Codespaces を使いはじめる | 豆蔵デベロッパーサイト

                                                                GitHub Codespaces は GitHub が提供するクラウド開発環境です。GitHub 社内で運用されていた Codespaces が間もなく一般にもリリースされそうです。 Codespaces InformationGitHub 社内の開発環境は昨年 Codespaces に移行し、社員の環境構築作業が劇的に改善されました。マシンスペックの変更も設定ファイルを1行書き換えるだけで完了するとのことです。社員からの評価も非常に高いようです。 GitHub開発チームでのCodespacesの利用 現在パブリックベータで、申し込んだ人から順次使えるようになっている段階です。私のアカウントでもかなり前に申し込んでいてすっかり忘れていましたが、いつの間にか有効になっていました。 Codespaces のページからリポジトリを選択して Codespace を作成することできますが、各リポジ

                                                                • AWS Lambda 向け軽量Node.jsミドルウエアエンジン Middy の紹介 | 豆蔵デベロッパーサイト

                                                                  これは、豆蔵デベロッパーサイトアドベントカレンダー2022第11日目の記事です。 今年偶然[1]に見つけた middyjs が、「シンプルでパワフル・軽量で拡張性あり」というサイトの謳い文句どおり素晴らしかったのでご紹介します。 AWSの多くのサービスは、サービスの機能拡張やアプリケーション部分の実装としてLambda関数を指定できるように統合されています。例えばApiGatewayと連携しAPIサーバを構築する、S3と連携し多機能なオブジェクトストレージを実現する、SNSやSQSと連携しPub/Subシステムを構築するといった具合です。 Lambda関数には、様々なサービスからのイベントを処理する業務ロジックが実装されます。 // file: my-handler.ts import { APIGatewayProxyEvent, APIGatewayProxyResultV2 } fr

                                                                  • Scrapbox の社内導入 | 豆蔵デベロッパーサイト

                                                                    これは、Scrapbox Advent Calendar 2021 - Adventar 22 日目の記事です。 普段 豆蔵デベロッパーサイト では技術情報を中心に紹介しています。 ですが、本記事では技術情報そのものではなく、技術情報をどのように社内で共有・活用しているかについてご紹介します。 弊社豆蔵では、Nota社 による Scrapbox を社内公式ツールとして 2018 年 5 月に導入しました。 この記事を書いている 2022 年 1 月現在で、3 年 8 ヶ月が経過しています。 社員による Scrapbox の利用は着実に進んでおり、ページ数は 9,100 ページを超え、日々活発な技術的な議論や情報交換が行われています。 本記事では、下記についてご紹介します。 どういった経緯で Scrapbox を全社導入したのか Scrapbox の社内導入にあたって苦労したところはどういっ

                                                                    • Ingress - AWS Load Balancer Controller | 豆蔵デベロッパーサイト

                                                                      前回はNginxをIngress Controllerとして利用しました。 Nginxはロードバランサーとして利用可能なプロキシサーバーで、実績のある成熟したミドルウェアと言えます。 しかし、AWSにはロードバランサーのフルマネージドサービスとしてELB(Elastic Load Balancing)が存在しますので、あえてNginxを入れなくても、ロードバランサー機能として同等のことができます。 今回はIngress ControllerとしてAWSマネージドサービスのELBを利用できるようにしましょう。 これに対応するAWS Load Balancer Controller[1]というIngress Controllerがありますので、こちらを導入します。 Github: https://github.com/kubernetes-sigs/aws-load-balancer-cont

                                                                        Ingress - AWS Load Balancer Controller | 豆蔵デベロッパーサイト
                                                                      • ArchUnitで考えるアーキテクチャ構造とその検証 | 豆蔵デベロッパーサイト

                                                                        「進化的アーキテクチャ」に続き「ソフトウェアアーキテクチャの基礎(日本語版)」発売で再び注目を浴びてきたArchUnitですがTips的な情報があまりネットにないので、これはArchUnitで検証しておこう!というパターンをよくありそうなアプリケーションを題材に実装例をまとめてみました。また、実装例だけだと味気ないので筆者なりのアーキテクチャに対する考え方を合わせて少しご紹介します。 Informationこの記事はArchUnit 0.23.1をもとに作成しています。APIの細かい説明は行いませんので詳細が必要な場合はArchUnitの公式ガイドを参照ください。 はじめにそもそもArchUnitってなに?という方にごく簡単に説明するとArchUnitはJavaのコードでクラスやパッケージ間の依存関係をチェックするライブラリとなります。この依存関係のチェックはJUnitのテストメソッドとし

                                                                        • Deno による Slack プラットフォーム(オープンベータ) | 豆蔵デベロッパーサイト

                                                                          Slack から Deno による新しいプラットフォームがオープンベータとしてリリースされました。 Slack releases platform open beta powered by Deno ちょうど Deno について連載をやっていることもあり興味を持ちました。Deno については、Blog に Slack’s journey with Deno と題して以下のように書かれています。 Easy: Deno を利用した Slack CLI を使用することで、セットアップや依存関係のライブラリのインストールなしに機能の実装に集中できる。 Fast: Deno の JavaScript ランタイムの高速性の恩恵を受けられる。 Secure: Deno の安全性の恩恵を受けられる。 公式ドキュメントも整備されています。ベータということで現在、https://api.slack.com/f

                                                                          • GitHub Code Search で世界中のコードを検索する | 豆蔵デベロッパーサイト

                                                                            GitHub Code Search は GitHub にホストされているリポジトリのコードベースから検索できます。当然のことながら Google 検索などの汎用検索サービスよりソースコード検索に特化したサービスになっています。昨年プレビュー版がリリースされ waitlist で順次利用可能になっていました。 Introducing an all-new code search and code browsing experience | GitHub Changelog そしてこの度パブリックベータとして一般利用可能になりました。 No more waitlist - code search and code view are available to all in public beta | GitHub Changelog

                                                                            • macOS 上で Podman を動かす | 豆蔵デベロッパーサイト

                                                                              2022年1月31日で Docker Desktop の移行期間が終了し、企業での使用は無償使用の条件に該当しない限り全て有償化されました。 有償化による金額の大小に関わらず、大企業での作業には予算の認可に時間が掛かったり、中小企業だとそもそも年度の予算が足りなかったりなど、さまざまな理由でライセンス料を支払う事が難しいケースもあります。 そこで Docker Desktop の代替となるツールの候補として、Podman について調査してみました。

                                                                              • GitHub Actions Runner Controller (ARC) - セルフホストなランナーを Kubernetes でオンデマンド実行する | 豆蔵デベロッパーサイト

                                                                                これまで GitHub Actions のセルフホストランナーは、ローカルの PC や VM に構築するものでした。そのため、CI/CD ワークフローの実行時に Runner 用のマシンをプロビジョニングしてワークフロー終了時にマシンを破棄するということが難しく、常に起動状態にしておく必要がありました。

                                                                                • Backstageで開発者ポータルサイトを構築する - 導入編 | 豆蔵デベロッパーサイト

                                                                                  依存関係にある他チームで開発しているAPIの情報を探すのに社内リソースを探し回った経験はないでしょうか? 小さな組織ではあまりないかもしれませんが、ある程度の組織になると、管理対象のシステムが数百から数千といったオーダーで構成されることが多いかと思います。 その結果、目的のものを探すためにあちこち探し回り、見つかったと思ったらほしい情報がそこにはなく途方に暮れる。。なんて経験が私はよくあります。 今回こんな悩みを解決するものとして、BackstageというOSSプロダクトを試してみたいと思います。 BackstageはSpotify社によって2016年に公開され、大規模組織における開発者ポータルサイト構築にフォーカスしています。 その後、2022/03/15にCNCFのIncubatingに昇格、そして2022/03/17にv1.0がリリースされ、今後の普及が見込まれるものでもあります。

                                                                                  新着記事