タグ

ブックマーク / qiita.com (1,789)

  • iPadでもバリバリプログラミングできる。そう、VSCodeならね。 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに こんにちは!SmartHRで働いている@pyayyです。 先日、何とは無しにiPad用のMagic Keyboardを買いました。 SmartHRが提供するタイピングゲーム人労打もプレイできちゃいます。 キーの打鍵感やトラックパッドの使用感等、MacBookのそれに近く気に入ってはいます。 が、特に物書きではないので長文を書く機会が少なく、このままではせっかくのキーボードを活用できず勿体なさを感じてしまいますね。 iPadをプログラミングに使いたい 物書きではありませんが、一応職業プログラマなのでiPadをプログラミングに使う

    efcl
    efcl 2025/02/16
    PC側でRemote-Tunnelsを入れて、モバイル側はRemote接続する方法について
  • OAuth 2.0の認可エンドポイントにおける脆弱な実装例と対策について考える - Qiita

    認可コードグラント RFC 6749で定義されるOAuthの認可コードグラントでは、認可サーバの実装として、認可エンドポイントとトークンエンドポイントの2つが必要です。リクエストは大きく分けて認可リクエスト (Authorization Request) およびトークンリクエスト (Access Token Request) の2つに分けられます。 全体のシーケンス図は以下の通りです。 PlantUMLのソースコード @startuml @startuml title 認可コードグラントにおけるシーケンス図 autonumber actor RO as "リソースオーナー" participant UA as "User-Agent" participant C as "クライアント" participant AS as "認可サーバ" participant RS as "リソースサーバ

    OAuth 2.0の認可エンドポイントにおける脆弱な実装例と対策について考える - Qiita
    efcl
    efcl 2025/01/05
    OAuthでの脆弱性について
  • React Ariaの実装読むぞ - Qiita Advent Calendar 2024 - Qiita

    React Ariaの実装読むぞ - Qiita Advent Calendar 2024 - Qiita
    efcl
    efcl 2024/12/26
    React Ariaのアクセシビリティ対応の実装についての連載記事
  • Branded Type ベストプラクティス 検索 - Qiita

    皆さんこんにちは。これは株式会社カオナビ Advent Calendar 2024の18日目の記事です。 今回は、TypeScriptにおけるBranded Typeについて、筆者が考えるベストプラクティスを紹介します。Branded Typeという概念はTypeScriptエンジニアの間で比較的広く知られていますが、(筆者的には)ベストではないやり方が紹介されていることが多いと感じます。この記事では筆者が一番いいと思っている方法を説明しますので、そうだなと思った方はいいねや拡散をしていただけると嬉しいです。 既存の記事でも、筆者の考えるベストプラクティスに近いものが説明されているいい記事はすでにたくさんあります。なので、未だにそれ以外の説明が使われることがあるのは少し不思議なのですが、状況をさらに改善するために筆者も記事を書くことにしました。 そのため、この記事が特段新しい知識を提供する

    efcl
    efcl 2024/12/26
    brnded type
  • TypeScriptで『関数型ドメインモデリング』をやってみよう - Qiita

    この記事は、LIFULL Advent Calendar 2024 21日目の記事になります。 はじめに LIFULLでは、技術負債解消のためにレガシーなコンポーネントをいわゆるCleanArchitecture(以降CA)に置き換えるという取り組みをやっています。 内製ソフトウェアアーキテクチャでレガシーシステムを刷新し技術的負債を削減するまでにやったこと クリーンアーキテクチャで構築したプロダクトが2年経過してみて現状どうなっているかを紹介 新卒エンジニアがリファクタを突貫したClean Architectureプロジェクトの舞台裏 CAはいくつかのレイヤに別れていますが、LIFULLではCAのEnitityをドメイン駆動設計(DDD)で言うところのドメインモデルで実装しています。 この記事は、前に読んでいた関数型ドメインモデリングの「型によるドメインモデリング」がこの実装に応用できる

    efcl
    efcl 2024/12/21
    Functional DDD
  • NoInfer<T>の活用例見つけた - Qiita

    こんにちは。この記事は株式会社カオナビ Advent Calendar 2024の3日目の記事です。 NoInfer<T> 皆さんは、TypeScriptの機能であるNoInfer<T>をご存知でしょうか。これはTypeScript 5.4から追加された新機能であり、おおよそ次のようなものです。 型としてはNoInfer<T>はTと同じだが、型推論に違いがある。 NoInfer<T>のT部分に型変数が含まれている場合でも、T部分は型推論に使われない。 NoInfer<T>は主にジェネリック関数の引数の型として使われる。 TypeScript 5.4のリリースノートではNoInfer<T>の例として次のようなものが紹介されていましたので、改めて解説します。 function createStreetLight<C extends string>(colors: C[], defaultCol

    efcl
    efcl 2024/12/08
    NoInferのユースケース
  • 「絶対にdisabled属性を避けて、aria-disabled属性を使わなければならない」わけではありません - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 最近、「アクセシビリティを向上させたいなら、HTMLの disabled 属性ではなく、aria-disabled 属性を使うべき」という主張を見かけますが、当にそうなのでしょうか? disabled属性を使っていても、スクリーンリーダーで要素を知覚できる そのような主張をしている人、それを受け止めた人の中には「 disabled 属性を使った要素はスクリーンリーダで読めなくなる」と誤解している人が少なからず存在するように思われます。しかしこれは正しい理解ではありません。 たしかに、disabled属性を付加している button 要

    「絶対にdisabled属性を避けて、aria-disabled属性を使わなければならない」わけではありません - Qiita
    efcl
    efcl 2024/09/16
    disabled属性のフォーカスできない問題についての話
  • ブラウザ開発者ツールのネットワークタブに表示されない情報送信手法 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに はじめまして、セキュリティエンジニアのSatoki (@satoki00) です。今回はブラウザの開発者ツールのネットワークタブから隠れて、Webサイト内の情報を送信する手法をまとめます。所謂Exfiltrationというやつです。中にはCSPの制限をBypassするために用いられるテクニックもあります。CTFなどで安全に使ってください。 前提 発端はWeb上でテキストの文字数をカウントできるサイトが閉鎖する際の話です。カウント対象のテキストデータがサイト運営 (やサイトを改竄した攻撃者) に盗み取られていないかという議論が巻

    ブラウザ開発者ツールのネットワークタブに表示されない情報送信手法 - Qiita
    efcl
    efcl 2024/07/15
    DevToolsのNetworkには乗らないリクエスト
  • Obsidian読書メモのすゝめ - Qiita

    どんな記事? Obsidianを使った個人的読書メモの残し方について紹介しています。 仕事関係で読んだについては簡単にメモを残すようにしているのですが、いろんなツールを使った結果最終的にObsidianに落ち着いたので、自分の使い方を簡単に紹介しようと思います。 サンプル こんな感じでまとめてます。 読了日は結構つけ忘れるので適当なことが多いです。 メモり方 BookSearchプラグインを使ってファイル作成 まずを読み始めたタイミングで、BookSearchを使ってファイルを作成します。 BookSearchプラグインのインストール方法については、以下公式Githubを参考にしてください。 今回は仮に今読んでいる『科学的根拠に基づく最高の勉強法』の読書メモを残していきます。 BookSearchとテンプレートを使えば簡単に以下のようなファイルが作成されます。

    Obsidian読書メモのすゝめ - Qiita
    efcl
    efcl 2024/03/24
    読書メモの書き方。 思い出しメモ、3選
  • 敵対的プロンプト技術まとめ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? こんにちは@fuyu_quantです。 この記事はLLM Advent Calender 2023 17日目の記事です。 よかったらプライベートで作成したData Science wikiのGPTsも見て下さい! はじめに 今回は敵対的なプロンプト技術についてまとめました.まとめ方は主に,Ignore This Title and HackAPrompt: Exposing Systemic Vulnerabilities of LLMs through a Global Scale Prompt Hacking Competition

    敵対的プロンプト技術まとめ - Qiita
    efcl
    efcl 2023/12/31
    敵対的プロンプトでの攻撃手法について
  • Next.js14 の PPR(Partial Prerendering)は、画面表示速度を改善するか? - Qiita

    Motivation Next.js 14 の新機能1の一つ、Partial Prerendering(PPR) に関する記事はすでに多数あるが、PPR を導入することで実際に何がどう変わるのかについての情報が乏しいような気がしており、その辺りを自分で動かして確認しようというのが記事の目的である。 PPR とは We'd like to share a preview of Partial Prerendering — a compiler optimization for dynamic content with a fast initial static response — that we're working on for Next.js. 平たく言うと、静的コンテンツをより速く表示するための最適化のことと理解している。 Partial Prerendering builds o

    Next.js14 の PPR(Partial Prerendering)は、画面表示速度を改善するか? - Qiita
    efcl
    efcl 2023/12/31
    Partial Prerendering(PPR)について
  • 第三者検証からQAに転職してみて - Qiita

    はじめに はじめまして、株式会社LITALICOでQAグループ所属の@yamahiro2022です。 9月半ばに転職してから、QAとしては駆け出しの身ですが、 今まで経験してきた第三者検証としての仕事と、 今行っているQAの仕事の違いなどを記載させていただけたらと思っています。 QAとはそもそも何ぞや? 自分の中でも、何となくわかっているようでフワッとしたイメージしかなかった状態でした。 調べてみると、「QA(Quality Assurance)とは、システムやソフトウェアの品質を保証する仕事です。」と出てきます。 ここで疑問が… 保証って、どこまで保証する? 混在されがちなQC(Quality Control)との違いについて考えてみます。 ・期間:QC は、開発期間の要件定義~リリースまでを対象としているのに対して、 QA は、企画段階から参画し、リリース後も対象としている ・責任範囲

    第三者検証からQAに転職してみて - Qiita
    efcl
    efcl 2023/12/18
    QCとQA > 責任範囲:QC は、リリースする際に品質の責任を負っているのに対して、       QA は、システムを利用するクライアントに対して責任を負っています。
  • 【Qiitaで使用しているルールも紹介】textlintおすすめルールまとめ - Qiita

    この記事は、Qiita株式会社のカレンダー | Advent Calendar 2023 - Qiitaの13日目の記事です。 はじめに textlintについて、皆さんはご存知ですか? 実はQiitaのエディタ機能(ベータ版)でも、使用されています! 今回は、textlintのおすすめのルールとQiitaで使用されているものも 一部公開していこうと思います! textlintとは? 以下公式より textlint is an open source text linting utility written in JavaScript. It is hard to lint natural language texts, but we try to resolve this issue by pluggable approach. 簡単に説明します。 textlint(テキストリント)とは

    【Qiitaで使用しているルールも紹介】textlintおすすめルールまとめ - Qiita
    efcl
    efcl 2023/12/14
    textlintのルール紹介
  • なぜ僕は公式ドキュメントを読むのが苦手なのか - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 皆さんは、『公式ドキュメントを読んだほうがいいよ』とよく耳にしませんか? そこで、『よし読むぞ!』と思っても、なかなかうまくいきませんよね💦 (そういう方々がこの記事を見に来てくれると思っている👀) 私も、公式ドキュメントを読むのが苦手で、まず最初に、Qiitaなどの技術系ブログに頼ってしまいますw そこで、なぜ自分が公式ドキュメントに苦手意識があり、どうしたらその抵抗をなくせるのかを考えたので、記録として記事にしたいと思います!🙆 ちなみに、公式ドキュメントとの思い出は、1年前ぐらいにDockerの公式ドキュメントで何

    なぜ僕は公式ドキュメントを読むのが苦手なのか - Qiita
    efcl
    efcl 2023/12/07
    どちらか片方に正解が必ずあるわけでないので、どちらも参照するというのが結果的にはよさそう。(確度は高いので、リファレンスとして補助的に使うとから始めるとかも有用) https://gist.github.com/azu/9fbd5955fd864e883cbcf8315a314e51
  • TypeScriptを他のツールで取り扱うためのコンパイラオプションについて - Qiita

    TypeScriptプロジェクトにおいては、ビルド速度が重要です。TypeScriptのビルド速度はCI/CDの効率に直結します。しかしながら、tscはそこまで速くないことも知られており、tsc以外のツールをTypeScriptのビルドパイプラインに混ぜることもよく行われています。 TypeScript(tsc)のコンパイラオプションの中には、そのようなユースケースをサポートするためのものも存在します。公式ドキュメントではInterop Constraintsとして分類されているもの(の一部)です。この記事ではそれらを紹介します。 isolatedModules isolatedModulesは古くからあるTypeScriptのコンパイラオプションのひとつで、tsc以外を用いてTypeScriptトランスパイルするユースケースをサポートしてくれるものです。 TypeScriptの主な仕事

    TypeScriptを他のツールで取り扱うためのコンパイラオプションについて - Qiita
    efcl
    efcl 2023/12/06
    TypeScriptのオプション
  • Qiitaのリリースノートをtextlintでチェックするようにした - Qiita

    この記事は、Qiita株式会社のカレンダー | Advent Calendar 2023 - Qiitaの1日目の記事です。 Qiitaには、どんな機能やバグ修正がリリースされたかを確認できるリリースノートがあります。 リリースノートの更新は、機能やバグ修正をリリースする人が一緒に対応をする運用になっているのですが、開発するメンバーが増えてきたことにより、様々な記述スタイルで書かれている状態となっていました。 そこで、textlintを導入して記述スタイルを揃えるようにしたので紹介します。 textlintとは 日語などの文章校正をするためのlinterです。 様々なRuleが用意されており、「ですます調」「である調」を統一するものや二重否定を使わないようにするものなどがあります。 また、Pluginを使うことでテキストファイルやMarkdownファイル以外のファイルもlintできるよう

    Qiitaのリリースノートをtextlintでチェックするようにした - Qiita
    efcl
    efcl 2023/12/06
    リリースノート
  • Rustプログラムのデバッグ辛すぎ問題 - Qiita

    この記事は Rust Advent Calendar 2023 シリーズ2 の1日目の記事である。 Rustは良くも悪くもシステムプログラミング言語なので、何も工夫しなければデバッグの体験がC言語と同じレベルになってしまう。例えば「rust lldb」でググると上位に Debugging Rust programs with LLDB is a nightmare というスレッドが出てきてしまう。 使うべきツールを知っていれば幾分かマシな体験にできる。Rustコンパイラはデバッガとして LLDB, GDB, WinDbg/CDB をサポート していて、僕はWinDbGは10年くらい触ってないので、この記事ではLLDBとGDBについて書く。 LLDB Apple SiliconのMacだとGDBが使えないので、必然的にLLDBを使うことになる。 CodeLLDB GDBと同じく、LLDBにも

    Rustプログラムのデバッグ辛すぎ問題 - Qiita
    efcl
    efcl 2023/12/01
    Rustのデバッガー LLDBとGDP(rr)
  • nextTick vs queueMicrotask vs Promise.resolve vs setTimeout - Qiita

    はじめに 普段の開発でなかなかお目にかかることも使うことも滅多にない queueMicrotask について興味を持ったついでに、 process.nextTick や Promise, setTimeout などとの比較をしてみました。 TL;DR 下記の優先度順でキューからタスクが取り出され処理される。 nextTick queueMicrotask, Promise.resolve → Microtask setTimeout → Task (a.k.a. Macrotask) より具体的には、MicrotaskキューとTaskキューの2つのキューがあり、Microtaskキューが優先的に処理されるようになっている。 Microtaskキューが空でない限りはTaskキューの中身を実行しない構造となっており、queueMicrotask, Promise.resolve では Micr

    nextTick vs queueMicrotask vs Promise.resolve vs setTimeout - Qiita
    efcl
    efcl 2023/10/08
    microtaskのキューが空にならないと、次のtaskの処理のキューは処理されないため、`queueMicrotask` == `Promire.resolve().then`の中でmicrotaskを積むループをすると無限ループする可能性がある話
  • Webブラウザの日本語改行問題 -改行を実現するHTML/CSS-(1) - Qiita

    語のWebサイト(ランディングページ等)をつくっていると、読みにくい所で改行されるパターンがありますよね?実際この記事もブラウザの横幅によって単語の途中なのに改行されています。普通に文章を読んでいる時には良いのですが、これがランディングページのヘッドラインで起きるとものすごいカッコ悪いです。 たとえばPhotoshopのページで「写真のレタッチ、合成、カラー変更」というヘッドラインが以下のようになってたらいかがでしょうか?この場合はできれば、「合成、」の後で改行されている方が自然で読みやすくなっています。(ちなみにこれは、Chrome Developer Toolsで編集して、わざと見にくくしたので、実際にはキレイに改行処理しています)。 よーしそれじゃあ<br>入れれば良いんだなと真っ先に思いついた方がいるでしょう。しかし今日はさまざまなデバイスが皆さんのWebサイトに訪れています。

    Webブラウザの日本語改行問題 -改行を実現するHTML/CSS-(1) - Qiita
    efcl
    efcl 2023/10/02
    `word-break: keep-all + overflow-wrap: anywhere;`について
  • GitHub Actions でキャッシュされない罠 - Qiita

    GitHub Actions の「beta」が取れ、キャッシュもできるようになったので、色々遊んでいます。 キャッシュの中で思わぬ罠に囚われてしまっていたので、共有しておきます。 結論 key が同じだと、キャッシュ対象のファイルに変更があったとしても、キャッシュが上書きされないという点です。 つまり、一度正常で無い状態で保存されると、それ以降は更新(保存)されません。 1 当たり前といえば当たり前ですが、公式にある examples 通りに使用すると、この問題に気づかずに引っかかってしまうような気がします。 actions/cache を使用すると、job の最後に保存処理が行われますが、そのログを見ると下記のように書いてあります。 # 通常の保存処理 Post job cleanup. /usr/bin/tar -cz -f <キャッシュ保存パス> -C <キャッシュ対象パス> . C

    GitHub Actions でキャッシュされない罠 - Qiita
    efcl
    efcl 2023/09/05
    GitHub Actionsではcacheはkeyが同じ上書きされないないので、keyを変更 + restore-keysでkeyを被せるという対応をする https://github.com/actions/cache/issues/432