タグ

ブックマーク / qiita.com (716)

  • WebAuthnを使ったFIDOサーバを立ててみた - Qiita

    Googleから最近になって、FIDO認証デバイスの「Titanセキュリティーキー」が発売されたので、購入しました。 [Google Titanセキュリティーキー] https://store.google.com/jp/product/titan_security_key_kit 今のところ、はやっていそうですし、せっかくなのでこれを使って遊んでいきたいと思います。 Titanセキュリティーキーがあれば、Webサーバから見てユーザID/パスワードで認証するのではなく、Titanセキュリティーキーのデバイスを認証してくれます。公開鍵をベースとしているそうです。 また、Titanセキュリティーキーには、USBに加えて、NFCとBLEの接続方法があるので、直接PCに挿さなくとも、デバイス認証してくれます。 ということで、今回は、王道のFIDOサーバを立ち上げます。 (参考) こちらもどうぞ。

    WebAuthnを使ったFIDOサーバを立ててみた - Qiita
    yyamano
    yyamano 2024/07/03
  • 何故マイナンバーカードの保険証利用が暗証番号レスで可能なのか - Qiita

    長いので答えだけ知りたい 暗証番号(PIN)無しで利用者証明が可能な特定機関認証を使用しているからです。 特定機関認証は特定機関認証用の公開鍵証明書と秘密鍵をあらかじめ提供されている必要があるため、汎用的には使えません。 マイナンバーカードの保険証利用について マイナンバーカードの保険証利用が宣伝されるようになりました。 マイナンバーカードの保険証利用について(被保険者証利用について)より引用 マイナンバーカードの健康保険証利用申込はマイナポータルなどから行います。 マイナンバーカードの健康保険証利用について~医療機関・薬局で利用可能~より引用 このマイナンバーカードの保険証利用ではマイナンバーを利用することはありません。マイナンバー法により定められた「特定個人情報の提供の制限」で認められる利用範囲ではないからです。このことは公式のFAQにも書いてあります。 Q9.医療機関・薬局がマイナン

    何故マイナンバーカードの保険証利用が暗証番号レスで可能なのか - Qiita
    yyamano
    yyamano 2024/05/24
  • Consumer-Driven Contracts testingを徹底解説! - Qiita

    この記事は リクルートライフスタイル Advent Calendar 2016 の14日目の記事です。 はじめに みなさんmicroserviceを進めていますか? リクルートライフスタイルでも徐々にmicroserviceの流れが押し寄せつつあります。 今回はそんなmicroserviceに役立つConsumer-Driven Contract testingというテスト方法について書こうと思います。 当はライブラリを使って実演までしたかったのですが…この記事の量が多くなってしまい、趣旨がずれてしまうので別の機会に書こうと思います。 microserviceのテストの問題点 microserviceのテストの問題点についてこれから説明していきます。 まずは複数のmicroserviceでできた以下のようなサービスがあるとします。 さて、ここでv1というmicroserviceに対してテ

    Consumer-Driven Contracts testingを徹底解説! - Qiita
    yyamano
    yyamano 2024/02/19
  • イベントハンドラの関数名についての雑記 - Qiita

    今日のXでは、イベントハンドラの関数名についての話題を見ました。元の投稿はこちらです。要するに、次のhandleClickのようなhandleイベント名という命名は良くないということです。 const handleClick = () => { ... }; <button type="button" onClick={handleClick} /> これについて少し考えたので、せっかくなのでアウトプットしておくことにしました。 この記事の目的 考えたことを頭の中に残しておくのがもったいないので、文章の形にしておく。 色々な意見が出る問題であり、ベストな答えは無いので各々好きにすれば良いということを、読者に理解してもらう。 とはいえ、筆者の考えに納得して同じ考えの人が多いと嬉しいので、なるべく納得してもらう。 筆者の考え 自分の考えとしては、むしろhandleClickいいじゃん! どんど

    イベントハンドラの関数名についての雑記 - Qiita
    yyamano
    yyamano 2024/01/28
  • [Swift] enumerated()はindexを返さない - Qiita

    for-in文でindexを使いたい場合、enumerated()を使おうねと書かれている記事をよく見かけますが、indexとしては使えないケースもあります。コードを交えつつ解説していきたいと思います。 Swift3からC言語風の伝統的なforループが廃止されました。 こういうやつですね。

    [Swift] enumerated()はindexを返さない - Qiita
    yyamano
    yyamano 2024/01/15
  • デジタルIDウォレットとは何なのか、私見と妄想とともに - Qiita

    最近 ID 界隈で話題になっているトピックとして、デジタルIDウォレット(DIW) というコンセプトがあります。これは、身分証、運転免許証や、銀行のキャッシュカード、さらにはお店のポイントカードまで、あらゆる人のアイデンティティに関するデータを、スマホアプリに保存し、必要に応じて、必要な情報だけ、必要あれば複数をまとめて一度に、提示できるというコンセプトです。 話題になっている背景、必要となる技術、欧米の動きなど、2023年12月時点での私の理解をまとめました。 明確なソースがある情報は、極力ソースとなるURLを添付しています。 また、一般論としてここに記載する情報については、国内外の多くの識者の方のお話を、直接的、間接的に伺う中で、私の中で咀嚼、消化した内容となっております。ここの皆様のお名前は略させて頂きますが、御礼申し上げます。それでも、ブログの内容に誤りがあれば、すべて私の責任

    デジタルIDウォレットとは何なのか、私見と妄想とともに - Qiita
    yyamano
    yyamano 2023/12/25
  • OpenID Connect セッション管理 概要 - Qiita

    Open ID Connectで定義されるセッション管理の仕組みについてまとめる。殴り書きメモ記事。 用語 OpenID Connect OAuth 2.0の認可フローをベースに、追加で、「認証結果」と「属性情報(アイデンティティ情報を提供するエンドポイントへのアクセス認可情報)」をやり取りするためのプロトコル。 Relying Party(RP) OpenID ProviderにID Tokenとユーザー情報を要求するサーバー、SSO対象のアプリケーション。 OpenID Provider(OP) ユーザー認証機能を有し、ユーザー認証時にRelying Partyから要求されたアイデンティティ情報を提供できるエンドポイントを有するサーバー。 ID トークン OPから提供される 認証・認可情報を含むJWT形式のトークン。 セッションの作成・更新(Creating and Updating

    OpenID Connect セッション管理 概要 - Qiita
    yyamano
    yyamano 2023/12/18
  • アジャイル開発の代表的なスケーリング方法まとめ - Qiita

    (ラージソリューションは、あまり使わないと実践者の方に聞いたことがあるので上記の階層の説明からは一旦抜きました。) ここでいう、「プログラム」とは複数チームで構成される大規模な開発体制のことを意味します。各階層ごとに管理するバックログがあるため、ひとつの手法の中で粒度の異なる複数のバックログを管理することになります。これらの階層を一枚に図示したものを、SAFeの全体像 (big picture) と呼びます。 SAFeが実現しようとしているの価値は以下の4つになります。 ベクトル合わせ 3 つのレベルのメンバーが戦略的な目標を共有し、その方向に向かって力を合わせる コード品質 技術プラクティスを実践することで大規模で品質のよいプロダクトを実現する プログラムの実行 開発メンバーの自律性に基づく自己組織化や自己管理、及び反復のサイクルを自然な形でプログラムレベルにスケールアップすることで、大

    アジャイル開発の代表的なスケーリング方法まとめ - Qiita
    yyamano
    yyamano 2023/12/18
  • GitHub Copilotが便利になったのでターミナルもVSCodeで良いのでは?という話 - Qiita

    この記事はラクスアドベントカレンダー2の17日目です。 先日のVSCodeのアップデートで、GitHub Copilotを使うとターミナル操作が便利になりました。 これにより、別途ターミナルのアプリを使わずにすべてVSCode上で操作した方が便利なのでは?となりました。 アップデート前までどうしてたか MaciTerm2上で、GitHub CopilotのCLI版(パブリックベータ)で入力補完やコマンドの意味を調べたりしていました。 それ自体は便利でしたが、いくつかの不便な点もありました。 使い方がちょっと煩雑だった 例えばコマンドをサジェストして欲しい場合、gh copilot suggest 'gitで1つ前のコミットを取り消したい'のようにタイプする文字数も多くなり、またそれが一般的なコマンド or ghコマンド or gitコマンドかの3択に答えないといけなくて面倒でした。 ss

    GitHub Copilotが便利になったのでターミナルもVSCodeで良いのでは?という話 - Qiita
    yyamano
    yyamano 2023/12/18
  • 中途入社や部署異動で来た新メンバーを活躍しづらくするアンチパターン - Qiita

    1. はじめに ソフトウェア開発のチームに、新しいメンバーが入ってくることはよくあります。 以前に新卒社員がチーム入ってきた場合の育成方法を紹介しました(こちら)。 今回は、新卒社員ではなく、他の会社から中途入社か同じ会社の部署異動で来る新メンバーの話です。 (エンジニアが数百人などで規模が大きい会社の場合、部署が違うと仕事のやり方が全く変わる場合があるので、今回は中途入社と他の部署からの異動を同じように「新メンバー」として扱います) 会社や部署が変わると仕事のやり方が大きく変わるため、仕事のやり方に戸惑うことが多いと思います。 稿では、そのような「新メンバー」を活躍しづらくしてしまうアンチパターンとその対策を紹介します。 2. 中途入社や部署異動で来た新メンバーが適応することの困難さを理解する 中途入社や部署異動で来た新メンバーが組織に適応することは、新卒社員のそれとは別の難しさがあり

    中途入社や部署異動で来た新メンバーを活躍しづらくするアンチパターン - Qiita
    yyamano
    yyamano 2023/12/04
    開発プロジェクトだとポータル作って色々なローカルルールをまとめて、開発者の入れ替わりに対応できるようにしているのに、部署内、社内の業務だとできないのが謎。規模の問題?それとも文化的なもの?
  • [翻訳] Shopifyにおけるモジュラモノリスへの移行 - Qiita

    こんにちは、べログシステム部長の京和です。 エントリでは Shopify の Engineering Blog から、Kirsten Westeinde による「Deconstructing the Monolith: Designing Software that Maximizes Developer Productivity」を翻訳して掲載します。 べログではユーザーや飲店に価値を届けるスピードを最大化するべく、マイクロサービス化などをはじめとしたこれまでの組織やアーキテクチャを刷新するための取り組みを始めています。しかし、マイクロサービスはアプリケーションアーキテクチャとインフラアーキテクチャが複雑に絡み合ったシステムで技術的難易度が非常に高く、適切に構築できなければ「分散されたモノリス」と呼ばれるアンチパターンに陥ります。1 Shopifyではマイクロサービスではなく、

    [翻訳] Shopifyにおけるモジュラモノリスへの移行 - Qiita
    yyamano
    yyamano 2023/11/30
  • Vector Database まとめ - Qiita

    vector database というものについて調べたのでメモです。 vector database とは 類似ベクトルを検索するためのデータベースです。機械学習の分野では文章・画像などを高次元のベクトルに変換して類似したものをまとめるということが行われており、それらを検索するためのデータベースとして使用されます。 2,3次元のベクトルであれば空間分割木で容易に検索できますが、高次元では高速に検索することが出来ないので、確率的に探索する近似最近傍探索という方法が使われます。 一覧 DB 名 スター数 開発言語 ライセンス 主要開発者の所属

    Vector Database まとめ - Qiita
    yyamano
    yyamano 2023/11/30
  • これだけはおさえておきたいPlaywrightコマンド集 - Qiita

    はじめに この記事では、Playwrightでテストを書いていく上で「こんな時どう書く?」をまとめた記事です。 コマンド集は公式ドキュメントにもあります。 コマンドがたくさんあり様々なことができます。 記事ではその中からよく使いそうなこれだけはおさえておきたいものをピックアップして、要素の操作と検証など実践に使いやすい形のサンプルを用意してみました。 また、PlaywrightのテストコードだけでなくHTMLも合わせて載せておりますので参考にしていただけたらと思います。 以下のコマンドの紹介では、Playwrightのデモ用のページを利用しています。 デモページ:https://demo.playwright.dev/todomvc 環境 以下の環境下で動作を確認しました。 OS : Windows 10, Ubuntu 20.04 Node : v16.15.1 Playwright

    これだけはおさえておきたいPlaywrightコマンド集 - Qiita
    yyamano
    yyamano 2023/11/09
  • pythonは_(アンダースコア)の使い方を理解するだけでプロフェッショナルになれる - Qiita

    1. 第3次AIブームの到来 米Google DeepMindが開発した人工知能AI)の囲碁プログラム「AlphaGo」が世界トップレベルの実力を持つ韓国のプロ棋士、李世ドル(イ・セドル)九段に4勝1敗と大きく勝ち越したことが着火剤となり、2015年より第3次AIブームへと突入した。(ちなみにAIが誕生したのは1950~1960年代で第1次AIブームの到来) 1.1 余談になるがAlphaGo(4億円の知能)はなぜすごいのか? AlphaGoがそれ以前のチェスや将棋AIと異なるのは、 畳み込みニューラルネットワーク(CNN) を応用している点だ。このCNNはさらに強化学習を行い、自分自身と対局を数千万回も繰り返した。 間違っていたらすみません、、、、 1.2 ChatGPTによる生成AIのブーム ChatGPTに代表されるLLMは以前から開発競争が繰り広げられていた。 GPT1は201

    pythonは_(アンダースコア)の使い方を理解するだけでプロフェッショナルになれる - Qiita
    yyamano
    yyamano 2023/11/01
  • macOS Catalina (Mojave, High Sierra, Sierra)で日本語入力時に常にスペースを半角に - Qiita

    macOS Catalina (Mojave, High Sierra, Sierra)で日本語入力時に常にスペースを半角にmacOS コメント(R2/10/6) Hotな案件なので上に書いています. Big Surはむり? /System/Library/Input Methods/JapaneseIM.app/Contents/PlugIns/JapaneseIM.appex/が /System/Library/Input Methods/JapaneseIM-xxx.app/Contents/PlugIns/JapaneseIM-xxx.appex/に変更 JapaneseIM-xxxはJapaneseIM-KanaTypingとJapaneseIM-RomajiTypingの2つ. そしてその中に,そもそもKeySetting_Default.plistがない. あったわ /Sys

    macOS Catalina (Mojave, High Sierra, Sierra)で日本語入力時に常にスペースを半角に - Qiita
    yyamano
    yyamano 2023/10/31
  • EC2が複数VPCにENIを足出しできるように!でもみんな戦々恐々としてるのはなぜ…? - Qiita

    AWSVPCに大きなアップデートが! 今週10/26、AWSにこんな機能アップデートが発表され大変話題になりました。 簡単に言うと 「EC2インスタンスから複数のVPCに対してENI(NIC)を足出しできるようになった」 という大きなアップデートでした。 みんな戦々恐々? しかし、Twitterのオンプレミス経験者たちは口を揃えて懸念を漏らしています。 「これ、クラウド初心者がオンプレからの移行で "監視セグメントVPC" みたいなものを作ってしまうんじゃなかろうか…」 今回のアプデを見て「ウッ…😅」と感じた方も、改めて何が問題なの?と聞かれると意外としっかり言語化できないかも知れません。これを機にAWSの代表的なサービスであるマネージド論理ネットワーク「VPC」の基をおさらいしてみましょう。 オンプレ時代の基を振り返る パブリッククラウド普及前のオンプレミス時代では、企業のシステ

    EC2が複数VPCにENIを足出しできるように!でもみんな戦々恐々としてるのはなぜ…? - Qiita
    yyamano
    yyamano 2023/10/29
  • Vue3 & Vuetify3でバリデーション付きのフォームを作ってみる - Qiita

    この記事は、以前に投稿した「Vue & Vuetifyでバリデーション付きのフォームを作ってみる 」という記事の、Vue3.x 版となります。Vue2.xでの内容をご覧になりたい方は以前の記事をご覧ください。 VueVuetifyを組み合わせて、下図キャプチャのようなバリデーション付きのフォームを作ってみます。Vueの基事項は知っている前提です。だいぶ回りくどい記事になっています。 なお、記事では、Options APIではなく、Composition APIを使用しています。 バージョン Vue 3.2.33 Vuetify 3.0.0 Beta 3 Vuetifyは、Vue3.xに対応したVuetify3.xがまだ正式リリースされていません。(2022/6/3現在) ですので、この記事ではベータ版を使用しています。今後、仕様が変更となる可能性がありますのでご注意ください。 <di

    Vue3 & Vuetify3でバリデーション付きのフォームを作ってみる - Qiita
    yyamano
    yyamano 2023/10/26
  • PostgreSQLのJSONのIndexの張り方 - Qiita

    10秒弱で終わりました。早いですね。あ、cloud9上です。 さて検索してみます。jのvalが10のものを探してみましょう。 @>演算子でJSONにそれを含むものを検索できます。今回は'{ "j": { "val": 10 }}'::jsonbを含むレコードを検索しています。 test=# select * from test where val @> '{ "j": { "val": 10 }}'::jsonb; id | val --------+------------------------------------------------- 1001 | {"j": {"k": {"val": 0}, "val": 10}, "val": 0} 1002 | {"j": {"k": {"val": 1}, "val": 10}, "val": 0} 1003 | {"j": {"k

    PostgreSQLのJSONのIndexの張り方 - Qiita
    yyamano
    yyamano 2023/10/02
  • JavaEE使い方メモ(JPA その4 - クライテリアAPI) - Qiita

    環境構築 JPA の基的な話 マッピングの話 JPQL の話 コード クライテリアAPI とは JPQL をプログラムで動的に生成するための API。 文字列連結で JPQL を生成する場合、構文ミスをコンパイルレベルで検知することができない。 クライテリア API を使えば Java プログラムで JPQL の構築ができるので、 JPQL の構文ミスを回避できる。 基 実装 エンティティモデル 実装(エンティティ) package sample.javaee.jpa.entity.criteria; import javax.persistence.Entity; import javax.persistence.Id; @Entity public class Kisume { @Id private Long id; @Override public String toStrin

    JavaEE使い方メモ(JPA その4 - クライテリアAPI) - Qiita
    yyamano
    yyamano 2023/09/26
  • Spring Data JPA の Specificationでらくらく動的クエリー - Qiita

    Spring DATA JPA では Repository インターフェイスにメソッドを定義するだけで簡単にクエリーを実装することができるが、任意指定の検索条件があるような動的クエリーの実装には向いていない。 動的クエリーとは、検索条件の値が変化するだけでなく、検索条件そのものが変化するようなクエリーである。 例えば、ユーザーの検索条件に「ユーザー名」と「メールアドレス」の2つがある場合、findByNameAndEmail()というメソッドをつくればいいが、検索条件が任意入力の場合、 両方入力 -> findByNameAndEmail() ユーザー名のみ入力 -> findByName() メールアドレスのみ入力 -> findByEmail() 両方未入力 -> findAll() の4パターンの検索メソッドが必要になってしまう。 4つくらいならそれぞれに対応したfindBy***メ

    Spring Data JPA の Specificationでらくらく動的クエリー - Qiita
    yyamano
    yyamano 2023/09/26