お知らせ

現在サイトのリニューアル作業中のため、全体的にページの表示が乱れています。

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

このパターンはコンポーネントからフックを切り離しているケースで有用。手法としては@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
投稿日:
言語::PHPOS::Windowsミドルウェア::RDBMS::SQLServer
  1. microsoft.comからWindows用のドライバを落としてきて適当な場所に展開する
  2. コマンドプロンプトでphp -r "phpinfo()" > phpinfoする
  3. 上記で吐き出した結果をThreadで検索、Thread SafeかUnSafeか調べる
  4. 落としてきたドライバからバージョンとThreadが合うものを探してphp\extに配置
  5. php.iniDynamic Extensionsセクションに次のような感じで記述
# php_と.dllは勝手に補完される
extension=pdo_sqlsrv_74_ts_x64
extension=sqlsrv_74_ts_x64
  1. php -r "phpinfo()" > phpinfoしてsqlsrvが確認できたらOK