Laravel 10でのCommandクラスの変更

Laravel 10 ではCommnadクラスを生成したときのコードにコンストラクタが記述されなくなりました。

代わりに handle関数にパラメータを追加すると、そこにDIしてくれるようになったみたいです。

多分コンストラクタに重い処理を書けなくするためじゃないかと思います。

<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;

class ExampleCommand extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'command:name';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Command description';

    /**
     * Execute the console command.
     */
    public function handle(): void
    {
        //
    }
}

久しぶりにアプリケーションを完成させた

以前からちまちま作り続けていたWindowsのアプリケーションが完成しました。

コミック新刊案内から著者順のデータを取ってきて、購入対象の漫画を選択してファイルに出力するというアプリです。

とりあえず考えていた機能(検索、自動選択)は全て実装したので、一旦開発は終了になります。

さて、次は何を作ろうか(笑)

久しぶりにコーディングをしてみたんですけど

Visual Studio Communityをインストールしたので、昨日、久しぶりにコーディングをしてみたんです。

ですが、ユースケースをきちんと考えていなかったので、なかなか仕様が決まらなくて時間がかかりました。

今日は作業できなかったし、このプログラムがいつ完成するかは不明です。

WPFについても、SQLiteについても調べなきゃなあ。

[RoR] rake test

今日もRuby on Railsで遊びました。

今日はモデルのテストを作成してみたのですが、テストスクリプトを単体で実行するとテストが成功するのに、”rake test”すると失敗する現象に遭遇。

失敗するテストは日本語文字列がらみなのでいろいろ調べてみると、rakeを使った場合にはテスト用テーブルがサーバデフォルトの文字コードで作成されてしまうらしいことが判明。その辺はまったく設定されてなかったので、テーブルはlaten1で作成されてしまってました。
“rake clone_structure_to_test”だと文字コード情報もコピーされるんですが。

最終的に、/etc/my.cnfに以下の記述を追加してデフォルトをutf8にしたことで、問題は解消されました。

[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci
Technorati Tags:[]

FC5にMySQL/Rubyを入れる

ここのところ Ruby on Rails で遊び始めたのですが、環境設定不足でRoR本のチュートリアルがなかなか進みません。
{ ちょっとコードを書く; 動かないので環境設定をする } while true
みたいな感じ。

で、今日は Fedora Core 5 に MySQL/Ruby を入れ忘れていることを発見したのでインストールすることに。

せっかく gem を入れてあるんだから使おうと思って、 “gem install mysql” ってしてみたら、ビルド失敗 orz
extconf.rb に、「libmysqlclient が見つからねえ!」と怒られてしまってます。

MySQL/Ruby のサイトには「LD_RUN_PATH を設定するといいかも。」と書いてありましたが、それではうまくいかなくて、LIBRARY_PATH の方を設定したらうまくいきました。

% env LIBRARY_PATH=/usr/lib/mysql gem install mysql