Ruby25でRed Data Toolsとしてポスター出してきました

今日はRubyの25周年を祝うRuby25に参加してきました。 25.ruby.or.jp Rubyの歴史だとか今後についての話が聞けたのですが、今回一番印象に残ったのは日本Rubyの会の高橋さんの講演で最初はrubyだったのがPerlと並べた時の見栄えとしてRubyになったという話を…

SlackのInteractive messagesのselectでデフォルト値を指定する

Slack botを作っていると一方的にメッセージを送りつけるだけでなく、ボタンを押したりセレクトボックスから何らかを選択した時にアクションをとれるようにしたくなる。 これを実現しているのがSlackのInteractive messagesでこれを利用することでボタンをユ…

Red Chainer 0.2.0 リリースしました

Red Chainer 0.2.0をリリースしました 今回は次のような機能をリリースしました Tanh, LeakyReLUの提供 by @naitoh Snapshotのサポート by @hatappi を行いました Tanh TanhはHyperbolic Tangentとも言い次の式で表されます irb(main):008:0> x = Numo::DFlo…

Githubで2段階認証を設定しhttpsリポジトリにpushする

毎回この設定を忘れるのでメモ Githubでセキュリティ面などから二段階認証を設定する。 ただこの二段階認証を設定した状態でpush先のリモートとしてhttpsプロトコルを利用すると問題が生じる。 問題としてはpush時にusernameとパスワードを求められてログイ…

Heroku + BotKitでSlash Command

今回はbotkitを使ってSlackのSlash Commandの作成手順をメモとして残す Slash Commandの連携先の環境としてはHerokuで行う Herokuの準備 まずはHerokuの準備をする Appはブラウザ上から作っても良いしコマンドラインから作成しても良い 今回は便宜上コマンド…

tarで複数のディレクトリを起点にして圧縮する方法

タイトルの通り。 どういうことかというと次のようなディレクトリ構造をもったプロジェクトがあったとする。 . ├── dest │ └── hoge └── src └── config └── dev.yml このディレクトリを圧縮して解凍した時のディレクトリにはhoge, dev.ymlが同じディレクト…

2017年の振り返りと2018年やりたいこと

おけましておめでとうございます!! 年始初エントリは去年の振り返りと今年の抱負的なのを書いていこうと思います。 2017年の振り返り 外に出る機会増えた 2016年とかは外で発表することってほぼなくて年に1,2回だった気がする。 じゃあ2017年はどうだった…

gomodoroの残り時間をtmuxのstatus lineに出すプラグインをつくった

完成したもの キャプチャを見ると分かるようにgomodoroを動作させてない時は--:--になっており、動作している時は24:32のようにtmuxのstatus lineに表示されています!! 今回はこれをつくりました。 なんで作ったのか? gomodoroは元々時間が終わるとデスク…

Gomodoro 0.2.0 Release!!

github.com コマンドラインからポモドーロをすることが出来るgomodoroの0.2.0をリリースしました リリース内容 ちゃんとしたCLIにするための基盤作成 残り時間をかえすコマンドの提供 一つずつ紹介していければと思います。 ちゃんとしたCLIにするための基盤…

GoでCLIを作る時に便利なurfave/cli

GoでCLIを作ろうとなった時には中身のロジックも勿論必要だけどユーザーが入力するインターフェースとなる部分が必要となる。 オプションをわたすようなものの場合は標準のflagパッケージを使えば良いんだけど、commandを指定して機能をわけたいとかなった時…

command lineでテンプレートファイルに環境変数を埋め込む

毎回忘れてしまうのでメモとして残しておく。 設定ファイルとかを使う時に環境変数を埋め込みたい時とかがある。 例えばDBへの接続情報を管理するような次のようなファイルがあったとする。 - DB_HOST: xxx.yyy.zzz - DB_USER: fugafuga - DB_PASS: hogehoge…

たまってるPR一覧をSlackへ通知するgemつくった

チームで開発している時によく起きる?問題としてPRたまってしまう問題がある。 細い理由みたいなのは今回は触れない。 例えば1つのリポジトリでやりとりをしていれば、PRが目に触れる機会があるので良いが複数のリポジトリを使い分けているチームだったり…

Red Chainerをコードを変更せずに約2倍くらい早く処理させる

Speee Advent Calendar 2017の5日目の記事です。 4日は僕からGoとポモドーロなGomodoroを一ヶ月運用してみてでした! はじめに 今回はプライベートで参加しているRed Data ToolsというRuby用のデータ処理ツールを提供するためのプロジェクトで作っているRed C…

GoとポモドーロなGomodoroを一ヶ月運用してみて

Speee Advent Calendar 2017の4日目の記事です。 3日は新しいアルゴリズムをリリースするまでのモロモロでした! はじめに 今回は以前作成したGoで作ったPomodoro、その名も「Gomodoro」を一ヶ月開発、運用したのでそのことを書こうと思う。 今日話すこと 技…

GoでCのライブラリを使ったプログラムをクロスコンパイルする

Goは1つのコードで複数のOS, アーキテクチャにクロスコンパイルすることが出来る。 それも面倒な事前準備とかが必要ないのも特徴でGo1.5より前はmake.bashをコンパイルするプラットフォームで実行してみたいなことが必要だったけどGo1.5からは必要なくなって…

AerospikeでUDFを作ってGoから呼び出す

www.aerospike.com Aerospikeの話。 UDFを使う機会があったのでその基本的な操作方法とかをメモとして残しておく。 UDFとは何か? User-Defined Functionsを略してUDF。 ユーザー定義関数でluaを使ってかく。 公式のドキュメントだとこのへんに書いてある。 …

SSHをちょっとだけ楽にする

~/.ssh/configを次のように書いているとする。 実際開発していると複数台アプリケーションサーバーがあってミドルウェアが入っているサーバーがあってとか気づくとたくさんのサーバーのconfigが追加されている。 Host bastion HostName www.xxx.yyy.zzz User…

Goでファイル系のリソースも一緒にビルドして配布しちゃう!

<<<<<<<<<<<<<<<< 2018/08/23 追記 <<<<<<<<<<<<<<<< go-bindataは今はメンテされていないようです 代わりに私は今rakyll/statikを使うようにしています blog.hatappi.me <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 例えば下記のようなディレクトリ構成…

とりあえずAIスピーカー試したいならGoogle Home mini買えば良さそう!特にエンジニアは楽しめる

最近LINEのClova WAVEがあったりAppleのHomePodとかAmazonのAmazon Echoとか色々出てきている。 ただどれも1万超えたりするからちょっと買うの躊躇してしまう。 GoogleからもGoogle Homeが出ていて値段は1万5000円くらいとこれも1万を超えてくる。 store.goo…

Goでターミナル上で動くPomodoro、その名もgomodoroを作った

僕は開発をする時はポモドーロ・テクニックを使うようにしてる。 最近今まで使っていたアプリがまともに使えなくなってしまったので乗り換えを検討した。 色々検討した結果自分で作ってしまうことにしたんだけど、それは次の理由から かかった時間は記録して…

RubyWorld Conference2017でRed Data Toolsの話してきた

http://2017.rubyworld-conf.org/ja/program/2017.rubyworld-conf.org RubyWorld Conferenceきてます!!1 一日目の11/1に15分で「Rubyで機械学習が出来る未来を目指すRed Data Toolsの現状と今後について」という内容で話してきました。 speakerdeck.com …

【Red Chainer 開発日記】v0.1.1 リリース

ChainerとよばれるPython製の深層学習フレームワークがある。 Red ChainerはChainerをRubyにポーティングしたgemです。 このgemは私が参加しているRed Data Toolsプロジェクトの活動の一貫で開発してます。 詳しくは次にのせる資料を見てください。 speakerd…

Aerospikeでset内のレコードを全部消そうと思ったらコマンドラインにerrorとしか出なかった

最近会社ではAerospikeを使ってる。 今回はそのKVSで少しハマったことがあったのでメモ。 Aerospikeとは? KVS Aerospike社の開発するNoSQLでC言語で実装されている。 2014年にオープンソースとして公開されている。 www.aerospike.jp 特徴とかアーキテクチャ…

AnsibleでDocker Image作るときのあれこれ

最近はDocker Imageを作る時Dockerfile以外の方法としてPacker + MItamaeとかでDocker Imageを作ることがある。 そのためにPacker用のMItamaeプラグインとかも作ったりもした。 hatappi.hateblo.jp 最近プロビジョニング周りでAnsibleを使うことになったので…

irbとかpryとかで => で出力されるのを消す方法

最近Rubyで大きいな配列を使うことがあってそんな時に起きたこととその解決策 どんな問題があったか 僕はよくpryとかirbを使ってRubyでちょっとした操作をしたりpry-byebugを使ってbinding.pryでブレークポイントをおいてデバッグしたりする。 例えばpryを使…

軽量Ruby普及・実用化促進フォーラム2017で発表してきました

今日は技術ネタというよりかは登壇レポート的な記事 昨日9/1に福岡で行われた 軽量Ruby普及・実用化促進フォーラム2017で登壇させていただきました。 場所はハイアットリージェンシー福岡で結婚式とかも行われるようできらびやかな場所でした。 私は今までは…

Apache Arrowの凄さを体感する

データ分析とかをしていると大規模データを扱うことがある。 複数のライブラリを使う際にデータ連携を行う際に一度CSVやJSONに出力して連携先ではそれをパースしてといった方法をとることがある。 数メガくらいのファイルであれば問題にはならないが、これが…

the_silver_searcherを使って快適vim grep生活を送る

hatappi.hateblo.jp 上でも書いたように最近自宅の開発環境をUbuntuにしたりとOSが違うが出来るだけ吸収出来るようにしている。 リポジトリは下記で管理している。 github.com 今回はVimの話題。 最近ちゃんと?vimを使うようになって開発でも使用しているけ…

RubyのNumeric#coerce

最近Rubyのgemを作る中で作ったクラスを対象として四則演算をoverrideするものを作った時にはまったのでそれを書く。 何にはまったのか 例えば今回は加算を例にして下記のようなクラスを例に使う。 class Hoge def initialize(value:, weight: 10) @value = …

dein.vimをMItamaeで扱う時に困ったこととその解決策

最近はUbuntuを使うなどして個人の開発環境が変わっていっている。 せっかく変わっている機会なのでvimもちゃんと使うおうと思ってまずはプラグインマネージャーをいれることに。 とりあえずプラグインマネージャーといったらこれでしょ!! github.com ただリ…