麻布十番で働くデータ分析者のブログ

グロースハック、プログラミング、データ分析の色々を発信します

2018年の振り返り

2018年も大晦日になりましたので、今年1年を振り返るブログを書こうと思います。個人的に2018年は自分自身と他の人の矢印を意識する年だったなと思います。

分析インターンについて

現在いるインターン先は2017年末から所属しているので環境面として大きく変わったことはなかったなというのが正直な感想です。
 
年の初めは自分のやるべきことやバリューがいまいちよく分からない時期があり、少し苦しかったのを覚えています。4月から自分の所属する分析チームが所属してからは目の前の仕事で手いっぱいでどうやってバリューを発揮するかに一生懸命だった気がします。
 
ただ4月以降はやることが明確だったため比較的精神的に楽になりました。
 
8月くらいになると自分1人だった内定者も増えて、仕事面では充実していました。10月以降は扶養控除の関係でインターンを休んでいました。
 
休養期間はプログラミングの勉強をしたり、統計学の勉強をしていました。ただ、自分のバリューは他のところにあるということに12月になってから気づきました。
 
無い物ばかりに目が向きがちですが、自分の持っているものの中から最大限バリューを発揮できるものは何なのかを気付かされたここ数ヶ月だった気がします。
 

私生活面について

業務面以外については、他の人との関係性や付き合い方に大きく悩んだ1年だった気がします。

特に同じ会社の内定者の1人とここ数ヶ月ぶつかることが再三ありました。この内定者をAさんとします。

個人的にAさんのことは非常に尊敬していますし、人間として非常に好きです。好奇心旺盛で、勉強熱心な一面もあり、同じ内定者として非常に誇りに思っていました。

 

またインターンを休んでいた期間もAさんには非常にお世話になりました。休養で向かった長野ではいろんな人を紹介してもらったり、将来について話したりしていました。

僕自身スタートアップ界隈にいたり、自分でプロダクトを作っている人ばかりを見ていたので、Aさんが見せてくれる世界だったり価値観は非常に新鮮でした。

 

ただ、仲が良かった反面ぶつかることが何回かありました。1回は会社の人も巻き込んでしまって申し訳ないなと思いました。

 個人的にこんなにも短期間で同じ人とぶつかることがなかったので、自分のあり方を見つめ直す機会にもなっています。

また、Aさん以外にも他の人との関係で悩むことがいくつかあったので、この辺りの悩みを学びに変えて2019年は過ごしたいなと思います。

 

2019年にやりたいこと

2019年は結果を残す年だと思っています。内定者という期間も終わるので、しっかりと結果を残す年にしたいです。

 

2017年や2018年は色々なことを勉強することができました。業務面のスキルだけでなく、仕事の仕方やインプットの方法まで色々です。ここから1年はその分を全て結果に反映させていくべきだと思っています。

また、自分がしたことのないことに挑戦するというのも目標に入れます。自分の触れたことのない価値観やプロダクトに積極的に関わりたいと思います。

 また4日から会社近くに引っ越すことに決めました。大学へのコミットを完全になくし、結果を残すことに専念したいと思います。

 

人との関わり方についても全てを学びに変えていきたいと思います。来年はよりより報告ができるように引き続き頑張っていきます。

 

Data Analyst Meetup Tokyo(damt) vol.7に参加しました!

f:id:nimi0370376:20180726005911p:plain

 

こんばんは!

株式会社エウレカさんで開催されたData Analyst Meetup Tokyoに参加してきましたので、備忘録として残しておきたいと思います。

 

Meetupの感想としては、mercariの樫田さんと直接お話ができたり、THE GUILDのGo AndoさんのLTが聞けたりと最高でした!

 

この記事では、LTの学びや今回のMeetupを通しての学びを共有できたらと思います。

  • Data Analyst Meetup Tokyoとは?
  • Data Analyst Meetup TokyoのLT
    • エウレカの紹介とデータ分析取り組みについて(株式会社エウレカ
    • データアナリストとログ基盤の付き合い方(株式会社eureka)
    • KPIの決め方(Retty株式会社)
    •  ゲームのデータ分析とは?(株式会社カプコン)
    • なぜデザイナーがデータ分析をするのか(THE GUILD)
    • ミクロ計量経済学による分析への招待(株式会社空)
    • FiNCがグロースチームにおいて重要なこと(株式会社FiNC)
  • Data Analyst Meetup Tokyo(damt)での学び

 

 

Data Analyst Meetup Tokyoとは?

そもそもこのData Analyst Meetup Tokyo (damt)が何なのかを紹介します。connpassから抜粋すると以下のような感じです。

 

Data Analyst Meetupという名前の通り、この会は事業会社でデータ分析を担当するデータアナリスト/データサイエンティストの集まりです

 つまり各社のデータサイエンティストやデータ分析に携わる人がノウハウや実務に関する話をする会のようなものです。

mercariの樫田さんはこの会をデータアナリストのコミュニティと表現しており、どんどん親睦を深めてくださいとおっしゃっていました。

 

続きを読む

非エンジニアがOSS開発にコミットした話

f:id:nimi0370376:20180423000148p:plain

 

この度小さな規模ですが、OSSにコミットしたのでその方法と過程をシェアしたいと思います。

  • OSSコミットの種類
  • OSSにコミットしようとした経緯
  • OSSにコミットする手順
    • Pull Requestの出し方
    • 修正して再びPull Requestを出す
  • 無事merge

 

今回コミットしたプロジェクトはこれです。

github.com

 

主にRuby on Railsで利用するgemです。

Railsでログイン機能を実装する際にdeviseという有名なgemがあるのですが、上記のgemを併用するとログインページのデザインをbootstrapでいい感じにしてくれます。

続きを読む

GethによるEthereumブロックチェーン入門の入門 (Gethセットアップ篇)

本記事の目的・対象読者

f:id:nimi0370376:20180324001151p:plain

本記事ではEthereumのフルクライアントであるGethを使ったブロックチェーンの入門の入門を取り扱います。対象読者は下記のような方です。

  • ブロックチェーンに技術的な興味がある
  • 将来dAppsなどの分散型アプリケーションの開発をしてみたい
  • ethereumを技術側から触ってみたい
  • 詳しいことは置いといて、とりあえず自分のPCでethereumの送金を試したい

また、著者もブロックチェーンを勉強中です。自分へのメモとしても公開しています。
すでに詳しい方で「こんな情報あるよ」「ここが間違っているよ」などがありましたら、コメントに残していただけると幸いです。

また入門の入門なのでブロックチェーンの概念やEthereumの詳解などは致しません。
上記の項目を了承いただいた上で読み進めていただけると幸いです。

Gethとは

前述したように今回取り扱うGethは、Ethereumのフルクライアントになります。Gethを使うと下記のことができるようになります。

etherはEthereumの暗号通貨になります。各ノードでこのetherをやりとりします。また、トランザクションは1回の取引(送金)を指します。

トランザクションについて詳しく知りたい方は下記のブログが参考になると思います。

blockchain.gunosy.io

Gethをインストールする

Mac OSにインストールする方

Mac OSの方はhomebrewからのインストールが可能です。
まず、xcodeがインストールされていない方は、xcodeをインストールします。次にターミナルから下記のコマンドを実行します。

$ xcode-select --install

続いて、下記のコマンドを実行すればHomebrewのインストールができます。

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
==> This script will install:
/usr/local/bin/brew
/usr/local/Library/...
/usr/local/share/man/man1/brew.1
==> The following directories will be made group writable:
/usr/local/.
/usr/local/bin
/usr/local/lib
/usr/local/share
/usr/local/share/doc
==> The following directories will have their group set to admin:
/usr/local/bin
/usr/local/share
/usr/local/share/doc

Press RETURN to continue or any other key to abort
==> /usr/bin/sudo /bin/chmod g+rwx /usr/local/. /usr/local/bin /usr/local/lib /usr/local/share /usr/local/share/doc

WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password:
==> /usr/bin/sudo /usr/bin/chgrp admin /usr/local/bin /usr/local/share /usr/local/share/doc
==> /usr/bin/sudo /bin/mkdir /Library/Caches/Homebrew
==> /usr/bin/sudo /bin/chmod g+rwx /Library/Caches/Homebrew
==> Downloading and installing Homebrew...
remote: Counting objects: 184874, done.
remote: Compressing objects: 100% (50748/50748), done.
remote: Total 184874 (delta 133006), reused 184810 (delta 132957)
Receiving objects: 100% (184874/184874), 36.91 MiB | 57.00 KiB/s, done.
Resolving deltas: 100% (133006/133006), done.
From https://github.com/Homebrew/homebrew
 * [new branch]      master     -> origin/master
HEAD is now at 601338e Remove proc handling from BuildEnvironment
==> Installation successful!
==> Next steps
Run `brew doctor` before you install anything
Run `brew help` to get started

続いて、homebrewからgethをインストールします。
下記コマンドを実行して完了です。

$ brew tap ethereum/ethereum
$ brew install ethereum

Ubuntuにインストールする方

Ubuntuにインストールする方は下記のコマンドを実行することでGethを自分のマシンに取り込むことができます。

$ sudo add-apt-repository -y ppa:ethereum/ethereum
$ sudo apt-get update
$ sudo apt-get install ethereum

Gethを動かしてみる

それでは実際にインストールしたGethを自分のマシンで動かしてみます。

genesisファイルを作成する

任意のディレクトリにブロック情報やgenesisファイルを格納するフォルダを作成します。

著者はデスクトップから動かしたかったので、下記のコマンドで実行しました。

$ mkdir ~/desktop/eth_private_net

上記ディレクトリに移動し、ディレクトリ内にmygenesis.jsonを作成してください。下記のjsonコードを入力して保存します。

{
  "config":{
    "chainId":15
  },
  "nonce":"0x0000000000000042",
  "timestamp":"0x0",
  "parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000",
  "extraDate":"",
  "gasLimit":"0x8000000",
  "difficulty":"0x4000",
  "mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000",
  "coinbase":"0x3333333333333333333333333333333333333333",
  "alloc":{}
}

このjsonファイルには最初のブロック(genesisブロック)の情報が書かれています。主な情報は下記になります。

  • nonce
  • gasLimit
    • コントラクトのやり取りに必要なgasを制限する情報。更新することも可能

genesisブロックの初期化

下記のコマンドでgenesisブロックを初期化することができます。

$ geth --datadir ~/desktop/eth_private_net init ~/desktop/eth_private_net/myGenesis.json

INFO [03-21|18:42:34] Maximum peer count                       ETH=25 LES=0 total=25
INFO [03-21|18:42:34] Allocated cache and file handles         database=/Users/username/desktop/eth_private_net/geth/chaindata cache=16 handles=16
INFO [03-21|18:42:34] Writing custom genesis block 
INFO [03-21|18:42:34] Persisted trie from memory database      nodes=0 size=0.00B time=17.266µs gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B
INFO [03-21|18:42:34] Successfully wrote genesis state         database=chaindata                                                 hash=7b2e8b…7e0432
INFO [03-21|18:42:34] Allocated cache and file handles         database=/Users/username/desktop/eth_private_net/geth/lightchaindata cache=16 handles=16
INFO [03-21|18:42:34] Writing custom genesis block 
INFO [03-21|18:42:34] Persisted trie from memory database      nodes=0 size=0.00B time=3.252µs  gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B
INFO [03-21|18:42:34] Successfully wrote genesis state         database=lightchaindata                                                 hash=7b2e8b…7e0432

Geth起動

実際にGethを起動します。

$ geth --networkid "15" --nodiscover --datadir "~/desktop/eth_private_net" console 2>> ~/desktop/eth_private_net/geth_err.log

少し長いですが、一つずつ見ていきます。

  • networkid
    • ここで整数のIDを指定することで、ライブネットとは異なるネットワークを起動することが可能です。genesisブロックで指定したchainIdと同じものを指定しましょう。
  • console
    • Gethには採掘やトランザクションの生成などを対話的に進めることができるコンソールが用意されています。consoleオプションでそのコマンドを立ち上げることが可能です。
  • geth_err.log
    • cosoleで立ち上げるlogが格納されているファイルです。

下記のlogが出たら成功です。

Welcome to the Geth JavaScript console!

instance: Geth/v1.8.2-stable/darwin-amd64/go1.10
 modules: admin:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0

>

実際にgenesisブロックを見てみましょう。

> eth.getBlock(0)
{
  difficulty: 16384,
  extraData: "0x",
  gasLimit: 134217728,
  gasUsed: 0,
  <略>
  uncles: []
}

こんな感じにgenesisブロックの情報が表示されたら成功です!

下記のコマンドでgethのconsoleを終了できます。

>exit

さてgethのセットアップが完了したところで、次に実際にehtherの採掘をしてみます。
現在情報を整理している最中なので、少々お待ちください。

GethによるEthereumブロックチェーン入門の入門 その2
GethによるEthereumブロックチェーン入門の入門 その3

参考にした記事

MacにHomebrewをインストールする

内定を貰ってから入社するまでに考えるべき4つのこと

f:id:nimi0370376:20180321015647p:plain

ランチをしていく中で色々考えるべきことがあったので、メモ程度に残しておく

自分は組織の中でどう生きていくか

新しく会社という組織に属していくに当たって、自分がどのような立ち回りで生きていくかは非常に大切な要素の一つとなってくる。

 

組織の中で自分にしか出せない強みは何か、自分がコミットすることで組織がどう成長していくかは考えておきたい。

 

このときにロールモデルとなる人や、役職があれば頭に残しておきたい。

 

続きを読む

「それ、根拠あるの?と言わせないデータ・統計分析ができる本」で学んだこと

f:id:nimi0370376:20180101013642p:plain

 

あけましておめでとうございます!

2018年もよろしくお願いします!

 

年末年始は空き時間に本を読んでいまして、ちょうど読み終わった本があったのでメモがてら残しておきます。

現在Rettyでデータ分析をしているのですが、そのデータ分析の入門書のようなものを借りていました。学んだことをいくつかシェアします!

 

 

 

  • それ、根拠あるの?と言わせないデータ・統計分析ができる本とは
  • 平均、中央値、分散、標準偏差について
    • 平均値はデータを代表する値か?
    • 各値がどれくらい平均から離れているか
    • ヒストグラムでばらつきを可視化
    • 標準偏差STDEVP関数とSTDEV関数の違い
  • 相関係数と回帰分析について
    • 相関係数を扱う際に注意点について
      • (1)単なるデータの偶然
      • (2)単に"関連"のあるデータの組み合わせ
      • (3)疑似相関
      • (4)因果関係の有無
      • (5)原因を1つだけと決めてしまうリスク
      • (6)データの期間
    • 回帰分析でより具体的な施策に落とし込む
  • 2018年はもっと色々な分析方法を勉強したい

 

続きを読む

2017年をまとめておく

2017年も残すところ2日になって、だんだん年の瀬感が増してきましたね。

去年もやったのですが、今年も1年間をまとめておこうと思います。

僕自身の1年間ですが、今年は昨年比べると落ち着いた年だったように思えます。ただし、学びもたくさんあったのでその辺をこの記事に残せたらと思ってます。

 

  • スタートアップでの1年間
    • マーケの仕事について
    • マーケの仕事の反省
  • 進路を考え始めた秋
    • 自分は何がやりたいのか
    • 自分の立ち位置を考えた
    • 逆求人のイベントに参加
  • 就職活動を始めた冬と環境の変化
    • 1年2ヶ月いたスタートアップをやめる
    • 新たな環境
  • 自分でサービスを作ることに関して
  • 2018年に向けて

 

続きを読む