布団の中にいたい

Elasticsearchいじったり、Androidアプリ書いたり。最近は数学の勉強が楽しくなってきました。

flutterで遷移後のページから値を渡す

flutterで簡単なサンプルを書いていて、遷移後のページから遷移前のページに値を渡したいなーと思って調べたら割と簡単にできました。本来であればdb使ったりしたほうがいいと思うんですが、そうするほどでもなかったので雑な感じで。 遷移先のページで値を…

tslintの"interface name must start with a capitalized I (interface-name)"を消す

ReactをTypeScriptで書いているなかで今までtslintなどを特に使っていなかったので入れてみた所、上記のinterface name must start with a capitalized I (interface-name)で怒られた。interface名の先頭にIをつけろとのことだがあまり好きではないのでtslin…

go-playground/validatorでomitemptyを使う

go-playground/validatorを使って、空の値を許容するクエリパラメータのvalidationをしようとして微妙にハマったのでメモ。 go-playground/validatorのリポジトリは以下。 https://github.com/go-playground/validator go-playground/validatorを使う場合、…

エラーの分岐にpkg/errorsを使う

modelのロジックが複数の種類のエラーを返す想定で出力を変えたいなーと思っていろいろ調べたのでメモ。 どうやったらシンプルにできるかなーと考えてたんですが、pkg/errorsを使う形に落ち着きました。 github.com だいたい以下のような感じで、独自のエラ…

echoでmiddlewareを挟もうとしてハマった話

echoでエンドポイントにmiddlewareをはさもうとしていろいろハマったのでメモ。 echoでルーティングする場合は以下のようにecho.EchoのGET、POSTであったり、Addだったりを呼ぶわけなんですが、それとは別に直接echo.RouterのAddを使ってルーティングしたり…

haskellでfizzbuzz

だいぶ昔に少しだけhaskellで遊んでたけど、すでに文法すら頭から消し飛んでたので最初からやり直してて、復習にちょうどいいかと思いfizzbuzzをサクッと書いてみました。 ソースは以下。Integerを引数にStringで返す関数を作って、mapでリストの値を適用し…

Google SpreadSheetからGASでSlackに定期的に投稿する

ちょっとしたことを勉強している時に、単語とかすぐ忘れるので単語帳代わりにSpreadSheetに書いてたまに見たりしてるのですが、それでも忘れるのでGASでslackに定期的に投稿するようにしました。 やったことは以下。 slackのアプリ登録 GASでslackに投稿する…

angularの勉強にTour of Heroesをやった

仕事でangularを使うことになりそうなので、入門がてらに、Tour of Heroesをやってみました。 Angular Docs Tour of Heroes は、Angularの基礎を学ぶためのチュートリアルで、angular-cliを使ってプロジェクトを作成するところから、最終的にはangularに付属…

goでDBのテストを書くときに、go-sqlmockを使ってみた

goでDB周りのテストをするときに、毎度テスト用のDBにデータを流し込んで終わったら削除する、みたいなことをしていたのだけれど、若干面倒だなーと思い始めたのでgo-sqlmockを使ってみました。 go-sqlmockはgo用のmockライブラリです。 github.com 公式のサ…

nuxtでRESTっぽい感じに重複したルーティングをする

特に難しいことを考えなくても色々できるので、最近はよくnuxtを触っているのですが、RESTっぽい感じに階層的なURLで動的なルーティングはどうするんだろうって思ったので、試してみた。 公式のリンクは以下。 ja.nuxtjs.org 上のリンクをたどればわかります…

werckerでs3にdeployしてみた

個人プロダクトをnuxt.jsを使ってSPAを書いているのですが、楽にデプロイしたいと思って、werckerを使ってみました。 werckerはTravis CIなどと同様のCIのサービスで、フリープランでもprivateリポジトリに対して導入できるという特徴があります。 Wercker H…

「Amazon Web Services 基礎からのネットワーク&サーバー構築」を読んで、似たような構成をterraformで作ってみた

つい昨日、「Amazon Web Services 基礎からネットワーク&サーバー構築」を読んで感想を書いたのだけれど、実際に使う上では自動化必須だと思われたので、terraformでやってみました。 Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版作者: …

「Amazon Web Services 基礎からのネットワーク&サーバー構築」を読んだ

AWSを仕事で使ってはいるものの、実際の構築は他の部署の方にお願いしているので、私自身はシステムのアーキテクチャを設計して、それをAWSで構築してもらっているだけでした。 さすがにそれではいけないという気持ちと、一通り全部出来たほうがいいかという…

「初めてのシングルアプリケーション Vue.js と Firebase で作るミニ Web サービス」を読んだ

ここ最近、個人プロダクトはReact使ってたんですが、仕事でVueを触らないといけない状況が増えてきたので、Vueの勉強を再開しています。そんな中で、技術書典4の本がBOOTHで売られていたのでPDFを買って読んでみたので、さっくりと感想でも。 booth.pm 本の…

echoでCORS対応する場合にpreflightリクエストの処理をどこでしているか調べてみた

昨日「Web API: The Good Parts」を読んで、APIを実装する場合の基本的な部分をおさえてみようということでCORS対応について色々確認してみてます。 net/httpで実装するのであれば、該当するhandler内部でMethodのチェックをして、OPTIONSならそのまま返す、…

「Web API: The Good Parts」を読んだ

新しいことばかりに目を向けすぎていて、今現在活用されている技術についての理解が不足しているなーと思ったので、最近は既存技術の根っこみたいな所を集中して勉強するようにしています。 そんな中でWeb APIは大抵のサービスで活用されているものであり、…

depでgoaを使う

久しぶりにgoaで遊ぼうとしていて、開発環境をdockerで作ろうとしたら、ハマったのでメモ。 goaの使っているgo.uuidのbreaking changeが原因でシンプルにdep ensureで引っ張ってきても古いgo.uuidが取れてきてしまって、動かないのでGopkg.tomlで上書きする…

TODOアプリにRedux足してみた

前回の続き。以下の本を読んでみたものの理解した気になれなかったので、自分の思うままに書いてみたりしてます。 React入門 React・Reduxの導入からサーバサイドレンダリングによるUXの向上まで作者: 穴井宏幸,柴田和祈,石井直矢,三宮肇出版社/メーカー: 翔…

glideからdepに変えた話

前に自分の作ったライブラリのパッケージマネージャーをglideからdepに変えました。特に理由があってやったというよりは、そろそろdepに慣れておいた良さそうぐらいのモチベーションです。 dep自体が他ツールからの移行を想定しているので移行は非常に楽でし…

Reactの勉強がてらによくあるTODOアプリを書いた

Reactの本を読みはしたものの、実際に自力で書いてみないと理解しないと思ったので適当に書いてみた。一応読んだ本にもTODOアプリの実装は書いてあったものの参考程度で基本的には自分で考えながら書いたやつです。なので、実装のやり方も一致しないはずだし…

「React入門 React・Reduxの導入からサーバサイドレンダリングによるUXの向上まで」を読んだ

この所、暇な時はflutterを触っています。デフォルトでかなりの数のWidgetがあるので簡単なアプリならこれで十分だなーと思っている所です。そんななかで、flutterがReactの影響を多大に受けていることは公式のドキュメントでも言及されており、これは一度触…

flutterでWidgetにジェスチャーを追加する

flutterで自分で作ったWidgetにタップのようなジェスチャーを追加したくて試したのでメモ。 flutterで適当なList UIを作っているときは考えるのも面倒くさいのでListTileでひとまずやってタップみたいなユーザー操作は基本的にそのままonPressedを使ってまし…

FlutterでWidget間に線を引きたい

適当にUI作ってて、ふとWidget間に線を引きたくなって調べたのでメモ。 シンプルな横線であれば、Widget CatalogにあるDividerで出来るっぽい。Widget Catalogほんと便利。 以下公式のドキュメント https://docs.flutter.io/flutter/material/Divider-class.…

「ビックデータを支える技術」を読んだ

特に内容を知らずにタイトルが気になったので、「ビックデータを支える技術」を読んでました。 ビッグデータを支える技術―刻々とデータが脈打つ自動化の世界 (WEB+DB PRESS plus)作者: 西田圭介出版社/メーカー: 技術評論社発売日: 2017/09/22メディア: 単行…

flutterでpull to refreshを実装する

最近、友人たちと何か作るときにさっくりプロトタイプを作る手段としてflutterをちょこちょこ使っています。そんな中でpull to refreshどうやるんだろうと思ったので簡単にまとめます。 pull to refresh自体は既にRefreshIndicatorが用意されているので、そ…

vueでtextareaでtabを入力できるようにする

vueでtextareaを使うようなアプリケーションを作っていて、tab入力どうすればいいんだと思ったのでメモ。 基本的なやり方はjQueryでやる場合と同じで、textarea内のtabによるkeydownイベントをトリガーにして、既存の入力に\tを付け足して上書きすればいいだ…

Firebase hostingにvueのアプリケーションをデプロイする

普段はAWSを使っていて、ちょっとしたアプリケーションであれば、S3において外部からアクセスできるようにしてました。今回、ちょっとした事情でGCPを使わないといけなくなったので、同等のことができそうということで、Firebase hostingを使ってみました。 …

vuejsでscssを使う

自分の作っているアプリのcssが散らかってきたので、scssなりなんなりで整理したいなーと思って調べてのでメモ。 私の環境は、vue-cliのwebpackのテンプレートで作ったものなので、それ準拠で。 やることは以下の3つ loaderのインストール vue-loaderのオプ…

bootstrap4のnavbarの位置を固定する

bootstrap4を使っていて、スクロールした時にnavbarを上に固定したかったのでやり方をメモ。 基本的にはclassにfixed-***をつければいい。 上部に固定は以下 <nav class="nav fixed-top"> <a>上に固定</a> </nav> ついでに下に固定も <nav class="nav fixed-bottom"> <a>下に固定</a> </nav> 細かいドキュメントは以下 getbootstrap.com

軽いノリでプルリク投げたらmergeされた話

今年のぼんやりとした目標で、何かしらの他人のプロダクトにプルリクを投げようと考えていたのですが、年始にgithub trendingに上がっていたプロダクトにノリでプルリク投げたら5分かからずmergeされてしまいました。 プルリクを投げたのは以下。 github.com…