タグ

ブックマーク / gihyo.jp (37)

  • 第1回 データベース設計とは:初めてのデータベース設計|gihyo.jp … 技術評論社

    かつては非常に高価なもので、手軽に導入できないという印象のあったデータベースですが、現在では、PostgreSQLMySQL、Firebirdなどといったオープンソースのデータベースが商用のものに引けを取らない機能、性能を備えるようになり、それほど規模の大きくないWebアプリケーションであっても、あたりまえのようにデータベースが使用されるようになりました。 特集では、Webアプリケーションを初めて開発するという方に向けて、データベース設計の基について説明していきます。なお、一言にデータベースといってもいろいろなものがありますが、いわゆるテーブルによってデータを管理するリレーショナルデータベースを対象とします。 今回は、データベース設計の全体的な流れについて説明します。 データベース設計とは、データベースによってデータを管理できるように、現実の世界を抽象化してデータモデルを作成していく

    第1回 データベース設計とは:初めてのデータベース設計|gihyo.jp … 技術評論社
  • DBアタマアカデミー 記事一覧 | gihyo.jp

    最終回 治療としてのパフォーマンスチューニング―システムの病気はどう治す?(3) ミック 2011-04-01

    DBアタマアカデミー 記事一覧 | gihyo.jp
  • 第2回 トランザクションを知ればデータベースがわかる―「データ復旧」「同時実行制御」を行う“不完全な”しくみ(1) | gihyo.jp

    開始コマンドがDBMSによってバラバラなのは、標準SQLで明確に決まっていないためです。中にはOracleDB2のように、データベースへ接続したら自動的にトランザクションが始まることになっているため、開始コマンドのないDBMSもあります。確かに、最初に暗黙に開始されれば、そのあとは終了文だけあれば区切りはわかる(終了文が次のトランザクションの開始文も兼ねる)ので、合理的といえば合理的です。 構造的な単位としてのトランザクション 一方でDBMSの側から見ると、トランザクションは2つの重要な機能に関係しています。それが、「⁠データの復旧」と「同時実行制御」です。まずは、前者から見ていきましょう。 トランザクションは復旧の単位 障害発生前に終了したトランザクション データベースに限らず、システムというのは使い続けていればどこかのタイミングで障害に見舞われます。なるべく障害に遭遇しない堅固なシス

    第2回 トランザクションを知ればデータベースがわかる―「データ復旧」「同時実行制御」を行う“不完全な”しくみ(1) | gihyo.jp
  • 第4回 クエリ評価エンジンと実行計画―“シェフおまかせ”はいつも美味しいのか(1) | gihyo.jp

    はじめに 結果として、SQLのような関係型の言語は非手続き型の言語と呼ばれるが、これはユーザは「いかに」ではなく「何を」を指定する―つまり、獲得するための手続きを指定することなしにユーザは何が欲しいかをいう―からである。 ─⁠─ Christpher J. Date[1] Webの入力フォームであれ、コマンドラインツールであれ、インタフェースにかかわらず、リレーショナルデータベースに対する操作はSQLという専用の言語で行われます。ユーザ(プログラマ含む)が意識的にコーディングするのは通常このSQLレベルまでで、あとはDBMSが処理を終え、結果を返却するのを待つのみです。SQLRDBMSにおいては、ユーザはデータのありかを知る必要もなければ、そこへのアクセス方法も考えません。そういう仕事は、全部DBMSに任せています。 このプロセスは、通常「プログラミング」と呼ばれるものとはかなり異なりま

    第4回 クエリ評価エンジンと実行計画―“シェフおまかせ”はいつも美味しいのか(1) | gihyo.jp
  • オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方

    2016年9月2日紙版発売 2016年9月2日電子版発売 Sandi Metz 著,髙山泰基 訳 B5変形判/304ページ 定価3,608円(体3,280円+税10%) ISBN 978-4-7741-8361-9 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 オブジェクト指向設計の名著として名高い“Practical Object-Oriented Design in Ruby”,待望の翻訳版!使いこなせるようになるととても便利なオブジェクト指向ですが,「なんとなく」の理解で使っていると,大きな罠にかかってしまいます。書は,保守性を上げて運用コストを下げるア

    オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方
  • 第2回 グリッドシステムとブレイクポイントを理解する | gihyo.jp

    ※接頭辞の後にカラム数の数値をつけたものがclass名となる 例を挙げて説明します。デスクトップサイズ(992px~1199px)で2列並び、それ位下の幅では縦に並べたい場合には、並べたい要素のclass名を「col-md-6」とします。 また、デスクトップサイズでは4カラム、タブレットでは6カラムというように複数のclass名を設定することで、条件を重ねがけできます。 例えば、デスクトップサイズで3列並び、タブレットで2列並び、スマホで1列としたい場合には、並べたい要素のclass名に「col-md-4」「⁠col-sm-6」の2つを指定します。 実際にBootstrapを使って確かめる どのような挙動をするかを早く覚えるには触ってみるのが一番です。まずは、CDNでBootstrapを読み込んで試してみましょう。 HTML5でドキュメントを作りhead要素内に、次のコードを記述します。

    第2回 グリッドシステムとブレイクポイントを理解する | gihyo.jp
  • Aman Gupta, GitHubでのRubyの使われ方と高速化のテクニックを紹介 ~ RubyKaigi 2014 基調講演 3日目 | gihyo.jp

    RubyKaigi 2014 レポート Aman Gupta, GitHubでのRubyの使われ方と高速化のテクニックを紹介 ~ RubyKaigi 2014 基調講演 3日目 2014年9月18日~20日の3日間、タワーホール船堀にてRubyKaigi 2014が開催されました。基調講演をそれぞれレポートしてきました。 3日目最後の基調講演は@a_matsudaの紹介を受けて登壇した、Aman Gupta(@tmm1)です。タイトルは「Ruby 2.1 in Production⁠」⁠。Aman Guptaは現在GitHub, Inc.(以下、GitHub)に勤め、そこで使用している高速化のテクニックとツールを紹介しました。Ruby体のコミッタでもあるAmanによる講演は、圧巻でした。 当日のスライド(PDF版)は次のリンクから参照できます。 http://bit.ly/ruby21-

    Aman Gupta, GitHubでのRubyの使われ方と高速化のテクニックを紹介 ~ RubyKaigi 2014 基調講演 3日目 | gihyo.jp
    lamich
    lamich 2014/10/15
  • Software Design 2013年11月号

    第1特集 思考をコード化する道具 我が友「Emacs」 設定ファイルの行数は覇気に比例する?! 「エディタというよりもEmacsは環境である」 特集を企画するにあたり,この言葉を何度見て,何度聞いたことか……。Emacsの使い方になじみ自分の手の内にしていく過程で,プログラマは成長していきます(またRubyを育んだ環境でもあるわけです)。特集ではEmacsとの出会いから,実際に開発に使うまで,さまざまな局面においてヒントになるようにまとめました。まずは気軽にEmacsを使ってみてください! 第2特集 コンピュータの加速装置 サーバサイドフラッシュFusion-io全方位解説 サーバマシン・データセンターを支えるテクノロジー 今,サーバの高速化を実現するためにフラッシュストレージを導入する事例が増えています。中でもFusion-io社の技術/製品に注目が集まっています。特集では,これま

    Software Design 2013年11月号
  • 第4回 MongoDBのレプリケーションを構築してみよう | gihyo.jp

    はじめに 今回は、MongoDBのレプリケーションについて説明します。 最初にレプリケーションの概要を説明します。次に実際に構築する手順を説明した後、レプリケーションに必要な設定項目について解説します。最後にMongoDBのレプリケーションで重要な機能であるOplog、書き込み保証などについて解説します。 前回の記事の最後に、シャーディングについて説明すると書きましたが、予定を変更しましてレプリケーションから先に説明します。シャーディングは次回取り上げる予定です。 レプリケーションのメリット まずは、MongoDBが採用しているマスター/スレーブ方式のレプリケーションの一般的なメリットについて説明します。マスター/スレーブ方式のレプリケーションは以下のようなメリットをもたらします。 可用性の向上 レプリケーションは主に冗長性を得るために設計され、多くのプロダクション環境で導入されています。

    第4回 MongoDBのレプリケーションを構築してみよう | gihyo.jp
  • 匿名による告発「MongoDBは使ってはいけない」 | gihyo.jp

    「PASTEBIN」というコンソールの出力やエラーログ、ソースコードなどを張り付けて共有するWebサイトがあり、そこに投稿された内容が議論を巻き起こしました。「⁠Don't use MongoDB」というタイトルが付けられた文章には、ヘビーにMongoDBを利用しているユーザからの辛辣(しんらつ)な批判が綴(つづ)られていました。 告発者はプロジェクトにて数千万件ものユーザ管理にMongoDBを利用しており、これまで長い間10gen社(MongoDBの開発元)から最高レベルの)有償サポートを受けていたため黙っていたが、少しでも多くの人に警鐘を鳴らすべく立ち上がったそうです。MongoDBの扱いやすさやスキーマフリーなモデル、豊富な実績などに一定の評価をしつつも、大規模な環境で実際に動かさずに判断するのは時に重大な問題となり、MongoDBにはそれが向いていないと言い切っています。 具体的に

    匿名による告発「MongoDBは使ってはいけない」 | gihyo.jp
  • 第10回 ジョブキューで後回し大作戦―TheSchwartz、Qudo、Q4M(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはnekokakさんこと小林篤さんで、テーマは「ジョブキューで後回し大作戦」です。 ジョブキューとは 一時代前は時間のかかる処理もすべてWebアプリケーションで行っていましたが、最近ではいろいろな部分で処理の非同期化が行われるようになってきました。たとえばWebのインタフェース側ではAjaxがその最たるものでしょう。アプリケーションのバックグラウンド側でも今回のテーマであるジョブキューと呼ばれるしくみが多く利用されるようになりました。ジョブキューを賢く上手に利用することで、ユーザにストレスを与えることなく、またサーバのリソースも有効に使えるようになります。 ジョブキューは延々と動き続けるバッチ処理、というイメージが最もわかりやすいでしょう。通常のバッチ処理であればcrondを利用し、一定周期でプログラムを起動して

    第10回 ジョブキューで後回し大作戦―TheSchwartz、Qudo、Q4M(1) | gihyo.jp
  • 第4回 オブジェクト検出器の作成方法 | gihyo.jp

    お久しぶりです。私事でなかなか執筆の時間がとれず、前回の掲載から長く時間が空いてしまい申し訳ありませんでした。皆さんから寄せられたコメントには非常に励まされました。 というわけで、今回はいよいよ最終回です。前回はオブジェクト検出器を使って顔を検出するところまで行いました。今回は、オリジナルオブジェクト検出器を作成してみます。 今回作成するプログラムのソースコードは、こちらから一括してダウンロードすることができます。 Data.zip 学習の流れと仕組み 学習の流れ 前回のおさらいになりますが、オブジェクト検出器は機械学習という方法を通して作成されます。つまり、コンピュータプログラムに検出したいオブジェクトの画像(正解画像)とそうでない画像(非正解画像)を与えることで、オブジェクトが含まれている画像の傾向というのをコンピュータに覚えさせていきます。 学習の流れを簡単にまとめると以下の通りです

    第4回 オブジェクト検出器の作成方法 | gihyo.jp
  • 第1回 NoSQL、そしてCassandraとは | gihyo.jp

    NoSQLミドルウェアの特徴をもう少し細かく挙げてみます。分量の都合もあり個別には触れませんが、それぞれのNoSQLミドルウェアで差別化部分に関してはかなり詳細に説明がされていますので、ぜひそちらを参照してみてください。 高速に動作する リレーションモデルではないデータモデル スケールアウト型アーキテクチャ コモディティサーバによって構築される スキーマフリー SPOF(単一故障点)を持たない 自動的に複数台へレプリケーションする イベンチュアルコンシステンシまたは一貫性の選択が可能 SQLのような強力なクエリ言語を持たず、シンプルな問い合わせしかできない Cassandraとは何か NoSQLミドルウェアの筆頭といえばGoogle BigTableやAmazon Dynamoですが、オープンソースの世界でもいろいろなものが出てきています。その中でも最近特に注目を集めているのが、Apach

    第1回 NoSQL、そしてCassandraとは | gihyo.jp
  • Cassandraのはじめ方─手を動かしてNoSQLを体感しよう 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    Cassandraのはじめ方─手を動かしてNoSQLを体感しよう 記事一覧 | gihyo.jp
  • 仮想化ソフトウェアとchrootの“いいとこ取り”─LXCで実現するVPS | gihyo.jp

    近ごろの仮想化事情 最近の「クラウド」(⁠という言葉)の普及にともない、クラウドを支える技術としての仮想化も、一気に普及段階に入ってきました。OSレベルの仮想化はもちろん、ディスクなどのハードウェアやネットワーク、OSより上のレイヤでもミドルウェアやアプリケーション、デスクトップ環境まで仮想化する技術やサービスが次々と立ち上がっています。 もちろん、OSまわりの仮想化についても、利用目的によってさまざまな仮想化技術が開発され、利用が進んでいます。仮想化というと誰もが思い浮かべるハイパーバイザ方式の仮想化ソフトでは、CPUの挙動まですべてエミュレートする完全仮想化と一部処理をホストOSネイティブに振り分ける準仮想化、さらにこれらをハードウェアから支援する機能も、チップメーカ等で開発が進められています。 LXCって何? VPSは、実際に動作している物理サーバの上で複数の仮想サーバを動作させ、個

    仮想化ソフトウェアとchrootの“いいとこ取り”─LXCで実現するVPS | gihyo.jp
  • 本日12月1日より、プログラマ有志による2011年の技術系Advent Calendarが各所ではじまる | gihyo.jp

    日12月1日より、プログラマ有志による2011年の技術系Advent Calendarが各所ではじまる 日12月1日より、プログラマ有志による2011年の各技術系Advent Calendarが一日目を担当する人のblogではじまっている。ここ数年は、師走の風物詩になっている。 特に昨年は、技術系Advent Calendarの紹介記事が契機になった面もあるようで、各方面で技術系Advent Calendarが行われた。今年は技術系Advent Calendarの認知度が上がり、たくさんの技術系Advent Calendarが12月1日より行われそうだ。 一般的なAdvent Calendarは、12月25日のクリスマスを楽しみに待つために、12月1日から24日までのカレンダーの日付の部分(扉だったりする)を開けるようになっており、1日ずつその日の日付の部分を開くと天使や動物の絵などが

    本日12月1日より、プログラマ有志による2011年の技術系Advent Calendarが各所ではじまる | gihyo.jp
  • FreeBSD Daily Topics:2010年4月19日 FreeBSD GCCを置き換えるLLVM Clang,広くテスト呼びかけ|gihyo.jp … 技術評論社

    FreeBSD Daily Topics 2010年4月19日FreeBSD GCCを置き換えるLLVM Clang、広くテスト呼びかけ src ClangBSD - LLVM Clang Call for Test Roman Divacky氏がメーリングリストにおいてLLVM ClangのFreeBSD統合が一定のレベルに達したとしてコミュニティに広くテストを呼びかけています。LLVM Clangがセルフホストに到達したこと、ClangのC++サポートが向上したこと、i386/amd64のシステムとカーネルのビルドと成功していることなどが背景にあります。 テストはClangBSDのブランチを取得してビルドすることで実施できます。作業の詳しい方法はBuildingFreeBSDWithClang - FreeBSD Wikiにまとまっています。いつ、どのタイミングでメインブランチに取り込

    FreeBSD Daily Topics:2010年4月19日 FreeBSD GCCを置き換えるLLVM Clang,広くテスト呼びかけ|gihyo.jp … 技術評論社
  • 第21回 MongoDB最前線!実戦投入の光と影と開発ノウハウ | gihyo.jp

    データストアの新たなカタチとしてNoSQLがブームになっていますが、その中で異彩を放っているのがドキュメント指向データベースである「MongoDB」です。サイバーエージェントでは、このMongoDBを比較的早い段階から実サービスで活用しています。そこで今回はMongoDBの使いどころや利用時の注意点について、サイバーエージェントの3人の技術者にお話を伺いました。 分散処理のしくみを最初から備えるMongoDB リレーショナルデータベース(以下RDB)ほど煩雑ではなく、分散KVS(Key-Value Store)ほどシンプル過ぎない第三のデータストアの1つとして、ドキュメント指向型データベースである「MongoDB」が挙げられます。GNU AGPLv3を採用したオープンソースソフトウェアであり、パフォーマンスが高くスケーラビリティにも優れているという特徴があります。また、JSON(JavaS

    第21回 MongoDB最前線!実戦投入の光と影と開発ノウハウ | gihyo.jp
  • OpenCVで学ぶ画像認識 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    OpenCVで学ぶ画像認識 記事一覧 | gihyo.jp
  • Titanium Mobileで作る! iPhone/Androidアプリ 記事一覧 | gihyo.jp

    第4回TitaniumでTwitterクライアント─⁠─OAuthを使ったAPI呼び出し 倉井龍太郎 2011-01-11

    Titanium Mobileで作る! iPhone/Androidアプリ 記事一覧 | gihyo.jp