データベースライブラリであるTkrzwの初版をリリースした。Kyoto Cabinetの正式な後継製品である。本家のサイトはここである。設計目標の通り、高速かつ堅牢で多目的に使える実装になったと思っている。私の下手な英文を読ませるのも忍びないので、ここに概要を書いておこう。 ダウンロードとインストール このディレクトリにソースファイルのパッケージが置いてあるので、ダウンロードする。あとは典型的なインストール手順を踏襲すればよい。 $ tar zxvf tkrzw-0.9.1.tar.gz $ cd tkrzw-0.9.1 $ ./configure $ make $ make check $ sudo make install自分の環境でもテストをしたいという人は以下のコマンドを実行してもよいし、しなくてもよい。テストケースはGoogle Testを使って書かれているので、予めそれをインス
この前、Twitterで誰かが「コンパイラ言語でFizzbuzz書くなら、コンパイル時に全ての演算を済ませ、実行コストはI/O命令1個になるように最適化しないと」という話をしていた。いいこと言うな、と思ってスルーしていたのだが、体調不良で頭だけ動いている状態だったのでC++11でトライしてみることに。 案ずるより産むが易しというもので、割と簡単に綺麗に書けた。こんな感じ。 char配列を可変長のテンプレート引数として結合していって、文字列定数を生成するというテクニックは実際に使い所があるかもと思った。最近C++書いてないけど。 #include <cstdio> template <typename LHS, int N> struct numstr { template <char... Args> struct append { typedef typename numstr<LHS,
今年で20周年を迎えるプリクラ。近年は「デカ目」「美肌」加工でも話題です。そんなプリントシール機シェアNo.1であるフリューのプログラマー、八田育子さんにお話を聞きました。女の子のかわいく写りたい願望を叶えるために、プログラマーに求められることとは? 今回は聞き手として、サイボウズ・ラボの竹迫良範さんも登場です。 スマホ時代にプリクラは今こそ全盛期、女子中高生の9割がユーザー 竹迫)先日、久しぶりに家族でプリクラを撮ったんですけど、今のプリントシール機って、すごく進化していますよね。撮影と落書きのブースが分かれていたりして。 そうですね、レジャー施設などに設置してある特殊なもの以外は、すべてブースが分かれています。回転率を上げるためと、落書き時間を長く取るための工夫ですね。最近の機種では、お金を入れるところも外で、先に背景などを選んでから、撮影だけ中で行って、終わったらまた別のブースで落書
そう。タイトル通りだ。筆者、江添亮はドワンゴに雇用された。一体、どのような経緯でドワンゴに入社するに至ったのか。また、どんな仕事をしているのか。それを説明するには、時系列を追って書いたほうがいいだろう。 2013年8月21日 ふとみると、以下のようなサブジェクトのメールが届いていた。 【ご相談】ドワンゴ主催の C++11, 14 に関する勉強会にスピーカーとしてご参加頂けないでしょうか C++11? C++14? なんと、日本にC++14などという単語を知っている企業があったのか。しかし・・・ドワンゴ? SPAMだろうか。いや、こんなにピンポイントなSPAMがあるわけがない。 それにしても解せないメールだ。ドワンゴといえば、もちろん、あの有名なニコニコ動画の企業だ。ニコニコ動画と言えばWebサイトだ。ニコニコ動画やその関連サービスの開発にC++を使っているのだろうか。いやまて、たしか子会社
「Intel Concurrent Collections for C++」(CnC)とは 実際並列処理はややこしいしおっかないです。大きなキッチンで大勢のコックが包丁とフライパン振り回しているようなもので、ほっとけばしっちゃかめっちゃかになっても不思議じゃない。各人はそれぞれの役割に専念し、他人のふるまいを気にせず勝手に働きながらも全体としては統制のとれた動きを作り出さにゃなりません。mutexで排他制御したりjoinで完了を待ったり、さまざまな道具を駆使して統制のとれた動きを作り出しているのはプログラマであり、そこがいちばん難しく悩ましいところです。 C++,C#あるいはVB,Javaもそうですが、コードは原則的に並べた順に実行されます。 と書けば、まずf()、それが終わればg()、しかるのちh()の順で呼び出されます。たとえこの3つをどの順にやっても(あるいは同時にやっても)構わない
Embarcaderoが出したモバイルアプリ開発への解とは ──モバイルアプリ開発に注力する理由を教えてください。 de la Lama:今やモバイルが主流だからです。多くの企業が、「モバイルファースト戦略」を採っています。世界が劇的に変わっているのですから、ツールも変わらなければいけません。 世界中にあるクライアントの台数を見てみましょう。Windowsが10億台、Macが6500万台の規模なのに対して、モバイルは10億台、そしてWebは20億クライアントという規模です。今後も、ダイバーシティ(多様性)が強まる傾向が続くでしょう。開発者にとってもマルチデバイス対応は急務です。 ──Embarcaderoは、マルチデバイス対応について、どのような特色を打ち出そうとしているのですか。 de la Lama:私たちの狙いは、「ラピッド(迅速)なマルチデバイス開発」です。 マルチデバイス開発では
OpenVDB is an Academy Award-winning open-source C++ library comprising a novel hierarchical data structure and a suite of tools for the efficient storage and manipulation of sparse volumetric data discretized on three-dimensional grids. It was developed by DreamWorks Animation for use in volumetric applications typically encountered in feature film production and is now maintained by the Academy S
最近 fluentd というツールのことがたいへんよく話題に上がっており、かく言う自分もささやかながら使用している身なのだが、それはそれとして比較対象に上がってくるツールに scribed というものがある。これがどういうものなのか、話には聞いていてもよくは知らないという人が多いようなので、これもささやかながら触ってみている自分としてはここらで一度まとめておかねばなるまい、と思った次第である。 日本全国に10人くらいはいるかもしれない scribed のヘビーユーザ各位に捧げる。 なお記憶と経験だけを頼りに書き殴るので、意思決定の重要な局面とかで「これこれこういうブログにたごもりすなる者がこのようなことを書き残しており」などと引用するのはくれぐれも避けていただきたい。 また途中から思いっきりビール飲みながら書いたので文章自体の品質にも問題のある可能性がある。 そも scribed とは何か
PHP advent calendar です。 クリスマス過ぎましたけど 12/26日をお送りします。(google docsに名前書き忘れていたんだよ) 前回 12/25日は、@yoya さんの「Windows で PHP を build する」でした。 今回は、facebookの人が作った PHP を C++ に変換して高速動作させるという hiphop php がジェネレートする C++ のコードを読んでみたいと思います。 C++は厳格な静的型づけの言語ですが、PHPは動的型づけの言語です。 これをどうやって、変換しているのか?という話です。 非常に長く、眠い話になりますが、寝ないで読んでいただけたら嬉しいです。 間違いなどありました、ぜひ教えてください。 hiphop php を入れよう。 そもそもhiphop php を入れるのはすごく大変です。 Scientific Linux
2011年12月6日火曜日 「ぐへへお姉ちゃんパンツ何色」から始めるクラス解説 「ぐへへお姉ちゃんパンツ何色」はこれ以上ないほどオブジェクト指向であり、しかも理想的な実装をしていることに気づきました。これを用いてオブジェクト指向を説明してみようと思います。 ある人が「ぐへへお姉ちゃんパンツ何色」と質問するのは、お姉ちゃんオブジェクトの保持するpants_color変数を取得しようとする手続きと見ることが出来ます。つまり oneechan.pants_color を取得しようとしているわけです。 ではどうすればいいのでしょうか? 考えてみましょう。直接パンツを見ればpants_colorを取得することができますね。 クラスを使わないとすればこんな書き方が考えられます。 struct oneechan{ int pants_color; }; 構造体でひな形を宣言します。
こんにちは、人恋しい季節になってきましたね。 研究開発チームの祢次金(@nejigane)と申します。 本エントリではCinderというクリエイティブなコーディング向けのライブラリについてご紹介したいと思います。 Cinderとは Cinderとは、画像、音声、動画等を簡単に処理&可視化できる、主にビジュアルデザイン向けの強力なC++ライブラリであり、The Barbarian GroupのAndrew Bell氏が中心となってオープンソースとして開発が進められています。 同様の思想を持つProcessingやopenFrameworksによく似ており、C++で簡単に記述できるうえ、Windows、MacOSX、iOS(iPhone/iPad)といった複数のプラットフォームをカバーしています。 細かい機能/特徴の紹介は本家サイトに譲るとして、Cinderを極めるとどのぐらいクリエイティブな
A fast and simple algorithm for approximate string matching/retrieval SimString is a simple library for fast approximate string retrieval. Approximate string retrieval finds strings in a database whose similarity with a query string is no smaller than a threshold. Finding not only identical but similar strings, approximate string retrieval has various applications including spelling correction, fl
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー C++の言語仕様を個別に関連づけながら図にしたのを見つけたんだけど,これがすごい。George Mason大学のSeal Lukeさんいわく「正しくかつ完璧なC++パーサーを作るのは数学的に不可能」なのだそうで,さもありなんと頷ける。 余りに巨大なので縮小してる。クリックで元画像を開きます。 同じようにして作ったC言語の文法図はこんなかんじ。 C++を華麗に使いこなせるのは,Googlerみたいに頭のよい人だけなのかも...。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く