checkitoutに関するtakuya_kimuraのブックマーク (16)

  • https://chariotsolutions.com/techcast?post_id=513782

    takuya_kimura
    takuya_kimura 2009/08/12
    "# Discussion of various thread management mechanisms, which include Task Executors # Discussion of Locks versus the traditional synchronized keywords, and ReadOnly and ReadWrite lock mechanisms # Concurrent Maps, CopyOnWriteArraySet and CopyOnWriteArrayList (among others) provide map, list and set
  • スケールアウトする分散ファイルシステム 計画 - VIVER

    スケールアウトする分散ファイルシステム 計画 スケールアウトする分散ファイルシステムを設計中です。とりあえずはサーバー1台でも動作し、後からサーバーを足していくと、自動的に容量が増え、冗長化され、負荷分散されるというものを目指しています。LAN用に特化し、NFS+DRBDの置き換えを狙っています。 まえがき 今や、Webサーバーいくらでも冗長化や負荷分散ができるようです。メモリを足す、HDDを足す、と同じ感覚で、サーバーを足す、というのが成り立つのではないでしょうか。(この点に関してはDSAS開発者の部屋全体、特に「DSASのあれこれ」の資料を公開しますやこんなに簡単! Linuxでロードバランサ シリーズが非常に参考になります) しかしストレージはどうでしょうか。ストレージの冗長化や負荷分散にも、DRBDを始めとしていろいろなソフトウェアが開発されていますが、「スケールアウトするか」「

    takuya_kimura
    takuya_kimura 2009/08/11
    "しかしストレージはどうでしょうか。ストレージの冗長化や負荷分散にも、DRBDを始めとしていろいろなソフトウェアが開発されていますが、「スケールアウトするか」「動的な運用が可能か」という観点から考えると、こ
  • Gearman

    [2009-07-20] Version 0.1 of the Gearman user defined functions for PostgreSQL released! You can find it on the downloads page or at Launchpad.

    takuya_kimura
    takuya_kimura 2009/08/11
    "Gearman provides a generic application framework to farm out work to other machines or processes that are better suited to do the work. It allows you to do work in parallel, to load balance processing, and to call functions between languages. It can be used in a variety of applications, from high-a
  • 組み込み関数dir()をカスタマイズする - はてブロ@ama_ch

    「初めてのPython」p.344に載っていたdir()のような動作をするソースがなかなか良い感じです。 #!usr/bin/env python # -*- coding: utf-8 -*- """ mydir.py 組み込み関数dir()をカスタマイズする例 指定のモジュールの名前空間に属する変数名の一覧を出力する """ verbose = 1 def listning(module): if verbose: print "-" * 30 print "name:", module.__name__, " file:", module.__file__ print "-" * 30 count = 0 for attr in module.__dict__.keys(): # 名前空間の内容を調べる print "%02d) %s" % (count+1, attr), if a

    組み込み関数dir()をカスタマイズする - はてブロ@ama_ch
    takuya_kimura
    takuya_kimura 2009/08/10
    "Cで書かれたモジュールは__file__メンバがないという解釈でいいのかな?"
  • カレントディレクトリ以下すべてのファイルの文字コードを変換する - はてブロ@ama_ch

    Macを使い始めてから、文字コードに悩まされる機会が増えました。ファイルを貰ったりすると、大抵EUCやShift-jisでうまく表示できません。各エンコーディングに対応しているエディタを使えば読むことはできますが、やっぱりターミナル上で表示できないと不便です。 対策として、iconvコマンドを使うとエンコーディングを変換することができます。 例えばtest.txtというファイルをeuc-jpからutf-8に変換したい場合、 $ iconv -f euc-jp -t utf-8 test.txt > test_utf.txtこのようにできます。 この方法の問題点 ファイル名を変更しないといけない 同じ(変換元の)ファイル名をそのままリダイレクトする*1と、ファイルの中身が空っぽになる 1度に1つのファイルしか変換できない 大量のファイルを変換したい場合は、以下のようなシェルスクリプトを利用す

    カレントディレクトリ以下すべてのファイルの文字コードを変換する - はてブロ@ama_ch
    takuya_kimura
    takuya_kimura 2009/08/10
    ""find . -type f"でカレントディレクトリ以下の全てのファイルを取得し、それぞれに対してiconvコマンドを実行します。"
  • Boost.Python のような手軽さで C++ で PHP の拡張モジュールを書ける「Mozo.PHP (仮称)」 - moriyoshiの日記

    えー、久しぶりにですます調です。日の第2回PHP拡張勉強会でグダグダながらもちょこっと発表させていただいた、あのライブラリについての紹介です。 ダウンロードは以下からできます。 http://www.voltex.jp/downloads/mozo-php-20080324.tar.bz2 最新版はこちら >> http://voltex.jp/downloads/mozo-php-20080405.tar.bz2 2009-08-10 追記: 現在は Boost.PHP という名前で以下の場所で開発中です。 http://github.com/moriyoshi/boost.php なぜMozo.PHPを作ったのか Boost.Python という、Boost Project の一部である変態ライブラリがあるのですが、これは Python の拡張をおおよそ C++ とは思えないような書

    Boost.Python のような手軽さで C++ で PHP の拡張モジュールを書ける「Mozo.PHP (仮称)」 - moriyoshiの日記
    takuya_kimura
    takuya_kimura 2009/08/10
    "今できることは * グローバル関数の定義 * PHP 関数の呼び出し * 値の自動変換 * 例外の自動変換 で、今できないことは * static でない関数の呼び出しサポート * クラスのサポート * ini 設定の定義 * よ
  • cuSVM: A CUDA Support Vector Machine Implementation

    cuSVM A CUDA Implementation of Support Vector Classification and Regression cuSVM is a software package for high-speed (Gaussian-kernelized) Support Vector Machine training and prediction that exploits the massively parallel processing power of Graphics Processors (GPUs).  cuSVM is written in NVIDIA's CUDA C-language GPU programming environment, includes implementations of both classification and

    takuya_kimura
    takuya_kimura 2009/07/27
    "cuSVM is a software package for high-speed (Gaussian-kernelized) Support Vector Machine training and prediction that exploits the massively parallel processing power of Graphics Processors (GPUs). cuSVM is written in NVIDIA's CUDA C-language GPU programming environment, includes implementations of
  • HadoopDB Project

    HadoopDB An Architectural Hybrid of MapReduce and DBMS Technologies for Analytical Workloads. HadoopDB is: A hybrid of DBMS and MapReduce technologies that targets analytical workloads Designed to run on a shared-nothing cluster of commodity machines, or in the cloud An attempt to fill the gap in the market for a free and open source parallel DBMS Much more scalable than currently available parall

    takuya_kimura
    takuya_kimura 2009/07/27
    "# A hybrid of DBMS and MapReduce technologies that targets analytical workloads # Designed to run on a shared-nothing cluster of commodity machines, or in the cloud # An attempt to fill the gap in the market for a free and open source parallel DBMS # Much more scalable than currently available para
  • CodeIndex - freshfoo.com/wiki

    Code This page lists my software projects and smaller pieces of code that might be of use. Any questions or feedback to <menno@freshfoo.com>. IMAPClient IMAPClient aims to be a easy-to-use, Pythonic and complete IMAP client library with no dependencies outside the Python standard library. Features: Arguments and return values are natural Python types. IMAP server responses are fully parsed and re

    takuya_kimura
    takuya_kimura 2009/05/28
    "# Arguments and return values are natural Python types. # IMAP server responses are fully parsed and readily useable. # IMAP unique message IDs (UIDs) are handled transparently. There is no need * to call different methods to use UIDs. # Escaping for internationalised mailbox names is transpar
  • Account Suspended

    Status: 403 Forbidden Content-Type: text/plain; charset=utf-8 403 Forbidden Executing in an invalid environment for the supplied user

    takuya_kimura
    takuya_kimura 2009/05/28
    "QuickFix mode is your friend VIM can run your makefile and take you to each variable in turn. If you have unit tests set up to run as part of the build, and the unit test framework produces messages in a compatible format, you will be guided through the failed tests just as if they were compile err
  • http://blogs.sun.com/sundararajan/entry/scala_for_java_programmers

    takuya_kimura
    takuya_kimura 2009/05/28
    """There are many languages that target to the Java Virtual Machine (JVM) -- not just the scripting and dynamically typed ones. How about learning another statically typed language that is compiled JVM and seamlessly integrates to the Java platform? The latest mantra is "One Great VM, Many Languages
  • Vim-users.jp - Hack 17: Vimを終了することなく編集中ファイルのファイル名を変更する

    takuya_kimura
    takuya_kimura 2009/05/28
    "command! -nargs=1 -complete=file Rename f |call delete(expand('#')) これで、以後:Rename newfilename.txtとすることでファイル名を変更することができます。"
  • Google App Engine for Javaを使ってみよう! (5)Datastore Java API

    はじめに Googleのインフラで実行されるクラウドサービス Google App Engineが2009年4月7日にJavaに対応しました。Javaエンジニアにも利用できるようになったGoogle App Engineを一緒に勉強して行きましょう! 今回は、GoogleのスケーラブルなデータストレージにアクセスするためのAPIを勉強したいと思います。 対象読者 ウェブサービス開発に興味のあるJavaエンジニア Google App Engine for Javaに興味がある方 必要な環境 「Google Plugin for Eclipse」がインストールされている、Eclipse 3.3(Europa)か3.4(Ganymede) 開発環境の構築手順については、第1回の解説を参照してください。 Datastore Java APIとは? Google App Engineではファイルシ

    Google App Engine for Javaを使ってみよう! (5)Datastore Java API
    takuya_kimura
    takuya_kimura 2009/05/28
    "DatastoreとBigTable  Google App EngineのDatastoreのデータが、Googleが開発したデータストレージのBigTableに格納されるかどうかに興味のある方は非常に多いと思います。  Datastore Java APIは、DataNucleusというライブラリを利用して実
  • 知られざる「マルチテナントアーキテクチャ」(3)~スキーマとメタデータの謎 - Publickey

    セールスフォースが採用しているマルチテナントアーキテクチャでは、すべてのユーザーが同一データベース、同一スキーマを共有しています。 では、個別に入力項目を増やすようなスキーマの変更を伴うアプリケーションのカスタマイズや、新たなテーブルを作成してそこに独自データを保存するようなアプリケーションの新規作成はできないのか? といえば、そんなことはなく、セールスフォースが提供するプラットフォームの上で、自由に項目の追加や新しいテーブルの作成が可能です。 全ユーザーでスキーマを共有しながら、しかし個別のカスタマイズを許容する。この一見矛盾する要件を、セールスフォースはどのように実現しているのでしょうか? (エントリは「知られざる『マルチテナントアーキテクチャ』(2)~スケーラビリティのカギは組織ID」からの続きです。) 公開されているスキーマを見てみる ユーザーがスキーマを変更したり、新規テーブル

    知られざる「マルチテナントアーキテクチャ」(3)~スキーマとメタデータの謎 - Publickey
    takuya_kimura
    takuya_kimura 2009/05/28
    "MapReduceもキーバリュー型データベースも使わずにスケールし、すべてのユーザーが同一データベース、同一スキーマを共有しつつ、カスタマイズも許容する。「マルチテナントアーキテクチャ」についてセールスフォース
  • 知られざる「マルチテナントアーキテクチャ」(2)~スケーラビリティのカギは組織ID

    セールスフォースが採用しているマルチテナントアーキテクチャでは、すべてのユーザーが同一データベース、同一スキーマを共有しています。これによってインフラの共有が容易になり、非常に効率的な運用と低コストを実現しています。 (エントリは「知られざる『マルチテナントアーキテクチャ』(1)~SaaSはみんな同じではない?」からの続きです。) しかし、それだけではスケーラビリティやアベイラビリティを実現することはできません。それらの実現には別の技術が併用されています。それはOracleのパーティショニング機能とパラレル機能による分散処理です。 パーティショニング機能の話をする前に、セールスフォースが採用しているデータベースの特徴を見てみましょう。 すべてのデータに振られる組織ID セールスフォースはすべてのユーザーが1つのデータベースを共有するマルチテナントアーキテクチャを採用しています。ということ

    知られざる「マルチテナントアーキテクチャ」(2)~スケーラビリティのカギは組織ID
    takuya_kimura
    takuya_kimura 2009/05/28
    "Force.comのデータ、メタデータ、ピボットテーブルの構造は、その基盤となるデータベースインデックスも含め、すべてがデータベースのパーティショニングメカニズムによってテナント別の組織IDに基づいて物理的に分離さ
  • DRBD+Heartbeatでお手軽HA Cluster VA Linux Systems Japan

    サーバを運用する際の問題の一つとして故障時の対応があります。高価なシステムを構築すればストレージはSANで構築し、サービスのフェイルオーバーも高価な商用ソフトを導入することで実現することは可能です。しかしながら、「そこまでコストをかけて構築しなくても、、、」といった場合もあるかと思います。そのような場合の解決策の一つとして、編ではDRBD + Heartbeatというオープンソース・ソフトウェアを用いて、HA Clusterを構築する方法を解説します。以下、<host_m>と<host_s>という2台のサーバを用いた構成手順を紹介します。 DRBDとは、Distributed Replicated Block Deviceの略で、家WEBサイトは http://www.drbd.org/ になります。具体的にDRBDは何をするものか?というと、パーティション

    takuya_kimura
    takuya_kimura 2009/05/28
    "DRBDとは、Distributed Replicated Block Deviceの略で、本家WEBサイトは http://www.drbd.org/ になります。具体的にDRBDは何をするものか?というと、パーティションをネットワークを介してミラーリングを行ってくれます。ここで注意が必
  • 1