progrhyme's tech blog

主にIT関連の技術メモ

JAWS-UG コンテナ支部 #14 に行ってきた

去る3/20に掲題のイベントに行ってきましたので、いつものように簡単にレポートします。

  • 発表資料まとめ
    • catabira.com における Amazon EKS 活用事例 Kubernetes による継続的デリバリ編 @iktakahiro
    • ECS Fargateを本番投入して得た悲喜交交 @masa2129
    • LT1: frontend for microservices with containers @inductor
    • LT2: Engineering life with containers on AWS @tnir
    • LT3: ETL処理をServerlessにしてみた件 @HibinoHisashi
    • LT4: 体当たりecs-cli w/ fargate! @hiroga_cc
    • LT5: Fargateは何がうれしいのか @shnagai
    • LT6: Fargate + ECR で elastalertを構築 @mdps513
  • 所感
  • 終わりに

発表資料まとめ

※3/30現在、まだ公開されていない資料もあるようです。捕捉できたもののみ掲載します。

続きを読む

Kubernetes Meetup Tokyo #17 に行ってきた

抽選に通ったので、掲題のイベントに行ってきました。

  • 発表資料まとめ
    • root権限無しでKubernetesを動かす @AkihiroSuda
    • Secure your K8s cluster from multi-layer / JIANTANG HAO
    • LT 1: Kubernetes 1.12 から実装された Runtime Classについて @makocchi
    • LT 2: Kubernetes初心者がKubernetesの気持ちを理解したくてやったこと @inductor
    • LT 3: kube-system落としてみました @tarosaiba
    • LT 4: イベント駆動ワークフローArgo Eventsの紹介 @dtaniwaki
    • LT 5: k8sとOPAつなげてみた @ken5scal
  • 所感
  • おわりに

発表資料まとめ

※Connpassに上がっているものもありますが、3/20 現在で公開されていないものもあるようです。 以下、捕捉できたもののみ掲載。

続きを読む

SRE Lounge #8 に行ってきた

以前から気になっていたSRE Lounge(Twitter #srelounge)ですが、一昨日はじめて参加することができました。

  • 発表資料
    • ソラコムAPIの裏側で運用チームは何をやってきたのか / 五十嵐さん
    • Cookpad Microservice Architecture Overview @rrreeeyyy
    • 割れ窓理論をWebインフラの改善に活用し、チーム内の知識共有を促進している話 @hokkai7go
  • 発表の感想
  • 終わりに
  • 聴講メモ

発表資料

続きを読む

HTML5 Conference 2018に行ってきた

掲題のイベントに行ってきたのでログを残しておく。

HTML5」ということで、比較的フロントエンド寄りの話が多かったと思うが、プロトコルや認証、CDNといった話題もあった。

朝から行って、最後のスペシャルセッションの前で引き上げた。
LT大会も盛り上がっていたようなので、もう少し残っても良かったかも。

聴講したセッション

光を超えるためのパフォーマンスチューニング/アーキテクチャ @mizchi

FIDO認証によるパスワードレスログイン実装入門 / 合路健人

Web Components のリアル @aggre

コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践 @uta_tti & @kawasako

HTTP の今と未来 ー BBR, HTTP/2, QUIC の基礎から 5G 試験ネットワークでのブラウザベース評価試験まで / 浅井智也、永井泰裕

セッション動画

YouTubeチャンネル https://www.youtube.com/user/html5j で公開されるようだ。
現時点で、ホールでの基調講演やLT大会含むセッション動画が公開されている。

上の動画中のLT大会の様子を流し見しながら、この記事を書いた。

全体的な感想

自分はインフラ~サーバサイドを見ることが多いのだけど、Webシステム全体の最適化を考えると、クライアントサイドの技術の進化も見過ごせない。
本カンファレンスでは、種々の最新Webテクノロジーについて、濃いセッションを多く聴くことができ、なんとなく肌感覚のようなものを掴むことができたように思う。

ありがとうございました!

関連リンク

Engineering Manager Meetup #2 に行ってきた

f:id:progrhyme:20181027235422j:plain

  • はじめに
  • オープンスペース(テクノロジー)
  • OSTセッションのテーマ
  • 参加したディスカッション
    • 第1回OST - 「エンジニアの文化づくり」
    • 第2回OST - 「エンジニアリングマネジメントの勉強法」
  • その他、感想
  • 終わりに
  • 関連エントリ
  • 脚注

はじめに

昨晩、こちらのイベントに初めて参加して来ました。

会場はWantedlyさんでした。
レセプション兼プレゼンテーションスペースですかね(?)
おしゃれで広々としたカフェのような雰囲気のスペースで、いい感じでした。

前回、このシリーズの最初のミートアップは9/25に開催されたようです。*1
その時はスルーしてしまったのですが、イベント後にタイムラインやはてブなどで反響を見て、「次回はぜひ参加しよう」と思っていました。

オープンスペース(テクノロジー)

今回のミートアップでは、前回と同様に オープンスペース形式 で議論が行われました。
私はこのオープンスペース形式について知らなかったのですが、下のようなものだそうです。

続きを読む

「Jenkins ユーザ・カンファレンス 2018 東京」に行ってきた

昨日、掲題のイベントに行ってきました。
下がイベントのページです。

以下、聴講したセッションのログや感想などを記します。

  • 聴講したセッションとその資料
    • 基調講演 @kohsukekawa
    • Accelerate with Jenkins X @jdrawlings
    • Continuous Delivery Best Practices with Jenkins and GKE @yuki_iwnr
    • AWSとJenkinsを活用して1年間で約500回商用デプロイした話とKubernetes活用 @takamii228
    • LT: Jenkinsを簡単運用ツールとして活用して非エンジニアに喜ばれた話 @morihaya55
    • LT: DevOps World | Jenkins World 2018の参加報告 by 坂本さん
    • LT: Jenkinsで運用業務の改善をしてみて気づいたこと @y0shirak0
    • LT: JenkinsとCodeBuildとCloudBuildと私 @irotoris
  • 感想
  • SPECIAL THANKS
  • 参考
  • 聴講ログ
    • 基調講演 @kohsukekawa
    • Accelerate with Jenkins X @jdrawlings
    • Continuous Delivery Best Practices with Jenkins and GKE @yuki_iwnr
    • LT: DevOps World | Jenkins World 2018の参加報告 by 坂本さん
続きを読む

はてなブログのHTTPS化とblogsyncによる一括編集

このブログでHTTPS配信を設定したのは3月のことでした。

このブログは開設から日が浅く、記事数も少ないので特に記事内容のリンクを修正するといった手間はほとんど発生しませんでした。

…が、つい先日、軽い気持ちで管理者権限を持っている別のはてなブログHTTPS化したところ、mixed contentsが大量に発生し、スライドなどの埋込みコンテンツが真っ白になるという事態になってしまいました。
最近の記事は手作業でちまちまとリンクを修正したのですが、合計で300以上の記事数が有り、さすがにやってられんということで自動化できる手段がないかな…と調べました。

そこで思い出したのが、 @kiririmode さんが書いていた下の記事です。

blogsync というツールを使うと、はてなブログの記事を一括で編集操作できるようです。
というわけで、やってみました。

blogsyncのインストール

以下、動作環境はUnix系OSの前提で書きます。

blogsyncはGo言語で書かれたCLIツールです。
下のコマンドでインストールできます。

go get github.com/motemen/blogsync

設定ファイルの用意

READMEの通りですが、 $HOME/.config/blogsync/config.yaml という設定ファイルを用意します。
このブログをサンプルとすると、下のような内容になります:

tech-progrhyme.hatenablog.com:
  username: progrhyme
  password: <APIキー>
default:
  local_root: /home/progrhyme/my/blog

ここで、 <APIキー> は、はてなブログの詳細設定画面から取得することができます。

全エントリをはてなブログからダウンロード

blogsync pull tech-progrhyme.hatenablog.com

これにより、設定ファイルの local_root で指定したディレクトリ配下に記事のテキストがダウンロードされます。
下のように tech-progrhyme.hatenablog.com/entry/${日付}/${記事名 or タイムスタンプ}.md というファイル名で格納されます。*1

/home/progrhyme/my/blog
└── tech-progrhyme.hatenablog.com
    └── entry
        ├── 20170314
        │   └── 1489417212.md
        ├── 20170331
        │   └── 1490886079.md
        ├── 20170521
        │   └── 1495292715.md
        :

記事のリンクを一括置換

ここではシェルのワンライナーを使って一括置換しました。*2

git grep -l http://tech-progrhyme | xargs perl -pi -e 's|http://tech-progrhyme|https://tech-progrhyme|g'

他に、いくつかのドメインについても、以下の条件を満たすものは同様に一括置換しました:

  • http://https://機械的に置換して問題ないもの
  • はてなブログのembedリンクを使って埋め込んでいたもの(読み込めずに真っ白になってしまうので)

ワンライナーとしては下のようになりました:

for domain in www.slideshare.net qiita.com togetter.com connpass.com; do
  echo $domain
  git grep -l http://$domain | xargs perl -pi -e "s|http://${domain}|https://${domain}|g"
done

更新したコンテンツをアップロード

これらの記事テキストはGitで管理することにしたので、以下のようにして差分のあるファイルをblogsyncコマンドでpushしました:

git diff origin/master --name-only | xargs -t -n1 blogsync push

以上で、作業は完了です。
ブログのページにアクセスすると、ちゃんと各リンクのURLが更新されていました。

終わりに

調べてみて「これなら簡単にできそうだな」と思ったのですが、やってみると実際に簡単でした。
こういったツールやAPIが整っていて良かったです。

もし、はてなブログHTTPS化をまだやっていなくて、このような記事内容の一括編集が必要な方がいたら、blogsyncが活用できそうです。
ご参考まで。

参考

脚注

*1:ファイル名が*.mdなのはMarkdownで編集しているので

*2:実際は別のドメインですが、説明の流れで http://tech-progrhyme.hatenablog.com を対象としています。