Magnolia Tech

いつもコードのことばかり考えている人のために。

参加者からみた吉祥寺.pmの魅力について

さっき、ひょっとして吉祥寺.pmの魅力を一番理解してないのは自分なんじゃないかって話をしたというわけで皆様から「ここがいいよね!吉祥寺.pm」を募集しますはい、引用ツイートでみんな語ってください!#kichijojipm— magnoliak (@magnolia_k_) 2019年2月5…

そーだいさんの「失敗から学ぶRDBの正しい歩き方」という本が出版されるそうです

いつも吉祥寺.pmに来て頂いている、そーだいさんが「失敗から学ぶRDBの正しい歩き方」という本を書かれたそうです。 いつもDBの発表を楽しみにしている勢としてはさっそく注文しました。 失敗から学ぶRDBの正しい歩き方作者: 曽根壮大出版社/メーカー: 技術…

技術書のタイトルを人生で置き換える

「リファクタリング 人生」「レガシー人生改善ガイド」「モダン人生」— magnoliak (@magnolia_k_) 2019年1月30日 技術書のタイトルを「人生」で置き換えると、なんとも言えない感じになることが分かった— magnoliak (@magnolia_k_) 2019年1月30日 というツイ…

技術書の原著と和訳を両方揃えて読むという英語の勉強法

この方法、Learning Perlでずっとやってた凄い有効なのでおススメですねLearning...ってタイトルについてると、英語自体も平易な表現だし、単語数も制限されてて凄く読みやすいのでおススメですでもそのまま調子に乗ってミステリーを読もうとしたら語彙力な…

YAPC::Tokyo 2019でコアスタッフとして、前夜祭LTソンと、本編オープニングをやってきた

YAPC::Tokyo 2019のロゴ YAPC::Asia 2015のLTで、当時丁度「吉祥寺.pm」を始めたタイミングだったのと、YAPC::Asia最後の年ということもあり、「好きなイベントが終わるなら自分でイベントをやればいいんだ」という、まったくプレゼンとして何も成立していな…

ajitofmに出演した

ajito.fm 憧れのpodcastデビュー! 最初、もの凄い緊張してて全然喋れなかった。 色々話そうと思ったけど、あっという間の1時間でおそらく半分も喋れていない印象 もっと設計ナイトで喋ったようなことを喋ろうと思ったのに… とはいえ、最後にYAPC::Tokyo 201…

ただの飲み会でもshow noteを書くと良いな、と思った

Podcastを聴いている方だったら分かると思うんですけど、たいていのPodcastでは参加する人が事前にshow noteというものが用意されています。 例えば、ajitofmというPodcastのshow noteは以下のリンク先にあるように、箇条書きで用意されています。 ajito.fm …

「Java本格入門」を買ってきた

丁寧な言語入門書はたくさんあるけど、ちゃんと言語機能を学べる人向けに、モダンな書き方や、ツールチェーンをざっと説明してくれる書籍って貴重。「Java本格入門」は、例えばScalaを書くためにざっとJavaの機能を知りたい、なんて人に丁度良いのでは?と思…

2018年版・この処理Scalaでどう書く?…前半戦

ふと、この記事にあるようなこと、Scalaだったらどう書くかな?と思ってまとめてみました。途中で力尽きたので、まずは前半戦まで! www.m3tech.blog あの処理、Scalaでどう書く? 基本的にScalaの標準ライブラリでやる方法を紹介し、Javaの標準ライブラリを…

「いかにして問題をとくか」を読んでみよう

いかにして問題をとくか作者: G.ポリア,G. Polya,柿内賢信出版社/メーカー: 丸善発売日: 1975/04/01メディア: 単行本購入: 94人 クリック: 1,656回この商品を含むブログ (155件) を見る 先日の設計Night 2018で発表したスライドの冒頭で「いかにして問題をと…

「UMLモデリングのエッセンス」を読み直した

UML モデリングのエッセンス 第3版 (Object Oriented SELECTION)作者: マーチン・ファウラー,羽生田栄一出版社/メーカー: 翔泳社発売日: 2005/06/16メディア: 大型本購入: 8人 クリック: 254回この商品を含むブログ (93件) を見る マーチン・ファウラーと言…

「設計Night2018 powered by Classi」で登壇してきました

「設計Night2018 powered by Classi」というイベントで、「設計のための、問題の捉え方〜ドメイン知識の暗黙知を形式知に〜」というタイトルで発表しました。 実際に発表したスライドは読み物として冗長過ぎたので、圧縮したまとめ版を作っていて、そちらへ…

Scalafmtのコメントスタイルについて調べた

こんな事を教えていただきました。 docstringsだけじゃないですかねhttps://t.co/IM7z1EXueaアスタリスクの位置が変わるだけですが。あと公式のガイドが書き換わったのでhttps://t.co/MuYzP873DGScalaDocの形式はもはやScalaDocではない(!)というややこしい…

ScalateのScala 2.13.0非互換への対応を考える

Scala、Perl、Ruby、DDD、OOP等質問お待ちしております https://t.co/xNguWzLMOP— magnoliak (@magnolia_k_) 2018年9月26日 スキルアップのためには、知らないこと、分からないことへチャレンジした方がいいですね。例えば、すぐに答えられそうか分からない…

「ドメイン駆動設計」を読んだ〜第1章 知識をかみ砕く〜

引き続き「ドメイン駆動設計」を読み進めました。 「第1章 知識をかみ砕く」には、ドメインエキスパートと、開発者の会話を通じてモデルを作り上げていく様子から始まります。 モデルを書いて可視化すること 繰り返し相互のフィードバックでモデルを成長させ…

「ドメイン駆動設計」を読んだ〜第一部 ドメインモデルを機能させる〜

「ドメイン」を辞書で調べると以下のような意味が書かれています。 (活動・関心・知識などの)分野, 領域, 範囲. 「ドメイン駆動設計」の冒頭、「第一部 ドメインモデルを機能させる」を読んで以下のように理解しました。 ドメインは、関心の領域 モデルは、自…

RT-AC86Uを買った

ASUS ゲーミングWi-Fi無線ルーターRT-AC86U 11ac 2,167+750Mbps 接続18台/3階建・4LDK 【 PS4/Wii U/iPhone対応】出版社/メーカー: Asustek発売日: 2017/11/24メディア: Personal Computersこの商品を含むブログを見る 特にゲーミングルータが必要なシビアな…

ScalaのmapValuesの挙動が2.13.0から変わっているので実装を調べてみた

scalaのmapValuesは、Mapのvalueだけにmapを適用したい時に使用するメソッドです(Mapとmapでちょっと分かりづらいですが)。 Scala 2.12.6で実行すると、以下のような結果になります。 scala> val characters = Map("Gandalf" -> "wizard", "Aragorn" -> "ran…

小さなPRを書いてOSS開発に貢献する

OSS開発に参加してみたいですよね!(断定) でもどこから手をつけて良いか分からないことも多いですね。 そこでScalaのjson4sというライブラリをベースに、小さなPRを書いて、送るまでの流れを書いてみました。 参考にしてみて下さい。 今回は非推奨になったメ…

「Scala関数型デザイン&プログラミング」のexerciseを解き進めるための環境準備

吉祥寺.pmのブログに掲載していた「Scala関数型デザイン&プログラミング」のexerciseを解く時の環境構築について、少し修正してこちらに載せ直しました。イベントブログにだけ載っているのも、もったいないな、と思って再掲。 環境構築 JDK(Java Developmen…

Scalatra-Jsonがレスポンスを返す仕組み

前回のエントリで、Scalatraがレスポンスを返す仕組みについて紹介しました。Any型で返すのは型安全的にどうなの?という気持ちも有り、いつの日か変えたいという気持ちですが(Scalatra 3.0?)、現状はそんな仕組みになっています。 blog.magnolia.tech Scala…

Scalatraがレスポンスを返す仕組み

Scalatra-JSONがレスポンスを返す仕組みについて書こうとしたら、その前にそもそもScalatraがレスポンスを返す仕組みを解説しないと分かりづらいな、と思ったので、まとめます。 Scalatraがレスポンスを返す仕組み Scalatraでは、下記のようにgetやpostとい…

Surface Precision Mouseを買った

Surface Precision Mouse出版社/メーカー: マイクロソフト発売日: 2018/03/01メディア: エレクトロニクスこの商品を含むブログを見る 長年使っていたMagic Mouseが使っている最中に頻繁に接続が切れてしまうようになったので、ずっと気になっていた「Surface…

Effective DevOpsを読んだ

買ったはいいけど、なかなか読む時間が取れなかった「Effective DevOps」を読み始めた。 一言でまとめれば、以下のツイートで全部かな。 Effective DevOps、いくら読み進めても、どんな開発組織でも普遍的に問題になりそうな所をどうやって乗り越えていくか…

GraphQLナイトへ参加してきた

たまたま「GraphQL」について調べていたタイミングで開催が決定したのと、最近すっかりpmイベント以外に参加できていないことも有って参加してきた。 connpass.com GraphQL自体の入門、ScalaやRubyでのライブラリなどの紹介など、丁度知りたいレベル感と合っ…

java.net.URLConnectionのguessContentTypeFromNameが使うMIME Type設定は実行時に変更することはできない

java.net.URLConnectionのguessContentTypeFromNameは、content.types.user.tableというシステムプロパティで定義された内容で任意のMIME typeを推測できるようになります。 公式ドキュメントにも書かれています。 URLConnection (Java Platform SE 8) では…

java.net.URLConnection.guessContentTypeFromNameが使うデフォルトのcontent-types.propertiesがJava9から変わった

java.net.URLConnection.guessContentTypeFromNameはファイルの拡張子からMIME Typeを特定するメソッドです。このメソッドはJava8以前ではデフォルトで、$JAVA_HOME/lib/content-types.propertiesを参照していました。 しかし、Java9以降では、$JAVA_HOME/li…

Javaでファイルの内容からMIME Typeを推測する方法

前回のエントリの続きです。 blog.magnolia.tech 前回はファイル名から…つまり拡張子をもとにMIME Typeを特定する方法を紹介しましたが、今回はファイルの内容からMIME Typeを推測する方法です。 Files.probeContentType 前回も紹介した下記のブログエントリ…

ファイル名からMIME Typeを教えてくれるJavaのライブラリ

ScalatraのMIME Type関係の機能が盛大に壊れている訳ですが、じゃあそれを直すためにMIME Typeを教えてくれるライブラリについて調べてみました。標準ライブラリだけでもいくつか方法が有りますね。 Files.probeContentType Java7から導入されたFiles.probeC…

Scalatra-JSONの使い方

ScalatraのJSONサポート ScalatraにはJSONのサポートが用意されていていて、JSONのリクエストやレスポンスにまつわる種々の機能を提供してくれます。 一応公式ドキュメントにはざっと使い方が説明されていますが、ちょっと端折り過ぎ感が有るのと、内部構造…