タグ

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

  • 【JavaScript】Idle Detection APIとかいう悪用以外の使い道がないAPI - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 2024/09/10にIdle Detection APIというAPIが更新されていました。 ステータスはDraft Community Group Reportです。 これはコミュニティによる提案であり、W3Cによる正式な勧告ではありません。 個人や団体レベルでも、とりあえずRFCを作ってみたり検討したりできる段階ということです。 以下はこの提案を管理しているGitHubから、このRFCの意義を解説したReadmeの紹介です。 User Idle Detection API このAPIでは、開発者はユーザがアイドル状態になったとき(キ

    【JavaScript】Idle Detection APIとかいう悪用以外の使い道がないAPI - Qiita
    uokada
    uokada 2024/10/16
  • Rules of React を経典に React を書いて心の安寧を保つべし - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Rules of React を経典に React を書いて心の安寧を保つべし - Qiita
  • AWS コンテナ運用設計に関するアプローチ - Qiita

    ECSメインにAWSサービスを利用してコンテナの運用設計を考えてみます。 コンテナの運用設計 ECS 上で稼働するWebアプリケーションを前提に運用の要件を考えてみます。 コンテナを使用したマイクロサービスの運用は、モノシリックなシステム運用とは少し異なります、以下の項目を運用項目としてピックアップします。 可用性/スケーリング CI/CD ロギング トレース モニタリング ECS/ECR のアーキテクチャ まずはECS/ECR のアーキテクチャについて触れます。 Amazon ECSはコンテナの作成、実行、停止といった管理をメインとしたサービスであり、Amazon ECRは Dockerのレジストリサービスとなります。リポジトリにあるイメージをプッシュしたり、イメージの保管等を行います。 全体的なイメージを以下のように理解をしています。 ECSの機能 まずECSです。 ECSは複数のエン

    AWS コンテナ運用設計に関するアプローチ - Qiita
    uokada
    uokada 2024/10/04
  • XCAでローカルCAを立てて、ハッピーSSLライフ - Qiita

    開発サーバでソフトを動かすときにサーバ証明書が必要になるときってありますよね。 今話題のHTTP/2を試すにはSSL通信が必須だったりしますし。 もちろんOSやソフトについてくるサンプル用の証明書でもSSL通信はできるけど、証明書が検証エラーになるわけでブラウザの警告画面が陶しいし、検証エラーを無視するための設定変更をする必要がある場合もあります。 かといって、わざわざ開発サーバのためにSSL証明書は買えないし…。 そんなときの救世主がLet's Encryptで、無料で正規のSSL証明書を発行してくれるありがたい存在です。 しかし、Let's EncryptでSSL証明書発行するためにはドメインがDNS登録されている必要がありますので、社内(組織、自宅)内の内部で使ってる"abc.localdomain"みたいなドメインには対応してません。 結局、自前でLocal CAを運営する必要が

    XCAでローカルCAを立てて、ハッピーSSLライフ - Qiita
  • Linuxカーネルパラメータのチューニング&設計 - Qiita

    Linuxカーネルパラメータのチューニング&設計 0.目的 【カーネルパラメータのチューニング】を修得する目的は、サーバの特性を理解し、それぞれに合ったカーネルパラメータのチューニングすることでリソースの有効活用をできるようになることを目的とし、私個人の経験を元にした見解を以下の記事に掲載します。 1.最初に サーバには、それぞれ必要なリソース特性があり、それに合わせたカーネルパラメータのチューニングが必要となります。 世の中の流れはオンプレよりクラウドに移行してはいるので、カーネルパラメータのチューニングよりスケールアップなりスケールアウトするなりの対応をすべきなのでしょう。 ですが、カーネルパラメータのチューニングを知らないとどちらを選択すべきかも理解しずらいと思いますので軽率には出来きません。(待ち行列理論もしらないといけませんが) また、最近のLinuxはデフォルト値が大きくなって

    Linuxカーネルパラメータのチューニング&設計 - Qiita
  • JavaでTupleが欲しくなったときメモ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Javaでもラムダ式やStream APIなど比較的モダンな機能が取り入れられ、処理結果を2つ以上の値として返したい場合が増えてきています。 その方法として一つとして思いつくのが、他言語ではよく用意されているTupleです。 ところが、Javaには標準APIとしてTupleが用意されているないため、ちょっと調べたときのメモです。 Tupleとは タプル(tuple) タプルとは、順序付けられた複数の要素で構成される組。もとは数学の概念だが、いくつかのプログラミング言語にはタプルという名称のデータ型が用意されている。 タプル型の仕様は言語

    JavaでTupleが欲しくなったときメモ - Qiita
    uokada
    uokada 2024/08/28
  • 簡易 CQRS で「画面に ~~ も表示したいんだけど」に強い API を実装 - Qiita

    はじめに x と y と z を JOIN して COUNT した値を画面に表示したいなど、画面が要請する値を DB からごにょごにょと集計して API で返したくなることがあります。1 そんなとき、DB のモデルをドメインモデルにマッピングし、ドメインモデルを API のインターフェースにマッピングして返すような実装をしていると、以下のような問題にぶつかります。 集計後の値を取得したいだけなのに、大量のオブジェクトをアプリケーションのメモリ上にロードすることになる ちょっと取得する値を追加・変更するだけでもドメインモデルに影響が出てしまう 使っている O / R マッパ によっては N + 1 問題が発生しやすい ドメインモデルを集約単位で扱っていると、アプリケーション上で JOIN の処理を実装することになる この記事では、簡易的な CQRS で上記の問題を解決してみます。 CQRS

    簡易 CQRS で「画面に ~~ も表示したいんだけど」に強い API を実装 - Qiita
    uokada
    uokada 2024/08/11
  • Java 17 の Sealed Classes の書き方 - Qiita

    Java 17 で Sealed Classes1 が正式版になりました。Pattern Matching for switch が Preview 版2のため積極的に利用する価値に乏しいせいか、詳しい記述方法の解説が見当たらなかったので、JEP 409: Sealed Classes で確認しました。この記事では JEP の内容を私なりにご紹介しますが、その前に簡単な使い方と、私の Sealed Classes への期待を述べたいと思います。 はじめに簡単な使い方 Sealed Classes を使う場合、同時に Records を使いたいことが多いと思います。そのためには sealed class ではなく sealed interface を使います。 以下はガンダム、ガンキャノン、ガンタンク以外の連邦軍MSは認めたくない場合の例で、各クラスは public なのでそれぞれ別のファイ

    Java 17 の Sealed Classes の書き方 - Qiita
    uokada
    uokada 2024/08/08
  • 「住所は英数字もすべて全角で入力してください」はなぜそうなったのか - Qiita

    Webサービスのフォームに住所を入力するとき、丁目や番地などを入れる欄について、数字やハイフンを全角で書かなければいけない「全角縛り」をやっているフォームをよく見ます。半角文字を入力してしまってエラーになったり、咄嗟に変換方法を思い出せなかったり、全角と半角の見分けが付きづらかったり、「全角縛り」であることが明示されていなかったり、「ハイフン」としてどの文字を使うべきかわからなかったり……と、陶しさを感じることが多くあります。 「住所は全角のみ」(数字やハイフンも絶対に半角を受け付けない)という仕様がどういう経緯で生まれて、どう広まっていったのかが気になってる。いま存在しているのは過去の仕様や慣習の踏襲として理解できても、そもそもなぜそれらが生まれたのかが理解できない。 https://t.co/ZLz0Pw9GOK — ymrl (@ymrl) July 29, 2024 これについて

    「住所は英数字もすべて全角で入力してください」はなぜそうなったのか - Qiita
    uokada
    uokada 2024/08/04
  • Java コンテナ化ツール「Jib」はどのくらい Docker のベストプラクティスを満たしているのか - Qiita

    はじめに Java アプリケーションをコンテナ化するツールに jib があります。 GitHub の README には、Docker のベストプラクティスを知らなくても最適な Docker イメージを作ってくれると書かれています。 Jib builds optimized Docker and OCI images for your Java applications without a Docker daemon - and without deep mastery of Docker best-practices. そんな Jib がどのくらい Docker イメージのベストプラクティスを満たしているのか調査してみました。 準備 検証には、Spring Initializr で作成した Maven プロジェクトを使います。 jib-maven-plugin の README の通り、

    Java コンテナ化ツール「Jib」はどのくらい Docker のベストプラクティスを満たしているのか - Qiita
  • tcコマンドでNetworkの帯域と遅延を制御してみてみた - Qiita

    ■ 目的 tcコマンド(Traffic Control)は、Networkの遅延(Latency)と帯域(Throughput)を制御することができます。 コンピューターの距離により遅延、帯域が変わり、データ転送などの時間がかわることがあります。コンピューターを遠隔に離した場合、既存の処理に影響が出るかtcコマンドを使用して事前に検証することができます。 ということで、tcコマンドで、遅延、帯域が制御できるか確認してみてみます。 ■ 構成 Oracle Cloud上にComputeインスタンスを2台設置して、その間のNetworkパフォーマンスをTCコマンドで制御してみてみます ■ 現環境確認 Client --> Server へのレイテンシ、スループット、TPSを確認 ● 遅延(RTT)確認 pingを実行してRTT確認 今回は、平均0.166msであることを確認 [opc@clien

    tcコマンドでNetworkの帯域と遅延を制御してみてみた - Qiita
  • ある特定のportだけ外部に出るトラフィックの帯域を制限する - Qiita

    # DEV=<device> DEV=eth0 # sudo tc qdisc del dev $DEV root sudo tc qdisc add dev $DEV root handle 1: htb default 20 sudo tc class add dev $DEV parent 1: classid 1:1 htb rate 1000Mbit ceil 1000Mbit burst 10Mb cburst 10Mb sudo tc class add dev $DEV parent 1:1 classid 1:10 htb rate 1Kbit ceil 1Kbit burst 1Kb cburst 1Kb sudo tc class add dev $DEV parent 1:1 classid 1:20 htb rate 800Mbit ceil 1000Mbit b

    ある特定のportだけ外部に出るトラフィックの帯域を制限する - Qiita
  • SPAにおけるルーティング〜React Router初歩 - Qiita

    はじめに Reactで開発を進める上で必ずと言っていいほど使用されているReact Router。 ドキュメントが充実しているので、目を通せば大体のことは、解決すると思いますが、使い方の整理の意味を込めて文章としてまとめます。 公式ドキュメント | React Router 対象読者 React初学者 SPAにおけるルーティングのおさらい さらっとですが、SPAにおけるルーティングについて整理します。 ※ここら辺、理解してる人は読み飛ばして下さい。 SPAにおけるルーティングを一言で説明すると、『DOMの動的な書き換えによってページ遷移を擬似的に実現するとともに、ブラウザのセッション履歴をそれに同期させる事』 です。 SPAはサーバーへの初回リクエストに対して、アプリ全体が記述されたJSのコードと、そこで使用されるアセットファイルがごそっと返されます。 以降、ページ遷移はアプリが動的にDO

    SPAにおけるルーティング〜React Router初歩 - Qiita
    uokada
    uokada 2024/06/20
  • Web APIをCloudflare(CDN) × API Gateway(WAF)で保護する - Qiita

    はじめに Web API(REST APIのバックエンドのサーバ)を構築するときに、できるだけセキュアで時間課金ではなく従量課金にする方法を考えていた。そしてAWSのリソースを利用してサーバを構築し、オリジンサーバへのアクセスを保護するためにWAFを導入したかった。 ふと、Cloudflare(CDN)とAPI Gatewayの組み合わせで、 mTLS WAFによるHTTPヘッダー検証 の組み合わせで保護するのが結構いい感じなのではと思いやってみた。 ※AWSでCDNと言えばCloudFrontだが、CloudFrontについて検討した事はおまけで取り上げたいと思う。 今回やろうとしていることの完成図 今回やろうとしていることの最終的な完成図は以下。 上記のような構成をとることで、多層防御(Defense in Depth)を実現できる。また、ネットワークでアクセスがどこまで到達するか?を

    Web APIをCloudflare(CDN) × API Gateway(WAF)で保護する - Qiita
  • API GatewayをRoute53の独自ドメインでデプロイした話 - Qiita

    API Gatewayを独自ドメインでデプロイした話 作成日時: August 18, 2023 3:41 PM はじめに こんにちは、エンジニアリング半年のKentoです。 AWS超ド級初心者の備忘録だと思って参考程度にしてください やりたかったこと API Gatewayで作ったHTTP APIを独自のドメインで公開したい。 →以前友達APIのURLを独自のドメインで共有してくれたことがあり、それが使いやすかったため。 Google domainで取得したドメインをAWSで使いたい。 事前にやっておいたこと Google domainでのドメイン取得 API GatewayでのHTTP APIの準備 全体像 手法 1. Route 53 ダッシュボードでホストゾーンを作成 2. ホストゾーンの設定 ドメインを設定(サブドメインを入れたほうが使いやすい) 例:sub.sample.co

    API GatewayをRoute53の独自ドメインでデプロイした話 - Qiita
  • 【AWS】S3でバケットを公開せずHTTPSのみで静的サイトを公開する方法 - Qiita

    はじめに あなたはクラウドサービスに不慣れなチームで、AWSでの構築の担当者になりました。 あなた自身もあまりAWSに慣れ親しんでいるわけではないものの、新しく、また需要の伸びているクラウド技術を使った開発ができることにワクワクしていることでしょう。 クラウドつよつよなあなたはきっとこの時点でブラウザバックして問題ありません。 興味があれば読み物としてお付き合いください。 また、お急ぎのあなたは手順までスキップしてください。 さて、簡単なランディングページを公開したいという要望がチーム内に出てきました。 他のプロジェクトAWS経験のある上司がこう言います。 「S3で簡単に静的サイト公開できるよ」 これは真です。真であるだけに悪魔の導きとなる可能性を多分に秘めている発言だと思います。 これを聞いたあなたは早速調べてみることでしょう。"s3 静的サイト 公開"という感じでしょうか。 検索上位

    【AWS】S3でバケットを公開せずHTTPSのみで静的サイトを公開する方法 - Qiita
  • Scala3の開発体験がScala2時代に比べてめちゃくちゃ良くなっていた話 - Qiita

    ドワンゴのN予備校という教育サービスでプログラミング講師をしている @sifue といいます。N高等学校/S高等学校のプログラミング講師もしており、学内のツール開発や運用などもしたりしています。 最近は生成AIが流行ったこともあって、Pythonだったり、UIが必要なものはどうしてもTypeScriptReactで実装することも多いのですが、久しぶりにScalaを使っての開発をしてみました。 自身は、Scalaでの開発はニコニコ生放送のサービスを開発するときに使っていた他、N予備校内で提供している大規模Webアプリの教材やドワンゴが当初作成していたScalaテキストの作成などにも関わらせてもらいました。 その当時のScalaは2.12であったわけなのですが、その後2.13が出て、さらに今はScala3系になって3.3.1までバージョンが進み、開発環境が変わってすごく使い勝手がよくなったと

    Scala3の開発体験がScala2時代に比べてめちゃくちゃ良くなっていた話 - Qiita
    uokada
    uokada 2024/05/30
  • Git不慣れ勢を束ねて安全なチーム開発をするメモ - Qiita

    稿は当初チーム開発時のメンバー向けにまとめたものです。 ある程度、端折っていた背景などを記載しました。 git初心者同士でのチーム開発において、git操作を詳しく知らないメンバーも含め安全に行う必要がありました。しかし、開発期間はごくわずか...この状況を回避するために、下記の対応をとりました。 Gitコマンドの基礎的な内容を理解する(私) 各種操作をGUI上で完結させる拡張機能を色々と導入する シンプルな開発フロー(Github flow)を採用し、コマンド実行に相当する操作を限定する 各操作をGUI上での操作に置き換え、チームメンバーに教える 稿はその際の、コマンドやGUI操作に関するメモをまとめたものになります。 こういった取り組みのおかげか、チームの開発をすんなりフローに乗せることができました。 ■ 前提条件 対象とする動き Github flowを回すうえで、 cloneする

    Git不慣れ勢を束ねて安全なチーム開発をするメモ - Qiita
  • AWS LambdaをDocker化する際の注意点と学びの備忘録 - Qiita

    はじめに AWS Lambdaを使ってデプロイするときに、 Dockerイメージを使って、デプロイしたいケースがありました。 すでに、動いているLambdaLambda Dockerへ変更する際に、 つまずきポイントがあったので、備忘録として、残しておきます Lambdaでコンテナイメージを利用とは? Lambdaには、通常のLambda(ソースコードのみを記述するタイプ)と Dockerイメージを利用するパターンが存在する ※Dockerイメージは、ECRから参照し、Lambda上で実行が出来る なぜDockerイメージを使うのか? 通常のLambdaLambda Dockerには、仕様の一部に違う部分が存在している 今回、Lambda Dockerを利用したいと考えたのは、 通常のLambdaよりも、大きいパッケージを展開できる為 ●Lambda 50 MB (圧縮、直接アップロー

    AWS LambdaをDocker化する際の注意点と学びの備忘録 - Qiita
  • rebase 教から脱退します - Qiita

    rebase で色々あったので、備忘録として簡単に書いていきます。 前提背景 開発作業中、元のブランチに変更があった場合、私は変更を取り込むために常に rebase を使用します。これを選ぶ主な理由は「コミットログが見やすく保たれるため」です。 Gitには同様のコマンドとして merge がありますが、これは変更を取り込む際にマージコミットを作成する点が異なります。私はマージコミットによってコミットログが煩雑になると感じています。 このような理由から、私はrebaseを積極的に使用しています。 何があったのか 簡単に言うと、レビュー中にブランチ元の変更があったので、 git rebase からの git push -f origin [ブランチ名] やったらレビュアーのコメントが吹き飛びました。 いやー、めっちゃ怒られたよね💦 原因 「レビュー中」という状況がまずかった。 コードを共有し

    rebase 教から脱退します - Qiita