2. $ whoami • @icchyr • 某濃厚な大学のB3 • Activity • CTF (tuat_mcc, TokyoWesterns) • ICPC (nocow) など
(上のロゴは、何故か スペイン語版の Wikipedia にだけあった。本当に公式のロゴ?) はじめに Mastodon 大人気ですね。 僕もとりあえず mstdn.jp と pawoo.net にアカウントを取ってお互いにフォローし、どれくらいの時間差でトゥートが伝達されるのか観察したり、GitHub に公開されているソースコードを少し読んだりしました。 「Mastodon は分散型だ」とか「GNU social と互換性がある」という話を聞いて、一体どんなプロトコルなんだろう……と気になって少し調べたのですが、GNU Social 自体がかなり古いものらしく、ドキュメントを探すのにも苦労しました。 そこで、自分で探した範囲で、原典に近いと思われるドキュメントのリンク集を作っておきます。新しい情報が見つかったら、随時更新します。 プロトコル同士の関係 以下のドキュメントに書かれている、O
Fukuoka.php vol22にてMastodonについて話してきました。 Mastodonは最近盛り上がってる分散型SNSですが、その仕組みに興味をもったので調べてみたのが今回の話になります。スライドの中で主に説明しているのは、Mastodonが実装している分散型SNSを実現するためのプロトコルOStatusについてです。 OStatusはAtomフィードを核とした仕様です。ユーザーのつぶやきをAtomフィードで表現し、さらにそれをコンタクト情報を形式化するPortable ContactsとSocial Network上の活動を形式化するActivity Streamsで拡張しています。フィードだけだと、リモートのサーバはポーリングする必要があるため、それを補うためにPubSubHubbubでAtomフィードの更新をほぼリアルタイムに受け取ることができるようにしています。また、Fo
はじめに この記事では、筆者の独断と偏見でAndroidのプレゼンテーション層アーキテクチャについて紹介していきます。 感想・つっこみコメント、編集リクエストはWelcomeです。 パターン紹介 パターン1: Smart UI ViewのコードビハインドであるActivityやFragmentに直接ロジックを書くアーキテクチャです。 別名マッチョActivity。 アンチパターンとして有名ですが、条件によっては選択肢に含めるべきです。 具体的には保守が行われないことがわかっているケースです。 数日で使い捨てるアプリに凝ったアーキテクチャは必要でしょうか? スピードが最重要であり、とりあえずプロトタイプが必要な場合でもSmart UIはアンチパターンでしょうか? 答えはケースバイケースです。 メリット 小規模アプリやプロトタイプ程度であれば素早く作ることができる デメリット テスタビリティが
Android開発していると、なんかMVCうまくいかないなぁとモヤモヤしてきました。そろそろ他のアーキテクチャを模索してみた方がいいんじゃないかと思い始めまして、ある程度考えがまとまったので自分なりの指針を残しておこうと思います。 そもそもアーキテクチャ必要なのか 世の中には色々なアーキテクチャが存在するんですが、なんか概念を読んでもスッと理解できることが少ないんですよね。これはなぜかと言うと アーキテクチャが解決しようとしている問題を理解できないからです。 極端に言うと、HelloWorldを表示するアプリにMVCを導入する必要があるの?って言うと答えはNoですよね。じゃあ猫の名前をリストで表示するアプリだったらどうかと言われると、これもまだ必要ないかもしれません。 つまり、アーキテクチャを適用しなくても問題がないほど小さなアプリにおいては、ただ冗長になるだけなので別にいらないわけです。
こんにちは。技術部の松尾(@Kazu_cocoa)です。 安定したリリースを継続して回す為には、開発プロセスや実装も大事ですが、その中でどのような確認、テストを継続して行うかも大切になります。そこで、開発プロセスにおけるテストをどのように切り分けて、構築していくかという考え方に関して少し整理してみようと思います。 これにより、実施されているテストによって検出できる/できない不具合がどのようなものか、それが開発中のどこで防ぐことができるのかを整理できるようになってくると思います。また、安定したリリースを実現するためのボトルネック解消に向けて、どのレベルでテストを充実させると効率的にそれが達成できるかという所も考えることができるようになります。 テストレベルによるテストの区分け テストレベルという言葉にも様々な定義がありますが、ここではざっくりとテスト対象となる範囲や領域を意味することにします
Web な人もアプリな人も、これから新しく Android アプリを作るなら抑えておきたいポイント3選Androidandroid開発 概要 Lollipop が発表されてから時間も立ち、Android Auto、Android Wear、Android TV と、多様性を見せ始めた Android ですが、今後とも多種多様なデバイス向けに様々なアプリを作っていく流れがあるなか、新しくアプリを作るなら抑えておきたい要所をまとめました。 TL;DR 抑えるところは 3 つ。 画面とライフサイクル 非同期処理 互換性 かなり端的にいうと、Activity や Service などのライフサイクルとうまく付き合いながら、コードの構成のレイヤー化を行い、非同期処理を簡潔に記述できる準備をしておくことと、非同期処理とあわせてマルチスレッドプログラミングの基本を抑えておくこと、互換性への準備を最初にし
このような表を作ることで、例えば以下のことがわかります。 経路002は流入数の割に獲得効率や翌日継続率も悪い。ここを改善するサービスをグロスできるかも。 経路003は獲得効率と翌日定着率が良い。何が良いのかをさらに分析すれば、他の流入経路の改善に生かせる。 Action2は翌日継続率に良い結果を与えている可能性がある。もう少し詳しく調べてみたい。 このようにユーザーの活性化は流入経路別に分析をすることで、問題点やチャンスを浮き彫りにすることができます。 今回はこの表を作るためにログ分析を行います。 ここまでで分析のスタート地点とゴール地点がわかりました。 あとはその間の道をつなぐためにプログラムを書くだけです。 次の章では、MongoDBでの分析を行うための準備段階を紹介します。 分析(準備編) ここでは分析の準備編として、サーバーログをダウンロードしてきて、整形して、MongoDBに登録
tl;dr; githubで長い事使われてないアカウントはリリースしてもらえることがあるpecoのURLが変わりましたpecoの有効な使い方があったら、ぜひWikiでシェアしてくださいpecoが何か自分の予想を超えて使われ始めているので責任を逃れるために今後の事を考えてGithub Organizationにしようかなーと思って調べてたらpecoってユーザーがすでに存在してたのでがっかりしたのが昨日の朝。 Daisuke Maki@lestrratugh. taken. no activity either. disappointment haunts all my dreams.https://t.co/04HBzVjpzw #golang #peco 2014/06/19 08:56:45 でもこのアカウント全く使われてなかったんだよね。コミットもなければstarもwatchもない。そ
さて、今回は比較的新しいデータストアであるLevelDBについてまとめてみました。 LevelDBは1年ほど前からNode.js界隈ではブームが来ていて、理由がよくわかっていなかったんですが、まとめている内に分かるかなと思ってまとめました。今回はNode.js無関係でLevelDBの基礎的なことだけ調査した結果をまとめてみました。 Node.jsで使ってみる話は後に回します。 LevelDBとは? key-value型のデータストアの一つです。 Googleの研究者である、Jeff DeanとSanjey Ghemawatが開発し、2011年に公表されました。C++で書かれており、多くのプログラミング言語でbindingsが書かれています。もちろん、JavaScript/Node.jsでも書かれています。 LevelDB は Google のBigTableをベースにしたアーキテクチャを持
Android フレームワークは、あまり強力とはいえないものの、ある程度のテストフレームワークを内包しています。 ベースが JUnit3 なので、記法が古かったりすることもありますが、とりあえず JUnit3 の作法を身に付ければある程度のテストは書くことが出来ます。 Android のテストケースフレームワーク Android がもつ各種のコンポーネントをテストするためのフレームワークが有ります。 いろいろな種類がありますが、おそらく最も頻繁に使うのはAndroidTestCaseでしょう。 AndroidTestCase Android でユニットテストをするなら、ほぼ間違いなく使うであろうクラスです。 そのようなテストケースでは、すべてこのクラスを基底に作っていきます。 もう少し具体化して言うと、Contextに依存するすべてのテストはこのテストクラスを使うことで、イイカンジにテスト
こんにちは。共同開発部開発担当の北川です。 クロスプラットフォームなアプリ開発では Xamarin の使用はビジネスロジックの共通化が可能となり非常に効果的です。 すべてのアプリを単一の言語(C#)で実装することができる点だけでも魅力的ですが、MVVM 設計によりその再利用性を高めている点こそがその真価を発揮しているとも言えます。 私は Xamarin でのアプリ開発を通して MVVM 設計のすばらしさを経験してしまいました。もう後には戻れません。 Java や Objective-C でのアプリ開発でも MVVM 設計は開発スピードと品質確保を両立するために有効であるはずです。 今回は Android アプリ開発(Java)で MVVM を使うとどうなるか、紹介してみたいと思います。 MVVM 設計について MVVM 設計ではビジネスロジックを Model が担当し、ViewModel
By Dick_Wu セキュリティリサーチャーのIbrahim Balicさんは、GoogleのAndroid OSにメモリをクラッシュさせる恐れのある脆弱性を発見しました。その後Trend MicroがBalicさんの発見した脆弱性を調査したところ、悪意あるハッカーによって、ユーザー自身がデバイスに保存されたデータを全消去してしまうようなアプリの作成が可能であることが判明しています。 Android Vulnerability affected Google Play Bouncer (Emulator) | Ibrahim BALİÇ http://ibrahimbalic.com/2014/android-vulnerability-affected-google-play-bouncer-emulator/ New Android Bug Causes Bricked Device
公式のライフサイクルがちょっと分かりにくい Activity | Android Developers に載ってる図。 状態のフローなんだか処理のフローなんだかどっちつかずでややこしい。 何度見ても頭に入らないから毎度毎度図を見直すことになる。 状態遷移図として表現すると分かりやすい こんな感じです。どうでしょうか。 あくまでも図の形式は状態遷移図で、ハンドラ呼び出しは矢印に現れるだけ。 アクティビティ作成 アクティビティが作成されると、「未作成」状態から「最前面」状態へと一気に遷移する。 その過程で onCreate, onStart, onResume が呼ばれる。 半透明な他のアクティビティに覆われたとき 他のアクティビティが手前に来たら「非最前面」状態に遷移する。 その過程で onPause が呼ばれる。 手前に来た他のアクティビティが半透明の場合、 元のアクティビティは透けて見え
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く