decadence

個人のメモ帳

Scala

2023年にOSS活動した便利機能3選

これは何 便利機能3選 OpenAPITools/openapi-generator: pekko-httpが利用可能に runatlantis/atlantis: terraform import相当の機能追加 krrrr38/quill-finagle-mysql: tagpr+sbi-ci-releaseでのリリース管理 〆 これは何 2023年に自身がOSS活動した中で、…

sbt-ci-releaseとtagprを用いたScala libraryのリリースマネジメント

これは何 OSSとしてGitHubで管理するScala libraryの、リリースマネジメント手法について。 今回、以下の2つのツールを使っている。 GitHub - sbt/sbt-ci-release: sbt plugin to automate Sonatype releases from GitHub Actions GitHub - Songmu/tagpr: au…

finagle-mysql/finagle-redis connection init sql/command stack modules

これは何 finagleに以下のpatchを追加した finagle-mysql: HikariCP にあるconnection-init-sqlの機能 finagle-redis: Connection作成時にすぐに一度だけAUTH, SELECTコマンドを発行する機能 April 2020 Patch Release Notes - Version 20.4.1

Text-to-HTML converter with Halty Syntax

Text-to-HTML converter with Halty Syntax (based on Hatena-Syntax) Scala の parser-combinator で何か作りたくなったから、Haltyなるものを作ってみた。 2.10.x、2.11.x双方に対応。 krrrr38/haltygithub.com

文字列を返すJavaのHttpClientライブラリ

ブラウザなどのHttpClientではGET後に文字列として解釈するために主に以下の2つの方法でcharsetを順に調べる。 ヘッダからcharsetを得る : Content-Type: text/html; charset=utf-8 無い場合には、<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=euc-jp">のようなタグからcharsetを得る HttpClientライブラリが文字</meta>…

Slick 3.0.0の日本語訳ドキュメント

Slick 3.0.0 出ました Slick 3.0.0 released: http://t.co/dj0EtzShSY— Stefan Zeiger (@StefanZeiger) 2015, 4月 29 Slick 3.0を試してみた - 新・たけぞう瀕死の日記みたいな記事もあがってる Slick 日本語訳 (非公式) Slick 3.0.0のドキュメントも翻訳…

温泉シバソン#1

自称若者達が雑に作業したりしなかったりする概念っぽいのがシバソン*1 癒やしを求めて温泉でシバソンするって感じで有馬温泉に行ってきた 温泉シバソン#1 - シバソンブログ 温泉入って、美味しいご飯食べれたし、こういうの作れたし満足 krrrr38/play-autod…

PlayのNettyServer

PlayのNettyに対するアダプターとなるNettyServer、こいつが何をするのかと、ここでリクエストを受け取って処理するとこを見る。 play.api...で行うリクエスト受け取ってレスポンス返すとこは、Qiitaの以下らへんの記事見れば良いと思うので省略。ContentTyp…

Playのsbt-pluginに含まれる様々なtrait

ScalaのWebアプリケーションフレームワークであるPlay2、基板を支えるsbt-pluginに含まれる色々なtraitを見る。なおPlayのPluginとは別物なので注意。 PlayRun, PlaySettingsあたり非常に興味深い。playのsbt設定や、runを実行した時にどのような処理が行わ…

Play2.3のPlugin

Scala + Play framework 2.3 ってとこでアルバイト初めて一月半ぐらい経とうとしてる。 OOSC読んだり、ポスター発表してたりもしたけど落ち着き始めたので、Playの中身ちゃんと知ろうとか考えてる Playで設定を読み込み、リクエストを受け付ける前にする云々…

SecureSocial 3.0 について

tl;dr SecureSocialはPlay版のdevice+omniauthのような認証・認可ライブラリ SecureSocial 3.0 milestone 1が出ている Play 2.3にも使える安定版が...? SecureSocial 2.x と比べてAPIがそこそこ変わって便利 既存のOAuthProviderとは別にはてなのOAuth認証を…

Slick 2.0.0のドキュメント翻訳公開した

表記の通りですが、Slick1.0.0ドキュメント翻訳に続き、Slick2.0.0のドキュメントも翻訳しました。 公開 以下の場所にて、Pamfletで生成したhtmlを公開しています。slick-doc-ja 2.0 云々 Slick 2.0の話 InsertにかかるAutoIncなカラムが勝手に無視されるの…

ScalaNLPでPageRankを計算する

Scalaでも科学計算が頑張れば出来るかもしれないScalaNLPを使ってPageRankを計算してみる 以前はScalalaって名前だったものnumpyとのチートシートもある ちなみにpython分からないから意味が無い.ひとまず今回は小さいサイズでやってみる. リンク構造は以…

ScalaでNaverまとめ画像スクレイピング

最近はNAVER まとめ[情報をデザインする。キュレーションプラットフォーム]のおかげで,画像閲覧も楽しくなってきました.Scalaでscalax.ioやJsoupを使ってます. Build.scalaも置いたのでsbtでほほいと実行してくださいNaverまとめの特定ページから元の画像…

Slick 1.0.0 documentation 日本語訳

Slick使ってますか?というわけでSlick 1.0.0 Documentationを勝手に翻訳した 問題等指摘された場合には,すぐに消します.SlickはTypesafe社によって開発が行われている,Scalaのためのモダンなデータベースラッパーである. データベースにアクセスしなが…

Mallet Data Import in Japanese

日本語の文書をmalletのデータ形式にimportする特に,Mecab(cmecab)を用いて名詞のみを対象としたデータのインポートを行った 英語ならば,公式にあるものをそのまま用いれば良いコマンドラインからでは名詞抽出を行うには別途抽出を行ったファイルを作成し…

Bag-of-words,LDA事始め

日本語テキストからBag-of-words,コーパスを作成する 特に,UCL MLのBag of Words Data Setと同じ形式を出力https://gist.github.com/krrrr38/5082368LDA写経 + なんちゃってScala 元はこちらhttps://gist.github.com/krrrr38/5082403

Slick in Play2.1

Slickを使ってみたドキュメントとSlick ガイド - tototoshiの日記が参考になった基本的な使い方は上記を参考に.以下の点について軽く SlickをPlayで使う 上記ガイドなどから見つけにくかったSlickに関する適当な事 環境 ・Scala 2.10.0 ・Play 2.1.0-RC2 ・…

play!2.0 WSを使ってRSS取得

Play!を使って何か作りたかったので,個人のHPを作成した. 結果はこんな感じ.これはherokuで動いてる. 少しかじったjsを10行ぐらい入れて少しだけ動的にした. 1日で適当にやったわりにはまぁまぁの見た目の物が出来た.さすがBootstrap.特にすごい!と…

Functional Programming Principles in Scala

Functional Programming Principles in Scala気がついたらCertificationが発行されていた. どこにリンクがあったんだろう... リンク : Course Records | Coursera I earned 98.3% in Functional Programming Principles in Scala on @Coursera! URL #progfu…

Play authentication template

Play authentication template Playの中にユーザ認証を行う機能がついたzentasksというScala Sampleがある そこから本当に認証の部分を取り出しただけのもの ついでにAction not found的なエラーのページもGlobal.scalaをいじる事でつけた play_applications…

第1回 関数型言語勉強会に参加した+InverseFizzBuzz

先日の土曜日に,第1回関数型言語勉強会 大阪に参加してきたScala初めてから関数型言語が身近に感じてきたのでちょっと踏み切って参加した. 学生少ない.取りあえず,全然会話せずに終わった. 無料だったし,触れた事の無い関数型言語を知れたのが良かった…

tmux, emacsで作るScala環境

以前に出来なかった環境が完成しました.想像していたものは以下のようで 結果としてこのようになりました. 背景は後日変えよう...本家ターミナルにtmuxで画面分割し,左と右上にEmacs,右下に普通のzshからREPLを呼び出しもちろん補完も出来ます.ここに至…

Tips07 (def/val, pf, call-by-name, 変位, 境界, assert)

自分用のメモ -> Tipsという名の考察とコピペdefとvalの疑問に対しては,twitterで色々紹介して頂きました. 再度,この場を借りて感謝の意を.同時刻に遅延評価について色々言及があって面白そうだった. defとvalは違う >結論 : どちらを使うとか現時点で…

giter8で自分用のtempleteを作った

以前にこんなエントリを書いたのだが,完全にgiter8の事をスルーしていた.非常に便利である.sbtを用いてscalaのコードを書いて実行したりする際に,設定ファイルやら推奨されるディレクトリの構成がある. giter8はテンプレートからローカルに雛形を作成し…

モナドは象だ

「モナドは象だ(Monads are Elephants)」日本語訳 — Japanese Translation of Monads are Elephants v1.0 documentation読み終わりました. JavaからScalaに行った人には比較的分かりやすい説明だったと思います. ちなみに4章でぎり頭爆発.ほとんど抜粋で…

ダイクストラ法

を自分なりに書いてみた疑似コード見ながらコードを書くという習慣が全く無いので,その辺にもちゃんと手をつけていこうと思う. 恐らくこのコードもすごい人から見たらエラー見つけられてしまうようなコード.でも@tailrecを使い,varを出来る限り使わない…

環境について

Scalaを書く環境について考えています. というか完成系はほぼ決まっており,以下のような形になります. 全然まだ初心者だし,REPLでの確認がしたい感じです. Terminal.appとEmacs.appを行き来するのは嫌です.ただ条件としてREPL(scala-inferior)で履歴を…

Tips06 (Scala : itpro)

刺激を求める技術者に捧げるScala講座 - 刺激を求める技術者に捧げるScala講座---目次:ITpro 適当に読み終えたし必要な所だけ取り出したなんか最初の方のコードが変なのは古いからだけじゃない気がする...一応今の時点ではまだjavaにコレクションの操作が加…

予定

刺激を求める技術者に捧げるScala講座 - 刺激を求める技術者に捧げるScala講座---目次:ITproを読み 「モナドは象だ(Monads are Elephants)」日本語訳 — Japanese Translation of Monads are Elephants v1.0 documentationを読み ((プログラミング | 形式) …