![http://www.designwalker.com/2010/05/css3.html](https://cdn-ak-scissors.b.st-hatena.com/image/square/98a4265766a222ac725a80e57c001150ea3c43d3/height=288;version=1;width=512/https%3A%2F%2Fwww.designwalker.com%2Fwp-content%2Fuploads%2F2017%2F12%2F01-21.png)
続・ハイパフォーマンスWebサイトを読んでCSSセレクタの高速化の話しが面白かった(というか全然知らなくてちょっとびびった)ので紹介します。 セレクタは右から左に解釈される これは正直知らなくて、結構衝撃でした。 #foo .bar {} これはなんとなく#fooを探して、その中の.barを探している気がしてたんですけど、実は.barを探して、その親要素に#fooがあるかを探すそうです。なので特に#fooが必要なければ .bar {} と書いたほうが高速だということ。 また、以下の様に要素名で指定すると、その要素を全て探します。 #foo a {} これは一度a要素を全て探すので、できればaにclassをふって #foo .anchor {} とするほうが高速のようです。(#fooをとるとより高速) 特にユニバーサルセレクタなどは、 #foo * {} とすると、全ての要素の親要素に対して
フラツシュ・クリエイターとか使うと、swfの中身が結構見れてしまうので対策としてSWF Encryptを買いました。49.9ポンド(約1万円)でダウンロード購入できます。 早速Flash Creator体験版と対決させて見たところ、見事解析失敗してFlash Creatorが落ちます。WinFlasmでもfunctionとか表示できない様子。 これで汚くて恥ずかしいソース見られないで済む。 こういう機能をFlash本体につける予定ないのかな。仕様をオープンにするのは歓迎だけど、コンテンツを保護する方法も用意して欲しいな。 Amayeta SWF Encrypt 3.0 SWF Encrypt 3.0 encrypts your Macromedia Flash SWF files, protecting them from the most popular Flash Decompiler
AndroidのフレームワークにはAndroidを強く特徴付けるIntentという仕組みがある。 IntentはActivityやServiceといった実行単位のコンポーネントを起動する場合に利用される。 プログラマはstartActivityやstartServiceといった関数を用いてActivityとServiceの起動を命ずるが、このとき引数にIntentを使うことにより実行対象を指定する。 Intentが優れているのはこの指定方法にある。 Intentは明示的にクラス名を指定することにより明らかに実行されるコンポーネントを指定することが可能だ。 しかし、より優れたIntentの利用方法は暗黙的なIntentの利用である。 暗黙的なIntentを用いることにより、直接実行コンポーネントを指定する必要がなくなる。 これによりコンポーネント間の結合はより緩やかな疎結合となる。 呼出元の
連携できるそうです。 PHOTOSHOP.COM MOBILE APP FOR ANDROID™ テキトーに翻訳してみる アンドロイドケータイ上で画像を編集したいときは、 どんなアプリからでも「Photoshop.com Mobile1.1 エディタ」を利用することができます。 (Photoshop.com アプリをAndroidにインストールしてください。) このエディタは「Intent.ACTION_EDIT」というアクションで操作できます。(MIME-TYPEは「image/*」) 以下が、あなたのアプリのアクティビティから「Photoshop.com Mobileエディタ」を起動する方法です。 // アクティビィティのメソッドの中で Uri imageToEditUri = … // 編集する画像のuri String imageToEditMimeType = … // “ima
AndroidのIntentで定義されているACTIONを一覧にしてみました。 マニュアルを適当に訳しただけです。(http://developer.android.com/intl/ja/reference/android/content/Intent.html) AndroidManifest.xmlのintent-filterのactionにはandroid.intent.action.に続けて、ACTION_を除いた文字列を定義する。 ACTION_AIRPLANE_MODE_CHANGED Broadcast 機内モードが有効または無効への変化 ACTION_ALL_APPS Activity 利用可能なアプリケーション一覧 ACTION_ANSWER Activity 電話の応答 ACTION_ATTACH_DATA 一部のデータを他の場所に付加する時に利用される ACTION
日本Androidの会 関西支部 マニアック勉強会での発表資料です。 OutOfMemoryErrorを知る(PDF) 発表後に指摘を頂き、該当箇所を修正しています。 ありがとうございます。 JNIオブジェクトにはGCが効くよ、という点 (nativeでのmallocには効かないです)。今回のポイントはBitmap.recycle()です。 BitmapFactory利用時に、大きな画像を読み込むとOutOfMemoryErrorが発生するケースがあります。 OOMを避けるための方法を紹介しました。 ポイントは以下の3点です。 Bitmap.recycle() Bitmap.isRecycle()を活用 recycleメソッドを呼び出しておくと、メモリが足りなくなった段階で自動的に メモリを解放してくれます。描画完了後、次回描画まで間がある場合などに使えます。 もちろん次にBitmapを使
後からもできるが、最初の時点で自分のメールアカウントに登録されているFacebookユーザーの検索ができる。これが先々iPhoneと合体する予定のものである。 これも後でできるが今やってしまおう。先にも述べたが、個人的には本名推奨。そして離ればなれになって連絡がとれない友人や職場の元同僚などが見つかりやすいように、そしてソーシャルネットワーキングのキモである人と人のつながりを促すために、各項目しっかり記入する。ちなみに、特定のネットワークのグループに参加する為には、この学校の登録などがのちのち必用になる。 ここでは写真をアップロードする。 これも絶対ではないが、自分の顔写真をアップロードすることが世界的に見れば当然のこととなっている。アドレス帳に写真を入れるの、と考えれば至極当たり前である。 繰り返すが絶対ではない。 これで最初の設定は完了である。するとこのような画面に移る。が、先ほど既に
wonderflは、サイト上でFlashをつくることのできるサービス。 通常Flashをつくるためには、Flash IDEやFlex、FlashDevelop等といったツールを使って、コードを書き、コンパイルする必要がありますが、wonderflでは、サイトにあるフォームにActionscript3のコードを書けば、サーバサイドでコンパイルを行えます。 つまり、ブラウザさえあれば、Flashをつくれます。コンパイル結果はサイト上に表示され、作成されたFlash(swf)はページ上に自動的に表示されるので、完成したFlashをリアルタイムに見ながらコードを書くことができます。 ※APIとして、はてな OpenIDを使用してネットにさえつながれば、誰もがFlashクリエイターになれます。世界中のFlashクリエイターがユーザーになるwonderflは、 文字通り、世界のFlash図鑑となってい
clientX/Y、pageX/Y、laerX/Y&offsetX/Y、screenX/Yの座標をなんとなくみれます。今日も元気に気の向くまま何も考えず適当に書いていますから、おかしいとこやまずい部分は目をつむるか直してやってください。 目的 clientX/Yてなんだっけとか、pageX/Yってなんだっけと、慣れないうちはどう取得できるのか混乱します。はい、混乱しました。そういうのを手軽に認識できるようになれたらいいなブックマークレット。 要素透過させてますがctrlキーで無くせます。 あとメモ書き。 プロパティ ブラウザ間で違いがあるので名前は統一。 event.clientX/Y クライアント領域の座標を取得 クライアント領域ってのはウェブページが描写される部分。座標(x:0,y:0)がずっと固定 event.pageX/Y ウェブページの座標を取得 そのままの意味。ウェブページ上の
MediaStoreのクラスを見ていたらおもしろそうな物があったので試してみた。 もう少し改善してON,OFF切り替えるようにすれば肖像権対策にいいかも? コップレさんとか消すの大変だしね。 アプリケーションの動作 標準カメラアプリをインテント起動 ↓ bitmapを取得 ↓ 顔認識 ↓ 笑い男のイメージを上書き ネタ元はこちら http://kougaku-navi.net/koukaku.html 顔認識のコードはこちらを参考にさせていただきました。 http://blog.livedoor.jp/deeds_not_words/archives/624855.html adakoda.com - ありがとうございます! コードはこんな感じ package jp.lnc.TestMediaStoreImage; import android.app.Activity; import a
試してみたところ、ちと微妙だったが、可能性を感じたのでご紹介。 SpeechAPIは、JavaScriptだけで音声認識をしてくれるAPIだ。 これを使えばあなたのサイトに音声コマンドなんかを仕込んだり、しゃべった言葉をフォームに埋め込むなんてこともできる。 また音声からテキストのみでなく、テキストから音声、といったことも可能なようだ。 FLASH経由でマイクを使うため毎回許可を求められるのが微妙だが、アクセシビリティ的に必要なシーンでは重宝するのではないだろうか。 日本語で使うことができないのが残念だが、覚えておいても良いですな。
Activity を起動したときに EditText にフォーカスがあたるようになっていると 自動でソフトキーボードが出ることがあります。 これを防ぐには Window の setSoftInputMode() で SoftInputMode を設定します。 こんな感じ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); setContentView(R.layout.main); } ここでは、SOFT_INPUT_STATE_ALWAYS_HIDDEN を使っていますが、 SOFT_I
GWにさわったYouTube APIはプレイヤーまわりだけでしたが、その後真打ち部分、YouTube Data APIを少し試してみました。 Data APIは、プレイヤーに渡す動画を選択したり、YouTubeが備えるコミュニティ機能を扱うAPIです。リファレンスはこちら。 デベロッパー ガイド: Data API プロトコル Data APIではフィードを使ってやりとりをしていきます。リクエストの種類がいろいろあるので、必要な情報はおそらく得られると思いますが、思ったように使うのはやっぱり大変ですよね。 ひとまず、作ってみたサンプルがこちら。 動画の検索結果のサムネイルをロモウォール風に表示して動画を選べます。 忘れないうちに、つまずいたところを記憶しておきます。 動画の検索については、リファレンスの「動画の取得と検索」の「動画の検索」にある、
Mediator パターンでプログラムを組んでみて、こんな感じになるのかなぁ、と思っていたら、新たな情報を見つけてしまった! というのが前回までのあらすじ。 その情報はこちらに書かれていました。 デザインパターンをObjective-Cで - Mediator (2) それによると iPhone アプリのプログラミングには以下のような作法があるとのこと(以下「Cocoa 作法」と呼ぶ)。 Colleague(= View)から Mediator(= Controller) へのアクセスを弱める(Mediator と Colleague 結びつきを弱める)ため、(中略)Controller があらかじめ View に対して、実行してほしいメソッドを登録しておく、というスタイルを採用している。 前回組んだ Mediator パターンでは、Colleague からのイベント呼び出し処理は Med
アプリケーションの設定の保存法 通常のアプリケーションではユーザーが動作や表示を設定することができる。Androidでは設定のGUIと記憶処理を簡単に実装する方法を提供している。まず、設定のGUIを簡単に実装する方法と記憶処理は一体となっているので一緒に説明する。やり方は設定項目をxmlファイルとしてres/xml/setting.xml(名前は何でも良い。後述するaddPreferenceFromResoureceメソッドの引数に指定すれば良い)に配置し、javaソースから読み込む。実例としてボタンの表記を日本語にするか、英語にするかという事を設定する設定項目を実装してみよう。 まず、xmlファイルから説明する。以下のCheckBoxPreferenceはチェックボックスでboolean値を設定するためのものになる(他にもリストを選択する物やユーザに入力指せる物等がある。) <?xml
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く