サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Wikipedia
www.serendip.ws
strings パッケージの ToUpperSpecial、ToLowerSpecial を使って、文字列の全角・半角、ひらがな・カタカナ変換を行ってみる。 strings.ToUpperSpecial(_case unicode.SpecialCase, s string) string strings.ToLowerSpecial(_case unicode.SpecialCase, s string) string SpecialCase の定義に従って文字列を「大文字・小文字」に変換する。 type SpecialCase []CaseRange SpecialCase は、CaseRange 型のスライスで、言語毎(トルコ語など)に規定されているマッピングを表わす。 type CaseRange struct { Lo uint32 Hi uint32 Delta d } Cas
JsHint を使って Vim で JavaScript のコードチェックを行った際のメモ。 MacPorts で Node.js をインストールする $ sudo port install nodejs MacPorts で npm をインストールする パッケージ管理ツールの npm をインストールする。 $ sudo port install npm npm で jsHint をインストールする -g オプション(グローバルオプション)を付けてインストールすると、/opt/local/lib/node_modules 以下にライブラリがインストールされる。 $ sudo npm install -g jshint ホームディレクトリに .jshintrc を作成する { "strict" : true, "indent" : 4, "camelcase" : true, "unused
rbenv (sstephenson/rbenv · GitHub) と ruby-build (sstephenson/ruby-build · GitHub) を使って Ruby をインストールして、異なるバージョンの Ruby を切り替えて利用するためのメモ。 rbenv 等のインストール まず先に MacPorts で openssl、readline、iconv をインストールしておく。 $ sudo port install openssl readline libiconv rbenv と ruby-build をインストールする。 $ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv $ mkdir ~/.rbenv/plugins $ git clone https://github.com/sstephe
カーソルを最初の数字がある行に移動し、ノーマルモードで以下のコマンドを実行する。 qayyp12l<C-a>q8@a <ul> <li id="hoge0"></li> </ul> 実行結果 <ul> <li id="hoge0"></li> <li id="hoge1"></li> <li id="hoge2"></li> <li id="hoge3"></li> <li id="hoge4"></li> <li id="hoge5"></li> <li id="hoge6"></li> <li id="hoge7"></li> <li id="hoge8"></li> <li id="hoge9"></li> </ul> スクリーンキャスト コマンドの詳細 qa レジスタ文字(ここでは a を使用)にキー入力の記録を開始する。 yyp カーソル行をカーソル行の下にコピー&ペーストする。
Android プロジェクトの assets フォルダ内に保存した画像ファイルを読み込んで ImageView で表示させる方法のメモ。 getAssets で AssetManager を取得し、open メソッドで画像の InputStream を開く。 ImageView v = (ImageView) findViewById(R.id.image); try { InputStream is = getResources().getAssets().open("image.jpg"); Bitmap bm = BitmapFactory.decodeStream(is); v.setImageBitmap(bm); } catch (IOException e) { /* 例外処理 */ }
2点間の距離を求める関数 引数 precision で精度(小数点以下の桁数)を指定する。 public static float getDistance(double lat1, double lng1, double lat2, double lng2, int precision) { int R = 6371; // km double lat = Math.toRadians(lat2 - lat1); double lng = Math.toRadians(lng2 - lng1); double A = Math.sin(lat / 2) * Math.sin(lat / 2) + Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) * Math.sin(lng / 2) * Math.sin(lng
CSS3 を使って鏡面反射の効果を付ける方法のメモ。 webkit 系のブラウザでは -webkit-box-reflect を使って簡単に効果を付けることができるが、Firefox4 や 5 などでは疑似要素とマスク用svgを使って少し手間をかけないとできない。 CSS3 を使った鏡面反射効果 サンプル css コード Firefox では、疑似要素 after を使って鏡面反射用要素を作り、mask を使ってフェードアウト効果を、-moz-transform を使って鏡面効果(反転)を付けている。 この疑似要素の背景に元の要素を -moz-element を使ってセットすることで鏡面反射の効果を作っている。 /* Firefox, webkit 共通の設定 */ body { background: black; } #reflect1 { width: 200px; padding:
Ubuntu 10.04 Lucid Lynx のツールチップの背景色が黒で見にくかったので、テーマをカスタマイズして好みの色に変更したら、ウィンドウタイトルバーのボタン(閉じる・最小化・最大化)が右側に移動してしまった。 10.04 を使い始めて左側のボタンに慣れてきていたので、ボタンを左側に戻す方法を調べた。 gconf-editor を使ってボタンの位置を設定できる。 ターミナルからコマンドを実行して、GConf 設定エディタを起動する。 $ gconf-editor 設定エディタから /apps/metacity/general/button_layout を選択し、値を close,minimize,maximize:menu と変更する。 これで、タイトルバーのボタン位置を標準の位置の戻して、ツールチップの背景色を変更することができた。
日本全国の城情報を見ることができる Android アプリ『城めぐり』を公開しました。 6つに区分した地域からや、Google マップ上に表示されるピンなどから各城の詳細を見ることができます。 また、カメラを使って位置情報(現在位置、またはマップの中心位置)から周囲の城の様子を見ることができます。 一部の城の櫓・門・その他施設などをマップ上に表示したり、カメラ上に表示することができます。 メニューからツイッターやメールなどに投稿できます。 ツイートにはハッシュタグ#castlestourや現在位置のGoogleマップURLが追加されます。 GoogleマップURLの挿入機能は城から半径約1km以内で利用できます。 自分で撮影した画像をSDカード上の本アプリデータディレクトリにコピーすると、ユーザーギャラリー上に表示することができます(詳しくはアプリのヘルプをご覧ください)。 本アプリはアプ
Android, <uses-feature> の未指定による Android マーケットでのフィルタリング Android マーケットに登録していたアプリのいくつかが、少し前から表示されなくなってしまった。 原因をいろいろ調べてみると、AndroidManifest.xml ファイルに <uses-feature> 要素の記述をしなければいけなくなった模様。 (参考:Android Developers Blog: Market Housekeeping Alert) <uses-feature> 要素には、対応するハードウェアやソフトウェアの機能を記述するらしく、Android マーケットはこの要素の内容を見てフィルタリングして、未対応のデバイスへのインストールを防いでいるらしい。 とはいっても、何の記述を追加すればよくわからなかったのだが、Android SDK に付属している aa
CSS3 では media query に画面の幅などのプロパティを指定することにより、適用するスタイルシートを切り替えることができるらしい。 画面の幅のプロパティの場合、Firefox 3.5、Opera 9.64、Safari 4.0.1、Google Chrome 2.0.172.33 で動作することが確認できた。IE6,7,8 はダメ。 デモ:CSS media query によるスタイル切り替え <style type="text/css" media="screen and (max-width: 500px)"> <!-- body { background-color: #fcc; } #note:after { content: "500"; } --> </style> <style type="text/css" media="screen and (min-widt
SQLite3 のデータベースに OOo (OpenOffice.org) の Base を使ってアクセスできるようになるまでの各設定のメモ。 Mac OSX Snow Leopard (10.6) と Ubuntu 10.04 LTS (Lucid Lynx) で試してみた。 Mac, Ubuntu とも SQLite3 はインストール済みだったので SQLite3 のインストール方法は省略。 ODBC ドライバのインストール ODBC (Open DataBase Connectivity) とは、各種のデータベースの違いを吸収してデータベースにアクセスできるようにするソフトウェアの仕様らしい。 この ODBC ドライバを通して OOo から SQLite3 へ接続する。 Ubuntu の場合 Ubuntu では aptitude を使って、 $ sudo aptitude insta
以下のような記述が .php 内にあった場合、Notice: Undefined index: id in /Users/foo/public_html/hoge.php on line n と表示される。 $id = $_GET['id']; これは、外部からの汚染された引数が渡されたことが原因なので、htmlspecialchars を使ってサニタイズすると警告が表示されなくなる。 $id = htmlspecialchars(@$_GET['id']); 上の方法では、@を使ってエラー出力を抑制しているだけ。 $_GET['id'] の値が初期化されていないためにエラーとなっているので、isset で初期化チェックをおこなう。 $id = isset($_GET['id']) ? htmlspecialchars($_GET['id']) : null; 修正:2011/6/1
Ubuntu 10.04 で Nexus One を USB で接続しても adb devices コマンドでデバイス名が正常に表示されなかった。 そのため、アプリのデバッグ・インストールすることができない、そこで udev の rules ファイルを作成してデバイス名が認識できるようにする。 $ adb devices List of devices attached ???????????? no permissions android 用の udev の rules ファイルを作成する。 $ sudo vi /etc/udev/rules.d/99-android.rules 99-android.rules ファイルの中身。 SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", SYMLINK+="android_adb", MODE="0666"
getOrientation は非推奨メソッド getRotation は API Level 8 以降で使用可能 Display d = getWindowManager().getDefaultDisplay(); Log.d(TAG, "width : " + String.valueOf(d.getWidth())); Log.d(TAG, "height : " + String.valueOf(d.getHeight())); Log.d(TAG, "orientation : " + String.valueOf(d.getOrientation())); 参考:Display | Android Developers Surface | Android Developers
Android のダイアログで、長いタイトルをセットした際にテキストをスクロールして表示させようと、いろいろ試した際のメモ。 Dialog で通常のタイトル表示 最初に Dialog の setTitle() でタイトルをセットする、通常の方法を試してみる。 この場合、長いタイトルは途中で切れてしまい読めない。 layout ファイル <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView androi
Ubuntu 8.04 (Hardy Heron) でゴミ箱の実体ディレクトリの場所を探した。 Nautilus の "場所:" では trash:/// としか表示されず、実際の場所がわからない。 調べてみたら、 ~/.local/share/Trash/files/ が実際のディレクトリだった。 ついでに、調べ方のメモを残しておく。 適当なファイル名(hogehogefuga)のファイルをゴミ箱に移動させて、 find コマンドで、移動させたファイルを探す。 $ find ~/ | grep hogehogefuga /home/USERNAME/.local/share/Trash/files/hogehogefuga /home/USERNAME/.local/share/Trash/info/hogehogefuga.trashinfo ~/.local/share/Trash/
Shodowについて "Shodow"はマウスで毛筆風の文字や絵を描けるソフトです。 書いた作品をBMPやJPEG形式のファイルで保存できます。 文字や絵を描く様子を録画し再生する機能があります。 "Shodow"はWindows2000(SP3)、WindowsXPでの動作を確認しました。 製作環境はWindows2000(SP3)、Delphi6 Personalです。 "Shodow"は無料で使用できるソフトウェアです。 スクリーンショット 使用許諾 "Shodow"を利用するには以下の項目に同意してください。 "Shodow"の著作権は作者iNo(Serendip)が保有します。 転載、配布を許可しますが、転載、配布時にはアーカイブの形態を一切改変しないでください。 このソフトウェアを使用して発生したいかなる損害にも作者は責任を負わないものとします。 作者はこのソフトウェアに対して
mixi チェックとはサイトの記事をコメント付きでマイミク等と共有できるサービスらしい。 ページ内に設置された mixi チェックボタンをクリックしてチェックリストにそのページを登録していく。 この、mixi チェックボタンを WordPress テンプレートを編集して、記事内に設置する方法をメモしておく。 mixi チェックキーの取得 mixi Developer Center (ミクシィ デベロッパーセンター) ページから『Developer Dashboard』にログインして、『mixi Plugin』ページに移動する。 『新規サービス追加』から『サービス名』(登録サービスの一覧に表示される名前)、『サービスのURL』(ボタンを設置するサイトのトップページURLなど)、『URL許可リスト』(チェック対象ページ内の画像などのデータ取得などを許可するURLのパターン?)、『定型文』(チェ
Android で URI の生成・操作を行う Uri.Builder クラスを使って URI 文字列を作る方法のメモ。 Uri.Builder オブジェクトを作って、URI の各パラメータを指定していく。 主なメソッド scheme URI が使用するプロトコルを指定する。 authority 一般にホスト名と呼ばれるものを指定する。 path リソースを指定する。/ 以外の文字は必要に応じてエンコードされる。 path の先頭に / を付けずに指定した場合は、Uri.Builder によって先頭に / が付加される。(scheme や authority が指定されている場合) appendQueryParameter キーと値を引数にとり、それぞれエンコードしてクエリ文字列に追加する。 fragment URIフラグメント(リソース内の部分指定をする)を追加する。 build 指定さ
Android のリスト表示用 UI の ListView で、リスト項目名としての表示用データと内部で保持する非表示データを合せ持たせる方法のメモ。 今回は、都道府県名(文字列)と都道府県コード番号(整数)の2つのデータを保持するリストを作成し、ListView にデータバインドさせる。 ListView で表示されるのは都道府県名のみで、リストをクリックした時に Toast で都道府県名と都道府県コードの両方をポップアップさせる。 まず、内部クラスで都道府県名と都道府県コード番号を管理するクラス Area を作成する。 private class Area { private String AreaName; private int AreaCode; public Area(String name, int code) { this.AreaName = name; this.Are
jQuery の DOM 操作メソッドの挙動の違いについてのまとめ。 以下の例の DOM 要素に対して、jQuery の DOM 操作メソッドを使って処理を行い、その挙動の違いについて調べてみた。 <div id="box" class="box"> <div>サンプルテキスト1</div> <div>サンプルテキスト2</div> <div>サンプルテキスト3</div> <div>サンプルテキスト4</div> </div> append, appendTo, prepend, prependTo について append append 指定した要素の最後に、引数で指定した内容を追加する。 $('#box').append('<div><em>サンプルテキスト5(追加)</em></div>'); 実行結果 <div id="box"> <div>サンプルテキスト1</div> <div
Android, 通貨文字列の入力を手助けする Simeji キャンディ(Candy)アプリ『通貨入力』 Android の日本語文字入力アプリ Simeji のキャンディアプリとして通貨関連の文字入力を簡単に行えるアプリを作ってみた。 キャンディとは Simeji のマッシュアップアプリの機能で、Simeji の入力候補部分に複数の任意の文字列を表示させることができるというもの。 キャンディアプリによって表示される入力候補はタップして入力を行っても変更されないので、連続して入力を行える。 そこで、通貨記号や数字・カンマなどの文字を入力候補部分に表示させて、通貨文字列の入力を簡単に行えるようにしてみた。 作り方は、『throw Life – マッシュルーム』のサイトにあるキャンディ開発テンプレートほぼそのまま。 キャンディアプリ選択リストが表示されるので、『通貨入力』を選択する。 入力候補
iPhone・Android 向けのサイトデザインをする際に meta タグに viewport を指定して、デバイスの表示領域に合わせたページデザインを行う。 メタタグでの指定の例 <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes,"> 各パラメータと、その内容 width ビューポート(可視領域)の幅(ピクセル値)。 デフォルト値は 980。 200 から 10000 までの範囲を指定できる。 height ビューポートの高さ(ピクセル値)。 デフォルト値は width の値とデバイスのアスペクト比から算出される。 233 から 10000 までの範囲を指定できる。 initial-scale ページが可視領域内にフィットするように計算された値がデフォルト値とな
Android の AlertDialog で setMessage を使ってメッセージテキストを表示させるとメッセージの文字列は左寄せで表示される。 new AlertDialog.Builder(this) .setIcon(R.drawable.icon) .setTitle(R.string.about_title) .setMessage("TextRはテキスト編集用サンドボックスです。\nSerendip(c)2010.") .setPositiveButton(android.R.string.ok, null) .show(); これを、LayoutInflater を使って、メッセージの一部をセンタリングしたり、文字サイズ・色を変更してみる。 setView を使って res/layout/about.xml から作った View を AlertDialog のメッセージ
Ubuntu 9.10 から標準に採用された Grub2 の設定を行い、リカバリモードでの起動を選択できるようにする。 OS が1つしかインストールされていないと Grub2 はメニューを表示せずにその唯一の OS を起動する。 そこで、設定ファイル /etc/default/grub を編集し Grub2 のメニューが表示されるように変更する。 /etc/default/grub を以下のように編集し、update-grub コマンドを実行して /boot/grub/grub.cfg を更新する。 $ sudo vi /etc/default/grub ... GRUB_HIDDEN_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT_QUIET=true ↓ #GRUB_HIDDEN_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT_QUIET=false ... $
『[CSS]画像の四辺のボーダーを一味違ったスタイルにするチュートリアル | コリス』の記事を読んで、画像のボーダーの代りにボックスのドロップシャドウを内側に向けて適用すれば画像の輪郭をぼかすことができるのではと思い試してみた。 上記記事での CSS で outline の部分を box-shadow に変更し、影を内側に向けるために inset を指定する。 また、影の色を背景色と同じものにしておく。 疑似要素で作られるボックスの top、left、bottom、right を 1px から 0 に変更する。 CSSコード .blur, .blur > img { margin: 0; padding: 0; border: 0; } .blur { position: relative; display: inline-block; font-size: 0; line-height:
Snow Leopard の MacPorts でインストールした PHP が Version 5.3.0 となり、以下のような警告が出るようになった。 Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We se
Android でアクティビティのタイトルバーを非表示にする方法のメモ。 getWindow().requestfeature() を使う場合。 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // タイトルバーを隠す (setContentView より前に記述する) getWindow().requestFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); } getWindow().requestfeature() の簡易メソッド requestWindowFeature() を使う場合。 @Override public void onCreate(Bundle s
次のページ
このページを最初にブックマークしてみませんか?
『Serendip - Webデザイン・プログラミング』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く