宮島武

職業は自営のエンジニアです。Ruby、Go、Javaなどでプログラムを作成できます。あ…

宮島武

職業は自営のエンジニアです。Ruby、Go、Javaなどでプログラムを作成できます。あと音楽好き。 twitter: https://twitter.com/takeshi_miyajim github: https://github.com/miyazi777

マガジン

  • ソフトウェアエンジニア

    個人的なエンジニアとしての記事をこちらに書いて行こうと思います。

  • お気に入りの音楽

    お気に入りの音楽を並べたマガジンになります。もし良い音楽の発見に役立ったのなら嬉しいです。

最近の記事

Docker for macのKubernetesがstartingのままになっていた時にやったこと

今どきは特別な理由がなければ、ちょっとした実行環境などはDockerで用意することが多いと思います。 なので、開発に使っているmacにはdocker for macをインストールしています。 おまけに自動起動するようにしています。 ところが、ここ数日、妙にmacが重くてなんでだろうと調べてみたところ偶然にも同梱されていたKubernetesが起動中のままになっていることを発見しました。 重い原因は他にもありましたが、これも一因かと思い対応した時のメモです。 環境 mac

    • 小規模な車輪の再発明をしてみた話し

      年末年始ではあったのですが今年はこういう状況でしたので、特にどこにも出かけることもなく基本的には家にいました。で、特にすることもなかったので、ふとCLIツールを作ってみようと思い立って作ってみた話しです。 ただ、作ったものは人真似ですでにあるものを自分用アレンジして作っただけなので、エラソーなことは何も言えないのですが、これは意外と良いものかもしれないな、とも思ったのでこの記事を書いてみました。 作ったきっかけ 仕事でGoを触るかもしれない可能性があるので、肩慣らしに何か

      • gcloudコマンドが使えなくなっていた

        きっかけある日、GCP環境にアクセスする必要がありgcloudコマンドを叩いたところ、エラーが出てしまい、全くコマンドが実行できなくなっていることに気づきました。 ちなみに環境はmac os 10.15.7、pyenvにてpythonはpython 3.7.4、python2は2.7.16としている環境です。 >>> gcloud -hERROR:root:code for hash md5 was not found.Traceback (most recent call

        • react-dropzoneでファイルの指定をシンプル実装

          ファイル指定の為のコンポーネントライブラリである、react-dropzoneを最近知ったので、復習も兼ねて記事にしてみます。 この辺りを自前で実装しようと思うと意外に面倒くさいことが多いと思うのですが、このライブラリを使うとその辺りの面倒事が隠蔽されていて大変便利でした。 公式サイトインストール npm install --save react-dropzoneoryarn add react-dropzone サンプル 下の処理では画像ファイルのみを受け付ける、「se

        Docker for macのKubernetesがstartingのままになっていた時にやったこと

        マガジン

        • ソフトウェアエンジニア
          19本
        • お気に入りの音楽
          15本

        記事

          2020年振り返り

          2020年もあと少しなのでエンジニア的な要素で今年の仕事を今年を振り返ってみようと思う。 立ち位置フリーでプログラマとしてプロジェクトに参加。今年は3月まではA社。4月からはB社のプロジェクトに参画中。 下からは今年利用した技術を元に振り返る。 Go / Gin Frmaework A社はGoでバックエンドを書いてた。それからGoの仕事が舞い込みそうな話しがきたので個人的にサンプル的なコードを書いてカンみたいなものを維持していたが、結局タイミング的なものもあって仕事には

          2020年振り返り

          webpack5でreact + typescriptの環境を作ってみた

          きっかけ 最近はフロント側でReact + TypeScriptを触ることが増えてきました。 元々バックエンドでRubyやGoを主戦場としていた為、流れの速いフロント側の実装には二の足を踏んでいたのが本音なのですが、実際の開発ではそうも言ってられないのが現実です。 で、過去にもVueやNuxt.jsなども四苦八苦しながら改修してきていたのですが、ふと「そういえば、フロントの開発環境って自分で構築したことないな」と思い至り、最近は微妙にこれが劣等感を刺激し始めてきました。

          webpack5でreact + typescriptの環境を作ってみた

          TypeScriptのkeyofが便利

          最近、仕事でTypeScriptを触ることが増えてきました。 まだまだ型に慣れず、なんでlinterに怒られるのかわからないことも多いのですが、少しずつ慣れてきています。 そんな感じでちょこちょこTypeScriptを触っている途中、keyofという便利なものを知ったので、そのメモです。 少し大きめのプログラムを書いていると何かのコード表的なものを表現したくなる時が出てきます。 例えば、色コードなどをReactでコンポーネントを作成した時、コンポーネントの色を指定させるの

          TypeScriptのkeyofが便利

          React+chart.jsでドーナツグラフの真ん中に文字列を表示する

          概要現在の仕事ではフロントエンドにreactを使って画面を構築しています。 ある時、新機能を作ってくれと頼まれ、ざっくりした仕様を聞かせてもらうとあるデータの集計結果を画面上にドーナツグラフで表示したい、というものがありました。 まあ、chart.jsとか使えばなんとなかなるだろうと思っていたのですが、すでに出来上がっていたワイヤーフレームを見るとドーナツグラフの真ん中に統計の総件数を表示する、という仕様がありました。 chart.jsのドキュメントを眺めても、グラフの

          React+chart.jsでドーナツグラフの真ん中に文字列を表示する

          git push -fでやらかした話し

          ついにやってしまったgit push -fで大事なブランチを上書きしてしまったのです。 他の人がローカルのmasterブランチを思いっきりforce pushしてしまったことは何度か見かけたことはありました。 まさか自分が似たようなことをやらかしてしまうなんて・・・ force pushの悲劇はエンジニア人生で一度はやらかしてしまうものなのかもしれないです。 普段のブランチ運用普段のブランチ運用はdevelopブランチをベースにタスク毎にブランチを切り、問題がなければd

          git push -fでやらかした話し

          Go言語でgRPCに入門してみた4 grpcurlで動作確認

          gRPCの動作確認 RESTのAPIサーバなどの動作確認にはcurlコマンドを使うことが多いと思いますが(あとはjq)、それのgRPCサーバ版がないかなぁ、と思ったらありました。 早速、使ってみます。 https://github.com/fullstorydev/grpcurl brew install grpcurl ちなみにEvansというツールもあるようで、今回は使いませんでしたが、もっと本格的にgRPCサーバを構成する時にはこちらも良さそうではありました。 h

          Go言語でgRPCに入門してみた4 grpcurlで動作確認

          Go言語でgRPCに入門してみた3 独自インターセプタ

          以前の記事で、gRPCで認証処理を入れる実験をしてみました。 その時はこちら。 インターセプタには認証の他にもロギングなど、定型的な処理がすでに用意されていていて便利そうです。 ただ、実際の業務では独自処理を差し挟むこともあるかと思い、この記事ではカスタムインターセプタのテストをやってみました。 railsのbefore、afterやjavaのSpringのinterceptorに慣れている人であれば、すぐにイメージがつくと思います。 この記事では前々回の名前を渡すとhe

          Go言語でgRPCに入門してみた3 独自インターセプタ

          Go言語でgRPCに入門してみた2 認証処理を追加してみた

          以前の記事で、gRPCでclientもserverもGoで開発し、簡単なメッセージ送信受信を実装し、gRPCの感触を掴みました。 その時はこちら。 この記事では、上記の記事にさらに手を加えて通信時に簡単な認証処理を加えてみます。 具体的には以下のようなことをやります。 * クライアント側では通信時にメタデータに認証トークンを載せます * サーバ側では通信を受けた際にメタデータの認証トークンが妥当かどうか検証します * 認証トークンは"testtoken"とします。Bear

          Go言語でgRPCに入門してみた2 認証処理を追加してみた

          Go言語でgRPCに入門してみた

          仕事でgRPCを使いそうな雰囲気があったので、Hello Worldレベルで良いのでとりあえず動作させて感触を見てみました。 内容としては名前をサーバに送信すると"hello {名前}"というメッセージが返ってくるだけの本当に触りの触りをやってみました。 前提OS: mac os 10.15 Go: 1.15.2 前準備適当に動作確認用のディレクトリを作成します。 僕はtestにしました。 mkdir test && cd testgo mod init test

          Go言語でgRPCに入門してみた

          ghとfzfを組み合わせて使ってみた

          ghコマンドが1.0になったのを機にhubコマンドをやめて、ghコマンドに乗り換えました。 hubに特に不満もなかったのですが、ghの方が今後メインで機能追加とかいろいろと発展しそうな雰囲気を感じたので、今回乗り換えました。 ただ、個人的な使い方としては *issueとpull requestの一覧を見る * 指定したissueをブラウザで開く * 指定したpull requestをブラウザで開く * リポジトリの作成 ぐらいで、この辺りが快適になれば満足です。 特に特

          ghとfzfを組み合わせて使ってみた

          iOS開発中にXcodeから実機にアプリを転送できなくなった

          起きたことiOSの開発をやっていて実機で動作確認したい時にはmacにiPhoneを繋げてiPhoneで動作確認するのですが、今日、やったら以下のようなダイアログが開いてiPhoneでの動作確認ができませんでした。 「iPhone is not available. Please reconnect the device.」ということで最初はコードを抜いたり、macを再起動するなど、間抜けなことをやってみたのですが、状況は変わりません。 原因ググってみるとやはり同じ現象に悩

          iOS開発中にXcodeから実機にアプリを転送できなくなった

          python3系とpython2系をpyenvで同時に指定する

          仕事で微妙にpythonを扱うことになって偶然知った、pyenvの小ネタ。 pythonと打った時にはpython3.x系を、python2と打った時にはpython2.x系が実行されるようにしたい時のpyenvの設定。 pyenv local 3.6.7 2.7.13

          python3系とpython2系をpyenvで同時に指定する