夜明け

日々のコトとかなんか見た感想とか

VSCodeのユーザースニペットにフォーマットするやつ

VSCodeのユーザースニペット(json)にフォーマットするやつを作ったのでブログ書きます.
こちらになります.
VSCodeのSnippetにするやつ
非常に簡単な仕様になっておりますがブラウザから利用できるのでよかったら使ってみてください.
ちなみに全部フロントエンドで動いています.

感想

c++でsetをforで回すとき

c++でsetをfor(auto s : set)で回すときに,その中でset.erase(s)してはいけない.

なぜかと言うとイテレータが無効になるかららしい.

気をつけましょう~~~(自戒)

おしまい

GOPATHの末尾にセミコロンを付けてはいけません

環境はwindows10です.

C:/Users/hoge/go;
のようにGOPATHを書くと,

go version

 GOPATH entry is relative; must be absolute path: "".

と怒られてしまいます.

revelでのコマンドもうまく動作しなくて困ってたんですが初歩的なミスですね...

ScalatraでシュッとWebアプリを作る(予定)

こんにちは.

最近寒すぎて何も出来ません.末端冷え性つらい.

さて,この記事はKMC Advent Calendar 2017 - Adventar8日目の記事です.

adventar.org

25日まで全て埋まっていて壮観ですね.

昨日の記事はnojimaさんの

BCC/BPFでシステムコールとかをいい感じにトレースする - @nojima's blogでした.

nojima.hatenablog.com

インフラレイヤーをいい感じにやるのはかっこいいですね.最近触る機会があり興味が出てきたので勉強したいです.

はじめに

KMCではたこ焼き焼いたりクレープ焼いたりしかしていないaokabiです.

ところで以下は最近のやっていき一覧です.

というわけでせっかくISUCONでWebアプリの世界を知ることが出来たので,今回はScalatraを使ってWebアプリを作成していきたいと思います.

ちなみに現在8日の21時です.どこまでできるんでしょうか?気になります.

Scalatra

ScalatraScalaのWebアプリフレームワークです.その名の通りRubySinatraをリスペクトした,スッキリとしたフレームワークですね.導入も簡単なのでさっそくやっていきましょう.

やる

と言ってもHello World!までの手順はとてもシンプルで,テンプレートが用意されているので簡単に準備は整います.大体は公式のGet Startedに従うだけです.

が,jetty:startコマンドでエラーを吐いたので,そこだけbuild.sbtに追記して修正します.

追記したのは24,26行目です.24行目でエラーが消えます.26行目はアプリがlistenするポートを変更しています.

これでHello World!は出来ました.aokabi.me/twitterで見ることが出来ます. 

Systemd

アプリを修正するたびにプロジェクトのルートディレクトリに移動してsbtコマンドから手打ちするのは嫌なので,Systemdでサービス化してしまいましょう.

serviceファイルは以下のように書きました.

簡単でとてもいいですね.

デプロイ

Vimで開発するのもいいですが,やはりIntelliJ君を使いたいですね.ローカル開発するとなると次はデプロイを楽にやりたくなります.方法は様々だと思いますがとりあえずGithubとJenkinsを使ってPushしたら自動でデプロイされるようにしましょう...

おわりに

 といったところで今回はここまで!めちゃくちゃ眠かったので許してください.

本当はいい感じのWebアプリを作るところもやりたかったのですがいい感じのアイデアが浮かばなかったです.

とはいえ此処から先もしっかり進めてその内ブログにでも書きたいと思います.

最近頑張ってちょっとずつブログを書いているのはとてもいい傾向だと思うので続けていきたいですね.

読んでいただきありがとうございました.

次回予告!

明日のKMCアドベントカレンダーtron君の「20歳になって一ヶ月」です.めでたい!!!

 

 

ISUCON7本戦で何もできずに人権を失った

注意:このブログではBigintについて触れていません

こんにちは.

ISUCON7本戦に「百万円ドリブン」の一員として参加しました.

メンバーは@murata, @nakario, @aokabi の三人で,二人はサークルの先輩です.

以下はメンバーのISUCONエントリです.

chy72.hatenablog.com

nakario.hateblo.jp

お昼のお弁当とクッキーと珈琲と懇親会のビールが美味しかったです.

結果はタイトルの通りであり,技術面で書くことは無いので,ひたすら反省を述べます.来年のために.

簡単に内容を言うと,websocketを使った,複数人で遊べる(クッキークリッカーのような)ゲームでした.

反省その一
  • アプリのログを殆ど見なかった

自分が普段書いているときは,真っ先にログを見るのになぜやらなかったのか.

普段Goを余り触らないカラなんて言い訳にもならない.

反省その二
  • nginxでできることがなにかあるんじゃないかと時間を掛け過ぎた

先輩がBigintの計算を頑張ってくれている間にオンメモリ実装をやるべきだった

実はm_itemだけはやったけど効果が無くてそこで無意味なのかとやめてしまったのは良くなかった

反省その三
  • チームプレーができなかった

一回方針の相談やリフレッシュなどを提案するべきだった.先輩二人がBigintに苦戦して停滞していたし,自分が冷静になるべきだった.できることが思いつかなくてワタワタしている場合ではない.しっかりしろ.

終わり

 結局終始焦っていてなにもできなかった.冷静になって話し合うのは大事.

来年こそはISUCONで役に立って優勝.

最後に,運営の皆様ありがとうございました!楽しかったです!

塩尻ハッカソン予選に参加した

こんにちは.もっと記事を書け.

はじめに

11/2,3と塩尻で行われたハッカソンに参加しました.*1

mashupawards.connpass.com

これはMashupAwards2017の予選にあたるもので,ハッカソンで優秀賞を取ると準決勝に進むことができます.

mashupaward.jp

チームで参加したのですが,私は提供APIを叩いていたのでそれについて少し書きます.

hacklog.jp

 

やったこと

利用したのはスマートメディカル株式会社のWeb Empath APIで,音声ファイルを投げると幾つかのパラメータで音声の感情を評価してくれる,というものです.

UnityWebRequestを使っていたのですが,雑にRequestBodyにapikeyとwavのbyteデータを突っ込んでPOSTしたら結果がJSONで返ってきたのでお手軽でとても良かったです.

ちなみに無償で叩けるのは300/月で足りないな~と思っていたのですが,少なくともハッカソンでは事足りました.*2

今回はベターっと書いたのですが,Httpの部分をラップして,wavを投げたら結果をDictionaryとかで返すクラスを書けば便利だと思いました.

今までHttpが丁寧に隠されたAPIしか触ってこなかったのでいい体験でした.

 

おわりに

 ハッカソンは初参加でしたが,面白い人達に会えたり面白いアイデアを見れたりしたのでとても良かったです.

ところでMashupAwards2017への応募チャンスはまだあるのでやっていきましょう!!!

ありがとうございました.

 

 

*1:チームメイトとレンタカーで行ったのだけど,京都から片道5時間かかってやばかった

*2:最終的に135回だった

夏休み

タイトル春休みの次が夏休みってどうなんでしょうか.

夏休みが始まった.既に一週間くらい経っている.

ISUCONに参加することを決めたし,学祭に出展する予定もある.

インターンは落ちた.まだ結果待ちのもある.

文章が書けない.なんだこれは.

ちなみに,今は帰省中でおいしいものを食べれて幸せです.