ポートフォリオサイトをGatsbyJSでリニューアルしました

元号が変わり令和を迎えた昨今、皆様いかがお過ごしでしょうか。

自分は「ゴールデンウィークもう半分過ぎたの? 早すぎるのでは???」という気持ちでいっぱいです。

連休始まってから、まだ3日くらいしか経ってない気がする……

📋 ポートフォリオサイト

ゴールデンウィークに目標としていたことのひとつに「ポートフォリオサイトをリニューアルする」というのがありました。

実はブログの他にポートフォリオサイトも作ってあったんですが、こいつも以前のブログと同じくWordPressで作っていたので、いい加減なんとかしようと思ったわけです。

ブログと比べてコンテンツが少なく移行が簡単そうだったのと、タイルデザインでSPAっぽかったのでGatsbyJSを使って作り直すことにしました。

そんなわけでこんな見た目のサイトになりました。

portfolio.png (3.1 MB)

記事の管理はNetlify CMSからできるようにしています。

16a734eaca8b66b9944b4286.png (474.0 kB)

こんな感じで記事が一覧できるし、

16a734f010b85cbee38f8cec.png (152.9 kB)

こんな感じで記事を作ったり手直ししたりできます。便利!

実際に手を動かしたのは昨日と今日の2日間くらいなので、割とさっくり作れたんじゃないかなーと思います。

Continue reading

ブログをHugo+Netlifyに載せ替えました

このブログはConoHa VPS上に載せたWordPressで動かしていたんですが、こまめにバージョン上げるのも大変だし、書くためにダッシュボードにいくのもめんどいし…… ということで、静的サイトジェネレータに載せ替えることにしました。

移行した構成は以下のような感じです。

current.png (48.9 kB)

という感じにしました。

これにより、過去記事は同じURLに残したまま、今後はesa.ioの特定カテゴリ以下に記事を作るだけでブログが更新できます。

便利ー。

まぁ例によって色々引っかかったり諦めたこともあるので、そのへんをぼちぼちと書いていきます。

Continue reading

Google Homeからつらいときに挙げる札を挙げる

この記事はMisoca Advent Calendar 2017の10日目です。
昨日の記事は@toyoshi開発以外の仕事でやってるちょっとした自動化の紹介でした。

今日はもともと時報ボットについて書くつもりだったんですが、急にGoogle Home半額セールが来た結果、いろいろ遊んだのでそっちに変えました。

先に結論から話すと、このツイートが全てです。

Continue reading

tipmonaで投げ銭するボタンを作った

@hyukiさんが@tipmonaで簡単に投げ銭するためのブックマークレットを作っていたので、試しに使って遊んでみました。

Continue reading

型安全性とは結局何なのか

この記事は 第2のドワンゴ Advent Calendar 2016 の8日目です。
日付を跨いでいる? またまたご冗談を、DST(ドワンゴスタンダードタイム)ではまだ8日ですよ。

ちなみに前日は…なんと誰も参加登録をしていませんでした!
結構な勢いで埋まってたんですけど、唯一の空きですね。
前々日はdaneko0123さんでした。

一昨年のアドベントカレンダー記事が「関数型プログラミングとは結局何なのか」、去年の記事が「オブジェクト指向プログラミングとは結局なんなのか」ということで、3年目ともなると記事の方向性が固まりつつある雰囲気が漂いつつ、ネタ切れの空気も漂いつつあります。
そもそも去年の時点で既にドワンゴ社員ではないのにアドベントカレンダーには参加し続けている、というのもアレな話ですが。

なにを書くか考えたのですが、最近null安全に関する記事が話題になり、その中で「型」と「安全性」という2つのトピックについて知られていない部分が多そうだと思ったので、プログラムで扱われる「型」とは何か、型が保証する「安全性」とは何か、についてまとめてみたいと思います。

Continue reading

プログラマ向けの脱出ゲームを作った話

最近、リアル脱出ゲームにハマっています。
知らない人向けにSCRAPのリアル脱出ゲームサイトから引用すると、

ある部屋にあなたは突然閉じ込められる。周りには同じ境遇の人たちがたくさんいる。
部屋にはさまざまなアイテム、暗号、パズルが隠されているようだ。
暗号を解き、鍵を開き、箱を開け、制限時間内に最後の鍵を手に入れることができれば
あなたは脱出に成功する。

といったゲームです。
ただし、謎の難易度はすこぶる高く、脱出率は1桁パーセントというレベル。
SCRAPの公演でも、

ただし、子供だましの簡単な謎ではありません。名探偵気取りでお越し下さい。

と書かれるのがお約束になっています。
実際やってみるとわかるんですが、パズルだけではなくひらめきの必要な謎も多く、解けなかったときのはがゆさと、解けたときの達成感がやみつきになるゲームです。

さて、実はプログラマ向けの脱出ゲーム「コードルームからの脱出」が、SCRAPとCodeIQのコラボで以前に実施されていました。
自分はプレ問題だけプレイして本番には参加しそびれたのですが、解説を見ると脱出ゲームの雰囲気を感じてもらえるかと思います。

こういうゲーム、もっと色々あってもいいと思うんですが、ざっと探した限りではあまり数を見つけられませんでした。
個人的な印象ですが、こういうゲームが好きなプログラマは多そうな気がしますし、プログラマならではの謎みたいな面白いものも作れそうなので、もっと流行ってもいいんじゃないかなーと思います。

というわけで、作ってみました。

escape_from_the_repository

タイトルは、「あるリポジトリからの脱出」。
タイトルから想像がつくかもしれませんが、gitを使った脱出ゲームです。

Continue reading

オブジェクト指向プログラミングとは結局なんなのか

この記事は第2のドワンゴ Advent Calendar 2015の5日目です。
ちなみに前日は@deflisさんでした。
先日の記事で分かる通りドワンゴ社員()なのですが、まぁ@mesoさんが「厳格な管理とかめんどくさいので、元社員も参加すればいいんじゃないかな。」とか言ってるしお目こぼし頂きたく…

去年のアドベントカレンダー記事は「関数型プログラミングとは結局なんなのか」というタイトルで、関数型プログラミングという語が何を指していて何を指していないのか、みたいなことをなるべく平易にまとめました。
なので今年は「オブジェクト指向プログラミング(以下OOP)とは結局なんなのか」という記事にしてみた…のですが、なにぶん語の指す範囲が広く、また自分も理解しきっているわけではないので、多少不正確な点があるかもしれません。
「関数型は流行りだけど、今更OOPかよ」とか思われるかもしれませんが、お付き合いいただければと思います。

OOPという語の曖昧さ

さて、一口にOOPといっても、人によってイメージするものがバラバラである可能性があります。
「動物クラスを継承した犬クラスと猫クラスが」とか「グワッと鳴けばアヒル」といった話から、「イマドキのオブジェクト指向はドメイン駆動ヘキサゴナルアーキテクチャだ」みたいな話までいろんなイメージを持つ方がいると思いますが、今回はオブジェクト指向の本質的な思想の部分を中心にまとめる予定です。

ところが困ったことに、OOPという語は2つの異なる系譜があったりします。

  • アラン・ケイがSmalltalkで提唱したOOP
  • ストラウストラップがC++で提唱したOOP

現在は、後者濃い目でこれらが混ざり合ったものに加えて

  • プログラミングではなく設計・モデリングの話

までOOPの範疇で語られていることも見かけることがあります。
これらの区別をつけないと議論の土台から噛み合わなくなってしまう可能性があるため、以降これらを区別して「アラン・ケイのOOP」「ストラウストラップのOOP」「オブジェクト指向のモデリング・設計」と呼び分け、順に見ていくことにします。

Continue reading
Older posts