mpcbridge ver 4.3

mpd(Music Player Daemon)のリモコンとして動作するWebアプリ、mpcbridge ver 4.3をリリースしました。

mpcbridgeの詳細は、こちらをご覧ください。

↓↓ダウンロードはこちら
https://mpcbridge.fourthgate.jp/download/mpcbridge.zip

以下の修正、変更を行っています。
1) 検索の演奏家名の前方一致と部分一致が逆だったのを修正
2) 五十音順検索に「ら行」がなかったのを修正
3) Ubuntu 16.04のphpとMySQLへの対応

Ubuntu 16.04では、PHPのバージョンが7、MySQLのバージョンが5.7になっています。
PHP 7ではsplit関数が廃止になっていますが、splitを使っている箇所があって、そこでエラーになっていました。
また、MySQL 5.7では、デフォルトではONLY_FULL_GROUP_BYがオンにかわったために、group byしているところでエラーになっていました。
これらの問題を修正しています。といっても、MySQLのほうは根本的な対応ではなく、ONLY_FULL_GROUP_BYをオフにしているだけですが。

以前の変更履歴は、別途「変更履歴.txt」を参照ください。

なお、CakePHP2.X+jQuery mobileによるmpcbridgeはこのバージョンで最後とします。
現在、CakePHP3+Bootstrapに変更中です。
いつになったら公開できるかわかりませんが…。
それ以前の問題として、mpcbridgeを使ってくださっているかたがいるのかわかりませんが(笑)

カテゴリー: PCオーディオ | mpcbridge ver 4.3 はコメントを受け付けていません。

Mac miniにOS X Serverをインストールしたお話

OS X 10.11にOS X Serverをインストールしたので、その備忘録。

クライアントがOS X 10.11の場合、ファイル共有へはafpではなくsmbで接続する。
ボリューム間のバックアップにTimeMachineではなく、rsyncを使うと、日本語ファイル名が文字化けするので、brewなどで提供されているrsyncをインストールする必要があります。
→実は、Linuxでファイル共有していたボリュームの中身をコピーする時に気づきました。
ググったら、山のように出てきました(笑)

nfsははじめから動いているので、
/etc/exports
を記述すれば、nfsでのファイル共有もできます。
同様に外部のLinuxなどのボリュームもnfsでマウントできます。

Xcodeをインストールすると、gitサービスが提供されます。
subversionはないみたいなので、別途インストールしないといけません。

TimeMachine用とファイル共有用のアカウントは別々にできます(というかしたほうが良いみたいな感じ)

Windowsクライアントからサイズが大きなファイルをコピーした際に、ファイルが勝手にロックされることがあります。
https://support.apple.com/ja-jp/HT203574
この説明だけでは分かりにくいが、Serverアプリでサーバを選択し、ストレージのタブから問題のボリュームに対してアクセス権の設定と継承を行うようにしないといけません。
特にOS X Serverを動かしている管理者ユーザが、共有しているボリュームに対して、デフォルトでは編集・削除の権限がないみたいなので、かなり焦りました。

また、Windowsクライアントから大きなファイルを共有ボリュームにコピーした場合、そのファイルをサーバー側のMacで開けないことがあります。
もちろんクライアントでも開けません。
サーバーのFinderで、くだんのファイルを選択して、「情報を見る」を実行すると開けるようになりました。
いわゆる「Finder情報」(EA属性)が作成されていない状態だからとかだろうか?

以前のOS X Serverでは、clamavやpostgresqlが入っていたと思ったんだけど、無くなったのかな?

カテゴリー: その他 | Mac miniにOS X Serverをインストールしたお話 はコメントを受け付けていません。

Unix考古学の夕べ in 福岡

https://saku-love.doorkeeper.jp/events/46304

「Unix考古学の夕べ in 福岡」でお話を聞いてきました。
参加者は、IT系イベントの中では屈指の平均年齢の高さでした(笑)
先日のPHPカンファレンス福岡2016では、参加者の平均年齢はぱっとみた感じでは30代前半くらいの感じでしたが、今回のそれはどうみて40代。白髪混じりのかたも結構いました。

今回の「Unix考古学の夕べ」は3回目らしく、過去の内容と重複しないようにということから、Unix以前のMultics中心のお話でした。
実は僕もMulticsについては全く知りませんでした。
Multicsは、ベル研、MIT、ゼネラルエレクトリック(後ハネウエル)の三社で開発をはじめたが、途中でベル研が抜けたことがUnix開発のきっかけとなったとか。

また、久しぶりにApollo Domainという名前を聞きました。
僕が新卒で入社した会社(諏訪精工舎)でCADが導入されたのですが、それが動いていたワークステーションがApollo製でした。
Domain/OSというのも聞いたことがありましたが、これがPascalで書かれていたとは知りませんでした。かなりびっくり。
というのも、僕が大学の講義で習ったプログラミング言語がPascalだったのです。
当時、Pascalはプログラミング言語の学習には適しているが、実用的ではないなんていう話を聞いていましたし。
もっとも、その後発表されたAppleのMacintoshもPascalがメインでしたし、Macで動くLightspeed Pascal(後にThink Pascal)やボーランドのTurbo Pascalなんかが出てきましたが。
確か、初期のPhotoshopも、Pascalで書かれたいたと記憶しています。

懐かしいお話が聞けて、楽しかったです。
遅まきながら、「Unix考古学 Truth of the Legend」を買うことにします。

カテゴリー: その他 | Unix考古学の夕べ in 福岡 はコメントを受け付けていません。

mpcbridge ver 4.2

mpd(Music Player Daemon)のリモコンとして動作するWebアプリ、mpcbridge ver 4.2をリリースしました。

mpcbridgeの詳細は、こちらをご覧ください。

↓↓ダウンロードはこちら
https://mpcbridge.fourthgate.jp/download/mpcbridge.zip

以下の修正、変更を行っています。
1) フリーテキスト検索に、ジャンルと年を追加しました
2) 一部のJavaScriptにミスがあったので修正しています
3) phpの警告が出ていたのを修正しています
4) 五十音検索に「ら」行が抜けていたのを修正
5) 日本人アーティスト名情報を追加しています

以前の変更履歴は、別途「変更履歴.txt」を参照ください。

カテゴリー: PCオーディオ | mpcbridge ver 4.2 はコメントを受け付けていません。

CakePHP 3.2でPEARのCalendarを使う

本来であれば、Date & Time ClassとTime Helperを使うべきなのでしょうけど、使い慣れたPEARのCalendarをなんとか使おうと頑張ってみました。

四苦八苦しましたが、以下のようにすれば、いけるようです。

composer.jsonに以下の記述を追加します。

require-devの項に、
“pear/calendar”: “dev-trunk”
を追加します。

autoloadの項に、
“classmap”: [
“vendor/pear/calendar/Calendar”
]
を追加します。

これで、composerをアップデートすると、vendorディレクトリに、PEAR/Calendarがダウンロードされます。

あとは、コントローラーの先頭で、例えば、
use Calendar_Month_Weekdays;
とすればOKです。

が、そもそも、PEAR/Calendarはとっくにメンテナンスが終わっているので、これを使い続けることのほうが問題なんでしょうけど。。

とりあえず、備忘録代わりということで。

カテゴリー: Webコンテンツ | CakePHP 3.2でPEARのCalendarを使う はコメントを受け付けていません。

お仕事募集中です

現在、とても暇しております。
つきましては、絶賛お仕事募集です。

主にPHPによるWebアプリをやっております。

カテゴリー: 仕事 | お仕事募集中です はコメントを受け付けていません。

PHPカンファレンス福岡2016

http://phpcon.fukuoka.jp/

PHPカンファレンス福岡2016に参加してきました。

興味深かった内容を簡単に挙げておきます。

「PHPで学ぶコンピュータアーキテクチャ」と題して、PHPで作られた任天堂ゲームボーイのエミュレータについて解説いただきました。
CPUはシャープ製のZ80サブセット(?)だそうです。このエミュレーターでは、CPUのすべてのコマンド(ニーモニック)を愚直に実装しているそうです。
メモリについても同様です。また、I/Oポートがメモリマップドであるため、メモリアドレスに応じて処理を変えるなんてこともやってるそうです。
8bit CPUだとメモリ空間も64KBなので、今のPCからすると、ちょろいもんなんですね。

「ロリポップ!で目指す、PHPのためのセキュリティと性能要件を同時に満たすサーバホスティング技術」では、apacheのソースに手を加えて、より多くのユーザーを一台のサーバーに納めるための手法の解説でした。
各ユーザー権限でapacheやphpが動いてしまうと、大人数のユーザーが入っているサーバーではすぐにリソースが足りなくなってしまうわけですが、rootで動いているapacheの権限を各ユーザーにふり直すようなことをしているんだそうです(話がかなり高度で、十分理解できず)。
登壇者、お名前をググってみたら、実はとっても凄い人だった(笑)

「CakePHP3で学ぶAPIマネジメント」「今こそCakePHP3に乗り換えよう!」は、タイトル通り。
今回一番聞きたかったお話。
やっぱりCake3に移行するべきですなあ。

「PHPerに知ってほしいRDBの事 バージョン 2」はデータベースまわりのお話し。
今後、“削除フラグ”なんちゅうカラムは、作らないようにします(笑)

「PHPデベロッパーのためのJavaScriptセキュリティ入門」もタイトル通り。
最近、JavaScriptまわりも結構触るようになってきたんで、参考になりました。

カテゴリー: サーバーまわり, Webコンテンツ | PHPカンファレンス福岡2016 はコメントを受け付けていません。

netatalk 3.1.8がうまくいかない件

Ubuntu 14.04 LTSのsambaを4.3.9にアップデートしました。
そうしたら、何故か、netatalkで接続できなくなりました。

netatalk

sambaをアップデートしたら、netatalkがつかっていたライブラリも変わったのか?とも思ったので、netatalkについても3.1.7から3.1.8へあげてみました。
が、現象は変わらず。
間違ったパスワードを入力すると、ログインに失敗しているようなので、認証とは別のところに原因があるようです。

とりあえず、放置。

netatalkはやめて、sambaに変えろというお告げかな?(笑)

カテゴリー: 仕事 | netatalk 3.1.8がうまくいかない件 はコメントを受け付けていません。

Firefoxのオートコンプリート

最近のWebブラウザーは、認証情報を保持しておいて、それを勝手に入力します。
それはそれで大変便利なんですが、とある案件では、これが困った状況を引き起こしました。

formタグには、
autocomplete=”off”
とすることで、Webブラウザーのオートコンプリート機能をオフにすることができるとあります。

が、以下のサイトなどを見ますと、autocomplete=”off”は無視するのが普通のようです。
フォームのオートコンプリートを無効にするには

特にFirefoxのそれは強情で、何が何でも記憶しているパスワードを補完してくるようです。

色々調べた結果、本来のパスワード入力欄の前に、
<input style="display:none" type="password" />
というダミーのパスワード入力欄を作成すれば、この問題を回避できるようです。

便利なのか不便なのかわからん…

カテゴリー: Webコンテンツ | Firefoxのオートコンプリート はコメントを受け付けていません。

PUT?、POST?

CakePHPでフォームがpostされたかどうかは、
$this->request->is(‘post’);
で判定できるのですが…

過去記事の編集では、
$this->request->is([‘post’,’put’]);
としないといけないようです。

idがあると、$this->request->is(‘post’)はTRUEにならず、$this->request->is(‘put’)がTRUEになるようです。

今更ですが、小一時間はまってしまいました…

カテゴリー: 仕事 | PUT?、POST? はコメントを受け付けていません。