なっぱ箱

ゲームとか読書の感想とか時々技術系の話とか

読了:デザイン入門教室

モチベーション

職業柄必要なのはUI/UX系の知識ではあるんだけども、そもそも前提スキルとなるデザインの基礎知識がまったくないのでそれを補うためにチョイス。

検証でもなんでもUIを伴う何かを作ってみたときなどに「くっそダサい…それ以前にわかりにくい…」みたいなことは多々あって、前々からデザイン知識の必要性を感じていたんだけれども、特にきっかけがなくてずーっと先送りにしてしまっていた。先日「そういえば奥様デザイナーやん」という事に気づいたので、「初心者用に基礎知識勉強用の本を見繕ってください」と依頼。見繕ってもらった中から最初に読むのに向いてそうなのがこれだったので読んでみた。

本の概要

グラフィックワークから企画書、プレゼン資料まで。デザイン基礎力は一生役立つ武器になる!これからはじめる人に読んでほしい、とことん丁寧な本格入門書、遂に発刊!センス、経験一切不要!

目次

  • Chapter 1 - デザインをはじめる前に ~ はじめに知っておくべき最重要ポイント ~
  • Chapter 2 - レイアウトの基本ルール ~ 紙面イメージを決定する配置設計の基礎知識 ~
  • Chapter 3 - 写真と画像 ~ 目的別で学ぶ、写真の選び方と使い方 ~
  • Chapter 4 - 配色の基本 ~ 色には人の心を動かす力がある ~
  • Chapter 5 - 文字と書体 ~ 読みやすく、人を惹きつける文字と書体の使い方 ~

デザインの基礎をロジカルに学べる

いままでちゃんと学んだことがないので、基礎の基礎から学べるのは非常に助かる。それこそ「フォントは使いすぎるな」とか「意味が近いものを近くに配置しろ」見たいな「それは聞いたことある」くらいのレベルから。

あとは余白をとらずに写真を配置する技法自体の存在は知っていても、それが「うち落とし」という名称であることは知らなかったし、それがどのような印象を与えるのか。逆にうち落としを使わない場合はどのような印象を与えるか、などは言語化された情報として受け止めるととてもしっくりきた。

「明朝」「ゴシック」をただのフォント名称の一つ程度と思っていたレベルの自分としては得るものが大きかった。

初心者向けの指標が提示されている

いわゆるテンプレ的なものが項目ごとに載っていたりする。マージン表とかジャンプ率とか。

デザイン知識がある人は、基礎を踏まえたうえでわざとスタンダードからはずす、みたいなことができるんだろうけども初心者には難しい。そんな時に「一般的にはこうです」っていう表なりなんなりが時々載っているので非常に助かる。

この辺りは慣れるまでの間はまとめておいて都度眺めるようにしようと思う。

おすすめの読み方

現時点で自分がどのようなデザインをするのか確認してから読み始めると、どこがどうダメなのかをだんだんと理解できるようになるのでおすすめ。

一番最初にデザイン制作の流れを学ぶ項目があるんだけども、そこでは架空のハンバーガーショップのチラシを作るという案件が用意されているので、 読み進める前に一度デザインをおこしてみるといい。素材や文言等はすでに用意されているので、あとは作るだけ。

確実に「ダサい・・・言語化しづらいけどダサい・・・」みたいになるんだけれども、これ以降を順次読み進めて都度見なおしてみると「ここがこうダメだったのか」と言語化されて腹落ちする。いままでよくわからない正体不明だった「デザイン」というものが徐々に理解可能なものに見えてくると思う。

この本をお勧めする人

読みやすいしページ数も控えめなので気軽に読めてハードルは低い。デザインをかじったことすらない人にはとても実入りのいい内容だと思う。 なにかしらデザイン力を伴う作業をするときに「なにをどこから決めればいいのやら・・・・」とちょっと立ち止まってしまう人にはとてもおすすめ。

非nightlyなRustプロジェクトでベンチマークを使用する方法

概要

Rustには公式ベンチマークツールがあるが現状unstableなのでnightlyでしかコンパイルできない。 だからプロジェクトがstableだと使えないんかなー、と思って調べてみたらやり方があったのでメモしておく。

試してみる

プロジェクトを用意

$ cargo new --lib hello_bench
$ cd hello_bench

新規プロジェクトを作ったあとはベンチマーク対象のコードと、一応テストコードでも書いておく。 src/lib.rsを下記のように変更。

pub fn sum(x: u8, y: u8) -> u8 {
    x + y
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn sum_test() {
        assert_eq!(sum(2, 3), 5);
    }
}

特にunstableな機能を使っていないので、stableでテストが通る。

$ cargo test
   Compiling hello_bench v0.1.0 (/Users/yamash723/Workspace/labo/rust/hello_bench)
    Finished dev [unoptimized + debuginfo] target(s) in 0.38s
     Running target/debug/deps/hello_bench-a775e998ab4d2775

running 1 test
test tests::sum_test ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

   Doc-tests hello_bench

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

ベンチマークコードをプロジェクトに追加

もしもnightlyなプロジェクトであればsrc/lib.rsに追加すれば動くといえば動くんだけども、 #[bench]属性の関数であっても#[cfg(test)]配下であればcargo test時に実行されてしまうのでおすすめできない。

そこで、benchesというベンチマークコードを配置するためのオプショナルディレクトリがRustには用意されているので、そこにコードを配置する。

$ mkdir benches
$ touch benches/bench.rs

benchescargo bench実行時にのみビルドされるので、プロジェクトのメインコードと切り分けることができる。

とりあえず先程作成した関数をベンチマークするコードをbenches/bench.rsに追加する。

#![feature(test)]

extern crate test;

#[bench]
fn sum_bench(b: &mut test::Bencher) {
    b.iter(|| hello_bench::sum(2, 3))
}

評価対象の関数の呼び出しはhello_bench::sum(2, 3)のようにパッケージ名経由で行えばよい。

なおベンチマーク実行時、benches直下のファイルはすべてビルド対象になるのでファイル名に特に決まりはない。 コード量が多くなってきたら各ベンチマークコードをサブモジュール化してbench.rsで参照するような形にするとスッキリすると思う。

そしてベンチマークを実行する際、下記のようにnightly指定でcargoを実行すればベンチマークを実行することができる。

$ cargo +nightly bench]
   Compiling hello_bench v0.1.0 (/Users/yamash723/Workspace/labo/rust/hello_bench)
    Finished release [optimized] target(s) in 0.45s
     Running target/release/deps/hello_bench-c6eaba87c0013faa

running 1 test
test tests::sum_test ... ignored

test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out

     Running target/release/deps/bench-e4ecc1d2436f81bb

running 1 test
test sum_bench ... bench:           1 ns/iter (+/- 0)

test result: ok. 0 passed; 0 failed; 0 ignored; 1 measured; 0 filtered out**

これでプロジェクトのメインコードはstableのままベンチマークを実行することができるようになった。

じぶん Release Notes (ver 0.32.01)

なっぱ(ver 0.31.01)がリリースされました。更新内容は下記のとおりです。

技術関連

  • Rustの公式ベンチマークのソースを読んで理解を深めました
  • NESの画面描写について理解が一歩深まりました
  • アウトプットは特にありませんでした😰

イベント

  • 「Hatena Engineer Seminar #11 @ Tokyo」に参加しました
  • golang.tokyo #21」に参加しました
  • MacBookPro 2018 13インチを購入しました
    • USキー配列デビュー
  • 奥様がインフルエンザを発症しました😨
  • 新しい趣味としてピアノを始めました
    • 目標はmegalovania💪
  • id:a-knowさんからPixelaのグッズをいただきました!🎉🎉🎉

買物

ゲーム

クリア

なし

プレイ中

積み中

読書

読了

読書中

記録

FitBoxing

https://pixe.la/v1/users/yamash723/graphs/fitboxing.html

  • 実施回数: 9回
  • 総パンチ数: 7,384回
  • 基本的なメニュー
    • ストレッチ
    • フリー30分コース
    • ストレッチ

ピアノ

https://pixe.la/v1/users/yamash723/graphs/piano.html

  • 練習回数: 4回
  • 総練習時間: 195分
  • 練習曲

アウトプット

ふりかえり

Keep

  • Fit Boxingは週2程度で続けている。このまま日課にしたい
  • 教習をある程度進められた。あと少し
  • NESエミュに再着手
  • FitBoxing/ピアノの練習をPixelaで記録するようにしました
    • iOSのショートカットで記録

Problem

  • 奥様がインフルエンザを発症してしまった
    • 自分は予防接種のおかげか発症せず
  • ピアノを始めたはいいけどちょっと頻度が低め
  • ブログの技術系エントリを全く書いていない問題
    • ネタを殴り書きしたのがたまっていく一方
  • 家でのインプットが日によって内容が違うためコンテキストスイッチが高コスト

Try

  • 2月で免許を取得する
  • Fit Boxingを週3回以上に増やす
  • 技術エントリをサクっと投下できる習慣をつける
  • ピアノで1曲弾けるようにする

FitBoxingのすゝめ

ねとらぼの記事をRTしたら思ったより結構フォロワーから反応があったので、せっかくだから紹介をしてみる。

どんなゲーム?

簡単に言えばSwitchでボクササイズができるゲーム。 雰囲気は公式のPVを見てもらうのが一番分かりやすい。

Fit Boxing (フィットボクシング) -Switch

Fit Boxing (フィットボクシング) -Switch

運動不足の分際で「こんな軽そうなので運動になるのぉ??」とか思っちゃったそこのお前、ちょっとこれを見てみなさい。

あとは公式から実際のプレイ風景込みの動画が上がっていたので参考までに。

おすすめポイント

  • 自分でトレーニングメニューを決めなくていい💪
  • レーニングのために広い場所を確保する必要がない💪💪
  • 2人でもできる💪💪💪
  • インストラクターの声優が豪華💪💪💪💪

自分でトレーニングメニューを決めなくていい💪

筋トレとかもそうだけど、自分でトレーニングのメニューを決めるとどうしても自分に甘くなってしまう、というのは身に覚えがある人が多いのではなかろうか。30分と時間を決めてみたはいいもののやたらと休憩したり、内容を楽なものにしちゃったり・・・

FitBoxingの場合は「時間」と「鍛えたい項目」さえ選べば勝手にその日のメニューを組んでくれるので、我々人類はただ粛々とメニューをこなすことだけを考えればよいのだ。

image

こんな風に自分の好みの設定だけを入れておけば、

image

勝手にトレーニングを組み合わせてメニューを作ってくれる。 デフォルトだとストレッチも開始前後に入れてくれるので便利。

自分に甘くなりがちなそこの君、FitBoxingはいいぞ。

レーニングのために広い場所を確保する必要がない💪💪

自宅でトレーニングする場合はヨガマットをひいたり、ちょっと場所を取らなかったりしないといけなかったりする。だいたい横になるトレーニングが多いと思うので、これは仕方のないこと。

ところがFitBoxingの場合は基本的に場所をとらなくてもできてしまうので、手を振り回す空中の場所さえ確保できていれば割とトレーニングができてしまうのだ(ただある程度進めるとステップ的なのがあるっぽいので、そのときは危なくない程度の場所を確保していただきたい)

あとはやっぱり今みたいな寒い冬の時期は外でランニングとかつらいし、室内だと楽よね。

家が散らかっててあんまり場所がないそこの君、FitBoxingはいいぞ。

2人でもできる💪💪💪

「なにが2人じゃ!黙れ!」と思った諸兄はすまないが読み飛ばして頂きたい・・・

このゲーム、1日1回できる「デイリー」というモードは1人でしか遊べないのだが、何回でもできる「フリー」モードに関しては2人でのプレイが可能となっている。しかも「デイリー」と同じようにメニューを自動で組んでくれる。違いといえばストレッチが自動でつくかつかないかくらいなので、一度ストレッチを選んでプレイ、そしてトレーニング後再度ストレッチを選ぶ、とやってもらえれば問題ないと思う。

image

1人でやるより2人でプレイしたほうがモチベーション保てたりサボり防止になると思うのでおすすめ。

ちなみに一応本体付属のJoyCon2本で2人プレイできるんだけど、できればもう1セット用意してちゃんと両手に持ってプレイしていただきたい。「フィットネスジムへの入会金」という名目なら家庭内稟議もきっと通るんじゃないかな・・・

運動不足な相方がいるそこの君、FitBoxingはいいぞ。

インストラクターの声優が豪華💪💪💪💪

このゲームはインストラクターがついてくれるんだけど、そのキャラクターの声優が豪華。

声優一覧

インストラクターはトレーニング中「ジャブ!ストレート!」とか「あと4回!」とか声をかけてくれるので、声優は超重要。我が家では大塚明夫さんを起用し、「スネーク直々のトレーニング」気分でプレイしている。

なおインストラクターはいつでも切り替えられるので安心してほしい。というかDLCで増えないかな・・・

好みの声優の名前を見つけちゃったそこの君、FitBoxingはいいぞ。

よくありそうな質問

ボクシングとかやったことないからできるか心配

大丈夫、誰でもできる。

ある程度はインストラクターが教えてくれるし、なにより細かいフォームが検知できてるわけじゃないから、タイミング合わせてそれっぽく動けばぶっちゃけそれで問題ない。あとは徐々に画面中のインストラクターの動きを見ながら合わせていけばいい。

運動に慣れてなさ過ぎてまともにできないんじゃ・・・

大丈夫、できる。

時間は自分で選べるし、トレーニングの内容は最初は簡単なものからスタートするので最初からヤバイのは来ない。やりながら徐々に慣れていけば問題ない。

逆に内容がヌル過ぎたりしない?

大丈夫、キツい。

おすすめは35分コース。汗だくになるくらいの運動量はある。運動不足の人はなおさら。ただすべて出し切って動けなくなるくらいの運動強度ではないので、そういうのがお望みならおとなしくジム行け。

正直合うか合わないかわからない

大丈夫、体験版がある。

値段がフルプライスなので躊躇する気持ちはわかる。体験版が出ているので、不安な人は是非プレイしてほしい。「デイリー」は3日間、「フリー」は10回までプレイ可能となっている。

おすすめしない人

  • 音ゲーとして買おうと思っちゃってる人
    • 正直認識が甘いときがある
    • フルコンボできなかった!!クソ!!といら立ってしまう人はやめておきましょう
  • ガチめにボクシングを覚えたい人
    • フォームレベルで矯正してくれるわけじゃないので、素直にジムに行きましょう

まとめ

  • 「ちゃんと運動しなきゃなー」って思ってるレベルの人にはいい感じにキツい運動になる
  • 声優豪華で耳が嬉しい
  • 不安ならとりあえず体験版をチャレンジ!!
  • FitBoxingはいいぞ

読了: MBAより簡単で英語より大切な決算を読む習慣

はじめに

前回に引き続きKindle Unlimited対象だった事と、この辺りって全然知らないなーと思ったので読んでみた。 本当はしばらく前に読み終わってたんだけど文章に起こすのが遅くなってしまった・・・反省。

本の概要

MBAより簡単で英語より大切な決算を読む習慣

MBAより簡単で英語より大切な決算を読む習慣

ファイナンスリテラシーは一生モノの仕事力。東大、スタンフォード楽天シリコンバレー。結果を出し続けてきた著者が続けてきた、膨大な数字から「未来を先読む」すごいやり方。大学でも会社でも教えてくれない実務に役立つ決算分析法。

目次

  • 第1章:決算が読めるようになると何が変わるのか?
  • 第2章:ECビジネスの決算
  • 第3章:FinTechビジネスの決算
  • 第4章:広告ビジネスの決算
  • 第5章:個人課金ビジネスの決算
  • 第6章:携帯キャリアの決算
  • 第7章:企業買収(M&A)と決算
  • 終章:決算を読む習慣をつける方法

決算を読めるようになるとどうなるか

「決算を読む習慣は、財務・会計担当者以外の人たちのスキルアップやキャリアアップにも役立つんじゃないか!?」

エンジニアはビジネス面にも強くなり、営業であればコンペの勝率があがり、転職時には転職先の会社を選ぶときにも今後成長を見込める企業を選ぶことができるように!

実際数字には強い人類でありたいと思う。できて損はない。

決算短信ではなく、決算説明会資料から読む

決算短信は上場取引所に提出する資料。専門的かつ文字が多いので、筆者としては決算説明会資料を読むことをおすすめするとのこと。

企業の「将来」を予測しようとする前に「過去」を正確に理解する

決算はあくまで当該期間の過去をまとめたものなので、将来のことがわかるわけではなく、将来のことを予測したいのならばその過去情報を圧倒的な量で読み込む必要がある。とにかくインプットの量重視がよい。

ある会社の四半期決算を1時間かけて分析するより、同じ時間で1年分の決算を流し読みする方が、発見が多いのです。

くらいの量感。

それに加えて決算ごとの差異を発見するのに気をつけたほうがよく、当然ながら各企業には見せたい数字と隠したい数字があるわけで、特定の決算以後は急に資料から消える項目があったり、その逆があったりなどするのでそこを発見すると企業側の意図を読み取れるようになる。

おすすめの章

個人的には「第7章:企業買収(M&A)と決算」が一番のおすすめ。

買収金額から買収元の戦略を読み取ったり、実際に買収した場合会計上どのように扱われるなんてのは今まで気にしたことがなかったので新鮮。まさか買収した金額が減価償却されるとは知らなんだ(日本基準と国際会計基準で仕組みが別)。

一番のおすすめはMicrosoftによるLinkedIn買収の具体的な交渉内容の話。

感想

実際の企業の資料を参考に各分野ごとの決算情報を特色を交えて読みとってみよう!という本。

もともとはこちらのnote連載からスタートしたらしい。今でも継続して連載しているので後日目を通したい。

「決算は難しい」という思い込みを捨てよう

という言葉がはじめにあるとおり、細かい数式とか会計ルールの解説が序盤にたっぷり、ということは特にない。わりとすぐに実際の資料が出てくる。 しかも各分野ごとで章立てされているので、興味のある分野の内容だけつまみ食いしても全然問題ない。

全部読んだとしても全304ページなのでそこまで重くもないし、実例を見ながらなのであまり飽きずに読み進められると思う。雰囲気とかを掴むくらいでも面白いのではなかろうか。

小難しいことは置いておいて、「決算を読むとどのようなことがわかってくるのか」を最短で知ることができるので入門編としてはちょうどよいのではなかろうか。

この本をお勧めする人

なんか決算系の資料ってちゃんと読んだことないけど興味あるなーってくらいのモチベーションの人にはいいと思う。 とりあえず読んでみて「ほほー、そうなんだ。おもしろいかも」と気持ちが乗ってきたらもうすこし専門的なものを読むコースかと。

ただ逆に「ガッツリちゃんとやりたい!」って人だとボリューム不足を感じるかもしれない。

初売りでMacBookProを買ったから最初にした設定をまとめておく

夫婦で初売りの時にMacBookProを購入しました。勢いって大事。

スペックは夫婦ともに同じく2018年モデル13インチTouchBar付きのメモリだけ16GBにアップ。 ただ自分だけUSキーボード。買ったからには慣れるしかない。

2人ともMacの所持がはじめてのWin使いなので、念のため最初に行った設定をちょっとまとめておく。 なにかおすすめのアプリとか設定等あったら教えてくれると嬉しい。

Google日本語入力

macOSの日本語入力を少し試してみたけどなんかしっくり来なかったのでGoogleさんを憑依させる。

https://www.google.co.jp/ime/

かな/英数切替キー設定

ものは試しということでUS配列にしたので左右のCommandキーにそれぞれ切替キーを設定。まずはKrabinerをインストール。

https://pqrs.org/osx/karabiner/

インストールしたらKarabinerを起動して「Complex Modifications」の左下にある「Add rule」を開く。

f:id:b7472:20190110222548p:plain

「コマンドキーを単体で押したときに、英数。かなキーを送信する」を「Enable」にする。 「For Japanese」のメニューが無いときは「Import more rules from the Internet」から追加すること。

f:id:b7472:20190110222932p:plain

Homebrew

Win使いがUsageを見たときにbrew install hogehogeしか書いてないと目からハイライトが消えるHomebrew。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

トラックパッドの設定変更

「システム環境設定」→「トラックパッド」から「ポイントとクリック」の軌跡の速さを最速に。

f:id:b7472:20190110225445p:plain

バッテリーのパーセンテージ表示

アイコンだけじゃわからんのでパーセンテージも表示する。

f:id:b7472:20190110224915p:plain

日付の表示

日付はちょくちょく脳内メモリから消えるので表示するようにしておく。

「システム環境設定」→「日付と時刻」から「時計」の「日付の表示」をON。

f:id:b7472:20190110225133p:plain

コンピュータ名の設定

デフォルトの名前が適当なので変更。結果適当だけど。

「システム環境設定」→「共有」からコンピュータ名を変更。

f:id:b7472:20190110225853p:plain

Finderの設定

いくつか設定変更。

拡張子を表示

Finderを起動して「Finder」→「環境設定」→「詳細」から「すべてのファイル名拡張子を表示」をON。

f:id:b7472:20190110230405p:plain

各種情報を表示

Finderを起動して「表示」→「タブバー」「パスバー」「ステータスバー」を表示。

f:id:b7472:20190110230517p:plain

Docの設定

Docさんは自動的に非表示にしましょう。

「システム環境設定」→「Doc」から「Docを自動的に表示/非表示」をON。

f:id:b7472:20190110230809p:plain

ファイヤウォールをON

「システム環境設定」→「セキュリティとプライバシー」から「ファイヤウォール」をON。

セキュリティソフトは後で調べとく。

f:id:b7472:20190110231520p:plain

Night ShiftをON

目に優しく。

「システム環境設定」→「ディスプレイ」から「Night Shift」を「日の入りから日の出まで」で設定。 ※とりあえずお試し

f:id:b7472:20190110231852p:plain

その他アプリ

開発環境系は後回し。

じぶん Release Notes (ver 0.31.12)

なっぱ(ver 0.31.12)がリリースされました。更新内容は下記のとおりです。

技術関連

  • Vue + Firebaseで即席アプリを作成しました
    • クイズ大会用早押ボタンに使用
    • ユーザー登録、ボタン押下履歴管理、得点管理
  • AtCoderに入門しました
    • とりあえず過去問を少しづつ解いています
    • 回答言語はRust/Go
    • 実行環境はDockerで用意

github.com

着手済未完了

イベント

  • 前撮りを行いました
  • お互いの両親の顔合わせを行いました
  • 友人たちとクリスマス会を行いました
  • Perfumeのライブに参加してきました

買物

ゲーム

クリア

なお、次のタイトルはパーティーゲーム、またはその他用のため購入時点でクリアしたものとして扱います。

プレイ中

積み中

読書

読了

読書中

アウトプット

ふりかえり

Keep

  • 結婚式と新婚旅行以外の婚姻イベントはこれでおおむね終了することができた
  • 色々とイベントが立て込んでいたがクリスマス会幹事をこなすことができた
  • 業務以外で毎日なにかしら技術的に手を動かすことができた
  • 軽く触った程度だがFirebaseに入門をすることができた
    • 実際に作成したクイズ早押ボタンをクリスマス会に活用することができた
  • Fit Boxingで運動を日課にし始めることができた
  • 憧れの生ハム原木を購入することができた

Problem

  • 11月に引き続き教習所へあまり行けなかった
    • イベントが重なってしまい時間がなかった
  • ブログエントリをまったく書くことができなかった
  • やろうと思っていた技術的なTryに着手することができなかった
  • 生ハム原木が思ったより場所を取ってしまっている

Try

  • 技術系
  • 1月中旬から教習所が激混みするので、可能な限り勧めておく
  • Fit Boxingを継続する