「ORMがトラブル起こすから嫌い」なんじゃなくて、「ORMが起こすトラブルが解決できないから嫌い」ってのがほんとのところじゃない?だったら解決方法を知ればいいんじゃね?というお話。「N+1問題」もろくに知らずにORMを批判せんでほしい。
![O/Rマッパーによるトラブルを未然に防ぐ](https://cdn-ak-scissors.b.st-hatena.com/image/square/d8eb83a6a8acba6a90e3d4998e8f2cb3b9e66f1b/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fhowtopreventormtroubles-141220165645-conversion-gate01-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
Adminer (formerly phpMinAdmin) is a full-featured database management tool written in PHP. Conversely to phpMyAdmin, it consist of a single file ready to deploy to the target server. Adminer is available for MySQL, MariaDB, PostgreSQL, SQLite, MS SQL, Oracle, Elasticsearch, MongoDB and others via plugin. Features, Requirements, Skins, References Why is Adminer better than phpMyAdmin? Replace phpMy
ちょっと遅めの夏休みをもらって八丈島に行ってきました nakamura です!いい所すぎて危うくそのまま移住するところでした。 データベースの移行をする際みなさんどんな流れで作業しているでしょうか。コマンドラインでダンプを取って、サイズが大きかったら gzip で圧縮して、WinSCP でそれをローカルに落としてきて、それをまた別のサーバにアップロードして・・・・なんて事してたりしませんか? シェルのパイプやリダイレクトをうまく使ってあげれば、この辺りはコマンド一発でいけちゃったりするのです。今日はそんなコマンド例のご紹介です。 実際によく使うコマンドの例を箇条書きで。 とりあえずダンプの結果をそのまま圧縮する。 mysqldump -udb_user db_name -pdb_pass | gzip > db_name.dump.sql.gz 特定の文字列を置換した上で圧縮する。 MT
Perl › Mojolicious Windows上でMojoliciousというWebフレームワークを使ってWebアプリケーションの開発を行い、さくらのレンタルサーバーのライトプランで公開するまでの手順を書きたいと思います。ライトプランは1ヶ月あたり125円なので気軽にWebフレームワークを試してみることができます。現代的なWebフレームワークを使って、気軽にWebアプリケーションを作成できるのはPerlの良いところですね。 またSQLiteというデータベースも使ってみましょう。 環境構築 ActivePerlにはDBD::SQLiteとDBIが含まれていますから、データベース関連のモジュールをインストールする必要はありません。またさくらのレンタルサーバーでもSQLiteが最初から利用できますので、こちらも何の準備もする必要はありません。 行うことはMojoliciousをダウンロード
Tutorials: Learn SQL step by step 0 SELECT basics Some simple queries to get you started 1 SELECT name Some pattern matching queries 2 SELECT from World In which we query the World country profile table. 3 SELECT from Nobel Additional practice of the basic features using a table of Nobel Prize winners. 4 SELECT within SELECT In which we form queries using other queries. 5 SUM and COUNT In which we
前回の記事 MySQLをmaster:slave=1:1構成にして参照をslaveに向けるのがなぜ良くないか の続きです。 master : slave = 1 : 1 で参照を slave に分散してもまったく美味しくないわけですが、では参照の負荷分散を行いたい場合の slave は何台で構成するとよいのか考察してみます。具体的には slave 2台の場合と 3台の場合でどちらがお得か。 台数を増やすということは、どこかに障害が発生する確率が高まる、ということです。1台の slave に障害が発生してダウンした場合のことを考えてみます。 slave * 2 → 残り 1台で処理継続 生き残った1台あたりの処理が 2倍になる slave * 3 → 残り 2台で処理継続 生き残った1台あたりの処理が 1.5倍になる たとえば 1台あたり最大 1000qps の処理能力があるとします。sla
MySQLのmasterとslave 1:1にして参照をslave向けるのってやりたがる人多いみたいだけど、性能たいして上がらない割に可用性落ちるだけだからやめようキャンペーン 2011-06-19 00:16:30 via YoruFukurou MySQL はレプリケーションが簡単に構成できるのですが、時折 master 1台 に対して slave 1台、更新処理は master に、参照は slave に、という構成を目にします。 個人的にはこの構成はお勧めでないと思っているので、その理由を考察してみます。 1. 可用性が落ちる 当然ですが、master, slave のどちらが落ちても影響を受けるために可用性が低下します。 2. 全体の性能がほとんど上がらない master 1台ですべてのクエリを処理する場合と比べて、可用性が落ちる引き換えとして見合った性能向上が得られるか、という
perl+DBI プログラムの鉄則 のつつき。 鉄則その3. while ( my $arr_ref = $sth->fetchrow_arrayref ){ my ($hoge, $fuga) = @$arr_ref; ... } SELECT 時は上記のように fetchrow_arrayref を使うこと。そして必ずスカラーに 代入すること。せっかく fetchrow_arrayref を使っていても while ( my $arr_ref = $sth->fetchrow_arrayref ){ print "$$arr_ref[0] $$arr_ref[1]\n"; } などと書いては台無しである。配列のインデックスで指定すると取得カラムの 増減に非常に弱い。そしてなりより、$$arr_ref[1] が何を意味するのか さっぱりわからない。 fetchrow_array は使わな
概要 全国の地名のローマ字表記を記したCSV形式のファイルを提供します。このCSVファイルには例えば「東京」に対応する「Tōkyō」、「Tôkyô」といったローマ字綴りが収録されています。 地名の種類は、都道府県名、市区町村名、等です。下記に詳述しています。 ローマ字の綴り方は、ヘボン式、訓令式の両方に対応します。 ダウンロード CSVファイルを以下からダウンロードできます。これら3つのファイルは内容は同一で、ファイルの文字コードだけが異なります。 全国地名ローマ字表記CSV (UTF-8版) 全国地名ローマ字表記CSV (EUC-JIS-2004版) 全国地名ローマ字表記CSV (Shift_JIS-2004版) これらのファイルは、JIS X 0213で追加された「ō」や「ô」といった符号つきのアルファベットを含んでいます。JIS X 0213の文字に対応した環境でご使用ください。 利
SqlPackage is a command-line utility that automates the database development tasks by exposing some of the public Data-Tier Application Framework (DacFx) APIs. The primary use cases for SqlPackage focus on database portability and deployments for the SQL Server, Azure SQL, and Azure Synapse Analytics family of databases. SqlPackage can be automated using Azure Pipelines and GitHub actions or other
技術畑の人間が新たにPostgreSQLでSQL/DBを学ぶのに最良の方法は本だろうか、それともチュートリアルだろうか?もしくはそれよりも良い策が他にあるだろうか。 今までは他の人の書いたコードを読んだり、実際にいろいろ試したり、PostgreSQLドキュメントに目を通したりして学んできた。その甲斐もあってかDBを理解してきたが、まだ多くのことを知らないし間違って身に付いていることもあるだろう。その証拠にスラドでDBのストーリーを読むと初めて目にする用語が結構ある。 なお、自分はプログラミングに関しては複数言語で長年の経験があるが、SQLに関してはPostgreSQLを通じて多少いじった程度である。数学は三角法、代数、少々の統計をかじったバックグラウンドがある。 また、近くに通える大学はなく、DBに詳しい人も周りにいないため独学せざるを得なく、インターネットと本が頼りなのが実情であることを
In Visual Studio 2022 17.10 Preview 2, we’ve introduced some UX updates and usability improvements to the Connection Manager. With these updates we provide a more seamless experience when connecting to remote systems and/or debugging failed connections. Please install the latest Preview to try it out. Read on to learn what the Connection ...
昨日のエントリ「SQLインジェクションゴルフ - 認証回避の攻撃文字列はどこまで短くできるか?」にて、認証回避の攻撃文字列が5文字にできる(「'OR'1」)ことを示しましたが、@masa141421356さんと、やまざきさん(お二人とも拙著のレビュアーです)から、idとpwdにまたがった攻撃例を示していただきました。やまざきさんの例は、MySQL限定ながら、なんと3文字です。これはすごい。 @masa141421356さんの攻撃例 @masa141421356さんのツイートを引用します。 @ockeghem 大抵のDBでid=''OR' AND pwd='>' ' が通ると思います(id側に「'OR」, pwd側に「>' 」で6文字)。長さ0の文字列がNULL扱いされないDBなら最後のスペースを消して5文字です。 — masa141421356 (@masa141421356) June
前提 OS: Debian Squeeze Apache インストール済み PostgreSQL インストール済み ドメイン名: example.com (適宜読み替え) インストール場所: /opt/tt-rss (適宜読み替え) データベース名: ttrss_db (適宜読み替え) データベースユーザー名: ttrss_user (適宜読み替え) データベースパスワード: ttrss_password (適宜読み替え) 1. ダウンロード Tiny Tiny RSS より tt-rss-*.*.*.tar.gz をダウンロード 2. 任意の場所にインストール /opt/tt-rss にインストールすると仮定 tar xzvf tt-rss-*.*.*.tar.gz sudo mv tt-rss-*.*.* /opt/tt-rss 3. Tiny Tiny RSS 設定 3.1. 設定フ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く