タグ

2016年1月9日のブックマーク (8件)

  • メッセージングアプリSync開発の舞台裏(iOS) - Wantedly Engineer Blog

    ビジネスシーンで使えるメッセージングサービスSyncをローンチしました。 その開発の舞台裏をiOSを中心に紹介します。開発のスケジュール、リソース、アプリの規模や進め方など参考になれば幸いです。 サービスについて Syncは社内・社外を問わずプロジェクトやビジネスコミュニケーションがより良い体験なることをゴールに開発しました。以下のURLよりご利用頂けます。 Web版 , Desktop版(OnlyOSX) , iPhone , Andorid アーキテクチャ サーバ 既存のWantedlyサーバに並列して、Syncのサービスをマイクロサービスアーキテクチャ風に構築しています。要素技術や構成はサービスの初期フェイズにおけるスピディーな開発とスモールな運用に適しているものを選定しています。 AccountServerが認証やユーザ情報管理を、APIServerが主要なデータのやり取りをRES

    メッセージングアプリSync開発の舞台裏(iOS) - Wantedly Engineer Blog
  • Functors, Applicatives, And Monads In Pictures - adit.io

    Written April 17, 2013 updated: May 20, 2013 Here's a simple value: And we know how to apply a function to this value: Simple enough. Lets extend this by saying that any value can be in a context. For now you can think of a context as a box that you can put a value in: Now when you apply a function to this value, you'll get different results depending on the context. This is the idea that Functors

  • Making Miso Soup with ReactiveCocoa 4 and Swift ... | Apps to Live By

  • Git 2.7 の優れた新機能 | Atlassian Japan 公式ブログ | アトラシアン株式会社

    Git 2.6 からわずか 2 カ月後、膨大な機能と修正、そして性能の向上を果たした Git 2.7 がリリースされました。ここでは Bitbucket チームが興味を持った新しい機能を紹介します。 git worktree の完成 Git 2.5 で導入された素晴らしい git worktree コマンドを使うと、複数のリポジトリブランチからのチェックアウトやブランチ上での作業を、異なるディレクトリで同時に行うことができます。たとえば、簡単な修正をする必要があるけどワーキングコピーを汚したくない場合、次のように新しいブランチを新しいディレクトリにチェックアウトすることができます。 Git 2.7 には、リポジトリのワークツリー (および関連するブランチ) を表示する git worktree list サブコマンドが追加されています。 ワークツリーをサポートする git bisect コ

    Git 2.7 の優れた新機能 | Atlassian Japan 公式ブログ | アトラシアン株式会社
    taka_sek
    taka_sek 2016/01/09
  • [ Android ] - これからの「設計」の話をしよう | Recruit Tech Blog

    はじめまして。 6/1より入社いたしましたAndroidエンジニアの釘宮です。よろしくお願いいたします。 今日はAndroidの設計について語ってみようと思います。 その前に 「良い設計とはなにか」という議論が「正義とはなにか」という議論のようにいつまでたっても結論がでないのは、環境やチームメンバのスキルセット、ステークホルダーによって目指すべきゴールが変わるためだと考えます。 つまるところ、設計に正解はありません。 そのため以下で話すことは、「これが設計の正解だ!!」というわけではなくて、「こういう設計の仕方するとうまくいくっぽい」くらいのノリです。 あと、特にMVCとかDDDとか人によって解釈のズレが起きやすいところなどは、冗長になるのを嫌って自分の解釈で言い切っています。ご了承ください。 設計の目的について ハードルが下がったところで、早速。 まず設計の目的ってなんでしょうか? この

    [ Android ] - これからの「設計」の話をしよう | Recruit Tech Blog
    taka_sek
    taka_sek 2016/01/09
  • InfoQ: ドメイン駆動設計・開発の実践

    ドメイン・モデルと開発に注力しないと"太ったサービス・レイヤ"と"ドメイン・モデル貧血症"によるアプリケーション・アーキテクチャになってしまいます。この場合、ファサード・クラス(通常はステートレス・セッション・ビーン)にどんどんビジネス・ロジックが溜まっていき、ドメイン・オブジェクトがgetter/setterからなる単なるデータの運び屋のようになってしまいます。このアプローチをとるとドメイン固有のビジネス・ロジックやルールが複数の異なるファサード・クラスに散在(時には重複)することになります。 "ドメイン・モデル貧血症"はたいていの場合、コストに見合いません。他の企業と比較して利点があるわけではなく、このアーキテクチャの下でビジネス要求の変化を実装するには開発と番環境へのデプロイするのに時間がかかり過ぎます。 DDD実装プロジェクトにおけるいろいろなアーキテクチャや設計について見ていく

    InfoQ: ドメイン駆動設計・開発の実践
    taka_sek
    taka_sek 2016/01/09
  • コードで学ぶドメイン駆動設計入門 〜振る舞いとサービス編〜 - かとじゅんの技術日誌

    コードで学ぶドメイン駆動設計入門 〜エンティティとバリューオブジェクト編〜 - じゅんいち☆かとうの技術日誌 からの連投エントリ。振る舞いとサービス編です。今回もコードを使って解説したいと思います。 サービスとは、モノとして扱うと不自然なものをサービスに分類しようという考えです。 ドメインで扱う概念の中には、1つの機能や処理が単体で存在していて、もの(オブジェクト)として扱うのが不自然なものもある。そうしたものは、サービスという形でユビキタス言語に組み込む。サービスは基的に状態をもたない(stateless)。 佐藤さんが語られている通りに、従来のサービスとDDDのサービスはレイヤーの位置関係が違います。今までのサービスはDDDのアプリケーション層です。このエントリでは、今までのサービス(DDDのアプリケーション層)の話は一切出てこないので、今までのサービスの概念を一旦忘れましょうwそう

    コードで学ぶドメイン駆動設計入門 〜振る舞いとサービス編〜 - かとじゅんの技術日誌
    taka_sek
    taka_sek 2016/01/09
  • Swift におけるオプショナルなメソッドについて真面目に考える | Recruit Tech Blog

    この記事は RECRUIT MARKETING PARTNERS Advent Calendar 2015 の投稿記事です。 どーも、英単語サプリ iOS 担当の平井です。 久しぶりに iOS アプリ開発に携わり、慣れ親しんだ Objective-C からようやく離れ、遅咲きながら Swift と戯れる日々を過ごしています。Swift に触れてまず驚かされたのは、Optional や Generics などがもたらす豊かな表現力です。Objective-C ではドキュメントなしには伝えられなかったことを、Swift ではそのほとんどをソースコードだけで表現できるようになりました。 iOS アプリ開発という観点では、開発言語がより現代的・一般的な仕様となることで、これまで iOS アプリを開発したことがない・敬遠していた人にとっては、より受け入れやすいものになったと思います。 しかし、iOS

    Swift におけるオプショナルなメソッドについて真面目に考える | Recruit Tech Blog