Mi

日常をさらさらと

GoでMQTTをsubscribeする

IoTの文脈ではよく使われるMQTTプロトコルで送信されたメッセージをGoで Subscribeする. 開発環境の準備 $ brew intall mosquitto Macに MQTT Client の mosquitto をインストールする.他の開発環境の場合は、下記のリンクから参照 mosquitto.org インスト…

Learn or Die 死ぬ気で学べ 読了

Amazon CAPTCHA 現代で 日本(もしくは世界?) で1番熱量のある企業の preferred networks(PNF) のことが書かれた 「Learn or Die 死ぬ気で学べ」を読了した. 私自身は、この企業の名前と何の業界にいるのかというのは、雑誌などで見てはいたのだが、実際の…

Ethereum Transaction

Accounts Externally Owned Account(EOA) 外部所有のアカウント Contract Account スマートコントラクト これがつくられる時に作成されるアドレス アカウントの構造 nonce -> メッセージ実行時にインクリメントされる値 balance -> このアカウントが保有して…

ビットコインのマイニング

なにやってるの Bitcoinのマイニングは計算競争を行い、その勝者がブロックを作ることができる. その報酬として、新たなBitcoinを受け取ることができる. 全体のマイニング量は確定している BitcoinのマイニングにはProof of Works というアルゴリズムが使…

興味を持った理由は曖昧でもいい

ブロックチェーンが面白そうだから、 ブロックチェーン扱ってる企業に話を聞きに行ったり、 大学院に行く準備し始めたりしているワケだけど、 「なんでブロックチェーンに興味もったの?」と聞かれたときに、 今後の可能性がとか最もらしいことを口にしてし…

Truffle について学ぶ

概要 最も有名なDAppsの開発ツール 何が含まれているか Deploy Tool -> Migration Test Tool -> Mocha Node For Dev -> Ganache Migration Smart Contract の Deploy 方法を記述するもの DB Migration のようにバージョンを分けることが可能 RollBackはでき…

eltoo と SIGHASH_NOINPUT

Off-chain Scaling Payment Channel 2人のユーザーがいた場合に、お互いが資金を出し合って、お互いの署名がないとunlockができないようなマルチシグに送金するトランザクションを生成し、それをblockchainにbroadcastし、そのfunding transactionをinputと…

Plasmaについて学ぶ

BlockChainのトリレンマ トリレンマ どれも好ましくないが、その中から1つを選択肢しなければいけない状態 現状のEthereumの問題 1秒間に 10 - 15transaction程度しか処理できない 遅い!! なぜか decentralization(分散化)を維持する必要があるから 全ての人…

ECDSA署名について学ぶ

事前の単語知識 2-of-2 2者間署名 マルチシグ マルチシグネチャー ビットコインを送付するための複数の署名が必要なこと 3つの秘密鍵の内、2つの鍵での署名が必要などなど Bitcoin の通常の2-of-2マルチシグ Bitcoinを使用するための複数人の署名が必要な仕…

EVMとは何か

EVMとは何か Ethereum 上にのっているVirtual Machine SmartContractを動かず場合には、基本的に EVMの上で実行する 特徴 チューリング完全 stack型のマシン 256個のopcodeを持つ // opcode -> 機械語の1個の命令の部分で、実行する操作 (operation) の種類…

Goのポインタがよくわかってないから、まとめてみる

Go

Goは勉強のコストが低いから、誰でもやりやすい言語と言われている. それは重々承知しているし、実際に書いていて、わかりやすい言語ではあると思う. しかし、曖昧なまま進んでいくと、ぶち当たるだろう ポインタ , これがマジでよくわからない. 元々 CS …

どうやってログとるの?

Log

メディア事業部のシステムは全部 Rails で組んである。 どれくらいユーザーが記事読んだとかとかの行動ログ取ってるんだけど、Railsが吐き出してる production.log を解析してるから、余計な情報があまりにも多い。 なので、nginxから取得できる access_log …

rmagik の montage で 困った話

動画を配信するサービスをやっているので、動画の転送量が馬鹿にならない。 さぁどうするかね。 やりたかったこと 動画から生成した画像を montage する。その時、画像の容量が大きくなるため、できるだけ削減したい。 やったこと まずは画像の容量下げる方…

rehash を 覚えていない僕へ

今日の業務の中で、別のリポジトリのコードを修正するタスクが回ってきた時の恥ずかしかった話。 そのリポジトリ自体は、先輩が開発から修正まで全部してきた。 僕はまずコード読んで、多分ここ修正すればいいだろうという目星をつけたところまでは良かった…

先輩プログラマーから言われた大事なこと

先輩に言われた大事なこと 先に言葉だけ書いてしまうと、 常に、結果の先を考えろ。 経緯 会社の先輩のプログラマーは超優秀で、基本的なインフラ、ネットワーク、App開発までなんでもできる。 できないことを探すことの方が難しいかもしれない。 私の略歴と…