macの濁点・半濁点が分離したをファイル名一覧を融合

さて、引き続き検索するプログラムなんですが、そもそもMacには標準で拡張版iconvがインストールされていて濁点・半濁点が分離した文字を融合できる。
試しにファイル一覧(hoge.txt)を作って、iconv(fuge.txt)で変換してみた。
$ find . >hoge.txt
$ iconv -f UTF-8-MAC -t UTF-8 hoge.txt -o fuge.txt
結果は途中で止まってしまう。どうやら文字数制限があるようだ。
〝macの濁点・半濁点が分離したをファイル名一覧を融合〟の続きを読む

Mac miniをWEBサーバに

先日、NAS化したMac miniですが実はWindows側から「濁点の入った文字を検索出来ない」という問題があります。
理由はWindowsやLinuxは普通に濁点・半濁点がくっついた文字を使ってるのに対し、MacはNFDという濁点・半濁点を分離して1文字とする方式でファイル名を管理してる為だ。
そんな訳でMac miniにWEBサーバを立てて検索するツールを作る事にした。
〝Mac miniをWEBサーバに〟の続きを読む

Mac miniをNASで100倍速

無線ルーターAterm WR8750Nに外付けハードディスク(GW3.5US-PSU/CB)を付けて簡易NASとして利用していたが約0.7MB/s程度と遅く不満だった。
さらに計測すると同じハードディスクをUSB2.0で直繋ぎすると4.7MB/s、nasneのNAS機能は約19MB/sなので、原因はルーターのNAS性能(非力な処理能力とUSB2.0接続)と決定づけられた。
そこでアプリ開発用に買ったMac miniに目を付けた。普段のMac miniは定期的にrsyncでサーバーのバックアップをさせてるぐらいで主に寝ている(スリープ状態)。
Mac miniはUSB3.0が付いてるし省電力だしCPUもパソコンとしては非力だけどNASとしては高速なNAS向きのスペックだ。
〝Mac miniをNASで100倍速〟の続きを読む

大阪弁変換

osaka

こすられまくったコンテンツだけど自動で大阪弁に変換するAPIが必要で探したが、うまく変換出来なかったり、APIが公開されてなかったりしたので自作することになりまして、一般公開する気は無かったんですが少し前に進撃の巨人の関西弁版が流行ったりしてたので公開する事にしました。
〝大阪弁変換〟の続きを読む

文字コードで気をつけること

multibyte

よく「JIS(ISO-2022-JP)」と表現されますが、PHPでは「ISO-2022-JP」と「JIS」は違う文字コードになります。
「ISO-2022-JP」はメールでよく使われる文字コードで規格を厳守してるので機種依存文字(ISO-2022-JP規定外文字)や半角カナ共に扱えません。
一方「JIS」は半角カナが使え、機種依存文字が扱えない。
八方ふさがりのように見えるがPHP5.2.1からは「ISO-2022-JP-MS」が用意されており、コレだと機種依存文字も半角カナも扱える。
「メールはJISだから機種依存文字や半角カナが送信出来ない」はずだが、ISO-2022-JPのふりして中身をISO-2022-JP-MSにすると機種依存文字が送れたりします。(受け手のメールソフトが対応してた場合のみですが・・・)
〝文字コードで気をつけること〟の続きを読む

コンストラクタで多言語化を

PHPなどのシステムで多言語に対応する際は出力の度に言語で分岐して出力するより、言語ファイルを用意した方が効率的です。

言語ファイルと言えばプログラム業界では「.po」「.mo」といったファイルがよく見られます。(はてなの場合
これらの言語ファイルをPHPで使うには下記の流れの作業する事になります。

1. 翻訳元の「.pot」ファイルを作成
2. ファイルを元に翻訳元と翻訳後の書かれた「.po」ファイルを作成
3. 「.po」ファイルを「.mo」ファイルにバイナリ変換
4. GetTextというライブラリで翻訳させる。

大規模なシステムだと分業しやすいというメリットはありますが「TASK4BOX」みたいな規模の小さいシステムだと大袈裟なので自前で言語ファイルを作る事にした。
〝コンストラクタで多言語化を〟の続きを読む

2015年4月のOSシェアとブラウザシェア

PIE

久々にOSの占有率とブラウザ占有率を調べてみた。(2015年04月23日現在)
この統計は総セッション数547,694件と大きいサイトを元にしてますが、PC版・スマホ版・ガラケー版に対応したサイトなのでスマホやガラケーに対応していないサイトと比べるとガラケーやスマホのユーザーが多い傾向にあります。

OSシェア

既にスマホ&タブレットがPCを超えています。BtoBやECサイトではまだPCサイトが全盛ですが、モバイルファースト(PCサイトをモバイル化するのでは無くモバイルサイトからPCサイトを作る方法)がますます増えそうです。

Windows 187,809
Macintosh 13,543
Linux 1,579
Chrome OS 53
パソコン計 202,984
iOS 180,745
Android 138,183
Windows Phone 52
BlackBerry 45
Series40 6
Firefox OS 3
SymbianOS 2
スマホ&タブレット計 319,036
EZweb Device 11,107
NTT DoCoMo 6,803
SoftBank 3,565
Vodafone 6
Nokia 2
ガラケー計 21,483
Nintendo 3DS 1,530
Playstation Vita 887
Nintendo Wii 880
Playstation 3 337
Xbox 12
Google TV 1
ゲーム機等 3,647
not set 544

〝2015年4月のOSシェアとブラウザシェア〟の続きを読む

蔦の絡まる煉瓦の画像

コンタクトバナー

今回は珍しくバナー画像の作り方の解説と素材の配布です。

先日、tenhp.comのトップのお問い合わせフォームへのバナーボタンを作りました。
元々、この箇所には(コンバーションを考慮し)簡易フォームをそのまま埋め込む予定でしたが、実装する段階になって場所が狭いため注意書きが書けないとかフォームが小さくなるといった問題があり、結局、公開のリミットに間に合わず、とりあえず「お問い合わせ」と文字リンクを入れて公開し、そのまま5年放置状態だったので、ようやく重い腰をあげた感じです。
〝蔦の絡まる煉瓦の画像〟の続きを読む