ぶらっ記ぃ

日本語の練習をしています

Scala.jsでReactアプリケーションを作って公開したはなし

モチベーション 最近、流星のロックマン3というゲームに再燃しています。 Wi-Fiを使ってネット対戦を行うことができるのですが、任天堂公式のWi-Fiサービス終了により長らく対戦を行えない状況でした。 しかし、近年、有志の方がWi-Fiサーバをエミュレートす…

DigdagのExtensionを実装する

モチベーション 個人のリポジトリでdigdag-plugin-datadogを開発していますが、これを使うユースケースは主に _error のタスクでワークフローのエラーをDatadogに通知することであり、これは複数のワークフローが存在する場合、各ワークフローに書いて回る必…

AWS Amplifyを使ってScala.jsアプリをデプロイしようとしたけどうまくいかなかったログ → できました

追記(2020/04/28 23:55) ビルドに使うDockerのイメージを alpine → ubuntu にしたらうまくいきました FROM adoptopenjdk/openjdk8:latest RUN apt-get update && apt-get install --yes curl git openssh-client npm https://master.d24dpd4k731ni4.amplifya…

Coursier を使って最速でScalaの開発環境を整える

ざっくりまとめ Coursierの setup コマンドを使うとJDKとScala開発に必要なツールをまとめてインストールできるよ。 最近追加された install コマンド get-coursier.io Coursier といえば sbt v1.3.0 で取り込まれた高速でライブラリ依存を取得するためのOSS…

『軽量開発.scala AmmoniteではじめるScalaスクリプト入門』を書きました

中止となってしまった技術書典8で頒布予定だったこの本ですが、 技術書典 応援祭 BOOTH で販売する運びとなりました。 ScalaのREPLおよびスクリプトの実行環境である、Ammoniteの使い方を解説する本となっております。 Ammoniteを使ったScalaスクリプトの開…

2019年振り返り

去年 nomadblacky.hatenablog.com 今年のテーマは「自己表現」で— blac_k_ey (@blac_k_ey) December 31, 2018 できごと インフラ/アプリケーション監視周りに色々興味を持ち始めて勉強を始めた 『入門監視』を読んだり Datadogを使い始めてみたり OSS活動に…

scaladogでScalaからDatadogにメトリクス・イベントを送信する

この記事は Scala Advent Calendar 2019 および Datadog Advent Calendar 2019 の21日目(遅刻)です。 scaladogとは? github.com scaladog は拙作のScala製 Datadog API のクライアントライブラリです。 HTTPでAPIを直接叩いているため、実行環境にDatadog Ag…

scribejavaでOAuthの認証を行いアクセストークンを取得する

github.com ここに書いてある通り。 この記事ではTwitterを対象にAmmoniteでやります。 依存を追加 執筆時点の最新版を使います @ import $ivy.`com.github.scribejava:scribejava-apis:6.4.1` import $ivy.$ サービスクラスのインスタンスを得る Twitter, Y…

ScalaからAWS CDKを叩いてインフラを構築する

モチベーション 先日、TypeScriptとPython向けに AWS Cloud Development Kit がGAになりました。 aws.amazon.com 現在GAではないのですが、JavaもこのAWS CDKの対象言語となっています。 じゃあ、JavaでできるならScalaでもできるよね?(決まり文句) Scalaで…

Maven Central RepositoryからJarを取得して実行可能なスクリプトに変換する

coursierのCLIでbootstrapを使うとできる 以下は Ammonite をダウンロードしてスクリプト化する例 $ coursier bootstrap com.lihaoyi:ammonite_2.12.8:1.6.6 -M ammonite.Main -o amm --standalone https://repo1.maven.org/maven2/com/lihaoyi/ammonite_2.1…

scalafmtでfor式の `<-` と `=` をAlignする

Scalaコードをフォーマットするのによくscalafmtが用いられると思います。 scalameta.org 自身は仕事/個人開発でよく下記の設定を使っています。(宣伝) github.com sbtプロジェクトのディレクトリ下でちょこっとコマンドを叩くだけでscalafmtの環境が整うの…

ロガーを自分で実装するのはやめよう

最近以下のようなコードと出会いました。 package logging import org.slf4j.LoggerFactory object Logger { private val logger = LoggerFactory.getLogger("LOGGER") def debug(message: String): Unit = { logger.debug(message) } def info(message: Str…

2018年振り返り

できごと 転職した 趣味でScalaを書き始めてからScalaの楽しさに気づいていき、Scalaで仕事をできればいいなと思い始めるようになりました。 前職での仕事で自分とのキャリア感とのギャップを感じて、ある日思い切ってTwitterに「転職したい」とつぶやきまし…

sentry-config v0.4.0 をリリースしました

github.com sentry-config ってなにそれ sentry-javaの設定をtypesafe-configでできるようにするライブラリです。 前回リリースしたv0.3.0の記事 変更点 一通りの設定項目をサポート 公式ドキュメントに記載のない設定項目を含め、sentry-javaが提供する一通…

JupyterNotebook + almondで Scala 環境を構築する

仕事でたまたま、整形の難しいアプリケーションログを追うことになった。 テキストをいじくるとき、自分はAmmoniteをよく利用するのだが、 (これってもしかして、JupyterNotebookが使えるのでは…?) とふと思い立った。 色々調べたところ、almondというもの…

GradleでJavaのコードフォーマット環境を整える

最近GradleでJavaのコードフォーマットの環境を整えたので、その備忘録。 google-java-format-gradle-plugin これが一番楽そうだった github.com build.gradleに依存を追加する plugins { id 'com.github.sherter.google-java-format' version '0.7.1' } フ…

「ロギングにおける十戒」を読んで

たまたま検索に引っかかった記事が面白そうだったので読んでみた感想文。 yakst.com 1. 自分でログを書くべからず printfを使ったり、自分でファイルにログエントリを書き込んだり、あるいはログローテートを手動でやってはいけない。オペレータにお願いして…

typesafe-configでSentryクライアントの設定をできる sentry-config をリリースしました

github.com そもそもSentryってなに sentry.io アプリケーションの例外などのログを溜め込み、集計・可視化を行えるSaaSです。 詳細は割愛。 モチベーション Sentryのクライアント実装こと、 sentry-java は環境変数とシステムプロパティでの設定方法を提供…

Sentryめも

最近Sentryを使い始めたのでメモ。雑。 sentry.io DSN(Data Source Name) の設定 (JVM) ログの吐き出し先。 JVMプロパティなどで設定する java -Dsentry.dsn=https://public:private@host:port/1 -jar app.jar Logbackの設定 build.sbt libraryDependencies …

【転職しました】転職を検討しております

WIP

(無事、転職いたしました) Table of Contents 1. 略歴 2. 主なスキル 3. これから学びたい 4. 最近作ったものなど 5. 以上を踏まえて希望するお仕事 転職を検討しています。Scala、もしくはデータ分析系に関われるお仕事がありましたら、DM頂けると嬉しいで…

【ぽえむ】今週やったこと(10/30~11/5)

Table of Contents 1. 読書 1.1. データサイエンティスト要請読本 登竜門編 2. Trailhead 3. fish-shell 3.1. `hub` コマンドの保管を入れた 4. Emacs 4.1. faceの設定をいじるなど 4.2. org-modeを使い始めた 5. Scala 5.1. enum的なものをScalaで使う方法…

AnsibleでApache Sparkをインストールする(Ubuntu)

まとめ 出来上がったものがこちら(投げやり github.com --- - hosts: localhost vars: HOME_DIR: "{{lookup('env', 'HOME')}}" SPARK_VERSION: "2.2.0" HADOOP_VERSION: "2.7" tasks: - name: Download Apache Spark get_url: url: "http://ftp.tsukuba.wide…