ハラミTech

技術系ブログです

Service Workerのライフサイクルをちゃんと理解する

PWA(Progressive Web App)で使われている「Service Worker」について 動きを正しく理解するために処理の流れを追っていきます。 主に以下の内容を見ながら学んでいきます。 https://developers.google.com/web/fundamentals/primers/service-workers/lifecyc…

「インフラ勉強会」で勉強会開催するときの知見をまとめた

インフラ勉強会にて勉強会を開催しました。 Wordpressを通してFastlyを使ってみる https://wiki.infra-workshop.tech/%E5%8B%89%E5%BC%B7%E4%BC%9A%E3%83%AD%E3%82%B0/2018/03/18/Wordpress%E3%82%92%E9%80%9A%E3%81%97%E3%81%A6Fastly%E3%82%92%E4%BD%BF%E3…

継続的デリバリープラットフォーム「Spinnaker」を試してみた

継続的デリバリー(CD)プラットフォームの「Spinnaker」をちょっと触ってみたので記録しておきます。 Spinnakerとは Spinnakerは、Netflixが開発したマルチクラウドに対応したオープンソースの継続的デリバリープラットフォームです。 例えばJenkinsのCI後、…

「Linuxのしくみ」を読んだ

Linuxのしくみを読んだので感想を書きます。 [試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識作者: 武内覚出版社/メーカー: 技術評論社発売日: 2018/02/23メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る 本の…

「テスト駆動開発」を読んだ

「テスト駆動開発」を読んだのでその感想を書いておこうと思います。 テスト駆動開発作者: Kent Beck,和田卓人出版社/メーカー: オーム社発売日: 2017/10/14メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る 本の内容 「テスト駆動開発」…

「Ruby on Railsチュートリアル」が最高の学習教材だった

前回の記事で、2018年の目標は、Rubyを習得することを掲げてました。 で、宣言通り以下のRuby入門本を一通り写経含めやりました! プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)作者: 伊藤…

2017年の振り返り&2018年やりたいこと

もう年末ということで、「2017年の振り返り」をしていきたいとおもいます。 また自分へのプレッシャーをかけるために「2018年やりたいこと」も合わせて書いていきます! 2017年の振り返り 仕事 結婚した 料理を始めた ブログを始めた 登壇した ツール作成 20…

sshログイン時にAWSの料金を表示させる

この記事はShell Script Advent Calendar 2017の記事です。 個人でAWSのようなクラウドサービス使ってると、クラウド破産しないかドキドキしませんか? 僕は怖いのでコンソールで確認をしてましたが、めんどくさくなってきたので端末にログインしたときに料…

golintのソースを読んでGoの書き方を学ぶ

この記事は Go Advent Calendar 2017 16日目の記事です。 Goを使用してまだ日が浅いのですが、書いたソースをgolintに通すと必ず怒られてしまいます… もう怒られたくないので、golintのソースを読んで勉強してきたいと思います! はじめに さて、どこでチェ…

Python DatasourceでJSONをいい感じにパースして可視化していこう

この記事は Redash Advent Calendar 2017 の10日目の記事です。 Redashでは「Python Datasource」というものが使え、Redash上でPythonスクリプトを書くことができます。 これを使えば、Redash上でほぼなんでもできるようになります。 今回やるのは、「JSONの…

Kubernetesの学習のためにMastodonを構築したら勉強になった

そろそろKubernetes(以後k8s)触ってみないといかんな欲が高まってきました。 が、k8sを使ってなにを構築したものかと思ってたんですが、 Mastodonを使いたい案件(プライベートで)があったので、k8sを使ってMastodonを構築していこうと思います! 自分の…

esa.ioを個人利用してみたら生活の一部になった

ちょっと前からesa.ioを個人で使い始めました。 僕がどうやって使ってるかというのを簡単に紹介していきたいと思います! そもそもesa.ioってなに? チームでのドキュメント管理サービスです。 ConfluenceやQiita:Teamを利用している方はそういうものだとイ…

Amazon Web Service 負荷試験入門を読んだ

「Amazon Web Service 負荷試験入門」という本を読みました。 その感想を書きたいと思います。 Amazon Web Services負荷試験入門―クラウドの性能の引き出し方がわかる (Software Design plusシリーズ)作者: 仲川樽八,森下健出版社/メーカー: 技術評論社発売…

Rakuten Technology Conference 2017でLet's Encryptの事例を発表してきた

楽天さんが開催された 「Rakuten Technology Conference 2017」でLTしてきました! 発表内容 5分間のLTということもあり、かなり駆け足で発表してしまったので 捕捉しつつ内容について説明していこうと思います。 証明書の発行の仕方(例)について certbot …

GoビギナーズLT大会#4で発表してきた

今日はメルカリさんのオフィスで開催された 「GoビギナーズLT大会!最近Go始めました#4」でLTしてきました! 発表内容 Twitterボットについては、以前ブログで書きました。 英語のツイートを音声化するTwitter Botを作った https://blog.haramishio.xyz/post…

安全な削除コマンド「srm」を作った

OSS

linuxでファイルやディレクトリを削除するときには、rmコマンドを使うと思います。 ディレクトリを再帰的に削除する場合は、こんなコマンドを実行します。 $ rm -rf hoge/ このコマンドが非常に危険なのは皆さんご存知でしょう。 パス指定をしくじると、問答…

fluent-plugin-kinesis Ver2 の圧縮オプションがすごい話

Amazon Kinesisへデータを送る方法として、Fluentdを使用するのはよくあることかと思います。 その際使用するプラグインはaws-fluent-plugin-kinesisでしょう。 このプラグイン、とてもいいんですが、 問題があるとすると、ログレコードの圧縮が難しい こと…

英語のツイートを音声化するTwitter Botを作った

英語の学習のために、英語学習用のツイッターアカウントをフォローしてるんですが、 単語の発音がわからなく、いちいち単語コピーして辞書に貼り付けて発音チェックしてました。 いい加減めんどくさくなってきたので、自動で音声化するTwitter Botを作った!…

AWSアカウントを横断してEC2を検索できる「ec2-search」を作った

AWSからメンテナンスメールが来たりするんですが、 アカウントIDとインスタンスIDしか記載されていないので、 「どこのサーバーが対象なんだ?」というのがすぐわからず 対象のアカウントIDのコンソールに入ってEC2を検索…みたいなことをやっていました。 い…

Let's Encryptの本番運用の普及率がどれくらいか調べてみた

SSLの普及を促すために無料で発行できる証明書「Let's Encrypt」 種類的にはDV証明書ですが、本番運用でDV証明書を使ってるサイトは多いはず。 しかし本番にLet's Encryptを使うのは…と考えて、 結局本番環境には証明書を買う。みたいな運用をしてるところも…

サクッとログ収集できる「oklog」を試してみた

ログ管理でこんな悩みはないですか? ログを手動でtailしてるけど、どっかに簡単に集約してログを見たい ElasticSearchを使ってるけど、操作も難しいし機能が多くて使いこなせない FluentdやLogstashみたいなものを使ってログを送ってるけど、パフォーマンス…

テキストログレコードを圧縮するのに適した圧縮ツールを検証した

テキスト形式のログレコードが巨大な場合に、 Fluentdで転送する際のネットワーク帯域とか、S3に配置した際のサイズがでかいとかそういうのが気になりだしました。 どうにかレコードを小さく出来ないか考えたのですが gzipなどの圧縮ツールをログ1行単位でや…

Firebase Hostingにブログを移行した

今までのうちのブログはAWSの Route53→Clound Front→S3(静的Webホスティング) という構成でホスティングしてました。 https://blog.haramishio.xyz/post/000005/ この構成でなにも不満はなかったんですが、 AWSを使った業務を普段やってる都合上、そんなに学…

AWS CloudFrontとGCP Cloud CDNの料金を比較する

AWSが提供しているCDNサービス「CloudFront」と GCPが提供している同じくCDNサービスの「Cloud CDN」 どちらのほうが料金が安いのか比較してみます。 ちなみに結論からいうと、「Cloud CDN」のほうが安いです。 データ転送料金 まずはデータ転送料金から比較…

rsyslogでコマンド実行をしてログに手を加える

アプリケーションで吐いたログ(標準出力)をrsyslogで拾って特定のファイルに出力する ということをやってたりするんですが その際にシェルを実行したかったので、そのやり方の記録です。 前提 OS: Ubuntu14.04 rsyslogとは ログ収集や整形、転送などを行える…

現場で困らない!ITエンジニアのための英語リーディングを読んだ

僕は英語が苦手です。 学生の時からとにかく苦手で、事あるごとに英語を避けてきました。 が、やはりエンジニアをやっていると英語は避けらないわけですが そんなときもGoogle翻訳でページ翻訳かけてその場をしのでいました。 最近のGoogle翻訳はすごく優秀…

CSVやLTSVを表形式で出力するGo製のコマンド「Ruler」を作った

MySQLとかでSELECTしたとき、こういう出力されますよね。 mysql> SELECT * FROM products; +-----------+-------------+-----------+----------+------------+ | productID | productCode | name | quantity | price | +-----------+-------------+---------…

Hugoでのブログ記事公開をTravis CIで自動化した

ブログをはてなブログからこのサイトに移転しました。 移転した理由は、 画面表示が遅い https対応されてない 好きにデザインできない はてなブログ使っても特にPVの恩恵がない などです。 特に画面表示が遅いのがすごく気になりました。。 ので、静的サイト…

OSSの公開のやり方をまとめてみた

OSS(Open Source Software)を公開したいとき、 どうやって公開するのかいまいち理解していなかったので、ここにまとめたいと思います。 前提 GitHubでの公開を前提としています。 必要なもの 最低限必要なものは以下です。 ソースコード README ライセンス…

Gitの脆弱性(CVE-2017-1000117)について調べてみた

8/11にGitの脆弱性 ( CVE-2017-1000117 )が発生しました。 https://oss.sios.com/security/git-security-vulnerabiltiy-20170813 内容はこうです。 gitクライアント上での任意のコマンド実行の可能性 Gitでの"ssh"URLハンドリングにshellコマンドインジェク…