10月23日(土)発売のWEB+DB PRESS Vol.125で一般記事「新登場!Scala 3クイックツアー」というScala 3の入門記事を執筆しました。今回はこの記事について紹介します。 WEB+DB PRESS Vol.125、どこよりも早い表紙画像です!今号は作って学ぶプログラミング言…
この投稿は、Haskell Advent Calendar 2019 の4日目の記事です。STモナドの仕組みについて書きました。初中級者向けの内容となっています。 はじめに STモナドとは STモナドの型 STモナドの使用例 STモナドで使用されるデータ型と各種関数 Data.STRef newSTR…
はじめに 先日、自宅のMacBook ProのmacOSをクリーンインストールしつつCatalinaにアップデートしました。 まっさらな環境に一から環境構築していくのは楽しい作業ではあるのですが、Haskellの環境に関しては数ヶ月前に試行錯誤の末に構築したこともあり全然…
久々の投稿です。 今回は、最近読んだこちらの本がHaskellの入門書としてとても良かったので紹介したいと思います。 www.manning.com こちらの本は、Manning や Amazon で購入することもできますが、サブスクリプション型の O'Reilly Learning (Safari Books…
先日、Safari Books Onlineの利用を開始したのですが、学びの世界が一気に広がりとても満足しています。今回はこの喜びを表現しようと、Safari Books Onlineについてとか、利用開始に至った経緯、それと、お得な利用方法について書きたいと思います! Safari…
昨年11月にMacBook ProのOSをMojaveにアップグレードしましたが、今回から導入されたダークモードは個人的にかなり好みではあるものの、普段使いするのにとても困った事象に遭遇しました。今回は発生した事象とどう回避したかについて書きたいと思います。 …
「オブジェクトデザイン」という設計技法の本を読みました。 www.shoeisha.co.jp オブジェクトデザインは、2007年9月に出版された本で、残念ながら今は絶版となっています。原著は2002年11月に出版されたこちらですね。 www.informit.com 実は先日たまたま図…
最近、Monix というScalaの非同期プログラミング用ライブラリを使い始めました。 monix.io 最初は、最新安定版である v2.3.3 で色々触ってみて「これは使える!楽しい!」となって、v3.x 系の方はどんな感じかなと思いバージョンを上げてみると、メソッド名…
前回は海外の出版社のセールについて書きました。 shinharad.hateblo.jp 私は早速このセールを利用して、以下の2冊を購入しました。いずれもeBookです。 Refactoring: Improving the Design of Existing Code, 2nd Edition Release It! Second Edition 今回…
毎年恒例ですが、11月下旬から12月末にかけてのこの時期は、海外の出版社が相次いで年間最大規模のセールへ突入するので、洋書の技術書がお得に買えますよ、という話。 普段Safari Books Onlineなどのサブスクリプションサービスを利用していない人にとって…
Scala関西Summit 2018 で公開されたスライドを集めてみました。順不同です。随時更新していきます。 Scalaでのドメインモデリングのやりかた by @j5jk2o さん DatabricksとSparkではじめる [データ分析/機械学習] 実践入門 by @smdmts さん 明日から使える実…
フロントエンドの技術を学ぶのに私がよく利用している The Net Ninja (動画学習サイト)ですが、知りたいことはまず動画で学び、深掘りしたくなったら書籍などで学ぶというスタイルが効率的な学習方法なのかなと最近感じています。 さて、今回はそんな The …
今までHHKBは一台しか持っていなくて、平日は職場で、週末は自宅へ持って帰るという生活が続いていました。 一応、ハードケースDX というHHKB専用のケースで持ち運んでいたのですが、これだと電車で片手が塞がってしまい、本を読むのに邪魔だったんですよね…
Packt Publishing の Mastering Functional Programming を読みました。今回はこの本について書きたいと思います。 www.packtpub.com どんな本か この本はざっと次のような内容が書かれています。ちなみに言語はScalaです。 関数型、命令型プログラミング双…
現在フロントエンドの技術を少しずつキャッチアップしていますが、今回はVanilla JS力を磨くべく The Net Ninja の JavaScript DOM Tutorial をやってみました。 JavaScript DOM Tutorial JavaScript DOM Tutorialは、YouTubeで公開されている学習コースです…
「Effective DevOps ―4本柱による持続可能な組織文化の育て方」という今年3月に出版された本を読みました。 www.oreilly.co.jp DevOpsというと、開発と運用だけの話であるとか、CI/CD自動化とかツールの話に目が行ってしまいがちですが、この本はそうした誤…
最近はプライベートでVue.jsを触ってるんですが、公式ドキュメント を読んだ後に、Vue JS 2 Tutorial という学習コースをやってみたら復習にちょうど良かったので今回はその話。 Vue JS 2 Tutorial は、The Net Ninja というイギリスのオンライン学習サイト…
前回、タスク管理ツールの zube.io の話をしたので、改めてこのツールの紹介と半年間使ってみた感想を書きたいと思います。 zube.io zubeの特徴 zubeは以下のような特徴があります。 GitHubのissueと連動したカンバンによるタスク管理 GitHubの複数リポジト…
はじめに 私が所属する開発チームでは、メインのプログラミング言語としてScalaを使用しています。小規模なチームでScalaが書けるメンバーは数名程度。それぞれのメンバーは、コードを書きながらインフラをやりながら人によってはプロダクトマネジメントもや…
これまで私はサーバーサイドを中心にやってきてフロントエンドの知識がまだまだなので、例えばフロントエンドはVue.jsがメインだけど部分的にどうしてもDOMを触らなければいけないケースでは「じゃあ、ここはjQuery使うの仕方ないな」という思考になっていた…
Packt Publishing が恒例の$10セールをやっていたので、今回はこの辺を購入しました。読んで面白かったら感想をここに書きますね。 Mastering Functional Programming Scala Reactive Programming Vue.js 2 Design Patterns and Best Practices ちなみに、Pa…
今朝、ふとこんなことを思い付きました。 Scalaを採用する企業が昔と比べて増えてきたのでネット系ベンチャー地図みたいなので可視化したら楽しそう。こんな感じで。 https://t.co/ApsMNLxkGf— shinharad (@shinharad) 2018年8月30日 というわけで、ちょっと…
はじめに Packt Publishing の Learning Functional Programming in Go を読みました。 www.packtpub.com この本は、Go で関数型プログラミングをやってみようというなかなかニッチな内容になっています。名前がアレなのでもしかしたら、Functional Programm…
私は HHKB Professional2 Type-S を尊師スタイルで使用していますが、今回はその HHKB の装備について書きたいと思います。(至って普通装備ですが...) キーボードブリッジ キーボードブリッジは、ノートPC本体のキーボードの上に HHKB を乗せて打鍵するた…
恥ずかしい話なんですが、Scala の名前渡しパラメータ (by-name parameter) がメソッドの中でパラメータを参照する度に評価されてしまうことを知りませんでした。つまりこういうことですね。 def f: Int = { println("hello") 0 } def g(v: => Int) = { v + …
Scala で XML を扱う機会ってまだまだあるのかなと思ってます。 例えば、既存システムの WebAPI が XML 形式しか対応してなかった場合とか。そうしたときに、Scala の XML リテラルで直接 XML を書くとか、XML を探索して特定要素の値を抽出するとかだったら…
gibo は、github/gitignore で公開されている内容をもとに .gitignoreファイルを自動生成するツールですが、久しぶりに使ってみたら使い方が微妙に変わっていたので自分メモです。 インストール mac の場合は homebrew でインストールします。 $ brew instal…
Scala の JSONライブラリ circe で、JSON を decode する際にフィールドが欠落していたらデフォルト値に置き換える方法について書きます。結構前からある機能なのでご存知の方も多いかもしれません。 つまり、こういうケースですね。 import io.circe.generi…
今年4月に MacBook Pro(以下「MBP」)の標準キーボードから Happy Hacking Keyboard Professional2 Type-S(以下「HHKB」)へ乗り換えました。独特なキー配列に最初は戸惑いを感じましたがそれは数日で慣れ、今では静電容量無接点方式の心地良い打鍵感で快…
普段感じていることを少しずつ書いていこうと思います。 ブログは確か2010年くらいに一度書いていたことがありました。その当時は、Google App Engine でブログを自作して公開していたんですが、どちらかというと、ブログを書くことよりもブログに色んな機能…