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 ただリ…

Route 53を使用しつつ独自ドメインでメールアドレスをGmail上で送受信する

今までメールアドレスは~~~@gmail.comのようなGmailを使用していたけど、自分のドメインもあるしそのドメインでメールアドレス作ってやろうとしたいなと思って、早速実行した。 今回やりたいこと 独自ドメインでメールアドレスを作成したい 今回は例としてex…

Pythonでコードチェックをするためにflake8いれた時に少しはまった

最近Pythonを書くことがあるけどRubyでいうrubocopみたいな静的解析をそろそろしたくなってきたのでflake8を使った。 ただそのオプションで少しはまったのでそれを書く。 flake8とは gitlab.com PyFlakes pycodestyle Ned Batchelder’s McCabe script 上の3…

C++のxtensorのPythonバインディングを扱う

hatappi.hateblo.jp 前々回の記事でC++製のxtensorという多次元配列を扱うライブラリをさわった記事を書いた。 この時Pythonのバインディングもあると書いたので、今回はそれを使用していく。 github.com 自分が理解出来てない部分もあるかもしれないが、REA…

C++のコードをPythonで呼ぶ

github.com C++11のコードをPythonから利用できるようにするためのアプローチの1つに上のpybind11を使用する方法があるらしい。 今回はそれを実際に動かしてみる。 pybind11とは C++のコードをPythonから利用できるようにするためのヘッダーライブラリ。 ヘ…

C++製のxtensorで多次元配列を扱ってみる

github.com 今回はこのxtensorというC++で多次元配列を扱うライブラリを使う。 このxtensorはnumpyにinspireされて作られているとのこと。 numpyに関してはPythonから使うのだがxtensorはC++で作られているとのことで、各言語でバインディングを用意してあげ…

任意のユーザーのログインシェルを任意のシェルにコマンド一発で変更する

あまり使用することのないコマンドとかのhelpとかmanで見たりすると「あっこんなオプションあったんだ」って気づくことがある。 今回はログインシェルを変更する時に使用するchsh 例えばhatappiというユーザーのログインシェルをzshに変えるとする。 今まで…

生まれて初めてGPUにふれた

生まれてこの方GPUというものにふれてこず印象はなんか計算が早くなるんでしょみたいな解釈しかしてませんでした。 とはいえさわってみないと分からないので今回は実際にさわってみてその効果のほどを確認することにしました。 まずGPUインスタンスを搭載し…

Ubuntuでテレビをモニタとして使った時に起きることとその対策

自宅にUbuntuのDesktop環境を整えたのは良いが、モニタがなくて今はテレビを使っている。 始まった pic.twitter.com/XbORRGhtEO— はたっぴ (@hatappi) 2017年7月23日 ただテレビをモニタとして使うと困ることがある。 テレビを見ながら作業が出来ない 最近の…

ブログを書き続ける方法とその結果

今回は今までのような技術ネタではないエントリです。 後はあくまでも個人的な意見なので参考になれば嬉しいです。 4月くらいにとあるきっかけがありブログを書くぞ!!という気持ちが高まって毎日ではないけど書き続けられるような体にはなったので、それに…

UbuntuでAtomのキーバインドを変更する

自宅の開発環境をMacからUbuntuしたのですが、結果がこちらです ubuntu最高ー— はたっぴ (@hatappi) 2017年7月24日 快適になった部分も多いのですが、Macの時とキーバインドが違って開発してると「あれっ??」ってなる時がある 例えば現状開発をする時はAto…

自宅開発環境をUbuntuにしました

hatappi.hateblo.jp 前書いたように最近自宅の開発環境をAWSに移行するとともに開発環境をDockerに移行した これ自体はよくて何か問題があればコンテナを立て直せばよいし、必要なものはMItamaeでいれてDocker Imageつくるだけでwebアプリケーションとバッチ…

Ubuntu 17.04でコピーをmacでいう ⌘ + c でする

最近Ubuntu Desktopを触りはじめた 今までUbuntuだとDocker ImageとかのCLIの環境でしか使ってこなかったからGUIがあるの新鮮 今回はそんな初めてのUbuntu Desktopをセットアップする時にいつものようにコピペをしようと思ったらなぜか出来ない どうやらコピ…

任意の場所に自宅の温度、湿度をPOSTしたい

前回はこんな記事書きました hatappi.hateblo.jp ただこれの欠点としてはUDPなので届いてるかも分からないですし、学習リモコンの電源が抜けてるとかで送信出来ないかもしれない といった問題が考えられます 根本的な解決にはなりませんが、温度をとれるよう…

自宅サービスUPDATE: エアコンが外から操作できるようになった

hatappi.hateblo.jp 上記で自宅サービスをDockerで動かせるようにしたので、ついでに今回は機能開発もした hatappi.hateblo.jp 今回追加した機能は前回の記事でも触れたエアコンを外から付けたり消したりするものを実際に運用できる形にしたもの LINEから操…