底辺SE奮闘記

年収300万SEブログ

【Storybook7 / msw】import {"rest"} from "msw"でエラーが発生するも直す話

時期的に今しか起こらないエラーかもしれませんが、メモとして残します。

新規インストールしたStorybook7に、公式ドキュメントにしたがってmsw-storybook-addonを導入しようとしました。

公式ドキュメントにはこうありました。

npm i msw msw-storybook-addon -D

今現在(2023/11/02)、上記コマンドを実行するとmswが2系でインストールされてしまうため、正常に動作しません。

ですので、下記のようにします。

npm i msw@^1.3.2 msw-storybook-addon -D

以下、最低限のmsw実行のためのコード

preview.js

import {initialize, mswLoader} from "msw-storybook-addon" // 追加

initialize() // 追加

export const parameters = {
  actions: { argTypesRegex: "^on[A-Z].*" },
  controls: {
    matchers: {
      color: /(background|color)$/i,
      date: /Date$/,
    },
  },
  layout :"fullscreen"
}

export const loaders = [mswLoader] // 追加

HogeHoge.stories.tsx

import { HogeHoge } from "./HogeHoge"
import { StoryObj } from "@storybook/react";
import { rest } from "msw" // 追加

export default {
    title : "ほげほげ",
    component: HogeHoge,
};

type Story = StoryObj<typeof HogeHoge>;

export const Base : Story = {
    parameters : {
        // 追加
        msw : {
            handlers : [
                rest.get("/api/hogehoge", (req, res, ctx) => {
                    return res(
                        ctx.json({
                            items : [{
                                id : 100,
                                name : "hoge"
                            }, {
                                id : 200,
                                name : "fuga"
                            }]
                        })
                    )
                })
            ]
        }
    }
}

【AUTOMATIC1111 / stable-diffusion-webui v1.4.1】Intel Mac 最適化

20230817現状、個人的に最速で生成される状態をメモ

環境

環境はこちらと同じなので参照されたし。

uma-no-kawa.hateblo.jp

対応

下記ファイルを修正。

webui-macos-env.sh

14行目付近のCOMMANDLINE_ARGSを変更する。

export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --opt-split-attention-v1 --opt-sub-quad-attention --use-cpu interrogate"

【AUTOMATIC1111 / stable-diffusion-webui v1.4.1】Intel Mac UniPC 動かない問題

現象

Intel MacでSampling MethodをUniPCにするとノイズだらけの画像のまま出力される。

環境

環境はこちらと同じなので参照されたし。

uma-no-kawa.hateblo.jp

対応

下記ファイルを修正。

webui-macos-env.sh

最低限動くもの

14行目付近のCOMMANDLINE_ARGSを変更する。

export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half --use-cpu all "

デメリット

画像生成がとんでもなく遅くなる。(色々オプションを試して何か効果があればここに追記する予定)

【AUTOMATIC1111 / stable-diffusion-webui】Intel Mac 動作報告

導入の仕方そのものは先人の記事を参照されたし。

以下、弊PCのスペック及び、不具合など。

環境

スペック
ハード MacBook Pro 16-inch 2019
CPU 2.6 GHz 6コアIntel Core i7
グラフィック AMD Radeon Pro 5300M 4 GB Intel UHD Graphics 630 1536 MB
メモリ 16 GB 2667 MHz DDR4
OS macOS Ventura 13.3.1
Python 3.10.8
Stable Difussion WebUI v1.4.1 commit hash:f865d3e11647dfd6c7b2cdf90dde24680e58acd8

セットアップ時の不具合

Pythonモジュール インストールでの不具合

./webui.sh

様々なモジュールがインストールされるが、途中でエラーで停止。

手元のPythonやら、Pipやらが邪魔をしてインストールが失敗したので、

パスを直接指定し手動で、失敗したモジュールをインストールした。

以下、本来webui.shが使おうとしているPythonとPipの場所

パス
Python [git cloneした場所]/stable-diffusion-webui/venv/bin
Pip [git cloneした場所]/stable-diffusion-webui/venv/bin

初回起動時の不具合

いつまでたっても、「Running on local URL: http://127.0.0.1:7860」が表示されなかった。

、弊PCでは、表示されずとも動かせた。

上記URLにアクセスすると、ターミナル側も動き始めた。謎。

UniPC動かない問題

詳しくはこちら

uma-no-kawa.hateblo.jp

【Laravel】メールを送信すると、Declaration of Egulias\EmailValidator\Validation\MessageIDValidation::isValid ~というエラーになる。

環境

  • Laravel 6
  • PHP 7.2.3

現象

メールを送信すると500エラー

正確なエラー文章

Declaration of Egulias\EmailValidator\Validation\MessageIDValidation::isValid(string $email, Egulias\EmailValidator\EmailLexer $emailLexer): bool must be compatible with Egulias\EmailValidator\Validation\EmailValidation::isValid($email, Egulias\EmailValidator\EmailLexer $emailLexer)

原因(仮説)

Egulias\EmailValidator のバージョンアップでゴミが残り、エラーを起こしている

対処

必ずバックアップを取ってから行うこと

  • vendor/equlias/email-validator/src/Validation/MessageIDValidation.php を削除する

所感

適切にcomposer install/update してれば普通は発生しない...と思う。

【Laravel】6 -> 7へのバージョンアップでうっかりしたところ。

基本

基本は下記ページを参考。

アップグレードガイド 6.x Laravel

注意

app\Exceptions\Kernel.php は下記のように修正する。

<?php
// 中略
class Handler extends ExceptionHandler
{
    // 中略

    // 追加 or 修正部分
    public function report(Throwable $exception) {
        parent::report($exception);
    }

    public function shouldReport(Throwable $exception) {
        return parent::shouldReport($exception);
    }
    public function render($request, Throwable $exception) {
        return parent::render($request, $exception);
    }
    public function renderForConsole($output, Throwable $exception) {
        parent::renderForConsole($output, $exception);
    }
    // ここまで
}
  • return 忘れに注意
  • shouldntReportという紛らわしいメソッドにも注意

【MySQLWorkbench】テーブルをダンプできない。 Error Fetching Table List From **** (DbMySQLQuery.resultFieldStringValueByName(): MySQL_ResultSet::isNull: invalid value of 'columnLabel')

現象

下記のエラーが表示され、特定のテーブル情報がダンプできない。ダンプできるテーブルもある。

Error Fetching Table List From **** (DbMySQLQuery.resultFieldStringValueByName(): MySQL_ResultSet::isNull: invalid value of 'columnLabel')

環境

  • mysql 8.0.25
  • MySQLWorkbench 8.0.29

対処

根本の原因は不明でしたが、ダンプできるテーブルとできないテーブルを比較すると、

ダンプできないテーブルはテーブル名に大文字を含み、ダンプできるテーブルは小文字のみで構成されていました。

ダンプできないテーブルの名称を小文字のみに変更したところ、無事ダンプが可能となりました。