タグ

開発に関するtarhashiのブックマーク (18)

  • SNSチームでのドメイン駆動設計の実践 | GREE Engineering

    こんにちは!グリープラットフォームでSNSの開発をしています、うきょーです! GREE Advent Calendar 2013 6日目です、よろしくお願いします! 今回は僕が所属するチームでの、ドメイン駆動設計を実践してきた過程をお話したいと思います。ドメイン駆動設計とは何か、については簡単に要所要所で説明していきますが、詳しくはで!また、ドメイン駆動設計そのものについての話ではなく、実践の一例となります。 スマートUIパターンからのスタート 今回僕のチームが扱っていたものはJavaScript製のクライアントアプリケーションで、APIから取得した情報を表示し、ユーザーの操作によってAPIを呼び出す、というごく一般的なものです。 ドメイン駆動設計にはアンチパターンとして、スマートUIパターンと呼ばれるものが存在します。簡単に言えば「見た目都合から設計やモデルを考えてしまった」という状況

    SNSチームでのドメイン駆動設計の実践 | GREE Engineering
  • The Twelve-Factor App (日本語訳)

    はじめに 現代では、ソフトウェアは一般にサービスとして提供され、Webアプリケーション や Software as a Service と呼ばれる。Twelve-Factor Appは、次のようなSoftware as a Serviceを作り上げるための方法論である。 セットアップ自動化のために 宣言的な フォーマットを使い、プロジェクトに新しく加わった開発者が要する時間とコストを最小化する。 下層のOSへの 依存関係を明確化 し、実行環境間での 移植性を最大化 する。 モダンな クラウドプラットフォーム 上への デプロイ に適しており、サーバー管理やシステム管理を不要なものにする。 開発環境と番環境の 差異を最小限 にし、アジリティを最大化する 継続的デプロイ を可能にする。 ツール、アーキテクチャ、開発プラクティスを大幅に変更することなく スケールアップ できる。 Twelve-F

  • YappoLogs: 馬鹿でもわかる Application Server と Reverse Proxy Balancer のお付き合いを考える

    馬鹿でもわかる Application Server と Reverse Proxy Balancer のお付き合いを考える 一般的な Web Application というのはロードバランサ、Webサーバ、アプリケーションサーバという HTTP を喋るサーバで構成されていると思います。 ロードバランサは高級なハードウェアからソフトウェア(lvs, httpd, etc..)で作るものまで色々ありますね。 アプリケーションサーバでは各種言語に合わせた実装でデーモンが常駐してるでしょう。これはいわゆる普通の Web サーバよりは単純なコンテンツを返す性能が低いです。 そんなわけで動的なアプリケーションサーバが有る構成では js や css や画像など静的なファイルは Apache や nginx などの専用の Web サーバでサービスして、動的なリクエストだけバックエンドのアプリケーションを

  • スタンフォード大がiOSプログラミングの入門コースを無料で提供

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    スタンフォード大がiOSプログラミングの入門コースを無料で提供
  • iOSアプリ開発の本を書きました - A Day In The Life

    ご無沙汰しております。約半年ぶりの記事です。 この間、ずっと iOS アプリ開発のを書いていました。タイトルは「プロの力を身につける iPhone/iPadアプリケーション開発の教科書」です。 出版社様から書籍執筆のお話を頂いたのが約1年半前でした。やっと発売にこぎつけることができました。2月26日発売です。早ければ22日から書店に並ぶと思います。 の内容のいくつかは当ブログの記事が元になっています。iOS アプリ開発をはじめられたばかりの方からバリバリ開発している方まで幅広く読める内容になっています。魂込めて書いた自信作ですのでよろしくお願いします。 発売に先駆けて「プロの力を身につける iPhone/iPadアプリケーション開発の教科書」の目次を紹介させていただきます(ついでに元になったブログ記事へのリンクをはっておきます。中身検索的な感じでお使いください)。 iPhone/iPa

    iOSアプリ開発の本を書きました - A Day In The Life
  • JavaScript With Syntax For Types.

    TypeScript is JavaScript with syntax for types.TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.

    tarhashi
    tarhashi 2012/10/02
    クラス定義とか静的型付けとか、ECMAScript4(ActionScript3)みたいな感じですか
  • ソフトウェア開発プロセス残酷物語 - give IT a try

    昔々、あるところにジェイソンという、大変真面目な開発者がおりました。 彼がとある会社の情報システム部にやってきたとき、彼は社内システムのクオリティのひどさに衝撃を受けました。 情報システム部といっても、その会社では外注はせず、社内の開発メンバーがシステムを作っていました。 ジェイソンがそこで最初に担当したシステムは、見事なまでのスパゲッティコードでバグだらけ、データ設計も素人レベルでパフォーマンスも最悪、エラー処理もずさん、おまけにまともなドキュメントもなく、ちょっとした障害を調査したり、小さな改造を実施したりするのにも、大変な苦痛を伴うという、それはそれは大変なシロモノでした。 このシステムは元々エセーグルという、ちょっと変わった名前の開発者によって作られていました。 しかし彼はすでに別の開発チームに異動していて、こちらの質問には答えてくれますが、もはや人が直接手を動かすことはありませ

    tarhashi
    tarhashi 2012/08/27
    「少数精鋭の良いプログラマを集めることなんじゃないかな。今それを確かめてるところなんだ。」結局そうだよねぇ…。
  • 通勤中でも寝る前でも!iPhoneプログラミングを勉強出来る簡単な方法! | PLUS

    Appleから提供されているiOSのプログラミングガイド。日語に翻訳されたiOSのドキュメントがあります。iOSデバイス向けのアプリを開発するにあたっては、必読の内容となっています。 これらは全てPDFで提供されています。 ですのでiPhonePDFを開き、iBooksで保存することが出来ます。 このように、持ち運んで空き時間に勉強できるんです。 PDFのリンクは下記にまとめていますので、iPhoneでご覧ください! iOSのドキュメント一覧(2011.8.20現時点) Audio & Video AV Foundationプログラミングガイド iOSカメラプログラミングトピックス Audio Session プログラミングガイド Core Audio の概要 iPodライブラリアクセス プログラミングガイド Tools & Languages Objective-C

  • android 開発でエミュレーターの代わりに x86版 + Virtualbox を使ってみる - ぷーくすくすくすなえんじにあ

    androidをほとんど触ったことが無いので、変なことを書いている可能性があります。 最近 JavaScript と合わせて、 Android 開発もやるようになったのですが アプリで作成した SQLite のデータベースを直接覗こうとした場合に 実機では見れないという問題にぶつかりました。 調べてみるとエミュレータか、 root化された実機であれば見えるようなのですが その2点については エミュレータがかなり重いので使うのが辛い(プロセスにコア3つ振っても) 実機が私物じゃないのでできるだけ root 化したくない。(脱獄みたいな認識でいます) 上記以外の選択肢があるかなと調べたところ、 x86 CPU 向けにビルドされた android がありそれが使えそうなので 今回は以下を使ってやってみたいと思います。 android x86(BuilDroid) Virtualbox Ecli

    android 開発でエミュレーターの代わりに x86版 + Virtualbox を使ってみる - ぷーくすくすくすなえんじにあ
  • 違法音楽配信に新対策--システムで違法ファイルを特定

    音楽権利者団体などは6月4日、違法音楽ファイルのアップロードが顕著なインターネットサービスプロバイダー(ISP)に対し、著作権情報集中処理機構(CDC)が開発した音源情報特定支援システムモジュール「Fluzo-S」を導入するよう共同で働きかける取り組みを開始した。 日レコード協会(RIAJ)、日芸能実演家団体協議会、実演家著作隣接権センター(CPRA)、日音楽事業者協会(JAME)、日音楽出版社協会(MPA)、日音楽製作者連盟(FMPJ)、日音楽著作権協会(JASRAC)のほか、ジャパン・ライツ・クリアランス(JRC)、イーライセンスの2社も共同で取り組む。 Fluzo-Sは、運用中の正規音楽配信の利用楽曲報告データ処理のためのデータベースとシステムを活用し、違法音楽ファイルを特定するモジュール。無料レンタル掲示板サービス事業者やISPが導入して、違法音楽ファイルをアップロード

    違法音楽配信に新対策--システムで違法ファイルを特定
    tarhashi
    tarhashi 2012/06/22
    「 ISPは、違法音楽ファイルによる著作権侵害を防止して損害賠償責任について免責を得ることができる。 」みかじめ料ビジネスやばい。
  • アプリケーションをつくる英語

    目指すは世界市場! 英語版アプリ開発のために、UIやメッセージでよく使われる英単語や構文パターン、さらに英語ライティングの基やメッセージの書き方、I18N/L10Nの基から翻訳業者への依頼まで、幅広く紹介。 サポートサイト著者によるサポートページが公開されています。 翻訳者 西野竜太郎 Webサイト 内容紹介最近スマートフォン用やWeb 用のマーケットが登場したことで、アプリケーションを海外に展開しやすくなりました。パソコンに加えてスマートフォンやタブレットといった新しい機器や、有線および無線の高速ネットワークが世界的に普及しつつあることを考えると、アプリケーションに対する需要は今後さらに拡大するものと思われます。海外は日の開発者にとって魅力のある市場です。しかし海外展開には外国語での開発が必要となります。特に英語は世界共通語と位置付けられている面があるため、まず対応を考えるべき言語

    アプリケーションをつくる英語
    tarhashi
    tarhashi 2012/06/21
    これ読んでみるか。
  • Google ChromeでiPhoneとかのtouch系イベントをエミュレートできるようになってた。これは便利。 | Ginpen.com

    右上User Agentのところね。Emulate touch eventsにチェックを入れると、マウスのクリックやドラッグ&ドロップでtouchstart, touchmove, touchendが発火するようになる。 開発時にいちいち実機やXcodeのエミュレーターを用意しなくても動作確認できるようになるのはとても便利。さすがにマルチタッチはできないけど、とりあえずエラーが出てないとかそういう確認ならできる。 ついでに隣の項目のOverrride User AgentでiPhoneiPadを選ぶとなお良さそう。(ちなみにIEとかも指定できます。もちろんエミュレートはないけどね。) 画面サイズは、それを指定値に変更できるプラグインがあるから、探してみてください。 Settingsの項目は、なんか気がついたら(Chromeが更新されてて)変わってるから、ときどき覗いてみるといいんじゃない

    Google ChromeでiPhoneとかのtouch系イベントをエミュレートできるようになってた。これは便利。 | Ginpen.com
    tarhashi
    tarhashi 2012/05/29
    便利そう
  • 新社会人のためのバグレポートの基本 - mixi engineer blog

    はじめまして、品質管理部門の柿崎です。 最近、Skyrim にハマってしまい、人生一回休みになりかけています。 季節は春ということで、新社会人になられる方も多いと存じます。 新社会人が会社勤めをするようになって、初めて書くビジネス文書といえば...... そうですね!「バグレポート」ですね。 今回はバグレポートの基について書きたいと思います。 近年、開発現場ではバグトラッキングシステムが定着し、ドッグフーディングのような社内テストを行う現場も増え、テスト担当者以外の方でもバグレポートを提出する機会が増えています。そして前衛的なバグレポートによって、プログラマ達が理不尽かつ不可解なバグ地獄に叩き込まれる機会も増えています。 バグレポートは諸刃の剣です。 良いバグレポートはアプリケーションの問題を速やかに解決まで導きますが、反対にダメなレポートは現場に混乱をもたらします。 良いバグレポートを

    新社会人のためのバグレポートの基本 - mixi engineer blog
    tarhashi
    tarhashi 2012/03/22
    「開発終盤にわけのわからないバグレポートを見せ続けても、やはりプログラマは死んでしまいます。」
  • 分散リアルタイムデータベース「SenseiDB」がオープンソースで公開。LinkedInのインフラとして開発

    テキストなど非構造化データのデータベース機能とサーチエンジン機能を兼ね備えた分散リアルタイムデータベース「SenseiDB」が、オープンソースとして公開されています。 SenseiDBとは先生DBの意味らしく、「Sensei (先生) means teacher or professor in Japanese」と説明があり、ロゴにも「師」の文字が使われています。なぜ先生なのか、その意味について以下のように説明があるのですが…… This name indicates that the system can be used in place of Oracle database in many applications. この名前が示しているのは、このシステムが多くのアプリケーションにおいてOracleデータベースで使われているところで利用可能だということです。 TeacherやProfe

    分散リアルタイムデータベース「SenseiDB」がオープンソースで公開。LinkedInのインフラとして開発
    tarhashi
    tarhashi 2012/01/23
    SenseiDB、気になる
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • クラウド事業者のためのオープンソースプロジェクト「OpenStack」

    クラウドのプラットフォームとなる、スケーラブルな計算システムと分散オブジェクトストアなどのソフトウェアをオープンソースとして開発しようという「OpenStack」がスタートしました。 OpenStackの中心となったのは、クラウド事業者のRackspace HostingとNASA(アメリカ航空宇宙局)。そのほか、デル、シトリックス、NTTデータ、インテル、AMD、RightScaleなど多くの企業が参加を表明しています。 OpenStackのWikiには、ミッションが次のように記されています。 to produce the ubiquitous Open Source Cloud Computing platform that will meet the needs of public and private cloud providers regardless of size, by

    クラウド事業者のためのオープンソースプロジェクト「OpenStack」
  • HTML+JavaScriptでiPhone/Androidアプリを作れるTitanium Mobileとは

    HTMLJavaScriptiPhone/Androidアプリを作れるTitanium Mobileとは:Web技術でネイティブアプリを作れるTitanium(1)(1/3 ページ) iPad/iPhone VS Androidに戸惑っているWebデザイナ/開発者のために、Web技術でネイティブアプリを作れるオープンソースの開発ツールを紹介し、その利点や使い方を連載で解説します iPad/iPhone VS Androidに戸惑っていませんか? 2010年1月5日、グーグルAndroid 2.1を搭載した「Nexus One」を発表しました(参考:GoogleAndroid 2.1搭載の“スーパーフォン”「Nexus One」を発表)。高精細なディスプレイや高速なプロセッサによる快適な動作など、iPhoneのライバルとしての存在感が話題になりました。また1月21日には、NTTドコモ

    HTML+JavaScriptでiPhone/Androidアプリを作れるTitanium Mobileとは
  • ゲーム開発キット「Cafu Engine」がオープンソースに | OSDN Magazine

    独Carsten Fuchs Softwareは12月25日(ドイツ時間)、3Dグラフィックエンジン・ゲーム開発キット「Cafu Engine」(旧名称「Ca3DE」)をGPL v3の下で公開した。プロフェッショナルゲーム開発を容易にすることを目的とした開発キットで、オープンソースと商用のデュアルライセンスで提供する。 Cafu Engineは、C++で作成された多目的3Dグラフィックエンジンで、ゲーム、シュミレーション、トレーニング、建築などのソフトウェアを構築できる。高品質のリアルタイム3Dグラフィック、ツール、ライブラリ、フレームワークで構成され、プロフェッショナルレベルの3Dアプリケーションを容易に開発できるという。 マルチプレイヤーネットワークをサポート、ピクセル単位でのライトニングとシャドウ、3D音響、スケルトンベースのモデルレンダリング、大型の地形レンダリングなどの機能を持つ

    ゲーム開発キット「Cafu Engine」がオープンソースに | OSDN Magazine
  • 1