タグ

ブックマーク / nippondanji.blogspot.com (37)

  • 書籍出版のお知らせ:理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL

    来る2月27日、データベースの新書籍を発売させて頂くことになった。タイトルは「理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL」となっている。単に「データベース」と書いてあるが、RDBがメインのテーマの書籍である。 多くの人が未だにRDBを使いこなせていないのではないか。RDBの使い方をマスターするには何が必要なのか。それがここ数年私が追ってきたテーマであり、この書籍を出すことになった動機である。 あまりにも酷いDB設計、あまりにもスパゲティなクエリ、あまりにも希薄なデータモデルへの理解。そういった問題はどこから生み出されるのか。そのひとつの結論としてたどり着いたのが、「そもそもRDBの使い方があまり理解されていないのではないか」ということだった。名著、SQLアンチパターンでは「やってはいけないケース」について学ぶことができるが、その反対のテーマ、つまり来どの

    書籍出版のお知らせ:理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL
    pycol
    pycol 2015/02/04
  • MySQLレプリケーションの運用が劇的変化!!GTIDについて仕組みから理解する

    メリークリスマス!!やあ、良い子のみんな!!サンタクロース・・・ではなく、ヒゲモジャギークからのクリスマスプレゼントだよ!! というわけで、MySQL Casual Advent Calendarの25日目である。今朝Advent Calendarを覗いてみると、日分のエントリーが無かったので、急遽書くことにした。Advent Calendar最後の日、クリスマスを飾る記事のテーマはGTIDだ。 前回の投稿では、MySQL 5.6の目玉機能として、レプリケーションがクラッシュセーフになったことを挙げた。レプリケーションまわりで言えば、もうひとつ外せない目玉機能がある。それがGTID(Global Transaction ID)である。 GTIDは良くも悪くもレプリケーションの運用を変化させる。GTIDを使うことによって得られる最大のメリットは、CHANGE MASTER TOでバイナリロ

    MySQLレプリケーションの運用が劇的変化!!GTIDについて仕組みから理解する
    pycol
    pycol 2014/12/26
  • SIMロック解除義務化を受けてひとこと。「土管をくれ、手頃でいいヤツを!」

    先日、SIMロック解除義務化のニュースが高らかに舞った。既に私はMVNOへ移行してしまったので携帯の三大キャリアとは直接契約していない(回線はMVNO経由でDoCoMoのものを使用している)のだが、SIMロック解除の義務化は私にとっても歓迎すべきニュースである。以前、最高の土管が欲しいというエントリでも綴ったように、私が通信キャリアに期待するのは最高の通信インフラを提供してくれることだけだ。 ところが、PC WatchにSIMロックフリーをキャリアに強制して意味があるのかという記事が掲載された。「おいおいメリットはあるに決まってるだろ・・・」と、タイトルを読んだだけなら脊髄反射してしまいそうになるが、SIMロックを解除してもまだ足りない点が指摘されており、非常に良い記事であるように思う。(ただし後半は賛成できない部分がある。) 誰が得をするのかSIMロックの解除という点においては、ドコモは

    SIMロック解除義務化を受けてひとこと。「土管をくれ、手頃でいいヤツを!」
    pycol
    pycol 2014/07/11
  • ホワイトカラーの生産性を上げる方法

    先日、新「労働時間制度」創設へ検討指示 NHKニュースという記事(魚拓)が上がった。この記事を読む限りでは、政府はホワイトカラーの人たちの生産性を向上させるために新労働時間制度を創設しようとしているように見える。だが待って欲しい。労働制度を変えることで当に生産性が上がるのだろうか。今日は、政府が行なっている議論の問題点についての指摘と、当にホワイトカラーの生産性を上げる方法について考察してみよう。 政府は論点がずれている。なぜならば、結論ありきだから。まず、新労働時間制については次のように職種を限定した議論が行われているように見受けられる。 そして具体的な業種や業務について、経営企画や新商品の開発、海外プロジェクトなどを担うリーダー、それにITや金融関連のコンサルタント、資産運用を行うファンドマネージャー、経済アナリストなどを挙げています。 一方、田村厚生労働大臣は年収が数千万円に上る

    ホワイトカラーの生産性を上げる方法
    pycol
    pycol 2014/06/04
  • SIerは終わっているか

    先日、みんな大好きアノニ増田イアリーで、「SIerって終わってんな」という記事が掲載された。これは、「日ITエンジニアの地位はなぜ低いのか:日経ビジネスオンライン」に対するツッコミ記事である「コーディング技術にこだわり過ぎるとITエンジニアの地位は向上しない - プロマネブログ」に対するさらなるツッコミ記事であり、ここのところこの話の流れはかなりホットなようである。 「SIerって終わってんな」という記事にはどうしても突っ込んでおきたいところがあったので、ここで突っ込んでおくことにする。 問題の箇所はここだ!!どうやって世界と伍して戦う? どうやって他の製品を上回る? 微々たる使い勝手の差などは、技術力の差の前では圧倒的に無力だということは データベースはオラクルだのSQLに依存し、製品ではSAPなどに完敗を喫し続けているSIerこそ理解すべきだろう ん? SQLは言語であってどのRD

    SIerは終わっているか
    pycol
    pycol 2014/02/11
  • IDの設計についてのさらに突っ込んだ議論

    今日も前回に引き続きデータベース設計の話をする。今回の話で一旦データベース設計については筆を置くつもり(ブログ書いてないで原稿書けよ>俺)であるが、その前に話をすっきりさせて置きたいと思う。最後を飾るテーマはIDの設計である。 数字しかないのに意味を含んだID前回のエントリを見ていただいた方から、次のような構造を持った学籍番号があるというフィードバックを頂いた。 全部数値で"入学年度下2桁"+"学科コード"+"学科内のあいうえお順の順位" このようなルールで割り当てた学籍番号を、単なる数値として扱うのであれば大きな問題はない。これは数値しか含まれていないので、SQLのデータ型としては単に数値型を使えば良いだろう。だが、学籍番号から入学年度を判断する、あるいは学科を判断するといった用途で使われるのであればやはり適切ではないといえる。リレーショナルモデルの観点だけからではなく、IDとして適切で

    IDの設計についてのさらに突っ込んだ議論
    pycol
    pycol 2013/12/11
  • その選択、ちょっと待った!NoSQLデータベースへ乗り換える前に検討すべき3つのポイント

    最近、どうも安易に「NoSQLにすれば厄介なDB設計から開放される」と考えている人が多いように思えて仕方がない。だが待って欲しい。当にNoSQLと呼ばれるデータベースを使えばアプリケーションの開発・運用の苦しみから逃れられるのだろうか。もちろん「そんなことは無い!!絶対にだ!!」と私は考える。今日はその理由について語ろうと思う。 トランザクション先日、リレーショナルデータベースにおけるDB設計についてセミナーで解説したばかりだが、リレーショナルデータベースにおけるデータの整合性は何もDB設計だけが担保しているわけではない。リレーショナルモデルと同じかそれ以上に欠かせないのがトランザクションだ。 トランザクションがあるおかげで、トランザクション終了後のステータスは「成功」か「失敗」の2つしかないということが保証される。すなわちオール・オア・ナッシングだ。もしトランザクションの途中で何らかの

    その選択、ちょっと待った!NoSQLデータベースへ乗り換える前に検討すべき3つのポイント
    pycol
    pycol 2013/12/02
  • DBエンジニアのための技術勉強会で発表したスライドを公開しました。

    DBエンジニアのための技術勉強会というイベントで、リレーショナルモデルにおけるDB設計について話す機会を頂いた。リレーショナルモデルは非常に重要であるにも関わらず、現場ではないがしろにされてしまっている。その結果、アプリケーションのロジックを上手くクエリで表現できず、開発現場では非効率な開発が行われ、多くの人がデスマ的な状況に追い込まれている。そういう危機意識について、これまで何度かブログでも書いてきたし、WEB+DB Pressで連載している動機もその点にある。リレーショナルデータベースはやはりリレーショナルデータベースとして使うべきだ。そのための鍵となるのが、DB設計である。 今回はなんと約2時間の持ち時間を頂いた。リレーショナルモデルについてはこれまで何度か話す機会を頂いたが、2時間というのは最長記録である。それに合わせてスライドもボリュームたっぷりのものになった。過去のスライドと

    DBエンジニアのための技術勉強会で発表したスライドを公開しました。
    pycol
    pycol 2013/11/29
  • データベースアプリケーション開発を炎上させる負のスパイラル

    毎度おなじみ、はてブのホットエントリに「SIをダメにする負のスパイラル」というタイトルのまとめが掲載された。きしだ氏とはかなり視点は違うものの、開発現場の問題点については少し思うところがあるので意見を書いてみようと思う。と言っても、以下の話の内容はデータベースアプリケーションに限定した話であり、またSIerだけに限った話ではないのでその点はご容赦頂きたい。もちろんSIer各位の案件はデータベースは必須なので、エントリで触れる問題点には該当するだろう。 Q.なぜ炎上するのか? A.正しいデータベース設計ができていないから結論から言おう。データベースアプリケーションの開発が炎上するのは正しいデータベース設計ができていないからだ。ここでいう「正しい」とは、論理的に証明できる正しさという意味ではない。「来こうするべき」といった意味で捉えて欲しい。 「炎上」というのは、例えばテストが通らない、バ

    データベースアプリケーション開発を炎上させる負のスパイラル
    pycol
    pycol 2013/11/17
  • GNUプロジェクト30周年おめでとう!

    我らがリチャード・ストールマン氏(以下、敬称略)がGNUプロジェクトを孤軍奮闘ながら発起してから30年を迎えた。30年前と言えばWindowsすら無かった頃であり、コンピュータの世界は今とは全く異なっていただろう。「だろう」というのは筆者が当時まだ子供であり、その頃の業界について伝聞でしか知らないからである。 GNUプロジェクトは言うまでもなく、自由なソフトウェアによるオペレーティングシステムを作ろうという一大プロジェクトである。今のようにインターネットもなく、容易に支援も得られそうにない中で、独りでOSを創りあげようなどと起ち上がるのは如何に無謀なことであったか。しかし、その無謀のおかげで今日のソフトウェア業界の姿があるのは間違いない。 今日はGNUプロジェクトの重要さについて、改めて語ろうと思う。 GNUなくして今のインターネットは無かった これまで、GNUプロジェクトが果たしてきた役

    GNUプロジェクト30周年おめでとう!
    pycol
    pycol 2013/09/30
  • なぜ日本ではiPhoneが売れるのか

    先日、毎度おなじみのはてなブックマークのホットエントリに次のような記事が上がってきた。 日人がAndroidよりiPhoneを選ぶ当の理由 - NAVER まとめ このまとめ記事で紹介されている「当の理由」というのは、「海外ではAndroidが安いから。iPhoneは給料の何倍もするので高嶺の花」といったような内容であるが、この認識は半分正解で半分間違いである。海外Androidが異常に安いのではなく、日iPhoneが異常に安いため海外と価格が逆転してしまっているというのが現状だ。今日はこの点について少し分析してみようと思う。 日ではiPhoneが安い! 日iPhoneが安いと言っても、どれだけ安いと言えるだろうか。一番高額なiPhone 5 64GBで英米豪と比較してみよう。 米国(Apple iPhone 5 - 64GB - Black cell phone fro

    なぜ日本ではiPhoneが売れるのか
    pycol
    pycol 2013/09/04
  • 書評:「統計学が最強の学問である」→ はい。

    このを手に取ったのは単に売れているという理由からではない。むしろ話題になっても「なんかミーハーなタイトルだなー」ぐらいにしか思わず、あまり興味がわかなかった。 ところが、先日同僚の木村氏に誘われて参加した飲み会で、なんと著者の西内氏と話すという幸運な機会に恵まれた。西内氏は話が非常に上手で、ユーモアのセンスや頭の回転の速さ、そして匂い立つリア充臭を醸し出していた。著者に興味がわけば、著書にも興味がわくのが人情である。そして読んだ結果、とても面白いだったので皆さんに紹介しようと思う。 統計学のいろはが分かる書はミーハーなタイトルとは裏腹に、ストーリーに沿ってとても上手に「統計学のエッセンス」を伝えてくれる。専門書ではないので統計学のディテールには踏み込まないものの、要点を的確にピックアップしており「統計学ってどんなもの?どんなふうに使うの?」というクエスチョンに見事に答えている。一般向

    書評:「統計学が最強の学問である」→ はい。
    pycol
    pycol 2013/08/16
  • プログラミングは「教わる」ものか、「学ぶ」ものか?

    人気ブログ、Life is beautifulの著者である中島氏が、『プログラミングは「教わる」ものか、「学ぶ」ものか?』というお題に対して回答を述べている。回答の要旨はこうだ。 わたしの答えは、「“教わる”のではなく“学ぶ”もの」です。 わたし自身が、独学でやってきましたから。高校生のころ、『TK-80』を組み立てて初めてプログラムを書くようになってからずっとです。大学ではプログラミングを“教わる”授業も受けましたが、残念ながら仕事には何も役に立ちませんでした。 社会人になってMicrosoftWindowsの開発にかかわった時も、まずやったのはひたすらソースコードを読む作業。誰かにプログラミングを教わったという記憶がありません。 正直なところ、この回答には異論があるし、これからコンピュータについて学ぼうとする人にとっても弊害があるように思うので、今日はそのことについて語ろうと思う。

    プログラミングは「教わる」ものか、「学ぶ」ものか?
    pycol
    pycol 2013/08/13
  • qpstudyで発表したスライドをアップロードしました。

    日、qpstudyで「データベースとは」という内容について、そして「リレーショナルモデルとは」という内容について話す機会を頂いた。リレーショナルモデルという硬い内容であったにも関わらず、出席者の皆さんには最後まで良い反応をして頂けたように思う。実はリレーショナルモデルについて誤解している、あるいは知らない人が当に多い、そして良い解説書がないということを普段問題として感じており、そういった背景から今回qpstudyの話を引き受けさせて貰った。今回発表した内容が皆さんのお役に立てば幸いである。 発表の内容はほぼ現在WEB+DB PRESSで連載している「理論で学ぶSQL再入門」のいくつかの回のものを要約したものになっている。連載ではさらに詳しい内容について説明しているので、興味のある人はぜひWEB+DB PRESSのバックナンバー(連載はVol.68〜)を購入して頂きたい。 日発表したス

    qpstudyで発表したスライドをアップロードしました。
    pycol
    pycol 2013/07/29
  • 手のひらの上のデバイスがあなたを監視する!!スマホとプライバシーについて考える。

    Slashdot(家)の記事で、モトローラのスマートホンが勝手にユーザーのデータをネットを通じて送信していたという記事が掲載されている。 Motorola Is Listening - Slashdot 詳しい内容は元記事(下記)を見て欲しい。 Motorola Is Listening - Projects - Beneath the Waves 記事を見ると分かるが、まさにありとあらゆる情報が、その多くが安全でない手段で送信されており、さらに送信されている情報にはパスワードといったセキュリティ的に非常にまずいものから、Facebookの友達情報、メールの宛先や差出人、GPSの位置情報といったプライバシーに関わるものがてんこ盛りとなっている。前回のエントリでプライバシーの重要性について書いたばかりなのだが、今回はその延長としてスマートフォンにおけるプライバシーの問題について考察しようと

    手のひらの上のデバイスがあなたを監視する!!スマホとプライバシーについて考える。
    pycol
    pycol 2013/07/03
  • MySQLでVisual Explain

    MySQL Workbenchの次期バージョンである6.0のベータ版が公開された。例によってMySQLのダウンロードサイトで公開されているので、新機能が気になる人はゲットして試してみて頂きたい。見た目が若干今流行りのフラットデザインっぽくなってシャレオツ(笑)な感じに仕上がってる。 ベータ版が公開されたのを記念して、Workbenchに搭載されているナイスな機能について紹介したい。そう、Visual Explainだ。Visual Explainとは読んで字のごとく、SQLの実行計画を視覚的に表現したものだ。SQLが複雑になると、その実行計画は理解し辛いものとなる。 今日はVisual Explain基的な使い方と、それがどのように見えるかを紹介しようと思う。 Visual Explainを使用するには、対象のMySQLのバージョンが5.6以上であり、なおかつWorkbenchのバージョ

    MySQLでVisual Explain
    pycol
    pycol 2013/06/27
  • 隙がなくなったMySQL Cluster 7.3登場!!これで勝つる。

    MySQL Cluster 7.3の正式版がリリースされた。このバージョンで追加された新機能は少ない。だが、これまでにリリースされたMySQL Clusterのバージョンの中で、この7.3こそが最も重要なバージョンである!と私は考えている。新機能は少ないが非常に重要なものが詰まっているからだ。今日はMySQL Cluster 7.3の新機能について見てみよう。 外部キー制約、来たる!何を差し置いてもまず重要なのが、外部キー制約である。長年InnoDBでは使えるが、MySQL Cluster(NDBストレージエンジン)には実装されていなかった。外部キー制約が使えないという理由でMySQL Clusterを採用しなかったという人も多いだろう。 だが、それはこれまでの話だ。MySQL Cluster 7.3なら外部キー制約が使える!! メジャーどころのRDBMSなら当たり前のように搭載されている

    隙がなくなったMySQL Cluster 7.3登場!!これで勝つる。
  • プログラミングを教育する前に必要なこと

    Rubyの作者、我らがMatzが政府がプログラミングを義務教育にしようとしていることに対して苦言を呈している。Matzが指摘している問題点は3つ。 誰が教えるか。あるいは教えることが出来る教師は揃っているのか。 どのように評価するか。プログラミングは芸術に近いのにどうやって点をつけるのか。 何を教えるか。 詳しいことは元記事を見て頂きたい。もちろん私はMatzの苦言には大いに賛同している。正直政府は無計画にキャッチーなネタをぶちあげているだけにしか見えない。だが、コンピュータについての教育は一切役に立たないのかというと、そうでもないように思う。dankogai氏がMatz氏の記事を受けて、コンピュータを遊び道具として置いとけみたいなことを書いてるけど、それもどうかなと思う。遊び道具として置いといたところで、自発的にプログラミングをしようと思う子供などほとんど居ないだろう。せいぜいゲームで遊

    プログラミングを教育する前に必要なこと
  • はてなのデザイン変更はイノベーションか。

    何やらはてなの社長であるjkondo氏がTwitterおもしろ発言をして話題になっている。 この発言ははてなブックマークの全面的なリニューアルに対する批判的な意見が多いことを受けてのものだ。ただし発言自身はjkondo氏自身のものではなく、増田はてなAnonymousダイアリー)からの引用なので、厳密にはjkondo氏の言葉ではない。しかし当然ながらjkondo氏が気に入ったり共有したかったフレーズだから引用されたものであろう。(真相は違うかも知れないが、少なくともそういう印象は与えている。) 変化には抵抗勢力(jkondo氏曰く老害)がつきものだ。多数の反対意見は単に変化への拒否反応という可能性もあるが・・・果たしてこのデザイン変更はイノベーションと呼ぶにふさわしいものだろうか。 Short answer もう少し噛み砕いた答えおっと、失礼。少々表現が乱暴になってしまった。それではな

    はてなのデザイン変更はイノベーションか。
  • 環境省がクソのようなガイドラインを策定しようとしている件

    今回はコンピューターの話ではないので、興味がない人はスルーして頂きたい。 環境省が地震などの災害時に被災者が避難所や仮設住宅にペットを持ち込むことができるようにガイドラインを作成しようとしているらしいが、いくらなんでもこれは止めたほうがいいのではないか。こんなことを政府が言い出すのは当に馬鹿げている。環境省には現実が見えていないのだろうか?あんまりにも腹が立ったので問題点を指摘しておきたいと思う。 避難所がどうなるか最大の問題点は、ペットが持ち込まれた避難所がどうなるかということだ。災害時、避難所はただでさえ人口が過密になる。その上水や料だって心配だ。人々はストレスに苛まれ、人同士のトラブルも頻発することになる。そこへさらに争いのタネを持ち込もうというのは狂気の沙汰と言える。 災害時、現場はどうだったかはウィキペディアの記事が参考になる。みんな余裕などない。未曾有の災害に遭ったらどうな

    環境省がクソのようなガイドラインを策定しようとしている件