Structure in Android App Design 我々が"構造"について話すとき、それはどういう意味なのか。みなさんが最初に思いつくのは建築の図面ではないでしょうか?ここでの構造は、各スペースが何を意図しているものか決め、また行いたい活動をどうサポートするか提供します。構造は直接見えるものだけではありません。骨は私たちの体の構造を提供しています。骨により筋肉や内蔵を適切な場所に収めることができます。 "Does your app have good bones?" 我々のアプリケーションはこれらの例両方に似ています。空間を定義し、適切な場所に機能を取り付ける必要があります。 よく構造化されたアプリは少なくとも次の3つの特徴があります。 何かを行うのが簡単かつ効果的 家ではドアの幅は出入りするのに適切なサイズだし、床は硬いし、何かを行うのに適切な光量がある 関連する項目は一緒に
「プログラマ35歳限界説」というのがあるが、これは大ウソだと思う。 歳をとっていけば、もちろん体力は落ちる。だんだん無理が効かなくなる。 また、日本の会社組織では、歳をとると管理職にさせられたりして、ずっとプログラマでいるのがむずかしい、みたいなのはあるだろう。 しかし、本質的なスキル、技術力という意味では、プログラマは35歳が限界どころか、むしろ死ぬまで上達しつづけるのではないか。 世界的に活躍しているプログラマは、もちろん若い人もいるが、むしろ40代、50代のオッサンのほうが多い印象がある。 プログラマというのは、一種の物書きに近い。作家やライターでは、35歳限界説なんて聞いたことがないし、むしろ大半が35歳以上だろう。プログラマも同じで、35歳が限界どころか、むしろ歳をとるにつれて、うまくなっていくと思う。 プログラミングがうまくなるには、ひたすらコードを書くという実践をくりかえすし
_ RubyKaigi1日目 ・2.1のGC マークビットをビットマップへ移動したので、予約ビットと合わせて2ビット空いた。 そのうち1つを世代別GC用に利用する。 マーク時に世代ビットも立てる。 新世代用GC時に、上記ビットが立っているオブジェクトを発見したら、そのオブジェクトから先はマークしない。 マークフェーズが速くなった。 a.b = c の状態でGCしてaが旧世代となった後に、a.b = dした場合に、cが実際には不要化されたのに残る。それはフルGC時にスィープできるから良いとしてdはマークされないんじゃないか? どうやってるんだろう。(追記:下で書いているSHADYと不可分な話だった。SHADYかつリメンバオブジェクトであれば旧世代(PROMOTED)とはしないといった制御をしている) もう1つのビットを日陰者と日陽者とする。陽なオブジェクトとするかどうかは、Cのコードでライト
画面の左側にオーバーレイでアプリの主なオプションを表示するパネル。 通常は隠れていて、画面の左端からスワイプするか、トップレベルにいるならアクションバーのアイコンをタップすることで表示される。 http://developer.android.com/design/patterns/navigation-drawer.html より Navigation Drawer を使う前に、Navigation Drawer デザインガイドにあるこのパターンのユースケースとデザイン原則をきちんと理解すること。 Drawer Layout を作成する support package にある DrawerLayout を利用する。 DrawerLayout をルートビューとし、その中にメインのコンンテンツを表示するビューと、NavigationDrawer として利用するビューを入れる。 <androi
「グロースハッカー」というITエンジニアの新しいキャリアが話題になっている。果たしてどのような職種なのか? グロースハッカーの定義、具体的な働き方、必要なスキルなどを探る。 |1 2|次のページ 「グロースハッカー」(Growth Hacker)という言葉を聞いたことはあるだろうか。現在、シリコンバレーを中心に話題となっている職種だ。 Growth Hacker、つまり(プロダクトやサービスの)growth(=成長)をhackする人たちということで、「ユーザー獲得担当エンジニア」などとも呼ばれている。FacebookやQuoraにユーザー獲得チームがあることはよく知られており、米国でのグロースハッカーの需要は高まっているという。 日本ではまだなじみが薄い印象だが、2013年3月にハッカソンならぬグローサソン(Growthathon:Hackathon for Growth Hackers、
5月29日~31日の3日間、日本では4年めの開催となるLinux開発者のカンファレンス、「LinuxCon Japan 2013」が開幕しました(主催:The Linux Foundation)。一昨年、昨年は横浜で行われましたが、今年は東京、文京区の椿山荘に場所を移しての開催です。ここでは初日の基調講演の模様をダイジェストでお送りします。 真に創造的なプロジェクトに“ボス”は要らない 初日最初の壇上に立ったのは、例年と同じくThe Linux Foundationの顔、エグゼクティブ ディレクターのJim Zemlin氏です。いつもはさまざまな数字を挙げてLinux、オープンソースの成長ぶりを紹介するZenlin氏ですが、今年は少し趣向が変わっていました。 Jim Zemlin氏 “How can you better take advantage of Open Source?
Windows 8向けに設計されたハードウェアにLinuxディストリビューションをインストールして利用することは、Windows 7までのハードウェアに比べていくらかの困難を伴うことはこれまで何度も指摘されていた。当初は「Secure Boot」と呼ばれる機能が最大の阻害要因とされてきたが、この問題は徐々に解決しつつある。 もうひとつ、回避しにくい問題があることを「Secure Boot isn't the only problem facing Linux on Windows 8 hardware」が伝えている。Windows 8では高速なシステムの起動を実現するために、ハードウェアに対してシステム起動時にデバイスの初期化を省略することを求めている。たとえばUSBデバイスなどは、ハードウェアが起動する段階で一度初期化され、OSに処理が移ってからもう一回初期化されている。こうした重複した
不正アクセス被害のプレスリリースで次のような表現を見るたびに、何ともいえない違和感を覚えてしまう。 「他社サービスにおけるパスワードの使いまわしではない、まったく別のパスワードの再設定をお願いします---」 いや、言いたいことは良く分かる。ユーザーの自衛策として、パスワードの使い回しを避けた方がいいのはその通りだし、その事実をユーザーに啓発することには意味がある。 だが、私が天の邪鬼だからか、記者の職業病ゆえか…この表現には、ユーザーへの責任転嫁のような意図を感じてしまうのだ。 以前の「記者の眼」にも書いたが、インターネットユーザーが「確実に記憶できる」と考えているパスワードの数は、平均で3個ほどだという。「パスワードの使い回しを避けて下さい」というお願いは、実のところ、大半のユーザーには不可能な注文なのだ(関連記事:いくつもの暗証番号、パスワード…もう限界に来ていませんか)。 そもそも、
編集者とライター3名によるレビューコメント付きでサクッとご紹介します。5点満点で評価しました。 ●Reeder http://reederapp.com/(関連リンク) Googleリーダーからの移行難易度 ★★☆ '09 年12 月の公開以来、Macと相性のいいクールなデザインと閲覧操作のしやすさで、常に高評価を得ている最古参のRSSリーダー。次期バージョン公開までMac/iPadアプリが無料! MacPeople吉田編集長 4点:SafariからRSSリーダー機能が削除されてからfeedlyのサブとして使い続けてきたアプリ。キー操作で記事を次々と読み進められるので重宝する MacPeople山口編集者 5点:Macアプリなのでブラウザーと別に常時表示しやすいのが◎。共有ボタンの「View in Chrome」からブラウザーで開き直せて連携性も抜群 ライターヤシマ 4点:MacでもiPh
SyncAdapterの練習用にSmartTrainingにSyncAdapter機能を実装してみました。これを基にざっくりSyncAdapterについてまとめてみました。細かい実装方法は面倒なのでここでは載せませんので、以下のキーワードから自分で調べてください。(と、突き放す。) 宝くじでも当たって仕事しなくて良くなるくらい暇になったらもっと細かい実装方法についても書くかもしれません。 SyncAdapterの定義 SampleSyncAdapterのように、クラウド上のデータと端末上のデータを相互に連携するための一連の仕組みを指します。 SyncAdapterの概要 アプリケーション内データとクラウド上データの連携をサポートしてくれる仕組み。 端末のアカウント設定(AccountManager)と連動する。 API Level 5以上で利用可。 SyncAdapterがやってくれること
NDK でもごもごするライブラリを使って云々、といったことをしております。 昨日発現したのが、 JNI ERROR (app bug): ccessed stale local reference 0xd2500029みたいなメセジを吐いて落ちる、という現象。 どうやら以下に関連する不具合らしい、というところまで確認できたのですが http://android-developers.blogspot.jp/2011/11/jni-local-reference-changes-in-ics.html 非常に面白いことに targetSdkVersion を AndroidManifest.xml に記載しない、という手法により不具合が回避できている事を確認しています。 とは言え なんとなく落ちなさげ、という程度の確認でしかなかったのですが。 とりあえず修正版なライブラリを提供して頂いて事無
(U)EFI or (Unified) Extensible Firmware Interface is a specification for x86, x86-64, ARM, and Itanium platforms that defines a software interface between the operating system and the platform firmware/BIOS. The original EFI was developed in the mid-1990s by Intel for use developing firmware/BIOS for Itanium platforms. In 2005 Intel transitioned the specification to a new working group called the
In this article, I will describe steps needed to start on with development of real UEFI applications on x86 PC, and share some practical experiences with problems doing so. I will focus on 64-bit version of UEFI, because the 32-bit version isn't much used in this area (most likely due to Microsoft decision not to support UEFI in 32-bit Vista). So, to follow some of my steps here, you'll need a 64-
東急ハンズが、ITソリューション事業を手がける100%子会社「ハンズラボ」を設立。基幹システムの内製化で得たノウハウをもとに、外部企業に向けてシステム受託業務やクラウドサービスを提供していく。 東急ハンズは5月30日、ITソリューション事業を展開する100%子会社「ハンズラボ」を設立したと発表した。東急ハンズの基幹システム内製化で得たノウハウをもとに、外部企業や個人に向けてシステム受託業務やクラウドサービスを提供するという。 ハンズラボの設立は4月1日付。既に企業向けITコンサルティングやドラッグストアのシステム開発などのプロジェクトを開始しているという。 新会社の社長に就任したアクセンチュア出身の長谷川秀樹氏(東急ハンズ 執行役員ITコマース部長)は、「『ハンズがシステムの会社を?』と驚かれるかたも多いと思いますが、わたしからしてみれば自然な流れ」「ユーザー企業、現場、SI企業の三方良し
Editor’s Note 12/30/13 Happy (almost) New Year! We’re saying good-bye to 2013 by revisiting some of our favorite stories of the year. Enjoy. As it turns out, Google’s Android User Experience team has a fantastic trick to settle these debates. In their presentation at Google I/O, the designers shared it with the rest of the world. It starts with a mindset, that every design decision they make affec
Posted by Reto Meier, Android Developer Relations Tech Lead We had a lot to talk about this year at I/O. We launched Google Play services 3.1 with Google Play games services, improved Location APIs, and Google Cloud Messaging enhancements; Android Studio: A new IDE for Android development based on IntelliJ IDEA Community Edition; and Google Play Developer Console improvements such as app translati
ここからは、更にGradleを幸せに使える方法を紹介していきます。 gradle --daemon について さて、Gradleを使っていると不満に思えてくるのが、実行時間の遅さです。なにせ、筆者の環境では先のJavaプロジェクトでgradle testすると実行に4.732秒ほどかかります。少し、長いなと感じますね。 その不満を解消するために、gradleには裏で常に待機していてもらうモードがあります。それが--daemonオプションです。 試しにgradle --daemon testとしてみましょう。1回目は裏で待機していないため、やはり5秒くらいかかりますがもう一回実行してみると、1.041秒というごく短時間でタスクを完了することができます。うーん、素晴らしい! 毎回毎回 --daemon とつけるのもメンドクサイので、GRADLE_OPTS環境変数に-Dorg.gradle.da
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く