布団の中にいたい

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

「インタフェースデザインのお約束」を読んだ

ツイッターでクックパッドの方が紹介されていて、エンジニアにもおすすめということだったので読んだ。 インタフェースデザインのお約束がものすごい神本!経験則で学ぶお約束を網羅してる。エンジニアにもオススメ!✅タップ可能な領域は指先サイズに✅パスワ…

gqlgenでgraphql schemaのファイルを分割する

何か新しいことをやってみようとGraphQLの勉強をし始めていて、まずは手慣れている言語で触ってみようということでgolangのgqlgenを触ってみています。 gqlgen自体はドキュメントも豊富なので軽く触ってみている分にはお手軽なのですが、一つのファイルに全…

2020年の目標

あけましておめでとうございます。本年もどうぞよろしくお願いいたします。 年明けから一日ほど立って、ぼんやりと去年と一昨年について思い出していたんですが、両方とも自分の学びにつながることはあまりできなかったように思います。 技術関連については…

今年のふりかえり

2019年もあと数日で終わりので今年の振り返りです。 以下去年の振り返りです。 asahima.hatenablog.jp 覚えてる範囲の出来事は以下です 病院通い 副業 英語 病院通い 今年一年は体調を崩してばかりの一年でした。年始にインフルエンザにかかったことから始ま…

grpc-goを使った際のヘルスチェック

grpcを使ったアプリケーションを作る時にヘルスチェックをどうしようかと思って色々調べたのでメモ。 grpcでヘルスチェックを行う場合、公式にかかれているGRPC Health Checking Protocolを使うと良さそうです。 https://github.com/grpc/grpc/blob/master/d…

async/await で複数のAPIを非同期に処理する

js

一つの画面で複数のAPIを叩く時にだいぶ遅くなっていてハマったのでメモ。 最初はだいたい以下のように書いていたのですが、この場合だとrequest1の処理が完了 → request2の処理というように非同期で処理する意味があまりない形になっていました。 async fun…

2018年のまとめ

今年も後数時間で終わるのでざっくりとした今年の振り返りをしようと思います。 主な出来事はだいたい以下の通り。 - 勉強会で久しぶりのLT - 転職 - 副業開始 勉強会で久しぶりのLT 学生の頃はちょっとした勉強会でたまにLTをしていたりしていたのですが、…

typescriptでreact-navigationを使おうとしてversion違いでハマった

タイトル通り、画面遷移の実装のためにreact-navigationを使おうとしたのですがハマったのでメモ。 react-navigationは以下。 github.com ハマった理由はシンプルで、react-navigationのstableはv3なのですが、react-navigationの型定義である@types/react-n…

react-native-splash-screenでSplashScreenを追加する

最近はFlutterで遊んでいることが多いのですが、ReactNativeを触らないといけない状況がやってきそうなので適当なアプリを一本実装しながら勉強しています。 そんな中でReactNativeで書いているアプリにSplashScreenを追加しようとして微妙にハマったのでメ…

Laravelでapp/User.phpを移動した際のエラーを消す

Laravelを触ることになったので少し遊んでみている所なのですが、app配下にあるUser.phpを移動した際に認証周りでハマったのでメモ。 app配下にModelsディレクトリを作成してそこに配置します。 今回出たエラーは以下。 { "exception": "ErrorException", "f…

「Nuxt.jsビギナーズガイド」を読んだ

ちょっとした仕事でNuxt.jsを触ることになりそうだったので「Nuxt.jsビギナーズガイド」をサクッと読んでみました。 Nuxt.jsビギナーズガイド―Vue.js ベースのフレームワークによるシングルページアプリケーション開発作者: 花谷拓磨出版社/メーカー: シーア…

flutterでfirebase authを利用する

flutterでfirebase authを利用するexampleを書いてみました。といってもメールアドレス認証のみですが。 github.com 肝になる部分は実際にfirebaseにリクエストを飛ばしている部分で以下です。 FirebaseAuth.instanceを使って、singinWithEmailAndPasswordで…

flutterでfirebase authを利用しようとして環境設定でハマったのでメモ

flutterでfirebase authを使うときにハマったのでメモ。 ハマったのは各OSごとに設定しないといけない部分で今回はiOSで試していたのでそのあたりの使い方をざっくりと。 firebase_authをインストールする firebaseにアプリを追加して、GoogleService-Info.p…

flutterでTextFieldの値をmaskする

flutterで適当にログインフォームを作っていて、パスワード部分をmaskしたいなーと思って調べたのでメモ。 やり方は簡単でTextFieldにobscureText: trueを設定してあげるだけ。だいたい以下のような感じ。 new TextField( obscureText: true, controller: _p…

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は大抵のサービスで活用されているものであり、…