2012年11月10日(土)、関西オープンソース+関西コミュニティ大決戦のステージで発表したときの資料です。
いつものようにLKMLで駄文を書き散らかしていると、Hugh Dickins 先生からプライベートで忠告メールが KOSAKI のメールにはしょっちゅう hoge->fuga member だどうした。とか出てくるけど、"member"ってEnglishでは"penis"の婉曲表現だぜ。分かって使ってる? な、なんですとーー!! ・・・たぶん、ほとんどの日本人は知らないと思います(;_; 追記: あとで気づいたが、このときは、メモリ回収処理を途中で打ち切る議論をしていたので、メールには sc->may_cut_off member と書いてあった。つまり「ちん○切り落とすぞ」機能を議論していたことになる。 うーん、それは震えが来るかもしれん。
こんにちは、KID.Aです。 iOS 7からは「Background fetch」モードと「Remote notification」モードの新しいマルチタスク機能が追加されました。 Remote notificationの挙動についてで「Remote notification」モードを説明したため、今回は「Background fetch」モードについて説明をしたいと思います。 実装方法 「Background fetch」モードの実装方法を紹介します。 プログラム側 まずは、Xcodeを起動して、プロジェクトを作成します。プロジェクト名は「FetchStudy」にします。 次に、CapabilitiesのBackground Modesを項目を開きます。 Background ModesをONにします。 ModesのBackground fetchをチェックします。 AppDelegat
こんにちは、KID.Aです。 iOS 7からは「Background fetch」モードと「Remote notification」モードの新しいマルチタスク機能が追加されました。 「Background fetch」モードは指定した間隔(厳密には端末依存の間隔になります)でバックグラウンドアプリに通知が来る機能です。SNSのタイムラインなどの最新情報をユーザに見せたい場合に使えると思います。 「Remote notification」モードは、APNsからのプッシュ通知を受け取るタイミングで、バックグラウンドアプリにも通知が来る機能です。主に、ニュースアプリやコンテンツアプリなど定期的に情報更新が必要なアプリに相性がよい機能で、APNsの通知したタイミングでバックグラウンド処理が行えるため、予め重たいデータをダウンロードすることによって、アプリを起動した際に直ぐに最新の情報がみることがで
Rack::Multiplexerという、複数のRackを束ねるものをつくった。 Plack寄せ この前Perl界隈の人達と鍋を囲む機会があって、 !!1;の話、livedoor BlogのPlack化の話、ISUCONの話、 各社古いアプリ抱えていて辛いね苦しいね頑張ろうね若者に1日で書き換えさせようといった話をして、 結局、何となくこの界隈は全体的に「Plack寄せ」が進んでいるねという話に落ち着いた。 Rack寄せ 一方Ruby界隈だと比較的皆Rackに寄っている傾向にはあると思うけど、 もっと寄せてみると面白いんじゃないかと思って、Rack::Multiplexerをつくった。既にありそう。 Rack::Multiplexerは、所謂WebアプリのRouter(=Dispatcher)の処理を行うための実装で、 メソッドやパスの規則に従って受け取ったリクエストを別のRack app
仮想化の分野はどんどんと新しいものが出てくる。全部を実際に試すことは出来なくても、筋が良さそうなものについては、どういうものなのかある程度把握しておきたい。最近はちょっと忙しくてあまり情報収集ができてなかったので、追いつこうと思ってちょっと調べてみた。 ハイパーバイザ型仮想化とコンテナ型仮想化 仮想マシンの歴史をたどると、メインフレームの方では随分と昔から使われている技術である、と出てくる。一方で、x86の世界ではそれほど歴史は長くなく、1999年にリリースされたVMwareがおそらく実用的な初の仮想マシン技術だろう。 VMWareはハイパーバイザ型仮想化と呼ばれる技術で、上に乗るOS(ゲストと呼ばれる)に対して仮想的なハードウェアを提供する。ハイパーバイザ型も、どのレイヤで仮想的なハードウェアを提供するかで更に細分化されるらしいが、よく知らないので、ここではそこまでは踏み入らない。ハイパ
今日のタイトルは、2004年(すでに10年近く前)に梅田望夫さんが羽生善治三冠から聞いた話として紹介された概念で、簡単にいえば、 ・インターネット学習が登場したため、初心者でもすぐに巧くなれる(ある地点までは、高速道路を走ってすぐに着ける) + ・多くの人がすぐ巧くなれるため、上級者間での競争はさらに激化しており、「ある程度、できます」というレベルから一歩抜け出すのはめちゃ大変になりつつある(高速道路の先は大渋滞してる) という話ですね。 元記事→ 「インターネットの普及がもたらした学習の高速道路と大渋滞」 上記は将棋の話でしたが、ポーカープロの方も全く同じことを力説されていました。いわく 若い人は、これまでの人より圧倒的に強くなっている。 理由はオンラインでポーカーの練習、対戦ができるようになったから。 オンライン対戦のほうが、カジノでのライブなゲームより圧倒的に効率良く学べる。なぜなら
10月末に引っ越しをしたんですが、忙しかったこともあり個別に見積もりを取るのが面倒で、引っ越し一括見積もりサイトというのを使ってみようと思ったんですよ。 ちょうど案件がドバーッと来てた時期ですごく疲れてて、朝おきて目に入った日経かなんかの新聞系メルマガに広告が入ってて、うっかりクリックしちゃったんですよね。 ちょっと考えれば分かることなんですが、今振り返ると疲れてて判断力が低下していたんでしょうけれども、これがもう本当にひどかったので備忘。 サイト経由で見積もりを頼んだ 現住所の郵便番号と、引越し先の都道府県名を選択、引っ越し人数を記入してワンクリックでざっくり見積もり。 あとはなんかまあ引っ越しするのに持っていくもの(ベッドはあるか、冷蔵庫や洗濯機は持っていくか、洗濯機はドラム式かどうか、など)をポチポチ選択し、最後に業者に依頼したい内容みたいなのをフリーワードで記入する欄があったので、
Low-hanging fruit. 初めて聞いたときは、へー英語ではそんな風に言うんだと思った。 Low hanging fruit とは、低いところにぶら下がっている果実。 ビジネスプランを作る際、大きな目標を掲げるにしても、その最終目標に到達するために、まずはすぐに始めらる「=手が届く果実」まで落し込めなければ、いくら正しいと思われるプランでもなかなか先に進まないことが往々にしてある。 それ以来、ビジネスプランを書く際は、最後に実行できるプランまで落とし込めているかどうか、自問自答のため、Low hanging fruit. Low hanging fruit. Low hanging... と、ぶつぶつ呟く(笑) そんな感じでポジティブなな意味あいで使っていたのですが、本日ネガティブな意味で使われているプレゼンを聞きました。Low hanging fruit とは、成果の出やすいこ
2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。本件に関する詳細は、プレスリリースをご確認ください。 2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。 本件に関する詳細は、プレスリリースをご確認ください。
最近、この話題について経営者目線の話が多かったので、エンジニアのスキル獲得戦略とその最大化という観点から話をする。 まず目下のウェブエンジニアとして一番の課題は、「35歳定年説をどう乗り切るか」、ということだろう。もちろん、みんな35歳定年説なんてのが、まやかしであるとはわかっている。若い業界だったウェブ業界も成立してからだいぶ経ち、結果として平均年齢が押し上げられ、自然と35歳以上のエンジニアも増えてきた。 問題は、人月という概念によって、できる人間とそうでない人間の区別がされていないことだ。ウェブエンジニアとしての悲哀や業界の歪みはここにあると思う。下手に謙遜したりして話をややこしくする前に言ってしまうと、自分をできる側の人間として話をする。 生産性を測る確固としたメトリクスがないのも事実だと思うが、すくなくとも熟達した人間と未経験者がおなじ1人月というのは、到底ありえない話だと思う。
30年以上にわたり使い続けたシステムを入れ替える。企業ITに携わる人間ならば、その困難さを想像するのは難しくないはずだ。このほどANAは、8年間の歳月をかけて、国内線の予約、発券、搭乗業務を支える旅客システムをオープン化。34年間、ビジネスを支えたメインフレームに別れを告げた。プロジェクトの指揮官に話を聞く(文中敬称略)。聞き手:田口 潤 IT Leaders発行人 Photo:陶山 勉 ――今回、8年間にわたる国内旅客システムの刷新という大規模プロジェクトを終えた訳ですが、もともと、いつ頃から検討を始めたのですか?金子:“次”を考え始めたのは、2000年頃だったと思います。30年以上にわたって、メインフレームを使い続けてきましたが、そのころから限界を感じ始めていたのです。 コストについては、必要経費ですから、それほど問題視していませんでしたが、むしろ、技術者の確保には頭を悩ませていました
先日もLGBTの件でツイッターを騒がせた猪瀬さんだが、今度はツイートする英語がヒドいということで、日向某とかいう猫にディスられている。確かに世界有数の巨大都市の市長なのだから、誰か英語が堪能なヤツ—それこそ、この日向キャットとか—に任せればいいのにとも思う。が、とにかく気の毒である。 猪瀬さんの英語をバカにする人たちを見ていると、つい最近までの自分自身を見ているようだ。自分が少し英語ができるからといって、そうではない人たちの間違いを指摘し、せせら笑い、そうした行動の背景にある自分の器の小ささと劣等感の大きさに気がつかないアホたちだ。 14歳で渡米したぼくは、アメリカでは移民という扱いになっている。そして、これは移民の子供なら誰しも通る道であるが、段々自分の英語力がつくにつれ、親の話す英語が拙く聞こえ、恥ずかしく感じるようになる。我が家の場合も、父親はからっきし英語ができなかったし、アメリカ
「オープンソースソフトウェア(OSS)」と聞いて、あなたがイメージするものはなんですか? 多くの人は Linux や Apache、Firefox といった成功した大規模なソフトウェア製品を思い浮かべることでしょう。 実は、ウェブ上でサービスを提供する会社のエンジニアたちは、これらとは別の種類のOSSを使って仕事をしています。このブログエントリでは、そのようなOSSを紹介し、それらがなぜ開発され使われているかを説明したいと思います。 ■ウェブ企業におけるOSS開発の実例と合理性 下の図は、Perl で記述される大規模ウェブアプリケーションの一般的な構成を示しています注1。このうち、「自社ロジック」と書かれているところ以外は、全てオープンソースとして開発/公開されているモジュール(ソフトウェア部品)です。各社のエンジニアが密接に協力しながら、ミドルウェアをオープンソースとして整備していること
ちょっと前から groonga を使うとプロセスサイズが肥大化するのが気になっていて、メモリ関係を色々調べていたのですが、そこでわかったことなどを書いときます。 malloc() しただけではOSのメモリは使用されない メモリを1GB獲得するだけのこんなプログラムを作って実行してみます。 #include <stdlib.h> #include <unistd.h> #include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { char *p; char buf[1024]; int i; p = malloc(1024*1024*1024); gets(buf); for (i=0; i<1024*1024; i++) memcpy(p+i*1024, buf, sizeof(buf)); pause(
This is why you shouldn't interrupt a programmer (なぜプログラマの作業に割り込むべきではないか) という4コマ漫画が話題になっていた。これは別にプログラマではなくても「わかるわかる」という感じの話。 コメントを見ると、だから作業を中断してもすぐ再開できるように自分の考えることをなるべく書き出すようにしているという人が結構多かった。なるほど。 今日は雨が降ったせいで予定が一つキャンセルになったことだし、ちょうどいい機会なので、文章で何かを書くということについて自分が思っていることを書いてみようとおもう。以前 Software Design のドキュメントの書き方特集みたいな号に似たような趣旨の話を寄稿したのだけど、「書く」というのは単に物事を忘れないようにするための行為に留まるものではなくて、自分の考えを整理するための道具なのだ、ということが
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く