タグ

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

  • 第5回 Ruby 1.9 の新機能ひとめぐり(後編): 知っておくとお得な機能 | gihyo.jp

    前編では1.9の目玉機能を、中編では文法や意味論の改善について紹介しました。 後編である今回は、知っておくとお得な機能を取り上げたいと思います。きっとあなたのRubyライフを快適にするでしょう。 鬼車による正規表現の強化 1.9では正規表現エンジンに鬼車を採用したため、鬼車による拡張機能が利用可能になりました。 名前を使った参照 マッチした部分文字列を、$1や$2のようなインデックス番号ではなく、名前で参照する機能がつきました。 コード1 正規表現のマッチ部分を名前で参照する # (?<foo>...) にマッチした部分を $~[:foo] で参照できる if "Taro Yamada" =~ /^(?<first_name>\w+) (?<last_name>\w+)$/ p $~[:first_name] #=> "Taro" p $~[:last_name] #=> "Yamada"

    第5回 Ruby 1.9 の新機能ひとめぐり(後編): 知っておくとお得な機能 | gihyo.jp
  • 第4回 3つのGCを使い分けて停止時間を最小にする | gihyo.jp

    3つのGCを使い分けてCPUの使用率をコントロールする 「GCの時間が長くてシステムが反応してくれない……もっと短くならないかな?」 「GCが始まると、CPUが占有されちゃって、ほかのプロセスの動きが重くなるんだよね……」 「GCの停止時間が多少長くなってもいいから、ほかのプロセスへの影響を軽くできないかな?」 JVMを使用しているシステムでは、そんな話を耳にします。GCが起きていることまでは把握できているのですが、それからどうしたら良いのかわからないのです。 GCは、JVMの内部でGCスレッドがCPUに処理されることで行われています。そのため、GCが行われている間はCPUの使用率が増加してしまうのです。 GCをスレッドの観点で見ると、以下の3種類があります。 シリアルGC パラレルGC コンカレントGC これらの違いを把握すれば、CPUの使用率とアプリケーションの停止時間をコントロールす

    第4回 3つのGCを使い分けて停止時間を最小にする | gihyo.jp
    oinume
    oinume 2013/03/07
  • 第6回 OpenSSHの公開鍵をLDAPで管理 | gihyo.jp

    公開鍵管理の概要 読者の皆さんの多くはリモートメンテナンスのために、各サーバでsshデーモンを動作させているはずです。しかしtelnetではなくsshにすればそれだけで安心安全、というわけではありません。共通鍵認証ではそれぞれの通信自体は暗号化されているとはいえ、近年では総当たり攻撃のターゲットとなっているケースも非常に多くセキュリティ的に安心できるものではないためです。皆さんはちゃんとRSAやDSAによる公開鍵認証を利用されていますか? 公開鍵認証のメリットは、共通鍵認証と比較して、より安全な認証を実現することができる点にあります。その一方、クライアント側には秘密鍵ファイルと多くの場合はパスフレーズが、サーバ側には公開鍵ファイルが必要になるため、デメリットとしてユーザ数が多いとそれらの管理も煩雑になることが挙げられます。 たとえば管理対象のサーバが100台あるとすれば、あるユーザの入社時

    第6回 OpenSSHの公開鍵をLDAPで管理 | gihyo.jp
    oinume
    oinume 2013/03/04
    へぇ、こういうのできるんだ。
  • あのジェリー・ヤンも出資! 話題のベンチャーTreasure Dataがめざすのは&quot;ビッグデータをシンプルに&quot;─Hadoop Conference Japan 2013 Winterレポート(3) | gihyo.jp

    シリコンバレーの投資家からも一目置かれるTreasure Dataの成長を支えているその技術力と経営理念について、Treasure DataのCTOである太田一樹氏が基調講演で語ったその内容をレポートします。 Feature Creepではなく“ナタ”を作る 太田氏をはじめとするTreasure Dataの創業メンバーはいずれもHadoopやmemcached、MongoDBなど、現在のビッグデータブームを支えるオープンソース技術の開発に学生時代から関わっていました。これらのオープンソースプロダクト、とくにHadoopに触れる経験が長かったことが、Treasure Data設立の大きなきっかけになっています。 「Hadoopの登場はこれまで使いづらいだけの存在だった分散システムの世界を大きく変えた。一方で、ユーザ企業がHadoopをデプロイし、運用をはじめても、結局はメンテナンスが大変にな

    あのジェリー・ヤンも出資! 話題のベンチャーTreasure Dataがめざすのは&quot;ビッグデータをシンプルに&quot;─Hadoop Conference Japan 2013 Winterレポート(3) | gihyo.jp
    oinume
    oinume 2013/01/28
    誤字が多いなぁ。memcashed -> memcached
  • はじめてのOSコードリーディング ――UNIX V6で学ぶカーネルのしくみ | Gihyo Digital Publishing … 技術評論社の電子書籍

    Software Design plus はじめてのOSコードリーディング ――UNIX V6で学ぶカーネルのしくみ 著者 青柳隆宏 著 発売日 2013年1月10日 更新日 2013年1月10日

    はじめてのOSコードリーディング ――UNIX V6で学ぶカーネルのしくみ | Gihyo Digital Publishing … 技術評論社の電子書籍
    oinume
    oinume 2013/01/15
  • 第4回 memcachedのCASとmixiでの運用動向 | gihyo.jp

    今まで簡単に触れてきたmemcachedのCAS(Compare and Swap)機能ですが、今回はその具体的な使用例や、プロトコルの違いによる特徴を紹介します。また、mixiでの今後のmemcached運用動向を紹介します。 CASの概要 memcachedには特定のデータに対してアトミックな更新を試みる機能が存在します。この機能の仕組みは単純で、クライアントは特定のコマンド(テキストプロトコルの場合は“⁠gets⁠”⁠)を実行することにより、サーバから特定のレコードとその状態を表すユニークな識別子を与えられます。 この識別子はレコードが何らかの手段によって更新されると変更され、クライアントが保持している識別子とは別の値になります。したがって、クライアントは与えられた識別子を更新命令と一緒に送信することで、サーバはレコードをアトミックに更新できるかを確認することができます。もし識別子が

    第4回 memcachedのCASとmixiでの運用動向 | gihyo.jp
  • Cassandraのはじめ方─手を動かしてNoSQLを体感しよう 記事一覧 | gihyo.jp

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

    Cassandraのはじめ方─手を動かしてNoSQLを体感しよう 記事一覧 | gihyo.jp
  • 札幌Ruby会議2012、1日目レポート[更新終了] | gihyo.jp

    日9月14日から16日の3日間、札幌市産業振興センターにて札幌Ruby会議2012が開催されます。3日間に渡り、随時レポートをお届けしていきます。なお、イベントの事前特集が組まれていますので、ぜひこちらも確認してみてください。 今回のイベントでは、スタッフの皆さんは専用Tシャツを着用しています。気になることがあれば、気軽に話しかけてみてください。 連絡事項までに、メインルーム(Blue A;ルームA)のキャパシティの関係から、別部屋(Blue C;ルームC)での中継も予定されています。電源を取りやすそうです。 同会場ではアンカンファレンス形式の、ぬRubyKaigiも明日から行われます。その受付がメイン会場(Blue A)の後方の受付ボードですでに開始されています。話してみたいことがある方は是非検討してみてはいかがでしょうか。 Herokuランチ 日12時からHeroku, Inc.

    札幌Ruby会議2012、1日目レポート[更新終了] | gihyo.jp
  • 第1回 Aptana Jaxerとは?/Jaxerのここが素敵 | gihyo.jp

    Apatna Jaxerとは? サーバサイドJavaScriptとは、その名の通りサーバ側で実行するJavaScriptのことです。 JavaScriptはクライアントのブラウザ上で実行するもの、というイメージが強いので、サーバ側で実行すると言われても、ピンと来ない方も多いかもしれません。 サーバサイドJavaScriptのエンジンは、いくつかのプロダクトが登場しています。Javaによる実装のRhinoやCによる実装のSpidermonkeyは、その代表格になります。 先日、統合開発環境Aptana Studioで有名なAptana社が、サーバサイドJavaScriptを実現する"Ajaxサーバ"Aptana Jaxer(以下、Jaxer)を発表しました。 Ajaxサーバ、とは耳慣れない言葉ですが、Jaxerの特徴をずばりと言い表すために作った造語だと思います。Jaxerを利用すると、Aj

    第1回 Aptana Jaxerとは?/Jaxerのここが素敵 | gihyo.jp
    oinume
    oinume 2012/09/02
    サーバサイドでJS実行するJaxer
  • 第4回 ウェブ開発を助ける拡張やノウハウ | gihyo.jp

    デベロッパーツールの機能が基準となっている面も少なからずありますが、間違いなくデベロッパーツール・Web インスペクタは開発者向けツールの中で最も多機能な開発者向けツールといえます。 ただし、FirefoxのFirebugについてはAdd-onと連携することで機能を追加できるため、総合的にはFirefoxに一日の長があります。なお、Firebug用のAdd-onはFirebug Extensions - FirebugWikiなどから見つけることができます。 デバッグ時の注意点・ノウハウ 起動オプションの指定 Chromeではオプション項目にない設定を起動オプションで指定するという方針を取っています。起動オプションで指定するオプションでは、試験的に導入されている機能を試したり、特定の機能を無効にしたりすることができます。 まず、アドレスバー(OmniBox)に about: とだけ入力して

    第4回 ウェブ開発を助ける拡張やノウハウ | gihyo.jp
  • 第8回 Perlによる大規模システム開発・設計のツボ(3) | gihyo.jp

    技術的負債の「見える化」 どのようなソフトウェアにも設計上のミスはあります。設計時点ではサービスの発展性や日々変わりゆく要件を完全に予測することはできないからです。ある時点で正しい設計も、その次のサービスリリースでは設計上の修正を必要とするかもしれません。これらの変更への粘着性や複雑性のある状態を、「⁠技術的負債」と言います。 mixiでは技術的負債は長らく、コードレビュー技術力の高いエンジニアによる新機能リリース時の修正などで対応を行ってきました。しかし、これまでに紹介した「わかりやすいコードの指針」や「アーキテクチャパターン」をレビューや教育だけで維持することは、ソフトウェアが巨大になり、開発者数が増加するにつれて難しくなります。そのため現在では、ソフトウェアの設計品質評価を自動化するツール群を開発し、それらを用いて技術的負債を見える化し、計画的に解消していく試みを行っています。 コ

    第8回 Perlによる大規模システム開発・設計のツボ(3) | gihyo.jp
  • 第1回 Calibreで電子書籍を管理する | gihyo.jp

    電子書籍、使ってますか? こんにちはみなさん、今回からCalibre(カリバー)の連載をさせてもらいます。西村です。 ところで、日でも電子書籍が話題になっていますが、皆さん使っていますか? そうですよね、日電子書籍、ちょっと手を出しづらいですよね。フォーマットは乱立していて、しかもどれも互換性が無いので、どのデバイスを買えばいいのかわからないし、PCで読むにしても、ストアは中途半端な量しかないので、自分の読みたいは見つからないし…。 かたやアメリカでは、Amazonの売り上げの中で紙のより電子書籍の方が多くなった、なんて話を聞きますが、だいぶ日の状況とは温度差があるようですね。 かく言うぼくも、どういう経緯で電子書籍やCalibreにはまってしまったかと言うと、ひょんなことから国際版のAmazon Kindleを買ってしまったことから始まったのです。と言うのも、あるSF小説(⁠

    第1回 Calibreで電子書籍を管理する | gihyo.jp
    oinume
    oinume 2012/03/20
    これ良さそう
  • 第4回 社内ハッカソンが育むmixiエンジニアの開発者魂! | gihyo.jp

    はじめに はじめまして、(⁠株)ミクシィの佐藤友信です。私はパートナービジネス推進部 開発グループという部署に所属して、ミクシィにおける課金システムや、パートナー開発者向けの、mixiアプリ、mixi Graph API、mixi Pluginの情報を管理できるPartner Dashboardの開発をしています。 みなさん、mixi公式のAndroidアプリケーション(公式アプリ)を使っていますでしょうか。この公式アプリの機能として、私が作った「バーコードチェック」という機能があります。実はこの機能は、社内向けのハッカソン「Weekend Challenge 2.5」に参加したときに誕生しました。今回は、その「Weekend Challenge 2.5」の紹介と、バーコードチェックの裏側を紹介したいと思います。 Weekend Challenge 2.5とは 「Weekend Chall

    第4回 社内ハッカソンが育むmixiエンジニアの開発者魂! | gihyo.jp
    oinume
    oinume 2012/02/17
  • 2012年注目のモバイル向けJavaScriptフレームワーク・ライブラリあれこれ | gihyo.jp

    昨年は、スマートフォンが急速に普及した年でした。それに伴って、モバイルサイトの重要性が増し、多くのモバイル向けJavaScriptフレームワークやライブラリが産まれました。稿では、それらのモバイル向けのJavaScriptフレームやライブラリの中から、ピックアップして紹介していきたいと思います。 豊富な機能やリッチなインターフェースが多く用意されているフレームワーク まずは、モバイルサイトの構築を一から行えるフレームワークを紹介します。jQuery MobileやSencha Touchといった著名なフレームワークを始めとして、jQTouchやiUIなど比較的軽量なフレームワークまで簡単に解説します。 jQuery Mobile jQuery Mobileは、有名なJavaScriptライブラリであるjQueryをベースとしたモバイル向けのフレームワークです。ネイティブアプリのようなUI

    2012年注目のモバイル向けJavaScriptフレームワーク・ライブラリあれこれ | gihyo.jp
  • 第1回 Perlにおけるテストの概要/TAPとは? | gihyo.jp

    モバイルファクトリーの松野です。 今回から数回にわたって、Perl におけるテスト手法についてリレー形式で詳細に解説していきたいとおもいます。 今回は初回ですので、ざっくりと概論になります。 Perlの世界におけるテストの重要性 Perlの世界においてはテスト(test)は大変重要視されています。 その特徴がよく表れているのがCPAN Testersではないでしょうか。 CPAN Testers Perlといえば何はなくともCPANなわけですが、CPANでモジュールを探していると、図1のように、「⁠CPAN Testers」という項目があることに気付きます。 図1 CPAN Testers 世界中のPerl Mongersが、自分のマシンでテストを動かして、その結果をCPANに送っているのです。これにより、様々なOS/CPU/versionのPerlでテストがされています。貴方も気軽にCP

    第1回 Perlにおけるテストの概要/TAPとは? | gihyo.jp
  • 第4回 突撃インタビュー!シリコンバレーで働くあの人 | gihyo.jp

    こんにちは。第4回目の今回は、外に飛び出して取材などを行ってみました。 目的地はこちらです! え、よくわからない?ではこれではどうでしょうか。 そう、今回はマウンテンビューにあるGoogleにやってきました!ここでお仕事をされている方にいろいろインタビューしてみたいと思います。今回お話しを聞くのは同社でソフトウェアエンジニアのお仕事をされている高木淳司さんです。 Googleのキャンパス(会社なのにこう呼ばれているそうです。大学みたいですね)に足を踏み入れるとなんだかすでに雰囲気が違います。 たまたまGoogle Mapsのストリートビュー機能のための撮影車に遭遇。街中で見かけたという報告談は聞いていましたが、実物を見たのは初めてです。 自転車Googleのキャンパスは広いので、移動にこの自転車を使うことができるそうです。 さて、この日はインタビューの前にランチをごちそうになることに。う

    第4回 突撃インタビュー!シリコンバレーで働くあの人 | gihyo.jp
  • 第8回 Perlによる大規模システム開発・設計のツボ(2) | gihyo.jp

    mixiのアーキテクチャパターン 2011年4月現在、mixiは2004年2月のサービス開始から7年以上をかけて、最適化、バグ修正、新機能リリースなどを続けています。(⁠2)では、こういった状況の中で、安定したサービスをみなさんにお届けするために取り入れているアーキテクチャ設計上の工夫や、失敗を修正していくための品質評価手法を紹介します。 システムの境界と階層化 mixiでは個々の機能について、次のようなパッケージレイアウトを採用しています。 Mixi::Voice::* つぶやき機能に関するモジュール群 Mixi::Video::* ビデオ機能に関するモジュール群 Mixi::Diary::* 日記機能に関するモジュール群 Mixi::Home::* ホーム表示機能に関するモジュール群 以降では、これらのモジュールの集まりを「コンポーネント」と呼びます。これらのコンポーネントは、相互に連

    第8回 Perlによる大規模システム開発・設計のツボ(2) | gihyo.jp
  • 第8回 Perlによる大規模システム開発・設計のツボ(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはmixiの広木大地さんで、テーマは「大規模システム開発・設計のツボ」です。 仕事やOSS(Open Source Software)プロジェクトPerlを用いた多人数開発をするにあたって気をつけるべきことや、品質を維持するためのノウハウを、国内最大級のPerlシステムであるmixiの事例をベースに紹介します。コーディング上の命名に関する考え方から、大規模アーキテクチャの設計や品質の数値化まで、ミクロからマクロに至るポリシーやテクニックを駆け足で解説します。 なお、今回の内容は(⁠株⁠)ミクシィの2010年度の新卒エンジニア技術教育メニューからの抜粋になります。これからPerl をはじめとするLL(Lightweight Language、軽量言語)を仕事で使うというフレッシュエンジニアのみなさんにも、ぜひご一

    第8回 Perlによる大規模システム開発・設計のツボ(1) | gihyo.jp
  • 第4回 Yammerとの相性のよい組織とは | gihyo.jp

    Yammerのつまづきポイント ここまで社内共有ツールとしてのYammerの良いところについて紹介してきましたが、実際に使っていく中でいくつか今のバージョンでは使いづらいところもあります。海外発の無料ツールと考えればスル―できるものが大半ですし、バージョンアップの中で改善される内容もあるかと思いますが、知っておいて損はないポイントとして紹介したいと思います。 携帯電話からの閲覧や投稿時に文字化け YammerFOX(FireFoxアドオン)が日語文字化け デスクトップアプリが若干重い 新規メンバー招待時に注意点あり 1.携帯電話からの閲覧や投稿時に文字化け iPhoneアプリAndroidにはしっかり対応してくれているのですが、スマートフォン以外の携帯電話では文字化けてしまいます。文字化けない方法を探してみたものの、今のところこれといった回避策がなく、この点がとても惜しいです。弊社では

    第4回 Yammerとの相性のよい組織とは | gihyo.jp
  • 第5回 multiprocessingモジュールによるプロセス間通信 | gihyo.jp

    multiprocessingモジュール multiprocessingモジュールは、Python2系列では2.6以降、3系列では3.0以降に標準となったモジュールです。このモジュールはthreadingモジュールに似たAPIでプロセス間通信などの機能を提供します。このモジュールにより、GILの問題を回避することができ、複数のCPUCPUコアの性能を生かすことができます。また、このモジュールはローカルのみならず、リモートでのプロセス間通信も行うことが可能で、簡単に分散処理などを実装することができます。 まず、GIL(Global Interpreter Lock)とはPythonのインタプリタ上で一度に1つのスレッドだけが動作するよう保証するためのロックです。このロックによって、同時に同じメモリにアクセスするスレッドが存在しないことを保証します。 しかしながら、このロックによって、一度に

    第5回 multiprocessingモジュールによるプロセス間通信 | gihyo.jp