タグ

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

  • 第11回 設定ファイルの次世代フォーマットUCL | gihyo.jp

    プラットフォームへ、大きく変わる/etc/たち FreeBSDではシステムの設定ファイルは/etc/へ、サードパーティ製ソフトウェアの設定ファイルは/usr/local/etc/にインストールされる仕組みになっています。/etc/以下を調べればそのシステムがどういった動きをするかわかります。設定ファイルはソフトウェアごとに用意されていて、そのフォーマットもソフトウェアごとにさまざまです。 この状況は少しずつですが変わり始めています。早ければ11系のリリース時から、大きな阻害要因がない限りは12系や13系では/etc/以下の設定ファイルは大きく異なるものになっているかもしれません。 この動きの動機は、FreeBSDがサーバオペレーティングシステムから、さまざまなシステムの「プラットフォーム」としてのソフトウェアとして性格を変えてきていることにあります。FreeBSDが登場した20年以上前、F

    第11回 設定ファイルの次世代フォーマットUCL | gihyo.jp
    okinaka
    okinaka 2015/07/10
  • 第381回 インプットメソッドの便利な機能 | gihyo.jp

    今回はFcitxやIBusなどインプットメソッドの便利な機能を紹介します。 Ubuntu 15.04リリースパーティ兼オフラインミーティング15.06での出来事 Ubuntu 15.04リリースパーティ兼オフラインミーティング15.06に関しては第380回のレポートがありますので、詳しくはそちらを参照いただきたいのですが、インプットメソッドの機能について知らない、知っていても機能の区別がつかないという声があったので、その場で簡単にデモを行いました。ただ、やっぱり知っていると快適に入力が行えるので、あらためてここで紹介することにしました。再掲も含めて、ほかにもいくつかの機能を紹介することとします。 Ubuntu 15.10の開発状況 と、その前にUbuntu 15.10の開発状況を。第370回でFcitxがmainに入ったことまではお伝えしましたが、15.10の開発開始直後に日語でもデフォ

    第381回 インプットメソッドの便利な機能 | gihyo.jp
  • 第379回 Jujuを使ってJenkins環境を構築する | gihyo.jp

    JenkinsはJavaで作られた継続的インテグレーションツールです。今回はこのJenkinsのマスター/スレーブ環境をJujuを用いて構築する方法をご紹介します。 Jenkinsについて Jenkinsは現代のソフトウェア開発においてほぼ必須とも言える継続的インテグレーションにおける標準的なツールの1つなので、実際に使っている方も多いでしょう。よって今更説明する必要もないかもしれませんが、せっかくなので概要だけでも書いておきます。 Jenkinsは継続的インテグレーション(CI:Continuous Integration)を実現するためのJava製のサーバーソフトウェアです。オンプレミスでも構築できるFLOSSで高機能なCIツールとして、世界中で幅広く使われています。UbuntuでもQAチームがAutoPkgTestなどの自動化に利用しています。 Jenkinsのインストール方法 Je

    第379回 Jujuを使ってJenkins環境を構築する | gihyo.jp
  • 第26回 LXCの構築・活用[12] ─ APIと言語バインディング | gihyo.jp

    第8回以降、LXCをインストールした際にインストールされる"lxc-"で始まる付属のコマンド群を使って、LXCの機能を紹介してきました。今回は、独自のプログラムをLXCを使って開発する際に使うAPIと言語バインディングについて簡単に紹介しましょう。 Ubuntuでは、"lxc-"で始まるコマンド群は"lxc"パッケージに含まれています。"lxc"パッケージをインストールする際、依存関係により"liblxc1"というパッケージがインストールされます。この"liblxc1"パッケージに含まれるliblxcは、文字通りLXCを使ってコンテナを扱うためのライブラリです。いわば、これがLXCのコアとなる部分で、C言語のAPIを提供するライブラリです。 "lxc-"で始まるコマンド群は、このliblxcが提供するAPIを使い実装されています。liblxcを使って何かプログラムを書く場合は、これらのコマ

    第26回 LXCの構築・活用[12] ─ APIと言語バインディング | gihyo.jp
    okinaka
    okinaka 2015/06/02
  • 第8回(最終回) 定型作業を自動化するConsul Template | gihyo.jp

    Consul Template これまでの連載の応用として、最後にConsul Templateをご紹介します。SerfやConsulを使えば、複数台のサーバやLinuxコンテナ上で、様々な処理を同時に行うことができます(イベントハンドラ機能⁠)⁠。実行は任意のタイミングで行えるだけでなく、ノードの増減やサービスの増減に応じて自動的に実行できることが特徴です。 自動実行は、増減のタイミングでコマンドを実行するだけでなく、管理用のファイルやロードバランサ等の設定ファイルを書き換えにも利用できます。通常は、設定を書き換えるためのスクリプトやプログラムを準備する必要がありました。 この設定ファイルの自動書き換えに特化したプログラムがConsul Templateです。その名前の通り、Consulクラスタと連携します。あらかじめテンプレート元になるファイルを用意しておくことで、Consul上でのノ

    第8回(最終回) 定型作業を自動化するConsul Template | gihyo.jp
  • 第7回 Consulのオーケストレーションと自動化 | gihyo.jp

    これらはChefやPuppetのような構成管理ツールを使うような状況と似ていますが、少し異なります。構成管理ツールの場合は、設定時点において対象となるサーバ上のサービスが正常かどうかを判断することができません。Consulはサービス検出機能を持っていますので、正常なサービスを稼働している対象のみ、自動的に処理を行うことができます。ただし、決して構成管理ツールが不要になるのではなく、サービス検出と併用することによって、相互に補完し合うこともできます。 Consulのイベントハンドラ Consulのオーケストレーションと呼ばれる機能の実体は、イベントハンドラです。これは、任意のタイミングまたはConsulのサービス検出と連動し、任意のコマンドやスクリプトを自動実行する仕組みです。今回は、一番手軽に利用できるリモート実行機能を見ていきます。 リモートでコマンドを実行するConsul exec C

    第7回 Consulのオーケストレーションと自動化 | gihyo.jp
  • 第6回 Consulのクラスタ構成とサービス検出 | gihyo.jp

    サービス検出を使った自動化を行うために、Consulを使って具体的にクライアント・サーバ構成を構築しましょう。複数のサーバ上でサービスを定義し、NginxDNSラウンドロビンを行う方法を見ていきます。 サービスの可用性を高めるConsul 複数台のサーバ構成によって、Webサーバであれば通信量やアクセスの負荷分散を図ることができます。あるいは、データベースやキャッシュ用のサーバを冗長化構成にすることで、障害発生時におけるサービスの継続性(稼動時間)を高めることもできます。 クラウド技術の普及により、インフラであるサーバ環境は簡単に増減できるようになりました。その一方で、負荷分散や冗長化は、手動で行う設定に頼りがち。動的に変わるサーバ環境に応じて設定を変更するためには、何らかの手間なり工夫が求められています。 このような課題を簡単に解決すべく登場したのがConsulです。Consulが持つ

    第6回 Consulのクラスタ構成とサービス検出 | gihyo.jp
  • 第5回 Consulインターフェースとサービス検出を最小構成で確認 | gihyo.jp

    前回はConsulの登場背景や使いどころについて扱いました。今回はConsulを実際に使うために、簡単なクライアント・サーバ構成を作成します。それから基的なサービスの登録方法や、その結果をConsulのインターフェースを通して知る方法を見ていきます。 動作確認のための最小構成 Consulの基動作を確認するための最小環境は、1台のサーバ上でConsulエージェントをサーバモードとして動かします(図1⁠)⁠。Consulサーバは、エージェントから取得した様々なデータを保管し、結果を参照するためのインターフェースを提供します。Consulエージェントを起動するときに、サーバモードを明示するオプションを付けて起動します。 図1 Consulサーバの最小構成 なお、Consulサーバが1台なのは、あくまで簡単な動作確認のためです。実際の環境においては、データ保全のために3または5台のConsu

    第5回 Consulインターフェースとサービス検出を最小構成で確認 | gihyo.jp
  • 第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
  • 第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
  • 第3回 Dockerコンテナ群をSerfで管理する方法・詳細オプション | gihyo.jp

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

    第3回 Dockerコンテナ群をSerfで管理する方法・詳細オプション | gihyo.jp
  • 第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
  • 第17回 LXCの構築・活用 [4] ― 一般ユーザによるLXCコンテナの利用 | gihyo.jp

    root権限の場合のパスは各ディストリビューションのコンパイル時のオプションに依存します。一方で一般ユーザの場合は、システム設定ファイルでデフォルト値を変更しない限りは、どのディストリビューションでも図のようになるはずです。 テンプレートファイルに関しては、root権限用、一般ユーザ用という区別はなく同じテンプレートを使用しますので、一般ユーザ用のテンプレート置き場は存在しません。 一般ユーザでコンテナを利用する場合のLXCの設定 ネットワークインターフェースの設定 第16回で説明したように、一般ユーザでコンテナを扱うためにユーザ名前空間を作成すると、名前空間内でネットワークインターフェースを作成するといった特権が必要な操作は名前空間内のrootユーザで行えます。 現時点では一般ユーザ権限で起動したコンテナと外部の通信をする際は第6回で説明したvethインターフェースを使う必要があります。

    第17回 LXCの構築・活用 [4] ― 一般ユーザによるLXCコンテナの利用 | gihyo.jp
    okinaka
    okinaka 2015/01/14
  • 体感!JavaScriptで超速アプリケーション開発 -Meteor完全解説 記事一覧 | gihyo.jp

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

    体感!JavaScriptで超速アプリケーション開発 -Meteor完全解説 記事一覧 | gihyo.jp
  • 自動化はキャズムを超えたか?!「システムテスト自動化カンファレンス2014」参加レポート | gihyo.jp

    師走も半ばの2014年12月14日、東京赤坂のヤフー株式会社の会議室をお借りして、昨年に続き2回目となる「システムテスト自動化カンファレンス2014(STAC2014⁠)⁠」が開催されました。今年のテーマは「広く普及しキャズムを超えてきたシステムテスト自動化について、そのアーキテクチャやパターンについても考えていこう」というものです。なんとイベントの受付開始から24時間を待たずに191名の定員が埋まり、最終的には200名近いキャンセル待ちが出るという超人気イベントとなりました。今回はイベントの内容と共に現場の熱気もお伝えしたいと思います。 STAC2014はテスト自動化研究会(STAR)によって運営されています。STARは「テスト自動化技術における高度なスキルを検討・定義し、それを広く世に広く啓蒙する」ことを目的として2012年に発足し、カンファレンスを主催しているコミュニティでもありま

    自動化はキャズムを超えたか?!「システムテスト自動化カンファレンス2014」参加レポート | gihyo.jp
    okinaka
    okinaka 2014/12/24
  • 第2回 RedPenを利用した文書の継続的検査への取り組み | gihyo.jp

    今回はRedPenを利用して文書を継続的に検査する方法について解説します。文書の継続的検査環境では、執筆中の文書をGitなどのバージョン管理システムで管理します。著者が行った変更が、サーバにあるバージョン管理システムにプッシュされるたびに自動でRedPenが適用されます。 稿では、はじめにGitなどのバージョン管理システムで文書を管理するメリットについて述べます。その後継続的インテグレーションの説明を行い、RedPenと組み合わせて文書の管理に利用してみます。 文書をGitで管理 最近は文書の管理にGitなどのバージョン管理システムを利用する人が多いのではないかと思います。私もある程度の大きさの文書はすべてGitで管理しています。昔の状態に簡単に戻れるという以外にも、文書管理にバージョン管理システムを利用すると次のようなメリットを享受できます。 マージ処理 バージョン管理システムを利用す

    第2回 RedPenを利用した文書の継続的検査への取り組み | gihyo.jp
    okinaka
    okinaka 2014/12/01
  • モバイルでもクラウドでもSelenium「第2回日本Seleniumユーザーコミュニティ勉強会」レポート | gihyo.jp

    2014年10月18日、渋谷マークシティ サイバーエージェントセミナールームにて日Seleniumユーザーコミュニティ主催による、「⁠第2回日Seleniumユーザーコミュニティ勉強会」が開催されました。今回開催のきっかけにもなった、日初の格Selenium書籍『実践Selenium WebDriver』の著者、翻訳者である玉川竜司氏・玉川紘子氏はもちろん、SeleniumやAppiumを実際に利用している開発者たちも登壇し、盛りだくさんのセッションが繰り広げられました。ここではその様子を紹介します。 Seleniumをもっと知るためのの話(玉川竜司氏) 玉川竜司氏 「実践Selenium WebDriver」ができるまで 2006年から、自社のWebアプリの回帰テストにSeleniumを使用していましたが、そのときはうまくいきませんでした。その後、またWebのテストを行うことに

    モバイルでもクラウドでもSelenium「第2回日本Seleniumユーザーコミュニティ勉強会」レポート | gihyo.jp
  • 第9回 LXCの基本操作[2] | gihyo.jp

    前回でコンテナの基的な操作は一通りできるようになったと思いますので、今回と次回でその他の周辺コマンドを紹介していきます。 コンテナの削除 ~ lxc-destroy 前回、コンテナを作成するコマンドとしてlxc-createを紹介しました。その逆でコンテナを削除するコマンドがlxc-destroyです。 lxc-destroyの実行は削除したいコンテナ名を指定するだけです。 # lxc-destroy -n ct02 ただし、コンテナが実行中の場合は削除は失敗します。 # lxc-destroy -n ct02 ct02 is running 実行中でも強制的に削除したい場合は-fを指定すると、コンテナを停止してから削除を行います。 # lxc-destroy -n ct02 -f cgroup設定の確認、変更 ~ lxc-cgroup コンテナに設定されているcgroupの制限値を確認

    第9回 LXCの基本操作[2] | gihyo.jp
    okinaka
    okinaka 2014/09/11
  • 第1回 Hubotとは何か | gihyo.jp

    連載では、GitHub社が開発したチャットbot開発・実行フレームワークである「Hubot」を使用して、チャットツールにオリジナルのbotを住まわせ、開発フローに組み込むことで開発を楽にする方法について解説していきます。 botとはなにか 開発の現場で、開発チーム内のコミュニケーションのためにIRCなどのチャットツールを導入することは、よく見る光景だと思います。そんなチャットツールに常駐してチャット経由でコマンドを待ち受けて実行したり、決められた条件に従ってチャットに発言してチャットの参加者に通知したりするようなプログラムのことをbotと呼びます。 Skype、HipChatやChatWorkなどコミュニケーションツールが多様化した現代においても、それぞれのチャットツールに対応したbotが開発されており、botを開発するためのフレームワークも様々な形で提供されています。botを導入するこ

    第1回 Hubotとは何か | gihyo.jp