タグ

ブックマーク / kray.jp (11)

  • 受託開発しながら自社サービスを作る時に工夫したこと

    はじめに クレイはWebシステムやスマートフォンアプリなどの依頼を受けて開発をする受託開発を事業の柱としています。新事業として、DocBaseという情報共有サービスを開発、運営しています。 自社サービスやスマートフォンアプリの開発に何度も挑戦し、失敗と改善を繰り返しながら工夫したことをご紹介したいと思います。 これまで開発した自社サービスやスマートフォンアプリ 「受託開発会社が自社サービスに挑戦する」というのはよくある話ですが、弊社もこの8年間、様々な自社サービスに挑戦してきました。 公開せずに開発途中で断念したものを含めると、全部で11プロジェクトあったようです。 iPhoneアプリ x 4(公開 3) Webサービス x 7(公開 4) iPhoneアプリの総ダウンロード数は318,000、総売上は19,460ドルでした。 Webサービスは次のように寂しい感じですが少しずつ成長が見られ

    受託開発しながら自社サービスを作る時に工夫したこと
    satosssi
    satosssi 2015/10/19
  • CoreOSで作るローカルの開発環境

    はじめに ローカルで開発してる時にMacに直接環境を作って開発してる方が多いかと思います。 自分も前はそうしてたのですが、特定のバージョンじゃないとうまくビルドできないライブラリや特定の条件の動作環境を用意したりするのがやりずらかったので、VMのLinux上で開発するようになりました。 それに加えて最近はDocker使って複数のマシンで同じ開発環境をすぐ用意したり壊したりできる仕組みにしています。 今回はその辺のことを書きます。 CoreOSとは https://coreos.com Dockerのコンテナを動かす用途に特化したOSです。 なので、余計な機能があまり入ってなくて良いです。 VirtualBoxのインストール まず、CoreOSを動かすのにVirtualBoxをインストールします。 ここからダウンロードしてインストールします。 https://www.virtualbox.o

    CoreOSで作るローカルの開発環境
    satosssi
    satosssi 2015/02/04
  • DockerコンテナをCapistranoでデプロイ

    開発環境と運用環境の差異 Railsアプリの開発をMacでしている人は多いと思います。しかし番では大抵Linuxマシンで運用するため、実行環境の違いから問題が発生することがあります。特にサードパーティ製ライブラリやツールを使う場合、MacLinuxで同じ動作をする保証はどこにもありません。また、開発にLinuxマシンを使っていたとしても、番と全く同じ構成で開発するのは難しいでしょう。 Dockerを使うと開発から運用まで同じ環境を使え、しかもハードウェア仮想化よりも遥かに軽量です。そこで、私が今KRAYで担当しているプロジェクトでは開発から番まで全ての環境でDockerを使えるようにしました。 それぞれの環境で解決すべき課題がありましたが、今日は番環境にデプロイする仕組みを紹介します(KRAYでインテグレーション環境と呼ばれる環境についてはDockerホストプロジェクトや権限で

    DockerコンテナをCapistranoでデプロイ
    satosssi
    satosssi 2014/11/13
  • Herokuのように簡単に使えるDockerベースのPaaS

    はじめに みなさんDocker使われてますでしょうか? 自分はDockerをよく使ってるのですが、使ってるうちにいろいろと不満が出てきました。 デプロイスクリプトとか書かないでデプロイしたい Dockerfileを書くとメンテしないといけなくなるので、書かないで使いたい 組織とかで使う場合に、それぞれが各々のDockerfileを書くことになるので、一貫性を保つのが難しい Docker単体だとImmutable Infrastructureの仕組みを自前で作らないと実現できない あんまり設定とかしなくてもRailsアプリケーションが、すぐ動かせる環境を構築したい 要するにHerokuのようなPasSを開発サーバーに建てることができればいいなと思ってたわけです。 そこでDockerベースのHerokuのようなPaaSを実現できるDokkuを試してみました。 先日DokkuをフォークしたDok

    Herokuのように簡単に使えるDockerベースのPaaS
    satosssi
    satosssi 2014/10/02
  • Dockerホストをプロジェクトや権限で分ける

    エントリはDockerの基礎知識を前提としています。) Dockerにはイメージやコンテナレベルのアクセス制限機能がありません。つまり、Dockerデーモンに接続できる人は誰でも、全てのイメージやコンテナを操作できます。よって、社内にDockerを使う複数のプロジェクトがあり、各プロジェクトメンバーの権限をプロジェクト内に制限したい場合、Dockerホストを分ける必要があります。今回は、そんなシチュエーションでDocker-in-DockerDockerの入れ子)を活用する話です。 なぜアクセス制限機能がないか コンテナを起動するときDockerホストの/(ルート)をマウントすると、コンテナの中からホストの全てのファイルにアクセスできます。つまりDockerデーモンへのアクセスはホストのroot権限と同等であり、イメージやコンテナレベルのアクセス制限をしても意味がありません。Dock

    Dockerホストをプロジェクトや権限で分ける
    satosssi
    satosssi 2014/09/04
  • CoffeeScriptで花火を打ち上げる

    はじめに ダニーです、最近暑い日が続いてますね。 夏ですね。 夏といえば花火ですね。 ということで、花火を打ち上げてみます。 実装するにあたり JavaScriptより簡潔に書けるので、CoffeeScriptを使います。 全体のソースコードはここに置いてあります。 https://github.com/f96q/hanabi 今回は要所を説明します。 Canvasの初期化 initCanvas: (selector) -> @canvas = document.getElementById selector @canvas.width = 500 @canvas.height = 500 @context = @canvas.getContext '2d' @context.fillStyle = '#000000' @context.fillRect 0, 0, @canvas.wid

    CoffeeScriptで花火を打ち上げる
    satosssi
    satosssi 2014/08/29
  • Amazon S3のStatic Web Hostingにアクセス制限をかけて使ってみる

    残暑が長引いていますが、朝晩だいぶ涼しくなってきましたね。秋になり、6月から育ててきたヒマワリが枯れました。水をやらなかったからですが。 S3を利用したWebホスティング ということでAmazon S3のStatic Web Hostingです。Webサーバ不要で静的サイトを設置できます。便利です。ベースがS3であるが故、安価、安定、そしてどんなにアクセストラフィックが増えても重くなりにくい(従量課金ですが、Webサーバでスケールアウトするより遙かに低コストです)、などの特長を持ちます。連携できるCMSも増えてきました。 ここでは簡単に初回設定、並びにstaging環境などで必要となる、アクセス制限の方法について書いてみたいと思います。 利用開始までの手順 登場から日が経っていることもありご存じの方も多いと思いますが、Static Web Hostingを使うまでの流れをおさらいしておきま

    Amazon S3のStatic Web Hostingにアクセス制限をかけて使ってみる
    satosssi
    satosssi 2013/09/17
    "Amazon S3のStatic Web Hostingにアクセス制限をかけて使ってみる" good read
  • 受託開発にアジャイルは適用できるか?

    3つの大事なこと まず全ての受託開発に適用できるかというと、それは難しいと考えています。 これまでクレイに発注いただいた開発で、次のような案件に適用してきました。 Webサービス スマートフォンアプリ プロトタイプ、研究開発 要件が曖昧だったり、仕様が変わりやすいもの、市場の変化が大きいものなどですね。 次に規模ですが大きくても3,4人で半年から一年程度の小規模な開発が多かったです。 ただこれまでいくつかのプロジェクトを進めてきて、向き不向き以上に大事なことがあるとわかりました。 特に次の3つが進めていくために大事なことと感じています。 クライアントにプロジェクトに責任を持って参加してもらう アジャイルに適した契約にする 開発プロセスを出来るだけ透明化する クライアントにプロジェクトに責任を持って参加してもらう 「クライアントにプロジェクトに責任を持って参加してもらう」とはどういうことでし

    受託開発にアジャイルは適用できるか?
    satosssi
    satosssi 2013/05/17
  • Vagrantとchef-soloでお気楽環境構築

    Engine Yardさんの勉強会に行ってきた 皆さんこんにちは。 2/22に開催されたChefの勉強会に行ってきました。 事務所の引っ越しなどでバタバタしていたので時間が経ってしまいましたが、参加して分かったことを元に、エントリーではvagrantの仮想環境をchef-soloで設定できるようにしてみたいと思います。 というかはてブのトップがこのネタばかりで、なんというか旬を逃した感が拭えないんですけど…、よろしくおつきあいください。 どうしてchefとvagrant? 以前からちょいちょい動作確認環境のをvagrantで用意していました。で、毎回環境作るのがめんどいぞと。頻度がそんなになかったんで、ある意味我慢してました。一方で、社内の環境を chef-solo 使って環境構築することはあったんですけど、管理する対象はvagrantで構築したのとは別の環境だったり。。。ちょっとちぐは

    Vagrantとchef-soloでお気楽環境構築
  • iPhoneアプリ開発におけるデバッグのTIPS

    2011-2-28 NSLogの出力を分りやすくするを修正しました。 新型MacBookAirをケーキ入刀用に買おうとしてるみなさんこんにちは。ダニーです。 iPhoneアプリ開発をしてるとメモリ周りで落ちることがあってデバッグするのが大変ですね, 今回はデバッグについて紹介したいと思います。 CGRectの中身を表示する CGRect rect = CGRectMake(13, 30, 100, 200); NSLog(@"%f %f %f %f", rect.origin.x, rect.origin.y, rect.size.width, rect.size.height); NSStringFromCGRectを使うと簡潔になります。 CGRect rect = CGRectMake(13, 30, 100, 200); NSLog(@"%@", NSStringFromCGRec

    iPhoneアプリ開発におけるデバッグのTIPS
  • 実例でみるiPhoneアプリ内課金(In App Purchase) iTunes Connectへの登録

    はじめに あまのです。 先日Good Choiceというアプリをバージョンアップしました。有料版と無料版の両方を提供しつつ、無料版ではアプリ内で課金を行うことで、有料版と同等の機能にバージョンアップできるようになっています。(20%オフ以上のお買い得品リストを表示する機能) 今回は大きな機能でありながら、イマイチ実例のドキュメントが見当たらないアプリ内課金(In App Purchase)について説明したいと思います。 アプリ内課金とは? アプリ内課金(In App Purchase)はiPhoneアプリ内でデジタルコンテンツなどを直接販売できる機能のことです。コンテンツ以外にも追加機能や月々の利用料を課金することができます。 無料アプリでもアプリ内課金は使えるため、基機能は無料で提供して、新しいコンテンツのみを有料にするなどビジネスの幅が広がったと思います。 アプリ内課金は二つのタイプ

    実例でみるiPhoneアプリ内課金(In App Purchase) iTunes Connectへの登録
  • 1