I mutter using laravel’s schedule.

2023.06.23

Logging


Good morning! These days, I’ve been working on migrating the parts that used the twitteroauth library to Laravel. I think it was a good decision to migrate because it made it easier to incorporate new features. I wish I had initially started with Laravel for this.

Here are some technical hints, but you should be able to find more detailed methods by searching online:

  1. Install twitteroauth in Laravel’s vendor directory.
  2. Create a job using the command php artisan make:job YourPreferredName (e.g., ProcessPodcast).
  3. Register the job in the scheduler.
  4. Configure cron (in my case, * * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1).

With this setup, it will tweet at the specified time. I used to be able to retweet, but it seems my Twitter bot has been flagged, and now I can only tweet. So I’m doing my best with just tweeting.

Concerns about Twitter: I can’t help but think that it’s only a matter of time before either Jack Dorsey leaves or Twitter gets acquired and disappears. Even with a new CEO, I don’t expect things to improve immediately, and as long as Jack Dorsey remains, I believe it will continue to be problematic. Twitter has lost some of its appeal for individual developers who can no longer enjoy developing on the platform. The various services that were created using Twitter’s API in the past were possible because Twitter was developer-friendly.

タグ

artisan schedule, CEO, Configure cron, created using Twitter, dev, gt, hints, I've been working, Install twitteroauth, job YourPreferredName, library to Laravel, past were possible because Twitter was developer-friendly, path, php, Platform, run, setup, that were, These days, vendor directory,

Laravelのスケジュール覚書、初心を忘れずに。#chatGPTの罠

2023.04.18

Logging

おはようございます、laravelのスケジュールを触ってみて。躓いた点は一点だけ。スケジュールリストに登録されているけど、動作しなかった。chatGPT3の罠に引っかかりました。chatGPTはもっともらしいコードを書いてくれるけど、たまに動作しないコードも出力されます。それにまんまと引っかかり、沼から出てこれなくなる所でした。

Laravelはお利口さんだから、上手くやってくれるだろうとJob側のコンストラクタには何も記述しなかったのが間違い。コマンドで行わない場合は下記の記述は絶対らしい。

<?php

namespace App\Jobs;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Http;

class WebsiteMonitor implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct()
    {
    }
    public function __invoke()
    {
        $this->handle();
    }
    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
     //行いたい処理🐺
    }
<?php

namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
use App\Jobs\WebsiteMonitor;
class Kernel extends ConsoleKernel
{
    /**
     * Define the application's command schedule.
     *
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */
    protected function schedule(Schedule $schedule)
    {
        // どちらでもOK👉 $schedule->job(new WebsiteMonitor)->everyFifteenMinutes();
        $schedule->call(function () {
            dispatch(new WebsiteMonitor());
        })->everyFifteenMinutes();
    }

    /**
     * Register the commands for the application.
     *
     * @return void
     */
    protected function commands()
    {
        $this->load(__DIR__.'/Commands');

        require base_path('routes/console.php');
    }
}

行いたい処理を書いたら、カーネルに処理を登録してcronに下記のように記述する。

* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

これで処理が定期的に実行されます。尚、参考サイトとしてこちらに詳しい情報が書かれています。

タグ

call, ChatGPT, construct, cron, dev, DIR, dispatch, everyFifteenMinutes, handle, IlluminateConsoleSchedulingSchedule, InteractsWithQueue, Laravel, load, PARAM, Queueable, routes, Schedule, SerializesModels, コンストラクタ,

さくらレンタルサーバーライト月額費用128円🤔

2022.08.26

Logging

おはようございます。昨日、さくらレンタルサーバーライトと契約しましたのでその経緯を記載したいと思います。

さくらレンタルサーバーライトと契約😶(一括払いの一年契約をしました)。一括払いなので135円128円(※135円記載ミスです。)ではなくてもう少し安くなっています。このさくらレンタルサーバーライトで作られたサイトでは主に機能制限がある中でどれぐらいの事が出来るのだろうかという腕試しみたいなものでレンタルしました。

因みにまだ何をしようかと考えている最中で、アイディアが浮かぶまで浮上待ちの状態です。ですので一年間放置とかあり得る話なので、気長に待っててください。

尚、このネタだけでは文字数があまり稼げないので昨日ツイートしたnohupことを記載します、この事については2019年に簡略的に紹介はしてあります。説明するとターミナル画面(Tera Term等)を閉じてもプロセスがキルされなくて動作するというリナックスのコマンドです。使い方はこんな感じです。

nohup 任意のコマンド > /dev/null &

このコマンドを使用する人は恐らく直ぐには終わらない処理を実行したい方や常時プロセスを立ち上げようと考えている方だと思います。常時プロセスを立ち上げたい場合は何らかの原因でプロセスが落ちた時の為にプロセス監視処理も記載しないといけないので注意が必要です。

タグ

dev, gt, nohup, nohupこと, null, Tera Term, アイディア, コマンド, さくらレンタルサーバーライト, ターミナル画面, プロセス, プロセス監視処理, リナックス, 一括, 一括払い, 常時プロセス, 最中, 浮上, 経緯, 腕試し,

デベロッパーコミュニティサイトがありますよね。

2022.04.06

Logging

おはよう御座います。

デベロッパーコミュニティサイトがありますよね。日本ではQiitaを知らないひとはエンジニアではないとも言われています(嘘ー)😌。それぐらいQiitaはエンジニアとって認知度の高いサイトです。海外ではdev.toを知らずしてエンジニアを語れないと言われているかも知れません。

Amelie Lens – Ultra Music Festival – Miami 2022

Qiitaも昔は初心者向けの投稿が多かったのですが、この頃は中級レベルや上級者に向けた発信をするユーザーも増えてきて、メンターのいない自分にとってはとても大事なサイトになりつつあります。自分の場合、上流工程の経験が全然ないとくに資料作りなどは最低レベルなので、そこのレベルアップしたいなって思っています。設計を作らず開発工程ばかりしていたので、転職活動にはとても不利な気がします。ここらへんを改善できればワンランクアップした仕事につけるかも知れません。転職活動はしていませんが、一般的にはシニアエンジニアは上流工程に就いていることが多いですね。ちなみに35歳引退説は今では何処吹く風だと思っています、現役、シニアプログラマーは結構な割合でいます。

タグ

dev, qiita, To, アップ, エンジニア, くに, ここら, こと, コミュニティ, サイト, シニア, そこ, それぐらい, デベロッパー, ひと, べん, メンター, ユーザー, ランク, レベル, ワン, 上流, 上級者, 不利, 中級, 仕事, 初心者, , 場合, 大事, 工程, 投稿, 改善, 日本, , 最低, , 活動, 海外, 発信, 経験, 自分, 設計, 認知, 資料, 転職, 開発, ,

人工知能のお手軽モデル生成がGUIで出来るやつtensorflow対応。

2021.05.12

Logging

人工知能のお手軽モデル生成がGUIで出来るやつtensorflow対応しているからね。本当に便利だと思います。以前ブログで紹介したかもしれません、もしくはツイートしたか記憶が定かではないのですが再度改めて記載します。このlobeというソフト(アプリ)は人工知能の学習を行い、学習データからテストもできるのです。一番良いところは学習データ=モデルをエクスポートしてテンソルフロー(tensorflow)で動かせるところです。

Introducing Lobe | Build your first machine learning model in ten minutes.

テンソルフロー(tensorflow)で動かし方を解説している記事がありますので、そちらのリンクを貼っときますね。
https://dev.classmethod.jp/articles/lobe-lobe-export-tensorflow-lite/

これから先、人工知能の学習は誰でもできるようになり誰でも人工知能を使ったものがお手軽で作れるようになっていくと思います。あと数年後で自分が思うにはエクセルでも人工知能の学習で判定できるような関数が搭載されてもおかしくはないと思います。それぐらい人工知能は浸透してきていますね。因みに人工知能(教師あり機械学習)ってデータが多いほど、精度の良い結果を出してくれます、なのでデータは結構大事になりますよ!

LobeからTensorflow Lite形式でエクスポートしてMacで推論してみました

タグ

articles, classmethod, dev, GUI, https, jp, lobe, lobe-lobe-export-tensorflow-lite, tensorflow, アプリ, エクスポート, これ, そちら, ソフト, ツイート, データ, テスト, テンソル, ところ, フロー, ブログ, モデル, もの, やつ, リンク, 人工, 以前, 便利, , 再度, 学習, 対応, 本当, 生成, 知能, 紹介, 解説, 記事, 記憶, 記載, ,

VirtualBoxで共有フォルダ設定とApacheが表示されるまで。

2020.11.29

Logging

前処理としてこのコマンドを打つ。

yum -y groupinstall "Development Tools"
yum -y update kernel
yum -y install kernel-devel kernel-headers gcc gcc-c++

起動したらメニューから[デバイス]-[Guest Additions CDイメージの挿入]

mount /dev/cdrom /mnt
cd /mnt
./VBoxLinuxAdditions.run

reboot
cd /var/www/
ln -s マウント先 sf_html
gpasswd -a oreore vboxsf
gpasswd -a apache vboxsf

mount -t vboxsf -o dmode=0755,fmode=0755 (共有名) (マウント先)

reboot

Apacheのconfig設定ではリンク先はシンボルリンクを参照させとこう、これでリブートさせて完了やねん。さてこれで理解できたら、あなたは凄いです。これは単なるメモ書き記載なので、わからないと思います。

なので、参考にしたサイトのリンクを貼っときます。
http://itemy.net/?p=1355
https://www.codelab.jp/blog/?p=2587

これらでおそらく大体の人が理解できたと思います。

タグ

-o, -s, -t, -y, 0755, A`, Additions, Apache, cd, cdrom, dev, Development, dmode, fmode, gcc, gcc-c, gpasswd, groupinstall, Guest, html, install, kernel, kernel-devel, kernel-headers, ln, mnt, mount, oreore, quot, reboot, run, SF, Tools, UPDATE, var, VBoxLinuxAdditions, vboxsf, virtualBOX, www, yum, イメージ, コマンド, デバイス, フォルダ, マウント, メニュー, 共有, 前処理, 挿入, 表示, 設定, 起動,