タグ

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

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

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

    WHERE 条件のフィールドを UPDATE するのって,明示的にロックしてなくても安全?全パターン調べてみました! - Qiita
    iww
    iww 2022/07/05
    『元の StackExchange サイト上の最も投票されている回答が完全に間違っていました。やっぱり一次ソースが曖昧なときは実験しないとダメですね。』
  • PDOフェッチパターン大全 - Qiita

    忙しい人向け Q. PDO::FETCH_ASSOCでフェッチするとき,キーを整数連番じゃなくてidにする方法は? A. PDO::FETCH_UNIQUEを組み合わせる. $sql = "SELECT id, * FROM people WHERE gender = 'female'"; $rows = $pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC|PDO::FETCH_UNIQUE); var_dump($rows); /* [ 3 => ['id' => '3', 'name' => 'Lucy', 'gender' => 'female'], 5 => ['id' => '5', 'name' => 'Mary', 'gender' => 'female'], ] */

    PDOフェッチパターン大全 - Qiita
    iww
    iww 2019/05/09
    大全ってなんだよ
  • たぶんこれが一番分かりやすいと思います React + Redux のフロー図解 - Qiita

    【追記】 もうこれ古いから参考にしないでください https://t.co/mXtcc73Orf — もし Laravel が流行しなくなってこられてきてたとしたら、絶対に捨てられてこられてたと思うか (@mpyw) January 26, 2021 Redux にはその昔 connect()() とかいうクソ API と, Redux-Saga とかいう宗教がありました という考古学です — もし Laravel が流行しなくなってこられてきてたとしたら、絶対に捨てられてこられてたと思うか (@mpyw) January 26, 2021 読者対象 Tutorial: Intro To React - React Example: Todo List · Redux 「チュートリアルそれぞれ一周した!Reactは何とか理解できたが,Reduxがさっぱりわかんねぇ!」 ぐらいの人向け。自分

    たぶんこれが一番分かりやすいと思います React + Redux のフロー図解 - Qiita
    iww
    iww 2017/01/06
    このあとにすぐもっとわかりやすい図解がどんどん来るパターンだな
  • PHPで一時的なファイルポインタを扱う方法 - Qiita

    選択肢 $fp = fopen('php://memory', 'r+b'); メモリ上に領域を確保する。メモリリークに注意。 $fp = fopen('php://temp', 'r+b'); メモリ上に領域を確保し、 2MB を超えたら自動削除される一時ファイルを作る。 $fp = fopen("php://temp/maxmemory:{$n}", 'r+b'); メモリ上に領域を確保し、$n バイトを超えたら自動削除される一時ファイルを作る。 $file = new SplTempFileObject($n); 上記の SplFileObject 版 (継承クラス) 。 引数は省略可能でデフォルトはもちろん 2MB (2 * 1024 * 1024 ) 。 0 にすることも可能。 OOP好きな人はこれでどうぞ。 $fp = tmpfile(); 自動削除される一時ファイルを作る。

    PHPで一時的なファイルポインタを扱う方法 - Qiita
  • PHPでデータベースに接続するときのまとめ - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。PDO に関しては大きく変わっていない部分が多いとは思いますが, PHP 8.x 以降での動作保証はありません。 あらかじめ読んでおきたい記事 Qiita - 【PHP超入門】クラス~例外処理~PDOの基礎 by @7968 初心者がやりがちなミス 以下のどれかに1つでも当てはまるコードは見直す必要があります.付録にリンクを貼っておきましたので,「該当するかも?」という人はクリックして飛んで読んでください.太字にしてあるものは脆弱性に直結する危険度の高いものです. mysql_query などの非推奨関数を利用している SET NAMES あるいは SET CHARACTER SET などで文字コードを指定している そもそもデータベース

    PHPでデータベースに接続するときのまとめ - Qiita
    iww
    iww 2015/08/28
    『SET NAMES や SET CHARACTER SET を用いてはいけない。』
  • isset, empty, is_null の動作まとめ - Qiita

    ※ 未定義の変数は Notice: Undefined variable を発生しながら null として扱われます。 複雑な表を書き並べている記事が多いですが、実際は null であれば null でなければ 空値であれば 空値でなければ の4種類の内容しか取り扱っていないものがほとんどであり、覚えるのが難しいなどと悩む必要はありません。至ってシンプルです。但し、(空配列はまだ分かるとして) 文字列のゼロと空要素から成るSimpleXMLElementの扱いには特に注意してください。これはPHPにおいて直感的ではない、最もクセのある実装のひとつです。JavaScriptなどと比較してもこれらの点だけ異なっていたりします。 変数の存在を確認するショートコード これから紹介するissetやemptyは、未定義とnullを区別することが出来ません。issetやemptyについて紹介する前に、純

    isset, empty, is_null の動作まとめ - Qiita
    iww
    iww 2015/06/30
    空要素から成るSimpleXMLElement も空なのか。おそろしい
  • PHPの配列要素の型を縛る - Qiita

    前書き @Hiraku さんの SplFixedArrayで"純粋な配列"を作る に感化されて衝動的に作ってしまった。 個人的により強く縛りたいと感じるのは、配列のサイズというよりは格納される 要素の型 なので。それならPHPなんか使うなって言われそうだけどまぁうんそうだねはい(適当) Collection ArrayObject を継承して作ってみました。使い方はほとんど ArrayObject と同じです。 クラス定義 class Collection extends ArrayObject { const TYPE_BOOL = 1; const TYPE_INT = 2; const TYPE_FLOAT = 4; const TYPE_STRING = 8; const TYPE_ARRAY = 16; const TYPE_OBJECT = 32; const TYPE_NUL

    PHPの配列要素の型を縛る - Qiita
    iww
    iww 2015/03/04
    特定のクラスしかぶっこめない配列を作りたい
  • PHPオブジェクト指向入門(前半) - Qiita

    コンセプト オブジェクト指向プログラミング未経験者~理解を深めたい人、ノンケ~ホモまで幅広くカバーするつもり。多分。 クラスとオブジェクト(初級) 唐突ですが、量産型のロボットの設計・製造について考えてみましょう。 ロボ太郎 ロボ次郎 イラストで初心者を釣る クラス まず、ロボットの設計図を クラス として定義します。設計図をもとにロボットを製造するには、 new 演算子を使います。製造された物体のことを オブジェクト や インスタンス と呼びます。ここではこれらの用語を区別せずに用いることにします。 Yahoo!知恵袋 - オブジェクトとインスタンスの違い

    PHPオブジェクト指向入門(前半) - Qiita
  • 1