タグ

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

  • ブラウザ開発者ツールのネットワークタブに表示されない情報送信手法 - Qiita

    はじめに はじめまして、セキュリティエンジニアのSatoki (@satoki00) です。今回はブラウザの開発者ツールのネットワークタブから隠れて、Webサイト内の情報を送信する手法をまとめます。所謂Exfiltrationというやつです。中にはCSPの制限をBypassするために用いられるテクニックもあります。CTFなどで安全に使ってください。 前提 発端はWeb上でテキストの文字数をカウントできるサイトが閉鎖する際の話です。カウント対象のテキストデータがサイト運営 (やサイトを改竄した攻撃者) に盗み取られていないかという議論が巻き起こっていました。「盗み取られていない」側の主張は、ブラウザの開発者ツールのネットワークタブにリクエストを送信した形跡がないというものでした。ここで ブラウザの開発者ツールのネットワークタブに表示がなければ外部へデータを送信していないのか? といった疑問が

    ブラウザ開発者ツールのネットワークタブに表示されない情報送信手法 - Qiita
  • 【Git】同じコンフリクト解消を繰り返している人に教えたい「git rerere」 - Qiita

    はじめに こんにちは、kenです。みなさんコンフリクト解消してますか! チーム開発をしているとコンフリクトとは嫌でも向き合うことになりますが、コンフリクト解消って緊張感のある作業なのでやりたくないですよね。 そんなコンフリクト解消をちょっぴり楽にする(かもしれない)コマンドを最近知ったので今回はそれを紹介します、その名もgit rerereです。 git rerereとは Gitの公式ドキュメント(日語版)には次のように記載されています。 git rerere コマンドはベールに包まれた機能といってもいいでしょう。これは “reuse recorded resolution” の略です。その名が示すとおり、このコマンドは、コンフリクトがどのように解消されたかを記録してくれます。 そして、同じコンフリクトに次に出くわしたときに、自動で解消してくれるのです。 ここに書かれているように、git

    【Git】同じコンフリクト解消を繰り返している人に教えたい「git rerere」 - Qiita
  • 『アジャイル開発の失敗率は268%も高い』のコメント欄が面白かったので紹介するよ - Qiita

    先日The Registerを見ていたらアジャイル開発の失敗率は268%も高い Study finds 268% higher failure rates for Agile software projectsという記事が目に入りました。 The RegisterはITニュースサイトで、日で言うところのITmediaやWIRED、GIGAZINEみたいなところですかね。 その記事は元記事を紹介しているもので、『元記事はImpact Engineeringの宣伝ではあるが、アジャイル開発は期待ほどうまくいかないという疑念を抱かせるのにも十分である』というようなまとめになっていました。 ではImpact Engineeringってなんなんだよと元記事268% Higher Failure Rates for Agile Software Projects, Study Findsを最後まで読

    『アジャイル開発の失敗率は268%も高い』のコメント欄が面白かったので紹介するよ - Qiita
  • decimal型(十進小数)に夢を見ている輩が多すぎる - Qiita

    みたいなのが挙げられます。これが話題になった時にSNSで見かける言説が「十進小数 (decimal) 型ならこういう問題はない」です。 ですが、decimal型は十進小数を正確に表現できるという話でしかなく、全ての実数を正確に表現できるわけではありません。例えば、 1.0 / 3.0 * 3.0 の計算を考えてみましょう。数学的には、これはちょうど 1.0 になるはずです。 C#の場合 C#には標準の decimal 型があります。これで 1.0 / 3.0 * 3.0 を計算してみましょう。

    decimal型(十進小数)に夢を見ている輩が多すぎる - Qiita
    masa8aurum
    masa8aurum 2024/06/09
    ・Javaの場合、演算時に MathContext 等の引数を指定すると、指定した精度で計算
  • 目に見えない文字を悪用してサイトを好き放題荒らされた話 - Qiita

    ある日のこと 僕の運営している『ブラウザで遊べる絵チャット(令和最新版)』に、このような投稿がされてしまいました。 正直こんな荒らしは毎日のようにあるのですが、普段であればすぐに他のユーザーによって通報され、対処されます。 しかし、このユーザーは、何故か他ユーザーに通報されることなく、荒らし続けることができていました。 スクショをよく見ていただきたいのですが、通常であれば、「善良ユーザーA」のように発言の横にユーザーが名が表示され、そのユーザー名をクリックすることでプロフィールを表示することができるようになっています。 しかし、荒らしているユーザーには、なんと名前がないのです。 名前がないと、ユーザー名を押下することができず、プロフィールも表示できません。 違反行為の通報は、プロフィールから行うようになっているため、このユーザーは他ユーザーから通報されることなく、好きなだけおちんちん祭りを

    目に見えない文字を悪用してサイトを好き放題荒らされた話 - Qiita
  • ユーザーが『アイドル』を歌うとサーバーが停止する - Qiita

    起きたこと 僕が運営している『オンライン絵しりとり』というサイトで起きた話となります。 これは訪れたユーザー同士で絵しりとりを楽しめるサービスです。 ある日、このサービスをホスティングしているConoHaVPSより、規約に違反しているため利用を制限した旨のメールが届きました。 お客様のVPSにおきまして、弊社会員規約に反するコンテンツが 検出されましたので、ご利用サービスの制限をさせていただき ましたこと、ご連絡申しあげます。 そして、メールが届いたほぼ同時刻にサーバーが停止され、サービスへアクセスできない状態になりました。 メールによると、JASRACより著作権侵害に対する防止措置の申し出があったとのことです。 指摘対象のコンテンツを確認したところ、ユーザーがサイト内のチャットでYOASOBIの楽曲である『アイドル』の歌詞の一部を投稿しておりました。 ご覧の通り、話の流れで流行りの曲をみ

    ユーザーが『アイドル』を歌うとサーバーが停止する - Qiita
    masa8aurum
    masa8aurum 2024/05/27
    “ConoHaには「先に削除要求を送ってくれたりはできないんですか?」的なお問い合わせをしたところ、「対応内容は変更しないし検討もしない” ……緊急性がないのにこれか。廉価だから仕方ないと割り切る?
  • 【Laravel】開発環境では「php artisan config:cache」をするべきではない - Qiita

    Q. なぜ? A. ドキュメントにそう書いてある。 The command should not be run during local development as configuration options will frequently need to be changed during the course of your application's development. (意訳)アプリケーションの開発中には設定を頻繁に変更する必要があるので、ローカル開発環境ではこのコマンドは実行するべきではありません。 Q. そう書いてある、では納得できない! A. 一度php artisan config:cacheを実行すると、それ以降(キャッシュを消去しない限り)configディレクトリ配下の設定ファイルを修正するたびにphp artisan config:cacheを実行しなければ設

    【Laravel】開発環境では「php artisan config:cache」をするべきではない - Qiita
    masa8aurum
    masa8aurum 2024/05/20
    Laravelを使うときには注意
  • なぜsortコマンドはuniq機能を含んでいるのか?(Unix哲学はどこ行った!?) - Qiita

    Unix 哲学的に考えれば、行を並び替える sort コマンドと重複行を取り除く uniq コマンドは別のコマンドであるべきなように思えます。しかし sort コマンドには -u オプションとして uniq コマンドに相当する機能が組み込まれています。なぜそうなっている(そうなってしまった)のかを「ソフトウェア作法(さくほう)」を参照しながらこの記事で明らかにしたいと思います。 関連記事 Unix哲学「一つのことをうまくやる」は単機能のコマンドを作ることではない 「誰」がuniq機能をsortコマンドに組み込んだ!? 熱烈的な Unix 哲学の信者は「どうせ Unix 哲学を理解しない GNU が便利だと思ってオプションを追加したのだろう」と考えるかもしれません。しかし uniq 機能が組み込まれたのは Version 7 Unix、つまり Unix の開発者が組み込んだのです。これは 1

    なぜsortコマンドはuniq機能を含んでいるのか?(Unix哲学はどこ行った!?) - Qiita
    masa8aurum
    masa8aurum 2024/05/17
    ・組み合わせ方がわかるまでは機能はばらばらにしておけ。しかし、適切な理由があるなら機能を統合しろ
  • 入力欄のプレースホルダーって結局どうなの - Qiita

    入力欄のプレースホルダーの話をします。プレースホルダーというのは、フォームの入力欄で、ユーザーが入力するまでの間に表示されているテキストのことです。 書籍「Webアプリケーションアクセシビリティ1」では、「3.1 ラベルと説明」のところで、紙版にして約1.5ページの分量を割いて、フォーム入力欄のプレースホルダー(<input> 要素や<textarea> 要素の <placeholder> 属性)の問題点を指摘しています。 こので指摘されているプレースホルダーの問題点は以下の3つです。 プレースホルダーの色が薄く視認しづらい プレースホルダーとフォームコントロールの値との区別がつかない フォームコントロールに値を入力したときにプレースホルダーの値が見えなくなってしまう Webアプリケーションアクセシビリティ さらに、Nielsen Norman Groupによる「Placeholders

    入力欄のプレースホルダーって結局どうなの - Qiita
    masa8aurum
    masa8aurum 2024/05/13
    ・例であるのがわかるように「(例)」など ・正しい記入のため必要な情報は、入力欄の外に書くべき ・スクリーンリーダーも考慮
  • プログラミングの生産性向上のためにお金をかけてよかったもの10選 - Qiita

    タイトルのとおり、生産性向上のためにお金をかけてよかったものをご紹介します。 基的には仕事道具と健康系が多いです。 腰痛 睡眠 集中力向上 このあたりにお悩みをお持ちの方の一助になれるかもしれません。 おしりセレブ 他のトイレットペーパーだと、おしりを拭いた後大体痛くなってしまいます。 そのまま長時間椅子に座って作業をするのが辛い…というのがあったのですが、おしりセレブを使うようになってからその悩みがなくなりました。 ステッパー メンタリストDaiGoさんがお薦めされていたのを見て購入しました。 もともと腰痛に悩まされており、「少し運動しようか」という日頃ランニングを日課としていました。 が、ランニングのために決まった時間をガッツリ取らないといけなかったり、雨の日はできなかったりという課題がありました。 ステッパーを買ってからは雨でも気にせず有酸素運動ができるし、Amazon Prime

    プログラミングの生産性向上のためにお金をかけてよかったもの10選 - Qiita
  • たった2つのステップを意識するだけで書けない単体テストがほぼなくなる - Qiita

    はじめに この記事は レガシーコード改善ガイド: 保守開発のためのリファクタリング を参考に手を動かしてみて、ある程度自分の中で体系的にまとまった知識のアウトプットです。 この記事で扱う内容 この記事で扱うのは主にレガシーコードで単体テストを書く際のハードルになりがちな 依存関係の排除 に関する手法を紹介します。 この記事を読んだ後に、 『この観点を持っておけば単体テストをスムーズに書いていけそう!』 『今までモック使ってたけど意外とモック使わなくても書けるね!』 となったらいいな、と思います。 ちなみに、今まであんまりテスト書いたことないよーて人は以下の記事など参考にして一度やってみてください。 前提の話: この記事の旨は「テスト書きにくいプロダクトコードも依存関係を排除すれば楽にテスト書けるよ」なので、それ設計的にアウトでは?リファクタリング耐性低くない?みたいな話は度外視してます。

    たった2つのステップを意識するだけで書けない単体テストがほぼなくなる - Qiita
    masa8aurum
    masa8aurum 2024/03/19
    ・主にレガシーコードで単体テストを書く際のハードルになりがちな「依存関係の排除」について
  • 保守・理解しやすいコードを書きたい! 〜VSCode拡張機能で循環的複雑度と戦う〜 - Qiita

    参考: 循環的複雑度 ちなみに githubで最もやべー関数を発掘するという記事では、循環的複雑度が高い関数が紹介されています。 ものによってはリンク切れしてしまっていますが、最も複雑度が高いのはnode(JavaScript)のjo関数で5505だそうです。想像もつかない... どのようにすれば循環的複雑度を低く抑えられるのか? 計算方法から考えると、forやifによる分岐を減らしていくことが必要となります。 そのために、分岐の入るロジックを別関数として切り出し、1つの関数でやる事を絞り、分離することを理想として目指していきます。 とはいえ、いちいち複雑度の計算なんてしていられないですね。 そこで役に立つのが次のVSCode拡張機能です。 Code Metrics (VSCode拡張機能) この拡張機能は、TypeScriptJavaScriptの関数・メソッドに循環的複雑度を表示して

    保守・理解しやすいコードを書きたい! 〜VSCode拡張機能で循環的複雑度と戦う〜 - Qiita
    masa8aurum
    masa8aurum 2024/02/23
    “Code Metrics (VSCode拡張機能)”
  • 非デザイナーにも知っていて欲しい「色」と「特性」 - Qiita

    はじめに 数年前から「デザインの民主化」「非デザイナー向けの〇〇」といったワードをよく見るようになりました。それに伴い、デザイナー不在でも制作ができる便利なツールも増えてきましたね。 ReactなどのUI制作に便利なライブラリが広く使われたり、Canvasを使ってのバナー制作を行う人も増えてきた印象があります。 一方で「たくさんあるテンプレートから何を基準に選べば良いのか分からない」「アレンジしたけど、なんだか上手くいかない」という人もいるのではないでしょうか。 「非デザイナー~」シリーズでは「知っているとちょっと得するデザインTIPS」や「話のネタになるデザイン豆知識」をお伝えしていこうと思います。 今回のテーマ「色」と「特性」 今回は色の見え方、なかでも色覚特性について書いていこうと思います。 色覚特性はさまざまな理由から、多数派とは違う色の見え方・感じ方をする状態のことを言います。色

    非デザイナーにも知っていて欲しい「色」と「特性」 - Qiita
    masa8aurum
    masa8aurum 2024/02/17
    “一般的な色覚を指す「C型」、赤を見分けることが難しい「P型」、緑を見分けることが難しい「D型」。P型とD型は見え方が似ており、日本の色覚特性のほとんどがP型かD型” prot=1st, deuter=2nd
  • イベントハンドラの関数名についての雑記 - Qiita

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

    イベントハンドラの関数名についての雑記 - Qiita
  • htmxとは何なのか? その背景にある思想について - Qiita

    先日、Qiitaに投稿された一つの記事が注目を集めました。 元記事では、htmxというJavaScriptライブラリが英語圏で認知を獲得しているとして、インストールの仕方から使い方について公式のドキュメントの全体にわたって簡単に説明が行われています。 さまざまなプラットフォームでこの記事に対する反応を観察してみると、どちらかというと懐疑的な見方のほうが優勢のように見受けられます。ただ、多くのコメントは誤解に基づいているように見受けられました。「JSが要らない」といった元記事のミスリードによるところも大きそうですが1、なぜhtmxが大きく支持を得つつあるのかを理解するには、背景情報を含めて理解することが必要です。 htmxは、最近の複雑化するフロントエンド技術に対する単なる逆張りではありません。これまで30年ほどのあいだウェブ上のシステムを支え続けた「ハイパーメディア」の持つ強力さに今一度目

    htmxとは何なのか? その背景にある思想について - Qiita
  • xargs 完全理解マニュアル - xargs は拡張引数 (extended arguments) の略って知っていますか? - Qiita

    xargs 完全理解マニュアル - xargs は拡張引数 (extended arguments) の略って知っていますか?ShellScriptUNIXシェル芸POSIXUnix哲学 はじめに xargs コマンドは「なにか凄そうだけどよく分からないコマンド」としてよく知られています。使う人は使うけど何をやっているのか全くわからないコマンドです。また、やっていることがわかっても実際に使ってみると、空白やクォーテーション文字でエラーになってしまう使い方がとても難しいコマンドです。この記事はそういうよくわからない xargs はどういうコマンドなのか解説します。この記事を読むと xargs を「完全に理解した」と言えるようになるでしょう。 xargs コマンドが難しい理由は、xargs 自体の設計や実装の問題で古い時代の制限が多いからです。仕様が意味不明で一貫性がなくで他のコマンドと正しく

    xargs 完全理解マニュアル - xargs は拡張引数 (extended arguments) の略って知っていますか? - Qiita
    masa8aurum
    masa8aurum 2024/01/01
    “xargs は難しすぎるコマンド、可能な限り使うな” “ネット・書籍に載っている xargs の使い方の多くは雑で「たまたま動いている」だけ”
  • シェルとUNIXコマンドの未来 ~ これからの10年で起きるシェルスクリプトの変化 - Qiita

    はじめに シェルスクリプトの世界は今後 10 年で大きく変化します。10 年という数字は切りが良い数字を持ってきただけで根拠はありません。これより長い時間がかかるかもしれませんし、もしかしたら短くなるかもしれません。しかし確実によりよい方向に変わっていくでしょう。Unix/Linux の標準コマンドはさまざまな問題を抱えています。Unix/Linux の標準コマンドに依存している限りシェルスクリプトに大きな改善はありません。これからのシェルスクリプトの世界は Unix/Linux の標準コマンドに依存しない世界です。それがどういうものになるのかをこの記事で解説しています。この記事は私の予言であり目標です。 シェルスクリプトの失われた30年の進化を取り戻す! 残念なことに、シェルスクリプトの世界は 30 年前から大きく変わっていません。それまでの間、プログラミング言語の世界、ソフトウェア開発

    シェルとUNIXコマンドの未来 ~ これからの10年で起きるシェルスクリプトの変化 - Qiita
    masa8aurum
    masa8aurum 2024/01/01
    ・シェルスクリプトは 、他に比較対象がない時代に「C 言語より移植性が高い」と言われていただけ ・一番必要なのは、UNIX コマンドを置き換える汎用の基本コマンド
  • Bourneシェルの終焉まで残り1年 ~ 新しいシェルへの移行は完了していますか? - Qiita

    はじめに 30年以上もの長い間 UNIX を支えてきた Bourne シェルも UNIX のサポート終了とともに消え去ろうとしています。みなさん、他のシェルへの移行はお済みでしょうか? 残り一年、まだ移行が済んでいないという人のために、移行のための簡単なガイドラインと各シェルの特徴をまとめました。 sh は昔は Bourne シェルのことでしたがそれも過去の話です。今どき「Bourne シェル」を解説している記事や sh のことを Bourne シェルと呼んでいる記事は情報が古い(大学関係に多い)、または古い情報を元にして書かれたか、シェルのことを正しく理解してない不正確な記事なので参考になりません。分かりやすい基準ですね。 関連記事 シェルとUNIXコマンドの未来 ~ これからの10年で起きるシェルスクリプトの変化 残り1年というのはどういうこと? Bourne シェルは POSIX に

    Bourneシェルの終焉まで残り1年 ~ 新しいシェルへの移行は完了していますか? - Qiita
    masa8aurum
    masa8aurum 2023/12/31
    “sh は昔は Bourne シェルのことでしたがそれも過去の話です”
  • 作りたいものは作り始める前に今すぐにデプロイしよう - Qiita

    株式会社ゆめみの23卒 Advent Calendar 2023 の 22日目の記事を書きました はじめに 今見ているあなたは趣味で行った開発の中でデプロイしユーザーに使ってもらった経験はありますか? 「趣味で開発してたものはあるが、実際にデプロイしたことがない」「デプロイしたものもあるが、デプロイできるまでやり通すことの方が珍しい」という方がほとんどだと思います。 また趣味で行っている開発についての話題になると、「やる気があるうちにデプロイした方が良いよね~」みたいな話題になると思うのですが、そう思っていながらも実際に意識して取り組む方はなかなかいないと思います。 今年の趣味開発を考えている時に Discord で使用できる Bot を作成して運用したいな~と思っていたのですが、私も趣味で開発していたものを途中でやめてしまうことがほとんどだったので、今回の開発はまずデプロイという事を意識

    作りたいものは作り始める前に今すぐにデプロイしよう - Qiita
    masa8aurum
    masa8aurum 2023/12/29
    “まずデプロイ”
  • 【閲覧注意】イライラ不可避なUIデザイン10選 - Qiita

    弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 はじめに 人は見た目が9割 皆さん一度はこの言葉を耳にしたことがあるのでしょう。内面がどれほど素晴らしくても、外見がそれに見合わないと、なかなか当の価値を認めてもらえないものです。 この話は人間だけでなく、アプリケーションにも当てはまります。どれだけ内容が素晴らしくても、見た目がイマイチだったり使い勝手が悪かったりすると、ユーザーに敬遠されてしまいます。(私は以前ネ⚪︎フリからア⚪︎プラに切り替えたのですが、使いにくく感じたため、すぐに元のサービスに戻しました) エンジニアの皆さん、優れた技術力を持ちながら、デザインが原因でユーザー離れを招いていませんか?そうならないよう

    【閲覧注意】イライラ不可避なUIデザイン10選 - Qiita
    masa8aurum
    masa8aurum 2023/12/10
    読んでみたら、良いまとめ。タイトルで損してるかも