スタートアップやプロダクトの成功に必要な「アイデア×プロダクト×実行×チーム×運」の 5 つの項目について解説した概要のスライドです。急成長するプロダクトの初期に役立てていただければと思います。 プロダクトマネージャーやスタートアップの CEO の方向けにどうぞ。 ※ Japan Product Manager Conference 2016 の登壇資料です
スタートアップやプロダクトの成功に必要な「アイデア×プロダクト×実行×チーム×運」の 5 つの項目について解説した概要のスライドです。急成長するプロダクトの初期に役立てていただければと思います。 プロダクトマネージャーやスタートアップの CEO の方向けにどうぞ。 ※ Japan Product Manager Conference 2016 の登壇資料です
ピクシブ株式会社が2007年に開設したイラストコミュニケーションサービス『pixiv』は、おかげさまで9月10日で8周年を迎えました。 これを記念して、9月18日、東京・千駄ヶ谷のピクシブ本社にて“ピクシブ開発史を語る会”が開催されました。今回はこの様子をダイジェストでレポートします。 「最初は2000ユーザーが目標だったのが1500万ユーザーにもなってビビっています」と語る、pixiv生みの親・馬骨さん(上谷隆宏)の乾杯の音頭でパーティはスタート。 pixivの8年の歩みをふりかえるトークセッションと、ご来場のゲストのみなさんも交えた懇親会の2部構成で行われました。 1500万ユーザーのトラフィック18Gbpsを捌くインフラ技術 トークセッションの1番手は、インフラ技術について。pixivが大規模なトラフィックをどのように処理しているか、現在のpixivのサーバ構成などのお話です。 この
成長する過程を見せていく形で、Sayaの旅は続いてゆく。 これ迄、ツーショットの記念撮影、手話の表現、 ノンバーバルコミュニケーションを使用したインタラクション、 案内板での補佐的立場として起用されるなどコミュニケーションに特化した形での開発に挑戦してきた。 既存の3DCG技術に加え、画像認識をはじめとするAIの活用や、大型モニタを使用した等身大での描画、 展示などを通して、彼女が果たそうとしている役割は、少しづつ明確になってきている。 そうした中、声を主体としたコミュニケーションに対する切望があがるようになってきた。 声質や話し方、話す際の所作など、人間が無意識の中で行なっている全ての事柄は、複雑さや流麗さ、 その多様性に驚きは隠せない。 時間の流れが加速したこの時代に、流される事なく愛情を込めて、 時間を費やして一つ一つの表現を実現していく事で、受け
PSDからコーディングに必要な情報を抽出する技術がAdobeからCreative Cloud Extractとしてリリースされており、BracketsではExtract for Brackets (Preview)(以下Extract)というエクステンションとして、インストーラーに標準で組み込まれています。 Extractを使用することによりBrackets内でPSDを読み込み、各種コード・画像をその場でコードヒント(Ctrl+Space)で抽出・反映させることが出来ます。 コーディングの効率化に大きく貢献してくれるExtractのどのように使えばよいか、順を追ってご紹介していきます。 基本的な使い方はこちら→Bracketsの機能紹介、使い方解説 その他の便利エクステンション集はこちら→ Brackets おすすめエクステンション集・解説 下準備~起動 Extractを使用するには、Cr
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? というテーマで東京Node学園祭2015でセッションさせて頂くことになったので、先に整理/メモ的ななにかを。 (追記)以下資料で発表しました。 大規模Node.jsを支える ロードバランスとオートスケールの独自実装 http://www.slideshare.net/kidach1/nodejs-54841327 作ったもの ・スマホゲーム(マルチプレイアクション) 【公式】メザマシフェスティバル(メザフェス) | 株式会社アカツキ https://mezamashi-festival.aktsk.jp ・2D横スクロール ・マルチプレ
適合状況 EdgeのBad Good理由 Edge (10547)では,await中に発生させたthrow(例外)をtry-catchでcatchできなかった点がマイナスです(Edge Async Functions 異常系の挙動 参照)。 Async Functionのメリットは,非同期処理で陥るcallback地獄からの解放と,正常時の後続処理や例外処理がコールバックではなく同期的に記述できる点が重要な要求仕様ですので,今後の改善に期待しています。 Edge (10565)より,await中に発生させたthrowがcatchできました。 Edge (10565)はawait中にUIスレッドもブロックされません。 BabelのBad理由 Babelでもawait中に発生させたthrowをcatchできました。 Edge (10565) ではUIスレッドがノンブロッキングで素晴らしいのです
仕事で成果を挙げたいのなら、何かをオウンしろという。 たとえばモジュール。機能。ライブラリやフレームワーク。まとまったコードを書いて、あるいは引き取って、自分の持ち物にする。バクを直し、人のコードをレビューして、持ち場の面倒を見る。 何かをオウンするのが、自分はあまり好きでない。なにしろめんどくさい。 コードをオウンするのは家を買うようなものだろうか。持ち家に憧れローンを組む人はいる。コードの対価として重責を引き取る人もいる。気持ちはわかる。自分にも憧れがあった。でも今は月々の返済に追われない身軽さが勝る。我ながら気が弱い。 オーナーシップには副作用もある。自分の所有権を守りたい心理が働く。領土を壁で囲いたい誘惑に駆られる。執着と責任の磁場に包まれて正気と勇気を保てるのか。 何もオウンせず働くのは借家暮らし。あるいは居候。部屋をひとつ間借りする代わりに家主の仕事を手伝う。コードから虫を追い
JavaScriptを記述する上で、避けて通れないのが非同期処理。 人類は、長い年月、この非同期的な処理を「如何にして書きやすく、読みやすく記述するか」について探求してきました。 要するに†闇†の塊なのですね。(闇に飲まれよ!!!!) この物語は、そんな†闇†の存在だった非同期処理を、人類がどのように苦しみ、そしてどのように解決していったかを書いていくポエムである。 補足:厳密には、JSはシングルスレッドで動くため、非同期処理は存在しない!と言ってしまえばそこまでなのですが、今回はsetTimeoutやajax通信、onloadイベント登録など、見かけ上、非同期的な挙動を示すものすべてを対象に話していきます。 第一章 ~人類はsetTimeoutを採用しました~ 古代のJavaScriptで、以下のような処理をしたい場合、どうしていただろうか。 「ブラウザ更新直後に『a』を表示し、その2秒
TravisCIのビルドの流れを知ろう! 1. Githubから(.travis.ymlが配置されている)リポジトリをgit cloneする git cloneの際に、オプション--depth=50が付いています 2. cloneしたリポジトリに移動する 3. git checkoutしてコミットしたコードを取得する .travis.ymlに書いた環境変数はここで適用される 4. キャッシュを使う場合、キャッシュを取得する 5. 使用するRubyのバージョンを指定する 6. before_installで定義したものが実行される キャッシュを使う場合、ここで追加される 7. installで定義したものが実行される 8. before_scriptで定義したものが実行される 9. scriptで定義したものが実行される exitコードが0ならば成功、それ以外は失敗と判定される 10. af
こんにちは。技術部の吉川です。 クックパッドでは、ユーザーが快適にサービスを利用できるように本番環境でのパフォーマンスを向上させるための様々な工夫がなされています。 ところでパフォーマンスを気にするのは本番環境だけで良いのでしょうか? 開発環境に目を向けると、そこにもユーザーがいます。開発者です。開発環境のパフォーマンスが向上することで、開発者が快適にサービスを開発できるようになります。 今回はそういった開発環境でのパフォーマンス向上のための取り組みについてご紹介します。 ※ なお先日 Ruby2.2化されました が、今回紹介するものはそれ以前に実施されたため、Ruby2.2で同じ結果になるとは限りません。 状況 今回対象とするのはcookpad.comのアプリケーションです。 近年はMicroservices化を進めていますが、それでも本体のレシピサービスのアプリケーションは依然として非
情報処理学会は10月11日、「コンピュータ将棋プロジェクト」の終了を宣言した。事実上プロジェクトの目的を達成したと判断したとしている。 【コンピュータ将棋「あから2010」のキャラクター】 プロジェクト(正式名称「コンピュータ将棋『あから』強化推進委員会」)は2010年、同学会の創立50周年を記念して、「3年を目標にトッププロ棋士との対局を実現し勝利を収めること」を目指して始まった。 同年10月11日に清水市代女流王将(当時)とコンピュータ将棋「あから2010」が対局し、「あから2010」が勝利。その後のプロ棋士とコンピュータ将棋の対戦でもコンピュータ将棋が互角以上の結果を残し、またコンピュータ将棋の実力は2015年の時点でトッププロ棋士に追い付いている(統計的に勝ち越す可能性が高い)という分析結果が出ているという。 羽生善治四冠のようなトップクラス棋士とコンピュータ将棋の対戦は実現
ぼくはその日を善く生きたかどうかは AdSense の収益で決まると思っているので、以前にも AdSense のレポートを CLI で確認できるツール を書き、この記事にもあるように tmux のステータスバーに収益を表示していつでも確認できるようにカスタマイズしている。これは具合がよくてずっと使っていたのだけど、最近 tmux.conf をいじっていたらだんだん表示領域が手狭に感じられてきて、ターミナルから追い出したくなってしまった。くわえて、人にターミナルを見せると「ほうほう motemen さんの今月の収益は 9 円ですか……」といらぬ情報を人に与えてしまう問題もあり、ここはひとつ最近はやりの Electron を使ってメニューバーに表示してしまおうということしたのだ。 使用イメージはこちら。ここ7日分の収益を、日別に集計してメニューに表示している。アイコンの隣の数字はその合計(数字
日本家屋で、畳の上を歩く時に、縁を踏んではいけないと言われたことはありませんか? 畳の縁を踏んではいけない理由は諸説あるのですが、一つでも知っていたら、納得できることもあると思うので、2つ紹介してみます。 床下に敵が忍び込んでいて、畳の縁の隙間から刀を突き刺してくるかもしれないから なにをバカなことを言っているのかと思うかもしれませんが、床下に敵が忍び込んでいて、畳の縁の隙間から刀を突き刺してくる可能性があるので、畳の縁を踏んではいけないのです。 戦国時代や江戸時代は日本中の家が畳だったのだと思う人もいるかもしれませんが、そんなことはなくて、実は板の間が主流でした。畳は手間もかかるし高価だから。 だから、裕福な商人や武将しか畳を敷くことはできなかったのですが、そんなお金持ちになると、命を狙われることもあります。 忍者は床下に潜んでいて、この畳と畳の隙間に刀を差し込んでおいて、上を通った時に
こんにちは。そしてみなさん初めまして、フロントエンドエンジニアの奥野です。 Twitterなどでは@armorik83として活動しており、Qiitaにて『AngularJSモダンプラクティス』を掲載したところ、とてもご好評頂きました。また、京都市出身でng-kyotoというAngularJSユーザグループの代表も務めています。 そんな私ですが、この度弊社の@kyo_agoと知り合った縁がきっかけで9月より入社と決まり、すぐさま京都から引っ越しフロントエンドエンジニアとして配属されました。 第60回HTML5とか勉強会 -ECMAScript 2015 & 2016-にて登壇 入社して間もないころ、突然「HTML5とか勉強会」への登壇オファーが舞い込んできました。HTML5とか勉強会とは、HTML5を中心に取り扱うコミュニティhtml5jが定期的に開催する勉強会で、今回のテーマはJavaSc
youtu.be http://gmork.in/cyro/ サンプラー。 キーボードを押したら音が増える。 [A-Z] : 音を入力 Shift + [A-Z] : そのキーの音をすべて削除 / : 設定パネルの表示 / 非表示 一応ソース fand/cyro · GitHub Cycle.js / RxJS の感想 Cycle.jsとは cycle.js.org Cycle.js は Unidirectional dataflow / Model-View-Intent を実現するWebフレームワーク。 RxJS 及び virtual-dom を使って書かれており、開発者もこれらを利用することになる。 作者の André Staltz 氏は Rx オジサンで、Rx に関するサイトを幾つか作ってる。 Flux や Elm, Famous のアーキテクチャを解説した記事は少しバズったので、
Googleの認証がいよいよ2段階認証としてセキュリティキーをサポートするようになった。 従来の2段階認証ではグーグル認証システムなどが生成する6桁のOpen Authenticationワンタイムパスワード(OATH OTP)を利用していたが、新たにFIDO Universal 2nd Factor(U2F)に準拠したハードウェアトークンを利用できるようになったのである。 早速試してみたので報告したい。 背景 U2Fは2段階認証にさらなる安全性と簡便性をもたらすことになる。 まずは簡便性について。OTPでは6桁の数字を制限時間以内に手で打ち込まねばならなかったが、U2FではUSBポートに挿さったトークンをタップするだけなので簡単である。ただしこれについてはOTPでも簡単にする方法はいくらでも考えられるので、必ずしもU2F特有とは言えないであろう。 重要なのはセキュリティである。OTPは確
■なにをしたの スプラトゥーンのナワバリバトル中にどのような通信が行われているのか確認しました。ARPスプーフィングによって、Wii Uから自宅ゲートウェイへ送られるパケットを覗いてみました。使用したツールは下記の2つです。 nighthawk: ARPスプーフィングします Wireshark: パケットキャプチャします ■通信内容 ソフト起動後に、Amazon Web ServicesとSSLで通信していました。Miiverseと、ランク・ウデマエなどの戦績を、AWSとWii U本体間で同期していると思います。AWS導入事例で書かれているところの、「DataStore機能」と「Miiverse」ですかね。 ロビーに入ると、シリコンスタジオ株式会社のサーバーとUDPで定期的に通信していました。フレンドのオンライン状況を定期的にとりにいっているようです。マッチングについては、シリコンスタジオ
先日、「いまの国語の授業は、体育でプロスポーツの映像を鑑賞するようなものだ」というエントリを書いた。国語も体育と同じように実践型にして、アウトプット中心にすべきだ、といった内容だった。 とはいえ、国語の授業を実践型・アウトプット中心でやるのは、正直たいへんである。アウトプット型といえば、テーマに沿って作文を書くとか、読書感想文を書く、といったものが思い浮かぶが、これはなかなか苦しい。生徒も苦しいが、先生の側も、きちんと評価したり、指導するのは相当むずかしい。もし、これを国語の授業で毎回やるとなれば、おそらく地獄だろう。 作文や読書感想文のように、自分のオリジナルな考えを書かせるというのは、かなり敷居が高い。そこまでしなくても、アウトプットの訓練はできる。プログラミングの世界で「リファクタリング」と呼ばれているものが、この訓練にちょうどいいように思う。「リファクタリング」とは、かんたんにいえ
アニマネの内部ではアプリとサーバー間でどのようにデータを受け渡ししているかという話をしてみます。 一般的にアプリとサーバー間のデータの受け渡しだとJSONやXML、YAMLなどが多いと思います。 ここにSQLiteという選択肢を入れると色々幸せになれるという話です。 もはや何で今までJSONという固定観念が捨てられなかったのかというぐらい、個人的にはコロンブスの卵でした。 あまり事例はなさそうなので、ここで紹介してみます。 アニマネでの問題点 アニメアプリのアニマネでは主にアニメの番組表やニュースをサーバーから受け取って表示しています。 都道府県にもよりますが、一つの都道府県の1週間分の番組表(アニメだけ)をJSONにすると大体750KBぐらいになるんですね。 これを開発初期ではMessagePackに置き換えてました。 話の本筋とは関係ないですが、JSONよりはMessagePackの方
4年前にHashDos(Hash Collision Attack)に関する効率的な攻撃方法が28C3にて公開され、PHPを含む主要言語がこの攻撃の影響を受けるため対策を実施しました。しかし、PHP以外の言語が、ハッシュが衝突するデータを予測困難にする対策をとったのに対して、PHPは、GET/POST/COOKIE等の入力データの個数を制限するという対症療法を実施したため、PHPにはHashDosに対する攻撃経路がまだ残っているということは、一部の技術者には知られていました。例えば、以下の様なつぶやきにも見ることができます。 だって、 hashdos 脆弱性の時、 Python とかの言語が、外部入力をハッシュに入れるときに衝突を狙えないように対策したのに、phpだけPOST処理で対策したからね? json を受け取るような口もってるphpアプリのほとんどがhashdos残ってるんじゃない
みずほ銀行は、スマートフォンで人気の無料通話アプリ「LINE」を使って、口座の残高などを簡単に確認できる国内初のサービスを15日から始める。 みずほ銀行の「トーク画面」で感情や用件などを表したイラスト「スタンプ」を送るだけで、残高と直近10件までの入出金が見られる。サービスの充実で若年層の囲い込みを狙う。 初回だけ店番号や口座番号、氏名などを登録する必要があるが、その後は暗証番号などを入力する必要はないのも特徴だ。
async/await は ES7 の機能で、非同期処理を記述する上で非常に便利な機能である(仕様は安定していないと思う) まだ実装している処理系はないと思うが、babel などの transpiler をつかうと利用できる async/await をつかうと非同期処理を以下のように書くことができる function a() { return new Promise(function(resolve, reject) { setTimeout(function() { resolve('hello, ') }, 0) }) } async function b() { var value = await a() return value + 'world' } async function c() { var value = await b() console.log(value) ret
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く