唯物是真 @Scaled_Wurm

プログラミング(主にPython2.7)とか機械学習とか

BigQueryの配列にUNNEST()でWITH OFFSETして添字を取得する

以前BigQueryで配列をzipする記事を書きました
「これを使って配列に添字をくっつけることができる」的なことを書いていたのですが、添字を得るだけならWITH OFFSETと書くだけでよいことに気づいたのでメモしておきます
sucrose.hatenablog.com

上の記事ではUDFを使ったりCROSS JOINをしたりして無理やり添字をつけていたのですが、以下のように書くだけで添字を得られるようです

#standardSQL
WITH data AS (SELECT SPLIT('a,b,c', ',') AS tokens)

SELECT
  i,
  token
FROM data, UNNEST(tokens) AS token WITH OFFSET AS i
ORDER BY i

f:id:sucrose:20180524223554p:plain

JavaのJShellワンライナーでスクリーンショットを撮る(実用性はない)

以前JShellでワンライナーのスクリプトっぽく書くのに挑戦しました
sucrose.hatenablog.com
この記事を書いてからJavaでワンライナーを書いて他の言語よりも嬉しい場合ってあんまりないかもと思い始めてきました

とりあえず思いついた例として、JavaのRobotクラスはスクリーンショットを取ったりキー入力やマウスの入力ができて、これは他の言語では標準ではあまり入ってなくて便利かもと一瞬考えました
というわけでスクリーンショットを撮るワンライナーを書いてみました

前の記事には書きませんでしたがjshellJAVASEという引数を渡すとImports all Java SE packages.してくれるらしいのでこれを使います。ちなみに起動がすごく遅くなります

コード

変数に代入したりせず簡潔に(?)書けました
screen.pngというファイル名で保存します
実行に時間がかかるのでいつスクリーンショットが取られるのかは動かしてみないとわかりません

echo 'ImageIO.write(new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize())), "PNG", new File("screen.png"))' | jshell JAVASE -