タグ

2010年9月7日のブックマーク (13件)

  • XSでCの文字列操作関数を使用するべきでない理由 - Islands in the byte stream (legacy)

    またはRe: PerlとC言語の型に対応する値への相互変換 XSでCの文字列操作関数の使用はなるべく避けるべきです。Cの文字列操作関数は危険で使いにくいものです。その代わりに、Perlが提供する安全で使いやすいSV APIを使ったほうが余計なことを考えずに済みます。 まずC言語でプログラミングする際の一般論として、strcat()やsprintf()などの文字列長を制御できない関数を使用するべきではない、というものがあります。これらの関数を使用して安全なプログラミングをするのは非常に困難であり、代わりにstrncat()やstrlcat()、あるいはsnprintf()といった文字列長を制御できる関数を使うべきです。 またPerl/XSに関して言うならば、そもそもCの文字列操作関数を使う必要はほとんどありません*1。char*の代わりにSV*を使うようにし、なるべくPerl API で文字

    XSでCの文字列操作関数を使用するべきでない理由 - Islands in the byte stream (legacy)
    kamipo
    kamipo 2010/09/07
  • 「たいへんな所に来ちゃった」 はてなからグリーに移った伊藤直也さんに聞く

    「たいへんな所に来ちゃったな」――はてなを辞め、グリーに入社してから1週間。伊藤直也さんはこう漏らす。グリーの動きの速さに驚き、追いつくのに必死という。 ニフティで「ココログ」を開発し、04年、はてな転職。05年、ヒットサービス「はてなブックマーク」を生み出し、CTOとしてはてな技術を統括してきた。 はてな技術の代名詞でもあった伊藤さんは、なぜこのタイミングでグリーに移ったのか。グリーは伊藤さんに、何を期待しているのか。伊藤さんと、グリーの田中良和社長に聞いた。 モチベーションが保てなくなっていた ――なぜはてなを辞めたのですか。 伊藤 いろんなことが重なって、環境を変えてみようと思っていた。 はてなにはスタートアップのころから6年いて、40~50人の会社に成長した。はてなは、(社長が)アメリカに行ってみたりなど遠回りする会社。自分が思い描いていたベンチャーのスピードより、成長が遅か

    「たいへんな所に来ちゃった」 はてなからグリーに移った伊藤直也さんに聞く
    kamipo
    kamipo 2010/09/07
  • Advanced Sharding Techniques with Spider (MUC2010)

    1. Create a new empty table on the new server with the same schema. 2. Copy data from an existing node to the new table using Spider's copy functionality. 3. Update the connection string to include the new server and update the monitoring and link status. 4. The new server is now online and available to serve queries as part of the cluster.Read less

    Advanced Sharding Techniques with Spider (MUC2010)
    kamipo
    kamipo 2010/09/07
    awesome
  • Spider DeNA Technology Seminar #2

    MariaDB/MySQLでデータベースシャーディングの機能を提供するストレージエンジン、Spiderの紹介です。

    Spider DeNA Technology Seminar #2
  • MySQL Clusterが苦手とするJOINを如何にして克服するべきか。

    シェアードナッシング型の負荷分散機能を持ち、なおかつ同期レプリケーションによるHA機能まで備えたMySQL Cluster最大の弱点といえば、JOINの遅さであろう。MySQL ClusterのJOINは偽りなく遅い。JOINを多用するアプリケーションでMySQL Clusterを利用するのはある意味マゾヒスティックな行為であると言えよう。何故MySQL ClusterはJOINが遅いのか?それはMySQL Clusterが分散データベースだからである。 ご存じの通り、MySQLにおけるJOINのアルゴリズムにはNested Loopしかない。他のストレージエンジンを利用していればそれでも十分実用に耐えうるぐらい高速なのだが、MySQL Clusterの場合はそうはいかない。JOINでは自ずとストレージエンジンからデータをフェッチする回数が増えるが、MySQL Clusterの場合レコード

    MySQL Clusterが苦手とするJOINを如何にして克服するべきか。
  • MySQL6.0における新しいJOIN最適化手法 - BKA

    MySQL 6.0では新たなJOIN最適化手法であるBKA - Batched Key Accessの実装が進んでいる。BKAとは、読んで字のごとくキーを用いたアクセスをバッチ(ひとまとまりの)処理にすることである。現在のバージョンのMySQLでは、2つのテーブルをJOINする際、一つ目のテーブルから選択した行に対して、逐一2つめのテーブルから行が一つずつフェッチされる。例えば次のクエリを用いてテーブルt1とt2をJOINする際には以下のような流れで行われる。 mysql> SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.b WHERE t1.c > 1000 AND t1.c <= 2000; t1からWHERE句の条件(1000 < c <= 2000)に適合する行をフェッチする。 条件に合う行が1000行あったとする。 1行目のt1.aと同じt2.b

    MySQL6.0における新しいJOIN最適化手法 - BKA
  • MySQL

    MySQL HeatWave MySQL HeatWave is a fully managed database service for transactions, real- time analytics across data warehouses and data lakes, and machine learning services, without the complexity, latency, and cost of ETL duplication. It is available on OCI, AWS, and Azure. Learn More » MySQL Enterprise Edition The most comprehensive set of advanced features, management tools and technical suppo

  • 分散 Key-Value ストア mio-0.0.1alpha をリリースしました - higepon blog

    分散 Key-Value ストア mio-0.0.1alpha をリリースしました。(mio-0.0.1-alpha.tar.gz) Mio とは何か? 範囲検索(range query) が出来る KVS です。例えば「key が "1000"〜"2000" にあるものを昇順に10件取り出す」という検索が可能です。 Mio は memcached 互換プロトコルを実装しているので、多くのプログラミング言語から簡単にアクセスする事が可能です。(後述のコード例参照) Mio のアーキテクチャ Mio は Skip Graphs(スキップグラフ)というアルゴリズムに基づいて実装されています。詳細はErlang 分散システム勉強会での発表資料 Mio - a distributed Skip Graph based orderd KVSをご参照ください。 インストール 最新の Erlang をイ

    分散 Key-Value ストア mio-0.0.1alpha をリリースしました - higepon blog
    kamipo
    kamipo 2010/09/07
  • mysql [paulownia.jp]

    インデックス(B-treeインデックス)を使った検索では、絞られる件数が少ないほど高速になる。ユニークキーのように1レコードを特定できるインデックスならテーブルに1億レコードあっても待ち時間はほぼゼロである。 しかしインデックスの効果は、条件に一致するレコードが増えるほど減少する。例えば性別のようにデータの種類が2パターンしかないようなものは全く効果が期待できない。このようなカラムを「カーディナリティ度が低い」という。B-treeインデックスはカーディナリティ度が高いカラムに対して使うことで効果を発揮する。 MySQLはテーブルの30%以上のレコードが取得されそうだと予想するとインデックスを使わない。カーディナリティ度の低いカラムに対するwhere条件の検索では多くのレコードが取得される可能性があり、MySQLのオプティマイザはインデックスを使用しないことを選ぶ可能性が高い。 低カーディナ

    kamipo
    kamipo 2010/09/07
  • 4Gamer.net — [CEDEC 2010]ネットゲームの裏で何が起こっているのか。ネットワークエンジニアから見た,ゲームデザインの大原則

    [CEDEC 2010]ネットゲームの裏で何が起こっているのか。ネットワークエンジニアから見た,ゲームデザインの大原則 編集部:touge 先週行われた「CEDEC 2010」の講演から「ネットワークゲームの仕組みとゲームデザイン」と題されたセッションを紹介しよう。 「CEDEC 2010」公式サイト 登壇したのは,セガ第三CS研究開発部のテクニカルディレクター 節政暁生氏。節政氏は「ファンタシースター オンライン」シリーズのプログラマとして,長年ネットワークゲーム(オンラインゲーム)の開発を手がけてきてきた人物だ。この講演では,その経験からネットワークゲームゲームデザインにおいて,気をつけるべきことについてのレクチャーが行われた。その内容には一部技術的な要素を含むものの,基的にはプランナーに向けたものであるため,理解にそれほど専門的な知識は必要ない。いわばネットワークの基礎の基礎にあ

    4Gamer.net — [CEDEC 2010]ネットゲームの裏で何が起こっているのか。ネットワークエンジニアから見た,ゲームデザインの大原則
  • Introducing ‘htty’, the HTTP TTY - njonsson

    I’ve been hacking instead of writing during my spare time the last couple months. The result is a streamlined console application for exploring web services and web sites. It’s something of a cross between curl and the Lynx browser. InstallationIt couldn’t be much easier. You’ll need Ruby and RubyGems. It’s known to work well under OS X against Ruby v1.8.7 and v1.9.2. FeaturesIntuitive commands an

    Introducing ‘htty’, the HTTP TTY - njonsson
    kamipo
    kamipo 2010/09/07
  • Chefを最速で使いこなすためのいくつかのポイント - Masatomo Nakano Blog

    前回書いた さようならPuppet、こんにちはChef が、それなりに反響あったので調子に乗ってもうちょっと書いてみる。 前回、ChefはPuppetに比べて簡単!とか書いたが、実際には慣れるまでそれなりに戸惑うところがあった。 ドキュメント を読み、実際に触っただけでは一発で理解できなかった部分を、自分のメモを元に晒しておく。これだけ読んでもいまいちだと思うので、関連するドキュメントへのリンクも張っておくので合わせて読んでみると高速でChefを理解できるかも! client vs node Chef Client Nodes ドキュメントを読んだりChefを触っていると client と node という二つのワードが出てくる。この二つは似ているけど別物。 client は文字通り Chef server の相手になるもの。 Chef server にアクセスするものはすべて clien

  • Amazon S3 をバックアップとして使う - いますぐ実践! Linuxシステム管理 / Vol.163

    「いますぐ実践! Linux システム管理」はこちらです。 メルマガの解除、バックナンバーなども、以下からどうぞ。 https://www.usupi.org/sysad/ (まぐまぐ ID:149633) その他、作者に関するページは、概ね以下にございます。 https://www.usupi.org/kuri/ (まぐまぐ ID:126454) http://usupi.seesaa.net/ (栗日記ブログ) https://twitter.com/kuriking/ (twitter) https://facebook.com/kuriking3 (facebook) https://jp.pinterest.com/kuriking/pinterest) https://www.instagram.com/kuri_king_/ (instagram) [バックナンバーのトップへ

    kamipo
    kamipo 2010/09/07