2015/11/25に行われた第96回PHP勉強会のLTで発表した資料です。
Introducing Pokedex.org: a progressive webapp for Pokémon fans The mobile web has a bad reputation these days. Everyone agrees it's slow, but there's no shortage of differing opinions on how to fix it. Recently, Jeff Atwood argued convincingly that the state of single-threaded JavaScript on Android is poor. Then Henrik Joretag questioned the viability of JavaScript frameworks on mobile altogether,
はじめに iPhoneやandroid、フロントエンドJavascriptとのAjax通信のためにサーバー側でAPI開発をする時、どんな設計にするのが良いか情報収集していたのですが、その結果をまとめておこうと言う事で書きました。各項目ごとに参考資料もあるので、皆さんがAPI設計をする際の参考としてご活用ください。 どんなバージョニング方法があるか バージョニング方法は以下の4つがあります。それぞれメリット・デメリットがあるので、その中からサービスの特徴に適した方法を選択します。 1. http headerをカスタムしてapi-versionを書き込む ex) x-api-version: 1 オンライン・オフラインの区別がほとんどないサービスに有効。OAuthベースシステムのサービスとも親和性が高い。api-versionの指定がヘッダーにない場合は最新を使うのが一般的。 使用例 fac
[ゲストブロガー:矢倉眞隆氏 執筆]2015年10月末に札幌市で開催されたW3Cの年次イベントTPAC。その技術総会を取り上げる連載、後編ではメインセッションの後に行われたブレイクアウトセッションを通じて、HTML5やこれからのWeb標準をどう策定していくのかを紹介します。 (本記事は「ネットの3巨人、村井純氏、ティム・バーナーズ=リー氏、ヴィントン・サーフ氏が札幌で討論。W3CとIETFの協調を模索するべきではないか? W3C TPAC 2015」の続きです) TPACのブレイクアウトセッション メインセッション後は、ブレイクアウトセッションのスケジュール決めが行われました。 ブレイクアウトセッションは、参加者が気になるトピックを提案し、それについて興味を持った人と議論するアンカンファレンス形式のセッションです。2011年のTPACから導入されて好評を博し、すっかりTPACのおなじみとな
TL;DR (3行で) 公式の docker-registry には認証がない ngx_mruby で Basic認証とアクセス制限をかけるスクリプトを書いた Docker イメージを nagachika/nginx-docker-registry で公開 動機 どうもこのごろ猫も杓子も Docker で食傷気味ですね。しかし最近わたしも Docker 使うようになってしまいました。 Docker のイメージを保存する Docker Registry はオープンソースになっていて、Private Docker Registry を立てるのは非常に簡単にできます。使いかたを解説した記事もたくさんあります。 https://github.com/docker/docker-registry しかしこの docker-registry には認証やアクセス制限の機能がないため*1、どこからでもアク
SANZOは、kintoneアプリのフィールドやフォームレイアウト、 一覧などの設計情報を別ドメインのkintone環境へ 同期反映させるデプロイツールです。 ABOUT SANZO 開発環境で変更したkintoneアプリの設計情報を、運用環境に適用するためにはすべて手作業で実施しなければいけません。 変更アプリ数が多い、修正箇所が多岐に渡るといった場合、運用環境での設定漏れや設定間違いが原因で思わぬ不具合が起きる可能性があります。 SANZOを利用するとボタンひとつで開発環境で設定した設計情報が一瞬で運用環境に反映されるため、設定ミスによる不具合を防ぐことができます。 SANZO自体がkintoneアプリで開発されていますので、 操作もいたって簡単です。 反映元と反映先のサブドメイン、アプリ情報を登録し、 「反映」ボタンを押すだけ。
etcd/consulに認証情報を安全に保存する 分散Key-Valueストアとしてetcdやconsulの利用が増えている.ここにアプリケーションの設定値などを保存し,各ホストからそれらを購読して利用する. また,X-as-a-Serviceといった外部サービスの利用も多くなってきた.その場合API Tokenやパスワードといった認証情報が必要になる.PaaSやTwelve-factor的なアーキテクチャを採用する場合は,それらの値を環境変数に保存して利用することが多い(危険であるという意見はある.cf. http://techlife.cookpad.com/entry/envchain).etcdやconsulといった分散Key-Valueストアの利用を前提としたアーキテクチャでは,そこに外部に漏らしたくない設定値も一緒に保存してしまうのがシンプルになる. しかし,そういった設定値を
cybozu.com の運用や、サイボウズ社内の情報システムの運用を担当している山本泰宇です。 先日開催された cybozu.com カンファレンスにて、「正しく恐れるクラウドのセキュリティ」と題して、cybozu.com をはじめとするクラウドサービスのセキュリティ対策について講演しました。その講演資料を公開していますので、ブログでも紹介いたします。 docs.com 一般に、企業が利用する情報システムは個人向けのものと比較すると、高いレベルのセキュリティを要求されます(情シスとしての立場から言えば、要求します)。ただ、セキュリティと一口に言ってもその意味するところは非常に広いため、どのようなリスクに、どの程度対応するかを決めていくプロセスが欠かせません。 講演資料では割愛しましたが、実際にセキュリティ対策を考える上では、セキュリティリスクを列挙し分析したあと、必要な対策に優先順位をつけ
Python開発者が大好きな言葉があります。それは”全てはオブジェクトである”です。実際、私自身もPythonのクラスを教えているときに何度も口にしています。多くの人が何度も聞いた言葉かもしれないのですが、私が言う度に生徒は賛同の相槌をしてくれます。結局のところ、Javaにおいて全ては(対象がそうでない場合を除いて)オブジェクトであり、.NETにおいても全てはオブジェクトであると、よく言われています。 しかしPythonにおいて全てがオブジェクトであると言う時、(私の生徒は驚いていましたが)「 全て 」にはクラスも含まれているのです。これはとても筋が通っていて、オブジェクトシステム全体が理解しやすくなります。しかしそれでも、広い視野で物事を見ることは難しいのです。 今回のブログ記事では、Pythonのオブジェクト間のつながりをざっと見ていきたいと思います。そして”全てはオブジェクトである”
今年も早いもので、あと1ヵ月程ですね。 年末になると、いろいろ振り返りたくなるわけですが。 簡単にだけ、 今年買って良かった物を振り返ってみます。 Xperia Z3 Compact SONY docomo Xperia Z3 Compact SO-02G Black(SIMロック解除済み)posted with カエレバ Sony Amazon楽天市場 ▼4.6インチという手のひらサイズ 携帯の観点で考えれば、このサイズがベストチョイスかもしれない、というくらいのバッチリ感。 大画面が主流のスマホ界ですが、動画や電子書籍を頻繁に見るわけでもなければ、片手操作ができるこのくらいのサイズは使いやすいです。 ▼性能と価格のバランス良すぎる スペックのわりに安いのもポイント。 販売開始からのわずか1ヶ月程で投げ売りが始まったため、価格が暴落して、一時は白ロムが4万円程で手に入ってました。 最安だ
木村岳史の極言暴論! - SIガラパゴス、多重下請け構造の終焉の始まり:ITpro クラウドだ、オフショアだ細かい端々の間違いを指摘してたら、自分の書いていた過去記事とほとんどおんなじ内容になってしまったので、たまには趣向を変えて見ようかなと。 ※元記事の問題提起がワンパターン過ぎて。。。 そもそも、日本のSIerってガラパゴスと呼ばれるほど特殊なのか、について。 世界のシステム開発ベンダ IPA 独立行政法人 情報処理推進機構:IT人材育成事業:IT人材白書 世界のベンダ事情を調査した素晴らしいレポートなので一読あれ。 非常に長い内容なので、かいつまんでまとめます。 米国 ウェブサービス企業などのイノベーティブなハイエンドサービスを提供するIT企業は内製化。それ以外の非IT業種で、金融機関、連邦政府などIT部門が強い業種では、マネジメントやIT戦略部門を内製化、開発はベンダ(IBMなど)
On reflection, this is no surprise: due to how zlib operates, using a sliding window of previous text to guide its compression, it does much better on big files than small ones. In particular, it will always compress 100 1K files worse (in aggregate) than the single 100K file you get by concatenating them all together. (More details: at a high level, zlib compresses like this: it goes through a do
この表から解るように、一部の機能を除けばJUnit4の機能は継承されています。 したがって、JUnit4を理解していれば継承された機能をJUnit5に移行することは難しくないでしょう。 最初は多少の混乱はあるかと思いますが、すぐに慣れるレベルかと思います。 逆に、新しくJUnit5からJavaのユニットテストに入るのであれば、JUnit4の制約がないことは良い材料です。 特に、構造化テスト(ネストクラス)の時、JUnit4ではネストクラスをstaticクラスにすることを強いられていました。 これは、テストクラスをテスト毎に作成するという制約があったためです。 この制約がある以上、テストクラスからアウタークラスのインスタンス変数にアクセスできませんでした。 ユニットテストではテスト毎にテストインスタンスを作成することが原則なので、この制約は仕方ないと考えても良いでしょう。 しかし、テストがネ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く