エンジニア初心者が躓いたことハマったことを公開します!
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
// トランザクション開始 $db->beginTransaction(); try { $db->query($instSql); $db->commit(); // コミット } catch (Exception $e){ $db->rollBack(); // ロールバック
echo $e->getMessage(); // エラー出力 }
《コ》トランザクション◆データベースに対するデータの変更処理などのような、密接に関連する複数の処理の集まり。通常トランザクション内の処理はその全 てが成功するように保証されるが、もし一つでも成功しない場合は、他の全ての処理が取り消される。不可分操作(atomic operation)の一つ。
『transaction』
ロールバック (英: rollback、巻き戻し) はコンピュータ用語では、データ更新などで障害が起こったときに、その前の状態にまで戻ることをいう。後進復帰とも言う。
データベースでは、更新前のジャーナルファイルを使い、更新前の正常な状態に戻す。
コミット (commit) とは、データベースにおいてトランザクションによる内容更新を恒久的なものとして確定することを指す。
一般にトランザクションの終了時にその更新を確定するという意味で「コミットする」などと使用する。リレーショナルデータベースマネジメントシステム (RDBMS) のSQLのCOMMIT文はトランザクションの完了時に使用され、そのトランザクションによる更新が他からも見えるようにする。逆に、更新を取り消す処理をロールバックと呼び、こうした制御をコミットメント制御と呼ぶ。SQLではROLLBACK文がその処理を行う。
設定より規約(せっていよりきやく、英: convention over configuration)とは、開発者の決定すべきことを減少させ、単純にするが柔軟性は失わせないというソフトウェア設計パラダイム。
この言葉は本来、開発者が指定しなければならないのはアプリケーションの慣例に従わない点だけだ、ということを意味している。例えば、モデルの中に Sale というクラスがあれば、データベース中の対応する表の名前はデフォルトで sales である。この規約から逸脱したときだけ、例えばその表を "products_sold" という名前にした場合だけ、その名前を使ったコードを書く必要が生じる。
使用しているツールが実装した規約が開発者の望む動作と一致していれば、設定ファイルを書く必要もない。実装規約と望みの動作が違っている場合、必要な動作を設定しなければならない。
『wiki/設定より規約』
プロジェクト・オイラー(英: Project Euler、名称はレオンハルト・オイラー由来)は、数学やプログラミングなどに興味を持つ大人や学生が主な利用者であり、プログラミング (コンピュータ)による一連の計算問題の解決を目的としたウェブサイトである。 400以上の問題の他に毎週末毎に1問ずつ増えており、様々な難問が用意されているが、 一般的なスペックのパソコンで効率的なアルゴリズムを用いれば、いずれも1分未満で解ける。 正答回答者のみが各問題の掲示板を閲覧できる。 2001年に創設されて以来世界的な知名度と人気を得ており、2013年10月の時点では世界中から34万人以上の利用者(最低1問以上の正答者)を有する。 利用者は正答数に応じて最大16のレベルが振り分けられ、各々の進捗状況を確認できる。
サイト内の問題はAPLのプログラミングコンテストでの使用実績があり、オンライン整数列大辞典では68問を引用している。
『wiki/プロジェクト・オイラー』
アルゴリズム(英: algorithm)とは、数学、コンピューティング、言語学、あるいは関連する分野において、問題を解くための手順を定式化した形で表現したものを言う。「算法(さんぽう)」と訳されることもある。
問題はその解を持っているが、アルゴリズムは正しくその解を得るための具体的手順および根拠を与える。さらに多くの場合に効率性が重要となる。
コンピュータにアルゴリズムを指示するための(電子)文書をプログラムという。人間より速く大量に正しい結果を導くことができるのがコンピュータの強みであるが、そのためにはプログラムは正しく効率的なアルゴリズムに基づくことが必要である。
『wiki/アルゴリズム』