ブックマーク / qiita.com/mpyw (4)

  • WHERE 条件のフィールドを UPDATE するのって,明示的にロックしてなくても安全?全パターン調べてみました! - Qiita

    WHERE 条件のフィールドを UPDATE するのって,明示的にロックしてなくても安全?全パターン調べてみました!MySQLSQLPostgreSQLDatabaseQiitaEngineerFesta2022 TL; DR MySQL/Postgres とも, MVCC アーキテクチャの恩恵で, SELECT と UPDATE は基的には競合しない。 単一レコードのシンプルな UPDATE でも排他ロックされ,排他ロック中のレコードへの UPDATE での変更操作は トランザクション分離レベルによらず ブロックされる。UPDATE 文に含まれる WHERE 句での検索もブロックされ,これはブロックされない SELECT による検索とは別扱いになる。 但し UPDATE 文の WHERE 句上で,更新対象をサブクエリの SELECT から自己参照している場合は例外。トランザクション分離

    WHERE 条件のフィールドを UPDATE するのって,明示的にロックしてなくても安全?全パターン調べてみました! - Qiita
  • ぐるナビAPIのサンプルコードでポエム書いた - Qiita

    この記事を読む前に この記事に悪意はありません.単に「公式のサンプルコードとしてこれは如何なものか…」と感じたので,初心者が困惑しないように適当に手直ししてみたまでです. もちろん自分も汚いコードを存分に書いてきましたし,そもそもコードの美しさは個人の主観に左右されるところはあります.…が,それでもちょっとこれは…,という感じだったので,お許し下さい. コード比較 ぐるナビのサンプル 問題のコードはこちらに掲載されています.こちらはターミナルへの出力を想定しています. ぐるなび Web Service - レストラン検索API <?php /***************************************************************************************** ぐるなびWebサービスのレストラン検索APIで緯度経度検索を実行しパース

    ぐるナビAPIのサンプルコードでポエム書いた - Qiita
  • [PHP] リクエストパラメータ・セッションに関するまとめ - Qiita

    予備知識 スーパーグローバル変数とは? 「スーパーグローバル変数って何?」って感じの駆け出しPHPプログラマのために念のためマニュアルへのリンクを記載しておきます.全然知らない人は軽く読んでおいてください. PHP Manual - 変数のスコープ PHP Manual - スーパーグローバル HTTPとは? リクエストヘッダー・レスポンスヘッダー と聞いてピンと来ない人はまず下記サイトにて予習をお願いします.細かいことは覚える必要は無いので,大雑把に「ヘッダーとはどんなものか」ということを理解してください. Qiita - 【PHP超入門】HTTP(GET・POST)について Qiita - 【PHP超入門】Cookieとセッションについて @7968さんによるQiitaの記事です.右も左もわからない人はまずこれで. とほほのWWW入門 - HTTP入門 最初の記事をもう少し体系的にまと

    [PHP] リクエストパラメータ・セッションに関するまとめ - Qiita
  • 「RFC3986定義の厳密なHTTP URIの正規表現」をPHP用に最適化 - Qiita

    元ネタ RFC3986定義の厳密なHTTP URIの正規表現 何をしたか PHP向けに以下の編集を行いました。 適当な文字数毎に分割した文字列リテラルに (Atomなどのエディタは一行が長すぎると重くなる) デリミタ ` を付加 i 修飾子を付加 グループに関して、全てキャプチャ無しに 繰り返しパターンに関して、全てバックトラックを行わないよう独占的に aaahttp://などにはマッチしないように,先頭に単語境界の判定を付加 コード $regex = '`\bhttps?+:(?://(?:(?:[-.0-9_a-z~]|%[0-9a-f][0-9a-f]' . '|[!$&-,:;=])*+@)?+(?:\[(?:(?:[0-9a-f]{1,4}:){6}(?:' . '[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:\d|[1-9]\d|1\d{2}|2' . '[0-

    「RFC3986定義の厳密なHTTP URIの正規表現」をPHP用に最適化 - Qiita
  • 1