Technology Engineering

178inaba の技術ブログ

go-cmpでuintが16進数で表示される問題を解決した

Go

一ヶ月くらい前だがgo-cmpで uint が16進数で表示される問題を解決した。 go-cmpは差分がいい感じに表示されるので重宝していたのだがuint系の変数だけ16進数で表示されるのが気になっていた。 https://play.golang.org/p/uE2CalqpkTZ main.Ints{ - Int: 0, …

株式会社はてなに入社しました

株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記

#技術書典 応援祭で無料配布している技術書まとめ

技術書典8は中止になってしまいましたが技術書典 応援祭がオンラインで開催されています。 技術書典に行ったことがない人でもオンラインの応援祭であれば気軽に覗けるのではないでしょうか。 この記事では技術書典に興味を持つきっかけになればと思い、応援…

Vim Pluginに入門してみた #vim

Vim

この記事はVim2 Advent Calendar 2019の19日目の記事です。 Vim Pluginを書こう書こうと思ってずっとできていなかったのでAdvent Calendarをきっかけにhello, world的なPluginを書いてみた。 github.com :Hello foobar と打つと hello, foobar と返してくれ…

Go言語で画像生成のテストを書く #golang

Go

この記事はGo3 Advent Calendar 2019の18日目の記事です。 この記事ではGo言語における画像生成のテスト方法を紹介します。 画像生成というのはロジックに手を入れていなくてもライブラリがアップデートされたタイミング等でバグりやすい箇所です。 テストを…

VimConf 2019参加レポートを書いた

自分のブログからもリンクしておきます。 engineer.dena.jp VimConf 2019に参加した皆さんのブログを書くスピードが速くて自分もなんとか今週中には出したいと思っていたので間に合ってよかったです 今夜はVimConfのアイスクリームスプーンとハーゲンダッツ…

YubiSwitch を使って YubiKey の誤作動を防ぐ方法

皆さん YubiKey 使ってますか? 私は YubiKey 5C Nano を使っています。 Yubico YubiKey 5C Nano Two Factor Authentication Security Key - Black - USB-C[cb]ジャンル: パソコン・周辺機器 > パソコンパーツ > その他記憶装置(内蔵型) > その他ショップ:…

AWS CloudFormation の dry-run を cli でやるコマンド

AWS CloudFormation で dry-run して差分が見たい場合、以下のように create-change-set と describe-change-set のコマンドで見れる。 $ aws cloudformation create-change-set --stack-name test-stack --change-set-name test-stack-dry-run --template-b…

Makefile のシェル代入演算子は macOS 標準の make では使えない

postd.cc 上記記事で != (ビックリイコール) という演算子を知った。 これはシェル代入演算子といい右辺をシェルのコマンドとして実行し、実行結果を左辺に保存するという演算子である。 今回はシェル代入演算子が macOS で動かない現象があったため原因と対…

gRPC(Go)でタイムアウト時にio.EOFエラーになる件を調査した

WEB+DB PRESS Vol.110のgRPC特集がおもしろくて手を動かしながら読んでいる。 WEB+DB PRESS(Vol.110(2019)) Webアプリケーション開発のためのプログラミング技 特集:名前付け大全/速習gRPC/最新TLS1.3ジャンル: 本・雑誌・コミック > PC・システム…

株式会社はてなに入社しました

株式会社はてなに入社しました。よろしくお願いします。 京都は修学旅行以来です。 株式会社はてなに入社しました - hitode909の日記

スプレッドシートのデータを取得する

slack botでスプレッドシートからデータ取得する場面があったので調査して検証がてらgolangで実装してみた。 気をつける所とかメモ的に書いておく。 作ったのはスプレッドシートで重み付け抽選を行うアプリ。 github.com 認証 認証方法はAPIキー、OAuth、サ…

Nuxt.js×Express使用時のhost指定でハマった

Nuxt.js×ExpressのDockerfileを書いている時に、コンテナ外からアクセスを受け付けようと思って server/index.js の host の値を 127.0.0.1 を 0.0.0.0 に書き換えた。 host = process.env.HOST || '0.0.0.0', しかしコンテナ外からアクセスできなかった。 …

AlexaアプリケーションをServerlessで作成するコマンド

$ serverless create -t aws-alexa-typescript -p <app_name></app_name>

LinuxにNode.js入れる時はPermissionのためにnvm使ったほうがいい

前回の記事ではyumでNode.jsをインストールしたが、それはServerlessをインストールしようと思ったためであった。 しかし、Node.jsのインストール後、Serverless公式に書いてあったコマンド npm install serverless -g を実行したらPermissionで怒られた。 n…

Amazon Linuxで古いNode.jsがインストールされる時の解決方法

Amazon Linuxで何度Node.js v11をインストールしようとしてもv6が入ってしまう現象が起こったのでその解決策をメモ。 現象 v11用RPMのセットアップをする。 $ curl -sL https://rpm.nodesource.com/setup_11.x | sudo bash - その後、yum installしても 2:6.…

削除済みリモートブランチを追跡しているローカルブランチを1発で全削除するコマンド

Git

リモートブランチはマージ後GitHubが削除するか聞いてくれるのでその時点で削除するようにしている。 だが、そのリモートブランチを追跡しているローカルブランチの削除を忘れて溜まっていることがよくある。 $ git branch -v * develop fef1cdd Merge pull …

$(git branch)でカレントディレクトリのファイル一覧も出てしまう時の対処法

Git

とあるシェルでgitのブランチ一覧を取りたくて echo $(git branch) と書いたのだが、なぜかファイル一覧も出てしまい戸惑った。 前提 下記のようなディレクトリがあって、それがgit管理されていたとする。 $ ls README.md main.go main_test.go そして以下の…

特定のディレクトリ内にあるjavascriptを全てMinifyする

例えば static/js ディレクトリにjsが置いてあるとする。 $ tree . └── static └── js ├── bar.js ├── baz.js └── foo.js そのディレクトリ内にあるjavascriptを全てMinifyしたい場合のbashスクリプト。 for f in $(ls static/js/*.js); do uglifyjs -cm -o …

CircleCIのYAMLの仕様が変わった

CircleCIを使っている。 今週水曜(2018年10月10日)なぜか本番デプロイができなくなっていた。 調査すると設定を書いているYAMLの仕様が変更されたようで、キーの上書きができなくなっていた。 元々の仕様 デプロイにはFabricを使用している。 fab dev deploy…

ブログ再始動

お久しぶりです。 178inabaです。 久しぶりにブログを書いています。 最近、技術書典で技術書を販売した方のブログを見ました。 shu223.hatenablog.com このブログを見て (自分もいつかは本が書けたら楽しいだろうな) (沢山の人が来場していて交流できるし、…

GitHub Gistにファイルをアップロードするコマンドをgolangで作った

Go

Gistを作る時、毎回catでファイル内容を表示してコピーして、GistのWeb画面にペーストしてたんだけど、 これが地味にめんどくなってきたので、ファイルを渡すとGistを作ってくれるコマンドをgolangで作った。 github.com 使い方 target.goをGistにアップロー…

Raspberry Piで使うSDカードをコマンドラインで作る

新しいRaspberry Piを買ったので起動SDを作るコマンドをメモしておきます。 使用するOSはRaspbianです。 # ダウンロード $ wget https://downloads.raspberrypi.org/raspbian_lite_latest -O raspbian.zip # zip解凍 $ unzip raspbian.zip # SDカードのマウ…

Raspberry Pi(Raspbian)の更新

新しいRaspberry Piを買ったので、ついでに以前GitLabを入れたRaspberry Piの更新をした。 # パッケージリスト更新 $ sudo apt-get update # パッケージ更新 $ sudo apt-get dist-upgrade # ダウンロードしたパッケージの削除 $ sudo apt-get clean sudo apt…

Herokuアプリとgitからcloneしたアプリの紐付け

Herokuアプリを1から作る時はheroku createだけど、既に存在するHerokuアプリとgitからcloneしたアプリを紐付ける方法がわからなかったので調べた。 $ heroku git:remote -a app_name これでリモートにherokuが追加される。 $ git remote -v heroku https://…

別環境で作ったRailsプロジェクトを新しい環境に持ってきたときの環境構築

今日は近くの公民館の自習室でRailsのチュートリアルをしてました。 帰ってきてからRails環境が無いPCで続きやろうとしてgit cloneの後、ちょっと躓いたのでその時の事をメモとして残しておきます。 Rails環境構築 macOSにRailsの環境構築してローカルサーバ…

Railsのインストールでエラーが出たらNokogiriを先にインストールしよう

Railsのチュートリアルをやっているのですが、Railsのインストールで躓きました。 $ gem install rails ... xmlIO.c:1450:52: error: use of undeclared identifier 'LZMA_OK' ... Nokogiriのインストールでエラーです。 issueも立っていました。 github.com…

『ボトルメール』というLINE Botを作っていた話。 #BOTawards

inabaです。 忙しくてブログにまとめるのが遅れていまいましたが、2月末にLINE Botを作ってLINE BOT AWARDSにエントリーしてました。 https://bottle-mail.178inaba.com/bottle-mail.178inaba.com ボトルメールといいます。 Botと友達になってメッセージを送…

golang.tokyo #4に行ってきた。 #golang #golangtokyo

Go

inabaです。 golang.tokyo #4に補欠からの当日滑り込み繰り上がりという運の良さで参加してきました。 会場はペアーズの株式会社エウレカさん。 倍率が2倍ということもあり、狭き門という印象のgolang.tokyoですが、今回から動画撮影も始まったようです。 次…

CentOS 7のファイアウォールで80番ポートを許可する

inabaです。 サーバにnginxをインストールして、localhostからはアクセスできるのに、外部(グローバルIPや設定したドメイン)からはアクセスできなくて困っている人はファイアウォールの設定を疑ってみるとよいです。 firewall-cmd ファイアウォールを操作す…