タグ

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

  • 第794回 Ubuntu Sway Remixで日本語入力を整える | gihyo.jp

    今回はWaylandコンポジターでありタイル型ウィンドウマネージャーであるSwayを採用したUbuntu Sway RemixにFcitx5をインストールし、動作させる方法を紹介します。 SwayとUbuntu Sway Remix Swayはウィンドウマネージャーです。Waylandコンポジターであり、GNOMEのようにXセッションとの切り替えができるわけではありません。つまりは常にWaylandセッションを使用することになります。そしてタイル型ウィンドウマネージャーとして有名なi3を置き換えられるとのことで、強力なタイルサポートがあります。 Ubuntu Sway RemixはそんなSwayを採用したリミックス(非公式派生版)です。インストール「は」簡単に行なえます。 今回はUbuntu Sway RemixにFcitx5をインストールし、日本語入力環境を整えます。Waylandの最前

    第794回 Ubuntu Sway Remixで日本語入力を整える | gihyo.jp
  • Django非同期View入門 | gihyo.jp

    筒井@ryu22eです。8月の「Python Monthly Topics」は、Djangoでの非同期Viewの使い方について解説します。 Webアプリケーションの非同期処理とは何か? 非同期処理をサポートするWebアプリケーションでは、複数のリクエストを受け取った際、シングルスレッドの中で各リクエスト用の処理を細かく切り替えながら、同時に動かしているように見せかけて実行します(⁠「⁠並行処理」とも言います⁠)⁠。 非同期処理の利点として、Djangoの公式ドキュメントでは以下のように説明しています[1]。 The main benefits are the ability to service hundreds of connections without using Python threads. This allows you to use slow streaming, long-

    Django非同期View入門 | gihyo.jp
  • 第3回 ツリーマップによる木構造の可視化(前編) | gihyo.jp

    はじめに 前回は、統計学的観点からの情報可視化へのアプローチとして、「⁠階層的クラスタリング」の手法を紹介し、その実装と動作確認を行いました。 今回からは、階層的クラスタリングの実行結果を視覚的に分かりやすく表現する手段として、「⁠ツリーマップ」と呼ばれるテクニックを取り上げます。 ソースコードのダウンロード 今回作成するプログラムのソースコードは、こちらから一括してダウンロードすることができます。ZIPファイルを展開して生成されるフォルダを、プロジェクトとしてNetBeansに読み込むことも可能です。 ツリーマップの概要 ツリーマップ(treemap)とは、二次元平面上の領域を入れ子状に分割することによって、木構造のデータを可視化する手法です。 ツリーマップを利用した情報可視化の有名な例としては、世界のニュース記事をタイル状に並べて閲覧できるnewsmap(図1)があります。 図1 また

    第3回 ツリーマップによる木構造の可視化(前編) | gihyo.jp
  • 第12回 MySQLのヘルスチェックをする[死活監視の基礎編] | gihyo.jp

    MySQL番で運用する場合、ヘルスチェック(監視)は欠かせません。ヘルスチェックには大きく分けて死活監視(MySQLのプロセスが稼働しているかどうか)と傾向監視(レスポンスを悪化させるような兆候が表れていないか)の2点に分けられると思います。 今回はこの2点のうち死活監視、中でも「MySQLのプロセスが稼働しているかどうか」について説明します。 mysqldのプロセス確認 まずはシンプルに「プロセスが起動しているかどうか」を確認する例を考えてみましょう。MySQLのプロセスの実体はmysqldプロセスですので、これが存在しない場合当然ながらMySQLから応答は返ってきません。 $ ps auxww | grep mysqld root 275 0.0 0.1 106192 1536 pts/0 S 09:29 0:00 /bin/sh /usr/bin/mysqld_safe --da

    第12回 MySQLのヘルスチェックをする[死活監視の基礎編] | gihyo.jp
  • PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp

    PHPの生みの親⁠⁠、ラスマス⁠⁠・ラードフ氏インタビュー 2015年12月に無事公開されたPHP7。その公開に先立ってPHPの生みの親であるラスマス・ラードフ氏に話を伺う機会がありました。英語で行われた一時間のインタビューは長大ですがラスマス氏の思想がよく分かる話題が多く、可能な限りそのままの形でお伝えすべく、その模様すべてをお届けします。 なお、インタビューは10月に開催されたPHPカンファレンス2015の講演終了後に行われ、リリースに関する話題などはその時点でのものです。 現在の仕事と生い立ち ―――― まずは、PHPを作ってくださってありがとうございます。今日の基調講演もすばらしかったです。 ラスマス:ありがとうございます。 ―――― いきなりですが、個人的な質問から始めてもいいでしょうか。 ラスマス:どうぞ。 ―――― Etsyではどのようなお仕事をなさっているんですか? ラスマ

    PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp
  • 第10回 JWT(JSON Web Token)に対応したMilkcocoaの認証機能を使ってみよう | gihyo.jp

    はじめに 2014年8月からベータ版として公開されていたMilkcococaがこの度2015年5月8日から正式バージョンアップしました。それに伴い前バージョンからの変更点がいくつかあるのですが、今回はその中でも認証機能に絞って紹介したいと思います。 今回のゴール Milkcocoaの認証機能を使って、サイトにユーザ登録/ログイン機能を実装してみます。応用的な内容として、セキュリティルールを使ってユーザ毎に権限を変える実装についても触れますので、余裕のある方はチャレンジしていただきたいです。 ちなみに、まだMilkcocoaを触ったことが無い人はチュートリアルでチャットを作ってみることをお勧めします。ものすごく簡単にチャットが作れる感動を体験しましょう。 図1 10 minutes Tutorial 新しくなったMilkcocoaの認証機能でログインしてみよう 新バージョンMilkcocoa

    第10回 JWT(JSON Web Token)に対応したMilkcocoaの認証機能を使ってみよう | gihyo.jp
  • 第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
  • 第6回 MySQLチューニング(5) パラメタチューニングの基礎 | gihyo.jp

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

    第6回 MySQLチューニング(5) パラメタチューニングの基礎 | 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
  • 第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 … 技術評論社
  • 第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
  • PHP処理系の未来 | gihyo.jp

    PHPユーザーの皆様、あけましておめでとうございます。稿ではPHPとHHVMの2つのPHP処理系について紹介します。今後のPHPのトレンドを占うのにお役立ていただければ幸いです。 PHPの現在 稿執筆時のPHPの最新バージョンは5.6.4です。最近のPHPはマイナーバージョンアップを1年ごとに繰り返すスタイルになっており、PHP 5.6.0はPHP 5.5.0から14ヶ月後の2014年8月にリリースされました。PHP 5.6ではphpdbgという新デバッガが同梱されるようになるなど注目点もありましたが、過去のバージョンアップに比べると変化が小さいバージョンアップでした。 ところで、PHPの次のバージョンアップではメジャーバージョンアップを予定しており、バージョン番号としては7.0となります。メジャーバージョンが5から7へと一気にジャンプするのは珍しい現象ですが、過去に開発中止となったP

    PHP処理系の未来 | 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
  • 第1回 Hubotとは何か | gihyo.jp

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

    第1回 Hubotとは何か | gihyo.jp
  • パーフェクトPython

    2013年3月5日紙版発売 2014年11月1日電子版発売 Pythonサポーターズ 著 B5変形判/464ページ 定価3,520円(体3,200円+税10%) ISBN 978-4-7741-5539-5 ただいま弊社在庫はございません。 Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle 楽天kobo honto 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 1冊で言語仕様から最新の技術までを網羅した内容。網羅的に解説されているだけでなく,各技術に関しては基からしっかり解説し,必要な箇所では,内部処理が裏で何をしているのかを掘り下げて解説してあるため,体系的に知りたい初心者はもちろん中級者にもお勧めの一冊です.最新のPython3.3に対応。 こんな方

    パーフェクトPython
    heavenshell
    heavenshell 2013/02/19
    おお、拡張モジュールの章もあるのか。
  • 第6回 位置情報を保存しよう(後編) | gihyo.jp

    その他の言語のライブラリについては、http://en.wikipedia.org/wiki/GeohashのExternal Linkの項を参照してください。 例えば、perlのCPANモジュール Geo::Hashを利用して、Goehashをencode/decodeする方法は、以下のようになります。 encode my $geohash = Geo::Hash->new; my $hash = $geohash->encode( $lat, $lon ); decode my $geohash = Geo::Hash->new; my ($lat, $lon) = $geohash->encode( $hash ); Geohashが注目された理由 Geohashが注目されたのは、Google App EngineのDatastoreでの「検索のクエリで絞り込み条件が指定できるカラム

    第6回 位置情報を保存しよう(後編) | gihyo.jp
    heavenshell
    heavenshell 2013/01/17
    「Goehashは,緯度経度のような点の情報ではありませんが,その桁数が10桁を超えると,矩形の一辺が1m以下になるので,緯度経度の代わりとして十分利用可能です。」
  • Graphical Webの拡がり;HTML5とその周辺技術で実現する | gihyo.jp

    もちろん、すべてHTML5を中心とする標準技術であるため、JavaScriptを通じてそれぞれを組み合わせて利用できます。 注目されるGraphicalWeb こうした新しいWebのグラフィックス技術の拡大もあり、2012年にはThe Graphical Webというカンファレンスがスイス開催されました。 The Graphical Web2012のWebサイト 実はこのカンファレンス、2002年から10年以上も続いているカンファレンスで、2011年まではSVG Openという名前で開催されていました(ちなみに、2007年には日で開催されました⁠)⁠。しかし、2012年からカンファレンス内で扱う技術SVGのみにとどまらず、HTML5 media、CSS3 Animations、2D Canvas、WebGLなどの技術も取り上げることとなり、こうした技術の総称としてカンファレンスのタイト

    Graphical Webの拡がり;HTML5とその周辺技術で実現する | gihyo.jp
  • 第5回 位置情報を保存しよう(前編):位置情報サービスのはじめ方|gihyo.jp … 技術評論社

    今回から2回に分けて、位置情報をDatastoreに格納する方法をいくつか紹介します[1]⁠。 数値型で保存する 緯度経度の情報をデータベースへ格納するときに、もっとも簡単な方法が数値型として保存する方法です。緯度経度がとりうる値の範囲は、以下の通りですので、システムに必要な小数点以下の数字を考慮して型を決めましょう。 はてなフォトライフでは、写真に緯度経度のメタ情報を設定することができますが、高精度な緯度経度情報は必要ないので、型を以下のように指定しています。 latitude decimal(7,4) longitude decimal(7,4) decimal(7,4)という指定は、10進数で7桁のデータで、小数点以下は4桁まで格納するというものです。 あるオブジェクトの緯度経度を保存し、表示するだけならこれだけで十分ですが、位置情報を中心に扱うサービスになると、格納したデータを緯度

    第5回 位置情報を保存しよう(前編):位置情報サービスのはじめ方|gihyo.jp … 技術評論社
  • 第20回 Javaアプリケーション向けの認証フレームワーク「Apache Shiro」 | gihyo.jp

    使いやすい認証機構を実現する「Apache Shiro」 今回取り上げる「Apache Shiro」は、Javaアプリケーション向けに開発された認証と承認のためのオープンソースのフレームワークです。Shiroを使うことで、ログインなどの認証の仕組みや、アクセス管理、セッション管理などといった機構を、容易にアプリケーションに付け加えることができるようになります。 JDKにはJAAS(Java Authentication and Authorization Service)という認証・承認サービスが用意されていますが、JAASで提供されるAPIはあまり使い勝手が良くなく、わかりにくいという意見が大多数を占めていました。ShiroはJAASよりも理解しやすく、簡単に利用できる認証・承認の仕組みを提供する目的で開発されました。Shiroを利用するメリットとしては次のようなものが挙げられています。

    第20回 Javaアプリケーション向けの認証フレームワーク「Apache Shiro」 | gihyo.jp
  • 第2回 ネットワークアーキテクチャを一変させるOpenFlowのパケット制御技術 | gihyo.jp

    はじめに 前回は、昨今注目されているネットワーク制御技術「OpenFlow」の動向や基動作、仮想化が抱える課題について説明しました。今回は、より進んだOpenFlowの活用方法について説明します。 OpenFlowによるパケット制御方式 OpenFlowはネットワークの動作をプログラムで制御できます。具体的に言えば、OpenFlowを利用すると、パケット[1]の任意の部分を書き換えて、パケットを任意のノードに転送[2]できます。 パケットのどこを書き換え、どこに転送するか(以後「パケットの制御方法」と表記します)は、すべてOpenFlowコントローラが決定します。OpenFlowスイッチはOpenFlowコントローラから指示を受けて動作します。OpenFlowスイッチが独自の判断で動作することは基的にありません。未知のパケットを受信した場合、OpenFlowスイッチはOpenFlowコ

    第2回 ネットワークアーキテクチャを一変させるOpenFlowのパケット制御技術 | gihyo.jp