ハラミTech

技術系ブログです

2017-01-01から1年間の記事一覧

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コマンドインジェク…

Let's EncryptのDNS認証による証明書発行/更新の自動化をやってみた

Let's Encryptは、無料で取得できる証明書で、自動化が簡単にできます。 Let's Encryptから証明書を取得する際、 一般的には「http-01」または「tls-sni-01」チャレンジがよく使用されると思いますが、 サーバーの80(または443)ポートを開放しないといけませ…

Bash setを知る

なにげなくシェルの先頭に set -eu とおまじないのように付けてはいませんか? setのことを知ると、よりシェルを便利に使えると思ったので、ちょっとsetを掘り下げていこうかなと思います。 setとは シェルの属性の設定/解除を行うBashの組み込みコマンドで…