[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

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

  • 問い合わせフォームを実装しただけなのにスパムメールの加害者になっていた話 - Qiita

    よくある問い合わせフォームを提供していたら、知らぬ間にスパムメールの加害者になっていた話です エンジニアが知っておくべき メール送信・運用ノウハウ、メールの認証技術セキュリティについて投稿しよう! by blastengine Advent Calendar 2024 の8日目です。 要件 お問い合わせ内容の他、名前や所属、メールアドレスの入力が必須 問い合わせ完了後、入力されたメールアドレス宛に自動応答メールを送る 自動応答メールには入力された問い合わせ内容を記載する 同様に指定したサービス担当者宛にも問い合わせ通知メールを送る 以上の要件で作成しました。 実現方法 メール送信にはAWS SESを使用しました。問い合わせ確定ボタンを押下後にAWS Lambdaにリクエストを飛ばし、SESと連携してメールを送信する流れです。 実装後のこと 実装後、しばらく正常に稼働していました。しかし、

    問い合わせフォームを実装しただけなのにスパムメールの加害者になっていた話 - Qiita
    k-holy
    k-holy 2024/12/10
    あるある…Mailbox fullでdeferred多発されたり。Authenticator系アプリの普及が進めば、非会員制サービスの問い合わせにもワンタイムパスワード(TOTP)を必須にできるんじゃないかな。それか確認画面でなぞなぞ回答させるとかww
  • OAuth/OIDCのJWTまとめ - Qiita

    はじめに Wikipedia の JWT (JSON Web Token) に関する記事が誤っていたので、2020 年 5 月 9 日、英語版、日語版ともに修正を行いました。 修正前の記事では、JWT のことを「JSON をベースとしたアクセストークンのためのオープン標準である」と説明していました。しかし JWT は用途を限定しない汎用的なデータフォーマットです。アクセストークンのフォーマットとして JWT を採用することは、JWT の応用事例の一つに過ぎません。なお、アクセストークンのフォーマットは必ずしも JWT とは限りません。→ 参考:『図解 JWS/JWE/JWT/IDトークン/アクセストークンの包含関係』 JWT を知らない状態で OAuth と OpenID Connect の学習を始めると、「JWT はアクセストークンのための技術である」、「JWT はユーザ認証のための技

    OAuth/OIDCのJWTまとめ - Qiita
    k-holy
    k-holy 2024/12/03
    JWTの状況に全然ついていけてない…認証関連だけでもいろんな使われ方してるのね。それだけ署名による改竄検出が便利ってことか。
  • 【公式】レトロゲームエンジンPyxelを使わない理由が見つからない - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Pyxel作者です。Qiita初投稿です。よろしくお願いします。 皆様、Python向けレトロゲームエンジンPyxelのご愛顧ありがとうございます。 「気軽に楽しくゲームプログラミング」をコンセプトに、2018年にGitHubで公開を始めたPyxelも、おかげさまで現在15,000スター、ダウンロード数は80万を超えることができました。 4億を超えるGitHubプロジェクトの中で、Python向けゲーム開発環境としてはダントツの1位(2位は7.5kスターのPygame)、全言語合わせたゲームエンジンの中でも8位にランクインしており、7位

    【公式】レトロゲームエンジンPyxelを使わない理由が見つからない - Qiita
    k-holy
    k-holy 2024/11/27
    PythonをHTMLに書いてブラウザで実行できるの、めっちゃいい。ユーザー作品に「Onyx of Black」とかあるww 息子はScratchの有料講座をやりたがってるけど、ゲームを餌にして一緒に取り組みたい。
  • PhpStormに入れておくと作業が爆速になるプラグイン一覧 - Qiita

    はじめに Jetbrains社のIDEを好んで使っています。その中でも最近愛用しているのがPhpStormです。 PhpStormは機能が豊富ですが、プラグインを入れると機能を大幅に拡張することができます。 この記事が新しいプラグインの発見のきっかけになれば幸いです。 対象者 PhpStormを使っている人 プラグイン開発者がPhpStormだけでなくVSCodeなど、他のIDEでもプラグインを公開している場合があります。 プラグイン名でVSCodeのプラグイン検索をかけてみると存在の有無が見つけやすいです。 動作確認環境 PhpStorm 2021.1 下位のバージョンでも動作するプラグインが見つかる場合がありますがPhpStormはライセンスさえあれば無料で最新版にできるので、常に最新にしておくことをオススメします。 プラグインの導入方法 PhpStormを起動します メニューのファイ

    PhpStormに入れておくと作業が爆速になるプラグイン一覧 - Qiita
  • DMARC「p=reject」 設定後の変化 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに DMARCポリシーをp=rejectに変更しました。DMARCに取り組もうとしたきっかけや、取組の経緯は、以下のブログに書いてます。 DMARCとは そもそもDMARCとはって話はいろいろな人がいろいろな記事をあげてくれているので割愛します。このへんの記事や、Youtubeがわかりやすいです。 DMARC「p=reject」設定後の変化 DMARCは認証されていないor認証が不十分なメールを受信側のメールサーバーで検疫or削除してもらうことができる設定です。ポリシーをquarantine (検疫)以上にしておけば、非正規なメー

    DMARC「p=reject」 設定後の変化 - Qiita
    k-holy
    k-holy 2024/09/04
    そのドメインを使って外部サービス等からメールを送信しようとする全ての人が、仕組みを分かっているならいいんだけど、実際そうじゃない従業員が続々登場するから困るんよね…。
  • 「住所は英数字もすべて全角で入力してください」はなぜそうなったのか - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Webサービスのフォームに住所を入力するとき、丁目や番地などを入れる欄について、数字やハイフンを全角で書かなければいけない「全角縛り」をやっているフォームをよく見ます。半角文字を入力してしまってエラーになったり、咄嗟に変換方法を思い出せなかったり、全角と半角の見分けが付きづらかったり、「全角縛り」であることが明示されていなかったり、「ハイフン」としてどの文字を使うべきかわからなかったり……と、陶しさを感じることが多くあります。 「住所は全角のみ」(数字やハイフンも絶対に半角を受け付けない)という仕様がどういう経緯で生まれて、どう広まっ

    「住所は英数字もすべて全角で入力してください」はなぜそうなったのか - Qiita
    k-holy
    k-holy 2024/08/06
    ユーザーが入力した値と内部処理用の値を別々に保存しておくのが最適解となりそうだけど、まあそんなん嫌ですよねという感じ…自分はシステムのポリシーに合わせて保存時に勝手に変換かます派。元に戻すのはナシ。
  • PHPコア開発者になって半年経ったので、php-srcでの活動を振り返る - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? こんにちは!PHPとCを主に書いています、Sakiです。日中はBASE株式会社さんでお仕事させていただいています。早朝と夜間にphp-srcでの活動をしています。PHP8.4のリリースマネージャーもやってます。 2024年からありがたいことにPHPコア開発者として採用していただき、半年とちょっとになりました。ちょうど一区切りということで、これまでの活動を簡単にまとめたいと思います。細かいものや、最終的に成果が出なかった(議論がまとまらなかったなど)ものは除外しています。 2023年、コア開発者になる前 実は私はphp-srcどころかOS

    PHPコア開発者になって半年経ったので、php-srcでの活動を振り返る - Qiita
    k-holy
    k-holy 2024/07/24
    BC Math関数は長年メンテナンスされてないのでGMP関数の方がいいよ、みたいな情報を何年か前に見た記憶があるけど、「BCMath is very slow.」がそもそもの理由だったのかな。改善感謝です。
  • ステージング環境とは結局なんなのか。

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? tl;dr できればちゃんと番環境と同じ構成にしようね。 はじめに エンジニアのみなさんならほぼ日常的に耳にする言葉である「ステージング環境」。 そのほかにも「開発環境」「番(プロダクション)環境」と言った環境が一般的に耳にするところだと思います。 当然それぞれには役割があり、開発の工程に応じて必要になってくるものです。 では、それぞれの環境の特徴をざっと確認してみましょう。 開発環境の役割 「開発環境」は、エンジニアがコーディングしたプログラムが動作するかを確認する、まさしく開発するための環境です。 個人のPCに仮想環境を立ち上げ

    ステージング環境とは結局なんなのか。
    k-holy
    k-holy 2024/06/25
    現場の数だけ、ステージング環境はあるのです。金も人も無い弊社はいつも「本番環境相乗り型」!!!
  • 【PHP8.4】ついにPHPにプロパティフックが導入される - Qiita

    class HOGE{ public string $tel{ set{ if(!ctype_digit($value)){ throw new ValueError("電話番号は数値のみ"); } if(strlen($value) < 10){ throw new ValueError("電話番号は10文字以上"); } $this->tel = $value; } get{ return '電話番号は' . $this->tel; } } } $hoge = new HOGE(); $hoge->tel = '123456789012'; // OK $hoge->tel = 'abcdefghijkl'; // Uncaught ValueError: 電話番号は数値のみ $hoge->tel = '123'; // Uncaught ValueError: 電話番号は10文字以上

    【PHP8.4】ついにPHPにプロパティフックが導入される - Qiita
    k-holy
    k-holy 2024/05/22
    これはインパクトでかいな…多くの場合で__get(), __set()が不要になる?
  • 【PHP8.4】メソッド引数のデフォルトnullがついに禁止される - Qiita

    よく見たら不自然なんだけどこれまで普通に許されていた、この引数デフォルト値がついに禁止されます。 何がおかしいって型がintなのに引数を渡さないと$xがnullになるので矛盾してしまうわけですね。 これはPHPが昔からの仕様を残しておいたためであり、いわゆる歴史的経緯というやつです。 以下は該当のRFC、Deprecate implicitly nullable parameter typesの日語訳です。 PHP RFC: Deprecate implicitly nullable parameter types Introduction PHP7.1で?T構文、さらにPHP8.0でUnion型がサポートされたことにより、PHPはnull許容値型を正しく書くことができます。 歴史的にはPHP5.0でオブジェクト型、PHP5.1でarray、PHP5.4でcallable、PHP7.0で

    【PHP8.4】メソッド引数のデフォルトnullがついに禁止される - Qiita
    k-holy
    k-holy 2024/03/25
    合理的な変更だと思うけど、引数デフォルト値のNULLは変数初期化のノリで多用してたから、影響は大きそう…PHP7.1以降で問題なしなら、すぐにでも対応するんだけど。php-cs-fixerで一括置換できるなら作業自体は楽かな。
  • PHP8.0がリリースされたので新機能全部やる - Qiita

    PHP8.1 / PHP8.0 / PHP7.4 2020/11/26にPHP8.0.0がリリースされました。 ということで、UPGRADINGに載っている機能や変更点をだいたい全部見て回ることにします。 Backward Incompatible Changes 後方互換性のない変更。 なお、ここで削除される機能の多くは何年も前から公知されています。 PHPコア match is now a reserved keyword. matchが予約語になりました。 match構文の導入に伴う措置です。 function match(){} // PHP8.0 Parse error: syntax error, unexpected token "match", expecting "(" // PHP7.4 エラーは起こらない

    PHP8.0がリリースされたので新機能全部やる - Qiita
    k-holy
    k-holy 2022/04/08
  • GitHub Actions で PHP の CI/CD をする - Qiita

    EC-CUBE の CI/CD を GitHub Actions で実装してみたので、メモ程度に知見をまとめてみます。 該当の Pull Request はこちら - 4系 https://github.com/EC-CUBE/ec-cube/pull/4337 - 2系 https://github.com/EC-CUBE/eccube-2_13/pull/312 2019年12月現在、 EC-CUBE organization アカウントが利用している契約プランの関係 で、 EC-CUBEオフィシャルリポジトリで GitHub Actions は利用できなくなっています。 ご利用の際は、 fork した個人アカウントでお願いします 実現したいこと 以下の環境をマトリクスで実行したい Linux, Windows PHP5.4〜7.3 PostgreSQL/MySQL/SQLite3 P

    GitHub Actions で PHP の CI/CD をする - Qiita
  • GROWI に draw.io 連携機能を PR (Pull Request)して v3.7.0-RC としてリリースされた話 - Qiita

    GROWI に draw.io 連携機能を PR (Pull Request)して v3.7.0-RC としてリリースされた話JavaScriptMarkdownReactDraw.ioGrowi はじめに GROWI に draw.io 連携機能を実装して Pull Request し、無事マージされて、バージョン 3.7.0 RC(Release Candidate) としてリリースされました! (今は docker image のみ提供されてます) weseek/growi Add draw.io Integration #1685 使い方のドキュメントはこちらです。 draw.io で様々な図を作成する | GROWI Docs この記事では簡単な機能紹介と実装のモチベーション、どうやって実装したかなどをお話しようと思います。 GROWI って何? 株式会社 WESEEK が OS

    GROWI に draw.io 連携機能を PR (Pull Request)して v3.7.0-RC としてリリースされた話 - Qiita
  • 【動画付き】 draw.io 使い方まとめ 〜エンジニアでなくても使えるTips集〜 - Qiita

    draw.io はブラウザを使用してフローチャート、プロセス図、組織図、UML 図、ER モデル、ネットワーク図などを作成できる優れたツールです。作成した図は xml ファイルとして保存でき、GitHub との連携もシームレスに行われます。3 年ほど愛用しているツールですが、隠された使い方がたくさんあります。すぐに忘れてしまうので取りまとめておきます。 「こんな使い方あるよ!オススメだよ!!」という方はぜひ編集リクエストをいただければ追記していく予定です 😊 ※ 主に参照している文献は以下、公式ブログは非常に分かりやすいのでオススメです。 ツイッター公式アカウント 公式ブログ ショートカット ショートカット集です。机の上に置いて覚えましょう。 Line / 線 まずは最も頻繁に使う Line(線)の使い方からご紹介します。 矢印をまっすぐに揃える ちまちまと矢印の線をドラッグして微調整し

    【動画付き】 draw.io 使い方まとめ 〜エンジニアでなくても使えるTips集〜 - Qiita
  • ローカル開発でSymfony CLIがすごい - Qiita

    Symfony Advent Calendar 2020 12日目の記事です。 Symfony CLIはSymfonyローカルマシンでの開発を支援するコマンドラインツールです。Laravel Installer(laravelコマンド)のようにSymfonyプロジェクトの作成にもできますが、それ以外にも優れた機能を備えています。その機能のうち、ぼくがよく使っている便利な機能をいくつかご紹介します。 Symfonyプロジェクトの作成 Symfonyのプロジェクトを作成するにはlavael Installerと同じ感じです。 プロジェクト名でディレクトリを作成し、ディレクトリ内にSymfonyをインストールします。以降のコマンドはプロジェクトのディレクトリに移動して、実行します。 余談ですが、Symfony CLIはコマンド実行時に、必ずアップデートを確認・ダウンロードし、常に最新のものが利用

    ローカル開発でSymfony CLIがすごい - Qiita
    k-holy
    k-holy 2020/12/14
    Symfonyって、フレームワークを構成するクラス群が個別のライブラリとして提供されるようになった一方で、本体はコマンドラインで動く開発支援ツールになってたのね。Windowsではどこまでやれるんだろう?
  • 本番環境でやらかしちゃった人 - Qiita Advent Calendar 2020 - Qiita

    昨年非常に盛り上がっていましたので作成させていただきました。 番環境でやらかしちゃった人のアドベントカレンダーです。 例) DB吹き飛ばした 番サーバをデストロイした ネットワーク設定をミスって番サーバにアクセス出来なくなり、サーバが世界から孤立した などなど... 以下の2点については必須項目なので、記述お願いします。 惨劇はなぜおこってしまったのか 二度と惨劇を起こさないためにどうしたのか もう二度とあの惨劇を繰り返さないために、みなで知見を共有しましょう。 過去 番環境でやらかしちゃった人 Advent Calendar 2019

    本番環境でやらかしちゃった人 - Qiita Advent Calendar 2020 - Qiita
    k-holy
    k-holy 2020/11/27
    なんかもうタイトルだけで全てを語ってそうなやつもあるな
  • Composer2.0ついにリリース! - Qiita

    Original article:https://blog.packagist.com/composer-2-0-is-now-available/ もはやPHPには欠かせないパッケージマネージャであるComposerですが、2020/10/24にComposer2.0.0がリリースされました。 2012年のリリース以来初めてのメジャーバージョンアップということで、多くの改善や新機能が盛り込まれており、そして互換のない変更点もわずかに存在します。 以下は公式でもアナウンスされている、Jordi Boggianoによる紹介記事Composer 2.0 is now available!の日語訳です。 Composer 2.0 is now available! 1/ What's new? 何が新しくなったの? 変更点や改善点は非常に多岐にわたるので、全てを知りたい場合は変更履歴を確認して

    Composer2.0ついにリリース! - Qiita
  • Composer2.x で変わったこと - Qiita

    2020年10月24日 Composr 2.0.0 がリリースされました🙌 半年前の記事から少し気になってましたが、思ったより早くリリースされて嬉しいです! Composer 2.0 is now available! 今回はこちらのリリース記事の内容を要約してご紹介します! Composerとは? Composerとは、PHPのパッケージ管理ツールです。 composer.json に書かれたパッケージ及び依存関係にあるパッケージも含めコマンド一発でインストールしてくれます。 Composerを使っていないPHPプロジェクトはほぼほぼないと言っても良いでしょう。 そんな素敵なツールのメジャーバージョンアップニュースです。 変更点 記事の内容を要約してご紹介します。 詳細な変更点については、チェンジログをご覧ください。 パフォーマンスの向上 Composerとpackagist.orgの

    Composer2.x で変わったこと - Qiita
    k-holy
    k-holy 2020/11/17
    ローカルだからとりあえず何も考えず更新したら hirak/prestissimo で引っかかったけど、本体が改善されたので不要になったって話かな。
  • 【PHP8.0】非厳密な比較演算子`==`の挙動が今さら変更になる - Qiita

    結果は順にtrue、true、falseです。 これがPHP7までの非厳密な比較(等価)演算子だったわけですが、まあおかしいよねってことで、この挙動がPHP8.0で変更になることになりました。 よもや今さら基中の基である比較演算子の動作を弄ってくるとは思わなかったぞ。 以下はSaner string to number comparisonsの日語訳です。 PHP RFC: Saner string to number comparisons Introduction ==やその他の非厳密な比較演算子を用いた文字列と数値の比較は、現在は、文字列を数値にキャストし、その後整数か浮動小数の比較を行っています。 この結果、多数の不可解な結果が得られますが、中でも注目すべきは0 == "foobar"がtrueになることです。 このRFCでは、文字列が実際に数値型文字列である場合にのみ数値型

    【PHP8.0】非厳密な比較演算子`==`の挙動が今さら変更になる - Qiita
    k-holy
    k-holy 2020/08/04
    まともなコードであれば影響なし、そうでないコードで不具合が放置されたまま偶然動いていた場合は…ってところか。個人的にはswitch文が使いやすくなる点で歓迎だけども、はてさて。
  • 【Laravel】 Eloquent の has() や whereHas() が遅い?なら速くしてやるぜ - Qiita

    Laravel】 Eloquent の has() や whereHas() が遅い?なら速くしてやるぜPHPMySQLSQLLaravelEloquent はじめに 2021/10/21 追記: Postgres は MySQL と異なり,相関サブクエリの JOIN 最適化もカバーしています。それゆえ,主にこの記事の内容は MySQL を想定したものとなっております。 (情報提供: @KentarouTakeda) 2022/12/22 追記: MySQL もバージョン 8.0.16 以降では Postgres に似た最適化が入るようになりました。そのため,殆どの場合ではもはや has() whereHas() を素直に使うだけで十分になっています: 【ガチ検証】Eloquent whereHas() はもう遅くないよ! Laravel は「リレーション先が存在するか」という制約条件を

    【Laravel】 Eloquent の has() や whereHas() が遅い?なら速くしてやるぜ - Qiita
    k-holy
    k-holy 2020/07/02
    今のところLaravelを使うつもりはないけど、こういう頼もしい記事を読んだらEloquentは単体で使ってみたくなるな…