アルパカ三銃士

〜アルパカに酔いしれる獣たちへ捧げる〜

Go で sqlx 拡張のトランザクションマネージャを書いた

sqlx-transactionmanager github.com これは Perl でいう @nekokak さん作の DBIx-TransactionManager をベースに作ったもの。今担当している会社のプロジェクト内で github.com/jmoiron/sqlx を使っており、それの transaction manager があるといいよねー…

作った bash スクリプトを誰かと共有したい時に気をつけたいこと

以前同期と bash でパイプライン cd を使えると便利だよねーという話から次のような override cd の関数を考えた。 function cd() { if [ -n "$1" ]; then arg=`cat` builtin cd "$arg" fi } こうすると echo $HOME | cd とかで移動できるが、これを bashrc …

GoCon に参加して本当に良かった話

今回 CFP を提出して選ばれ、念願だった GoCon へ参加することができた。 そして、本当に良い体験をしたため忘れないうちに記録する。 この記事を読んでて GoCon に参加しようか迷っている人がいれば勇気を出して是非参加して欲しいと思っている。 こういう…

Go Conference 2018 Spring へ登壇しました

Goroutine meets a signal というタイトルで登壇しました。 これは Golet という Perl でいう Proclet を Go に移植した際に閃いたアイディアでした。 親プロセスである Proclet へ SIGTERM, SIGHUP が送信された場合に、Proclet で管理している子プロセスへ…

株式会社メルカリへ入社しました

今日から無職です。決してエイプリルフールなどではありませんので宜しくお願いします。— 沖縄のヒートシンカー (@codehex) 2018年4月1日 昨日まで無職でしたが、本日より社員になりました。 メルカリは現在、エンジニアとしてベストを尽くせる環境を提供し…

Acme::Pointer をリリースしました

metacpan.org こんな感じの文字列を渡してあげるとデリファレンスしてくれます。 CODE(0x7fd541a84a30) HASH(0x7fd541a84a30) ARRAY(0x7fd541a84a30) SCALAR(0x7fd541a84a30) なのでリファレンスの文字列さえ保存しておけば、参照先が生きている限り実体へア…

株式会社はてなに入社しました

株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記

Gotanda.pm #16 で 「XS で作るクロージャ」というタイトルで LT しました

gotanda-pm.connpass.com で LT してきた。 XS を触ったことない人にとっては内容がちんぷんかんぷんだったはずなため、そのカバーをこの記事でできればいいなと思う。 今回作成しようとしたクロージャは次のような、どこかで作成した一つの値をサブルーチン…

Package::Prototype をリリースした

Package::Prototype というモジュールを開発した。 metacpan.org

YAPC::Okinawa を開催した

すげー開催しちゃったよ... togetter も作った。(めちゃんこ大変だった) togetter.com 運営ブログにも詳しく気持ちを書いた blog.yapcjapan.org 3 月に開催するというのはなかなか波乱だったというのも、引っ越し、卒論、諸々の手続き...をしながらの開催…

大学生活がそろそろ終わりを迎える

2/23 を最後に、大学生活がほぼ終わった。 端的に言うと、嫌なこともあったけど全体を通して最高だったと思う。 そこで、これまでの大学生活を簡単に振り返ってみようと思う。 (文章は自分で理解できる程度に書いたため、かなり雑)

Perl で Compiler::CodeGenerator::LLVM を用いて WebAssembly を生成する LT をしました

卒研発表で LT をしました。そのスライドです。

Package::Stash という凄そうなやつ

先日このようなツイートをした 凄い神モジュール見つけたhttps://t.co/bPdOXBRkiy— K (@CodeHex) 2018年1月25日 Package::Stash というモジュールの詳細は以下のリンクから metacpan.org

XS での pTHX/pTHX_, aTHX/aTHX_ について

今日は以前紹介した、List::Flatten::XS を更新してバージョン 0.03 をリリースしたのだが、リリースした途端に次のような issue が飛んできた。 github.com 内容はスレッド Perl でビルドができないというもので、一番最初のレポートが去年の 4 月頃になっ…

フィボナッチ数列の LLVM IR を読む

LLVM IR を読んでみた。 以下のような記事を見つけたため、今後のためにメモを残すことにした。 takoeight0821.hatenablog.jp 今回読むのは次のフィボナッチのコードである。 int fib(int n) { int i, t, a = 0, b = 1; for (i = 0; i < n; i++) { t = a + b…

LLVM IR からバイナリを生成するための Perl スクリプト

以下のリンクの続き。 副産物として Perl スクリプトをコンパイルしてくれる Perl スクリプトを作成した。 codehex.hateblo.jp

Perl で Compiler::CodeGenerator::LLVM を用いて LLVM IR を出力する

約 4 年前になると思うが、@goccy54 さんが LLVM のライブラリを用いて、Perl のコードから LLVM IR を生成するといった夢のようなモジュールを作成されていた。 それが Compiler::CodeGenerator::LLVM である。 これをどのような感じで使うのかは、@papix …

vector とは生のポインタではなく unique_ptr を使う

c++

前回以下のような記事を書いた。 codehex.hateblo.jp これの解決策 + エクセレントなコードを見つけたため記録を残しておく。

ポインタで vector を作ってはいけないかもしれない

この issue を解決しようとしてデバッグしまくってた結果疑問が出てきた。 github.com それは STL の vector でポインタを使ってはいけない疑惑。

Perl XS デバッグを vscode で行う

タイトルの通り、vscode を使って XS のデバッグを行う。 環境は Mac OS X El capitan MacBook Air (11-inch, Mid 2012) で lldb を用いる。Perl は 5.24.1 で plenv を使って管理している。 まずはデバッグしたいプロジェクトを vscode で開き、launch.json…

.gitattribute を使って GitHub 上の diff で自動生成したファイルを表示しない方法

お世話になってる皆さんへ あけましておめでとうございます。 今年も一年よろしくお願いいたします さて、新年早々 Pull Request を提出したわけだが、テストの自動生成でファイル量がかなり多くなってしまい、レビューに必要もないファイルまで diff に表示…

アルコール検知器からセンサーを取って遊ぶ

近所のゲームセンターでアルコール検知器を 300 円で取った。 早速 Arduino と繋げて遊ぶためにはんだ取り紙を使って、センサーと切り替えスイッチ、LED を取ってみた。 綺麗なアルコール検知器の回路

CO2 センサー S300 で Arduino と i2c 通信を行う

ELT SENSOR というところが売っている CO2 センサーの一種で S300 というものがある。 eltsensor.co.kr

Perl の隠れ演算子の紹介(2017)

この記事は「Perl Advent Calendar 2017」の 25 日目の記事です。 まさか全部埋まるとは思っていませんでした。これも皆さんのおかげ様です。 ありがとうございました! qiita.com Perl には隠れ演算子なるものが存在します。 これらは、言語開発者が意図し…

8pino を Digispark 互換にして USB キーボードとして扱えるようにする

8pino という attiny85 をベースに作成されたボードが存在する。 www.switch-science.com これは Adafruit 社の Trinket(3.3V)の互換機として売られているため、USB キーボードとして扱えることを前提に仕上がっていない。 USB キーボードは 5V を必要とす…

echo.Context を最大限に活用する

この記事は Go Advent Calendar 2017 の記事です。 僕が Go で Web Application を開発するときに主に利用するのが labstack/echo です。 github.com その際に副産物として生産された記事が Qiita にあがっているのでそちらも参照してもらえると嬉しいです。…

吉祥寺.pm12 に参加しました

前々から凄く参加したかった吉祥寺.pm へついに参加することができた! しかし、電車関連のトラブルがいろいろ発生して見事に遅刻してしまった... 約20分の遅刻です。すみませんすみません #kichijojipm— K (@CodeHex) 2017年10月20日 今回はトップバッター…

Google Chrome の API を使ってスクリーン共有を行ってみた

twilio BLOG で Google Chrome の API を使ったスクリーン共有機能を javascript で構築するチュートリアルがあったので試してみた。以下の GIF のようなことができる。 画像は twilio BLOG から引用している

ieLT#8 秋のLT収穫祭という大学の LT 大会に参加してきた

これに参加してきた。 eventon.jp 大学の LT 大会への参加はこれが初めてで登壇もした。 LT に質疑応答時間も用意されていて良かった。登壇は意外と人が居て緊張した。 発表に使った資料は下にあるのでどうぞ!!!

関係者じゃないけど、沖縄複雑系研究会へ参加してきた

今日朝っぱらから、辺野古にある沖縄工業高等専門学校へ向かった。 非常に天気が良く遊びに行くのであれば最高なシチュエーションだったんだろうなと思った。