タグ

ブックマーク / thinkit.co.jp (17)

  • データベースの性能を向上させるには

    連載第2回目となる今回は、データベース性能を向上させるための「スケールアップ型アプローチ」について、ハードウェアとソフトウェア両面から解説します。 はじめに 前回、はデータベースの性能の基的な考え方について解説しました。今回は、データベースの性能を向上させるためにはどうすれば良いのかについて解説します。 データベース性能向上の方法 前回で解説したように、データベースの性能を左右する(律速する、と言ったりします)のは、ストレージからのデータの読み込み処理と、検索・集計処理です。何かの処理が遅い、すなわちボトルネックになっていると、データベースの性能は劣化します(図1)。 ボトルネックの解消には、単純に性能を向上させて必要な性能を与える方法と、ボトルネックにならないように処理を変える方法があります。前者は主にハードウェア的なアプローチに、後者はソフトウェア的なアプローチとなります。 ハードウ

    データベースの性能を向上させるには
    quodius
    quodius 2024/03/19
  • ITエンジニアに刺さる「ポッドキャスト6選」

    はじめに 皆さんは「ポッドキャスト」を聞いていますか? ポッドキャストは個人でも配信できる音声メディアのことです。特定のサービスを指すわけではなく、音声ファイルをWebサーバーに置き、RSSフィードで更新情報を配信すればポッドキャストとして認識されます。ポッドキャストのアプリでは、そのRSSフィードのURLを登録すると随時更新された音声データを聴くことができる、という仕組みです。専用のアプリをインストールしておくと番組が更新された時点でプッシュ通知されるため、常に最新の音声データをチェックできます。 ポッドキャストという名前の通り、「iPod」時代の遺物といったイメージもあるかもしれません。しかし昨今、ポッドキャストが見直されているようです。大きな流れとしては、2018年に「Anchor」というポッドキャスト配信サービスが広まったことに起因すると思われます。録音から配信までを1つのサービス

    ITエンジニアに刺さる「ポッドキャスト6選」
    quodius
    quodius 2022/06/16
  • GitLabを用いた継続的インテグレーション

    連載5回目となる今回は、GitLab CIを用いた継続的インテグレーション(CI)について解説します。 前回(RancherとCI/CD)は、 そもそも継続的インテグレーション(CI)、継続的デプロイ・デリバリ(CD)とは何なのかという説明と、CI/CDを実現するためのツールとしてRancher PipelineGitLab CI/CDを紹介しました。今回は一旦Rancherから離れ、GitLab CIを用いた継続的インテグレーションの実現方法について解説します。 最初にサンプルサプリケーションの構成について解説した後、今回利用するGitLab.comのアカウントおよび、プロジェクトの作成について説明します。その上でサンプルアプリケーションの実装とテストを解説した後、Dockerイメージの自動ビルドと自動テストをGitLabを活用して実現する方法を説明します。 サンプルアプリケーションの

    GitLabを用いた継続的インテグレーション
    quodius
    quodius 2019/04/26
  • gRPCに関する初のカンファレンス、gRPC ConfがGoogle本社で開催

    マイクロサービスのベースとなるRPCフレームワークのgRPCに関するカンファレンスが、Google社で開催された。 クラウドネイティブなアプリケーションでは、アプリケーション全体を小さなプロセスに分割してステートレスなコンテナの集合体として実装することが最近のトレンドだ。その際の「プロセス間の通信をどうするのか?」については、REST APIというのが大凡の解答だったように思える。 それに対して、Googleが社内で使用していたStubbyの経験を活かして、オープンソースとして公開したのがgRPCだ。2016年にGooglegRPC 1.0を公開し、CNCFでのインキュベーションプロジェクトとなったのが約半年後の2017年1月、その後2019年3月に至るまですでに多くのユースケースで利用が拡がっている。そのgRPCに関する初めてのカンファレンスgRPC Conf 2019が、Googl

    gRPCに関する初のカンファレンス、gRPC ConfがGoogle本社で開催
    quodius
    quodius 2019/04/23
  • 富士通のOSS関係者とエンジニアに訊いたクラウドサービスK5の真実

    富士通株式会社が提供するパブリッククラウドサービスであるK5に、新たにDockerKubernetesをベースとしたアプリケーション実行環境であるOpenShiftが追加されることは、下記の記事ですでに紹介した。 参考:モノリシックとマイクロサービスを同時にサポートするOpenShift 3.7 富士通がCloudFoundryベースのPaaS環境とは別にOpenShiftを採用したのはなぜか? 富士通のオープンソースソフトウェア関連の責任者や、Kubernetesのコントリビューターなどに話を訊いた。 今回集まっていただいたのは、K5を担当するデジタルビジネスプラットフォーム事業部ビジネスプラットフォームサービス統括部シニアマネージャの川合康太氏、ミドルウェア事業部アプリケーションマネジメント・ミドルウェア事業部第二開発部部長の武田俊男氏、Kubernetesのコントリビューターで

    富士通のOSS関係者とエンジニアに訊いたクラウドサービスK5の真実
    quodius
    quodius 2018/02/24
  • データセンターは利用から所有する時代へ―520万円コンテナ個人データセンター誕生秘話

    2018-01-28 10:00: 反響にお答えしてタイムラプス動画を追加しました! 2018年1月21日、東京近県の某所でデータセンターの開設式が行われた。日国内では毎年新しいデータセンターが複数開設されており、そのこと自体はそれほどのニュースバリューはない。しかし、この日オープンしたデータセンターは企業ではなく個人が所有しており、しかもほぼ手作りで建設したデータセンターだった。しかも、ビジネス目的ではなく、趣味で作られた日国内では初だろうし、欧米でもこんな話は聞いたことがないため、これは世界初の事件なのかも知れない。 趣味としてのデータセンター作り このデータセンターのオーナーは宇田周平氏、27歳。外資系IT企業に勤務するいたって普通の若手エンジニアだ。勤務先は確かにデータセンターとの関わりは深いが、彼が今回のデータセンター建設に至ったのは、業務上の要請ではないし、かといってサイド

    データセンターは利用から所有する時代へ―520万円コンテナ個人データセンター誕生秘話
    quodius
    quodius 2018/01/27
  • ニューラルネットワークのモデルのバリエーション

    前回は、ディープラーニングの概要を紹介した。今回は、もう一歩踏み込んだニューラルネットワークのモデルの説明と、ディープラーニングの学習をするためのオープンソースのフレームワークを紹介しよう。 ディープラーニングは、他の機械学習技術とどこが違う? まず学習方法の説明に入る前に、ディープラーニングと他の機械学習技術には決定的に違う点があることを理解する必要がある。それは、機械学習において非常に難しいとされる変数の設計だ。従来の技術では、例えば画像認識を行う場合、入力データはピクセル値そのものではなく、「特徴量」と呼ばれる何らかの変数の集合となる(図1)。画像の特徴量は色、形状、テクスチャなどいろいろな情報を、ヒストグラムなどでコンパクトに表現した変数のセットであることが一般的だ。ただし、特徴量の設計というのは非常に難しく、研究者の経験と直感によるところが大きかった。一方ディープラーニングは、そ

    ニューラルネットワークのモデルのバリエーション
    quodius
    quodius 2017/07/12
  • アーキテクチャスタイル「REST」とは何か

    続いて、RESTという考え方について見ていきましょう。RESTという言葉は、例えば「Amazonの商品情報取得APIであるECS(注2)では、SOAPとRESTのインターフェイスが用意されている」といった形で耳にした方も多いのではないでしょうか。この言い方を聞くと、RESTもSOAPと同じようなWebAPIのための仕様であるような印象を受けますが、最初に「考え方」と述べたように、実際には仕様ではなく、Web APIの仕様を決める上でのアーキテクチャスタイル、つまり基的な考え方ということができます。 ただしここでまず最初に覚えておいてほしいことは、一般的にRESTという言葉は、RESTという言葉が誕生したときの来の意味で使われる場合と、その後その解釈を拡大して、もっと広い意味で使われるようになったものの2通りがあるということです。例えば前述のAmazonのECSがRESTで提供されている

    quodius
    quodius 2017/02/03
  • Arduinoを用意して簡単なプログラミングをはじめよう

    quodius
    quodius 2016/09/06
  • Arduinoを用意して簡単なプログラミングをはじめよう

    前回はミニ四駆の紹介と、FULLERで作製したミニ四駆の紹介で終わりましたが、今回は実際にモノを動かしていきます。まずは、Arduinoに触れるところからはじめます。 Arduinoキットや工具を準備しよう まずは今回必要となるArduinoのキットやテスター、USBケーブルなど以下のリストの道具を揃えます。ショップに行くのが面倒という方は、リンク先(Amazon)を参照してください。 購入するものリスト Arduinoをはじめようキット MAS830L 高精度 デジタルマルチテスター Amazonベーシック USB 2.0 A-Male to B-Male Cable 1.8 m テスターはあまり必要でないと思う方がいるかもしれませんが、必ず用意してください。Arduinoを使ってデバイスを開発する時に、テスターはデバッガの役割を果たします。ソフトウェアを開発する上でデバッガが欠かせない

    quodius
    quodius 2016/09/01
  • [ThinkIT] 第1回:良いコードとは、心得5ヶ条 (1/4)

    皆さんはコーディングがお好きですか? プログラミングが好きでソフトウェア業界に入りプログラマになったのは良いものの、ソフトウェアやシステムを新規に設計して開発するのは稀で、現実には他人の書いたソースコードを触ることが多くはないでしょうか? そして、いざ引き継いだソースコードを見て愕然としたことはないですか?例えば、以下のようなことに遭遇しませんでしたか? クラス名/メソッド名(do1、do2)/インスタンス変数名(a、w、t)の意味が分からない 同じような事が何度も書かれている メソッドの長さが1000ステップを越えている mainメソッドしか存在しない プログラマは、受け取ったソースコードを見て処理内容を推測します。手がかりは、プログラムの構成やメソッド名、変数名などです。 もし仕様書があれば、ソースコードを読み解くために利用できますが、仕様書とソースコードの内容があまりにも異なる時は、

    quodius
    quodius 2015/12/28
  • 工数見積もりの見える化

    なぜ工数の見積もりが必要なのか 最近ソフトウエア業界で話題となっている工事進行基準でも、「工事進ちょく度の計算根拠となる工事原価総額が信頼性を持って見積もられなければ工事進行基準を適用することができない」と述べられているように、ソフトウエア開発における工数見積もりの重要性はますます高くなってきている。 「見積もる」という言葉を広辞苑(こうじえん)で引くと、「1. 目で見て大体を測る。目分量ではかる。2. 物事のあらましを考え計算して予測を立てる。つもる。概算する」とある。ソフトウエアの工数見積もりは、2.の意味、つまり、対象となるソフトウエア開発のあらましを頭に描き、投入されるであろう、あるいは、投入すべき工数を予測する、ということになる。 ソフトウエア開発管理の主な観点はQCD(品質、コスト、納期)である。厳密にいえば、工数(人月)はコストとイコールではない。しかし、工数に基づき算出され

    quodius
    quodius 2015/12/11
  • CentOS 7の仮想化、Docker、リソース管理(後編)

    巷で話題のDockerとは? 最近、巷で注目を浴びているオープンソースの一つに「Docker」(ドッカー)があります。Dockerは、コンテナと呼ばれる隔離空間を管理するためのツールです。CentOS 7は、この「コンテナ」と呼ばれるアプリケーションとOSをパッケージ化した実行環境をサポートしています。一般的に、Linux OS上での隔離空間を「Linuxコンテナ」と呼びます。Linuxコンテナは、KVMやXenなどのハイパーバイザー型の仮想化技術に比べて、CPU、メモリ、ストレージ、ネットワーク等のハードウェア資源の消費やオーバーヘッドが小さいとう利点が挙げられます。Dockerは、Linuxコンテナの機能に加えて、API、イメージフォーマット、環境を配布する仕組みを持っています。しかし、このDockerが注目される理由は、ハードウェア資源の消費のオーバーヘッドが小さいだけではありません

    CentOS 7の仮想化、Docker、リソース管理(後編)
    quodius
    quodius 2015/06/09
  • Serverspecの概要からインストールまで

    Serverspecの内部的な仕組み 次に、Serverspecの内部的な仕組みを簡単に紹介します。Serverspecは4つのテスト実施方法に対応しています。 LinuxマシンへのSSH接続を経由したリモート実行 Linuxマシンでのローカル実行 WindowsマシンへのWinRM接続を経由したリモート実行 Windowsマシンでのローカル実行 たとえば、LinuxマシンへのSSH接続を経由したリモート実行のパターンの場合、Serverspecのテストコードを実行する元となるサーバからテスト実行対象のサーバに対してSSH接続し、接続先に対して稼働状況確認用のコマンドを実行します。そしてその結果を、Serverspec実行元のサーバにて正常かどうかを評価するといった仕組みです。 このような仕組みとなっているため、テスト実行対象のサーバにはエージェントのような特別なソフトウェアをインストール

    Serverspecの概要からインストールまで
    quodius
    quodius 2015/06/09
  • Serverspec誕生からインフラCIの今後までを開発者に聞いてみた

    インフラ構築の現場で活用が広がっている国産OSS「Serverspec」をご存知でしょうか。Think ITで活用連載を執筆したTISの池田氏と、開発者であるServerspec Operationsの宮下氏のインタビューが実現したので対談形式でお届けします。Serverspecってなに? という方はぜひこちらの連載もご覧ください。 宮下:宮下です。よろしくお願いします。4月からフリーランスでソフトウェアエンジニアとして仕事をしています。個人事業主の届け出を出すと屋号を付けられるので、「Serverspec Operations」にしてみました。ただ、特にそれを前面に押し出して活動しているわけでもなく、今はクックパッドでフルタイムで仕事をしています。主にインフラ周りの業務、たとえばVagrantを導入したり以前から使っているPuppetの整備をしたりなど、あとはインフラCI※の整備をしてい

    Serverspec誕生からインフラCIの今後までを開発者に聞いてみた
    quodius
    quodius 2014/11/18
  • テスト駆動インフラ/インフラCIの潮流、Serverspecが果たす役割

    「July Tech Festa 2014」基調講演のServerspecに関するレポートをお届けします。 インフラやソフトウェア開発に携わるエンジニアの集い「July Tech Festa 2014」が6月22日に産業技術大学院大学で開催された。今年で2回目を迎えるイベントで、当日はあいにくの空模様だったが夜遅くまで非常に賑わいをみせていた。数あるセッションの中からServerspecに関する基調講演のレポートをお届けする。 基調講演に登壇したのはテストフレームワークServerspec開発者の宮下剛輔氏。paperboy&co.(現 GMOペパボ)の元テクニカルマネージャーで、3月からフリーランスエンジニアとしてServerspec Operationsの屋号で活動中。 インフラ関連の技術トレンド 宮下氏は最近のインフラ※関連の技術トレンドを振り返りつつ話を進めていった。昨年2013年

    テスト駆動インフラ/インフラCIの潮流、Serverspecが果たす役割
    quodius
    quodius 2014/06/25
  • [ThinkIT] 第2回:MyISAMとInnoDB (1/3)

    今回は、MySQLのストレージエンジンの中でも特に有名な「MyISAM」と「InnoDB」の2つを取り上げます。MyISAMはMySQLのデフォルトストレージエンジンで、ストレージエンジンを指定せずにテーブルを作成するとMyISAMが選択されます。もう一方のInnoDBエンジンは、MySQLに豊富なトランザクション機能を提供するストレージエンジンとして有名です。 まずはそれぞれのテーブルファイルの構造について解説し、最後にInnoDBのトランザクションについて解説します。 各ストレージエンジンのファイル構造を説明する前に、前知識としてMySQLのディレクトリ構造について説明します。 MySQLのデータベースディレクトリには、バイナリログと呼ぶデータベースの更新情報を格納するファイルと、2つのサブディレクトリが存在します(図1)。 「mysql」ディレクトリには権限テーブルと呼ばれるMySQ

  • 1