kakakakakku blog

Weekly Tech Blog : Keep on Learning 👍

Redash v8 を試そう!「Redash ハンズオン資料」v8 をリリースした

2019年10月末に Redash の最新バージョン「Redash v8.0.0」がリリースされた.多くの新機能と機能改善があり,既にまとめている. kakakakakku.hatenablog.com Redash ハンズオン資料 v8 リリース 2017年12月に公開した「Redash ハンズオン資料」も,Redash …

includeIf を使って git config をプロジェクトごとに読み替える

GitHub と AWS CodeCommit を併用したり,プロジェクトごとに別アカウントを使ったり,リポジトリごとに git config を変える場面もある.今までは個人用 GitHub を global 設定とし,別アカウントはリポジトリごとに git config --local コマンドで設定をし…

「Redash v8.0.0」で気になった新機能と機能改善

2019年10月末に Redash の最新バージョン「Redash v8.0.0」がリリースされた.Change Log を読むと機能改善が多くあり,今回は「個人的に気になった Redash v8 新機能と機能改善」を「計10点」紹介しようと思う.Change Log は以下の CHANGELOG.md で確認で…

変更可能なコードを書こう /「レガシーコードからの脱却」を読んだ

9月に発売された「レガシーコードからの脱却」を読んだ.本書はサブタイトルに「ソフトウェアの寿命を延ばし価値を高める9つのプラクティス」と書いてある通り,変更可能なコードを書くための「原則とプラクティス」に対する理解を深めることを目的にして書…

VS Code で Jupyter Notebook を便利に編集できる新機能を試した

今月 Visual Studio Code (VS Code) で Python Extension 機能のリリースがあり,例えば VS Code から直接 .py を実行できるようになった.個人的に注目したのは「Jupyter Notebook サポート」で,日頃から Python のサンプルコードを書いたり,トレーニング…

インターネットを支える DNS の理解を深めよう /「DNS がよくわかる教科書」を読んだ

2019年10月から2019年12月までの3ヶ月間を「弱点克服期間」と位置付けていて,自分自身「理解が浅いな」と感じる技術領域のインプット/アウトプットを意識的に増やしていく.最近 React 関連のブログを書いているのも,フロントエンド技術に対する弱点克服…

React Hooks 入門 : useEffect() を試す

React 16.8 で追加された新機能「React Hooks」は React の機能を効率的に使えるようにする仕組みで,具体的には useState() や useEffect() などを使う.日本語化されたドキュメントが非常に読みやすく,以下のドキュメントを読むと React Hooks の概要を学…

Material-UI の Snackbars コンポーネントを実装する

引き続き Material-UI を使ったプロトタイプ開発をしている.今回は Material-UI の Snackbars コンポーネントをサンプルコードを参考に実装しながら理解を深めていく.スナックバー(Snackbars)は Material Design に定義された UI で,画面上にメッセージ…

多くの解析メトリクスをサポートしたコード解析ツール「SonarQube」に入門した

前から気になっていたコード解析ツールに「SonarQube : Code Quality and Security」がある.25種類以上のプログラミング言語をサポートし,多くの解析メトリクスを出力できる点が特徴と言える.たまに「SonarQube」の話題を聞くけど,個人的に今まで使った…

シンタックスハイライトをしたコードを PowerPoint / Keynote に載せる

日頃からプレゼンテーション資料を作る場面が多く,PowerPoint と Keynote をよく使う.さらにプレゼンテーション資料にシンタックスハイライトをしたコード(JSON / YAML なども含む)を載せることもある.今まで何度も「どうやってシンタックスハイライト…

TDD のリズムを体験しよう /「テスト駆動開発」を読んだ

今年の1月に書籍「テスト駆動開発」を購入し,1度ザッと読んだけど,まだ書評記事を書いてなく,後回しにしていたらもう9月になってしまった.最近「テスト駆動開発 (TDD : Test-Driven Development)」を教える機会もあるため,改めて本書を読み直し,学べた…

計画メンテナンス時に便利な Mackerel の新機能「ダウンタイム機能」を試した

先週 Mackerel で新機能「ダウンタイム機能」が使えるようになった.簡単に言うと「日時を指定して監視と通知を停止する機能」となり,サービスで計画メンテナンスが必要な場合など,運用上とても助かる機能と言える.今までは Mackerel ホストのステータス…

Material-UI の List コンポーネントを実装する

先週「React + TypeScript + Material-UI」を使ってプロトタイプ開発をする機会があった.今まで Material-UI は使ったことがなかったけど,ドキュメントを読むとコンポーネントも多く用意されていて,非常によくできていた.React で Material Design を簡…

アプリケーションとインフラのパフォーマンスをモニタリングしよう /「入門 Prometheus」を読んだ

今年5月に出版された「入門 Prometheus」を読んだ.本書は Prometheus の仕組みから,実際に本番環境で運用するときに必要になるデプロイの観点まで解説されているため「Prometheus に興味のある幅広い読者層」にオススメできる1冊だった.僕自身も Promethe…

Python + unittest を使ってテストパターンをパラメータ化するときに subTest() メソッドを使う

Python + unittest を使って TDD (Test Driven Development) の練習(ペアプログラミング)をしていたときに,リファクタリングのサイクルでテストパターンをパラメータ化することになった.Parameterized Test にリファクタリングをするために,期待値をパ…

Mac で「なめらかに」デモを見せるために必須なアプリと機能

Mac

技術講師としてプレゼンテーションをしながらデモをする場面が多く,無駄な操作をせず,Mac を「なめらかに」操作することを意識している.「なめらかな」操作をするために個人的に必須なアプリと機能があり,最近紹介する機会も増えているため,記事にまと…

nginx でリクエストを制限できるモジュール「ngx_http_limit_req_module」

nginx でリクエストを制限できるモジュール「ngx_http_limit_req_module」を使うと,Throttling や DoS 対策など,リクエストの過剰な増加に nginx で対応できるようになる.挙動を確認するため,Docker Compose を使って検証環境を構築した. nginx.org 検…

iTerm2 を Python から制御できる新機能「Python Scripting API」

7月末にリリースされた「iTerm2 v3.3」に大きく2種類の新機能がある.今回は「Python Scripting API」を中心に紹介したいと思う. Python Scripting API Scriptable Status Bar Python Scripting API 「Python Scripting API」を簡単に説明すると「Python で…

技術ブロガー必読!と言える「Technical Blogging, Second Edition」を読んだ

技術ブロガー必読!と言える「Technical Blogging, Second Edition - Amplify Your Influence」を読んだ.タイトルにある通り「技術ブログ」にフォーカスした本となる.本書は2012年に出版された歴史のある本で,最新版となる Second Edition が6月末に出版…

ドットインストールで「Lua 入門」を受講した

先月に「ngx_http_mirror_module」の検証記事を書いた通り,最近 nginx を調べ直している.次に「lua-nginx-module」を検証する予定だけど,今まで Lua 自体をあまり書いたことがなく,まずは Lua の基礎を学ぶことにした.まさに Yak Shaving! kakakakakku…

VS Code 拡張機能を実装する第一歩を踏み出すために「Get Started: Your First Extension」を試した

「VS Code 拡張機能」ってどう実装するんだろう.最近 VS Code を使う場面が多いため,便利な拡張機能にコントリビュートしたり,自分用に拡張機能を作ったりする機会もありそう.さらに今まで TypeScript をほとんど書いたことがなく,書く機会を探していた…

アジャイル開発の基礎知識を問う「アジャイルソフトウエア開発技術者検定試験 Lv.1」に合格した

昨日「アジャイルソフトウエア開発技術者検定試験 Lv.1」に合格した.試験問題に関係する内容は NDA を厳守するため書かず,今回は「試験紹介(普及のため!)」にフォーカスする.正直言って,まだまだ知られていない資格だと思う.また,あくまで理解度を…

nginx でリクエストを複製できるモジュール「ngx_http_mirror_module」

nginx でリクエストを複製できるモジュール「ngx_http_mirror_module」を使うと,簡易的な「Shadow Proxy」を構築することができる.例えば,本番環境のリクエストの一部を開発環境に流せるようになる.この「ngx_http_mirror_module」は nginx 1.13.4 で実…

投票サービス「DirectPoll」を使ってイベントを盛り上げよう

最近イベント中に「参加者アンケート」を取得する必要があり,普段はお手軽に挙手をして頂くことも多いけど,より臨場感のある演出を検証するため,前から気になっていた投票サービス「DirectPoll」を試してみた.投票するとリアルタイムにグラフが更新され…

2019年(1-6月)のプルリクエストを振り返る - kakakakakku blog

2016年から OSS に送ったプルリクエストを振り返る記事を書いている.今までは毎年年末に振り返っていたけど,今年は既にプルリクエストの件数が多いため,2019年(1-6月)の期間で振り返ることにした.過去の振り返りは以下にある.そして,2019年(1-6月)で「…

「DevLOVE X」に参加してスピーカーの情熱を感じた

6/23,24 に開催された「DevLOVE X」に参加した.少し遅れてしまったけど,印象に残っているセッションを中心に紹介したいと思う.どのセッションもスピーカーの情熱を感じた.DevLOVE X では,久し振りに会う人がいたり,ブログメンタリング卒業生に会えたり…

Packer 未経験者に最適な HashiCorp Learn の Packer コースを実施した

少し前に Consul を学ぶために活用した「HashiCorp Learn Platform」の学習コンテンツに最近「Vagrant / Packer」も追加されていた.今年3月末時点では「Vault / Consul / Terraform / Nomad」の4種類だったため,現在は6種類になっている.Packer は AMI (A…

技術ブロガーを育てる!ブログメンタリングで何を教えているのか

週末に開催された「DevLOVE X」に参加し,2日目に発表をしてきた!今回の発表タイトルは「技術ブロガーを育てる!ブログメンタリングで何を教えているのか」で,今まで約1年半続けている「ブログメンタリング」の事例紹介をテーマにした.さらに関連する話題…

Docker Experimental Features を有効化すると使える docker build の --squash オプション

Docker コンテナを本番運用する場合,コンテナイメージのサイズをできる限り小さくすることを意識すると思う.具体的には「レイヤー」を意識することにより,Dockerfile に記述する RUN を減らしたり,一時ファイルを消す場合に同じ RUN で rm をする.最近…

Redis で特定のコマンドを無効化できる設定「rename-command」

最近 Redis の公式ドキュメント「Redis Security」を読んでいたら「Disabling of specific commands」というトピックを発見した.簡単に表現すると redis.conf に rename-command という設定を定義すると,特定のコマンドを無効化したり,別名のコマンドに変…