React 入門 (12) ~ TODOアプリを作る(7) ~ TodoList コンポーネントのテスト

今日は enzyme を使って TodoList コンポーネントのテストを追加する。ここ の Counter-test.js のようなものを作成していく。 まず、sinon をインストール $ npm i sinon --save $ npm i @types/sinon --save 記事のサンプルを参考にある程度似せて書いてみ…

React 入門 (11) ~ TODOアプリを作る(6) ~ リファクタリング

ある程度実装できたので、ここらへんでコードの整理をしようと思う。NumberList とかいう名前もおかしいし、Redux を導入したので、コンポーネント間でstateを受け渡しできるようになったこで、コンポーネントの分離もしていきたい。ただ、その前にある程度…

React 入門 (10) ~ TODOアプリを作る(5) ~ データの永続化(2)

今回は残りのアクションに関して実装していく。残りのアクションは以下の3つ タスク完了時のアクション 削除時のアクション 初期描画時のアクション 初めの2つについては既存のアクションだが、最後の1つは今回新たに追加するアクションだ。 タスク完了時の…

React 入門 (9) ~ TODOアプリを作る(4) ~ データの永続化(1)

さて、今までは React & Redux & Typescript によってTODOアプリを作成してきたわけだが、更新ボタンを押すとすべてのデータが消えてしまう。なんとかサーバーにデータを保持しておきたい。フロントエンドからバックエンドにデータを送ってDBと通信するよう…

React 入門 (8) ~ TODOアプリを作る(3) ~ Reduxの導入

ある程度 Redux を理解できたので、自分のTODOアプリに組み込んでみる。 Redux インストール $ npm i --save redux react-redux $ npm i -D @types/redux @types/react-redux 基本的に前回作ったものをマイグレーションする感じでもってくる。だが、NumberLi…

Redux 入門 (2) ~ Redux & Typescript

昨日は Redux を typescript なしで入門した。今日は Typescript を使って入門する。 ここらへんや、ここらへん を参考にする。 記事を見てると、redux と typescript の相性はあまりよくないみたいで、それを補助するライブラリが別途必要になるようだった…

Redux 入門 (1)

今回は React 入門をいったんお休みして、 Redux に入門する。最終的には React & Redux のアプリを作る必要が出てきそうだたので、ここらへんでいったんしっかり勉強したほうがいいかなと。 Getting Started with Redux · Redux Redux のページを一通り読ん…

React 入門 (7) ~ TODOアプリを作る(2) ~ MATERIAL-UI の導入

UIがかっこいいとコーディングもノッてくるというもの。ということでMATERIAL-UIを入れてみる。 Installation - Material-UI Material-UI のガイド > TypeScriptを試す1 - Qiita 上記を参考にする。 インストール まずは、必要なパッケージのインストール …

React 入門 (6) ~ TODOアプリを作る(1) ~

今まで作ってきた環境でTODOアプリを作る。 まずは単純に、TODOの登録ができて、TODOを完了させるチェックボックスを付与するくらいの小さいものにする。 静的なリストを作成 少しずつ作って完成に近づけたほうがちょっとした修正もしやすくなるはず。という…

React 入門 (5) ~ React x Typescript x Jest でテスト ~

今回もJestの記事だが、React x Typescript x Jest の組み合わせを書いてなかったな。ということで。 Jest · TypeScript Deep Dive 今回も参考にするのはこの記事。その中の Example enzyme という章を参照する。 enzyme ってのはよくわからんですが、React …

React 入門 (4) ~ Jest 入門 ~

今回は Jest に入門する。React とは関係ないが、プログラミングをしていくうえでテストフレームワークの環境を作っておくことは最近では必須となってきているので入れておく。 Facebook 製 JavaScript テストツール Jest を使ってテストする ( Babel, TypeS…

React 入門 (3) ~ Type Script を使って独自コンポーネントを作成 ~

ReactJSで作る今時のSPA入門(基本編) - Qiita これを参考に Type Scriptのコンポーネントを作成する。 全部を作成するのは大変なので、ボタンのテキストを更新するコンポーネントを作成するのみとする。 んで、昨日作った環境に追加する形ですすめる。 Git…

React 入門 (2) ~ Type Script を入れる ~

巷で人気の Type Script を入れてみる ここを参考にする React & Webpack · TypeScript まず、react と react-dom の タイプ情報をインストールしておく $ npm install --save react react-dom @types/react @types/react-dom typescript 本体をインストール…

React 入門 (1) ~ 基本環境構築 ~

2018年度版、React、webpack、Babelのセットアップ手順をアップデートしてみた - Qiita これをベースに入門してみる。 そんなに引っかかることがなく入門できた。 プロジェクトの初期化 $ npm init -y 必要パッケージのインストール $ npm install --save re…

NFCカードリーダー pasori を使って NFCカードのIDを golang で読み出す

Windows 対応も済んだので、一旦記事を書いてまとめておく。 概要 Sony の NFCカードリーダー (Pasori) で NFCのID情報を取得できるパッケージを書きました。 NFCカードリーダーは以下のものを使用しました。 www.amazon.co.jp Github リポジトリは以下。 Gi…

syscall.Call に 構造体のポインタを渡す方法

ひょんなことから golang で dll を動的に呼び出さなくてならなくて、引数として構造体のポインタを渡さなくちゃならなかったんだけど、調べてもよくわからんかったのでメモしておく。 dll 呼び出し側は以下のようなC言語の実装になっているとする。 #includ…

C#のライブラリ vs-streamjsonrpc とGoの標準添付パッケージ jsonrpc を通信させる方法

前回 Go と C# を名前付きパイプでつなぐ - bamch0h’s diary という記事を書いた。 その記事のまとめにも書いたように、RPCで通信できるのか興味があったので調べてみた 意外と大変だったのでブログに残しておくことにする。 TL;DR C#側のライブラリとして M…

Go と C# を名前付きパイプでつなぐ

昨日、UNIXドメインソケットをGoで使うサンプルを作成したがその際にパフォーマンス比較用に作成した名前付きパイプを使ってC#と通信する。 サーバーサイド(Go言語) 特筆するところはない。 package main import ( "log" winio "github.com/Microsoft/go-win…

go 1.12 では Windows にも Unix ドメインソケットが入るので簡単に使ってみた。

参考 qiita.com go 1.12 beta1 のインストール ここ(Google グループ) に書いてある通りにダウンロード。 > go get golang.org/dl/go1.12beta1 > go1.12beta1 download 簡単にインストールできるし、Windows でもコマンドが同じなのが便利。 ベンチマーク 単…

コンテナに入るのに docker ps してから docker start して docker exec するのめんどくさいから一度にできるコマンド作った

結論 作った。Goで。 github.com 経緯 パソコン起動してから、dockerのコンテナに入るのにコマンドをいくつも叩かないといけないのがめんどくさかったから。 叩くコマンドは以下の3つ * docker ps -a * docker start <コンテナ名> * docker exec -it -e <デ…

JavascriptでDateのインスタンスを作成するときにタイムゾーンを指定しなかった場合の時刻のパースのされ方がiPhoneとWindowsと異なる件

ちょっと躓いたのでメモ 以下のコードがあったとして alert(new Date("2018-12-12T23:59")); Windows上の Chrome で実行すると Thu Dec 13 2018 23:59:00 GMT+900 (日本標準時) と表示される iPhone上の Safari だと Fri Dec 14 2018 08:59:00 GMT+0900 (JST…

:terminal で開いたコマンドプロンプトからvimを起動してカレントディレクトリを表示させる

ユースケースとしては、vimを起動して、:terminal でコマンドプロンプトを起動したとき、カレントディレクトリが操作したいディレクトリじゃなくて、操作したいディレクトリまで移動して、移動先でvimで編集したいファイルが出てきたときに、vimに戻ると、カ…

ラズパイの/boot/cmdline.txt に記述できるオプションの一覧

linux/kernel-parameters.txt at rpi-4.0.y · raspberrypi/linux · GitHub よさそうなのがあったのでメモ

ラズパイ2 の有線LANを固定IPにする

kinakomochi-tank.hatenablog.com この通りにすればイける。 が、結果確認の項目はすっ飛ばして、リブートした。なぜなら、ifconfig down でeth0 がないと言われるため。

CoDeSys V3 には Pythonスクリプトを実行する機能がついている

CoDeSys っていう会社がありまして、FA業界ではまぁ有名なほうなんですが https://www.codesys.com/ 例えば、Raspberry PI を使って 簡単に UI やらをサクッと作ってスマートホームをチャラっと実現することも 夢じゃないとかなんとか。(※ だいぶ大げさに言…

Arduino でパリティエラーチェックを実装する

私が使ったのは Arduino MEGA 2560 R3 の互換機。 Aruduino IDE には Aruduino 本体のソースコードも含まれており、本体のソースコードを編集すると、スケッチをコンパイルする時に本体が修正されていることを検知し、同時にコンパイルしてくれる。私の環境…

Progate で Ruby 履修してみた

当方、Ruby Association Certified Ruby Programmer "Silver" (Ver 2.1ではない) を持っているのですが、業務で使うこともなく、趣味でダラダラ Ruby コードを書く日々であります。ひょんなことから、Progate を知り、Ruby 再入門でもしてみるかという気持ち…

シリアル通信で受信完了をできるだけ早く検知する方法 [Raspberry pi]

最近、ラズパイでシリアル通信をするプログラムを書いてる。いくつか詰まったところがあったので備忘録的に残しておこうと思う。 作成したプログラムは以下のリンクにある GitHub - bamchoh/rpi-serialport-test TERMIOS 構造体 Linux で シリアル通信をする…

ラズパイ2のシリアル回りを調べる

ラズパイ3でベアメタル - QEMUでUART(PL011) - へにゃぺんて@日々勉強のまとめ PL011 の PDF http://infocenter.arm.com/help/topic/com.arm.doc.ddi0183g/DDI0183G_uart_pl011_r1p5_trm.pdf カノニカルモードとは 端末のカノニカルモード - 技術メモ帳 FIL…

Vimを毎日自分用にビルドするようにした

github.com モチベ さきっちょ追いかけてるおれかっこいいがしたかった。 何ができるか github に上がってる vim をビルドして、kaoriya-vimのexeと差し替えます 何が必要か kaoriya-vim msys2 64 bit ruby 2.5 python 3.7 (embedded) lua 5.1 どうしたらで…