Visual Studio Codeのコマンドをvscodevimでキーバインドする

VS CodeにGoのプラグインを追加するとテストの実行を支援してくれる機能が色々入ります。カーソルがあたってるテストケースを実行したり、テストファイルとテスト対象ファイルを切り替えたり。例えば、コマンドパレットで Go Test Function At Cursor という…

ISUCON8予選で敗退しました...

ISUCON8の予選に @hanhan1978, @trtraki とyokohama-northというチームで参加しましたが、最終スコア30824で敗退しました。無念。。 以前と同様のメンバーでしたが、今回は役回りを変更。過去に参加した時はいつもDB等ミドルウェア・OS周りをやってたけど、…

Goでechoサーバーを書いた時のメモ

Go

Goでechoサーバーを書いた時のシステムコールはどうなってるのかなぁ、と思って調べてみた時の日記です。 前にCでechoサーバーを書いた時は以下のような実装をしました。 socket でソケットを作成する bind でソケットをバインドする listen でListen状態に…

Google SignInするSPAとGoサーバー間のセッション管理

書き出したら長くなってしまい4回分になってしまった日記です。 ReactとGoogle Sign-In ReactRouterを使ってGoogleログイン前と後で画面を変える ReactRouterを使ってGoogleログイン前と後で画面を変える(続き) 今日は、Google SignInでログインした後、自…

ReactRouterを使ってGoogleログイン前と後で画面を変える(続き)

前回、前々回に引き続き、Google Sign-In をReactなSPAで使った時の日記です。 今回は、前回できなかった /login と /private のルーティングを実装する。 /login ログイン前: ログインページを表示 => ログインに成功すると / へ遷移 ログイン後: / へ遷移 …

ReactRouterを使ってGoogleログイン前と後で画面を変える

前回に引き続きGoogle Sign-In をReactなSPAで使ってみた時の日記、2日目です。 今回はReactRouterを使って、ログイン前と後で画面を変えてみます。 ReactRouterを導入 ReactRouterを使う。バージョンは 4.2.2 。 $ npm install --save-prod react-router-do…

ReactとGoogle Sign-In

Google Sign-In をReactなSPAで使った時の日記です。 サーバーとの連携やセッションの管理について少し悩んだのでメモっておきます。ちょっと長くなりそうなので何回かに分けます。 Google Sign-In Google Sign-Inと言っているのはこれのこと。 developers.g…

JUnit実践入門のMockitoの部分をJMockit (version 1.37) でやってみた

Java アドベントカレンダー 2017 5日目の記事です。 以前書いた記事のJMockit のバージョンが古くていつか更新したいなぁと思っていたので更新しました! blog.bati11.info この記事は、JUnit実践入門のMockitoについて説明してる部分をJMockitでやってみま…

MobX + Babel + webpack + Flow

地元の勉強会のための準備です。 yokohama-north.connpass.com 前提 $ node -v v8.2.1 $ npm -v 5.3.0 準備。 $ npm init MobX インストールします。 $ npm i mobx -D MobXを使ったストアのサンプル。このチュートリアル分かりやすいです。 MobX: Ten minute…

echoサーバーを書いてみたときのメモ その3 マルチプロセス、ノンブロッキングI/O、I/O多重で複数クライアントを捌く

前回、前々回の続き。 echoサーバーを書いてみたときのメモ その1 ソケットAPIとTCP echoサーバーを書いてみたときのメモ その2 なぜ複数クライアントを捌けないのか 複数クライアントを同時に捌くために以下の方法で対応してみる。 ブロッキングI/Oのまま。…

echoサーバーを書いてみたときのメモ その2 なぜ複数クライアントを捌けないのか

前回、echoサーバーを書いてみた。その続き。 echoサーバーを書いてみたときのメモ その1 ソケットAPIとTCP - bati11 の 日記 このechoサーバーだと同時に複数のクライアントを捌けない。どうしてか?実際に試して見る。クライアントから2回telnetでつないで…

echoサーバーを書いてみたときのメモ その1 ソケットAPIとTCP

echoサーバーを書いた日の日記。 Head First C の11章を参考に、クライアントから文字列を受け取り、受け取った文字列をそのままクライアントへ返すechoサーバーを作る。echo サーバーは30000ポートを使用することにする。途中疑問に思ったところは主にUNIX…

プログラミング言語作成ハンズオンに参加してきた #lang_impl

プログラミング言語作成ハンズオンに参加してきました。楽しかったです! プログラミング言語を作成したことがないので、こういう勉強会で教えてもらえるのはすごくありがたいです。 connpass.com 午前中はざっとプログラミング言語処理系についての説明。そ…

GRUBの設定でカーネルが認識するメモリ容量を制限する

もう年末です。今年のISUCONではpixivさんの社内ISUCONで練習させていただきました。 inside.pixiv.net その時に気になったことがありまして。インスタンスタイプがc4.largeなのにメモリが1Gしかなくて、なんでかなーと。 $ free -m total used free shared …

JJUG CCC Fall 2016 で Spring のソースコードを読んだことについて話してきた #jjug_ccc

SpringはどうやってDIしているのか?というタイトルで話してきました。 資料はこちらです。 資料を書いている時にいろいろ迷ったのですが、Springのソースコードを淡々と話すスタイルにしました。過去にはSeasarやGoogle Guiceを使うことが多くて、Spring暦…

ISUCON6予選で負けた #isucon

ISUCON6 に yokohamanorth というチームで出場して負けました。。 2人(@hanhan1978, @trtaki)がアプリケーションの改修、おれがミドルウェアや SQL のチューニング、サーバリソースのモニタリングを担当してました。 最終スコアは、83482。予選突破ライン9…

Yokohama North Meetup #3 でしゃべってきた #yokohama_north

横浜北部のエンジニアで情報交換をする Yokohama North Meetup #3 を開催しました。 発表資料はこれ。 3月開催の前回は参加できなかったので、2016年の半年間くらいを振り返ってみました。やりたいと思っていたことを叶えるために転職したり、趣味でいろい…

記念日を忘れないためのWebアプリつくった

Go

とにかく記念日とか何年目とか覚えられないので、そのためのソリューションが必要— kariya (@bati11_) 2016年4月27日 というわけでつくった。 http://how-many-days.appspot.com/ トップページにタイトル的なものと記念日を入力するだけです。そうするとハッ…

LINE BOT API でリマインダーつくった

LINE BOT APIのTrialに申し込んだはいいけど、なかなか作りたいものが思い浮かばず・・・。とりあえずリマインダーをつくった。 Node.jsで実装しております。 GitHub - bati11/line-bot-reminder こんな感じでリマインドを登録しておくと こんな感じでメッセ…

まったりAndroid Framework Code Reading #3 に参加してきた

まったりAndroid Framework Code Reading というイベントに参加してきました。Androidのソースコードをまったり読みましょう、という会です。仕事でNFCらへんのAPIを使ったのですが、裏側どうなってるのかなぁと思ってたので参加してみることにしました。 ma…

VimからSlack分報に投稿する

vim

こちらの記事に触発されてまして。 2016/04/05/EmacsからSlack分報に投稿する - ヽ(´・肉・`)ノログ VimでSlackの分報に投稿します(curl呼んでるだけですが・・・)。 ビジュアルモードで選択して ## で選択した部分を投稿します! #@ だと ``` で囲んだ…

DropboxのMarkdownをちょっと便利に使うツールをつくった

Githubのwikiで十分足りるんだけど、ちょっと欲しかったのでつくった! Dropboxに保存したmarkdownをGFMに対応して表示したり編集したりするツール。 Markdown-box コードはこちら。 github.com JavaScriptでDropboxのAPIを叩いてるだけ。せっかくなのでReac…

grails-react-boilerplate で React に入門した - 3日目 Babel, ESLint

前回、React Routerを使ったルーティング、サーバーとのデータ通信までできました。しかし、これまでECMAScript 5 (ES5) でJavaScriptを書いてきましたが、grails-react-boilerplateではECMAScript 2015 (ES2015) でJavaScriptが書かれています。 今回はBabe…

grails-react-boilerplate で React に入門した - 2日目 React-Router, サーバー通信

前回、ホットリロードに対応して、React-Bootstrapを使ってナビゲーションバーを実装(見た目だけ)するところまでやりました。 今回は、ナビゲーションバーをクリックすることで画面を切り替えるようにします。 前回に引き続き、以下の記事とリポジトリを参…

grails-react-boilerplate で React に入門した - 1日目 ホットリロード, React Bootstrap

普段の仕事はサーバーサイドばっかりだったので、年末年始でフロントエンドの知識をアップデートしたいなぁ、ReactかVue.jsやろうかなぁと思ってました。それで、こちらの記事を読んでると... uehaj.hatenablog.com サーバサイドJavaをずっとやってきて、モ…

AWS Lambda でGitHubのNewsFeedをTwitterに流す

AWS

前にGitHubのNewsFeedをTwitterで見たいなぁと思ってRubyで実装したものをHerokuで動かしていたのですが、AWS Lambdaがスケジュール実行できるようになったとのことで移行しました。 Pythonもサポートされたようなので、せっかくなので試す。AWSへの反映はこ…

第十二回 #渋谷java でSpring Boot で Swagger を使う話をしました

渋谷java行ってきました。Spring Boot と Swagger というタイトルでLTさせていただきました。内容はSwaggerをSpringから便利に使えるSpringFoxのお話です。 http://swagger.io/ http://springfox.github.io/springfox/ speakerdeck.com WebAPIのドキュメント…

RxJavaを使ってReactiveX (リアクティブ エクステンション)に入門した

ちょっとタイミング遅れてるけど、ReactiveX (Rx, Reactive Extensions) を勉強してみました。 TwitterやWeb上の記事などでよく目にしてたので気にはなってたのだけど、先日やっと触ってみました。 備忘録です。メモメモ。 使ったRxJavaのバージョンは、1.0.…

Sql2oでJava8のDate and Time APIを使う

こちらのスライドでSql2oというライブラリを知りました。 Java が支える 人気ニュースアプリ NewsPicks の裏側 // Speaker Deck 素のJDBCは面倒だけど機能豊富なDB関連のライブラリ使う必要はない、ってときにすごく便利そうなので使ってみました。 Sql2oで…

BigQueryのSELECT文

この記事はGoogle Cloud Platform Advent Calendar 2014 6日目の記事です。 Google Cloud Platform Advent Calendar 2014 - Qiita うちの会社ではGoogleAnalyticsのデータをBigQueryに流しています。どうやら3日目の記事を書いたsatoru_magさんの会社でも導…