bussorenre Laboratory

hoge piyo foo bar

リクルート退職した

こんにちは。はじめまして。そうでない方は大変お世話になっております。 @bussorenre です。 表題の通り、リクルートを退職しました。 2015年に新卒で入社して6年半近く居たことになります。 大企業を辞めたとなると、「なにか悪い理由があるんじゃないだろ…

coordinate compression - 座標圧縮

アルゴリズムの概要 任意の配列の大きさの順序を保ったまま、その値を小さくする(圧縮する) 例えば、以下ののような配列があったとすると、座標圧縮によって のように値が小さくなる。 以下の手順で実現できる。 A を コピーして別のコンテナ(A')に移し…

DONEを定義するのではなくUNDONE を定義する

@bussorenre です。 スクラムで議論が難しい要素の一つに「DONEの定義」というものがあります。 「プロダクトが顧客にリリースされるまでに必要なすべての要素」のうち、スプリント中に完了できるものがDONE、できないものがUNDONE というすごくざっくりした…

心理的安全性を生み出すスクラムマスターのムーブ

@bussorenre です。 ここ二週間くらい、プロジェクトマネジメントとディレクション、開発チームの組織の仕方、運営方法などについて色々回したり考えたりしてました。 心理的安全性とはなにか?を定義する前に、自己組織化されたチームについて説明する必要…

天才ではない自分が「けしからん」ことを面白可笑しくやるにはどうしたら良いか?

こんばんわ。 @bussorenre です。 先日、情熱大陸 #1140「サイバー技術開発集団 統括・登大遊」 が放送されました。 tver.jp 隠れた天才が、ついに多くの人々に知れ渡ることになってしまったわけですが、この人は本当にすごい。頭がおかしい(※天才過ぎて常…

2020年を振り返る

@bussorenre です。今日が仕事納めでした。 個人的にも最後の20代ということで、かなり区切りとなる年だったなと思います。2020年は、世界的にも、自分的にも大変化の年でした。 まず、コロナ。 現在進行系なのでアレコレ言及するのも難しいのですが、確実に…

Certified Scrum Master研修記録 2020.02.06-08

はじめに - CSMの概要 と 受けたきっかけ 2020.02.06 から2020.02.08 から3日間、 https://www.odd-e.jp/ja/service_csm/ の CSM研修 を受けてきました。研修を行っているのは、 odd-e ですが、資格を発行・認定するのは Scrum Aliance という会社です。 私…

人間同士の通信プロトコルを見直し、ユビキタス言語で会話しよう

【Mentor Ver.】TechTrain Advent Calendar 2019 18日目の記事として書いています。 はじめまして。 @bussorenre と申します。主に業務では Scalaを利用してサーバーサイドアプリケーションを書いたり、時々terraform スクリプトを書いたりしてAWSでインフラ…

Google Chrome で「サードパーティーCookieが無効になっています」と表示され、はてなブログにログインできなくなる問題とその対応

対処方法 アドレスバーに chrome://flags/ と入力して、試験運用版の機能をオンにしたりオフにする必要があります。 その中の「SameSite by default cookies」を「Disable」にする必要があります。 (変更後は、再起動する必要があります) どうして SameSit…

Scala で Functor っぽいものを実際に実装して挙動を追ってみる

こんにちは。 @bussorenre です。今日はScala です。 定型句となって恐縮ですが、「ここは表現がおかしい」とか「間違ってる」とか「もっとこうしたほうがいい」等ありましたら、Twitter で罵倒する前にコメントをいただけると凄く助かります。。。 はじめに…

TypeScript で Option っぽいものを作ってみる

こんばんは。 @bussorenre です。趣味でTypeScript をはじめました。 Option っぽいもの Scala には、値が無いことを許容する仕組みとして Option という仕組みがあります。Some(A) は値がある状態。 None は値がない状態を示します。 中の値を取り出すには…

ISUCON9 に参加し惨敗しました

お久しぶりです。 @bussorenre です。 前々から存在は知っていたものの、なかなかプライベートの予定が合わず参加出来なかったISUCON にようやく初参加出来ました!! 結果は、最終スコア2910 (初期スコア 2100くらい)で、まぁものの見事に惨敗です やった…

tmux 2.9 にバージョンアップしたときのconf の変更等

普段使っているMac の brew を更新し、いくつかのパッケージを最新にしたら、tmux から以下のような警告が出るようになった。 .tmux.conf:65: invalid option: status-attr .tmux.conf:68: invalid option: window-status-fg .tmux.conf:69: invalid option:…

個人の思考の整理に良いと思い、再び Scrapbox を使い始めた

「この記事は個人の見解であり、所属する組織の公式見解ではありません」 最近、個人でScrapbox を使うようになったので、僕もユースケースを紹介します。 Scrapbox の特徴としては、 リアルタイムでの複数人編集 タグ付けによるリンクの自動生成 独自記法に…

コンテキストスイッチに立ち向かう - 複数案件を抱える中で生産性を高めるために

この記事はRecruit Engineers Advent Calendar 2018 の1日目の記事です。 2日目は→ Go言語を使って一年間が経った こんばんは。 @bussorenre です。初日からアドベントカレンダー脱稿なんて事にならずにホッとしています。(大汗 この記事は半年ほど前に書い…

Scala における末尾再帰

背景 S-99: Ninety-Nine Scala Problems 等の例題を説いていると、よく再帰による実装を見かけます。 確かに、 Scala関数型デザイン&プログラミング―Scalazコントリビューターによる関数型徹底ガイド | Paul Chiusano, Rúnar Bjarnason, 株式会社クイープ | …

Scala におけるパターンマッチ

今日もScala。明日もScala。明後日もScala // Scala におけるパターンマッチ <セレクター式> match { case 選択肢1 case 選択肢2 ...... } 上から順番に与えられた選択肢を評価し、最初にマッチしたもののみを実行する。break 文などは特に不要。 例1, Optio…

Scala におけるList の操作

Programming in Scala 第三版16章 リストの操作 言語によっても仕様が異なり混乱しやすいリスト。 Scala における 配列とリストの違いは リストはイミュータブルオブジェクトで、リストの要素は代入によって置き換えられない 内部的にはLinked List 配列と同…

Scala を書く時に他言語と混乱しないための文法備忘

Scala 初めてまだ数日勢。毎日ずっと書いていないと、元々書いていた他の言語に邪魔されて思考が途切れてしまう。 特にSwift と混合しやすい。次点で Go, javascript と混合してしまいやすい。 苦しんで自分にscala を叩き込む 宣言 val, var を使う。 val h…

Intelli J Idea でScalaを書く環境を整えてく(自分用)

業務用ということで、会社から Inteli J Idea を支給してもらった。この機会にぜひとも乗りこなしたい。 Emacs バインドをある程度使えるようにする Emacs使いのための IntelliJ IDEAキーマップ チートシート を参考にする。 Emacs+ Patched というプラグイ…

Scala における Unit型と副作用

C系とか Java 系みたいな、手続き型には無い(無くはないけどそんなに重要視されていない)概念に 作用と副作用がある。 関数型言語では、プログラムは値を返す存在とみなされる。 Programming in Scala においては 3.5 あたりに まずは、val、イミュータブ…

Hello world in Scala

どんな事もまずは世界に挨拶することから始まる。 Scala で 雑に Hello World を書くとこうなる。 object HelloWorld { def main(args: Array[String]): Unit = { println("Hello, Scala world!") } } 基本的にScala は Java class コードに変換されるので、…

(雑談) Scala はじめました

夏の暑い時期に冷やし中華を始めるラーメン屋の如く、私もScala をはじめました。 最低限の知識だけで、可能な限りJVMの世界を避けてきたのですが、ついに通らずにはいられなくなったのですが、幸い 素のJava6 とかじゃなくて、scala の世界で戦えるのでそれ…

Rails の開発環境をDocker で構築してて、Rails s は出来るのにRails cとかr が出来ない問題に遭遇した

未だに根本原因は解決していない。 ruby 2.5.1 bundler 1.6.2, 1.6.3 rails 5.1.0 blog.freedom-man.com 解決策としては、この解決策でなんとかなったのだが、 Rails server は動いて、Rails console は動かないというのは、非常に不思議。 Rails server と …

windows subsystem for Linux で 困ったこととその解決法

「この記事は個人の見解であり、所属する組織の公式見解ではありません」 5月8日、4月には結局間に合わなかった Windows 10 Redstone 4 のアップデートが配信されました。Redstone におけるメジャーバージョンアップは従来のService Pack 並の大きな変更です…

コンテキストスイッチにどうやって立ち向かうか

「この記事は個人の見解であり、所属する組織の公式見解ではありません」 またこいつは炎上しそうな記事を書いて……と自分で思いましたが、真剣に悩んでいるので人の目に触れる所に置いて意見を貰うことにしました。 本来、コンテキストスイッチとはCPUが複数…

どうしてwebフレームワークに苦手意識を感じるのか

創作物(ドラマやアニメ)において、「この物語はフィクションです。登場する人物・団体・名称等は架空であり、実在のものとは関係ありません。」という注意書きが必ず記載されるのと同様に、個人ブログにおいても、必ず「この記事は個人の見解であり、所属…

kotlin を始める

最近、Android 界隈でKotlin という言語が流行ってるらしい。というくらいには老害になってきたのであるが、とにかくkotlin を始める。 Android で正式に採用されたらしい。という情報だけだったら多分さわりもしなかったんだけど、どうやらこいつは、JVM 上…

Gem を作る

今更ながらRuby について真剣にやり直そうと思う。理由はまぁ色々有るのだけど。。。どうもRuby は苦手だ。 さて、gem を作る。今までとりあえずgem install していたけど、gem ってそもそもどうなっているんだろうか?? bundle gem gemname これで雛形を生…

サーバーを可視化しよう!その1. cacti

@bussorenre です。 この記事ではcacti にトライした時のメモを残していきます。OS はCent OS 6.6 です。実際に試した環境はsakura VPS 2G プランのインスタンス上です。 また、「私の勝手な主観」が入る事が多いので、「そこは違うで」って指摘していただけ…