タグ

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

  • Java 21新機能まとめ - Qiita

    Java 21が2023/9/19にリリースされました。 https://mail.openjdk.org/pipermail/jdk-dev/2023-September/008267.html The Arrival of Java 21! LTSであり、パターンマッチングや仮想スレッドが正式化され、プレビューとして入ったString Templatesや無名クラス&インスタンスメインメソッドも面白い機能なので、大切なリリースになっていると思います。 詳細はこちら JDK 21 Release Notes Java SE 21 Platform JSR 396 OpenJDK JDK 21 GA Release APIドキュメントはこちら Overview (Java SE 21 & JDK 21) 追加されたAPIまとめはこちら https://docs.oracle.com/en/

    Java 21新機能まとめ - Qiita
    vvakame
    vvakame 2023/09/22
  • 【Jetpack Compose】React HooksとSWRに学ぶ宣言的データフェッチのすすめ - Qiita

    TL;DR React SWRをJetpack Compose向けに移植して公開したぞ! 前置き もし今からモダンなAndroidアプリをゼロから書こうと思ったらおそらくJetpack Composeを採用したいという人が多いかと思います、いわゆる宣言的UIと呼ばれるやつですね。 この宣言的と呼ばれるトレンドはUIだけに適用されているものなのでしょうか? AndroidというプラットフォームだけでみてもCompose以外で宣言的に書ける部分は年々広がってきています。 例えば遷移先の画面から値を受け取るstartActivityForResult()+onActivityResult()は非推奨になり、代わりにregisterForActivityResult()を宣言する形に置き換わりつつあるのは周知の通りです。 また、画面のライフサイクルのハンドリングはActivityのonStart(

    【Jetpack Compose】React HooksとSWRに学ぶ宣言的データフェッチのすすめ - Qiita
    vvakame
    vvakame 2022/12/16
    へ〜
  • Markdoc入門: Vite + @markdoc/markdocを使って、Markdownで書かれた記事を表示しよう - Qiita

    Markdoc入門: Vite + @markdoc/markdocを使って、Markdownで書かれた記事を表示しようJavaScriptMarkdownvitemarkdoc Markdocは、Stripeのドキュメントサイトで利用している、マークダウンのオーサリングツールです。 この記事では、JavaScriptと@markwodn/markdocライブラリを利用して、Markdownで書かれたコンテンツをサイトに表示させる方法を紹介します。 セットアップ Markdocライブラリは、npm installして利用します。 今回はコードのビルドに、Viteを利用します。 フレームワークにはvanillaを選びましょう。 variantでTypeScriptも選べますが、今回は使用しません。 $ npm init vite ✔ Project name: … vite-markdoc

    Markdoc入門: Vite + @markdoc/markdocを使って、Markdownで書かれた記事を表示しよう - Qiita
    vvakame
    vvakame 2022/05/13
    ほぇー
  • 図解 DPoP (OAuth アクセストークンのセキュリティ向上策の一つ) - Qiita

    はじめに DPoP(ディーポップ)という仕様を紹介します。 OAuth 2.0 Demonstration of Proof-of-Possession at the Application Layer (DPoP) この仕様は、悪い人がアクセストークンを盗んだとしても、それだけでは API に対する不正アクセスができないようにするための仕組みです。 従来は、クライアントアプリケーションがアクセストークンを提示して API にアクセスしてきたとき、そのアクセストークンが有効であれば、API アクセスは許可されていました。しかし、DPoP などの Proof of Possession(PoP)の仕組みを用いると、アクセストークンを提示しているクライアントがそのアクセストークンの正当な所有者かどうか(=アクセストークンの発行を受けたクライアントと同一かどうか)もチェックされるようになり、アク

    図解 DPoP (OAuth アクセストークンのセキュリティ向上策の一つ) - Qiita
    vvakame
    vvakame 2021/09/06
    なるほどなぁ
  • スプラトゥーン2のプレイ動画から、やられたシーンだけをディープラーニングで自動抽出する - Qiita

    手っ取り早く、やられたシーンを抽出したい人向け OBSと連携するWebアプリを作成しました 詳細はこちらの記事をご参照ください。 スプラトゥーン3で、やられたシーンをOBSのリプレイバッファで自動保存する 以前のWebアプリ スプラトゥーン2 やられたシーン自動頭出しツール「iKut」 Dockerイメージ こちらでDockerイメージを配布しています。 はじめに スプラトゥーン2を発売日からやりこんで3年になります。2年かけて全ルールがウデマエXに到達しましたが、そこからXパワーが上がらずウデマエX最底辺で停滞しています。最近は自分のプレイ動画を見て対策を立てるのですが、すべての動画を見るのは大変です。そこで敵にやられたシーンは特に修正すべき自分の弱点があると考え、そこだけを自動で抽出するシステムを作ってみました。 ↑このシーンを切り出します。 画像の引用 この記事では任天堂株式会社のゲ

    スプラトゥーン2のプレイ動画から、やられたシーンだけをディープラーニングで自動抽出する - Qiita
  • 実装者による CIBA 解説 - Qiita

    はじめに この記事では、『OpenID Connect Client Initiated Backchannel Authentication Flow - Core 1.0』、通称『CIBA Core』の解説をおこなう。(CIBA は『シーバ』と読む) OpenID Connect Client Initiated Backchannel Authentication Flow - Core 1.0 CIBA Core は 2018 年 12 月 14 日に Public Review 期間に入った(アナウンス)。スケジュール通りに進めば、2019 年 2 月初旬には Implementer's Draft として承認される※。 ※:2019 年 2 月 4 日に承認のアナウンスがあった。 Public Review に先立ち、実装者の視点からいろいろ突っ込みを入れておいたので、実装上大

    実装者による CIBA 解説 - Qiita
    vvakame
    vvakame 2021/01/28
    シーバ、猫のおやつっぽい
  • Chrome拡張の高速な英語辞書ツールをつくりました(Mouse Dictionary) - Qiita

    経緯 もともとMouseoverDictionaryという素晴らしいFirefox用辞書があったのですが、Quantumの登場とXULの廃止とともに使えなくなってしまったため、自分用にChrome拡張をつくった次第です。 ソースコード 実装に関わる技術寄りの用語: React, esbuild, chrome.storage.local, chrome.storage.sync, Cross-extension messaging, Hogan, debounce, resizable/draggable, intl.v8BreakIterator, deinja, クロスブラウザ, など。 ※詳細は「Mouse Dictionaryの技術的な話」をご参照ください https://qiita.com/wtetsu/items/2a5568cb0b5a38c003fb 使い方 インストール

    Chrome拡張の高速な英語辞書ツールをつくりました(Mouse Dictionary) - Qiita
    vvakame
    vvakame 2020/12/31
    ほぇー
  • Deno が Node.js に依存しなくなった - Qiita

    Deno (ディノ) Advent Calendar 2020、25日目の記事です。今日は Deno が Node.js に依存しなくなった経緯の話をします。 Node.js に依存しながら始まった Deno の開発 Deno は、プロジェクトが始まって以来いくつかの点で Node.js に依存して開発が進められてきました。おもに Node.js に依存していたのは以下の3種類のプログラムです。 バンドラ parcel (のちに rollup に移行) フォーマッタ prettier リンタ tslint (のちに eslint に移行) この中でバンドラが最も最初に Deno 製のツールにリプレースされ、その後フォーマッター、リンターの順でリプレースされていきました。リンターがリプレースされたのはつい最近 (2020年11月) のことです。この記事ではそれぞれの経緯・手法について紹介して

    Deno が Node.js に依存しなくなった - Qiita
    vvakame
    vvakame 2020/12/25
    いい話
  • kubernetesでもぷよぷよがしたいので同じ色のPodが4個くっついたらdeleteされるcustom controller「くべくべ」を作った - Qiita

    kubernetesでもぷよぷよがしたいので同じ色のPodが4個くっついたらdeleteされるcustom controller「くべくべ」を作ったGokubernetes Kubernetes使ってると、Nodeにえらい数のPodが溜まってくじゃないですか。消したくなりますよね。連鎖してほしいですよね。なりません?なので、4つ同じ色のPodが4個くっついたらdeleteされる、爽快感のあるカオスエンジニアリング用のcustom contollerを作りました。 deleteされるだけでは寂しいので、deleteされていく様子を見るためのkubectl pluginも作りました。合わせて使うとこんな感じになります。 左側の●のひとつひとつがPodです。Nodeが列に対応してます。6Node構成です。各色8個ずつpodを立てていて、右側にreplicasetの増減を置いてみました。 レポジト

    kubernetesでもぷよぷよがしたいので同じ色のPodが4個くっついたらdeleteされるcustom controller「くべくべ」を作った - Qiita
    vvakame
    vvakame 2020/10/29
    くさはえるwww
  • Firebase Resize Imagesを使ってみた - Qiita

    Firebase Resize Imagesとは 先日Firebase Extensionsのベータ版使えるようになりました。 Resizes images uploaded to Cloud Storage to a specified size, and stores both the original and resized images. どうやら元画像とリサイズされた画像の両方を保存する拡張機能のようです。 インストール インストールボタンをクリックすると、いくつか確認や入力を求めらる画面に遷移します。 このステップまできたら、 Deployment location Cloud Storage bucket for images Size of resized images Cloud Storage path for resized images を入力します。 ※ Clou

    Firebase Resize Imagesを使ってみた - Qiita
    vvakame
    vvakame 2020/10/24
    ほぇー
  • Identity Assurance - eKYC 時代の OpenID Connect - Qiita

    はじめに 2018 年 11 月 30 日に『犯罪による収益の移転防止に関する法律』(犯罪収益移転防止法/犯収法)を改正する命令が公表されました。この改正で「オンラインで完結する自然人の人特定事項の確認方法の追加」が行われ、eKYC(electronic Know Your Customer)の根拠法となりました。 そして、当改正から約一年後の 2019 年 11 月 11 日、世界標準仕様策定団体である OpenID Foundation から『OpenID Connect for Identity Assurance 1.0』という技術仕様の第一版が公開されました。また、これを受けて同団体内に新たに『eKYC and Identity Assurance ワーキンググループ』が設置されました。それから約半年後の 2020 年 5 月 19 日には、同仕様の第二版が公開されました。 犯

    Identity Assurance - eKYC 時代の OpenID Connect - Qiita
    vvakame
    vvakame 2020/09/17
    なるほどなー
  • Kubernetesの apiVersion に何を書けばいいか - Qiita

    と記述する必要がある。 1. api-resources コマンドで、リソースとAPI GROUPの対応を調べる リソースと APIGROUP の対応は kubectl api-resources で出力できる。 注意: 古いkubectlでは実装されていない。 v1.12で存在確認 現在のコンテキストにおける情報らしいので、複数のクラスタを扱っているときは接続先に注意 $ kubectl api-resources NAME SHORTNAMES APIGROUP NAMESPACED KIND bindings true Binding componentstatuses cs false ComponentStatus configmaps cm true ConfigMap endpoints ep true Endpoints events ev true Event limit

    Kubernetesの apiVersion に何を書けばいいか - Qiita
    vvakame
    vvakame 2020/07/13
    なるほどなぁ
  • LSPから派生したLanguage Server Index Formatとは何か - Qiita

    注意書き 記事で扱うLanguage Server Index Format (LSIF)は、バージョン0.4.0が策定中と、まだまだ発展途上のプロジェクトです。今後大きな変更が加えられたり、派生元であるLSPに吸収合併されるかもしれないことにご留意下さい。そんな中でLSIFをご紹介しようと思ったのは、執筆時点で日語の情報がなかったことと、LSIFを含めたLSPの理念をより多くの開発者に広め、快適な開発環境を皆の力で作り上げる一端を担う事ができたら、との思いからです。LSP / LSIFに興味をお持ちの皆様、ご意見・ご感想等ありましたらぜひコメントして下さい! LSIFが提案された経緯 Language Server Protocol (LSP)とは、Microsoftが中心となって策定を進めている、プログラミング言語やエディタ / IDEに依存しない開発支援ツールのためのプロトコルで

    LSPから派生したLanguage Server Index Formatとは何か - Qiita
    vvakame
    vvakame 2020/04/10
    へ〜〜面白いな…
  • お前らのコミットは汚い - Qiita

    お前らのXXXXは<ネガティブな形容詞>シリーズ で失礼します。 日頃gitをお使いの皆様におかれましては、キレイなコミットを心がけていらっしゃいますでしょうか。 私も心がけてはいますが、なかなか難しいものがあります。 参考までにこちら、最近業務で書いたプルリクエストのコミットログです。 控えめに言って汚いと思われたかと思います。 ではキレイなコミットの例を。 プルリクエストというのは、やはり先達の方に見ていただいてご指摘いただこうというものですから、 当然コミットハッシュもゾロ目等でキレイにするというのがマナーです。 では今回はこのキレイなコミットをどうやって作るのか、という話を書きます (ショート)コミットハッシュ コミットハッシュとは、gitのコミットごとに生成される、40桁の[0-9a-f]からなる文字列です。 お手元のリポジトリ上で git log --format=%H を叩く

    お前らのコミットは汚い - Qiita
    vvakame
    vvakame 2020/02/24
    いつもきたねぇコミットしてるわ…
  • TypeScript で書く React コンポーネントを基礎から理解する - Qiita

    この記事は Recruit Engineers Advent Calendar 2019 の 23日目の記事です。 TypeScriptプロジェクトReact コンポーネントを書いていると、コンパイラに怒られることがたびたびあります。ネット上にあるサンプルコンポーネントが JavaScript で書かれていると、プロジェクトにもってきたときにコンパイルできないということはよくあるんじゃないでしょうか。any でコンパイラを黙らせることもできますが、せっかく TypeScript を使っているので、安全に解決したいよねってことでこのような記事を書きました。 型定義は @types/react@16.9.17 にしたがっています。目次をみて、この程度のことはもう知っているよという方は react-typescript-cheatsheet をみてください。React + TypeScr

    TypeScript で書く React コンポーネントを基礎から理解する - Qiita
    vvakame
    vvakame 2019/12/25
    ほぇーしゅごい パズルじゃん…
  • Amplify vs Firebase 比較してみた - Qiita

    サーバレスアーキテクチャの選択肢として、AWSのAmplify、GoogleのFirebaseが有力な候補となっているのではないでしょうか。 実際にAmplify・Firebaseの両者に触れ、比較・検討して得られた知見をまとめました。 ※直近プロダクトの開発にAmplifyを採用して進めてきたので、Amplifyを軸に記事を書いています。 API連携 AmplifyとFirebaseとで異なる特徴のひとつにAWS AppSync(GraphQLをすぐに利用できるフルマネージドサービス)を利用できる点があります。 自前でGraphQLを構築するのは手間がかかりますが、AmplifyのAPIモジュールは「AWS AppSync」をサポートしているので簡単に構築できます。DynamoDBLambdaとのアクセスもシームレスに行えるので非常に便利です。 以下はその他のAppSyncのメリット

    Amplify vs Firebase 比較してみた - Qiita
    vvakame
    vvakame 2019/12/17
    GCP勢だけどAppSyncはわりと羨ましいな…って指くわえて見てます
  • React Native 2019年の振り返りと今後について - Qiita

    この記事は React Native アドベントカレンダーの 3 日目の記事です。 どうも、Naturalclar(@natural_clar) です。 普段の業務では、Expo ではなく react-native init で作成された、いわゆる素の React Native で開発しています。 先日のハムカツさんの記事が今年の Expo に対する振り返りをやっていたので。 自分の方は素の React Native についての2019年の振り返りと、React Native の未来について語ろうと思います。 2019/01 1/25 React Native v0.58 リリース v0.58 が今年最初のReact Native のリリースとなりました。 この辺から React Native でも TypeScript のサポートが増えてきた感触です。 今年は日TypeScript

    React Native 2019年の振り返りと今後について - Qiita
    vvakame
    vvakame 2019/12/04
    メンテナを目指すの、よいモチベーションだなぁ
  • 2019年のWebAssembly事情 - Qiita

    2年前に、「(Learn the Hard Way)nodejs-8でのWebAssembly自体を調べてみた」として、WebAssemblyについて記事にしました。 この記事は、2年前から変わった、2019年6月現在でのWebAssemblyの状況についてまとめたものです。 WAT: WebAssembly Text Format 2年前は、WebAssemblyのテキスト表現といえば、S式形式であり、フォーマット名は「WAST」と呼ばれていました。そして、ツールbinaryenの、wasm-as/wasm-disコマンドでバイナリ形式の.wasmファイルとテキスト形式の.wastファイルの変換を行いました。 2019年現在、WebAssemblyのテキスト表現は、「WebAssembly Text Format」通称WATとなっています。 http://webassembly.gith

    2019年のWebAssembly事情 - Qiita
  • 🎊Reactの2種類の新フック「useTransition」と「useDeferredValue」を最速で理解する(プレビュー版) - Qiita

    🎊Reactの2種類の新フック「useTransition」と「useDeferredValue」を最速で理解する(プレビュー版)JavaScriptReact 10月25日、Reactの新機能であるConcurrent Modeのプレビュー版が発表されました。この中には、Concurrent Modeの恩恵を得るために必要となる新しいAPIが含まれています。 これらのAPIの中心となるのが、Suspenseと2種類の新しいフックuseTransitionとuseDeferredValueです。この記事ではこの2種類のフックに焦点を当てて、これらが何をしてくれるのか、どのようにこれらが新しいのかを解説します。 要するに、Reactの公式ドキュメントを読んでまとめましたということです。特に、ガイドを一通り読んで理解しないとこれらのフックが何をしているのか理解しにくいため、最速で理解できるよ

    🎊Reactの2種類の新フック「useTransition」と「useDeferredValue」を最速で理解する(プレビュー版) - Qiita
  • 新人研修で質問スタミナ制を導入してみた - Qiita

    はじめまして!2年目の駆け出しSEです。 先日まで新人研修に関わって、2年目のくせに新入社員たちに偉そうに教えていた@takkii1010です。 私が関わっていた研修では、先輩社員1人で新人複数人を運営するチーム開発が行われました。 教わる側から教える側(!)に立った時に、どうやって自分の実力不足を補いつつ新人にも成長してもらえるか、どうチームを運営していくか悩んだのでここに簡単に残します。 この記事のメインターゲット 新人教育に携わる人 「ふふっ」と少しだけ笑顔になれるような研修にしたい人 研修概要 新人7名+リーダー1名(自分) チームでWebアプリケーションの開発を行う 新人それぞれが異なる機能を実装する つまり、質問内容がバラバラになる可能性大 チーム開発への課題 「画面遷移しないんですが!助けて!」という質問はしてほしくない(もう一歩進んでほしい) せめてスタックトレースみてほし

    新人研修で質問スタミナ制を導入してみた - Qiita
    vvakame
    vvakame 2019/10/17
    かしこい