今日も窓辺でプログラム

外資系企業勤めのエンジニアが勉強した内容をまとめておくブログ

VSCodeでscrollPageDownした時にカーソルも付いてきてほしい

問題点

今までVisual Studio Codeに表示しているテキストをページスクロールする時にはscrollPageDown, scrollPageUpにショートカットを割り当てて使っていました。

手元の環境だと、scrollPageDownなどでテキストをスクロールした際に、文字入力のカーソルが元の場所に置き去りにされてしまうような挙動となっており、これが結構ストレスでした。

解決策

やはり同じ悩みを抱えている方はいるようで、VS CodeのIssueに解決策が載っていました。

scrollPageDownの代わりに、editorScrollというコマンドを割り当て、引数にrevealCursor=trueを渡すと良いようです。私の場合、ctrl+vにscrollPageDownを割り当てていたので、代わりに次のような項目をkeybindings.jsonに追加しました。

{
    "key": "ctrl+v",
    "command": "editorScroll",
    "args": {
        "to": "down",
        "by": "page",
        "revealCursor": true
    },
    "when": "editorTextFocus"
}

この設定ではまだ少ししか作業してませんが、今のところ快適です。

Scala + SparkでDatasetを使ってTFIDFを計算する

はじめに

前回の記事ではSparkをローカルで試せる環境を用意しました。

Windows Subsystem for Linux(WSL)でSpark環境を構築してみる - 今日も窓辺でプログラム

今回は日本語のテキストファイルに含まれる単語数をカウントする処理をSpark上で行ってみたいと思います。 SparkもScalaもGradleも初めてなので、もしかしたら怪しいことを言っている箇所もあるかもしれません。。

環境は前回に引き続き、Windows Subsystem for Linux上のUbuntu 16.04で行っています。

続きを読む

Windows Subsystem for Linux(WSL)でSpark環境を構築してみる

Sparkで走らせるプログラムの開発のため、WindowsのローカルでSparkを走る環境を用意したかったので作業内容をメモしておきます。

環境

  • Windows 10 Version 1803
  • WSLでUbuntu 16.04をインストール

以下手順に出てくるコマンドはWSLで走らせたbashに入力したものとなります。

インストール

まずはJavaをインストールします。

sudo apt-get install openjdk-8-jre

Apache Sparkの公式サイトからビルド済みのSparkをダウンロードしてきて解凍 し、適当な場所に置きます。

wget http://ftp.meisei-u.ac.jp/mirror/apache/dist/spark/spark-2.3.1/spark-2.3.1-bin-hadoop2.7.tgz
tar xvf spark-2.3.1-bin-hadoop2.7.tgz
mkdir /etc/spark
mv spark-2.3.1-bin-hadoop2.7/ /etc/spark

.bashrcに下記を追加して完了です。

# Spark
export SPARK_HOME=/etc/spark/spark-2.3.1-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin

spark-shellやspark-submitが正しく使えることが確認できました。

関連記事

用意した環境でTFIDFの計算をしてみました
Scala + SparkでDatasetを使ってTFIDFを計算する - 今日も窓辺でプログラム

Tensor2Tensorを使って独自データでseq2seqしてみる

はじめに

Tensor2Tensorという、広く使われているモデルやデータセットが実装されているディープラーニングのライブラリがあります。
GitHubのREADMEによると、Tensor2TensorはGoogle Brainチームなどによって開発されているようで、中身はTensorFlowで実装されています。

用意されているモデルとデータセットを使うだけなら、コーディングなしでディープラーニングを試すことができます。
モデルやデータセットの追加も容易に行えるようになっていて感動したのですが日本語の記事はあまり見当たらなかったので、せっかくなので今回試した「自分で用意したデータでseq2seqを学習させる」ための使い方を紹介しようと思います。

環境はUbuntu 16.04のでGPUを使用した学習を行いました。

続きを読む