タグ

ブックマーク / blog.monochromegane.com (16)

  • ペパ研から研究をはじめてジャーナルでのアクセプトまでいけた日

    先週の6/22、初めてジャーナルの採録通知をいただいた。 大学は情報系ではなく、大学院にも行っていないので、研究なるものを始めたのが、ペパボ研究所に入った2017年1月から。3年半もかかってしまった。 元々、サービスの運用開発をしていた経緯もあり、2017年の前半はその延長で研究報告を2書き切った。 初めての研究報告は、論文の型みたいなのを徹底的に教えてもらえた。 今も執筆時に気をつけるところのほとんどはここで教えてもらったことが根底にあると思う。 2017年の後半から、研究の内容自体も「すごいもの」にしようとした結果、迷走が始まる。 自分のやってきたことを深堀するわけでもなく、先達の研究を調べるわけでもなく、自分の能力を高めるわけでもなく、ただ、目新しいことに挑んでは当然のように跳ね返され、焦りから近道を探し、悪循環に陥る。 研究所内で、(今にして思えばほぼ八つ当たりな)相談したり、W

    ペパ研から研究をはじめてジャーナルでのアクセプトまでいけた日
    udzura
    udzura 2020/06/28
    本当にすごい。
  • 福岡でGoConを開催した

    7/13にGo Conference'19 Summer in Fukuokaを開催した。 諸々落ち着いたので、初めて200名規模の大きなカンファレンスを開催するまでに駆け抜けた日々を振り返っておく。 準備 Fukuoka.goの主催の一人としてGoConの福岡開催は是非ともやりたい気持ちがあり、Go Conference 2018 Autumnで登壇した際の懇親会で盛り上がったのが去年の11/25。 11/30にFukuoka.go運営でやっていきのIssue起票。 12/04に会場と時期のおおまかなあたりがついたので正式にGoCon地方開催を東京GoCon運営に打診。 12/14に企画書を元に関係者に一通り話しが通った状態へ。 と良い感じのスピード感で進み出し、後は運営スタッフ一同で 1月はマスコットのデザインやらLPの準備やら 2月はGo1.12のリリパでイベント開催を初めて告知。G

    福岡でGoConを開催した
    udzura
    udzura 2019/08/02
    “テーブルの右も左もみんなが新しいつながりを作って飯食って酒飲んでGoの話して笑っている”最高の瞬間だ、お疲れ様でした!
  • ペパボに入って4年が経った

    ペパボに入社したのは確か2012年の10月だったと思うので、かれこれ丸4年が経ったことになる。 転職のきっかけは、新卒で入社した地元の会社での業務の出張の多さと技術面の軽視が自分の考える働き方と合わなくなったからだった。とにかく技術でやっていきたいんだという気持ちはありながらも、その気持ちを消化できる企業がどんなものか分からず、悶々と転職サイトを見ていた気がする。ある日、福岡 おもしろい it 会社 みたいに思考停止甚だしい検索をして、まとめサイトに辿り着き、自社でWebサービスを運営している会社への転職というのが視野に入った。今にして思えばもっとよい探し方があったと思うが、新卒で1社しか見てないあの頃はとにかく世界が狭かった気がする。ともかくそのまとめサイトにあるおもしろい会社を上から順に調べていって当時のpaperboy&co.に行き着いた。 当時、福岡基盤チームを立ち上げていく時期で

    ペパボに入って4年が経った
    udzura
    udzura 2016/10/31
    5年目も寿司に行きましょう!!
  • 『みんなのGo言語【現場で使える実践テクニック】』をいただきました。

    著者のお一人、@songmuさんより、『みんなのGo言語【現場で使える実践テクニック】』をいただきました。ありがとうございます。 現場で使える実践テクニックのタイトル通り、Go言語界隈の有名人が様々なテクニックを紹介してくれています。自分もGo言語が好きでよく書いていますが、書き始めた当時に試行錯誤しながら身につけてきた知識、テクニックが簡潔にまとまっており、文法を一通り覚えた初学者にとって学習効率が非常に高いではないかと思います。 第1章 Goによるチーム開発のはじめ方とコードを書く上での心得 Go言語を快適に書くための開発環境の準備から、Goらしいコードを書くまでが簡潔にまとめられています。main.goだけのプロジェクトから卒業するときに悩むところが網羅されており、A Tour Of Goのあとに、みんなのGo言語 1章を読むまでを入門としてよさそうです。 また、この章で拙作の(d

    『みんなのGo言語【現場で使える実践テクニック】』をいただきました。
    udzura
    udzura 2016/09/12
    独自シグナルすごい
  • Treasure Dataのスケジュールジョブをコードで管理するPendulumというgemをつくった

    Treasure Dataに収集したデータを集計・出力するためにジョブをスケジュール登録するにあたり、ブラウザコンソールやAPIから直接行うと履歴管理やレビューができないといった課題を解決するために Pendulum というgemをつくりました。 PendulumはDSLで記述された定義に従い、Treasure Dataのスケジュールジョブを管理します。 定義ファイルをGit管理することで、履歴管理やGitHubと連携したコードレビューが可能になります。 余談ですが、Pendulumは振り子という意味で、定期的な実行という意味と宝探しのダウジング的な意味から連想しています。ペンデュラム。響きがカッコイイ。 使い方 Schedfileという名前で定義ファイルを用意して、 schedule 'my-schedule-job' do database 'db_name' query 'selec

    Treasure Dataのスケジュールジョブをコードで管理するPendulumというgemをつくった
    udzura
    udzura 2016/03/22
    なるほど〜!1123
  • CSVテキストをMarkdown形式のテーブルに変換するツールをつくった

    Markdown形式のテーブル記法をいつまでたってもうろ覚えで、毎回検索したり、変換サイトにアクセスするのが面倒だったのでツールをつくりました。嘘です。Go書きたかっただけです。 使い方 CSVテキストを標準入力から受け取って整形済みのMarkdown形式テーブルを出力します。 $ mdt < hoge.csv | headerA | headerB | | ------- | ---------------------- | | short | very very long content | 連携 コマンドラインツールなので、pbpasteやAutomatorと組み合わせて好きなように使えます。 以下は、Automatorのサービスとして登録したmdtをGitHubのIssue作成時に呼び出している様子です。 便利っぽい。 機能 CSV/TSVに対応 タブ区切りにも対応しているのでエク

    CSVテキストをMarkdown形式のテーブルに変換するツールをつくった
    udzura
    udzura 2015/05/18
    なるほどAutomatorと組み合わせるのか、便利っぽい
  • Fukuoka.go#7 ソースコードリーディングvol.1を開催しました

    今年入ってちょっと休憩していたFukuoka.goなんですが、@nobkzさんがソースコードリーディングやろうという企画を持ちかけてくれたので久々に開催しました。 Fukuoka.go#7 ソースコードリーディングの会vol.1 今回は発表はしましたが、会場準備などの裏方だったので参加者としても勉強会を楽しむことができたのが個人的にはうれしかったです。 発表 ダウンタイム・ゼロを支える技術 in Go Goでアプリをダウンタイムなしで運用するための方法あれこれを発表しました。 アプリでがんばるところとインフラでがんばるところのバランスは難しいですね。 ベストなやり方を取れるように検討することは大事だと思います。 並列とGo @nobkzさんの発表です。 Go初学者向けにコードリーティングやりやすくなるようにgoroutineまわりなどを解説してくれました。 lexer実装について (@ke

    Fukuoka.go#7 ソースコードリーディングvol.1を開催しました
    udzura
    udzura 2015/04/27
    graceful shutdown をGoで書いたときの実装サンプルがあって便利 / そしてストボに埋め込み機能があった(新機能?)のと、slidesなる謎のスライドサービスを知った...
  • Go言語でActiveRecordライクなORMをつくった

    Goで DataMapperじゃなく、ActiveRecordライクにDB操作したいと思ってつくってみました。 go/parserとgo/astでソースを解析、個々の構造体ごとにARなコードを生成します。 argen ActiveRecord** Gen**eratorでargenです。 クイックスタート テーブルを表す構造体に+ARアノテーションをマークします。

    Go言語でActiveRecordライクなORMをつくった
    udzura
    udzura 2015/03/04
    これがモノクロメガネさんの小内刈りに見せかけた背負い投げか
  • すべてが╭( ・ㅂ・)و ̑̑ グッ ! になる - Jenkinsビルドパイプライン結果をプルリクエストに表示する

    Jenkinsのジョブ結果をプルリクエストに表示するときはGitHub pull request builder pluginを使ってますが、単体のジョブでしか利用できなかったので、複数ジョブ(ビルドパイプライン構成)のときに結果を表示する方法をまとめておきます。 ビルドパイプラインの構成 今回のビルドパイプラインはこんな感じを想定しています。 プルリクエストへの更新やコメントをトリガーにジョブが起動し、単体テスト、回帰テストを実行します。 あわせて、実行中、失敗、成功の状態がプルリクエストに表示されます。 成功したらプルリクエストに ╭( ・ㅂ・)و ̑̑ グッ ! って出ます。グッ ! って。 これを満たす以下のジョブをつくっていきます。 ジョブの結果をプルリクエストに表示する 複数のジョブをビルドパイプラインとして実行する GitHub pull request builder

    すべてが╭( ・ㅂ・)و ̑̑ グッ ! になる - Jenkinsビルドパイプライン結果をプルリクエストに表示する
    udzura
    udzura 2014/11/10
    “コミットのステータスを操作するAPI” 便利そう
  • 「ほい、これ」ってファイルを渡せる Hoi というツールをつくった

    PC間でのファイル受け渡しのときにファイルサーバを使うことがたまにありますが、OSによってファイルパスやその書式が違ったり、受け渡し用のディレクトリをつくるとか、ファイル渡したいだけなのに、なんだか小さなひっかかりがあってスマートじゃないなあといつも感じてました。 なので、もっと直感的に「ほい、これ」って渡せるツールをつくってみました。 Hoi Hoiはファイルの受け渡しを簡単に行うためのコマンドラインツールです。Go言語で書かれており、HTTPファイルサーバを利用して機能を提供します。 monochromegane/hoi (An easy file transfer tool using http file server.) ファイルを渡す 使い方は簡単でローカルのファイルパスをhoiコマンドの引数に渡すだけです。 そうすると以下のような、ダウンロード用のURLが出力されます。 htt

    「ほい、これ」ってファイルを渡せる Hoi というツールをつくった
    udzura
    udzura 2014/07/18
    記念ブックマ
  • Go Conference 2014 spring で発表してきた

    5月31日にGoConference 2014 springというイベントで pt & Goroutine というタイトルの発表をさせてもらいました。 今年に入ってから Go言語をさわるようになって、pt(The Platinum Seacher)というGoでつくったagライクな高速検索ツールを公開しており、そこからのつながりで今回の発表となりました。 内容的には、以下のスライドのとおり、同ツールの高速化の経緯をたどりながらGo言語の並行処理を実現する機構であるGoroutineの使い方を知ってもらうという構成でした。 TLの反応などを見ると、需要はあり一定の満足はもらえたんじゃないかなとほっとしています。 200名ぐらいの参加者がいて、海外からのスピーカー来ているという今回のカンファレンスは、福岡から参加した自分にとってはなかなか格的なもので、たくさん刺激を受けたし、こういうところで話

    Go Conference 2014 spring で発表してきた
    udzura
    udzura 2014/06/09
    お疲れでした!!!
  • Go言語での構造体実装パターン

    Go言語での構造体実装は、埋込や独自コンセプトのインターフェースといったGo言語独自の機能を理解して行う必要があります。 今年からGo言語を始めましたが理解が曖昧なままだと実装に迷うことが何度かありました。今回よい機会なので、Go言語での構造体実装パターンとしてまとめてみることにしました。 構造体実装パターン 実装パターンの洗い出しとして、GoFデザインパターンをGo言語で実装する手法をとりました。 その中で繰り返し現れる実装をGo言語での構造体実装パターンとしてまとめてみました。 コンストラクタ関数 エクスポートによるアクセス許可 インターフェースによるポリモフィズム 構造体によるポリモフィズム 構造体によるサブクラス・レスポンシビリティ 構造体による移譲 関数による移譲 以下、それぞれのパターンを解説していきます。 コンストラクタ関数 Go言語には構造体のコンストラクタがないため、構造

    Go言語での構造体実装パターン
    udzura
    udzura 2014/03/24
    今の知識であらためて読んだけどめちゃくちゃ良いな...
  • Go言語でコマンドラインオプション使うなら。便利パッケージgo-flags。

    Go言語でコマンドラインオプションを使うときは標準のflagsパッケージを使うことが多いと思いますが、go-flagsを使うとオプションの仕様を定義するだけでうまいことやってくれるので便利です。 go-flags go-flagsはコマンドラインオプションのパーサーです。オプションの仕様を定義した構造体に、コマンドライン引数をバインドしたり、定義した仕様からヘルプを整形・表示してくれます。 標準のflagsパッケージに比べて、オプション指定方法が柔軟であること、指定されたオプションを構造体としてプログラム内で利用できること、値のバインドやヘルプの生成などの定型的な実装を行わないでよくなること、といいコトずくめなので使わない理由はないでしょう。 インストール

    Go言語でコマンドラインオプション使うなら。便利パッケージgo-flags。
  • Go言語でag(The Silver Searcher)ライクな高速検索ツールをつくった。EUC-JP/Shift-JISも検索できマス。

    いまや高速パターン検索といえばag(The Silver Searcher)ですが、検索対象がUTF-8のテキストを前提としているため、EUC-JPやShift-JISといったファイルを検索するのに課題があります。 これまで、それらの日語文字セットを検索できるようにするため、色々とagの改造、公開を行っていました。 ag(The Silver Searcher)でEUC-JP/Shift-JISのファイルも検索できるようにしてみた 日語圏特化型ag -白金- の配備が完了しました しかし、特定の国の文字コードだけに特化した修正というのをmasterに取り込んでもらうわけにもいかず、派生ブランチとして追随するのも、やはり面倒… そこで年始にGo言語を触ったのをきっかけに、Go言語でパターン検索ツールをつくってみました。 せっかくなのでポストagを目指して、プラチナサーチャー(The Pl

    Go言語でag(The Silver Searcher)ライクな高速検索ツールをつくった。EUC-JP/Shift-JISも検索できマス。
    udzura
    udzura 2014/01/16
    そっとブクマ
  • LGTMでめでたさを伝えるChrome拡張をつくった

    先日、高速にドッグフードをべる方法を見て、LGTMとLGTM.inというサービスを知りました。 LGTMは、“looks good to me."の略で、GitHubのプルリクに対するOKコメント、LGTM.inは、そのコメントにノリのいい画像を添えてspice upしようというサービスです。コードレビューの終わりにめでたさを伝えてもらえれば、字面だけのLGTMよりもうれしいし、そういう小さな承認はお互いに大事。 ということで、LGTMでめでたさを伝えるChrome拡張をつくりました。 LGTM Chrome拡張 インストールはこちらから。 Chrome ウェブストア/LGTM 拡張を起動するとLGTM.inから取得したランダム画像を3件表示します。 画像が気に入らないときはMore LGTMボタンをクリックして画像を再取得できます。 使い方 使用したいLGTMの画像をクリックするとUR

    LGTMでめでたさを伝えるChrome拡張をつくった
    udzura
    udzura 2013/12/24
    やばそう、めでたい
  • tmuxのプレフィックスに疲れたらbind -nオプションを使おう

    ターミナルマルチプレクサtmuxはとても便利ですが、操作の際にプレフィックスが必要で、ペインの切り替えなど頻繁に行うのはちょっと面倒です。 実はtmuxには、プレフィックスなしで操作できるステキすぎるオプションがあるので紹介しておきます。 プレフィックス不要ってすばらしい bind-key の -n オプション bind-keyには-nオプションがあり、これをつけることでプレフィックスを使わなくてもよくなります。 これで単独のキーにコマンドを割り当てることができます。 設定 通常のキーバインド設定に-nをつけるだけです。 tmux.conf bind -n キー コマンド プレフィックス不要なペイン移動 自分はペインの移動を最もよく使うので以下のような設定をしています # Shift + 上下左右でペインを移動できるようにする。 bind -n S-left select-pane -L

    tmuxのプレフィックスに疲れたらbind -nオプションを使おう
    udzura
    udzura 2013/12/13
    メモメモ!!
  • 1