Flutterでsqfliteを使うときにビルドエラーが出てなかなか解消できず。AI先生に聞いても解決しなかったもののなんとか解消できたので記録。 ところどころパラメータを変えたら動いたが、なぜ動いたかは正直よくわかっていない。 再現方法 pubspec.yaml に追…
定期的に個人開発したくなる度に毎回スクラッチでAnsibleのplaybookを書き直していた。 今回Claudeに書かせてみたところ結構手間が省けたしそこそこメンテできそうな形に落ち着いてよさそうだったので備忘録。 ubuntuサーバーにansibleでソフトウェアをイン…
PHPでWeb個人開発するときの構成。20xx年...?と言われても致し方ないやつ。 開発環境 MacBook Air(M2 2022) : Mac大好き人間なので。最近はWindowsに回帰する人もいるのでここはお好みで。 PhpStorm : MacとJebBrainsのIDEがあれば大抵のものは開発できる。P…
A Philosophy of Software Designを読んで、「戦術的プログラミング」と「戦略的プログラミング」という用語を知ったので抜粋意訳メモ。 戦術的プログラミング(Tactical programming) ほとんどのプログラマーがプログラミングするときに取り組む方式。 機能…
所属する会社がGitHub Enterpriseを契約しており、少し前からGitHub Copilotを使えるようになっていました。 めちゃくちゃ便利だったので、プライベートでもめでたく(?)課金しました。 月なら$10、年なら$100です。おそらく使わなくなることはないので年間$1…
rerun(ruby製)を使うとファイルの変更を検知してコマンドを再実行できます。 Webアプリケーションの開発中、ファイルを変更したらアプリケーションサーバーを再起動させています。 github.com 下記は.goファイルの変更を検知してgo run 〜コマンドを再実行す…
Ruby でサクッと DB にアクセスするときに Sequel をよく使っています。 同名カラムを持つテーブルをJOINするときはどちらのテーブルのカラムかを指定しますが、Sequelでの指定方法を忘れがちなので備忘録がてらメモを残します。 下記のようなフォーマットで…
ライティングソフトウェアを読んで、サービス指向なアーキテクチャでクローラを作っています。 サービス指向なアーキテクチャの簡易図 この中で〜Managerはワークフローエンジンによって処理を順に実行するだけのサービスとなっています。 処理自体は主に下…
GitOps を試すために Kubernetes のクラスタと ArgoCD をVPS(VM4台)に構築し、自前サイトをのっけてみた。 そもそも k8s を触ったことなかったので、AWSやGCPのマネジメントクラスタを利用せず、自前で小さいクラスタを構築した。 ひとまず GitOps できる…
適当な文字列のmd5ハッシュから6文字だけ切り出し、頭に#をつけることで雑にカラーコードを生成できる。 PHPでの例。
Androidアプリ開発をはじめた。 ひとまずニュースアプリみたいなやつをつくっている。 Android Studio 普段 IntelliJ IDEA を使っているので、Xcodeより使い勝手に慣れててスムーズに開発に着手できてる。 ライブラリ OSSのライブラリが大量にあるので、PHP…
「ボーン・コレクター」は映画にもなっていて、地上波でも放映されていて、子供のころに何度かみた記憶がある。 アンジェリーナ・ジョリーと黒人のおじさん(いま調べたらデンゼル・ワシントンという俳優らしい)が出ていて、寝たきりのおじさんが探偵役っぽ…
最近、文章を書いてないのでリハビリがてら。 Google の"検索" Google 検索のすごいところは、「検索」でなく「ソート」なのだとどこかで見た。 検索結果を"どのような順"で表示するかが、むしろ重要なのだと。例えば、検索キーワードがページ内に多く含まれ…
LINE DEVELOPER DAYで知った「リッチメニュー」と新しいメッセージタイプ「カルーセル」を試したかったので、LINE BOTを作成してみた。 いわゆるチャットBOTで最初に作るものといえば、出退勤BOTか近隣レストラン検索かと思うので、今回は近隣レストラン検索…
Docker for Mac をインストール後、メニューにkitematicの文字が。 早速、kitematicをダウンロード&起動すると、以下のエラーが発生。 Kitematic (Beta) 2.app は壊れているため開けません。 ゴミ箱に入れる必要があります。 どうやらAppの形式が古いからら…
RFCで公開されていた「pipe-operator」がF#っぽくて素敵でした。 見た目が奇抜すぎるので、仮に実装されたとしてもなかなか使えないような気も…。 PHP: rfc:pipe-operator # PSR7 Example $request = getGlobals() |> parseRequest($$) |> buildPsr7Request(…
[asin:B00U0DVYO8:detail]
環境: 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 - http://reader.nicheantenna.com/ 個人のWebサービスにメールアドレスを要求するのはよくない気がしてきたので、 URLにランダムなトークンを割り当てて、そのURL(トークン)を知っている人だけがアクセス出来る形にしてみた。 Gistのプライ…
feedlyはスタイリッシュすぎるので、泥臭いRSSリーダーを作っている。Niche Reader http://reader.nicheantenna.com/未読管理機能は、消化に追われるたちなので意図的につけてない。 カテゴリのフィルタ機能は、必要になったら作る予定。。。高速化というか…
年末なにか本を読もうと思って、Team Geakを読んだ。 リーダー(マネージャー)になるエンジニア向けの内容が多い。 以下、メモ。 ソフトウェア開発はチームスポーツである コードを隠さない コードや作業を隠してもいいことはない(≒ アイデア/意見を隠さな…
PHPのバージョンを管理するソフトウェアはphpbrewが一番使いやすいです。 なので、みなさんもphpbrewを使いましょう。GitHub - phpbrew/phpbrew: Brew & manage PHP versions in pure PHP at HOMEインストール方法や使い方はREADMEを見るのが一番いいです。 …
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はHamlによく似たテンプレートエンジンです。 %記号がないので、より書きやすくて見やすいです。Slimで出力すると改行のないHTMLが出力されます。 今まで汚いなーと悩んでましたが、ドキュメントに整形(改行とインデント)して出力する方法が普通に書い…
VimのVundleやNeoBundleがすごく便利で、emacsでモダンなパッケージマネージャを使いたかったのだが、どれもパッとしなかった(当社比)(あと僕はemacsモヒカンではないので趣味趣向が合わなかった可能性があるという予防線を張っておきます)。 んでどうし…
最近とある御方のブログを読んで、「自由なソフトウェア」なるものに興味を持ったのでメモ。 自由なソフトウェアとは 自由なソフトウェアの定義などは以下のページが詳しい(というか本家)。 自由ソフトウェアとは? - GNUプロジェクト - フリーソフトウェア…
だいぶ曖昧なのは自分の理解が足りないため。 クラス/Class/classの表記方法について クラス/Class/classはすべて異なる(ものとして表記している)。 クラス オブジェクト指向における一般的な意味のクラス。 Class クラスを表現するのに使用される普通のオ…
注意力散漫なのか、毎回「安い!→そうでもなかった」ってなります。 最近のやつ。 以前のやつ。