サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Wikipedia
blog.madoro.org
リリース完了 スタディサプリ高校講座/大学受験講座を無事リリースすることができた。 大きなトラブルもなくリリース後数日での「数字」的なものもとりあえず一安心という状況だ。 人生何度ものリリースを経験してきたが、今回のリリースは今までとは違う大変さがあった。 このプロジェクトが始まったのはリクルートの昨年のQuipper買収後少し経ってからになる。既存の受験サプリをQuipperプラットフォームに載せ替えるというのが大きなお題だ。リリース予定は2016年2月末。教育業界、季節性がとても大きいのでこのデッドラインは遅らせることのできない厳しいものだ。 また、今回はシステム面の置き換えだけでなく、受験サプリからスタディサプリへのブランド統合も同時に行った。Quipper開発陣も当然のことながらこれにも関わることになった。 そして、受験サプリからの継続ユーザーもたくさんいるので、課金機能などは既に
元DeNA創業メンバーの渡辺氏が創業した「Quipper」をリクルートが約48億円で買収、現状と今後の狙いを聞いた このこと自体を決断したのはそれなりに前なので、自分の中では今更な感じがありつつも、大きく取り上げられると、やっぱりなかなか感慨深いものがある。 みんなもなんか書いてるし、せっかくのタイミングなので、自分も何か買収される側の変化みたいなものを書こうと思って書き始めてみたのだけど、そこまで大きな変化みたいなものがなかったことに気づいた。というのも買収後、元々Quipperがやっていたこと/やりたかったことの方向性が変わったわけでもなく、ただその方向を強く加速してもらっているという感じなので、とても自然に進んでいる。 上の記事の中でCEOである渡辺さんがモビルスーツという喩えを使っているがまさにそんな感じ(モビルスーツ本当はよく知らないので雰囲気で!)。うまく、PMI(post-m
ここ1、2年、東京オフィスでは積極採用をしていなかったのだが、事業拡大につき積極的な採用を再開している。表に出している公式の求人情報とは別の角度でQuipperとはどういう会社で、どういう人を求めているのか、みたいなことを書いてみることにした。 Quipperの今までと現在の状況 Quipper、創業5年目に入ったところ。最初の3年間はピボットの連続で、教育周りでいろいろなことをやってきたが、3年目の終わりくらいからサービスを絞り、成長フェーズに入っている。スタートアップ初期の荒波、生きるか死ぬかみたいなフェーズは終わっている感じだと思う。そこを楽しんでみたいと言う人にはちょっと遅いかもしれない。今はその次の成長フェーズで、そこを楽しみたい人にはぴったりのタイミング。初期の荒波は、それはそれで正直楽しいのだけど、落ち着いてプロダクト/サービスに集中し良いものを作る!というのは今のフェーズだ
って、大事だなーと思っていてエンジニアの力の差が大きく出るところだと思っている。 新規サービス 新規アプリ ちょっとした社内ツール プロジェクトの進め方の改善 大き目のリファクタリング とかなんでも、とりあえず始めることは簡単だ。ただ、それを形にしてリリースしたり継続するのは難しい。 データベースのマイグレーションが必要だったり、最後の細かいUI調整もなかなか時間がかかる。色々な環境でのテストも必要だ。 技術的以外な部分でも、関係者との調整や、ユーザーへのお知らせ、面倒なことが多い。 開発者なら誰でも実感値あると思うけど「だいたいできた」から「リリース」までの距離はだいぶ遠い。自分の感覚としては「だいたいできた」で良くて半分くらい。楽しいのも最初の半分、後半は楽しくないことが多い。飽きも来る。 (これらの面倒なことを減らすのが、Quipper CTOである自分の役目だとも思っている、がそれ
前提: GitHub flow を使っていてCIサーバーはJenkins 最近ちょっと開発フローの改善をして、とてもよく機能してて満足しているので紹介してみる。 この改善をやる前の悩み: pull-requestでコードレビューはできるのだけど、cssとかjavascriptなどの見た目や動作の変更ってコードだけだとわかりにくい。レビューする人が各自ローカル環境で実行するのもだるい。 コードを読まないデザイナーとかプロダクトオーナーとかの人が、pull-requestのレビュープロセスに簡単に参加できない(非開発者全員のところでローカル環境設定するのはだるすぎる)。 コード的にokに見えてmasterにmerge後、何か問題(特に仕様的な問題や、デザイン的な問題)が発生した場合、「修正branchを作ってpull-request」というフローを再度回さないといけない。最初のpull-req
Wikiというものはとても便利なんだけど、 大量の文章を書くにはWebブラウザのインターフェースはまだまだ辛い オフラインで使えない(文章書くのは電車が一番) 複数の文章を再構成したり、一括で検索したり、置換したりは、Webだとやっぱりきびしい と言った欠点がある。 とは言え、誰でも気軽に編集できるWikiの魅力も捨てがたい。 そこで、「Wikiではあるんだけど、ローカルでも自分の好きなエディタで簡単に編集できるツールないかなー」と探してみたら、 Gitit というWikiを発見した。 ここ数日、結構な量のドキュメントをGititで書いてみて、わりと満足しているのだけど、検索してもGititの日本語の情報があまり出てこないので紹介してみる。 Gititの特徴 コンテンツをGitのレポジトリに保存する。 そのGItレポジトリをcloneして好きなようにいじってからcommit/pushすれば
ここ数ヶ月、Google App Engine/Pythonを使い、初めてちょっとしたものを作ってみているのだけど、開発初期から知っておけばよかったなー、と思うノウハウ/tips的なものをずらずらと書いてみる。 基本的な環境設定は、 以前書いた まま。 0. 公式ドキュメントを良く読む 言うまでもなく、だけど、 マニュアル はもちろん、 この辺 の下の読み物も、流し読みだけでもしておいたほうがいい。 datastoreとmodel的なところ 1. key nameを使いこなす key nameは、レコードの作成時に指定できる(RDBでいう)primary keyの別名みたいなもの。primary key自体は自動的で作成されるので開発者が指定できるのはkey nameだけ。 key nameをうまく使うことで、datastoreを使いやすくすることができる。特にdatastore上で"un
追記: 続編的なものを書いた。 今年は色々なことに手を出してみよう、ってことで少し前からGoogle App Engine(以下GAE)で、あるモノを作っている。モノ自体は近いうちに公表できると思う。 基本的に、Pythonと標準っぽいフレームワークだけでやってみている。作っているものがそれなりにシンプルなのと(だからこそGAE!)、GAEでそれなりの規模の開発をするのが自分自身初めてということもあり、あまり色々なレイヤーを重ねて手こずりたくなかった、ってのがその理由。 ただ、GAE初心者なので、「いやいやそれは今時ないよ」「XXの方が100倍いい」とかあったら教えてくれると嬉しいので今のところの環境を書いておくことにした。今ならスイッチ可能。 今作っているものがJSONファイルを入出力するだけのものなので、HTML生成パートみたいのはない。 1. フレームワーク 上にも書いたように、今回
記事を投稿したのが19日で、普段のvisitor数が数百なので、どかーんと増えてだいたい丸3日で正常運転に戻ったようだ。ほとんどが、はてなブックマークのトップページ(人気エントリ)と、はてなのトップという掲載期間のあるものだから当然か。 twitterは自分が想像していたよりも息が短く、同じように丸3日ぐらいでブログへのアクセスもほとんどなくなり、自分宛のmentionもほとんどなくなった。もちろん、記事の内容や質によってはもっと後を引くこともあるんだろう。 もちろん、リファラーからの分析なので、専用クライントとか、RSSリーダからのものは入ってない。特にtwitterはそういうのが多そうだなあ、と想像はできる。 数字的には、正直なところ、まあこんなものか、という感じ。もう数倍くらい多いのかなと勝手に妄想していた。 ええ、普段はB2BのWebのお仕事なのであまりこの辺の分析をしたことがない
2002年、当時設立したばかりの会社に入り、何もない状態から、コンテンツとシステムを作り続け8年が経った。日々、試行錯誤しながら、それなりに会社も大きくなり、まだ、大成功とは言えないけど、それなりにうまくやってきたつもりだ。 しかしながら、その8年という短くはない時間の中で、色々な課題や問題が発生し、その時々正しい選択をしてきたつもりだったけど、反省点も多い。もう一度スタートアップに参加するとしたら、やり直したいところや、もっと早くこうしていれば良かったというところがたくさんある。 そんなわけで、次の挑戦のときに忘れないように、また、もしかして誰かの参考くらいになればと思い、メモっておくことにした。1 まず、反省点の前に、何をやっているのかというのを簡単に。 ビジネスとしては、英語e-learningのWebサービス(ネットを使った英語のお勉強)をASPな形で、企業や大学などに提供している
前回書いた さようならPuppet、こんにちはChef が、それなりに反響あったので調子に乗ってもうちょっと書いてみる。 前回、ChefはPuppetに比べて簡単!とか書いたが、実際には慣れるまでそれなりに戸惑うところがあった。 ドキュメント を読み、実際に触っただけでは一発で理解できなかった部分を、自分のメモを元に晒しておく。これだけ読んでもいまいちだと思うので、関連するドキュメントへのリンクも張っておくので合わせて読んでみると高速でChefを理解できるかも! client vs node Chef Client Nodes ドキュメントを読んだりChefを触っていると client と node という二つのワードが出てくる。この二つは似ているけど別物。 client は文字通り Chef server の相手になるもの。 Chef server にアクセスするものはすべて clien
ここ最近、サーバの設定ファイルの管理で Chef を使い始めている。まだ全然詳しくないけど、今感じている「Chefの楽しさ」を誰かに伝えておきたかったので、ファーストインプレッションを簡単に。 Puppetを今までそこそこ使っていたので、どうしてもそことの比較な感じになっちゃいます。Puppetも良いのだけど、Chefは後発ということでさらに良くなっている感じ。 基本的な仕組 これは、Puppetとほぼ同じ。クライアント-サーバ型のシステム。設定を書き、それをサーバに置いておく。クライアントはサーバと接続し、自分自身の設定を書き換えたり、必要なソフトウェアをインストールしたりする。 rubyな設定ファイル Puppetは基本的に独自DSLで設定ファイルを記述すので「覚えるのがめんどくさい」「細かいこと、ちょっと無茶なことをしようとすると大変」。Chefの設定ファイルはrubyそのものなので
ちょっと調べてみたのだけど、現実的にあまり使えない気がする。でもせっかく調べたのでメモ。 まず、このブログは Sinatra+MongoDBをnginx+thin で動かしているのだけど、非力なVPSサーバなので、Sinatra+MongoDB+thinをなるべく使わないように できるだけnginxにcacheをさせている 。そのため更新時にはcacheを消さないといけない(トップページとか)。今はデータ更新時に、すべてのキャッシュを消している。ただ、どう考えてもださいので更新したコンテンツだけpurgeできる方法がないか調べてみた(サーバに余裕あれば、毎回backend(Sinatra)に問い合わせてもいいんだけどもね)。 nginxはデフォルトでは部分的なpurgeはできないので、 ngx_cache_purge module を使ってみた。FreeBSDのports (www/ngi
githubには個人でも会社でもお世話になってるので新しくできたJobボードに載せてみた。もちろん求人自体は本物なので興味ある人は応募してください。勤務地は東京です。 https://jobs.github.com/positions/a9bc8e26-a6d5-11df-8cf1-63a2a0cb612b 載せるのはとても簡単。Webフォームに求人内容を書いて、クレジットカード情報を入力して完了。プレビュー含めインターフェースがよくできてるのはさすが。載せると修正用のURLが送られてくるのでtypoとかにビビリ過ぎなくても大丈夫(自分は知らなかったのでかなりビビった)。 どのくらい応募があるのか楽しみ。 この求人についてちょっと補足すると、海外に興味はあるけど、いきなりは海外は自信ないとかの人の練習にちょうどいいと思います。技術があれば英語はこれからでも大丈夫です。日本オフィスにも英語な
(2010-08-30: Rails 3.0.0がリリースされたのでそれにあわせて更新。generator関連が少し変わってる) 前回 の続き。 主に FactoryGirl と MongoMapper の話。基本的に何も考えなくてもそのまま使えるのだけど。 まず、設定。 spec_helper.rb で、 config.use_transactional_fixtures = true を config.use_transactional_fixtures = false にする。そうしないと、ActiveRecord::TestFixtures が呼ばれてしまうのだが、ActiveRecordを入れてないので落ちる。 そもそもMongoDBにはトランザクションとかないのでfalseでいい。 後は、ActiveRecordで使う場合と同じように、FactoryGirlの定義の読み込みを
(2010-08-30: Rails 3.0.0がリリースされたのでそれにあわせて更新。generator関連が少し変わってる) 会社用の、小物Webアプリを作ろうかと思い、せっかくなのでRuby on Rails 3でmongoDB使ってみようかな、と思い、とりあえず環境を作るところまでのメモ。 Rails 3 のインストール とりあえず Rails 3 のインストール。Bundlerで入れる。Bundler自体のバージョンが1.0以上でないとダメみたいなんで、もしそれ未満しか入っていない場合にはBundlerのインストールからする。 プロジェクトのトップディレクトリとなるところを作成し、そこにGemfileを作る。 $ mkdir ~/workspace/hoge_prj $ cd ~/workspace/hoge_prj Gemfile source 'http://rubygems
出張とか旅行で家を空ける機会が多かったので久しぶりになってしまった。 普段はFreeBSDをサーバ用途で使っているのだけど、Macでも手軽に実行できるので紹介してみる。ダウンロードして展開する以外、特にインストール作業いらない。もろもろなパッケージ管理ツールみたいなものを使ってもいいけど、遊ぶぐらいならこれで十分かな。 とりあえず、 ここ から適当にダウンロード。(OS X 64-bit の 1.5.X とか) 次に、mongoDBのデータを入れるディレクトリを作成。 $ mkdir /somewhere/mongodb_data 後は、ダウンロードして展開したmongodを実行するだけ。 $ /foo/bar/mongodb-osx-x86_64-1.5.3/bin/mongod --dbpath=/somewhere/mongodb_data オプションを何もつけないとフロントエンドで
次のページ
このページを最初にブックマークしてみませんか?
『Masatomo Nakano』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く