bussorenre Laboratory

hoge piyo foo bar

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 これで雛形を生…

当事者になってわかったこと

ネガキャンするつもりはないんだけど、 確かに、自分が住んでるマンションでAirbnb されると嫌だなって思った。 今はまだ問題が表面化してないけど、いずれ表面化するんだろう。

一度失った心は二度と治らない話

事故で足とか腕とかを失うと、しばらく立てば新しく腕が生えてくる。なんて事はない。一度失った四肢は二度と復活しない。 心もそうで、一度、致命的な損傷を受けると、一生治らない。 例えば虐待とか。いじめとか。DVとか。ネグレクトとか。 例えば足のない…

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

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

サーバーの状態を可視化しよう!その0. 概要

こんばんは。夏!暑い!けどオフィス寒い!社畜なんてやってる場合じゃねええ!@bussorenre です。 さて、仕事で使うサーバーも趣味(minecraft)で使うサーバーも、「もっと楽に状態管理したいなー」って思ったので、例によって今回自分用に記事を書き残しま…

情報に価値がある時代は、いつの間にか終わってた

お久しぶりです。ぶっそれんれです! 大学を無事卒業し、東京に出てきて社畜してます。まだ研修期間なので、非常に丁寧に扱われていますが……… この記事は、東京に出てきて、社会人になって思ったこと、感じた事、そしてこれから大事にしていきたい姿勢を、個…

CentOS 7 困ったこととその解決策まとめ

多分RHEL beta に触れている人とか、エンタープライズのRHELを使っている人はもうすでに知っている情報なのかもしれないけれど。ぼくなりに困ったことと解決した方法なので一応載せておきます。 ifconfig が無い yum install net-tools でインストールする h…

CentOS7 をラップトップに入れた時のメモ

そもそもifconfig コマンドがなかった……( ゚д゚)ポカーン こんばんは。@bussorenre です。なんか最近こんな書き出しが多い気がします。 とあるノートパソコンにCentOS7 をインストールした時に困った事をメモしました。 有線でインターネットに接続出来ない。 冒…

envp - main関数3つ目の引数

昨日の俺 「知らんかった……( ゚д゚)ポカーン」 C言語のmain関数には引数が”3つ”存在する。 大体Cの入門書は int main() とかだし、ちょっと毛が生えてきて、引数を取って挙動を変えましょうとかだと、argc, argv を取るだけだと思うし、sublime TextのCのsnippet…

openFrameworks 自分用まとめ

おはようございます。@bussorenre です。 ちょっと野暮用でopenFrameworksを使うことになり、それについて調べていた次第であります。 openFrameworks とは メディア処理のライブラリを集めたC++ のToolkit OpenGLやrtAudioなどのライブラリのラッパーライブ…

自分用 Swift 暫定まとめ(1)

ついにニュースでも取り上げられるようになった 若者のObjective-C離れ(笑)に対応するかのごとく、出てしまったSwift について、ある程度まとめました。 より詳細なドキュメントはiTunesストアにただで置いてあります。 The Swift Programming LanguageApp…