お知らせ

現在サイトのリニューアル作業中のため、全体的にページの表示が乱れています。
投稿日:
OS::Windowsミドルウェア::HTTPD::nginx言語::PHP

確認環境

Env Ver
Windows 10 pro
PHP 8.0.2 NTS Visual C++ 2019 x64
nginx 1.19.8

手順

  1. nginx.confを開きFastCGI server listening on 127.0.0.1:9000辺りに次の設定をする
location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  C:/nginx/html/$fastcgi_script_name;
    include        fastcgi_params;
}
  1. 設定したフォルダに.phpファイルを配置
  2. nginxを起動
  3. php-cgi.exe -b 127.0.0.1:9000
  4. .phpファイルにアクセス

サービス化する

  • winswを使うとできるらしい

フックを単体でテストするケースを想定。

このパターンはコンポーネントからフックを切り離しているケースで有用。手法としては@testing-library/react-hooksrenderHook()を使う。

カスタムフック

export const useUserForm = () => {
  const [username, setUsername] = useState('');
  const [password, setPassword] = useState('');

  const onChangeUserName = (ev: string) => {
    setUsername(ev);
  };
  const onChangePassword = (ev: string) => {
    setPassword(ev);
  };

  return {
    username,
    password,
    onChangeUserName,
    onChangePassword,
  };
};

テストコード

it('onChangeUserName で username が設定されること', () => {
  // `renderHook` で Hook をレンダリング
  const { result } = renderHook(() => useUserForm());
  // `act()` で Hook のイベントを叩く
  act(() => result.current.onChangeUserName('foo'));
  // 結果を見る
  expect(result.current.username).toBe('foo');
});
投稿日:
言語::C#.NET
  1. System.ReactiveをNuGetから入れる
  2. this.ticker= Observable.Interval(new TimeSpan(0, 0, 15));でObserverを作る
this.ticker.Subscribe(
    (item) => {
        // 任意のコントロールを操作する例
        // this.Invokeでコントロールを操作するメソッドを呼び出すと実現できる
        this.Invoke(
            (MethodInvoker)(delegate () {
                // ここに処理
            })
        );
    }
);

どうでもいいけどRx.NETってちゃんとしたリファレンスなくね?

投稿日:
ソフトウェア::VSCode言語::PHP::Xdebug

余計な例外を投げてくるのが面倒なのでそれを無視できるように

確認環境

Env Ver
PHP 7.1.3
Xdebug 2.9.4
VSCode 1.48.0

内容

"ignore"セクションを追加してそこに書いたファイルから出た例外は無視される

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for Xdebug",
            "type": "php",
            "request": "launch",
            "port": 9001,
            "ignore": [
                "**/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
            ]
        }
    ]
}
投稿日:
OS::Linux::CentOS言語::PHPミドルウェア::RDBMS::SQLServer

Laravel + SQLServerとかやるときのメモ

sudo yum install -y epel-release
sudo yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
sudo yum update
# これがないと SQLServer への接続でコケる
sudo yum localinstall https://packages.microsoft.com/rhel/7/prod/msodbcsql17-17.4.1.1-1.x86_64.rpm
# Laravel が起動するのに必要な様々ないろいろ
sudo yum install -y php74 php74-php-common php74-php-cli php74-php-mbstring php74-php-gd php74-php-pear php74-php-pdo php74-php-mcrypt php74-php-xmlrpc php74-php-soap php74-php-devel php74-php-intl php74-php-xml php74-php-sqlsrv
# php で呼べるようにしとく
sudo ln -s /usr/bin/php74 /usr/bin/php