Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...
![InfoQ: データの削除は非推奨](https://cdn-ak-scissors.b.st-hatena.com/image/square/945e00b1c7c09c358584cecb10d006bd8c989bf8/height=288;version=1;width=512/https%3A%2F%2Fcdn.infoq.com%2Fstatics_s1_20240815071826%2Fstyles%2Fstatic%2Fimages%2Flogo%2Flogo-big.jpg)
W3C Working Group Note 18 November 2010 This Version: http://www.w3.org/TR/2010/NOTE-webdatabase-20101118/ Latest Published Version: http://www.w3.org/TR/webdatabase/ Latest Editor's Draft: http://dev.w3.org/html5/webdatabase/ Previous Versions: http://www.w3.org/TR/2009/WD-webdatabase-20091222/ http://www.w3.org/TR/2009/WD-webdatabase-20091029/ http://www.w3.org/TR/2009/WD-webstorage-20090423/ Ed
ユーザさんから、Webアプリ起動中にデータソースを動的に切り替えたい、との要望があったのでSpring環境でどうやるかを調べてみました。 データソースの定義 <!-- 動的切り替え用リゾルバ --> <bean id="dataSource" class="net.sasuke.datasource.DynamicRoutingDataSourceResolver"> <property name="targetDataSources"> <map key-type="net.sasuke.datasource.type.SchemaType"> <entry key="MANAGER" value-ref="managerDataSource" /> <entry key="USER" value-ref="userDataSource" /> </map> </property> <p
まえがき データにIDを持たせたいとき、単純な方法としては、DBの提供するauto incrementを使う場合やUUIDを利用することがある。それぞれの方法の利点欠点は以下の通り。 データベースのauto incrementを使う場合 利点: 特別な実装が必要ない 欠点: DBを1台で運用するとデータベースがパフォーマンス・障害のボトルネックになる DBを二台にするとIDのユニークさや順序の保証が困難 UUID(v4)※1を利用する場合 利点: 分散環境で各々がIDを生成しても衝突しない IDを公開したくない場合に、推測されにくいIDを生成できる 欠点: 128ビット必要、DBのインデクシングやプログラミング言語で扱うときに不利なことがある IDから時間の情報が失われる、例えば2つのIDを比べてどちらが古い投稿か判断できない 世界の大企業がどうしてるか 調べてみると多くの企業がブログなど
JJUG CCC 2014 Springでのプレゼン資料です。 少しだけ修正してます。 Java8でRDBMS作ったよ from なおき きしだ ソースはこちら kishida/sqlparser · GitHub 使ってるライブラリ JParsec - Home Project Lombok あと、プレゼンでは紹介できなかったけど参考資料 いまのところ日本語でRDBMSの仕組みを説明してる唯一の本かも。あまり深くはとりあげてないけど、読みやすいのでおすすめ。このプレゼンでも参考にしてます。 RDBMS解剖学 よくわかるリレーショナルデータベースの仕組み (DB Magazine Selection) 作者: 鈴木幸市,藤塚勤也出版社/メーカー: 翔泳社発売日: 2005/02/22メディア: 単行本(ソフトカバー)購入: 11人 クリック: 88回この商品を含むブログ (26件) を見る
Java の研修で DB(だいたいMDBかな) にアクセスするプログラムを作ることになったとき、講師はほぼ 100% 「JDBC Driver を使用するためには Class.forName を使用します」と言うはず。ただ、呪文のごとく。 で、Class.forName の API を見てみる。 forName(String name, boolean initialize, ClassLoader loader) 指定されたクラスローダを使って、指定された文字列名を持つクラスまたはインタフェースに関連付けられた Class オブジェクトを返します そして疑問が生まれる。「クラスをロードするだけでなんでDBにアクセスできるようになるの?」と。 講師はなぜできるかは説明しない。分かってないってことは無いと思うけど「まだ初心者だから覚えとけばいい」的な感じだろう。 けど、ここは言わせてもらう!
[速報]Oracleデータベースをインメモリ化する「Oracle Database In-Memory」、性能を数百倍高速化、来月出荷へ 米オラクルは、Oracle Database 12cをインメモリデータベース化し、従来と比較して数百倍の性能向上を実現する「Oracle Database In-Memory」を来月7月に出荷すると発表しました。 Oracle Database In-Memoryは、昨年9月に行われたOracle OpenWorld 2013の基調講演で発表されたもの。今回の発表には、そのときと同様に同社CEOのラリー・エリソン氏が登壇、熱のこもった説明を行いました。 エリソン氏は「Oracle Database In-Memoryは、アナリティクス処理を10倍も100倍も高速化し、OLTPも2倍、3倍と高速化する。しかもOracle RAC(Real Applicat
SAPのようなERPを勉強していると必ず出くわすのが「大福帳」です。 大福帳型データベースとは、発生したトランザクション・データを要約せずに、 そのまま蓄積していくタイプのデータベース・システムのことを指します。 もともとの大福帳とは、江戸時代の商人が使っていた金銭出納帳のことで、 現代の簿記のように勘定項目を分けず、取り引き順に記載していく書き方をしていました。 そのため、上記のようなデータベースシステムを大福帳と呼ぶようになりました。 (ちなみに大福帳の英訳は「account book(会計簿)」。 ぴったり当てはまる言葉は英語にないようです) 大福帳型データベースによって、財務諸表などの要約されたデータから逆にたどり、 1枚の伝票(トランザクション・データ)にたどりつくことができます。 (これをドリルダウンする、と呼びます) 生データをそのまま記録しておくことで、いつ誰によって入力・
ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も) 以前、RDBでなく、正規化しないでKVSで入れるって、結局実データそのままってことだよね!ってところで、 このやり方の場合、ロングトランザクションを解決したときのように、時間+サーバー名とか時間+更新者の適当な組み合わせを使うと、競合が起こらないでデータ追記だけで最新データが取ってこれる(って、この仕組みを結局まだ説明していないね。いつか説明する)。 って書いた。このデータ追記だけで、最新データが取ってこれたり、ロングトランザクションにおける競合問題が解決する手法は、「大福帳システム」として知られている。この大福帳システムはNoSQL、非正規化して実現でき(XMLDBなどで実現する)、KVSとも相性いいと思うんだけど、今回は、その大福帳システムについて説明する。 ■追記型データベ
先日をもって無事に読了しました。記念に記録しておきます。 読んだ本はこれ Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery http://www.amazon.co.jp/Transactional-Information-Systems-Algorithms-Concurrency/dp/1558605088/ref=sr_1_1?ie=UTF8&qid=1370746124&sr=8-1&keywords=transactional+information+systems 始まったのが、2011年の秋からだったので、ほぼ一年半かかりました。スタート時点は10名ほどいたメンバーも徐々にいなくなり、最後は不動の4人のレギュラー
最近、SQLインジェクションのネタが盛り上がってるようだ。下記のTogetterまとめあたりが震源地だろうか。 「プリペアードクエリが基本だけど、動的に SQL を組み立てる場合もあるから、そういう場合に備えてエスケープも知っておいたほうがいいかも」 - Togetterまとめ まとめを読んだ感想としては、「どちらの意見も間違ってはいない」というものだ。前提あるいは見方が異なるために、見解の相違が生じているだけのように思う。SQLインジェクションについては私も若干思うところがあるので意見を書いておこうと思う。 攻撃を防ぐのは難しいSQLインジェクションをはじめとするセキュリティ対策が難しいのは、ひとつでも穴があると致命的なダメージを受け得るということだ。「どうやって効率よくコードを書くか」とか「コードのメンテナンス性を高めるにはどう書くべきか」みたいな議論とは全く質が異なる議論が必要になっ
Bill Karwin “SQL Antipatterns: Avoiding the Pitfalls of Database Programming” の読書メモ。 Jaywalking 目的 ある属性について、複数の値を持たせる。 アンチパターン : カンマ区切りリスト カンマ区切りで複数の値を 1 つの列に納める。 例では、特定の製品についての担当者を複数設定するのにカンマ区切りで、担当者のアカウントIDを記述している。 create table products ( product_id integer, product_name varchar(1000), acount_id varchar(100), -- comma separated list -- ... ); insert into products (product_id, product_name, accou
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く