タグ

ブックマーク / medium.com/@timakin (8)

  • プライベートでコードを毎日書き続けて2年以上が過ぎた

    いつの間にか2年間継続してコードを書いていたので、その振り返りです。上のインコは日々僕を応援してくれる二羽のインコのうちの一羽です。この後をボロボロに噛みちぎっていきました。 1年目との違い去年こんなポストを書きました。 このとき、自分はコードを1年継続して書いたわけですが、その後また1年継続してコードを書いていました。 1年目とは「書きたい」と思うものも変わりました。また、習慣を維持する労力も小さくなり、コードを書くことそのもの以外の、登壇などの時間を取れるようになりました。 この1年で新たにやったことツール作成markdownをMediumポストにするCLIツールAWS SSMで管理されたパラメーターを環境変数にInjectするツールGoogle Cloud Platform API向けに使える、goonと同様のDatastoreクライアント基盤作成AWS上にTerraform+An

    プライベートでコードを毎日書き続けて2年以上が過ぎた
    advblog
    advblog 2018/02/26
  • mercari/datastore実戦投入

    DatastoreについてみなさまGCPをお使いになっているでしょうか。 GCPにはバックエンドのDBとしてCloudSQLというRDBと、NoSQLであるDatastoreというのがあります。 周囲の事例を聞く限りは、マスターデータなど変化が少なかったり、seedデータ的なものを用意しなければならないものをのぞいて、基的にDatastoreを利用している印象です。 また、GAEで開発する場合はinternalなAPIからDatastoreを利用できる一方、GKEなどからは、GCPの外部向けAPIを呼び出すことでデータを送受信します。 さて、自分はいつもGoAPIを書くのがいいよ!と触れ回ってるわけですが、GCP上で開発を進める際には前述の通りDBにはDatastoreを使っています。 このDatastoreですが、そのまま使うと自前でキーを発行する必要があったり、値をキャッシュしたり

    mercari/datastore実戦投入
    advblog
    advblog 2017/11/24
  • エンジニアはどのように他のアプリのUXを参考にすべきか

    問題意識エンジニアのタイプを分けるとき、大雑把に「サービス志向」と「技術志向」みたいな分け方をすることが、僕の周りではよくあります。 個人的にはこの分け方は必ずしも良いものとは言えないと思います。少しエンジニアのことをサービスと距離のある人種として捉えてるように感じるからです。 技術志向だからってサービスのことを考えてないということではなく、「よりセキュアな技術を採用する」「効率的で安全なデプロイができるフローを構築する」などなど、技術向上を通じてユーザー体験をよくしよう、としているはずです。 ただ、デザインを良くしたり読み込みスピードを早くしたりなど、「目に見える範囲で改善する施策」を考え、実行しなければ、プロデューサー的な人からすれば「何やってんだろうな〜」と、エンジニアはブラックボックス的な人に見えてしまうこともあると思います。 じゃあ他のアプリをいじってみたりして、サービス勘みたい

    エンジニアはどのように他のアプリのUXを参考にすべきか
    advblog
    advblog 2017/11/21
  • 「今年は…何か大きめのOSSにコントリビュートしたいですね」

    これはポエム。 先日、晴れてGoにContributeできまして、積年の目標であった「なんか大きめのOSSにコントリビュートする」を達成した。 これは前から当にやってみたかったことで、Issueを立ててはCloseされ、をRubyやらGoやらで何度かやった末のコントリビュート。 割と一個のマイルストーンを経た感じがして、個人的には感慨がある。 OSSにコントリビュートしてみたいそもそも、プログラミング初めてからというもの、「Rubyにpull-req送ってます」とか、言語そのものへのコミットにはかなりの憧れを感じていて、社会人になる前後からというもの、3年前くらいから、何か面談とかで目標を聞かれるたびに、ずっと「技術的には…言語とか有名なソフトウェアへのコミットをしてみたいですね…」と言っていた。 とはいうものの、心理的障壁が高くて、自分のような技術力でできる気がしなかったのと、ソースを

    「今年は…何か大きめのOSSにコントリビュートしたいですね」
    advblog
    advblog 2017/08/14
  • AWSで秘密定数を外部に公開せず環境変数として定義するためのGo製ツール、「ssm2env」作った

    ssm2env - Environments injection tool for AWS EC2, with SSM (EC2 Parameter Store). 詳細環境ごとに異なる秘密情報をAPIに渡す際、その管理方法は、twelve-factor appにもある通りデプロイ対象のサーバー内部の環境変数として定義するべき。 ただ、自動化されたデプロイフローでは、どういった手順で秘密情報を渡せばいいか悩むことが多い。 自分が考えた範囲では、 1. AWSのSSMにTerraform経由*1でシークレットな変数を設定 2. APIのデプロイ時にSSMから特定prefixのついたパラメーターを取得 3. パラメーターを全て環境変数として読み込ませる 4. APIが起動する際に秘密情報を定数として環境変数から読み込む*1) 正確にはCircleCIの環境変数設定に事前に入れた状態で、Circ

    AWSで秘密定数を外部に公開せず環境変数として定義するためのGo製ツール、「ssm2env」作った
    advblog
    advblog 2017/08/03
  • Goで作るDBレプリケーションツール

    gopli - DB replication tool to synchronize data with multi environments written in Golang. ツールの名前はgopli (go replication)で、意図どおりの名前ですね。 これは何tomlで書いた、ssh/db接続用の設定ファイルを元に、特定の環境間でデータを同期させるツールです。今の所MySQLのみ対応で、postgresqlに対応しろと言われたものの、なかなか手が回っていない状況です。 使い方は簡単で、 まず以下のように、 sshでのサーバーへの接続と、MySQLへの接続設定をtomlで書きます。 [database] [database.local] host = "localhost" management_system = "mysql" name = "app_developmen

    advblog
    advblog 2016/12/25
  • 人がやるべきではない仕事。一人のエンジニアとして。

    Medium開き。はてなで自分用のブログを持っているけど、urlとかidとかがおかしいし、直したいのに直せないので、こっちに移ることにした。 僕がやるべきではないと思った仕事まず断りを入れておくと、仕事と言っても、職場の話ではない。 GoとかReduxとかReactとか、NodeとかRailsとか、OSSで見ておかなきゃなーと思った公式リポジトリをフォローした時の話。 僕は割とOSSにバンバンコミットするぜ、みたいなことに憧れつつも、なかなか自分だけのソフトウェアを作ってしまう性格で、それを治したいと思っていた。 とりあえず手始めに、各リポジトリをフォローして、各言語やソフトウェアがどんな課題を感じているのか、調べることにしようと思った。 その時に問題が発生して、なんとスパムのようにNotifyメールが来る。どれくらい凄いかというと、特にReduxなんだけど、日時間で深夜3時くらいに、3

    人がやるべきではない仕事。一人のエンジニアとして。
    advblog
    advblog 2016/08/27
  • やっぱブロックチェーンダメっぽい

    デジタル台帳「ブロックチェーン」が支える仮想通貨ビットコインを何百万人にも紹介したステファン・トーマス氏は、心変わりした。 この記事、最初見たとき釣りかと思ったけど、釣りではなく「まあそうだよね」と言う意見だった。 ここで言われてるのは 金融機関の政治問題合意形成コストの2つが課題でブロックチェーンが実戦に不向き的なこと。 1個目は人の問題なので置いとくとして、2個目が散々。 計算にマシンパワーが必要なのと、その結果を全ノードに等しく伝えるのに何日もかかる & その過程で生じた履歴がもし採用されなかったら破棄される可能性もある。 これらの点から「速くて、堅牢な、低コストの取引台帳」なんてものはないの明らかなので、登壇テーマとして用いた身なのを棚に上げながら言うと、すぐさまこの界隈は沈静化してほしい。 ハッシュ値を最も早く生成し、その結果その解答者以外の履歴はあっていようが間違っていようが場

    やっぱブロックチェーンダメっぽい
    advblog
    advblog 2016/08/27
  • 1