【Java】java.sql.ResultSetから値を読み出すときメモ

JDBCは業務アプリや軽いデータ取得ツールを作るには、低レイヤすぎて面倒くさい。 特に値を読み出すところが面倒すぎてO/Rマッパに逃げた挙句、今日まともに使い方を理解したJavaおじさん5年目がメモ。 JDBCとは Javaの標準APIに組み込まれている、データベ…

【Redshift】SQLの実行時間明細を取得・可視化する

RedshiftのSQL実行時間の取得方法メモ。 ※Redshiftは日本時間で土曜日22:00に定期メンテナンスがあり、都度都度仕様変更が入ります。執筆時点の情報である旨ご承知おきください。 A. システムテーブルからログを取得する 1. queryidの特定 実行時間を見たいS…

はじめてVuejsアプリケーションを本格的に作った時の参考文献履歴

Vuejsのプロジェクトテンプレートを作りたい https://qiita.com/po3rin/items/3968f825f3c86f9c4e21 .vueファイルが意味不明すぎて怖い https://qiita.com/po3rin/items/3968f825f3c86f9c4e21 clickなどのイベント駆動で何か処理したい https://qiita.com/Sa…

【Docker】初めてdocker-composeでbuild+app runまでする構成を組もうとして挫折した

Go + VueなアプリをDockerでビルド用コンテナ+稼働用コンテナ+docker-composeするまでの過程で ハマったところをつらつらとログした記事。 世には素晴らしい日本語記事がいっぱいでているが、 今更やってみたの一例として、誰かの参考になればというモチベ…

【Docker】Dockerfile RUNで、BASHな環境変数を展開してコマンド実行する

恐らく禁じ手 ハマった事象 DockerFileを書くとき、ARGやENVな変数をコマンド内で使うときは $ENVNAME で書くが、 少なくともDocker verions 17.05.0-ceでは、Dockerfile中の$ENVNAMEはプリプロセッサ的に事前に展開してコマンド実行するようだ。 例 FROM al…

Linuxのbashシェルスクリプト/Windows batスクリプトの別スクリプトを呼んだときのカレントディレクトリと環境変数スコープ遷移

ハマった Windows batスクリプトの知見 setlocal / endlocal しない限り、環境変数のスコープが共有される 実験 カレントディレクトリを指す環境変数 CD で例にとる 構成 |`- main.bat `- subdir `- sub.bat main.bat @echo off echo [main.bat] current dir…

【vuecli】src配下にapplication configファイルを追加する

ハマった。 環境 $ npm list -g vue-cli E:\node_modules +-- @vue/cli-init@3.0.0-rc.10 | `-- vue-cli@2.9.6 `-- vue-cli@2.9.6 $ npm -version 6.4.1 やりたいこと vue cli を使ってテンプレート生成したプロジェクトに、vue用の application コンフィグ…

【Golang】CSVのDecode

[][]string へのDecodeで我慢できるのであれば、encoding/csv パッケージがそれなりに使える。 ファイル終端にいくとEOFする 引用符ありなしを自動解釈 引用符中のダブルクォート2つ重ねを1つにしてくれる 引用符中なら改行文字を何いれてもいい \はエスケー…

【Postgresql】マテリアライズドビュー

マテリアライズドビューとは 実行結果をテーブルと同じようにキャッシュして、普通のビューならテーブル結合などのコストをかけて実行するものを既に計算済みのデータを読むだけの状態にする機能。 実態はテーブルに似ていて、インデックスなどが張れる 一度…

C言語で標準入力がされているかを検知する

#include<stdio.h> int main() { if (feof(stdion)) { printf("input detacted from stdin"); } else { printf("no stream"); } return 0; }</stdio.h>

vscode-Remarkで全角文字をテーブルに入れても半角文字幅でしか整形されないのを解決

すごく汚い解決法 RemarkをVSCodeで入れる VSコードのextensionインストールディレクトリ(%UserProfile%.vscode\extensionsなど)にあるmrmlnc.vscode-remark-1.1.0\node_modules\markdown-table\index.jsを編集 // 下部に↓の関数があるので定義書き換え //…

【Redshift】ANALYZE、VACUUMメモ

2019/06/27 誤りを修正。 各実施で起こること VACUUM ''DELETE'' や ''UPDATE'' で発生した、削除フラグ付きの領域の掃除。(SELECTで検索するとき、この領域も一応見に行って検索ミスする) 2018年11月ぐらいのアップデートで、削除フラグ付き領域の削除が…

vue-cliで Cannot find module 'chalk' と言われてnpm run buildが通らない

めちゃはまり 事象 dockerつかってvue-cliからbuildしようとしたとき、chalkがnotfoundで落ちる。 下記DockerFileから抜粋 ENV NODE_ENV=production WORKDIR /usr/local/app-octface-front RUN npm install RUN npm run build RUN npm run build で下記エラ…

vue-cliからの開発メモ

vue-cliを使ってアプリを開発しているが、これ色々とテクニックを忘れそうなので、セットアップやフレーム作った時に行ったことのメモをする。 はじめに vue-cliは、Nodejs製のVueプロジェクトテンプレートを自動生成するツール。初めから色々なものが組み込…

【JavaScript】オブジェクトを返すlambdaの簡易構文

ちょっと前までオバカで、JavaScriptの lambdaでオブジェクトを返す構文を以下にしていた () => { return { hoge: 'huga' } } これはこう書ける () => ({ hoge: 'huga' })

vue-cli インストールログ

備忘録 $ \Users\yu>npm i -g npm + npm@6.2.0 added 395 packages in 51.155s $ npm install -g vue-cli npm WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen) + vue-cli@2.9.6 $ vue init webpack oct…

非同期処理の悩みどころ

「UI向上のために非同期をしなければいけないんだ!!!!!!!」が界隈世間一般の語彙になって10年ぐらいだろうか、今初めてUIで簡単な非同期処理を実装してみてマルチスレッドは難しい問題を身に染みている。 タスクの取り消しは正常系 検索をかけた、で…

Windowsでファイルの更新タイムスタンプを書き換える

わるいことするのに使うやつ Set-ItemProperty "test.txt" -Name LastWriteTime -Value "2018/06/01 11:22:33"

Redshiftでクエリの処理時間を計測する

SQL -- セッション中、結果キャッシュを切る -- コンマ数秒で結果が返ってくることはなくなるが、 -- 同じようなレコードを取得するクエリを連続で実行すると、 -- コンピューティングノードで直近ディスクロードした内容が -- オンメモリになってキャッシュ…

Linuxディストリビューションでタイムゾーンの設定を確認する

共通 $ date Thu May 31 16:25:06 UTC 2012 Ubuntu 16.04.1 $ cat /etc/timezone Asia/Tokyo RHEL 6.x / CentOS 7 $ cat /etc/localtime TZif2 // 中略 JST-9

Golangハマり備忘録 - structの代入、structのポインタ、ポインタの配列/スライス

値渡しの代入 golangの値のコピーはClangの代入演算子とほぼ同じ。 structの代入はstruct全内容のコピーをとる。(値渡し) type Sample struct { Hoge int Huga string } var val, val2 Sample // val == 0x4000、val2 == 0x5000のアドレスがそれぞれ割り当…

【Postgresql】【Redshift】SELECTの取得値にNULLを定数で指定するときは型指定する

やらかした。 やらかし SELECT order.orderno, orderdtl.orderidx, order.orderdate, NULL AS customer_id FROM order ; 上記のように、SELECTで型ヒントなしに NULL を指定すると、型が "unknown" となる。 CREATE VIEW view_orderlist AS SELECT order.ord…

Amazon Redshiftチューニングメモ(WIP)

仕事でRedshiftのチューニングをすることになりそうなのでメモ ※適宜更新 2018/04/04 更新 2018/04/11 更新 2018/10/04 更新。嘘いっぱい書いてたのを訂正。分散キーに関する項目を拡充 2018/11/07 更新。列圧縮に関する嘘八百を訂正。ソートキーに関して追…

SQLパーサー作成メモ

備忘録メモ Postgresql内部実装のSQLパーサー https://wiki.postgresql.org/wiki/Query_Parsing raw_parserという関数があるらしい。 postgres/parser.c at 9d4649ca49416111aee2c84b7e4441a0b7aa2fac · postgres/postgres · GitHub 構文別にノードツリーレ…

Javaおじさん初めてのGolangのinterface所感

延々とだらだらしていてたらいつか死ぬ気がしてきたので、いい加減アウトプットする。 明日続かないとしても今日書けばよいのだ。 Golangさわってみた Javaを中心にOOPな言語をずっと触ってきて、ちょっと回帰的だがGolangでSQLパーサーを描いている。 Golan…

【.NET】【WPF】Bindingを強制反映するやりかた

遊びでC#を触ったら、まんまと有給を潰してしまった。 毒舌に.NETのWPFのBinding .NET Framework Microsoftが提供している、ウィンドウアプリケーションのランタイム環境。 *ウィンドウ付きのアプリが(裏方にある膨大な概念を意識するのに比べて)いとも簡…

分析系システムの業務的なメモ②

ちょっと実務的な部分に絞って2枚目 データ的な特徴 ログデータ アクセス数やPV数、UserAgentの解析をしたい。とすれば、ApacheとかのWebサーバーのアクセスログから拾って集めて、分析用のDBに片っ端から突っ込むことになる。 Google Analytics などの外部…

分析系システムの業務的なメモ

最近、分析系のシステムに携わっている。 色々と学ぶことがあったのでここにメモする。 分析システムの種類 分析システムをニーズから分類すると、「定型レポート」と「データの特徴量や関係性をデータマイニングするツール」に大別できるらしい。(受け売り…

【Linux】rsyncで半角英数記号(半角スペース含む)のみのファイル名のみを同期する

rsyncは、ファイル同期を行うLinuxコマンド。 主→従へ完全にファイルの権限やタイムスタンプをコピーする。 デフォルトでは全てのファイルが対象(再帰的なコピーは-rオプションが必要)だが、名前にフィルタリングルールを適応することができる。 rsync -rt…

【Linux】bashで文字として評価してしまった環境変数中のクォーテーション・ダブルクオーテーションを再度引用符として評価する

$ echo 'a' 'b' ↓ a b $ export CMD="echo 'a' 'b'" $ $CMD ↓ ‘a’ ‘b’ ‘は文字となってしまっている。そのため、例えば以下の文は記号含む「'want-to-exclude.txt'」に一致するファイル名のみを除外してrsyncするコマンドになる。 $ export CMD="rsync -rtv …