Work Records

日々の作業記録です。ソフトウェアエンジニアリング全般から、趣味の話まで。

こちらに引っ越しました。

主に趣味プロジェクトについて書いていく予定です。 note.com

Cloudnative Days Tokyo 2019で「マイクロサービスにおける最高のDXを目指して」というタイトルで発表しました

cloudnative days tokyo 2019というイベントで登壇してきました。 speakerdeck.comマイクロサービスにおける最高のDXを目指して、というタイトルで詳細はスライドを見ていただければと思います。 思えば、CFPを出して40分も登壇することが初めての経験だった…

30 days challenge(仮名)というアプリの構想

今年はゴールデンウィークが10日もあるので10daysハッカソンをしている。 今日は4日め。平成最後の日。 なにを作っているか? 一言で言うと、30日で何かを達成したい、習慣づけたいと言う人のためのアプリを作っている。 TEDでも同じようなアイディアを話し…

2019年も3ヶ月終わったので年始に立てたの目標を振り返る

2019年も3ヶ月が終わり。。。年始に立てた目標は3ヶ月くらいの周期で振り返った方がいいですね、と。 https://scrapbox.io/kenjiszk/2019_Objective その1 https://scrapbox.io/kenjiszk/2019.12.31までに英語力を一人前にする 英語は、mikanを1~2月と続けて…

Rubyでブロックチェーンをできるだけ丁寧に実装して理解する(ネットワーク編 Vol.3)

Rubyでブロックチェーンを実装する 前提 支払いのトランザクション マイニングする 実際にウォレっとの作成からマイニングまで まとめ 次回? Rubyでブロックチェーンを実装する 第8回目です。 第1回はウォレットを作成して秘密鍵・公開鍵・ビットコインアド…

Rubyでブロックチェーンをできるだけ丁寧に実装して理解する(ネットワーク編 Vol.2)

Rubyでブロックチェーンを実装する 前提 docker-composeの修正 ジェネシスブロックの作成とその電波 ジェネシスブロックを作成するAPI 他のノードがブロックを取得する ブロックのデータをGETできるAPIを作る node1からブロック情報をとってくる処理 まとめ …

Rubyでブロックチェーンをできるだけ丁寧に実装して理解する(ネットワーク編 Vol.1)

Rubyでブロックチェーンを実装する 前提 ブロックチェーンのネットワークについて ノードの要件定義 システム要件 ジェネシスブロック その他のノード トランザクションの発行 トランザクションの検証 ブロックの検証と取り込み APIサーバーを立ち上げる rub…

Rubyでブロックチェーンをできるだけ丁寧に実装して理解する(プルーフオブワーク編)

Rubyでブロックチェーンを実装する 前提 プルーフオブワークとは? プルーフオブワークの実装内容 マイニング報酬 まとめ 次回 Rubyでブロックチェーンを実装する 第5回目です。 第1回はウォレットを作成して秘密鍵・公開鍵・ビットコインアドレスを発行して…

Rubyでブロックチェーンをできるだけ丁寧に実装して理解する(ブロック編)

Rubyでブロックチェーンを実装する 前提 トランザクションをひとまとめにするブロック ブロックの生成 ジェネシスブロックの生成 トランザクションの管理方法を変更する 2つめ以降のブロックを作成する まとめ 次回 Rubyでブロックチェーンを実装する 第4回…

Rubyでブロックチェーンをできるだけ丁寧に実装して理解する(署名編)

Rubyでブロックチェーンを実装する 前提 トランザクションの署名とは? 前回までの実装での問題点 トランザクションの中身を書き換えられそう 2重利用できそう トランザクションの改ざんを防止するための署名を実装する 送金時に署名を追加する トランザクシ…

Rubyでブロックチェーンをできるだけ丁寧に実装して理解する(トランザクション編)

Rubyでブロックチェーンを実装する 前提 トランザクションを実装する トランザクションに必要なインプットとアウトプットを実装する。 トランザクションクラスを実装する。 ウォレットを用意する 最初のトランザクションを作ってみる トランザクションを保存…

Rubyでブロックチェーンをできるだけ丁寧に実装して理解する(ウォレット編)

Rubyでブロックチェーンを実装する 前提 ウォレットを実装する ウォレットの機能って? ウォレットクラスを作る 秘密鍵を作成する ブロックチェーンのアドレスに変換する データストアに保存する redisをdockerで立ち上げる データの保存と取り出し用のクラ…

エンジニア職と株式投資

エンジニアが株式投資を考えることについて NVIDIA株 第一参入期 AlphaGo 第二参入期 仮想通貨 ただし大局も見ないといけない では次は? VR / Oculus Go 小型GPU 5G まとめ エンジニアが株式投資を考えることについて 自分の観測範囲だけかもしれませんが、…

SRE風のインフラエンジニアにならないために

この記事は、SRE Advent Calendar 2018 - Qiitaの24日目として投稿しています。 SRE風のインフラエンジニア SREとDevOps そもそもDevOpsとは SRE本でも取り上げられている、DevとOpsの目的の差異 ミクロなDevの目的 ミクロなOpsの目的 Ops側の視点での安定性…

ECSのTaskを同期的に実行するコマンドecs_task_executorを作った

ECSのTaskの実行について APIアクセスによるTaskの実行 困ること API経由でのTaskの実行は非同期で行われる で、何が困るか? 同期的に実行できるようなコマンドを作った 今後 ECSのTaskの実行について ECSにはServiceとTaskという二つのコンテナの実行方法…

ALISのICOスマートコントラクトを読んでALISベータ版にまとめ記事を投稿してみた

ALISとは 公式サイトより。 ALISは信頼性の高い情報・人に素早く出会えるソーシャルメディアプラットフォームです。 信頼できる記事を書いた人、それをいち早く見つけた人が報酬を獲得することで信頼できる情報を蓄積するプラットフォームの実現を目指します…

slackに飛んでくるアラートの統計を取る

slackに色々なアラートを飛ばしている アラートの統計情報を取りたい slackの機能 APIを使って取得してみる サンプルスクリプト slackのchannels.historyからデータを取得 MySQLに突っ込む 結果 redashによる可視化 可視化するためのSQL クエリがかけたらred…

Scriptの実行環境を保証するためにDockerfileを使う

Scriptの実行環境 最近golangを使ってちょっとしたscriptを書く機会が何度かあったが、そこにDockerfileを置いておいてビルド環境や方法を固定する方法がいいなあと思ったので、メモ程度に。 goの場合は実行ファイルはコンパイル後のバイナリで依存がOS(linu…

クラウドマイニングのススメ (genesis mining編)

クラウドマイングって? 自前でマイニングリグを作る場合 この記事で書きましたが、仮想通貨をマイニングするには最低でこのくらいの初期投資が必要になります。 kenjiszk.hatenablog.comGPUの枚数によりますが、ある程度の利益を得たいなら50~100万くらいは…

Dockerfileの置き場所・管理場所を色々考えた

Dockerfileをどこに置いて誰が管理するのが良いのか?という話 Dockerを導入する前の構成 Docker導入初期 中央管理により発生する問題 Dockerfileの多様化 インフラ作業が律速になる可能性 アプリエンジニアのDocker知識がつかない アプリケーションのレポジ…

RailsのDockerイメージを小さくしたい

Docker imageを小さくする RailsのDockerイメージ 現状のDockerイメージ rbenvのinstallとrubyのinstallが無駄ではないか? ruby-alpineに変えてみる 結局何がサイズを大きくしてんの?? Multi-Stage Buildsを使おう OSを変える いらなそうなファイルがない…

仮想通貨(暗号通貨)をGPUマイニングするためのスターターキット

仮想通貨(暗号通貨)マイニングとは? 必要パーツ GPU(グラフィックカード) マザーボード ライザーケーブル 電源 電源を2つ利用する場合 CPU/メモリ OS SSD ラック 組み立てハマりどころ どのコインを掘る? まとめ 仮想通貨(暗号通貨)マイニングとは? ここ…

そういえば去年掘ったあれ、今いくらになってんの?

最近はビットコインやらマイニングやら流行っておりますが、そう言えば去年マインングにチャレンジしていました。 この記事で試しに掘ったBytecoinの件ですね。 qiita.com去年のスクショがこちら。 はい、そのまま放置していましたが、これが今年のスクショ…

複数のRDSから1台のEC2にレプリケーションをする方法 複数MySQL編

そもそもマルチソースレプリケーションが辛いところ MySQLがトラブると全部アプリケーションのレプリが止まる 一つだけ止めるといったことができない 全部同じMySQLのバージョンとパラメータで起動する レプリケーションのCHANNEL管理 Auroraが5.7ベースでは…

ロボットアドバイザー THEO を1年半試してみた結果

簡単に個人投資が出来るロボットアドバイザーTHEOって? theo.blue お金を預けて簡単なポートフォリオを設定しておくと、THEOのシステムが勝手に運用してくれるというサービス。 投資に詳しくなくても資産運用ができるというもの。 特徴は、日本円で資産を持…

最安VPS Time4VPSが安すぎた

VPS

VPS 月額0.66ユーロ ちょっとした用事でサーバーが必要だったので安いVPSを探していたら、Time4VPSというVPSが月0.66ユーロ(約80円)という驚きの価格を提供していたので、まあ駄目元で契約してみた。 ちなみにスペックは、CPU 1 x 2.40 GHz、メモリ 512 MB、…

ruby メタプロ method_missing使用例 - delayed_job編 -

gemをもくもくとよんでみた結果得られた物を書こうと思う。 今回はmethod_missing。 method_missingとは rubyのメタプロ的書き方の一つ。 継承チェーンを一番上まで辿ってもそんなメソッド無いよ!って時に呼ばれる輩。 ググれば色々と出てきますが、要する…

Qiita投稿 MySQL記事まとめ

最近はQiitaに投稿しています Qiita(というかKobito)が結構便利なので最近は単純な技術系記事はQiitaに投稿しています。 おかげで今月31日だというのにこれが最初の投稿。 最近のMySQL系の記事まとめ @Qiita 良く分かるMySQL Innodbのギャップロック qiita.c…

Parse.comのAnalyticsが優秀すぎる

Parse.comのAnalyticsが相当優秀 出来る事がこんなにある Audience Events Data Retention Performance Slow Queries Crashes Explorer 運用しているアプリを例に一つ一つ紹介してみる。 Audience Daily Active Userとか見れる。しかも期間無制限っぽい。 Ev…

iPhoneアプリが中国からインストールされてた

ある日突然iPhoneアプリ・バブルデコレータのインストール数が上がっていた 水玉コラ簡単作成アプリ、バブルデコレータですが急にインストール数が上がりました。 https://itunes.apple.com/jp/app/baburudekoreta/id741537396?mt=8&at=10l8JW&ct=hatenablog…