タグ

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

  • 第372回 Ubuntu Makeで簡単にAndroid開発環境を構築する | gihyo.jp

    Ubuntu 15.04のリリースノートにも記載があるように、今回のリリースの新機能の1つにさまざまなアプリやWeb開発を行う開発者向けツールである「Ubuntu Make」の機能強化があります。今回はこのUbuntu Makeを使って、Ubuntu上でAndroid Studioをインストールする方法を紹介します。 なぜUbuntu Makeなのか 読者のほとんどの方はご存知だとは思いますが、Ubuntuは6ヵ月ごとにリリースを行っています。また、一度リリースを行うと、一部の例外パッケージを除きそのリリースにおけるソフトウェアは同じメジャーバージョンを使い続けることになります。このため、5年サポートを行うLTSで提供されるソフトウェアは、5年間同じバージョンになります[1]⁠。 このポリシーはシステムの安定性を維持する上では重要ですが、開発環境として考えたときにツールやライブラリが古くな

    第372回 Ubuntu Makeで簡単にAndroid開発環境を構築する | gihyo.jp
    clavier
    clavier 2015/05/02
    第372回 Ubuntu Makeで簡単にAndroid開発環境を構築する:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社
  • 第15回 独立したクラスの作り方 | gihyo.jp

    導入 オブジェクト指向の学習をしています。連載第13回と14回では、既存のクラスの便利さや使い方を学びました。今回から数回に渡って、クラスを作成する方法をいくつか紹介します。クラスを上手に使えば、コーディングがとても楽になります。 展開 新しいクラスを作成する方法は、次の方法が考えられます。 独立したクラスを作る 別のクラスを継承するクラスを作る インタフェイスを実装するクラスを作る 別のクラスを内包し委譲をするクラスを作る いずれの方法をとるにせよ、クラスを作成するメリットはコードブロックを部品化できることです。遥か古代のプログラミング言語のようにクラスを使わないコードは、読む者にとってはまるで雲や霧のようです。つかみどころが無く、形をとらえるのが難しく、取り扱いに苦労します。クラスを使えば、コードがまるで手応えのある瓶に入ったように、取り扱いやすくなるのです。 1.~4.の方法を学ぶた

    第15回 独立したクラスの作り方 | gihyo.jp
  • 第3回 並列システムと分散システム | gihyo.jp

    はじめに 前回は並列データ処理系の歴史や重要性について見てきました。今回は、これまで明確に説明してこなかった「並列」という言葉やその類語を定義し、連載の対象である並列データ処理系がどのようなものであるかをより明確にしていきます。 並列と分散 ではまず、連載における「並列(Parallel⁠)⁠」という言葉をもう少し明確にしましょう。コンピュータ処理においては、一般的に、2つ以上の処理が「並列」に実行される、という場合は、当該処理が「同時」に実行されることを意味します。同様の概念に「並行(Concurrent⁠)⁠」がありますが、2つの処理が並行に処理されるという場合は、必ずしも、2つの処理が同時に実行される必要はありません。すなわち、一般的には、並行は並列を包含する概念であると定義されています[1⁠]⁠。たとえば、2つの処理を交互に実行する場合は、当該処理は並行に実行されていますが、並

    第3回 並列システムと分散システム | gihyo.jp
  • 第4回 Consulのサービス検出と様々なインターフェース | gihyo.jp

    前回までの連載は、Serfを使ったクラスタの構築や、イベントハンドラを使って一斉にコマンドを実行する方法を見てきました。今回からはSerfではなく、Consulを用いたクラスタの管理や、サービスの監視、自動処理のしかたを学んでいきます。 ConsulはSerfと同じく、面倒な手作業を自動化または省力化するための役割を持っています。ですが、両者の機能や使い方には様々な違いがあります。今回はSerfとConsulの違いと、Consulの基的な機能・特徴について扱います。 Consulの主な機能と特徴 Consulは、Serfと同様にHashiCorpがオープンソースとして公開・開発しているソフトウェアです。Serfより後の2014年春に初リリースされ、以降はGitHubIRCを通して議論・開発が行われています。 Consulの機能の1つに、クラスタのメンバー管理機能があります。これはSer

    第4回 Consulのサービス検出と様々なインターフェース | gihyo.jp
    clavier
    clavier 2015/04/28
    第4回 Consulのサービス検出と様々なインターフェース ── Serf/Consulで管理を自動化! ~実践的な手法を紹介~
  • 第7回 MySQLのスケールアップおよびスケールアウト構成 | gihyo.jp

    データベースはディスクへのアクセスを頻繁に行うことが多いため、ストレージの性能がボトルネックになっている場合にはストレージをハードディスクからフラッシュベースのストレージに換えることも有用になります。オラクル製フラッシュストレージのSun Flash Accelerator F80 PCIe Cardを利用するためのLinuxMySQLのチューニング例は下記の資料を参照してください。 URL:http://www.oracle.com/us/technologies/linux/linux-and-mysql-optimizations-wp-2332321.pdf ただし将来的に求められるハードウェアスペックに合わせたサーバを事前に用意することは、初期投資が大きくなることを意味します。高いスペックのサーバを用意したにも関わらず、サービスが想定よりも利用されない場合には無駄な投資となって

    第7回 MySQLのスケールアップおよびスケールアウト構成 | gihyo.jp
    clavier
    clavier 2015/04/28
    第7回 MySQLのスケールアップおよびスケールアウト構成:MySQLをチューニング,そしてスケールアップ/スケールアウトへ|gihyo.jp … 技術評論社
  • 第3回 Dockerコンテナ群をSerfで管理する方法・詳細オプション | gihyo.jp

    これまではSerfの基的な使い方や、Serfで構成されたイベントハンドラの動きを見てきました。今回はSerfに関する連載のまとめです。複数の仮想サーバ上にも応用可能なように、Dockerコンテナでの活用方法をご紹介します。また、より詳細な設定方法についての理解も進めていきます。 Dockerコンテナ群をSerfで管理する方法 DockerLinuxコンテナを簡単に起動・管理するためのツールです。Dockerの魅力は、単純にコンテナを操作できる点だけではありません。公開レポジトリであるDockerHubを使ったコンテナの共有や、Dockerfileと言う設定ファイルを使った構成管理の自動化などの利点があります。 コンテナ管理問題を解決するSerf コンテナを多く立ちあげた時に発生するのは、沢山のコンテナを効率的に操作するのかという課題です。例えばコンテナ内のプロセス稼働状況や、設定ファイ

    第3回 Dockerコンテナ群をSerfで管理する方法・詳細オプション | gihyo.jp
    clavier
    clavier 2015/04/20
    第3回 Dockerコンテナ群をSerfで管理する方法・詳細オプション ── Serf/Consulで管理を自動化! ~実践的な手法を紹介~
  • 第6回 MySQLチューニング(5) パラメタチューニングの基礎 | gihyo.jp

    max_connections 最大接続数は通常システムの要件から算出して行きます。システムとして想定される同時接続数を見積もり、そのうちデータベースまで到達するリクエストの比率、それぞれのデータベースでの処理時間を待ち行列理論に照らして考慮します。データベースに到達する同時リクエスト数が同じだとしても、処理時間が違う場合はデータベース内で同時に実行されている処理の件数も違ってくるため、同時接続数も違ってきます。注意すべき点は、システム開発の早い段階では見積もりの精度が高くないため、ある程度余裕を持たせた設計で始め、かつ段階的に見積もりの精度を高めていくことが求められることです。 接続が切断されるとMySQLサーバ内の接続スレッドも破棄されます。コネクションプーリング機能を使用していない環境では、接続による接続スレッドの生成と切断による切断スレッドの破棄が繰り返され、オーバーヘッドとして無

    第6回 MySQLチューニング(5) パラメタチューニングの基礎 | gihyo.jp
    clavier
    clavier 2015/04/14
    第6回 MySQLチューニング(5) パラメタチューニングの基礎 ── MySQLをチューニング,そしてスケールアップ/スケールアウトへ
  • 第2回 Serfのイベントハンドラで自動化を使いこなす | gihyo.jp

    イベントハンドラとは? 前回の記事で見たように、Serfエージェントをサーバ上で起動することで、簡単にネットワーク上にクラスタを構成できます。クラスタを構成後、Serfはネットワーク上で相互に死活監視するだけでなく、クラスタのメンバ管理(ホスト名・IPアドレス・タグ等を共有)を行えます。この監視状況やメンバの変化という「イベント」に応じて、シェルスクリプトやコマンドを実行する機能が「イベントハンドラ」です。 イベントハンドラは単純にコマンド実行するだけでなく、環境変数を通してSerfからスクリプトに様々なデータを渡せます。この仕組みを使い、コマンド実行時に動的に変わる引数(ホスト名・IPアドレス・タグ等)の指定や、動的に変わる環境に対する設定変更を行えます。 そのため、イベントハンドラの理解・習得が、Serfを使って自動化を進めるうえで欠かせません。とは言え、さほど難しい概念ではありません

    第2回 Serfのイベントハンドラで自動化を使いこなす | gihyo.jp
  • 第1回 Serf入門:動的に変化する環境を簡単に管理 | gihyo.jp

    Serfとは? Serfは、HashiCorp社がオープンソースとして開発・公開しているクラスタ管理用のツールです。軽量なエージェントを起動するだけで手軽にクラスタを構成でき、複数台のサーバにまたがる作業の自動化に役立ちます。2013年後半から開発がスタートし、現在もGitHubIRC上で開発が行われています。 登場背景と利用シーン クラウドコンピューティングを使ったシステムの普及と、継続的な開発・運用スタイルの普及により、インフラ環境が増えたり減ったりするシーンが増えつつあります。クラウドを活用し、OSの領域までは短時間で準備できるようになりました。ミドルウェアやアプリケーションの設定も、ChefやAnsible等の構成管理ツールを使う手法が広まり、作業時間の短縮や正確性の向上が実現しています。 このようにインフラ部分が動的に変わることが当たり前になりつつある一方、運用視点で新しい課題

    第1回 Serf入門:動的に変化する環境を簡単に管理 | gihyo.jp
  • 第1回 なぜ、Hadoopはどのように動くのか、を学ぶのか | gihyo.jp

    はじめに ビッグデータ解析のためのシステム基盤として、Hadoopをはじめとするオープンソースのデータ処理ソフトウェア(データ処理系)が広く利用されつつありますが、当該データ処理系をすでに利用している、もしくは利用の検討をしている読者の方々の中には、たとえば以下のような問題を抱えている方が少なからずいらっしゃるのではないでしょうか。 データ処理系の使い方はなんとなくわかるが、その内部をあまり理解できていない。または、内部の動作原理がよくわからないので、格的に使う気にならない。 同様の目的を達成する複数のデータ処理系において、どれを使って良いかがよくわからない。または、適切に使い分けられていない気がする。たとえば、どのような場合にHadoopを用いて、どのような場合に同類のデータ処理系であるImpalaやSparkを用いれば良いかが“⁠明確に⁠”わからない。 このような問題を解決するには、

    第1回 なぜ、Hadoopはどのように動くのか、を学ぶのか | gihyo.jp
    clavier
    clavier 2015/04/01
    第1回 なぜ,Hadoopはどのように動くのか,を学ぶのか:Hadoopはどのように動くのか ─並列・分散システム技術から読み解くHadoop処理系の設計と実装|gihyo.jp … 技術評論社
  • 第5回 MySQLチューニング(4) SQLチューニング基礎 | gihyo.jp

    スロークエリログの出力フォーマット スロークエリログはデフォルトではログファイルに出力されます。log_outputをTABLEに設定すると、mysqlデータベースのslow_logテーブルに出力されます。カンマ区切りで「FILE,TABLE」と設定すると、slow_logテーブルとログファイルの両方に出力されます。なお、log_outputは一般ログ(General Log)とスロークエリログの両方に影響しますので注意してください。 slow_logテーブルはCSVストレージエンジンを利用しているため、CSV形式のデータファイルをコピーして各種のツールで集計も可能です。テーブルに出力している場合のmysqldumpslowに類似した集計は下記のSQL文で可能です。 図2 mysql.slow_logテーブルからmysqldumpslow同等の集計を行うSQLmysql> SELECT

    第5回 MySQLチューニング(4) SQLチューニング基礎 | gihyo.jp
    clavier
    clavier 2015/03/31
    第5回 MySQLチューニング(4) SQLチューニング基礎:MySQLをチューニング,そしてスケールアップ/スケールアウトへ|gihyo.jp … 技術評論社
  • [入門]関数プログラミング―質の高いコードをすばやく直感的に書ける! 記事一覧 | gihyo.jp

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

    [入門]関数プログラミング―質の高いコードをすばやく直感的に書ける! 記事一覧 | gihyo.jp
  • 第3回 MySQLチューニング(2) 設定項目と稼働状況の確認 | gihyo.jp

    稼働中のMySQLサーバのパラメータ確認-SHOW VARIABLESコマンド SHOW VARIABLESコマンドでは現在のパラメータを確認できます。SHOW VARIABLESコマンドの出力内容はLIKEやWHEREで絞り込むこともできます。パラメータ名がわかっている場合には、「⁠SELECT @@パラメータ名;」で値の確認も可能です。 図1 SHOW VAIRABLESコマンドの実行例 mysql> SHOW VARIABLES LIKE 'char%'; mysql> SHOW VARIABLES WHERE Value = 'ON'; mysql> SELECT @@character_set_server; ここでの注意すべきポイントが2点あります。 MySQLサーバ起動時の設定ではなく現在有効なパラメータが表示される デフォルトでは現在の接続で有効なパラメータが表示され、他の

    第3回 MySQLチューニング(2) 設定項目と稼働状況の確認 | gihyo.jp
  • 第1回 JavaScriptの基礎を見直す | gihyo.jp

    連載のはじめに みなさんこんにちは、今回より「聞いたら一生の宝、プログラミングの基礎の基礎⁠」⁠ の連載を担当させていただく橋佑介です。 記事では、広く利用されている技術から新しい技術まで、基的な部分を現場のエンジニアの声を取り上げつつ解説していきます。習得している方にとっては振り返りとなり、また今から学ぶ方にとっては同じ疑問にぶつかった方の意見が参考になれば幸いです。 現場のエンジニアの声は私が開発に携わっている技術系QAサイトteratailから抜粋しています。 第1回では、現在では様々な環境で利用されているJavaScriptの基礎をteratailの初心者投稿とともに振り返っていきます。 JavaScript JavaScriptは主にウェブブラウザを実行環境とし、動的なウェブサイト構築などに利用されてきました。 また、今ではNode.jsをサーバサイドで利用することが増え、

    第1回 JavaScriptの基礎を見直す | gihyo.jp
  • 第2回 MySQLチューニング(1) MySQLチューニング,その前に:MySQLをチューニング,そしてスケールアップ/スケールアウトへ|gihyo.jp … 技術評論社

    UNIX系OSではvmstatやiostat、sar、top、mpstatなどのコマンドラインツール、WindowsではリソースモニタがOSに付属しているほか、オープンソースのGUIツールとしてはNagiosやCacti, Hinemosなどが利用できます。 MySQLサーバ内部での処理状況の確認は、SHOW STATUSコマンドを基として、MySQL WorkbenchのパフォーマンスレポートやMySQL Enterprise Monitorなどが利用できます。これらのコマンドやツールの詳細は別途解説いたします。 ベンチマークテスト 構築したシステムが要件を満たしていることを検証するためにベンチマークテストを行います。MySQLのサポートエンジニアで“⁠漢(オトコ)のコンピュータ道⁠”で知られる奥野氏は「テストをしないことはリスクがあるということです。つまり、ベンチマークテストをしない

    第2回 MySQLチューニング(1) MySQLチューニング,その前に:MySQLをチューニング,そしてスケールアップ/スケールアウトへ|gihyo.jp … 技術評論社
    clavier
    clavier 2015/02/17
    第2回 MySQLチューニング(1) MySQLチューニング,その前に:MySQLをチューニング,そしてスケールアップ/スケールアウトへ|gihyo.jp … 技術評論社
  • 第1回 MySQLにおける開発の歴史と最新動向 | gihyo.jp

    連載では、現在MySQLを利用していて、チューニングやより大規模な環境に向けた構成の拡張を体系的に説明することを目的としています。MySQLのこれまでの開発と最新の動向から、チューニングやスケールアップ/スケールアウトの注意点を解説します。 第1回である今回は、MySQLのアーキテクチャをこれまでの開発の歴史と併せて解説します。 黎明期 MySQLの最初期のバージョンは1994年に開発され、1995年に公開されています。公開当初は独自のライセンスを採用していましたが、2000年にGPL v2を採用し、商用ライセンスとのデュアルライセンスモデルを採用しました。また、MySQLの代表的な機能の1つでもあるレプリケーションも2000年に実装されており、Webシステムとの相性の良さや構成の柔軟さから数多くのWebシステムで以前からMySQLが採用される理由にもなっています。 2001年にGA(G

    第1回 MySQLにおける開発の歴史と最新動向 | gihyo.jp
  • 第359回 Muninでサーバーのリソースを可視化しよう | gihyo.jp

    リソース監視の必要性 VPSやクラウドの流行で、安価にサーバーを持てる時代になりました。ところで皆さん、手持ちのサーバーの状態はきちんとモニタリングしていますか? もしもサーバーに障害が発生したら、ただちにサービスを復旧させなければなりません。そのためZabbixやNagios等を使い、Pingに応答するか? 80番ポートにコネクションを張れるか? と言うように、サーバーが生きているかどうかを常に監視していることでしょう。また、外部から特定のURLへの疎通を監視し、応答しなくなった際にアラートメールを送ってくれるようなサービスもあります。 しかし、それだけでは起こり得る障害を未然に防ぐことはできません。たとえばデータが溜まってきてHDDがあふれそうだったり、Webサービスへのアクセスが増えたことによってメモリが不足ぎみになっていたり、DBのスロークエリーが出ていたりといったサーバーのリソー

    第359回 Muninでサーバーのリソースを可視化しよう | gihyo.jp
  • 川口耕介氏、Jenkinsプロジェクトの現状やWorkflow Pluginの特徴を説明 ~Jenkinsユーザカンファレンス2015東京 基調講演 | gihyo.jp

    川口耕介氏、Jenkinsプロジェクトの現状やWorkflow Pluginの特徴を説明 ~Jenkinsユーザカンファレンス2015東京 基調講演 新年を迎えて早々の2015年1月11日(日)、Jenkinsユーザカンファレンスを開催しました。日では第2回目となる今回のカンファレンス、会場は前回と同じく法政大学で、参加者は500名ほどでした。稿では基調講演を中心にレポートをお届けします。 Jenkinsプロジェクトの現状 Jenkinsの生みの親である川口耕介氏の基調講演では、まずJenkinsプロジェクトの現状報告がありました。 Jenkinsの利用統計 Jenkinsの利用者数や利用シーンは、順調に増加しています。 Jenkinsのインストール数やスレーブ数・ジョブ数が増加していること、Javaのツール群の中でもJUnitについで70%のユーザが利用しているといった調査結果を取り

    川口耕介氏、Jenkinsプロジェクトの現状やWorkflow Pluginの特徴を説明 ~Jenkinsユーザカンファレンス2015東京 基調講演 | gihyo.jp
  • 第3回 CLIのパワーアップとEC2を起動する | gihyo.jp

    前回S3にhtmlをアップロードしてブラウザから表示するところまで、できた。その後、いろいろ試していくうちに、CSSやJSも同じように置くことで、静的なサイトであればすべてS3だけで運用できることがわかった。もし、静的なページのためにサーバを借りているならS3で済んでしまうんじゃないかと思った。 でも、やっぱりサーバ構築がしたい。正直ミドルウェアをインストールしている時が自分にとって最高に気持ちのいい時間だし、「⁠俺ってインフラエンジニアやってるな」って気になれる。 今日はサーバを起動して、なんかミドルウェアなんかを入れていい感じに動かしてみる、なんてことをやってみようと思う。 CLIをパワーアップ 補完をきかす 前回S3を使ってみた時に思ったことだけど、いちいちコマンドを調べるのが面倒くさくて仕方ない。chmodだってあると思ったのになかったし、こういう無駄な作業が嫌いだ。 気持ちよくコ

    第3回 CLIのパワーアップとEC2を起動する | gihyo.jp
    clavier
    clavier 2015/01/09
    第3回 CLIのパワーアップとEC2を起動する ── インフラ屋のAWSはじめた日記─GUIを捨てよ
  • 第356回 2015年のデスクトップ環境 | gihyo.jp

    ご挨拶 新年あけましておめでとうございます。連載も丸7年を迎えることができました。このまま行けば400回も年内に到達しそうです。今後とも宜しくお願い申し上げます。 昨年の「第305回 2014年新春特別企画 Linuxデスクトップの2014年」は多くの方に読んでいただけたようなので、今年はその続きであり、かつもう少し的を絞ってデスクトップ環境に特化した記事をお届けします。 基的には広義のUbuntuで使用できるデスクトップ環境について取り上げますが、そのほかのLinuxディストリビューションでも役に立つ情報ではないかと思います。 GNOME GNOMEは1年に2回、タイムベースリリースを行っています。昨年は3.12と3.14がリリースされました。リンク先はそれぞれのリリースノートです。 今年も同じく2回新バージョンがリリースされることでしょう。3.16の開発版である3.15も順調に進ん

    第356回 2015年のデスクトップ環境 | gihyo.jp
    clavier
    clavier 2015/01/08
    第356回 2015年のデスクトップ環境 ── Ubuntu Weekly Recipe