ポーリング、Ajax、Comet、Server Sent Events、WebSocket サーバPUSH方式の大雑把な比較 Read less
![サーバPUSHざっくりまとめ](https://cdn-ak-scissors.b.st-hatena.com/image/square/e092919523f683b7178851922c316099aeca53e7/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fpush-140811075037-phpapp02-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
インフラストラクチャー部長の星 (@kani_b) です。 2017年1月5日をもって、クックパッド における全ページで HTTPS が使われるようになりました。 完全 HTTPS 化をするにあたり、その理由や具体的な進め方について紹介します。 以前 SRE Tech Talks #2 にて一部発表した内容も含みますので、ご興味のある方はあわせてスライドもご覧ください。 完全 HTTPS 化に踏み切った理由 以前のクックパッドは、ログインや登録情報の参照など、いわゆる個人情報や認証情報を扱う箇所のみに HTTPS が使われていました。 このように「必要な箇所にのみ HTTPS を使う」構成は、ある程度歴史のある Web サービスにおいてよく使われている構成です。 この状態から、完全 HTTPS 化に踏み切った理由を説明します。 サービスをよりセキュアにするため HTTPS の利用を考えるに
「iOS アプリの画面開発の基礎を理解する」でアプリの画面と画面遷移について説明しました。アプリの見た目はとても大切ですが同じぐらい大切なこととして、データの活用方法があります。 ユーザに必要なデータは何か、そのデータに価値を持たせて情報にするにはどうすればよいか、データをどこに記憶すればよいかについて説明していきます。 そもそもデータって何? データとはコンピュータが記憶することのできる文字や符号、数値などの集まりです。データはコンピュータ上で0と1の固まり(バイナリ)としてあつかわれます。バイナリが集まって意味を持ったものがデータであり、そのデータがさらに集まって意味を持ったものが情報です。図にすると以下のような感じになります。 バイナリは CPU、データはプログラム(アプリ)、情報はユーザがあつかいます。それぞれ解釈できる単位が違います。 データと情報の違い データそのものはユーザに
Swift3 から Data 構造体が追加され Objective-C 時代の NSData クラスはお役御免になりました。この Data 構造体は NSData の置き換えなので、できることに違いはほとんどありません。ただしメソッドに互換性がないため NSData を使ったコードを Data に置き換えるのが大変です。というわけで Data 構造体の使い方をまとめてみました。 文字列を Data オブジェクトに変換する 文字列を Data オブジェクトに変換するには以下のように String 構造体の data メソッドを使います。 let str = "abcdefghijk" let data = str.data(using: .utf8)! Data型のオブジェクトを文字列に変換する 反対に Data オブジェクトを文字列に変換するには String 構造体のイニシャライザを使っ
いろんなところで Realm が良いと聞くようになり最近やっと Realm を使い始めました。実際 Realm を使ってみると予想していたよりも使い勝手がよく Core Data には戻れそうにないです…。ソースコードは Swift3 に対応しています。 リポジトリパターンの実装 Core Data に比べてお作法的なものが少ないとはいえ、いくつかのお決まりのパターンがあるので DDD のリポジトリパターンを適用してみました。クリーンアーキテクチャをまったく意識してないお気軽実装です。 import Foundation import RealmSwift class Repository<DomainType: Object> { var realm: Realm init() { self.realm = try! Realm() } // PK検索 func find(primary
前回の記事「iOS アプリの構造がどのようになっているか紐解いてみる」で iOS アプリの構造について説明しました。深いところの説明ばかりだったのでもう少し浅いところ、画面の見た目や画面遷移を実装する方法について説明します。 ユーザの要望がどのようにアプリに反映されるのか アプリができる背景には「アプリでこんなことしたい」というユーザの要望とか、開発者自身の「アプリを通してXXのような素晴らしい体験をユーザに提供したい」という思いが出発点になっています。 ユーザの要望だったり開発者の思いは「UX設計」「ユースケース抽出」「UI設計」という3つの段階に分けてアプリに反映していきます。図にすると以下のような感じです。 UX(ユーザエクスペリエンス)設計 ユーザの要望や開発者のこんなもの作りたいという思いを元に、いつ、どこで、誰が使うのか?アプリが使われる状況を洗い出す。その上でユーザがアプリを
はじめに 先週Agile Japanに参加し、モブプログラミングの企画のお手伝いをさせていただきました。その詳細は別途記載するのですが、その時に利用したツールが素晴らしかったのでその紹介です。 紹介するのは、Mobsterというツールです。 https://github.com/dillonkearns/mobster Agile Japanの基調講演をしてくれた Joshua Kerievskyから「モブプロやるならMobsterがいいよ」と言われて知りました。 「Mobstar」ではなく「Mobster」なんですよね。sterは「〜する人」という意味なので、モブする人って意味かなと思っていたらMobsterという単語自体がギャングスター(あるいは暴徒)って意味合いがあるんですよね。暴徒。。。 ここからは早速Mobsterの良いとこ紹介していきます! Mobsterの良いところ クロスプ
You can now develop your AWS Lambda functions using Python 3.6. This feature will become available in all AWS Lambda regions within 24 hours. You simply upload your Python code as a ZIP using the AWS CLI or Lambda console and select the "python3.6" runtime. You can also use the AWS Serverless Application Model to package and deploy Lambda functions. Lambda takes care of everything required to run
About the content This talk was delivered live in September 2016 at try! Swift NYC. The video was recorded, produced, and transcribed by Realm, and is published here with the permission of the conference organizers. It is difficult to make the jump from map and filter to presenting view controllers or search bars that need to call an API on the web and populate a table view. To be honest, at first
About the content This content has been published here with the express permission of the author. MVVM is the critical design pattern for front-end engineers. There are so many ways that objects can talk to each other in an iOS App: delegates, callbacks, notification. In this Swift Language User Group talk, Max Alexander shows you how to streamline your development process in 3 easy patterns with
こんにちは、ソウゾウの @ttsuruoka です。 メルカリの子会社ソウゾウでは新規事業に取り組んでいます。今回「メルカリ アッテ」の開発技術について、これまでに得られた知見の一部をお話させていただく機会として atte FeS 【Go・Swift開発編】 を開催しました。 その発表資料を公開いたします。 発表資料 atte 開発の技術:Golang と Google App Engine speakerdeck.com 発表者:@ttsuruoka atte 開発の技術:Swift と RxSwift speakerdeck.com 発表者:@ooba アッテ iOS の設計と開発フローの変遷 speakerdeck.com 発表者:@ishkawa ブログまとめ ご参加いただいた方が、ブログにまとめてくださいました: blog.mogmet.com tech-savvy.hatena
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く