病みつきエンジニアブログ

機械学習、Python、Scala、JavaScript、などなど

草コイン「おがコイン」を発行したら5000兆円ぐらい獲得した(気分になった)

タイトルは釣りです。 これは「5000兆円持っている」と言っても過言ではないのでは・・・? pic.twitter.com/WpZveC0bin— やみつきー(小笠腹)@75.5kg (@YAMITZKY) 2018年2月12日 こちらのツイートを見てもらえると分かるとおり、僕の資産が約38兆ドル(4,180…

AWS の CloudWatch Logs を便利に見れる GUI 環境を作ってみた

github.com github.com コンセプト 先行アプリケーションとして awslogs という CLI がある。これを GUI = ブラウザで見れるようにしたもの。なので awslogs-gui、awslogs-api という名前だし、パラメータやデフォルトの挙動は awslogs に倣っている(API の…

社内ネットワークで使うための短縮URLサービス作った

社内専用環境とかで“性善説”に基いて運用できる、短縮URLを作ってみた。 github.com 詳細は README に書いているが、 シンプルなUI 命名もできるし、ランダムな文字列もいける 既存の短縮URLの上書き(性善説だし :) DynamoDBがバックエンドで安い Dockerベー…

年の瀬なので26歳の1年間を振り返る

「エンディングノート」書いた あと60年くらいは生きたいが、遺言書を書いた。 友人や祖母が亡くなったりするイベントがあったので1年前くらいから書こうとは思ってて、この度生活環境が大きく変わったので(とても良い)、引っ越しに合わせて、書いた。「遺…

Python の開発に VSCode を使ってみた雑感

普段 Python 書くときに使ってるエディター PyCharm (Vim Emulator を入れてる) たまに Vim PyCharm の気に入っているところ 型推論がすごく良い。動的型付けな言語にとって、これはかなり良いメリット Vim の Emulator が結構良い PyCharm の不満 Vim の Em…

「GraphQLは何に向いているか」に対してのちょっとした反論

k0kubun.hatenablog.com 非常に丁寧に書かれていると思うのですが、少し反論したい部分があるので、記載したいと思います。 GraphQLのキャッシュ効率について クエリをパースしないとキャッシュの可否を判定できないため、HTTPキャッシュが難しい こちらに関…

Puppeteer を CLI で動かす Docker イメージ作った

また新しい Docker イメージ作ったので紹介する。 https://hub.docker.com/r/yamitzky/puppeteer-cli Puppeteer とは? github.com Chrome Headless を Node で触るためのライブラリで、URLを見ると分かる通り、 Chrome のチームが出しているものです。 Pupp…

チーム開発における「ニワトリ」が適切に鳴くために

アジャイルやスクラムとかの文脈で「ニワトリ」と「ブタ」という概念がある。 その言葉自体は結構ググれば出てくると思うんだけど、一つ寓話を引用してみる。要は、「ニワトリとブタ」のプロジェクトメンバーが「ハムエッグ」を作る上で、「ブタ」は自分の身…

たとえシステムが落ちても“社内には”謝罪するべきではない理由。あるいは”反省”と”対策”にフォーカスしようという話

こんなことを書くと怒られそうなんですが、自分の一つのポリシーとして、システムが落ちたり障害が起きたりバグが発生したことについて、基本的に“社内には”謝罪しないことにしています(もちろん例外は度々あります)。 という概念は広まるべきだなと思ってい…

なぜ“まとも”なソフトウェアを作らなければいけないのか

私達まともなソフトウェアエンジニアは、まともなソフトウェアを作ろうとする。ソフトウェアエンジニアには、アプリのエンジニアだったり、サーバーサイドエンジニア、リサーチエンジニアなども含む。 まともなソフトウェアエンジニアは、テストコードを書く…

2016 / 2017 総括と今年の目標と今後の方向性と

2016年の振り返りと、2017年の抱負とか。 2016年の総括 2016年は、本当に大変な年だった。おわり。 目次 体重キープした件 家出れるようになった件 君の名はまだ見てない件 おうちハックしたい件 今年やった技術とか 今後の方向性とかに悩んでいる件 体重キ…

Dockerfileを生産性高く書く方法についてLTしてきた

10月21日(金)に、JX通信社内での勉強会でDockerfileを生産性高く書く方法のLTをした。 この3ヶ月で、公開しているものだけでも8個ぐらいDockerイメージを作ったらしいw ↑のスライドの要旨を言うと、 Dockerfileを書くときはTmuxとSlimeを活用しましょう!…

25歳になった / 労働についてのあれこれ

もう誕生日から2ヶ月経つが、8月末に25歳になった。 お祝いを頂いた方、本当にありがとうございましたm(_ _)m ちょうど今年は転職した“転機”で、転職して一段落経ったし、最近思ったこととか、気持ちの変化とか書いてみようかなと思う。 アプリのサーバーサ…

俺がTerraformファイルをいじるときに使ってるツールを雑に紹介する

Terraformは、インフラ管理をコードで管理するためのツールです。具体的にJXでは、AWSのインフラを管理するのに使っています。「インフラを管理する」というのは、今までだったらAWSのWeb管理画面(コンソール)やらAWS CLIでやっていたような作業を、ソースコ…

Apexを使ってAWS Lambdaを楽に管理しよう

AWS Lambdaでサーバーレス楽しんでるみなさん。 私の所属するJX通信社では、AWS Lambdaを結構活用しています。Lambdaのデプロイ管理のために、個人的にはApexというツールを使っているので、今回はその紹介をしたいと思います。 apex.run TL; DR Lambda使う…

通信系テストのためのサイトのススメ:example.com、httpbin.org、badssl.com

HTTP通信の機能を持ったプログラムをテストするときに、どこにアクセスするか、迷うことがある。(モックが使えるならそれがいいけど) そんなときにおすすめな、example.comとhttpbinとbadssl.comを紹介してみる。 example.com 名前がそのままだが、example.c…

そろそろニューラルネットやディープラーニングを「人間の脳を模倣してる」というのをやめませんか?

最近(?)ニューラルネット(Neural Network)やらディープラーニング(Deep Learning; 深層学習)やらが流行ってきて、人工知能やらシンギュラリティやら言われるようになって、その中でよく言われるのが「ディープラーニングは人間の脳を模倣してる」とか「特徴…

転職しました&新年の抱負

昨年の12月に新卒入社したサイバーエージェントを退社して、今月からJX通信社で働きます。 JX通信社は大学時代にアルバイトしていた会社なので、カムバックすることになります。 (といっても、ロゴとかオフィスとかいろいろ変わっているのですが…) 本当に何…

今更始めるDocker on Mac、今更覚えるDockerコマンド

賢い読者はお気づきだと思いますが、このページの情報は2年前ぐらいの記事です。古いのでオススメしません。Docker for mac とかない時代っぽい時期の個人的なメモです 今更ながらDocker始めてみた。モチベーションとしては、Sparkとか試すために、手元に仮…

保存できないけどread-onlyではないJupyter Notebookサーバーを立ち上げる

誰でも触れる、かつ、誰でもパラメータ変更できる、けど保存はしないでほしいJupyter(a.k.a IPython) Notebookサーバー作りたいことってあるじゃないですか。 例えば、社内のMySQLサーバーとかHadoop環境とかのクエリを叩けるようなJupyter Notebookを作った…

AWS IAMによる権限設定のハマりどころと、効率的なデバッグ方法

Amazon Web ServiceのIAM(Identity and Access Management)は、AWSの各種サービスに対してのアクセス制御を(結構細かく)設定するためのシステムです。 ただ、いくつか掛けられる制約にも制限があり、いろいろハマるところがあったので、メモを。 シナリオ Je…

vim-slimeで「for ... in ...」構文を便利に転送する

Vimにはvim-slimeという便利なプラグインがあり、Vim上で書いているコードを、tmuxやscreen経由で別ペインに転送することができる。 これの何が嬉しいかというと、「左はPythonソースコード」「右はPythonの実行結果」みたいな感じで、書きながら実行できる…

TensorFlowを社内向けにざっくりLTして回帰した(+資料とか)

Googleが先日「TensorFlow」という機械学習ライブラリを発表していて、話題になっています。 さっそく今日社内で紹介LTしてきました。 「社内」のエンジニアの話で言うと、機械学習の会社ではないので、機械学習とかDeep Learningとかには深掘りして話してい…

dotfiles公開した+vim/zshのおすすめ設定とか

yamitzky/dotfiles 会社のPCを新調して、環境設定するタイミングだったので、いい機会だしdotfilesを公開した。 今までは自分のプライベートgitサーバーに置いてたんだけど。 やはり、公開すると、綺麗に書くようになるしいいなあという感じします。 これだ…

「メールの添付ファイルにパスワードかけて、別メールでパスワードを送る」に言いたいこと

(2015/8/29追記) 最初に代案だけ書いておくと、(メールで送る程度の秘匿性のものは)「Proself」みたいな別プロトコルを使う、です。 メールパスワードでは、パスワードに規約をつけることもできません。 また、この話は企業等においてのルール化の話です。 …

スパースな行列のPearson相関係数

Scipyには、ピアソン相関係数を計算するための関数、scipy.stats.pearson というものがあるのですが、残念ながらスパースな行列(scipy.sparse)には対応していません。 実際、実装を見てみると(stats.py)、 mx = x.mean() my = y.mean() xm, ym = x - mx, y -…

Pandas経由でHiveQLを実行してDataFrameに簡単に入れる方法

Hive経由で集計した値を、Pandasからスムーズに使うための方法を紹介します。 "スムーズ"に、というのは、「CSVを経由しない」と言い換えてもらって大丈夫です 準備 ライブラリとして、Dropboxの PyHive と Clouderaの impyla が必要です。 PyHiveを使ってい…

アメブロでソースコードとかを投稿する方法、またはGithub Flavored Markdownで投稿する方法

お疲れ様です(?) 私の所属する会社には「アメーバブログ」というものがあり、せっかくなら愛着のある自社製品を使いたいところですが、残念なことに プログラマー向けの機能は全然足りません*1。ということで、弊社のプログラマーは、プログラミング系の話…

jedi-vimでanacondaのパッケージを補完させる

davidhalter/jedi-vim VimでPython環境をいい感じに整える | tekkoc'blog jedi-vimという、vimで(賢く)Pythonの補完などをしてくれるプラグインがあります。vimでPython書くなら必須かも、というレベル。 当たり前(?)の話ですが、pipでインストールしたよう…

株式会社CyberZで働くことになりました/後輩の方々にお願い

株式会社サイバーエージェントに入社し、早期配属をすることができ、株式会社CyberZで働くことになりました。 CyberZは、サイバーエージェントの子会社で、スマホ向け広告効果計測ツールを作っている会社です。 CyberZで何をしたいかというと、ざっくりと言…