楽したい

常にWhat's upの精神

ローカルに溜まった不要なブランチを一発で削除する方法

注意この記事の説明は間違っています。いつか直します。(やり方自体はあっているので公開してます)

今年最も掃除したかった不要なローカルブランチ削除をググったら案外いい感じなのがなかったので、残しておきマウs。
ちなみに元ネタは下記です。 erikaybar.name

やりたい事

リモートでmasterにマージされて不要になったローカルブランチの削除。

手順

下記でいけると思われ。

git branch | wc -l  # ローカルブランチ数確認(174ブランチあった😡)

git remote prune origin  # リモートで削除されたローカルブランチ 削除

git branch -vv | grep 'origin/.*: gone]' | awk '{print $1}' | xargs git branch -D  # upstreamブランチが存在しないブランチを削除

git branch | wc -l  # ローカルブランチ数確認(20ブランチになりました😎)

感想

git remote prune originでいい感じに削除されない理由がわからん。
git難C

alfredでsnippetsを選択すると勝手に入力されてしまう問題

神アプリalfredの神機能と言えば、そう「snippets」ですよね。

「いつもお世話になっております。」、「ご確認ありがとうございます。」等々、
一般的な社会人peopleであれば、毎日似た文言をゼロ感情・No thinkingで入力しているかと思います。

そもそも、
「さほどお世話になっていないのに、『いつもお世話になっています。』なんて文言はタイプ数が多すぎる😡」
「確認のお願いなんて、『確認よろ。』『おk』くらいじゃダメなのか😫」
「『ありがとうございます。』は小指酷使するからとても辛い😢」

一般的な社会人であれば一度は上記のように考えたことがあるかと存じます。

面倒な決まり文句は出来れば秒で終わらせたい。
そんな生きとし生ける社会人のニーズに答えられるのが、そうsnippetsですよね。

今回はそんな神機能snippetsで、「文言を選択してEnterを押すと勝手に入力されてしまう」問題にハマって、良さげな情報がなかったので記事にしました。
(snippets自体は「alfred snippets」でググると出てくるので今回は解説しません。一言で言うなら定型文の貼り付け機能です)
前置きはここまでで以下本題です。

問題

ここ最近、下記のように「snippetsを選択した状態で、Enterを押すと勝手にエディターに入力されてしまう」問題が発生していました。
これは恐らくデフォルトだと発生しません。ただ、一度発生すると中々解決方法が見当たらない気がします。 f:id:Yuto_M:20191219232054p:plain

解決方法

解決方法は簡単で、macのセキュリティとプライバシー->アクセシビリティ->Alfred4のチェックを外すだけで直ります。😊😊😊 f:id:Yuto_M:20191219232725p:plain

感想

師匠も走ると書いて師走ももう終わりますねぇ。
勤務先は12/28~1/5までお休みになるのでややホワイトですかねぇ。

ちなみにそんなややホワイトの勤務先が求人出してるので載せておきます。
応募の際は「チェックを外した!」で、俺が察します。

alfredでGoogle翻訳を秒で行う方法

最近、作業効率化・自動化にハマっているので、神が作りし神アプリalfredでGoogle翻訳させるやり方書きます。
「alfredって何?」っていう人はこの記事読まないと思うので、この記事では言葉の細かい説明はしません。

前提条件

  • alfred version4系インスコ済み(多分3でも動く。2は知らない。)
  • power pack購入してactivate済みであること

power packはalfredの機能を制限なく使用するために買うやつです。
25ドルと45ドルのやつがありますが、alfred至上主義者の俺は45ドルの方を買いました。
alfredは神アプリなので100ドルでも買う自信があります(威圧)。

やり方

まず、alfred-google-translateっていう下記リポジトリからworkflowファイルをダウンロードします。

https://github.com/xfslove/alfred-google-translate

f:id:Yuto_M:20191215013538p:plain

ダウンロードしたらworkflowファイルをダブルクリックしてimportしてください。

次に下記リポジトリから言語の設定をするためのworkflowファイルをダウンロードします。

https://github.com/xfslove/alfred-language-configuration

言語の設定をやっておくとデフォルトで英語から日本語への翻訳みたいなことが出来ます。
設定しないで翻訳しようとするとなんかうまくいかなった気がする。
設定の仕方は下記みたいな感じで、英語(en)から日本語(ja)にする。(他の言語指定したい場合はリポジトリに説明があるのでそれを読んで設定する)

f:id:Yuto_M:20191215014250p:plain

ここまでやったらもう翻訳できるようになるはず。 alfred起動のhotkey押してtr hellow worldとか打つとこんにちは世界的な感じに翻訳されるはず。
ちなみにその状態でEnterを押すと読み上げで音声が出てしまうので、alfred-google-translateのworkflowを下記のように設定すると音声でないように出来ます。

f:id:Yuto_M:20191215014801p:plain

長い文章だと翻訳結果が見切れてしまうので、cmd+Lで大きくして見れたりcmd+cでコピーできたり出来ます。

感想

エンジニアは英語のドキュメントを読むことがほぼほぼ毎日あると思いますが、これでわからないところは秒で翻訳できるようになりますね。
さすがalfredです。
alfred万歳!!

ちなみに最近勤務先が求人出してるので載せておきます。
応募の際は「alfredの記事を見た!」で、俺が喜びます。

オレオレ証明書でhttps化を試す

オレオレ証明書とか言ういい感じの名前がついてるやつ、聞いたことあるし、よく開発とかで設定されてるけど自分でやってみたことないからやってみた。
ちなDockerでやる感じです。

基本的には下記を参考にしてやりました。
超絶わかりやすかった。 https://katekichi.hatenablog.com/entry/2017/06/14/docker_for_mac%2B_nginx%2B_オレオレ証明書でローカルSSL環境を作った

上記そのままやると多分nginx:latestのバージョンの違いかなんかでうまく行かないとこがあったんで書いておきます。

修正が必要なとこ

app.confaccess_logerror_logを指定するところが、 /var/logs/access.logとかになっているが、そのままだと「そんなディレクトリ無いよ」ってことでエラーになってコンテナが落ちちゃう。
なので、access_logerror_logは下記の様に変えて上げる必要がある。

app.conf修正例

access_log    /var/log/access.log;
error_log     /var/log/error.log;

それとapp.conflocation設定で下記のようになっているが、Dockerfileの方では、/var/www/htmlになってしまっているので、それも下記のように治す必要がある。

app.conf

  location / {
    alias /var/www/;
  }

Dockerfile修正例

ADD ./html /var/www

たぶん上記をクリアしたら動くはず。
完成品
https://github.com/Yuto-M/study-oreore-certificate

退職やで!

約9ヶ月働いた今の会社を7月いっぱいで退職することにしました。
そもそも半年くらいしたら辞めようと思っていたので、まぁ時が来たなって感じがする。
とりま、どんな会社だったかを書いてみました。

業界

ナイトレジャーと言うなのエロ業界。
職場でおっぱいを見ない日はない(リアルでは見ない。PCのモニターで見る)。

社風

忙しくないので全体的に穏やかで、感じのいい人が多かった。
働き方に自由度はほぼなく、リモートワークや使用するPCが選べるみたいな今風?の制度はなかった。
エンジニアでも別に特別な扱いはなく、バックオフィスの職種の1つみたいなもんとして考えられていたと思う(この考え方めっちゃクソだと思う。死んでほしい。くたばって欲しい)。
エンジニア職の人に限って言えば、技術的なものに関する興味・関心は低い人が多かった気がする。
これは上記のエンジニアを特別視しない社風が影響してる気がした。
別に技術力上げても待遇等が他と変わらないなら大抵、人間頑張らないからね、仕方ないねって感じ。
ただ、中には技術力を上げようと頑張っている人もいたので、やっぱ世の中最終的にはそいつ次第なんだとも思た。
他の部署の人がどんな感じなのかは知らない。全然話す機会無い。同じとこにほぼ毎日通って、顔を合わして、認知しているのに、会話はほぼしない。
これが現代Japanの闇。

ちなみに残業はない。残業代がでないのではなく、残業はなしで働く慣習が出来上がっていた。ただ、自主的に残って作業している人もたまにいた(残業代請求しないのに残るとかこれも現代Japanの闇)。

一応エンジニアなので技術的な部分で感じたことも書く。

技術的なこと

10年以上前に作ったシステムは技術的負債の部分が大量にあり、ここ2・3年で作ったぽいシステムとではだいぶ感じが違った。
全体的に、フロントエンドは古いのも新しいのもシッチャカメッチャカだった。なのでこの部分ではほぼ勉強になることはなかった。
バックエンドに関しては、最近作った感じのシステムは、ちょっとシッチャカメッチャカだけど、作り込んでいる部分は結構勉強になることが多かったので良かった。
昔作った感じのシステムの技術的負債はエグかった。けど、これもアンチパターンをリアルに体験できてそれなりに勉強にはなった気がする。
作業的には運用・保守が多くてたまに大きめの機能追加する感じだったので、スクラッチで作る機会が1回くらい欲しいとは思った(自分で考えてやるスクラッチが一番楽しいよね!やっぱ家でやんのが一番だよね!)。

また、手作業の作業で凄い工数がかかる作業があったが、そういうのを時間と人をかけてなんとかしていくっていう傾向が多かった。
これはマジクソだと思う。紛うことなきうんこ。うんこofうんこ。
そういうのはバイトか運用担当の人を雇ってほしい。エンジニアがやるべきじゃない。モチベ下がる。
手作業に慣れるとちょっとしたことは気合でなんとかしようとする癖がついて工夫しなくなりがちで、エンジニア的にダメになる気がする。
俺はあんまりやらなかったが。

一応お仕事としてやっていたのでお金についても書く。

お金

前職は未経験からのエンジニアスタートだったからそれに比べたら結構上がったと思う。ただ、IT業界全体と比べるとちょい安くらいな気がする。
昇給はほぼないようなものなので上がる見込みもあんまりなかった。
1年間凄い勉強して技術力を上げてもそれが評価されて給料が凄い上がるとかは無いと思われる。技術力が金につながらないのは悲しい。給与交渉もほぼ意味ないらしい。
多分お金は女の子と営業みたいなスタッフが一番もらってると思われる。
安い給料で働くエンジニアが消えない限りエンジニアの給料は上がらない。
これは罪。いつか別の記事でエンジニアの給料について書きたい。

つまり

全体として楽だが、それほど給料がもらえるわけではなく、技術的にも挑戦的ではないし意欲的な会社でもなかった。
可もなく不可もなく仕事をこなし、
気がついたら結構年取ってた!
けどあんまり変化ないな!

的な感じになりそうな会社だなっていうのが最終的な感想。

次の会社に入るまでに1ヶ月くらい時間があるからなんか作りたい。
家で作るのが一番楽しい。
作ったものを人に話すのはもっと楽しい。
そういうこと。

cloud firestoreのconsole画面でドキュメントが確認できないエラーが起きちゃった時

特になんにもしてないのにドキュメントのところにエラーがでて、 データが確認できなくなった時、セキュリティソフトにカスペルスキーを使用してたら、一旦カスペルスキー停止してリロードしてあげると直るっぽい。 f:id:Yuto_M:20190615001723p:plain

ちな、macだと画面の上の方にカスペルスキーのアイコンみたいなやつがあってそれクリックして、「保護機能を無効にする」をクリックするとカスペルスキー停止できる。


stack overflowに同じ問題みたいなのがあった https://stackoverflow.com/questions/50674482/firebase-firestore-firestore-5-0-4-could-not-reach-cloud-firestore-backend

あの便利すぎるfirebaseで、firebase init したらHTTP Error: 401が返ってきちゃう時

firebase initしたらなんかエラーが出ちゃってマジfuckって感じの人の役に立ちたい。
ちな、自分のfirebase cliのバージョンは6.10.0でした。

こんな感じのエラーが出ちゃう

Error: HTTP Error: 401, Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.

結論から言うとログインし直すだけでいけるはず、てか行けた。

対応方法例

# firebaseからログアウトして再度ログインし直す
firebase logout
firebase login

# firebase initで初期化
firebase init

原因としては、firebaseの認証tokenの有効期間が大体1時間くらいで切れちゃうかららしい。
みんな大好きstack overflowにそれっぽいのがあった。

stackoverflow.com

firebase便利ぃぃぃ