NoahOrblog

某・福島にある大学のコンピュータ理工学部の大学生のお話。

Protocol BuffersのLanguage Serverを書いている話

Noahです。この記事はCA20卒アドベントカレンダーの23日目の記事です adventar.org かなり前の大学で行われたLT会の際に作ったprotocol buffers用のLanguage Serverについて書きます. Language Server Protocol Microsoftの提唱しているエディタによる補完や…

Vimのレジスタをうまくつかいたい話

Noahです。この記事はVim Advent Calendar 15日目の記事です qiita.com レジスタをうまく使いたい 日頃Vimを触ってるとき、ぼくは何も考えずにヤンクや削除をしていますが、他のレジスタも有効活用したい. ただ、"ay とかを打つのはしんどい 打ちやすいよう…

Bidirectional Streaming VS Unary RPCs

Noahです 以前のハッカソンでgRPCを触ったのですが、時間差ファーストといいつつ、Bidirectional Streamingを使っていなかったので、それについて調査してみた。 Bidirectional Streamingについては下をチェケラ grpc.io 簡単に言うと双方向ストリーミングで…

平成最後のハッカソンに参加してきた

Noahです。 平成最後の日、CAの平成最後のハッカソンというものに後輩と同期と出てきたのでそのおはなしです。 詳細は下をチェケラ www.cyberagent.co.jp 参加するに至るまで 最初は参加するつもりはなく、参加するといっていた同期や後輩の応援団になろうと…

自作NeoVimプラグインの軌跡

Noahです。 この記事はVimAdventCalendar2018 16日目の記事です qiita.com 先日Publishした他アドベントカレンダーの記事が「〜〜の軌跡」なので、それにあやかります。 本当はVimに最近パッチで入った開発中のテキストプロパティを触ってみた話を記事にした…

ぼくのdotfilesの軌跡

Noahです。 この記事は Aizu Advent Calendar 8日目の記事です。 adventar.org 前の記事は id:culumn さんの記事です。自分はiOS開発を行う際によくStoryboardをつかうのですが、Xibも触ってみようという気持ちになりました。 culumn.hatenablog.com 次の記…

はてなインターンで最高の夏を過ごして来た

実はしれっと、はてなインターン2018に参加してきました!!! developer.hatenastaff.com 応募まで 応募が始まった瞬間、エントリーシートを記入しました。(14:00 からだったのですが、その前から待機していました。) 提出するものは、自分のポートフォリ…

学生版ヒダッカソン サーバーサイド編 に参加してきた

Noahです。 結構前の話なのですが、サイバーエージェント主催の学生版ヒダッカソン -サーバーサイド編- に参加してきました。 www.cyberagent.co.jp 所感 2日に渡って開催され、初日はサイバーエージェントの社員さん方のLT、メインとなる2日目はISUCONのよ…

Vimプラグインのキーバインド

Noahです。 TL;DR map、これからはinit.vimとかで設定していこう 具体的な話 今までファイル内の文字列を探すとき、ptをCLIでよく使ってたんですけど、 Vimから似たような感じで検索できるctrlsfというプラグインがあって最近はこっちをよく使っています。 g…

アルバイトをやめた

同じとこでアルバイトしてた友人が上げていたので上げる 都内にあるベンチャー企業のサーバーサイドエンジニアとして1年程度アルバイトしてましたが、5/19付でやめました。 やめた理由とか言ってもアレなので、良かったところを書きますが、個人的には色々な…

MacでSpotifyをNeoVimから操作できるようにしてみた

Noah です。 最近、Spotifyを契約したのですがこれがまたとても良い。 www.spotify.com プレミアム3ヶ月100円に釣られました。はい。 で、 SpotifyをNeoVimから操作できるようなプラグインを書いてみました。 Mac かつ Shougoさんのプラギンマネージャ、dein…

おうち開発環境を整えた

Noahです。 おうちの開発環境を整えました 今まで 2015年モデルのMacBookProのみで開発を行っていました。 外部ディスプレイとかなしで、キーボードとかマウスももちろん無し。 バイト先で初めてデュアルディスプレイで開発したとき、作業の効率がグンと上が…

QC30を修理に出した話

Noahです。 かなり前の話ですが、QC30が調子が悪くて修理に出して返ってきました 故障 3月のインターンの頃から、電源を切っても緑のライトが付いたままだったり、充電中にオレンジの点滅のはずが緑のまま点滅してたり挙動不審。 でも、操作も問題ないし、ま…

CyberAgentのインターンに参加した話

自分は20卒ですが、3月の1ヶ月間CyberAgentで19卒向けのインターンに行ってきました。 www.cyberagent.co.jp 書類選考 書類選考では、何を作ったか、どんなことをやってきたか、とかそういうことを記述するのが多かった気がする。 自分はハッカソンにわりと…

QC30買った件

Noahです。 QC30買いました。 バイト先の先輩が常時つけてて、軽そうだし、何より付けてても付けてない感じがすると評判だったのでずっと悩んでた。 ワイヤレスはヘッドホンだけどMDR1000x持ってるし、果たしているのかいらないのか。 作業中つけるだけなら…

neovim/go-clientにcontributionした話

Noahです。 この記事は qiita.com ↑の23日目の記事です。 NeoVim 言わずと知れたNeoVim、その中の機能にRemotePluginがあります。 簡単に言ってしまうとNeoVimのプラグインを別プロセスで動かすもので、原理的にMsgpack-RPCを使えばどんな言語でもプラグイン…

今年買ったもの、読んだもの、借りたもの

Noahです。 今年買ったもの、読んだもの、借りたものについて書いておく。 記憶にないものもあるけど、覚えてるものだけ。 機器系 MDR-1000X ソニー SONY ワイヤレスノイズキャンセリングヘッドホン MDR-1000X : ハイレゾ/Bluetooth対応 最大20時間連続再生 …

neovim/go-client入門

Noahです。 この記事は adventar.org ↑の、13日目の記事です。 どうでもいいですが、GithubのContributionが4桁行きそうです 結構ひとりで感動してる 本題 Vim(ないしはNeoVim)のプラグインを書きたい人、いますよね??? Vimが好きなら誰しもが一度は作り…

neovimプラグインをGolangで書いた話

Noahです Golangでneovimプラグインを書いた話をします そもそもなぜGolang? Pythonとかもっといいのあるんじゃないの?とか思うかもしれませんが、Pythonで書く場合は実行時にPython3の処理系が必要で、それを導入するのが最初すごくだるかった経験があり…

Pythonでワンライナーぱとかーたくしー

Noahです。 友人に@flying_hato_bus って言う人がいるんですが、その人にPythonって何からやったら良いの?ってきいたら「ぱたとくかしー」って言われたので、よくわからないまま実装した。 この問題だった www.cl.ecei.tohoku.ac.jp Python10行くらいしか書…

MashupAwards(会津)に出てきた

Noahです。 MashupAwardsというのの会津で行われたやつに参加してきました。 mashupawards.connpass.com 以下自分の役割ばかりの話なので最初に思ったことを書きますが、やっぱVRすごいって思いました(僕もやってみたくなった) あとは、発想と、それをいか…

携帯の入力的なアレ

Noahです。 授業後に後輩と演習室で話し込んでたときに、ふと彼がAOJの問題をC++で解き始めたのでその隣で同じ問題をHaskellで実装してました もともと競プロをやっていたとかではなくて、純粋にHaskellを書きたかっただけです。はい。 gist.github.com Revi…

加減乗除で10

Noahです。 数字を4つ出されて、加減乗除好きな演算子を使って10になるようにする、という診断メーカーのツイートを見て、深夜に好きな配信者のASMR生配信を聞きながら、つっと書いてみた。 gist.github.com 実行時: トリプルの一つ目が、演算子の順、二つ目…

N+1問題

Noahです。 ペアプロ等で指摘されたことで、重要だと思ったら1つずつメモを書こうと思い、書く。 続…かないかもしれない 今日はN+1問題について(ここのコードは深夜に書いたメモ程度でなんと言うか、補助的役割である) N+1の問題 まず、1つのクエリで複数…

RPN

Noahです 久々にHaskell触ってました 構文解析とかやってみたいなと思い、気づいたら深夜のノリでRPNのパーサと諸々を書いていました gist.github.com 半分寝落ちしつつ書いていたけどお愛嬌。 Functionally Solving Problems - Learn You a Haskell for Gre…

CockroachDB備忘録【導入編】

Noahです。 CockroachDBを触る機会があったのですが、いかんせん日本語の情報量が少なすぎるので導入する際に躓いたところを備忘録として残しておきます。 CockroachDBとは 調べた限り、GoogleのSpannerのオープンソースクローンらしい いわゆるNewSQLであり…

GolangでのJSONパース備忘録

Noahです GolangでGistにPOSTするプログラムを書いていたのですが、JSONのキーの値を変更せねばならないところで躓いたので備忘録します GolangにおけるJSONの取り扱い方 基本的に構造体を使います type Person struct { name string `json"name"` age int `…

gRPCでのUserAgent備忘録

Noahです Golang で gRPC, Protocol Buffers を触る機会があり、User Agent の取得で少し戸惑ったのでメモします gRPCとは https://grpc.io/ おなじみGoogleが2015年2月に発表したRPCフレームワークです 対応言語は、C++, Java, Python などはもちろん、Go …

vimプラグイン備忘録

Noahです。 使用するエディタがもっぱらVim(vimの使用歴3年程度)なんですが、.vimrcへの設定やプラグインを使うことはあれど、作ったことはまったくなかったので作ってみました。 最初なので純粋にvimscriptだけで書いていきます 何を書こうか迷ったのですが…

Golang覚書

Noahです Golangを触る機会があったので備忘録も兼ねて残しておきます というかぶっちゃけ、 みんなのGo言語【現場で使える実践テクニック】作者: 松木雅幸,mattn,藤原俊一郎,中島大一,牧大輔,鈴木健太,稲葉貴洋出版社/メーカー: 技術評論社発売日: 2016/09/…