生涯未熟

生涯未熟

プログラミングをちょこちょこと。

MD650LにKarabinerでアンダースコアを割り当てる

地味に困ったのでメモ代わりに書いておく。 MD650Lを日本語配列で使っているとアンダースコアが打てなくて困ることがありました。 Karabinerで上手いことキー割り当てたらええかーと思ったのですが、どのキーを割り当てたらいいのか分からず・・・ どれやね…

Protocol Buffersにclang-formatをかけるとインデント崩れを起こすパターンがある

Protocol Buffersをシコシコ使ってるんですが、clang-formatをかけると具合の悪くなるパターンを発見したのでメモ。 ちなみに一応書いときますがclang-formatはProtocol Buffersをサポートしてます。 github.com どういうパターン? 例えばこういうパターン…

gRPC GatewayとServerで異なるレスポンスで返す方法

前置き gRPCにはgrpc-gatewayという、gRPC ServerのレスポンスをRestful APIの形にして返すプラグインがあります。 Protocol Buffersに少し記述を足すだけで、簡単にRestful APIの対応が出来るのでとても重宝しているのですが、一つ困ったことが起きました。…

Protocol Buffersが出力するSwaggerのParameter descriptionを記述する方法

Protocol BuffersでSwaggerを吐くことが出来ますが、その際にParametersの個々のfieldにdescriptionをどうやったら付けれるのかよく分からなかったのでメモ。 どういうこと? これを追加したかった。 やり方 至極簡単で、OpenAPIのfieldを使ってゴニョゴニョ…

基礎からわかるElm 読書感想文

基礎からわかるElm読み終わったので読書感想文です。 基礎からわかる Elmposted with amazlet at 19.03.09シーアンドアール研究所 (2019-02-27)売り上げランキング: 3,474Amazon.co.jpで詳細を見る 基礎からわかるElm - Curated tweets by syossan27

Docker ComposeのProject Nameにハイフンを使わない方が良いという話

皆さん、Docker使ってますか?僕は新天地でバリバリDocker使うことになりそうなので慌てて復習していたりします。 さて、そんな中Docker Composeで見事にハマってしまった罠があったので、Project Nameにハイフンは使わないようにしましょうという話をします…

Go 1.12で個人的に気になったところを触ってみた

Go 1.12来ましたね。 色々変更点はあるんですが、個人的にベンチマークの実行回数が指定出来るようになったのがオッとなり触ってみました。 実行コード 簡単なコードで試してみます。 package main func Calc(x, y int) int { return x + y } package main i…

有料note販売のそれから

先日、こんなnoteを販売しました。 note.mu その後、あれよあれよと私の予想を大きく上回って売れてしまい、売り上げがこんな額になってしまいました。 買っていただいた皆様ありがとうございます!そこまで大したことを書いていない内容で数百人の方に買っ…

Practical Goを読んだメモ

Go界隈で有名なDave Cheney氏の書いたPractical Goを読んだ時のメモをザッと貼り付ける。 dave.cheney.net Pratical Go - Curated tweets by syossan27

転職エントリ

From:株式会社アイスタイル To:株式会社ミクシィ 経緯:note.mu

pigoを用いた🤔ツールの開発

昨日のお昼休憩中に暇だったのでこんなツールを作りました。 Goで顔を判定してにする謎ツールを昼休憩中に作成した pic.twitter.com/QcyfcOiLwk— しょっさん@ʕ ◔ϖ◔ʔ (@syossan27) January 16, 2019 見た目のインパクトからかプチバズりになり恐縮しておりま…

ioutil.ReadDirでのシンボリックリンクの扱い

ioutil.ReadDirでディレクトリ内を走査した時にシンボリックリンクがあった場合、LStatとStatのどちらでFileInfoが返ってくるか分からなかったため試してみた。 testディレクトリ内に別のディレクトリに対してシンボリックリンクを張ったものを置いてありま…

os.Stat, os.Lstatのシンボリックリンク指定時の違い

いつまで経っても覚えられないので自戒のために書く。 os.Stat 指定されたファイルパスの情報(os.FileInfo)を返す。 シンボリックリンクを指定した場合には、リンクを辿った先の情報を返す。 os.Lstat 指定されたファイルパスの情報(os.FileInfo)を返す…

echoのmiddlewareで一度読んだRequestBodyをもう一度読む

Gopherの皆さんはecho使ってますでしょうか?僕は薄くて好きなのでよく使ってます。 さて、echoにはmiddlewareという機能がございます。 Middleware | Echo - High performance, minimalist Go web framework ハンドラの実行前に処理差し込めるやつですが、…

刺し身たんぽぽについて

刺し身たんぽぽについて調べてみました。 刺し身たんぽぽとは一体何なのか? 刺身の盛り合わせに添えられている食菊(食用菊)の通称。花の大きさからタンポポと誤認されやすい。菊には殺菌作用があり、かつ見た目の彩りや香りも添える。さらに刺身のツマと…

treeコマンド 〜Rオプションの謎〜

treeコマンド、皆さん知ってますか? そうです、あのファイルやらディレクトリやらを良い感じに木構造で出力してくれるニクい奴です。 こんな感じ さて、そんなtreeコマンドには多くのオプションがあります。 よく使われるのは -L だったり、 -a とかですか…

2018年の棚卸し

2018年もそろそろ終わりですね。 恒例の本年の棚卸しをやっていきたいと思います。 1月 syossan.hateblo.jp 今年の抱負は「つよく いきる」でした。 つよく いきました、よかったですね。 syossan.hateblo.jp homebrewに自作ツール登録しようとして失敗した…

GoでSSH Managerを作成した際の知見

この記事は Go Advent Calendar 2018 の23日目の記事です。 今回は過去に作成したSSH Managerのお話をさせて頂きます。 github.com どんなツールなのか? ざっくり言うとSSH接続情報を管理するツールになります。 今の所パスワード認証のみ対応しております…

Goのあるコードを発端とした衝撃の結末

はい、というわけで今回はGoのあるコードから紡がれるストーリーに纏わるお話です。 一体何が起こったのか? 発端はこのツイートでした。 — しょっさん@ʕ ◔ϖ◔ʔ (@syossan27) December 20, 2018 むむー、一体なんじゃらほい?とGoの当該ソースコードを見たら…

初心者Elmerがクソアプリを作った時に気付いたこと

この記事は Elm Advent Calendar 2018 の17日目の記事です。 今回は初心者Elmerが別のアドベントカレンダーでアプリケーションを作ってみた時に気付いたことをつらつらと書いてみます。 syossan.hateblo.jp github.com 書き始め 以前、Elmに入門してからだい…

ウルヴァリンがハッキングする映画はいいぞ

というわけで、こちらは プログラマーにおすすめしたい映画 Advent Calendar 2018 14日目の記事になります。 君は『ソードフィッシュ』を知っているか? 名前からして何の映画か分からない『ソードフィッシュ』 まずはパッケージ画像を見てみましょう。 キャ…

チャレンジングなことをしてみたらエッチなクソアプリが誕生した

どうも、この記事は クソアプリアドベントカレンダー の10日目のようです。 さて、今年ひり出したクソアプリは エッチなやつです エッチなリンク 業務で触った技術がなんか活かせないかな〜?と考えていたら、何故かエロクソアプリが誕生していました。不思…

GoLandにCassandra対応が来たぞ!!

掲題の通り、GoLand 2018.3でCassandraのDataSourceが使えるようになりましたぞ! おー!Cassandra追加されてーら! pic.twitter.com/IjfkDRZaFI— しょっさん@ʕ ◔ϖ◔ʔ (@syossan27) November 23, 2018 www.jetbrains.com 今までCassandraのGUIツールといえば…

guregu/nullでぬるぬるする

Goでサーバーサイドの開発を行っているとMySQLなどのRDBに接続して、取得した値をJSONで返す機会は多いはず。 そして大概ハマるのが「NULLを許容してJSONで返すのはどうやればいいんだ・・・」というところでしょう。 今回はそんな話をします。 ノーガード戦…

S3にファイルがアップロードされた時にCloudFrontのキャッシュを削除してみる

掲題の通りのことが社で必要になったのでGoでやってみました。 やりたいこと S3に置いた静的HTMLをCloudFrontを通してアクセスする、という形で配信しているシステムがあり、運用する中で静的HTMLを置き換えた時にすぐに切り替わるようにしたいということで…

Elmハンズオンに行ってきた

最近ある方がElmを猛プッシュしているので、Elmハンズオンに行ってきました。 elm-jp.connpass.com togetter.com Elm is 何? Elmはウェブブラウザベースのグラフィカルユーザインタフェースを宣言的に作成するためのドメイン固有プログラミング言語である。…

Ergo42を買った

最近、非常に肩こりが酷くなって「そろそろ分割キーボードってものに手を出すか」って感じになったのでErgo42を買ってみました。 Ergo42とは? Biacco42さんが作製された分割キーボードで、こちらにどういうキーボードなのかの詳細が書かれております。 biac…

buildersconに初参加してきたぞ!

というわけで、以前から気になっていたbuildersconに行ってきました。 どんなイベント? builderscon.io buildersconではトークに関して技術的な制約はありません。 特定のプログラミング言語や技術スタックによるくくりも設けません。 必要なのは技術者達に…

kafka2.0にした時にShopify/saramaでCRCエラーが出る件

皆さん、Goでkafkaやっとりますか?僕はバリバリ伝説な感じでバリバリやっとります。 というわけで、最近kafka2.0がリリースされましたね。 うちでも使うかと2.0にアップグレードしたんですが、見事にsaramaを使ったGo製のProducer/Consumerが死にました、南…

「Docker/Kubernetes 実践コンテナ開発入門」はコンテナ初心者に最高の本だった

Docker/Kubernetes 実践コンテナ開発入門posted with amazlet at 18.08.24山田 明憲 技術評論社 売り上げランキング: 455Amazon.co.jpで詳細を見る 今回ありがたくも初心者枠として「Docker/Kubernetes 実践コンテナ開発入門」のレビューをさせて頂きました…