Scratchで遊んでみました

Scratch

scratch.mit.edu

きっかけ

デブサミ以降1週間くらい、(自分にとっては)濃くて重たい情報のインプットが続いていたので、気分転換になるものを探していました。ついでに、ボランティア活動で使えるネタ、つまり子ども向けに提供できる何かが見つかればラッキーという魂胆もありました。

Scratchを選んでみた理由

最初は東急ハンズで工作&ロボット系を物色していたのですが、とりあえずお値段がお高い。 もうちょっと敷居が低いものはないだろうか。。。と調べていたところ、「そういえばScratchって言語があったなー」と。

ScratchはGUIでコーディングができる(らしい)言語で、コンポーネントが非常にカラフルでポップなのが特徴です。 「あまり機能は充実してないだろうけど、敷居が低いというのはとても良い気がする。触ってみよう。」ということで、一冊書籍を買って始めてみました。

やってみた感想

書籍のサンプルプログラム(シューティングゲーム)を写経して、そのままいろいろカスタマイズしてみました。サンプルはだいたい30ステップで、めちゃくちゃシンプルです。リッチな開発環境が用意されているので、作業場所の構築をする苦労がありません。GUIなので、文法のタイプミスもありません。「セミコロンのタイプ漏れを見つけるのにウン時間費やす」方面のストレスが全く無く、ロジックに集中できます。

お決まりの教材ネタとしてFizzBuzzも書いてみましたが、普通の言語と特に何も変わらない形で作ることができました。

コンポーネントが「動き」「制御」「演算」といった形で色分けがされているので、可読性も非常に高いです。

動くものを素早く作ることができるのは、純粋に楽しいですね。

まとめ

「無料」「敷居が低い」「カラフルで楽しいうえに可読性も高い」「ミスしないように工夫されている」「素早く動くものが作れる」など、特徴を並べてみると「すごいなこれ」という感想になりました。

公開されているプログラムを拝見すると、結構複雑なものも作れそうですね。 ゲーム以外にも、しっかりしたアプリケーションも作れるのではないかと思います。

ということで、皆さま一度お試しあれ。

【WIP】状態遷移図を理解するために、RPG風に毒(猛毒)状態を状態遷移図で表現してみた

きっかけ

ブロッコリー(@nihonbuson )さんに状態遷移図の書き方を教えていただいたのがきっかけです。 そもそも状態遷移図をちゃんと書いたことがなかったので、いちど時間を使って書いてみよう、と思いました。

モチーフについて

もともとゲームが好きなので、いわゆるRPGをモチーフに書いてみようと思いました。 最初は特定のIPに寄せて書きました。

まず書いてみた&発表してみた

とりあえず勢いで書いてみた内容を、Toshiyuki Manabe(@ToshiManaPlus1 )さん主催のオンライン飲み会でレビューしていただきました。 元々は、書いた内容をブログに公開するだけの想定でいましたが、 「発表やってみたいんですがハードルが高くてですね」と発言したところ 「オンライン飲み会で喋ってみてはいかがでしょう」とお声がけいただきまして、レビューをいただくことができました。 誠にありがとうございます。

この時の内容は、特定のIPに寄せて書いた内容となっていたため、外部公開する予定はございません。

修正してみた

↑のレビューでコメントしていただいた内容を取り込んだ資料が、↓です。

f:id:trickmr:20180218172336j:plain

実際に書いて見た感想として、文字情報で仕様を羅列するよりもビジュアルに訴えることができるため、「抜け漏れに気づくことができる」という効果を実感できました。 特に、毒状態から毒状態への矢印など、「状態が変わらないことを確認するための矢印」が抜けてしまっていたので、これに気づけたことが大きかったと思います。(レクチャーで同じ内容を伺っていたにも関わらず、最初は書けていませんでした)

困ったこと

実際のRPGでは、毒状態以外にも複数の状態が同時に存在するため、それをどう表現するかが難しいと感じました。 たとえば、毒状態で(毒に関係のない)バフ・デバフを行った場合、毒状態は維持されつつ、そのバフ・デバフの効果は発生しなければなりません。 やや冗長にも思いましたが、「毒→毒」「猛毒→猛毒」の線について、項番を設けてバフ・デバフを表現しました。

困ったこと その2

毒/猛毒を取り巻く「別の状態」について、どこまで資料に盛り込むかを悩みました。 結論として、今回は「死亡」と「鉄化」という2つの状態について、毒/猛毒に関係する矢印のみ作図しました。 例えば、実際には「死亡→死亡」や「死亡→通常」という状態遷移がありえますが、今回テストケースとして整理したい情報はあくまで「毒/猛毒」に関する状態遷移ですので、意図的に書きませんでした。

今後について

次回は、上記に続いて状態遷移表を作成してきたいと思います。

デブサミ2018「変わるもの×変わらないもの」セッション資料まとめ

初日 2/15

1コマ目

speakerdeck.com

2コマ目

www.slideshare.net

www.slideshare.net

ランチセッション

www.slideshare.net

speakerdeck.com

3コマ目

speakerdeck.com

speakerdeck.com

www.slideshare.net

4コマ目

www.slideshare.net

speakerdeck.com

www.slideshare.net

5コマ目

speakerdeck.com

speakerdeck.com

www.slideshare.net

www.slideshare.net

6コマ目

www.slideshare.net

www.slideshare.net

speakerdeck.com

2018/2/15-16開催 『Developers Summit 2018』 Delphixセッション資料ダウンロード | アシスト ※ダウンロードフォーム

7コマ目

speakerdeck.com

 

2日目 2/16

1コマ目

speakerdeck.com

speakerdeck.com

www.slideshare.net

2コマ目

www.slideshare.net

www.slideshare.net

www.slideshare.net

speakerdeck.com

ランチセッション

www.slideshare.net

www.slideshare.net

 

3コマ目

speakerdeck.com

speakerdeck.com

www.slideshare.net

speakerdeck.com

speakerdeck.com

4コマ目

www.slideshare.net

www.slideshare.net

www.slideshare.net

5コマ目

speakerdeck.com

speakerdeck.com

speakerdeck.com

speakerdeck.com

6コマ目

niconare.nicovideo.jp

7コマ目

speakerdeck.com

docs.google.com

 

デブサミ2018「変わるもの×変わらないもの」【16-A-7】一生、エンジニアで食っていこう 参加メモ

このセッションのまとめ

  • 楽しいことに没頭しよう
  • 若い人に関わろう
  • 国境を越えよう
  • 発信しよう!
  • 独立しよう!

メモしたこと

  • 40歳からのキャリアパスは自分で設計
  • すごい人の生存バイアスな話ではなく、ふつうのエンジニアの話
  • 技術イノベーションがあると下剋上の大チャンス なければ匠が勝つ世界
  • いつまでもワクワクしていたい 没頭した方が強い でもダークサイドもある
  • 笑うから楽しくなる 楽しいは作れる
  • 新しい情報の入れ方 10代とかの若い世代から 国境を超えた先から
  • 怖くない吸血鬼になる こちらから飛び込む 慌てて噛みつかない 惜しみなく愛を注ぐ若い世代にフルコミット
  • ダメ出ししない 若い人のオーラを浴びる→圧倒的に未来志向になる 新しい常識に触れられる 急速な変化に慣れる
  • 外に行く 外とはグローバル
  • 個で繋がっている 議論ネタとLTネタを準備する 会社の紹介ではなくて個人の紹介
  • 独立っていうのは、誰かに仕事を持ってきてもらうことてはない 名指しでアサインをもらうこと 会社をやめるとかいう話ではない
  • 慣れないことをやって急に失敗するとダメ→ 技術コミュニティへの貢献 ブログなどでの発信 ボランティアなどへの参加

感想

  • ボランティアはかれこれ3年くらい参加してますが、背中を押していただいた感ある
  • 発信は始めたばかりですが、これからも続けていきたい

デブサミ2018「変わるもの×変わらないもの」【16-C-6】The Amazon Way~Amazonのソフトウェア開発~ 参加メモ

講演資料

※本講演の資料は、配布されません。

このセッションのまとめ

  • ファンタジーを現実世界に顕現させている企業の組織カルチャーのおはなし

メモしたこと

  • お客様に徹底的にこだわる 常にお客様を起点として考える という考え方が一貫している
  • メカニズム PR(プレスリリース)/FAQ
  • プレゼンツールの利用はしない プレゼンスキルに依存してしまうから ナラティブベースのレポートを使う
  • 昔の話 モノリシックな開発サイクル デリバリーのパイプラインが一本 ビルドやテストに時間がかかる
  • 2001年から取り組み始めた…!? マイクロサービス化 2ピッツァルール
  • 2ピッツァチームは、作るものに対する全て オーナーシップと責任を負う
  • devとopsが分かれているのはトラディショナル🙄 2006年の話
  • SDETは組織全体でテストを良くすることに集中
  • 開発スタイルすら各チームで自由 全社標準とかは無いのかな
  • トレーニング よくある事だが、頻度高めに徹底的にやっている
  • 年間5000万回のデプロイを実現
  • OLP 行動規範 リーダーシッププリンシプル
  • 普段の業務中の会話でもOLPは使われている
  • テストは、すべてを自動化しようとしている
  • テストしやすいアーキテクト CI
  • 重要なことにフォーカスするために、イテレーションを分ける
  • 毎日が最初の一歩 これらがカルチャーの一端

感想

  • カルチャーとカルチャーとカルチャーの話
  • 概ね知識としては聞いたことがある話ばかりだったけど、講演としてあらためて伺うと説得力がある。ファンタジーを現実世界に持ち込んでいるというところが非常にすごい。
  • Amazonさんが時代の先を行っていると思ってきたけど、そうではなくて、我々が遅れているのではないかという印象に変わった

参考

www.amazon.jobs

 

デブサミ2018「変わるもの×変わらないもの」【16-A-5】「自分」をまるごと活かす!私が“CRE”というキャリアを選んだ理由 参加メモ

講演資料

speakerdeck.com

このセッションのまとめ

参加メモ

  • とてつもない衝撃を受けた書籍と、そこに書かれていた取り組み 「へんな会社」のつくり方
  • 情報を社外に公開、サービス開発合宿 etc
  • 嫉妬 「ずるい」 →自分もできるかもしれない 「そうなりたい」
  • はてなに入社したくて、はてなを何度も受けた
  • いまのやり方でうまくいかないと思ったら、どんどんやり方を変えた
  • とあるハッカソンイベントで優勝
  • 合コン ≠ Go言語のカンファレンス
  • 自分の嬉しい 楽しいをマズローの5段階の欲求とマッピングする
  • いきなり成功を狙わない
  • 選択肢を広げていく
  • 「好きなこと」で、仕事にしていないこともある バドミントンとか

感想

  • 楽しすぎる
  • 昨日の中井さんの話と通じる、と感じるところがとても多かった
  • 自分をアピールする成果づくり、大事です

デブサミ2018「変わるもの×変わらないもの」【16-D-4】ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの 参加メモ

このセッションのまとめ

  • 開発言語とか周辺のアプリケーションとか諸々の歴史全部盛り
  • 「何らかの技術が生まれる、探求する、発展する」のサイクルが継続していく

参加メモ

  • ガチの歴史話 インターネット老人会向けのつもりが意外と若い方が多かった
  • 言語の歴史
  • ふぉーとらんは現役
  • 速度の制約
  • 仮想化 はんぶん仮想化
  • エディタの歴史
  • 最新の言語も、1960年代くらいの言語からの進化系として連綿と繋がっている (なので過去の言語の思想を知ることは大事)

感想

  • 書籍で欲しい。。。