Nuxt2.0でショッピングカートを作る

Nuxt2.0がリリースされたので試してみた。簡単なショッピングカート。
 
 
Nuxtは2.0からはCLIツールが提供されている。
 
create-nuxt-appをインストールしてコマンドを実行すると以下のように色々聞かれる。
APIサーバー用にexpress、CSSフレームワークにbulma、他にaxiosを一緒にインストールした。
 
 
$ create-nuxt-app Nuxt2ShoppingCart
> Generating Nuxt.js project in /Users/yuto-ogi/Work/nuxt/Nuxt2ShoppingCart
? Project name Nuxt2ShoppingCart
? Project description My praiseworthy Nuxt.js project
? Use a custom server framework express
? Use a custom UI framework bulma
? Choose rendering mode Universal
? Use axios module yes
? Use eslint no
? Use prettier no
? Author name yutoogi
? Choose a package manager yarn
Initialized empty Git repository in /Users/yuto-ogi/Work/nuxt/Nuxt2ShoppingCart/.git/
yarn install v0.21.3
info No lockfile found.
[1/4] 🔍  Resolving packages...
 
~
 
success Saved lockfile.
✨  Done in 126.85s.
 
  To get started:
 
    cd Nuxt2ShoppingCart
    yarn run dev
 
  To build & start for production:
 
    cd Nuxt2ShoppingCart
    yarn run build
    yarn start
 
  
で、3~4時間あれこれやってできあがったのがこれ。
カートの情報はLocalStorageにも保存しており、ページリロード後に復元されるようにしている。
「ADD」ボタンを押したときとかカートをクリアしたときの反応が分かりづらかったり、font-awesomeが読み込まれなかったりするけどまぁいいか。
 

f:id:jacoyutorius:20180929232316g:plain

 

業務引き継ぎなど

2年くらい関わっていた一人プロジェクトの引き継ぎをすることになり、資料を作ったり口頭で説明をしたりなどしている。
なにもかもが僕の頭の中にしか無く、それが2年分もあるのだから全てを引き継ぐのはまぁ、無理だろうな。
 
引き継ぎ用のドキュメントを作るのも一苦労。
こういうときに備えてしっかり残しておいた手順書やメモ書きが陳腐化していて自分すら混乱させる。
 
渡したい情報には現在・過去・未来とそれぞれの姿があり、現在を伝えようとするとそれに至る経緯について説明したくなるし、
こう直したほうが良いとか、こうしたかったという説明もしたくなってしまう。
 
 
オーマイどうしてこんなことに。
一人プロジェクト体制なのが悪い、人を追加しないのが悪い、人がいない?人が来たがらない環境だからいけないのだ、
リモートワークを許可して働きやすい環境を! 最新のフレームワークを導入しろ!…etc
 
とはいえ一人プロジェクトで気が楽だったのも事実であり、
あれやこれやの負債も全て自分が作ったものであれば、しっかり処理してやらねばなぁ。
 

砕氷艦「しらせ」一般公開

8/25~26にかけて清水港で海上自衛隊所属の砕氷艦「しらせ」の一般公開があるとのことで行ってきた。
 
自宅から清水港まで1.5時間くらいなのだけど、土曜日の時点でかなり混んでいるとニュースになっていたので奥さんと8時過ぎには出発しようと話をしていた。
(僕は仮面ライダービルド最終回のリアタイ視聴をあきらめた)
ところが先日の深酒により、寝坊。奥さんは夜更かししてゲームをやっていため寝坊。
結局出発は10時過ぎになってしまった。
 
清水港についたのは12時半過ぎ。港手前の駐車場に車を停めると、そばのコンテナの向こうに凛々しくしらせが見えて、改めてそのデカさに驚く。
 
 

f:id:jacoyutorius:20180826130534j:plain

入艦まで30分待ちとのアナウンス。30分くらい余裕っす。
 

f:id:jacoyutorius:20180826133141j:plain

よりもいでは砕氷船って呼ばれてたね。

英語では「Ice Breacker Shirase」と呼ばれるらしい、、中二心が疼く!

 

f:id:jacoyutorius:20180826131612j:plain

f:id:jacoyutorius:20180826134241j:plain

f:id:jacoyutorius:20180826143148j:plain

f:id:jacoyutorius:20180826143836j:plain

 
まぁなんでこんな炎天下の中片道1.5時間もかけて出かけたかといえば「宇宙よりも遠い場所」の影響ですね。ある意味聖地巡礼ですよ。
 
 
帰りはhuluアプリでよりもいを流しながら帰った。
良い週末でござったよ。
 

JAWS-UG浜松 AWS勉強会#1

 
春頃にスマートスピーカーのスキル開発ハンズオンをやったのだけど、Androidの会浜松支部との共催だったので単独開催は今年初。
 
僕はSAM CLIの使い方について話した。
資料通りにコマンドを叩いていけばデフォルトのHelloWorldFunctionをユニットテストしてからAWSにデプロイする、という
開発の流れが体感できるように作ったつもり。
 
 
改めて資料見返してみると、コマンドの一覧ばっかりで絵がほとんどない。色気のない資料だなぁ。

友人の結婚式に参加してきた

先週のことだけど、友人の結婚式に参加してきた。

僕の年齢だと親しい友人はおおかた結婚していて、今回が最後かな、という感じ。

 

久々に大学時代の友人と再会できて当時のノリであれやこれや騒ぐのも久々で楽しい。

卒業して以来10年ぶりくらいに会ったやつは「結婚式なんか参加したこと無いから(ご祝儀袋の書き方とか服装とか)全然わかんないんだよ〜」とか言っていたけど、

からしたら海外行って職人の学校に入ってバイオリン作って暮らしてる君のほうがよっぽと素敵な経験をしてると思うぞ。。

 暑っつい日だったからシャツなんか着たくなくて、ポロシャツで行けないかなと結婚式のマナーを調べてみると、半袖はNGとのこと。泣く泣く長袖シャツを着ていった。

合流した友人の一人はせめてもの反抗としてくるぶしソックスを履いてきたと自慢していた。公務員がそれでいいのかよ。

 

一緒にバンドやってたやつの一人は某夏フェスに出演が決まったり、別のやつはヒモになっていたりとまぁ人生色々ですねぇと思った次第。翻って己自身の現状を鑑みるに、これはやっぱり良いとも悪いとも言えねえな俺の場合は。

 

学生のころは昼夜問わず遊び呆けていたのに、今や子供がいるからと即座に帰るやつ、家が遠くだからと21時くらいの新幹線に乗るやつ様々で、一緒にいられる時間はほんとうに短い。

近くの居酒屋に入って新幹線の時間までの限られた数十分で全力で昔話をして、駅のホームで再会を誓って別れた。次は何年後かな。

 

 

Rubyでライフゲーム

Rubyライフゲームを書いてみた。 

とはいえ、ちゃんとできているか不安。動きがカクカクしてしまっている。

 

いまだに駄目だなぁと思うのは、頭の中でアルゴリズムを組み立ててからコードを書くんじゃなくて、動かしながらをコードを書いていることですね。

 

f:id:jacoyutorius:20180628102401g:plain

 

Array.prototype.reduceの使い方

(前回の内容も踏まえて)そうか、こういう使い方もできるのか。

 

今回はJavascriptだけど。

今まで上のようなやりかたで書いていて、 最初に空のオブジェクトを宣言するのが嫌だったんだけど、reduce使えばよかったのか。

var hash = {};
["a", "b", "c", "d"].forEach((v)=>{
  hash[v] = v.toUpperCase();
});
 
console.dir(hash);
// => { a: 'A', b: 'B', c: 'C', d: 'D' }
 
var hash = ["a", "b", "c", "d"].reduce((obj, v)=>{
  obj[v] = v.toUpperCase();
  return obj;
}, {})
 
console.dir(hash);
// => { a: 'A', b: 'B', c: 'C', d: 'D' }