Qbilinux 日記

Linux に関係することだけではなく,最近は一般的なコンピュータやガジェット関係についても記載してます.

linux kernel の次の lts は 5.4 ?

ふと kernel.org のホームページをみたら,linux kernel の次の lts は 5.4 みたいだね.

www.kernel.org

あ,lts って "longterm maintenance" のことね.長期間サポートされるバージョン.

いつごろりリースされるのかな?

これに合わせて自作の linux ディストリビューションもバージョン締めてリリースしようかな.

使っているプログラムで cakephp 3.x から cakephp 4.x への載せ変え作業をしてみた

php framework である cakephp 3.x を使ってシステム開発をしています.

4.0.0-beta3 もリリースされたし,だんだん cakephp 4.x のリリースが近づいてきたのかな?

ということで,様子を見るために cakephp3 で動かしている手元のプログラムを cakephp4 に載せてみました.

...

最初にざっと cakephp 4.0 の migration guide に目を通しておきます.

https://book.cakephp.org/4.0/en/appendices/4-0-migration-guide.html

3.8 で廃止するよって warinig が出ていてた method, properties, function などはすべて削除されるみたいだね.

あとはディレクトリ構成に変更があるのと,template の拡張子が .ctp から .php に変わった辺りが大きな変更点かな?

そのほかの細かい変更個所もありますが,とりあえずは後々調整する感じかな.

...

とりあえず,composer を使って cakephp 4.0.0-beta3 をインストール.

その後,cakephp 3.8.x で使っていた controller, model, template などのファイル一式をそれぞれ cakephp4 の方にコピー.

templates/{Element, Email, Layout} などはディレクトリ名が小文字に変更になっているのでちょっと注意が必要.

templates 以下のファイルは拡張子が変更になっているので一気に変更.

% find template -name "*.ctp" -exec rename .ctp .php {} \;

な感じかな?

あとは config/app.php の db 回りの設定を適当に修正してとりあえずデフォルトの Pages/display 画面を表示させてみました.

ふむふむ,問題なく表示できてるみたいだな.

次は cakephp 3.8.x から持ってきた方のファイルを表示させてみた...ら案の定,大量なエラー.

まぁ,わかってたことだけど.

migration guide を見ながらとりあえず Auth 回りを修正.

acl plugin まわりは無くなるみたいなので,とりあえずコメントアウトしてあとで修正する感じかな.Coockie 回りも修正は後回しかなということで,とりあえずコメントアウト.

で,予想外に修正が面倒だったのが,関数の戻値を書かないとエラーになってしまう件.php7 以降で関数の戻値宣言が導入されましたがそれが要因でエラーが多発します.

普通の関数などでは問題ないんだけど,Controller 中の

public function initialize()

や,Model/Table 中の

public function initialize(array $config)
public function validationDefault(Validator $validator)
public function buildRules(RulesChecker $rules)

なんかが軒並エラー.継承しているせいですね.

ということで

public function initialize(): void
public function initialize(array $config): void
public function validationDefault(Validator $validator): Validator
public function buildRules(RulesChecker $rules): RulesChecker

などに書き換える必要があります.

あとは適当に routes.php を書き換えて,まだ cakephp4 をサポートしていないであろう plugin を off.

その状態で cakephp 4.x ベースで画面表示ができるようになりました.所々,エラーになるところはあるけど,まぁ半分くらいの画面は動作.

その間,作業時間は2時間程度.

cakephp 2,x から 3.x に移行したときに比べれば雲泥の差で乗り換えはラクチンそうですね.

2.x から 3.x に移行したときには半年くらいかかったけど,3.x から 4.x へは1ヶ月くらいあれば余裕で載せ変えできそうな感じかな.

本格的に移行するのはおそらくまだ先だろうけど,4.x になってから削除されてしまう関数などを 3.x で運用している方でも徐々に修正しておいた方が良さそうですね.

あ,バージョン移行に関して plugin 関連は相変わらず悩ましい感じかなと思っています.

2.x から 3.x になったときに,3.x に移行されずにそのままメンテ放置されてしまった plugin をいくつか使っていたんですよね.で,いくつかは仕方なく自前で書き換えて使っていて,いくつかは plugin を使わない形に記述変更しました.同じようなことが 3.x から 4.x の移行時にもおこりそうかなと思っています.3.x にしたときにその危険性を避けるために,使う plguin を大幅に減らしはしたんですけど,それでもいくつかはまだ使っているんですよね.で,これらの plugin はまだ cakephp 4.x 系への対応がなされていない雰囲気.うーむ.

4.x への移行をきっかけに,外部 plugin は完全に使わない形にした方が良さそうかなぁと思っていたりもします.外部 plugin を使うと実装は楽なんだけどね....

と,とりあえず作業はそこまででストップ.

まぁ,今後は cakephp 4.x の様子をみつつ,移行時期などを含めて考えるって感じかなと思います.はい.

CakePHP 超入門

CakePHP 超入門

 
初めてのPHP

初めてのPHP

 
 

 

Qbilinux 開発について(その41): kernel 5.3 に更新した話と VirtualBox の kernel 5.3 対応

ぼちぼちと Plamo Linux 6.x のソース一式からブランチして,Qbilinux という linux ディストリビューションを作成.

いつまで続くのか.

いじってる Qbilinux のホームページは https://qbilinux.org/ に,ビルドスクリプトは https://github.com/qbilinux/qbilinux,バイナリは https://qbilinux.org/pub/ 以下にあります.

少し放置している間に kernel 5.3 がリリースされてしまいました.

ということで,作成したいたツリーも kernel 5.3 に入れ替え.

このあたりの気軽さは自分で弄っているディストリビューションならではだね.

使っている cjktty パッチに reject が出たのでちょっとだけ修正.問題なく utf8 で日本語コンソールが動作することを確認.この辺りが正しく動作してないとインストーラーで日本語表示できなくなってしまうからな.

kernel 5.3 対応の cjktty パッチが欲しい方は https://github.com/qbilinux/qbilinux/blob/master/qbilinux/00_base/kernel/ 以下の cjktty-kernel-5.3.patch, cjktty-kernel-font-JP.patch あたりをどうぞ.

で,インストーラー一式も作り直して.ついでに再び手元で iso ファイルを作成.

すこし動作確認してみるかなと思って,メインの開発環境マシンをこの iso ファイルを使って新規インストールしてみました.

EFI を使っていないマシン環境ですが,普通にインストール完了.ネットワーク回りがなんか正しく設定されていなかったけど,このあたりはこの開発環境依存かも知れないのでちょっとあとで調べてみるかって感じ.

再インストールしたので,開発に使っている VirtualBox なんかも再インストールしたんだけど,案の定うまく動作しないね.vboxconfig 実行時にエラーになってしまいます.

ということで検索.https://www.virtualbox.org/pipermail/vbox-dev/2019-July/015297.html のあたりにパッチが投稿されていますね.

virtualbox を普通にインストールしたあとで,/opt/VirtualBox 以下にインストールされている該当ファイルを探して,上記のパッチを適用してから vboxconfig を再び実行すれば問題なく設定できました.ということで対応完了.ふう.

そんな感じで環境入れ直し.

この状況で動作確認しつつ,問題のあるところを修正していく予定です.インストーラーの方もきちんとした EFI 環境対応しないとな.

さっさとリリースにしたいなとは思っていますが,なかなか作業時間がとれない状態....

Qbilinux 開発について(その40): iso イメージ作成してみました

ぼちぼちと Plamo Linux 6.x のソース一式からブランチして,qbilinux という linux ディストリビューションを作成.

いつまで続くのか.

いじってる qbilinux のホームページは https://qbilinux.org/ に,ビルドスクリプトは https://github.com/qbilinux/qbilinux,バイナリは https://qbilinux.org/pub/ 以下にあります.

インストーラーをどうやって作ってたたかなあと試行錯誤.

すっかり忘れてる.

やっぱりドキュメント書いておかないとだめだね.

ということで 0.3 のインストーラーそのままでパッケージだけ更新した形ですけど,iso ファイルを作成してみました.

0.4 alpha1 というステータスかな.

https://qbilinux.org/pub/isos-current/qbilinux-0.4a1_x86_64_20190910_dvd.iso
https://qbilinux.org/pub/isos-current/qbilinux-0.4a1_x86_64_20190910_dvd.iso.sha256
https://qbilinux.org/pub/isos-current/qbilinux-0.4a1_x86_20190910_dvd.iso
https://qbilinux.org/pub/isos-current/qbilinux-0.4a1_x86_20190910_dvd.iso.sha256

nvme な SSD に新規インストールした際に,ブートローダーが正しく動作しないので手作業で修正する必要があるなど不具合はありますが,まぁ参考まで.

VirtualBox で新規インストールできるくらいは動作確認してあります.

各ソフトのバージョンは kernel 5.2.13, glibc 2.30, gcc 9.2.0, llvm 8.0.1 な感じ.詳細は https://qbilinux.org/pub/qbilinux-current/ 以下を参考にしてください.

手元の Let's note NX2 で 32bit 版の方は常用しているのでそれほど大きな問題はないかなぁとは思っています.

そんな感じです.

GUI な git クライアントで gitk をちょっと見直し

定期的に書くこの話題.

GUI な git クライアントを気が向いたときに物色してます.Linux / Windows / Mac すべてのプラットフォームで動作するものが希望.

商用のものですが GitKraken とか SmartGit のライセンス購入して使っています.

www.gitkraken.com

www.syntevo.com

GitKraken は独自の UI だけど,割と画面が見易い感じなので使用.

SmartGit は長年使っていて使い慣れているってことで使っているけど,ちょっと動作が重たいのがイマイチなところ.ライセンス料が高いのもちょっとマイナス.

で,久しぶりに gitk を弄ってみたり.

gitk って git に標準ではいっている gui コマンドです.tk で動作しているコマンドね.
Linux では当然動作しますが,Windows でも git for windows に同梱されています.

gitforwindows.org

数ヵ月くらいガッツリと使ってみましたが,感想から言うとこれで十分かも知れないかなと感じています.はい.

コマンドラインと併用すれは全然不自由なく使える感じ.

履歴を見たり,commit するのは gitk からで,細かい作業をするときはコマンドラインを使うって感じで使い分けていますが,これが割と快適.

gitk の動作自体がシンプルなので軽いってのも好感触.

大量なリポジトリを読み込んだときとかの動作が SmaretGit なんかに比べると全然軽く感じる.

あとは,余計なコマンド類を勝手に発行されないところも良いかもね.SmartGit なんかもそうなんだけど,特定の操作をすると,裏ではいろんな git コマンドが走っていたりするので使い慣れないとちょっと怖いってところがあるから.

...そんな感じで,gitk をちょっと見直しましたね.

ということで,手元で使っている SmartGit のライセンスを更新するのはやめようかなと思っていたり.

もうすぐ手元の SmartGit のライセンスが切れるんだよね.

GitKraken の方はライセンス料金が安いし,ちょっと前にライセンス更新したばかりなのでまだ1年弱は様子見ながら使う感じかなと.

あ,一応,両方とも無料ライセンスプランはありますので,無料で使うことも可能です.

無料プランだと色々と制限があるので私自身はライセンス購入して使っています.

まぁ,気軽に使ってみて,気に入って,かつ,無料プランでは機能が足りない場合に有料ライセンス契約すれば良いかなと思います.

個人によって使いやすい/使いにくいポイントは違うかなと思いますし,リポジトリ本体をどこにおいてあるかによっても使い勝手が変わりますからね.ローカルドライブなのか,ネットワーク先なのか,github などのサービスサイト上なのか,単なるネットワークドライブ上なのかとか.どういった認証方法でアクセスしないとダメなのかとか.

その他の git クライアントとしては,visual studio code とか eclipse / PHPstorm なんかについていたり plugin で追加できる git 環境も使ってみたりするけど,これらもちょっと重いし,何となく使いにくく感じるんだよな.慣れの問題かな?

azure.microsoft.com

www.eclipse.org

www.jetbrains.com

特定プラットフォームだけで動作するものって言うことで Sourcetree とか TortoiseGit なんかもありますが,やっぱり色んな環境で使えた方が便利かなと.私自身,開発環境をコロコロと変えることが多いんで.^^;

www.sourcetreeapp.com

tortoisegit.org

繰り返しになりますが,そんな感じで gitk をちょっと見直したなぁって話でした.

 

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

 
実用Git

実用Git

  • 作者: Jon Loeliger,吉藤英明(監訳),本間雅洋,渡邉健太郎,浜本階生
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2010/02/19
  • メディア: 大型本
  • 購入: 7人 クリック: 287回
  • この商品を含むブログ (45件) を見る
 

 

Qbilinux 開発について(その39): サポートポリシーとか現状とか

すっかり blog の更新ペースが落ちてるなぁ.書きかけのレビューとかも1ヶ月くらい放置状態だし.自己反省.

... ということで,ぼちぼちと Plamo Linux 6.x のソース一式からブランチして,qbilinux という linux ディストリビューションを作成.

いつまで続くのか.

いじってる qbilinux のホームページは https://qbilinux.org/ に,ビルドスクリプトは https://github.com/qbilinux/qbilinux,バイナリは https://qbilinux.org/pub/ 以下にあります.

新しいバージョンを締めようかなと思ってますが,サポートポリシーを書いておきます.

そのうち web の方にも記載します.(web サイトも更新せずに放置状態だなぁ...)

...

基本的に次のバージョンが出たら,昔のバージョンのサポートは1〜2ヶ月程度で終了したいと思います.

サポートって言っても,セキュリティフィックスとかバグ修正をしてる程度ですけど.
使っている方が私以外にどれくらいいるかわかりませんが,それじゃ困るって場合には直接連絡頂ければ考慮します.

私一人で弄っている関係上,あんまり大量の作業はできないものでご容赦を...._o_

...

現状ですけど,以前,そろそろ締める作業をしますとか書いておきながら少し前までパッケージ更新作業を続けていました.

いや,llvm とか gcc とか glibc とか libreoffice とか色んなものが今月に入ってから一気にバージョンが上がったので....

で,全部,入れ替えて様子見てますが,それほど互換性には問題なさそうなのでこれらを新しくしてしまおうかなぁと.

ついでに gnu 関連とか目についたものとかも新しいものに.

x86/armv7l/aarch64 は引き続きパッケージ更新作業中.コンパイラ回りとかを ARM でビルドするのはちょっと時間がかかるのよね.

x86_64 版だけはこれらのバージョンアップ作業は落ち着いたかなって感じなので,徐々にインストーラーを弄ってます.

久しぶりにインストーラー回り弄っていると,どうやってビルドしていたかすら忘れている.ドキュメントを書いておかないと,自分でもわからなくなってきてるかも.:-)

インストーラー回りは Plamo ベースではなく,現在の Slackware ベースに戻したいなと思っているんですが,手間を考えると当面は今の延長線上のままになりそうかなと思います.パッケージインストール時に認証キーの対応などを追加したいと思っているんですが Plamo ベースで機能拡張をするより,すでに対応されている現在の Slackware から持ってきた方が良いかなぁと感じてるからなんだけどね.

package 関連コマンドも Slackware の方ではマルチスレッド対応されていたり,色々と機能拡張されてるみたいだから,それをわざわざポーティングするよりそのまま持ってきた方が良いかなと感じています.

けど,そうすると Slackware との違いは何?って感じで自己矛盾に陥ってしまうんだけど,まぁ,それは作りたいからやってるだけって感じかな.

もうちょっと Slackware のスクリプトとかを調べてゆくゆくはどうするか考えたいと思っています.

そんな感じで作業していますが,インストーラーを調整した時点で current の iso をテスト版として公開する予定です.

現状はそんなところです.

Qbilinux 開発について(その38): そろそろ次のバージョンとして締める作業しようかなぁと

ぼちぼちと Plamo Linux 6.x のソース一式からブランチして,qbilinux という linux ディストリビューションを作成.

いつまで続くのか.

いじってる qbilinux のホームページは https://qbilinux.org/ に,ビルドスクリプトは https://github.com/qbilinux/qbilinux,バイナリは https://qbilinux.org/pub/ 以下にあります.

gnome 回りの古いパッケージを新しいものに入れ替え作業.

ついでに新しい glibc 2.30 も出たので入れ替え.令和対応とかが正式に入ってるんだっけ?確かその対応パッチを本家に投げたのは Plamo Linux のメンテナやってる田向さんだったかな。

で,次はどうしようかなぁと Wayland まわりを整備し始めたけど,私自身が使ってる環境が twm メインだったりするのであんまりメリットもあんまりないのかなぁと.時間のあるときに徐々に調整する感じで,優先度は下げるかな.

...

で,先日,ちょこっと書きましたが ARM のブレッドボード rock64 を入手.

これにポーティングしてみようかなと思ってるけど,その前にいったんバージョンを締めた方が良いかもなと.

qbilinux 0.3 としてリリースしているものはすでに私自身は使っていなくて,立ち上げるのはもっぱらセキュリティーフィックスのパッケージを作成するときくらい.

メインは current を使用.

x86 版をノートパソコンにいれてメールとかネットの普段使いに利用.

日々の普通の生活を送る分には問題なさそうだし,締めてもだいじょうぶそうかなぁと.

ということで,パッケージ更新はしばらくお休みにして締める作業の方に移行します.ARM 版の方のパッケージ作成作業は遅れているので引き続き行っていきますが,x86/x86_64 の方はインストーラー回りとかの修正を始める感じかな.

NVMe 環境にクリーンインストールできない問題もあるから修正しないとね.

とりあえずそんな感じかな.

arm ボード rock64 を購入してみたので軽く動作確認とレビュー

先日書いた rock64 の話の続き.

arm ボードを色々試してみようかなと思って,rock64 を購入してみました.

軽く説明しておくと,rock64 は pine64 が作ってる arm ボード.pine64 は最初は

Kickstarter で募集していろいろなボードを作り始めたメーカだったような気がします.

で,rock64 自体のホームページはこのあたり.

www.pine64.org
スペック的には

CPU Architecture

  • Quad-core Cortex-A53 up to 1.5GHz CPU

GPU Architecture

  • ARM Mali-450MP2 Dual-core GPU
  • OpenGL ES 1.1 and 2.0, OpenVG1.1

System Memory

  • LPDDR3 RAM Memory Variants: 1GB, 2GB and 4GB.
  • Storage Memory: ROCK64 boards have 128Mb built-in SPI Flash memory but not yet in use, currently use bootable microSD Cards or bootable attachable eMMC.

Video

  • Digital Video output up to 4K@60Hz

Audio

  • 3.5mm A/V Jack (Composite Video Output and RCA Stereo support using conversion cable)

Network

  • 10/100/1000Mbps Ethernet

Storage

  • microSD - bootable, support SDHC and SDXC, storage up to 256GB
  • eMMC - bootable (optional eMMC Module)
  • 1 USB3.0 Dedicated Host port
  • 2 USB2.0 Dedicated Host port (top one is USB-OTG)

Expansion Ports

  • 2x20 pins "Pi2" GPIO Header
  • 2x11 pins "Pi P5+" GPIO Header (with 2nd 10/100Mbps Ethernet pins)

な感じ.web からのコピペですみません.

チップ自体は Rockchip RK3328 が使われています.

ラズパイよりも周辺ポートが拡張されています.けど,BT とか WiFi はありません.BT とか WiFi が必要なら USB などで拡張する感じかな.

メモリは現行ラズパイよりは多いですが,ラズパイ4B が出れば並ぶかな.

グラフィックは Mali.ラズパイは VC4 とかなのでラズパイの方が強力かも.

電源はラズパイみたいに USB ではなく,AC アダプタで供給する形になっています.

OS は https://wiki.pine64.org/index.php/ROCK64_Main_Page あたりを見て頂くとわかりますが,割と色々な OS がポーティングされています.ボードのリビジョンによって多少異なりますが,Android TV まであるのはちょっと嬉しいかもですね.

...

で,どこから購入しようかなとちょっと悩みましたがメーカーから直接注文.上記のホームページから直接注文しました.

4G モデルと eMMC 32GB, AC アダプタも同時に注文.

eMMC はちょっと動作を試してみたかったのと,アクセスが高速になるみたいなので開発用途に使うには作業が捗りそうだったという理由から.

AC アダプタは,色んなブログを見ると避けている人が多い雰囲気だけど,PC/AT マシンの初期 (25年くらい前?) には US 向けモデルの電源を普通につかっていたので US 用の AC アダプタであれば問題なく使えるだろうと言うことで,US 用のものを購入.

送料はちょっとけちって普通の配送で注文しました.

...で,10日ほどで到着.ゆうパックでの配送だったかな.

ものはこんな感じ.

f:id:toshi-mtk:20190804150124j:plain

ボード詳細はこんな感じ.

f:id:toshi-mtk:20190804150201j:plain

f:id:toshi-mtk:20190804150215j:plain

eMMC はこんな感じ.

f:id:toshi-mtk:20190804150328j:plain

f:id:toshi-mtk:20190804150341j:plain

ボード自体はラズパイと同じサイズ.

f:id:toshi-mtk:20190804150440j:plain

左がラズパイで右が rock64 ね.手元にあったラズパイ用のケースにいれてみたけど下半身は普通に収まりました.

けど,上半身は赤外線受光部がじゃまになって入りませんね.

f:id:toshi-mtk:20190804150258j:plain

また,電源ボタンとかリセットボタンがついてるんだけど,ラズパイ用ケースだとそれらのスイッチが使えなくなっちゃうね.電源周りもコネクタ形状が違うのでダメ.

f:id:toshi-mtk:20190804150311j:plain

eMMC は下記写真中央のコネクタに刺す感じになります.eMMC Module ってシルクが書いてあるところね.で,eMMC 用コネクタの左側にあるのが電源スイッチとリセットスイッチです.

f:id:toshi-mtk:20190804150507j:plain

とりあえず動作確認してみようかなと slackware のイメージをダウンロード.

なんで slackware なのかっていうと debian を動かしている記事は良く見るし,slackware ベースな Plamo Linux とか Qbilinux の開発に関わってるからとりあえず slackware の方が良いかなと思って.

イメージを上記ホームページからダウンロードして xz で解凍して,dd で microSD に書き込み.

とりあえず eMMC はついていない状態のままその microSD を使ってブート.

無事ブートしました.当然か.

f:id:toshi-mtk:20190804150406j:plain

懸念していた(?) AC アダプターも問題なく使えています.AC アダプターの表示を見ると 100-240V 50/60Hz ってなってるから日本国内でも全然問題ないですね.

f:id:toshi-mtk:20190804150456j:plain

CPU はこんな感じ.

f:id:toshi-mtk:20190804150418j:plain

メモリはこんな感じ.

f:id:toshi-mtk:20190804150431j:plain

minimum な slackware なのでなーんのソフトも入っていないので確認したのはそんな程度.

けど,なんかちょっとひさびさにちょっとワクワク.

ブート方法とか kernel の状況などの詳細を調べないとな.

ブートは u-boot を使ってるみたいってことと,カーネルソースは https://github.com/ayufan-rock64/linux-kernel あたりにあるってことは調べたんだけど,ここで配布しているカーネルバージョンがちょっと古いんだよな.rockchip のチップ使っているから普通に kernel 5.2/5.3 系が使えないかなとちょっと思っていたり.

rockchip の情報は下記あたりにいろいろありそうなので追々詳細を見てみようかなと.

opensource.rock-chips.com

とりあえずはそんな感じかな.

次回は rock64 用の eMMC の動作確認でもしようかなと思っています.

ラズパイ以外の ARM 組み込みボードってどうなのかなと思って rock64 を注文してみた

自作の linux ディストリビューション (qbilinux) を作る作業をクロスコンパイラを使う形ではなく今はラズパイ上で行っています.

が,ラズパイを Linux 環境としてがっつり使っていると何かダメダメなところが色々と見えてきた.

CPU をフルに回すと突然お亡くなりになる.冷却不足?

USB3.0 HDD と相性の悪いモデルがある.つないでも認識しないことがある.ラズパイ 2B がダメっぽい雰囲気.

まぁ,ラズパイのせいだけではなく,自分で作ってる linux ディストリビューションの設定が悪いのかも知れないけど,ちょっとストレスたまりまくり.

冷静に考えるとなんだかスペックのバランスが悪い気がするんだよな.

そんなに CPU パワーは要らないんだけど,もうちょっと周辺機器が安定したり,パワフルな方が良いかなと思ったり.

新しくラズパイ4が出るけど,そっちも電源が USB-C になったは良いけどなんか基盤設計にミスがあって電源系に使う機材を選ぶみたいだし.

過去にもラズパイって色々やらかしてきてる印象が多い.

強い光でリセットかかるとか,

なんかあくまでオモチャという印象がするんだよな.ラズパイって.

私自身が元々組み込み系の仕事とか半島対関係の仕事をしていたから余計そう感じるのかな?

PIO ピンの規格がラズパイ規格という形で統一されて,いろんな組み込みボードが準拠したことで,組み込みボードの使い勝手が良くなったことは認めるんだけどね.

ラズパイは日本だと入手性が良いのもメリットかな.けど,値段はちょっと高すぎる気がする.

ということで色々とラズパイ以外の ARM ボードコンピュータを物色.

ちまたでは NanoPi とかの方が評判は良いみたいだな.

たしかに一時期購入しようとしたんだけど,まだ買ってないんだよな.ちょっと余裕あるときに注文してみるか.> NanoPi

あとはハイスペックなものだと rock64 とか rock64 pro とかかな.

...

そんなこんなでなんとなく rock64 を注文してみました.

まぁ,いっしょに配布されている linux を使うと言うより自作 linux ディストリをポーティングする用だけどね.

rock64 は国内だと秋月とか amazon でも購入できるみたいだけど,値段も高いし,特定モデルしか選べなかったので海外注文.

いつ届くか良くわからないけど,届いたら blog で状況を書こうかなと思っています.

とりあえず,そんな感じかな. 

ROCK64 4GB single-board computer

ROCK64 4GB single-board computer

 
ROCK64 2GB single-board computer

ROCK64 2GB single-board computer

 

 

php で html tag を echo しないような記述に修正中

メンテしている web サイトの php プログラムを修正中.

cakepphp 2.x の頃から運用していて,現在 cakephp 3.8 で運用中.

昔は emacs でガシガシ書いていたけど,最近は phpstorm 使って書いています.

で,気になったのが html tag を echo している記述.

emacs で書いていた頃にはまったく記述方法を気にせずに書いていたので,結構な量の html tag を php 中で echo してる.

<?php echo "<p>".__("テスト")."</p>"; ?>

な感じね.

これが統合環境な phpstorm だと扱いにくい.

というか統合環境に html tag のチェック機能がついてるけど,全く機能しないんだよね.

ということで,echo している html tag をベタで記述するように,修正が必要な個所から少しずつ直しています.

<p><?= __("テスト"); ?></p>

な感じね.

そうしたら結構なところで html tag のつじつまがあっていないところが見つかったり.

けど,修正ミスで余計な記述とかが html 側に残ったりするんだよな.これ,探すのが結構面倒.

<p>"<?= __("テスト"); ?></p> な感じで <p> の後ろの " を消し忘れていたりする感じね.

最初からきちんと書いておけばそんなことはしなくても良かったんだろうけど仕方ないね.

長期間メンテしながら使い続けているプログラムって,いろんなところが無駄になっていたり,スパゲッティ状態になっていたりするから定期的に見直すことが必要かなと思っていたり.

けど,動いているものに手を入れると思わぬトラブルとかもあるからなかなか難しいんだけどね.