Rubellum fly light

ほぼPHP日記

Flutterでsqflite利用時にビルドエラーが出る問題の解消方法

Flutterでsqfliteを使うときにビルドエラーが出てなかなか解消できず。AI先生に聞いても解決しなかったもののなんとか解消できたので記録。 ところどころパラメータを変えたら動いたが、なぜ動いたかは正直よくわかっていない。 再現方法 pubspec.yaml に追…

ClaudeにAnsibleのplaybookを書かせるプロンプト

定期的に個人開発したくなる度に毎回スクラッチでAnsibleのplaybookを書き直していた。 今回Claudeに書かせてみたところ結構手間が省けたしそこそこメンテできそうな形に落ち着いてよさそうだったので備忘録。 ubuntuサーバーにansibleでソフトウェアをイン…

PHP8.2以降のDTOの書き方

PHP

PHPで個人開発するときのインフラ周辺の備忘録(2024年8月ver)

PHP

PHPでWeb個人開発するときの構成。20xx年...?と言われても致し方ないやつ。 開発環境 MacBook Air(M2 2022) : Mac大好き人間なので。最近はWindowsに回帰する人もいるのでここはお好みで。 PhpStorm : MacとJebBrainsのIDEがあれば大抵のものは開発できる。P…

戦術的プログラミングと戦略的プログラミング

A Philosophy of Software Designを読んで、「戦術的プログラミング」と「戦略的プログラミング」という用語を知ったので抜粋意訳メモ。 戦術的プログラミング(Tactical programming) ほとんどのプログラマーがプログラミングするときに取り組む方式。 機能…

GitHub Copilot 所感

所属する会社がGitHub Enterpriseを契約しており、少し前からGitHub Copilotを使えるようになっていました。 めちゃくちゃ便利だったので、プライベートでもめでたく(?)課金しました。 月なら$10、年なら$100です。おそらく使わなくなることはないので年間$1…

rerunを使ったファイル変更検知と再実行:golang+echo編

rerun(ruby製)を使うとファイルの変更を検知してコマンドを再実行できます。 Webアプリケーションの開発中、ファイルを変更したらアプリケーションサーバーを再起動させています。 github.com 下記は.goファイルの変更を検知してgo run 〜コマンドを再実行す…

Sequel で特定のカラムを指定するときは Sequel[:table][:column]

Ruby でサクッと DB にアクセスするときに Sequel をよく使っています。 同名カラムを持つテーブルをJOINするときはどちらのテーブルのカラムかを指定しますが、Sequelでの指定方法を忘れがちなので備忘録がてらメモを残します。 下記のようなフォーマットで…

HTTPリクエストを手順に送るだけの小さなワークフローエンジンを作って試行錯誤中

ライティングソフトウェアを読んで、サービス指向なアーキテクチャでクローラを作っています。 サービス指向なアーキテクチャの簡易図 この中で〜Managerはワークフローエンジンによって処理を順に実行するだけのサービスとなっています。 処理自体は主に下…

お試し GitOps

GitOps を試すために Kubernetes のクラスタと ArgoCD をVPS(VM4台)に構築し、自前サイトをのっけてみた。 そもそも k8s を触ったことなかったので、AWSやGCPのマネジメントクラスタを利用せず、自前で小さいクラスタを構築した。 ひとまず GitOps できる…

PHPで雑にカラーコードを生成する

PHP

適当な文字列のmd5ハッシュから6文字だけ切り出し、頭に#をつけることで雑にカラーコードを生成できる。 PHPでの例。

PHPでissetを書くのが面倒なときに??(Null 合体演算子)を使う

PHP

Android アプリ開発をはじめた

Androidアプリ開発をはじめた。 ひとまずニュースアプリみたいなやつをつくっている。 Android Studio 普段 IntelliJ IDEA を使っているので、Xcodeより使い勝手に慣れててスムーズに開発に着手できてる。 ライブラリ OSSのライブラリが大量にあるので、PHP…

ボーン・コレクター/コフィン・ダンサーを読んだ

「ボーン・コレクター」は映画にもなっていて、地上波でも放映されていて、子供のころに何度かみた記憶がある。 アンジェリーナ・ジョリーと黒人のおじさん(いま調べたらデンゼル・ワシントンという俳優らしい)が出ていて、寝たきりのおじさんが探偵役っぽ…

データ構造を着飾るアプリケーション

最近、文章を書いてないのでリハビリがてら。 Google の"検索" Google 検索のすごいところは、「検索」でなく「ソート」なのだとどこかで見た。 検索結果を"どのような順"で表示するかが、むしろ重要なのだと。例えば、検索キーワードがページ内に多く含まれ…

LINE BOTでリッチメニューと新メッセージタイプのカルーセルタイプを使ってみる

LINE DEVELOPER DAYで知った「リッチメニュー」と新しいメッセージタイプ「カルーセル」を試したかったので、LINE BOTを作成してみた。 いわゆるチャットBOTで最初に作るものといえば、出退勤BOTか近隣レストラン検索かと思うので、今回は近隣レストラン検索…

Kitematic (Beta) 2.app は壊れているため開けません。

Docker for Mac をインストール後、メニューにkitematicの文字が。 早速、kitematicをダウンロード&起動すると、以下のエラーが発生。 Kitematic (Beta) 2.app は壊れているため開けません。 ゴミ箱に入れる必要があります。 どうやらAppの形式が古いからら…

「PHP RFC」でググってPHPの未来に思いを馳せる

PHP

RFCで公開されていた「pipe-operator」がF#っぽくて素敵でした。 見た目が奇抜すぎるので、仮に実装されたとしてもなかなか使えないような気も…。 PHP: rfc:pipe-operator # PSR7 Example $request = getGlobals() |> parseRequest($$) |> buildPsr7Request(…

後味が悪いことで有名な「ミスミソウ」がお安いらしいですよ、奥さん。

[asin:B00U0DVYO8:detail]

OpenShiftのVagrantfileはParallelsには対応してないようだ

環境: OSX Yosemite, Parallels, Vagrant(v1.6.5) Vagrantのparallelsプラグインはインストール済み。 OpenShiftを引っ張ってくる。 $ mkdir -p $GOPATH/src/github.com/openshift $ cd $GOPATH/src/github.com/openshift $ git clone git://github.com/open…

Niche Readerをユーザー登録しなくても使えるようにした

Niche Reader - http://reader.nicheantenna.com/ 個人のWebサービスにメールアドレスを要求するのはよくない気がしてきたので、 URLにランダムなトークンを割り当てて、そのURL(トークン)を知っている人だけがアクセス出来る形にしてみた。 Gistのプライ…

LaravelでRSSリーダーを作っている

feedlyはスタイリッシュすぎるので、泥臭いRSSリーダーを作っている。Niche Reader http://reader.nicheantenna.com/未読管理機能は、消化に追われるたちなので意図的につけてない。 カテゴリのフィルタ機能は、必要になったら作る予定。。。高速化というか…

『Team Geak』を読んだ

年末なにか本を読もうと思って、Team Geakを読んだ。 リーダー(マネージャー)になるエンジニア向けの内容が多い。 以下、メモ。 ソフトウェア開発はチームスポーツである コードを隠さない コードや作業を隠してもいいことはない(≒ アイデア/意見を隠さな…

PHPのバージョン管理はphpbrewが使いやすいです

PHP

PHPのバージョンを管理するソフトウェアはphpbrewが一番使いやすいです。 なので、みなさんもphpbrewを使いましょう。GitHub - phpbrew/phpbrew: Brew & manage PHP versions in pure PHP at HOMEインストール方法や使い方はREADMEを見るのが一番いいです。 …

Module#prepend

Module#include クラスAがモジュールMをincludeすると、メソッドの探索順は A → M → …のようになる。 つまり、モジュールMはクラスAの親クラス側に差し込まれる。 module M def hello puts "M hello" end end class A include M def hello super puts "A hel…

Slimで改行のあるHTMLを出力する

SlimはHamlによく似たテンプレートエンジンです。 %記号がないので、より書きやすくて見やすいです。Slimで出力すると改行のないHTMLが出力されます。 今まで汚いなーと悩んでましたが、ドキュメントに整形(改行とインデント)して出力する方法が普通に書い…

package.el便利じゃないですかー!

VimのVundleやNeoBundleがすごく便利で、emacsでモダンなパッケージマネージャを使いたかったのだが、どれもパッとしなかった(当社比)(あと僕はemacsモヒカンではないので趣味趣向が合わなかった可能性があるという予防線を張っておきます)。 んでどうし…

最近やたらとよく見かける「自由なソフトウェア」について

最近とある御方のブログを読んで、「自由なソフトウェア」なるものに興味を持ったのでメモ。 自由なソフトウェアとは 自由なソフトウェアの定義などは以下のページが詳しい(というか本家)。 自由ソフトウェアとは? - GNUプロジェクト - フリーソフトウェア…

Rubyのオブジェクトについてのメモ

だいぶ曖昧なのは自分の理解が足りないため。 クラス/Class/classの表記方法について クラス/Class/classはすべて異なる(ものとして表記している)。 クラス オブジェクト指向における一般的な意味のクラス。 Class クラスを表現するのに使用される普通のオ…

お名前どっとコムの広告のアレ

注意力散漫なのか、毎回「安い!→そうでもなかった」ってなります。 最近のやつ。 以前のやつ。