サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Switch 2
www.nilab.info
iPhone Safari でグローバルなドメイン・ホスト名を指定したときに、ローカルネットワーク上のホストに接続したい。ということで dnsmasq を導入してみた。 標準的な設定のシステムであれば、dnsmasqを起動した時点でネットワークのDNSサーバとして稼働する準備が整っている。DNS検索の要求が来ると、dnsmasqはまず「/etc/hosts」ファイルを参照し、要求に一致するエントリがないかを調べる。一致するエントリがあれば、対応するIPアドレスを返す。 (中略) 一致するものが「/etc/hosts」になければ、dnsmasqは「/etc/resolv.conf」に記されている“本来”のネームサーバに要求を転送する。 (中略) なお、実在する外部のドメイン名は、より優先度の高い「/etc/hosts」のエントリによってマスクできる。 dnsmasqでDNSおよびDHCPサー
インストールして、設定して、データベースとユーザを作成するところまで。 MySQL パッケージの調査 mysql 関連の Debian パッケージ を検索。 # apt-cache search mysql | grep ^mysql mysql-admin - GUI tool for intuitive MySQL administration mysql-admin-common - Architecture independent files for MySQL Administrator mysql-client - mysql database client binaries mysql-client-4.1 - mysql database client binaries mysql-common - mysql database common files (e.g. /et
OS: Debian GNU/Linux 6.0 squeeze # uname -mrsvo Linux 2.6.32-5-amd64 #1 SMP Thu Nov 3 03:41:26 UTC 2011 x86_64 GNU/Linux インストール可能なパッケージを検索。 # aptitude search ^mysql p mysql-admin - 直感的な MySQL 管理のための GUI ツール p mysql-client - MySQL データベースクライアント (最新版に依存するメタパッケージ) v mysql-client-4.1 - p mysql-client-5.1 - MySQL データベースクライアントバイナリ p mysql-common - MySQL データベース共通ファイル (/etc/mysql/my.cnf など) v mysql-common-
Google Maps 上にて「津島市」というキーワードで検索したら津島市の領域を線で囲んでわかりやすく表示してくれる。 都道府県の名称でも県界を表示してくれる。たとえば「愛知県」で検索するとこんな感じ。 Ref. Google マップ - 地図検索 tags: google_maps Posted by NI-Lab. (@nilab)
[ヅ] JavaでテキストからURLを抽出する正規表現 を使ってツイート文字列からURLを抜きだして、 短縮URLサービスは90個以上あるそうで、個別のAPIを使ってたら埒があかない。以下のコードは、bit.ly, t.co, goo.gl などでテスト済みだけど、あらゆる短縮URLサービスで利用可能だと思います。 Javaでbit.ly等の短縮URLを展開する方法 « 来栖川電算 という素晴らしいコードがあったので、これを一部改造して使わせていただく。 ソースコード。 import java.io.*; import java.net.*; import java.util.*; import java.util.regex.*; public class UrlExpander { public static void main(String[] args) throws Except
デフォルトだと Debian squeeze の Java は OpenJDK 6 になってしまうけど、やっぱりまだ Sun Microsystems (Oracle) 版のほうがいいなぁなんて思ったので、 sun-java をインストールすることにする。 Debian squeeze をインストールした直後の状態だと Sun Microsystems 版の Java はインストールできない。 パッケージのリポジトリ設定(apt-line) に non-free を追加する必要がある。 ここでは contrib も追加しておく。 # cat /etc/apt/sources.list # deb http://cdn.debian.net/debian/ squeeze main contrib non-free deb-src http://cdn.debian.net/debian/
書籍情報 読書メモ 薄毛の食卓 5か月で64.5%の人が発毛した食事法 書籍情報 -Amazon.co.jp: 薄毛の食卓 5か月で64.5%の人が発毛した食事法: 岡嶋 研二: 本 --http://www.amazon.co.jp/exec/obidos/ASIN/4838723253/nilabwiki-22/ref=nosim/ --->内容紹介 --->血液研究をしていた著者が、毛髪が生えるメカニズムと脱毛のメカニズムを発見。知覚神経を刺激すれば髪が生えるという事実に基づき、臨床研究をしました。それにより、食材による栄養素を摂取することで、髪が実際に生えた人が続出。薬と併用すれば、90.5%の人が発毛した、すごい方法を1冊の本にまとめました。 ---> --->内容(「BOOK」データベースより) --->薬を併用すれば男性型脱毛症の場合、6か月で90.9%に育毛効果が認められた
SOSO地图 という中国のWeb地図サイトがけっこう綺麗なのでスクリーンショットを撮ってみた。 以下は、2010年の記事。 情報によると、最近、テンセントSOSOはすでに地図検索サービスの「SOSO地図ベータ版」を開通した。そして関連するサブドメインも有効になった。 現在、ditu.soso.comとmap.soso.comで「SOSO地図ベータ版」へのアクセスができる。SOSO地図にはマップの検索、バスの検索と運転の検索の機能が提供している。 中国テンセント 認可済地図サービス「SOSO地図ベータ版」を公開 放浪CTOの中国インターネット事情 iPhone アプリや Android アプリもあるみたい。 - iPhone: 手机SOSO地图 - Android: SOSO地图 - Android マーケットのアプリ Ref. - SOSO地图 - Tencent 腾讯 - 搜搜更懂你 t
どのメモリに格納されていようと std::string の絡む等価演算は同じ内容の文字列であれば true を返してくれる (std::string#compare は 0 を返す)。 サンプルコードと実行結果。 環境はMac OS X Snow Leopard。 $ cat ./stringcompare.cpp #include <string> #include <string.h> #include <stdio.h> int main(void){ // C const char* a = "Hello"; char b[6] = "H"; strcat(b, "ello"); printf("a = [%s]\n", a); printf("b = [%s]\n", b); if(a == b){ printf("a == b: true\n"); }else{ printf(
数値を右詰めで0埋めな文字列に変換してみる。 ソースコード。 #include <stdio.h> #include <stdlib.h> #include <iostream> #include <sstream> int main() { int data = 1234; int keta = 8; // C的なコード char *ch = (char*)malloc(sizeof(char) * (keta + 1)); if(ch){ //sprintf(ch, "%08d", data); // 桁数を動的に指定できない・・・ sprintf(ch, "%0*d", keta, data); // 桁数を動的に指定できた\(^o^)/ printf("%s¥n", ch); free(ch); } // C++的なコード std::ostringstream oss; oss.s
Big Sky :: ヘッダファイルだけでC++から使えるJSONパーサ「picojson」が凄い! で紹介されていたコードをベースにして、コマンドライン引数を検索キーワードとするTwitter検索を作ってみた。 ソースコード: twisearch.cpp #include <curl/curl.h> // /usr/include/curl/curl.h #include "picojson.h" typedef struct { char* data; // response data from server size_t size; // response size of data } MEMFILE; MEMFILE* memfopen() { MEMFILE* mf = (MEMFILE*) malloc(sizeof(MEMFILE)); mf->data = NULL; mf
今回の環境 iPhone 4S + iOS 5.0.1 + 標準の「連絡先」アプリ Windows XP + Outlook Express 6 + Windows Address Book 大雑把な流れ iPhone の連絡先アプリで新規連絡先を入力 iTunes 10.5 (Windows XP) で iPhone と Windows Address Book を同期 Windows Address Book から vCard をエクスポート iPhone 4S + iOS 5.0.1 の「連絡先」アプリで作成した新規連絡先 サンプルは昨日作ったファイル: ⇒ ヅラッシュ! - Java と android-vcard で vCard ファイル (*.vcf) をパースするサンプル 「連絡先」アプリの「連絡先を送信」機能で vcf ファイルをメールで送る。 vcf ファイルの文字コード
飲食店・レストラン検索といえば食べログAPI、と思ってたんだけど。 一日あたりのアクセス回数は200回までとなっております。 制限を超えた場合、同日中はご利用いただけなくなりますので、予めご了承ください。 食べログAPI マニュアル[食べログ] さいきんデータが取得できてないと思ったらこういうこと。。。 というわけで、食べログを使うのをやめて、ぐるなびやホットペッパーもいいけどたぶんもっと飲食店・レストランの数が多そうな気がする Yahoo! のローカルサーチAPI を試してみた。 ローカルサーチAPIは、店舗、イベント、クチコミ情報などの地域・拠点情報(POI)を検索するためのAPIです。 検索対象は、全国の店舗を網羅した電話帳データおよび店舗オーナーやユーザーからの投稿データです。 自分のデータもアップロードして検索対象とすることができます。アップロード方法についてはYOLPカセットギ
100円ショップのダイソーでモレスキンそっくりなノート (ダイスキンとかエセスキンとか呼ばれてたりする) が売ってたので買ってみた。 モレスキンに比べて紙がほんのちょっと固い(厚い?)気はするけど、書き味はあんまり変わらない。 正直、本家モレスキンを買わなくてもこれでじゅうぶんな感じ。 『A6 Leather type notebook with elastic band-Ruled 96 sheets A6サイズメモ 96枚 (レザー風バンド付き) 手册 flipchart』 ページ数も本家モレスキンと同じ192ページ (96 sheets x 2 = 192 pages) だった。 それにしても『手册』って中国語なんじゃ…… たしかにダイスキンは MADE IN CHINA だけど。 ちなみにモレスキンの帯には 「Designed by MOLESKINE in Italy - Man
実験環境: - iPhone 3GS - Mobile Safari on iOS 4.3 - Mobile Safari on iOS 5.0 普通にHTMLの中にインラインSVGを埋め込んでも iOS 4.3 だとテキストしか出ない(SVG部分が描画されてないみたい)。 たぶん、これは Webページの HTTP ヘッダの Content-Type が text/html だから。 iOS 4.3: ⇒ Inline SVG Sample (Content-Type: text/html) ちなみに iOS 5.0 だと Content-Type: text/html でもちゃんと表示された。 iOS 5.0: ⇒ Inline SVG Sample (Content-Type: text/html) HTMLコードはこんな感じ。 <!DOCTYPE html> <html> <head
Java標準の正規表現ライブラリを使って、文字列が含む複数のURLを取り出す処理を書いてみた。 環境は JDK 1.6 + Window XP. ソースコード 普通なら STANDARD_URL_MATCH_PATTERN (標準的なURL抽出パターン) で足りると思うが、URLのパラメータに日本語そのままを含む場合は GREEDY_URL_MATCH_PATTERN (貪欲なURL抽出パターン) を使う。 import java.util.*; import java.util.regex.*; public class UrlExtractor { public static void main(String[] args) { String text = "abcde " + "<br> </br> & ' \"" + "http://www.nilab.info/ " + "htt
ヤフーは4日、開発者向けにYahoo! JAPANのサービスやデータベースへのアクセスを無料で公開するサービス「Yahoo!デベロッパーネットワーク」において、テキストから特徴的な表現(キーフレーズ)を抽出する「キーフレーズ抽出Web API」を公開した。 「キーフレーズ抽出Web API」は日本語のテキストを解析し、文章中からキーフレーズを抽出して回答するWeb API。テキストをパラメーターとして含むリクエストURLにアクセスすると、抽出されたキーフレーズと各キーフレーズの重要度を示す数値のリストが回答として返ってくる。 例えば、「東京ミッドタウンから国立新美術館まで歩いて5分で着きます」という文章からは、「東京ミッドタウン(重要度100)」「国立新美術館(重要度54)」「5分(重要度9)」といった解析結果が得られる。これにより、ニュースなどのテキストからメインテーマと考えられるフレー
ディレクトリ内のデタラメな *.jpg と *.jpeg ファイルをこんな感じでまとめてリネーム。 $ ls aaa.txt asdf.jpg poiuy.jpg qwer.jpg sngk38.jpeg $ i=1; for f in *.jpg *.jpeg; do g=000$i.jpg; mv $f hoge_${g:(-8)}; i=$((i+1)); done $ ls aaa.txt hoge_0001.jpg hoge_0002.jpg hoge_0003.jpg hoge_0004.jpg ナンバリングの処理は、数値演算構文の $((数値演算式)) を利用して i=$((i+1)) という記述で i を数値としてインクリメント。 リネーム後ファイル名の生成部分は、g=000$i.jpg と ${g:(-8)} の部分。 g=000$i.jpg で、4桁にするために i が
AWK + sh で。 ディレクトリ内のデタラメな *.jpg ファイルをこんな感じでまとめてリネームするという予測。 $ ls asfidfj.jpg aslkda.jpg dsklafsof.jpg lsad.jpg $ ls *.jpg | awk '{ printf "mv %s hoge_%04d.jpg\n", $0, NR }' mv asfidfj.jpg hoge_0001.jpg mv aslkda.jpg hoge_0002.jpg mv dsklafsof.jpg hoge_0003.jpg mv lsad.jpg hoge_0004.jpg AWKの出力結果をシェル(sh)にパイプで流すことで、実際に実行して、連番ファイル名にリネームできる。 $ ls *.jpg | awk '{ printf "mv %s hoge_%04d.jpg\n", $0, NR }'
jhead は JPEG ファイルの EXIF 情報を編集することができるコマンドラインのツール。 Exif Jpeg header manipulation tool からダウンロードすることができる。 EXIF情報を削除するには -purejpg オプションを指定する。 $ jhead -purejpg *.jpg これで写真ファイルのEXIF情報をまとめて削除することができる。 EXIFにはいろいろな情報が含まれている。 撮影した場所やカメラを傾けた方向など。 iPhoneなどのスマートフォンで写真を撮るとGPSによる現在位置情報を付けてしまうことがあるので、そういう写真をインターネット上に公開するときはEXIFを削除しておいたほうが無難なこともある。自宅や職場の位置がEXIFに含まれてしまうこともあるので注意。 また、EXIF情報が残っているかどうかを判断する際には、 Mozill
Mac OS X のパッケージ管理システムといえば、 MacPorts とか Fink があるけど今回は Homebrew をインストールしてみた。 環境: Mac OS X Lion Ruby とインターネットにつながる環境があればらくらくインストールできる。 Ruby は最初から Mac OS X Lion に入っているから楽勝。 $ uname -svmr Darwin 11.0.1 Darwin Kernel Version 11.0.1: Wed Jun 29 19:53:22 PDT 2011; root:xnu-1699.23.2~1/RELEASE_X86_64 x86_64 $ ruby -v ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0] Mac OS X Lion に Homebrew をイン
Debian GNU/Linux Sarge にて MySQL 4.1 の root パスワードを忘れたのでパスワードを再設定。 まず、MySQL サーバを停止。 次に、パスワード無しアクセスできるようにオプションで指定して、MySQL サーバを起動 (Debian の /etc/init/mysql にオプションが渡せない? ので 本体の /usr/bin/mysqld_safe を直接起動する)。 # /etc/init.d/mysql stop # /usr/bin/mysqld_safe --user=root --skip-grant-tables & mysql クライアントからパスワードを変更。 # mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connect
4月22日のマピオンのリニューアルに関して「道の険しさが分からない」と書いてあるブログを発見。 もう一つの問題点は(これが最大の問題点なのですが)、「道の険しさが分からない」ということです。以前は国道、県道、農道などの区別なく、悪路は悪路として描き分けられていたはずが、今回は「国道>県道>町道」という役所的な発想に後退してしまい、地方の1/21000以上の地図では国道>県道>市町村道のレベル別にほぼ一律の幅で描かれてしまいました。そのため、幹線国道も「酷道」も、地図の上ではあたかも同じ道であるかのように見えてしまうのです。曲がりくねった線形で悪路であることがある程度想像できる場合も多いのですが、全国にその名を轟かす国道308号の暗峠など、地図の上ではいたって快適な山道にしか見えず、不慣れなドライバーがこの地図に惑わされないかが懸念されます。 マピオンが重い件 - 日本列島旅鴉 国道308号
Bing Maps REST Services Imagery API は地図画像を取得することができるWeb API 。 似たような競合APIは Google Static Maps API や Yahoo! Open Local Platform スタティックマップAPI あたり。 これらの API と比較した Bing Maps REST Services Imagery API の優位点は、始点と終点を指定するだけで自動的に経路を描画してくれるところ。 (取得した地図画像の情報を XML/JSON で取得できたりとかも優位点だと思うけど今回はパス) 準備: アカウント作成 まず、Windows Live ID を作る。 ⇒ Windows Live へようこそ 次に Windows Live ID で Bing Maps Account Center へログインして Bing Ma
Microsoft の Bing Maps が提供している Destination Maps (略地図生成機能) がすごい。 「目的地」と「地図の範囲」を指定すると略地図をつくってくれる。 略地図のスタイルは4種類 4つのスタイルから好きなものを選んで作ることが可能。 手書き風の 『Sketchy Style』 ヨーロッパ風?の 『European Style』 Google Maps に似ているような。。。 アメリカ風?の 『American Style』 細い道路でシンプルなデザイン。 宝探しに適した宝の地図! 『Tresure Map Style』 Destination Maps で略地図を作る手順 Bing Maps の下のほうにある「MAP APPS」をクリック。 Map apps の一覧から 「Destination maps」をクリック。 STEP1: ざっくり場所を入力し
PhantomJS を使うとコマンドラインからウェブページのスクリーンショット(キャプチャ)を撮ることができる。 Linux, Mac OS X, Windows 上で動作可能らしいので、今回は Mac OS X で試してみた。 環境: - Mac OS X 10.6.8 Snow Leopard - PhantomJS 1.2.0 (development) BuildInstructions - phantomjs - Build Instructions - headless WebKit with JavaScript API - Google Project Hosting を参考にしてインストールする。 まず、 Download Qt for Open Source C++ development on Mac OS X — Qt - A cross-platform appl
jEditメモ (MacBook Air, Mac OS X 向け) -jEdit - Programmer's Text Editor - overview --http://www.jedit.org/ -特徴? --有名なテキストエディタ vi/emacs 以外で、マルチプラットフォームで高機能なテキストエディタは jEdit ぐらいしかない? --Java で書かれている --日本語の情報が少ない --Mac OS X で動く Jedit / Jedit X というエディタと名前が似ていて(大文字小文字が違うぐらい)まぎらわしい -インストール直後に設定したいところ(お好みで) --文字コード: メニューから [jEdit] -> [Preferences] -> [jEdit] -> [Encodings] ->[Default character encoding]: UTF-
SQLインジェクション対策として PreparedStatement を使うのはいいけど、同時に like を使うときには注意しないといけない気がする。 ターゲットの DBMS は MySQL. エスケープ処理を自前でやりたくない理由 以上一般的なSQLにおけるエスケープ処理について説明したが,実は不十分な対策である。残念なことにデータベースエンジンごとにSQLが独自拡張されていて,特殊文字が「'」「\」以外にも存在する。 たとえばMySQLでは,「'」「\」に加えて次の文字も機能をもつ特殊文字として扱われる。 * 「\0」ナルバイト文字 * 「\n」改行文字 * 「\r」キャリッジリターン文字 * 「\z」ファイル終端文字(Windowsのみ) またMicrosoft のJetエンジンでは,次の文字も機能をもつ特殊文字として扱われる。 * 「|」VBAステートメント実行文字 IPA IS
Titnium Mobile だけでは実現できないことを、 Xcode + Objective-C で書いて Titanium Mobile から呼び出せるように作るのが Titanium Mobile のモジュールである Titanium Module (正式名称よくわからず)。 進めていくにあたって参考にしたのは主に次の2つのページ。 Module Developer Guide for iOS (PDF版も配布されている) [Titanium] Titanium Module Development メモ - その2 - それはBlog 自分の環境では特にドキュメント通りに進めて問題なかったんだけど(たぶん)、 Titanium Mobileモジュール開発ドキュメント間違いの要点だけ | スマートフォン要点だけブログ には作業の流れが書いてあるので参考になった。 また、 Titani
次のページ
このページを最初にブックマークしてみませんか?
『NI-Lab. (えぬあいらぼ, にらぼ)』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く