膨大なサイズのCSVファイルから爆速でMySQLへインポート

膨大なサイズのCSVファイルから爆速でMySQLへインポート

 CSVファイルからDB(MySQL)にインポートする機能はよくあるし、情報もゴロゴロとある。前回の記事では大量のデータをCSVファイルとして素早く書き込む方法を書いたが、今回はその逆と言っても良い。  ただ、CSV→DBは色々な制約を受けるので最も早く確実なただ一つの答えがあるわけではなさそう。今 …

【PHP】大量データをfputcsvで瞬時にCSVファイル出力する方法

【PHP】大量データをfputcsvで瞬時にCSVファイル出力する方法

 phpでcsvを作成する場合、fputcsv関数を使用するだろう。しかし数十万行・20MB以上のデータをcsvファイルとして書き込みする場合、かなりの時間がかかってしまう。  今回通常のレスポンスタイム内(3秒以内)でPHPのfputcsvでファイルを書き出す必要があり、多少情報が少なくて調べたこ …

Android端末とリーダー(外部機器)をUSB接続して充電する

Android端末とリーダー(外部機器)をUSB接続して充電する

ソフトウェアの話から逸れるのだが、アプリケーション(iOSやAndroidなどのスマホアプリ)からUSBで機器に接続する場合、USBハブなんかでポート増やしたい時がある。 今回Androidタブレットを充電しながらリーダー(felicaなど)にUSB接続するアプリを開発する必要があった。 通常のスマ …

Node.jsのclass-validatorでユニークバリデーション

Node.jsのclass-validatorでユニークバリデーション

 nodejsのclass-validatorについて。 https://github.com/typestack/class-validator class-validatorインストール  modelクラスのプロパティにアノテーションでバリデーションルールを記載し、1つのメソッドでバリデーション …

AxiosでCookieを送信してSessionを共有する

AxiosでCookieを送信してSessionを共有する

ブラウザからAxiosでCookieセット  ブラウザのSessionCookieなどをaxiosでそのままサーバーに送信したい時は以下のようにセットする。 axios.get('url', { withCredentials: true } )  そしてサーバー側は次のように許可す …

CentOSサーバ上DockerコンテナでDNS解決されない時は

CentOSサーバ上DockerコンテナでDNS解決されない時は

dockerコンテナ内でDNS名前解決されない  本番サーバーを以下の環境で構築する場合。 CentOS7 Docker  Dockerコンテナ内から外部のエンドポイントにアクセスするとき、DNS名前解決できず困ったことがある。 以下の2つのうちどちらかの方法でコンテナにDNSを指定することで解 …