証券Fintechに入ったエンジニアが証券ドメインの業界知識を身に着けたいと思って読んだ本

これは何 証券Fintechに入るぞ・入ったぞ!という人がドメインについて学べるような本・ページを集めてみました。 会社特有の業務知識ではなく業界で広く使える知識を学べる物を集めようとしていますが、筆者の守備範囲依存による分野の偏りは否めません。 …

aws s3でオブジェクトkeyの先頭にスラッシュ(/)をつけるとどうなるか?

これはなに s3はbucketとkeyの組み合わせでオブジェクトを保存している このbucketとkeyを s3://$bucket/$key のように組み合わせると S3URIとなる keyの先頭のslashがついているとき、aws cliを含む一部のツールでは 先頭のslashを削除する場合がある。 こ…

sbt-native-packagerでパッケージングしたアプリケーションのJVMオプションに-Jをつけるべきかどうか

普通に自分が分かってなかったのでメモシリーズ これはなに -Xmx オプションを指定する際に -J をつけている。 -Dfoo.barなどのプロパティ指定にはつけたりつけなかったりしている いつ -J をつけて、いつつけなくてよいのか、 -J の意味などをまとめる。 -J…

Error downloading org.scalameta:semanticdb-scalac_2.13.7:4.4.28 や scalafix-test-kit_2.12.13:0.9.29 と言われたら

この記事について scalafixに依存しているプロジェクトでscalaのバージョンを上げるとタイトルのエラーが出る場合があるので原因などを整理したもの ちょっと前のメモ書きをブログ化してるので各種バージョンは古いです 各エラーについて エラー1: Error dow…

BiTemporal Data Model導入時の注意点

これはなに BiTemporal Data Modelはこういうことができるよ!という内容ではなく、導入時の注意点やちょっとしたつまづきポイントなどをまとめたもの 背景 BiTemporal Data Modelについて、すでに何社かでは導入事例もあるようで*1、たまに BiTemporal Data…

AWS SDK javaのパッケージとv1, v2の共存について

死ぬほど今更ですがAWS SDK javaについて自分のほしい情報を早引きしたかったのでまとめ。 v1とv2のgroupid・パッケージの違い v1,v2はgroupidやパッケージが異なっているがどちらがv2なのかそこまで自明ではないので以下にまとめる。 以下のマッピングにな…

FOLIOでのrefined活用法 - ドメインを型で形式知化し、契約を型で表すことで認知漏れを防ぐ

FOLIOアドベントカレンダー2021 12日目です。 FOLIOではrefinedというライブラリを採用しているので、活用事例とその目的について考えていこうと思います。 お品書きは以下です。 refinedとは ドメイン知識の形式知化 契約を型で表すことによる認知漏れリス…

MySQLでのVARCHARサイズ変更を行うALTER TABLEについて

これは何 MySQLにはVARCHARの文字数を拡張するDDLをオンラインで行うための最適化が存在する。 一方でこの最適化は内部のバイナリ表現に依存した限定的な最適化であり、意図せずオフラインDDLとして実行される可能性がある。 本ページではこの最適化の仕組み…

refinedでPosInt + PosInt を PosIntにしたい

結論 オーバーフローしたら条件満たさないから無理 結論以外 refined はScalaでrefinement typeを表現するためのライブラリです。 このライブラリの中に「1以上のInt」を表すPosIntという型があるのですが、refinedは PosInt + PosInt = PosIntといった推論…

MySQLでカラム追加などのalter table中にクエリがブロックされるかなどについてのメモ

これは何 MySQLのカラム追加などのDDL, alter table時にそれぞれの操作がどれくらい危険なのか、負荷は?といった情報の見方を毎回忘れるのでメモしたもの Alter Tableの性能特性についての公式ドキュメントの見方 MySQL :: MySQL 5.7 Reference Manual :: 1…

Places: Adding Message-Passing Parallelism to Racket を読んだ

はじめに ruby3で導入されるRactorという機構があり、そこの提案の中で This model is similar to Racket's Place abstraction. という記載があったのでRacketのPlaceを探してみると、Place自体はRacketの公式ドキュメント に記述を見つけることができました…

ぼんくらITエンジニアでもYouTubeとスタサプでTOEIC 900点突破できたので勉強法をまとめていく

2020/2にbefore 600点台(正確な値は紛失)から始めて2020/9に目標(900点以上)を達成しました₍₍ (ง´・_・`)ว ⁾⁾ うれC ₍₍ (ง´・_・`)ว ⁾⁾ ₍₍ (ง´・_・`)ว ⁾⁾ ₍₍ (ง´・_・`)ว ⁾⁾ pic.twitter.com/pKDX2mPmW6— まっちゃら (@matsu_chara) 2020年9月28日 英語学習は最初…

Inside Fintech Meetup ~ Finatext × Kyash × FOLIO ~で発表しました

speakerdeck.com Inside Fintech Meetup ~ Finatext × Kyash × FOLIO ~ - connpass という勉強会で発表しました。 ここ1年弱くらいずっとやってたので話すネタはいくつかあったんですが、Scala的な部分は趣旨じゃなさそうだしロボアドの仕組みを説明して…

pdfを翻訳機に書けやすくするchrome拡張を作った

FOLIO Advent Calendar 2019 - Qiita 13日目の代打です。 chrome拡張を作った pdfを翻訳機に書けやすくするchrome拡張を作りました。 GitHub - matsu-chara/pdf-translate-replacer 需要あるのかわかりませんがwebstoreにも公開しました*1 chrome.google.com…

ScaleCheck: A Single-Machine Approach for Discovering Scalability Bugs in Large Distributed Systemsを読んだ

FOLIO Advent Calendar 2019 - Qiita 18日目です。 前日は krrrrさんの RustでもServer::Starterでhot deployをする - decadence でした。 毎年この時期にしかFASTを読めていない まっちゃら (@matsu_chara) | Twitterです(´・_・`) 今回はFAST '19からScaleCh…

作ってそこそこ便利だったボットとかまとめ

FOLIO Advent Calendar 2019 - Qiita 10日目代打です。 9日目はlotzさんの 挿入ソートと選択ソートは双対 - Qiitaでした。 recursion schemesの応用って融合変換くらいしか知らなかったんですが身近なアルゴリズムの性質を表現できるのは面白いですね。 自分…

PFDS(純粋関数型データ構造)を読んだ

手を動かしたい気分だったのでだいぶ後回しになっていたPFDS (Purely Functional Data Structure, 純粋関数型データ構造)を読みながらScalaで実装を後追いしてみた。*1 少し時間がかかったがRedBlackTreeやTrieといった有名な物から、HoodMelvilleQueueやそ…

Rosie Pattern Languageに入門(3)

正直第2回で終わる予定だったんですが Rosie Pattern Languageに入門(2) - だいたいよくわからないブログ の続きです。 前回サンプルファイルのsemverをパースしてみたりしたと思うんですが、そんなにしっくり行く例でもないなと感じていたり、 かといっ…

Rosie Pattern Languageに入門(2)

Rosie Pattern Languageに入門(1) - だいたいよくわからないブログ 前回の続きです。 前回までだと、semverやらurlなどを取り出せて便利なツールといった印象でしたが、 その真の価値は簡単にパターンを記述できる点にあります。 パターン定義 Rosieでは…

Rosie Pattern Languageに入門(1)

Rosie Pattern Languageを触ってみたのでメモを残します。 なおversion 1.1.0の情報なので詳細・更新後の情報は Rosie Pattern Language / Rosie · GitLab を御覧ください。 Rosie Pattern Languageとは RosieはPEG(Parsing Expression Grammars)を使ってパ…

amazoncorreto, openjdkの各バージョンをdocker container上で走らせた場合のCPU数, メモリーを確認した

Java 8でも安心。Dockerに対するCPU・メモリ対応。(2018年11月現在) - Mitsuyuki.Shiiba で紹介されているように8u191以降であれば、 コンテナでJVMを動かしたときのメモリ・CPU数に関する問題は解消されているはず。 openjdkにパッチが入っていれば基本的…

1on1と信頼残高

最近思ったことを書いておく備忘録的なものです。 特に1on1経験が豊富なわけではなく、むしろ経験が浅いので、何を学びながら進めばいいのやらという段階でのものです。 1on1と困りごと 1on1に何を求めるのか?というのはベースになる考え方はありつつも、個…

Replicated State Machinesでのストレージ故障からのリカバリー

FOLIOアドベントカレンダー2018 17日目です。 昨日はyasuharu519さんのDocker stop 時に別のコマンドを実行して Graceful shutdown を実現するでした。 NewSQLを調べつつ最近はストレージ周りにも手を出してみたいバックエンドエンジニアの @matsu_chara で…

オンプレconfluenceのURLをクラウドconfluenceのURLに変換するスクリプト

on-premisesなconfluenceからcloudに移行するとき、マイグレーションツールによってリンク等がある程度自動で引き継がれます。 が、ソースコードのコメントなどconfluence以外の場所に書かれたコンフルURLについては(もちろん)変換対象外なので旧コンフルU…

ペアプロとフロー効率

世の中に大量にペアプロ記事があるのに新たに追加してしまうシリーズ。 自分の考えのまとめ置き場が欲しかったんだ(´;ω;`) 背景 ペアプロのメリットについて、詳しい人からの知識移転ができる。先輩から後輩へのスキル移転ができてチームが成長するといっ…

見積もりについて勉強したことを色々スライドにしてみた

見積もりについて思ってることとかをまとめてみました。 マネージメントの実戦経験というよりソフトウェア開発手法について学んだ結果のアウトプットみたいなノリでみていただければ幸いです。 社内勉強会で話したので会社のスライド使ってますが、会社が今…

magnoliaで素振り

magnoliaは型クラスのインスタンス自動導出のためのscalaライブラリです。 GitHub - propensive/magnolia: A better generic macro for Scala 既にscalaz-magnoliaやscalacheck-magnolia などがリリースされています。 公式チュートリアルもしっかりとあり、…

HackerTackle2018でPonyの発表をしてきました

HACKER TACKLE というイベントでPonyについて発表してきました。 Ponylangとこれからの並行プログラミング from matsu_chara Matsubayashi www.slideshare.net タイトルの主張がやや強めになってしまった感がありますが、僕としてはPony自体というよりPonyが…

consulの情報を取得するslack bot

consul公式のgo clientを見たらわりかし簡単にたたけそうだったのでノリで作りました。 GitHub - matsu-chara/conbot: consul reader slack bot 特にbot側では対応していないけど環境変数とかを与えるとauthとかhttpsとかやってくれるので楽。 https://githu…

Jenkins Groovy ScriptでThrottle Concurrent Builds Pluginのカテゴリーを設定する

ジョブ設定が自動化されててもjenkins設定自体が自動化されてないと意味がない!ということでちょっと自動化してみました。 対象 今回の対象は Throttle Concurrent Builds Plugin - Jenkins - Jenkins Wiki 用のシステム設定で、以下のように表示される部分…