jubo的学習記録

日々自分の技量のなさに悩みながら這いつくばって頑張っているエンジニアが勉強・学習したことの記録です。

IntelliJをインストール

sbtについてのチュートリアルを読み終わって気がつきました。
scala書いてないじゃん…orz

scalaというプログラミング言語の勉強を進めたいのに、 ビルドツールに時間をさいてしまった。

sbtについては簡単に把握しやすい記事があったので、 今後はそちらを参照するようにしたいと思います。

qiita.com

気を取り直してIntelliJをインストールしました。
無料のやつ。

www.jetbrains.com


次こそコードを書くぞ!

sbtシェルについて

基本

今回の学習:sbt Reference Manual — 実行

sbtを実行するには、プロジェクトディレクトリに移動してsbtと打つ。

cd practice_scala/hello/
sbt

これで「sbtシェル」が実行される。

実行後は下記の3つの操作になるみたい。

> compile
> run
> exit

上から順に、

バッチモード

sbtコマンドに引数を渡したらバッチモードになり、「"“」で囲めば1つの引数扱いになるとのこと。

例:$ sbt clean compile “testOnly TestA TestB”

ビルドが遅くなるらしいですが、実際に使ってみてのお楽しみとしてとっておきます。

継続的ビルド・テスト

ソースファイルを保存すると自動でコンパイルしてくれる仕組みがあるようです。
初心者なので慣れるまで手動でやっていきます。

なれたら試すsbt Reference Manual — Triggered Execution

その他、頻出コマンドが紹介されていましたが、今見ても頭に入らないので、skipします。

プロジェクトのディレクトリ構成

ディレクトリ構成についての説明がありましたので、簡単に読んでおきます。
sbt Reference Manual — ディレクトリ構造

かいつまんでメモ。

  • ソースコードは「src/main/」に作成する(今回の例だと practice_scala/hello/src/main/)
  • 「src/」ディレクトリにディレクトリを作成されても無視されるので注意
  • ビルドの定義ファイルは「build.sbt」に記載する(今回の例だと practice_scala/hello/build.sbt)
  • プライグインなどは「project/」に追加する(今回の例だと practice_scala/hello/project/)
  • ビルドした成果物は「 target/」に追加される(今回の例だと恐らく practice_scala/hello/target/)
  • バージョン管理する際は「.gitignore」に「target/」を追加すると便利らしい(今はいいかな)


恐らくの部分は今後勉強して確認後修正

sbtで「hello world」

今回の内容はこちらのチュートリアルsbt Reference Manual — Hello, World)です。

とりあえず、sbtのインストールが完了したので、
下記コマンドを実行して練習用ディレクトリ(今回はpractice_scalaにしてます)とプロジェクトを作成。
(このコマンドの内容とかにつてはいずれ調べたい…)

mkdir practice_scala
cd practice_scala

sbt new sbt/scala-seed.g8

何だか「[info] [SUCCESSFUL ]・・・」の文字が大量に出力されます。
しばらく待ちます。

name [My Something Project]:

プロジェクト名を求められたので「hello」と入力したら完了です。


確認すると「hello」ディレクトリができてたので移動してアプリ実行。

ls
> hello target

cd hello
sbt

また何か動き始めた…(;・∀・)
入力を求められたので「run」と入力。

> [info] Running example.Hello
> hello
> [success]…

と出たので完了のようです!


。。。あれ?まだコード書いてない。。。

とりあえずscala勉強するための環境構築

業務でscala使うことになりました。

scalaってどうやって勉強するかわからなかったので、

ScalaMatsuri 2017 の 「Scala introduction for Java developers - @seratch」 を参考に勉強するための環境を構築します。

セッション主の方のGitHubに設定方法が書いてありました。

ということで、勉強環境はsbtIntelliJを使って勉強していくことにしました。


sbt Reference Manual — 始める sbt

sbtのサイトにチュートリアルっぽいものがあったので、 まずはこちらから進めていくことにします。



ひとまず、インストールだけやっておく。

brew install sbt

ページの最上部(TOP)に戻るボタン

本日の業務中、

JSで手っ取り早くページ内の最上部(TOP)に戻る処理が必要になったので、メモしておく。

onclickイベントを利用してもいいし、関数として変数に代入しても問題ない。

document.body.scrollTop = document.documentElement.scrollTop = 0;

ただし、こちらの処理は実行されるとアニメーションなしで最上部に戻されます。

ユーザー目線だとページが高速で切り替わっているように見えます。


ついでに、アニメーションを利用するならどうしたらいいかも調べました。

業務では使わなかったけど。

$('html,body').animate({scrollTop: 0}, 300);

数値「0」が高さ0を表し、数値「300」移動スピードを表しています。

clickイベント

たまにJSを書くと思い出せなくなるものをメモ。

var test = document.getElementById([任意のID]);
test.click();

スクリプト内で特定のタグをクリックした時と同様の挙動をするようにする処理。

本当によく忘れるので。

もっと詳しくはJavaScriptでjQueryを使わずにイベントをtriggerする