GitHub で fork 元リポジトリの Pull Request をローカルで確認する方法

目的

fork したリポジトリで開発中に, fork 元リポジトリに誰かが PR を出してくれて
そのコードをローカルで確認したい.

手順

fork したリポジトリを clone

$ git clone git://github.com/forked_rep

fork 元リポジトリをリモートに追加

$ git remote add upstream git://github.com/origin_repo

fork 元のリポジトリを fetch

$ git fetch upstream pull/pull_request_number/head:pull_request_branch_name

ブランチに切り替え

$ git checkout pull_request_branch_name

まとめ

$ git clone git://github.com/forked_repo
$ git remote add upstream git://github.com/origin_repo
$ git fetch upstream pull/pull_request_number/head:pull_request_branch_name
$ git checkout pull_request_branch_name

Etheremon Meetup #2 に参加した

ブロックチェーンゲーム Etheremon のミートアップに参加したメモと感想をまとめておこうと思う.

connpass.com

オープニング

主催: Blockman
暗号通貨なkimさん: https://twitter.com/kimnao3333 の挨拶

ゲストによるトーク

はるか先生は初顔出しだったとのこと!

現在のイーサエモンについて

できること by ダプマさん

  • レベル上げ
  • バトルして勝ったらトークンがもらえる

現状は上記 2 つだが今後の発展も含めて期待している.

dApps としての立ち位置 by ダプマさん

dApps で 2,3 位(多少の変動はある

  1. CryptoKitties
  2. AXIE infinity
  3. Etheremon

アクティブユーザー(200~300 人ぐらい
-> 現状大きくプロモーションが打ててない
-> 遊べるコンテンツが少ない
-> コンテンツが確立したらユーザを増やしに行くのでは?

最近の動向 by ダプマさん

アドベンチャーモードのプレセールが行われた

ゲーム内の土地を手に入れることができる.
プレセールで 200~300ETH ぐらい集まった.
ユーザが遊ぶごとに配当(トークン)がもらえる.

※記事にない不明な点があれば, ダプマさんに twitter で連絡すればすぐ記事にしてくれる(!)

最近の動向 by はるか先生

アクシー、イーサタウンといった次の dApps が出てきているので, プラットフォームとして展開していかないと
あとから出てくる dApps に抜かれてしまうので動向が気になる.

  • 今日(2018/07/04)のメンテでオフチェーンモードの実装が入って快適になった
  • 今後は Zilliqa に対応していく

今後の期待していることろ by ダプマさん

  • バトルはオフチェーン, 経験値の受け取りがオンチェーンに記録するという実装になっている(はず)
  • VR モード対応
    -> Decentraland のとの連携がうまくいけば、ユーザを引き込める
    -> バトルシーンを VR で見ることができるようになる -> 進捗としては, Discord の開発チャネルでデモが出ている程度

今後の期待していることろ by はるか先生

  • ゲーム性の向上
  • 資産性の向上
  • 日本製の dApps ゲームがもっと出てきて欲しい
    -> ERC721 を使った資産性をもたせたゲームを作って欲しい
    -> crypton 豚を育てるゲームがある

開発チームによるトーク by Marketing Director of Etheremon

今までのゲームの問題点

Blockchain でどう解決するか?

なぜユーザーがプレイするのか?

  1. レベルがあがるとモンスターの価値が上がる
  2. EMONT トークンがもらえる
  3. アドベンチャーモードの土地を所有することで、プレイヤーがプレイすることに手数料がもらえる

アドベンチャーモード

プレセールで 300ETH 調達した.
7 月実装予定だったがオフチェーン対応等で遅れていて, 8 月にはリリースできる予定.

スケーラビリティ問題対策

medium.com

Q&A

Q. 新しく実装されるアドベンチャーモードでの土地の利回りは?

土地で利益を得るのは手数料と売却する方法がある.
土地に入るための手数料は全額所有者に入る.
手数料の金額は所有者が自由に決められる(が, 極端に偏る場合は何らかの方法で均衡化されるとのこと)
上記に売却も加味すると 20~40 倍ぐらいのリターンを見込めるのではないか.

Q. 土地の数と販売数は?

全部で 108 あって, プレセールでは半分の 54 を売った.
残りは今後のイベント等での販売/配布を検討中. 54 の土地を 10 分割して 540 を販売した.
1 つ約 6ETH なので 10 で割って, 1 つあたりの購入額は 0.6 ETH ぐらい. 10 分割に順位/優先度などはない.

Q. どこの国のユーザが多い?

日本人が一番多い.
トランザクションは国別の判定ができないので Google Analytics ベースの計測.

ERC 721 トークン

  • アイテム
  • モンスター
  • アドベンチャーモードの土地
  • 土地に入るための手数呂う - モンスターを置くための手数料

所感

  • Blockchain で今までのゲームの課題を解決していく話は, Blockchain の活用方法としていいなと思った.
  • dApps ゲームの中の人の話を聞けると安心感がある(Aethia 運営から音沙汰がない.
  • Etheremon Tシャツもらった.

AWS WorkMail を使って SMTP でメール送信する時の注意点

背景

独自ドメインの割り当て, メールアドレス認証などが設定済の WorkMail を AWS サービス以外のメールクライントからもメールの送信に使いたいと思った.

設定

安定のクラスメソッドさんの記事を元にやっていけばほぼ問題ない.

dev.classmethod.jp

注意点

リージョンに沿ったホスト指定

WorkMail は、現在3つのリージョンで提供されているため
us-west-1, us-west-2, us-east-1 から WorkMail を使用しているリージョン用のホストを選択する必要がある.

docs.aws.amazon.com

Secure connection が必須

WorkMail の SMTP は Secure connection: Required なため
クライントの設定で SMTPS を有効にする
or
ホストに ssl://smtp.mail.us-east-1.awsapps.com と明示的に指定する必要がある.

非同期処理で行う

新規登録などユーザの動作をトリガーとしてメールを送る場合に
SMTP での送信処理は体感で, 500ms~2000msぐらい(場合によってはもっと)かかるので
同期処理だとユーザに待ち時間が発生してしまうため, SQS などを使って非同期で処理する.

Wercker を Steps の作成から公開までを解説する

背景と概要

Wercker を使っていて, デプロイプロセスにちょっとしたスクリプトを入れたくなって調査した記録.

公式にもあるが, 微妙に古い&ハマりどころもあるので解説していく.

devcenter.wercker.com

Wercker 上では Steps も Application と同様に扱う(ように途中で変わったらしい).
bash もしくは golang で実装するのが推奨されている.
今回は bash での実装で説明する.

必要なファイルは3つ

wercker.yml

他のリポジトリと同様、Wercker 上で実行する Pipeline を定義する

step.yml

Steps のメタデータを定義するファイル

run.sh

Steps の実行内容を記述するファイル

手順

テンプレートを clone

最低限のファイルを定義したリポジトリを用意したので clone する.

github.com

ファイルの修正

  1. wercker.ymlowner を修正.
    ※Wercker 上のユーザー名を同じものを設定しないと, publish が失敗するので注意

  2. step.yml の name, version, summary, tags をよしなに修正.

  3. run.sh に処理内容を実装する. 今回は Node.js のバージョンを出力する.

Wercker 上で設定

1. Application を作成

f:id:morugu:20180624143809p:plain

2. Add new Pipeline から Steps 公開用の Pipeline を作成する

f:id:morugu:20180624143845p:plain

f:id:morugu:20180624144122p:plain

3. Application 登録後に git push すると build が実行されて成功すると, 2 で設定した Pipeline が実行できるようになる.

f:id:morugu:20180624145012p:plain

4. steps-publish を実行して, 成功すると My Steps に公開される

f:id:morugu:20180624145305p:plain

使い方

使いたいプロジェクトの wercker.yml に追加する

build:
  steps:
    - shoya/node-version@1.0.0

今回作った Steps とリポジトリ

shoya / node-version

github.com

マッハ新書「xOpsと組織設計」を読んで『xOpsエンジニア』という新しいキャリアについて考えた #マッハ書評

マッハ新書とは

執筆からたった12時間後には電子書籍として出版してしまう、いま最も尖ったインディーズ出版(自力出版)の極北「マッハ新書」ムーブメント。

booth.pm

マッハ書評とは

マッハ新書(12時間以内に書いて出版する)に対して, マッハ新書の出版から12時間以内に読んで書評を書いて公開することを「マッハ書評」と名付けてみる.

マッハ書評のいいことろ

  • マッハ新書の執筆者は出版後すぐにフィードバックを得ることで, 書籍を高速にアップデートすることができる.

  • マッハ書評の執筆者は自分の書評でマッハ新書のアップデートに貢献することで, より質の高いマッハ新書を読むことができる.

マッハ書評はマッハ新書のアップデートに何かしら貢献していきたいというスタイルの書評である.(OSSにPRを出すイメージに近い)

書籍の概要

著者は Gunosy CTO の @y_matsuwitter さん

読んだバージョン: v0.1805.01

買った理由

  • チームをエンジニアリングで最適化して快適な環境を作ることは, チーム内の意欲的なエンジニアが兼務や空いている時間があればやっているイメージ
  • それが専業で存在していたらチームにフィットした解決策をもっと高いレベルで提供できるのでは?(とは言えリソースないから難しいとなりがち)みたいなことを考えていた
  • ↑に対する考えが知れそう
  • マッハ新書の流れ楽しい

xOpsとはなにか?

自身の組織における様々なチームのワークフローを、DevOps と同様の観点で設計・構築・改善し属人性の低下や効率化 を狙うエンジニアのことである。

感想

xOpsエンジニアというキャリア

xOpsエンジニアとはつまり自身の組織における様々なチームのワークフローを、DevOps と同様の観点で設計・構築・改善し属人性の低下や効率化を狙うエンジニアのことである。

とxOpsエンジニアが定義されており

例として取り上げられている MarketingOps や DevOps の他にも

  • SalesOps
  • HROps
  • GrouthHaskOps
  • PROps
  • DesignOps

というように、チームの数だけこの組み合わせがあると思う.

タイトルにはxOpsエンジニアは"新しいキャリア"と書いたが, 顕在化していないだけでxOpsエンジニアっぽい仕事をしている人は既に存在している.

それが今後は明確にポジションとして確立されていくであろう.

xOpsエンジニアが目指す組織

サービスを開発するエンジニアが目指すのが「ユーザーにとって最高のサービスを作る」ことだとすると、xOspエンジニアが目指すは「組織にとって最高の環境を作る」ことではないかと思う.

エンジニアの求人情報に開発環境が快適であることが記載されているのが多いが それはエンジニアがサービス設計からユーザーに届けるまで, できるだけ(精神的・物理的)障害がない状態でユーザーに価値を届けることに集中できる環境つくりに取り組んでいます. というアピールでエンジニアはそれを望む.

今後は同様にチームとして, できるだけ障害がない状態で価値を届けることに集中できる組織作りに取り組んでいますというアピールも必要になってくる
= xOpsエンジニアの需要が高まってくると確信した.

まとめ

自分が普段から漠然と思っていたことを具体的な事例と言葉で明確にし,

xOpsという考え方/xOpsエンジニアという新しいキャリアに気づかせてくれた素晴らしい書籍でした.

Boothにて購入できるので、気になった方は以下のリンクからどうぞ! y-matsuwitter.booth.pm