サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
blog.kondoumh.com
今年になってから今更ですがドラクエウォーク始めました。 www.dragonquest.jp 通勤しないけど、このおかげでけっこう外歩きするようになってるので、歩数データと体重データの相関取ったりしてみたいなあと思いました。Google Fit って Web アプリは廃止されてて、スマホアプリの UI しかないんですが、REST API でデータを読み書きはできます。そこで REST API で Fit のデータを取得する方法を調べました。 Node.js で書きたいので googleapis の NPM パッケージを使うことに。 www.npmjs.com API Key もいいんですが、よりセキュアな OAuth2 認証使うため local-auth パッケージもインストール www.npmjs.com OAuth2 を使って、Google の People API を呼び出すサンプル
Minikube は VirtualBox / VMware の VM をノードにして使うケースが多いと思いますが、macOS の Hyperkit や Linux の KVM、そして Windows の Hyper-V などホスト OS の HyperVisor による VM を使うことで、軽量で実行性能の高いノードで環境を構築することができます。 macOS に HpyerKit に特化した Minikube 環境を構築してみました。 https://minikube.sigs.k8s.io/docs/drivers/hyperkit/ すでに Docker Desktop を導入していたので、HyperKit は入っていると思っていたのですが、minikube start してみるとエラーが出たので brew でインストールしました*1。 $ brew install hyperki
リリースページに ChangeLog というかリリースノートを書くのはかなり面倒です。 Release Drafter を使うと PR 単位でいい感じに リリースページのドラフトを生成してくれます。 Release Drafter の GitHub App は簡単に導入できますが、何やら Deprecated にしようという議論があるようです。 GitHub Apps - Release Drafter · GitHub github.com GitHub Actions で release-drafter 用のワークフローを使う方が無難かなと思います。 github.com README にある通り、設定用の release-drafter.yml とワークフロー用の release-drafter.yml をそれぞれリポジトリの .github と .github/workflows
GitHub Actions ワークフローでは、複数のジョブを順次実行・並列実行・条件実行することができます。各ジョブは異なるマシン(Runner) もしくは コンテナイメージで実行されます。 順次実行 何も指定しなければ、ジョブは並列に実行されます。順次実行するには、needs キーワードで、先行のジョブを指定します。 name: Sequential Jobs on: push: jobs: Build1: runs-on: ubuntu-latest steps: - run: echo Build1 Build2: runs-on: ubuntu-latest needs: Build1 steps: - run: echo Build2 実行結果 並列実行 (フォーク) ジョブを実行後に複数のジョブを並列実行するには、各ジョブの needs に分岐元のジョブを指定します。 nam
テレワークで外出が減って、運動不足を自覚するようになりました。人間ドックでも数値がちょっと悪くなってました。そこで YouTube の Fit boxing チャンネルなどで室内運動するようになりました。外出した日は意識して歩数を伸ばすようにしたりしてます。 やはりモチベーション維持には、GitHub の Contribution graph のようなのあるといいなと思って Pixela にグラフを作りました。 pixe.la 数日は cURL コマンド叩いてましたが、スマホから更新できるように PWA にしてみました。 Boxing でも Walking でもやったら commit。1回のワークアウトで 20% 進捗するようにして、5回 commit したら輪が閉じます。commit と revert はそれぞれ Pixel の increment / decrement API を叩い
Nested Virtualization は仮想マシンからホストマシンの CPU の仮想化機能を利用できる機能です。 VirtualBox では AMD CPU の Nested Virtualization が 6.0.6 でリリースされました。そして 6.1.0 で Intel CPU でも Nested Virtualization が利用できるようになりました。 Changelog – Oracle VM VirtualBox リリースノートには、 starting with 5th generation Core i, codename Broadwell とあり、僕の MacBook Pro Early 2015 は ギリギリ第5世代ですので使えるはずです。 現バージョンでは仮想マシン名を指定して個別に有効化する必要があります。 2.34. Nested Virtualiza
helmfile は 複数の Helm Chart をまとめて Kubernetes cluster にデプロイするツールです。 github.com Helm のラッパーとなっており、複数の Chart から構成されるアプリを効率よくデプロイ、更新できます。Helm Chart のインストール順というか依存関係の管理もできますし、デプロイ前後のフックでなにかの処理を実行したりすることも可能です。Helm と同様 Go Template が使えるので sed で置換したりが不要になります。 個人プロジェクトのようですが、開発は活発で contributer は 130人越えです。 Even though Helmfile is used in production environments across multiple organizations, it is still in its
今年初めに ThinkPad TrackPoint Keyboard のワイヤレス専用版がリニューアルされ Bluetooth に加えてワイヤレス USB 接続をサポートしました。そして先月 JP 版が発売になりました。 www.lenovo.com 昔 ThinkPad やスペースセーバーキーボードのユーザだったというのもあるのですが、ちょうど自宅でテレワーク用の端末と MacBook Pro で HHKB と Magic Keyboard の2台を取り替えて使ってるのが煩雑だったので、1台に統合できるならということで買ってみました。もちろん JP 配列です。 ThinkPad のキーボードらしくキートップの下側に R が入ってます。近年のモデルにあるタッチパッドも省かれているためコンパクトです。クリックボタンの左右がちょっとしたパームレストにもなります。 上部側面に Bluteooth
以前、野良 Scrapbox アプリでページ本文を Markdown にしてクリップボードにコピーする機能を実装しました。 blog.kondoumh.com アプリを使っていなくて変換だけを使いたい場合もあるかもということで、CLI を作りました。Scrapbox API でページの JSON を取ってきて Markdown に変換して標準出力に出力するだけです。 github.com Go の regexp の使い方が学べました。
以前 Scrapbox のページ間リンクを Graphviz で可視化してみました。 blog.kondoumh.com Scrapbox からデータを取得し、可視化用の dot ファイルを生成するところまでをカバーした CLI ツールを mamezou-tech で公開しました。 github.com README と help を見ればおおよその使用方法はわかると思います。 $ sbgraph init $ sbgraph project kondoumh $ sbgraph fetch $ sbgraph graph このステップで dot ファイルが生成されます。graph サブコマンドには大量データをフィルタするためのオプションもあります。 あとは、dot コマンドで、グラフの画像を生成すれば Scrpbox プロジェクトのグラフ構造を見ることができます。
GitHub Actions でもビルド番号が利用できるようになりました。 help.github.com かなり最近入った機能なので、現時点では日本語ドキュメントでも説明が英語のままです。 GITHUB_RUN_ID と GITHUB_RUN_NUMBER それぞれ 実行ID と実行番号というところでしょうか。他のビルトイン環境変数と同様、GITHUB_ という予約されたプレフィクスになっています。 環境変数 説明 GITHUB_RUN_ID リポジトリ内の実行単位で採番される ID GITHUB_RUN_NUMBER リポジトリ内のワークフロー毎にユニークに採番される。1からスタートし実行される度にインクリメントされる どちらも、ワークフローの Re-Run で変わることはありません。GITHUB_RUN_ID はリポジトリ内でユニークな数字であり、 一般にビルド番号としての利用が想定
GitHub Actions では、よく使う処理を Action として切り出して再利用できます。Marketplace にはすでに多くの Action が登録されています。 GitHub Marketplace · Actions to improve your workflow · GitHub Action には Docker Container Action と JavaScript Action という2種類の実装方法があります。 Docker Container Action help.github.com GitHub Actions が実行される Runner にインストールされていないソフトウェアを Docker コンテナに入れて ENTRYPOINT で実行する用途がメインです。kubectl などをワンショットで実行したい場合です。Docker なので実装する言語を選
ChangeLog メモ書きをかなり前に Emacs から VS Code に移行しました。 blog.kondoumh.com 自分用に VS Code 拡張も作ってました。 blog.kondoumh.com 自宅で MacBook 使う時はデスクトップの片隅に ChangeLog メモ用 VS Code が常駐してます。コード書き用の VS Code が常に数個起動してるので、ChangeLog メモ用環境は分離したくなってきました。 今年のはじめに Rust 環境を Emacs で構築した時にかなり設定をアップデートしてました。 blog.kondoumh.com パッケージの使用宣言を require から use-package に 補完機能を auto-complete から company に サーチを Anything から counsel に メモ書きはやっぱり Ema
最近になって Gitpod を知りました。 www.gitpod.io 知ったきっかけは VS Code オンライン版の code-server を VPS などで自前で構築している人たちの記事を読んだことでした。 github.com code-server は Digital Ocean の Droplet を使ってワンクリックでデプロイできるようになっていますが、ホスティングサービスは見当たりません*1。必要時にだけ利用できるセキュアな環境を構築するのは結構手間暇がかかるのでプロバイダーに任せたいと思いました。 VS Code ベースのオンライン IDE である Theia というのがあります。 theia-ide.org Theia 自体をホスティングしているのが Gitpod です。 1ヶ月100時間まで無料で使えます(公開リポジトリのみ)。たまに個人開発で使う程度なら十分でしょ
kind は Kubernetes クラスターを Docker 上で動かすツールです。 github.com コンテナオーケストレーションツールである Kubernetes 自体をコンテナ上で動かす・・ちょっとイメージしづらいですが、コンテナをノード *1 として利用することで、Minikube のようなシングルノードではない真のマルチノードが構成できて、コンテナ仮想化の恩恵により構築も速い。要らなくなったらサクッと消せる Immutable なクラスター環境が手に入ります。 Docker Desktop for Mac 環境に kind をインストールします。Docker Desktop の Kubernetes は無効化しておきます。kubectl も最新版をインストールしておきました。 kubernetes.io kind コマンドを実行するユーザが sudo なしで docker
機械学習を業務に適用するには、データの収集、機械学習モデルの作成、機械学習モデルを利用する API 開発、API を利用するアプリ開発、プロダクションへの適用、運用時の経年変化によるモデルの修正 といったプロセスで進めることになります。 Kubeflow は機械学習モデル作成、API 開発とデプロイまでをカバーする基盤ソフトウェアです。その実体は数多くの OSS の 集合体 (best-of-breed *1 ) となっています。 www.kubeflow.org Kubeflow はその名の通り Kubernetes ネイティブなアプリなので Kubernetes クラスターにデプロイして使用します。GCP / EKS / AKS といったメジャーなマネージド Kubernetes はもちろん、ローカルの Minikube、kind *2 などにデプロイ可能です。 残念ながら現状、Doc
静的サイトをホスティングできる Netlify 流行ってます。Git リポジトリを指定するだけでビルド・デプロイでき、CDN でリソースをキャッシュしてくれるので、PWA のホスティングにも向いています。 PWA を作る方法は色々とありますが Vue CLI で簡単にプロジェクト生成できるのでちょっと試してみました。 プロジェクト作成時にマニュアル選択にします。 フィーチャー選択で PWA Support を選択します。 あとは好みで選択してプロジェクトを生成。 PWA アプリは前に作ったトイ・ダイアグラムエディタを流用し GitHub にリポジトリを作りました。 blog.kondoumh.com Netlify に GitHub アカウントでサインアップして GitHub のリポジトリをピックアップ。 ビルド設定をして Deploy site ボタンを押してしばらく待つとデプロイが完了
そもそも社内勉強会で喋るというのが初だったかも。 Electron early 2019 from Masahiro Kondoh www.slideshare.net 趣旨としては、 Electron 熟成してきてるよ クロスプラットフォーム開発大変だけど Electron はけっこう手軽 PWA の方が流行るかもしれないけどねー という感じです 簡単なハンズオンもやりました。 WebView を使うサンプルを作ってみる 独自の Menu を追加してみる WebAPI からデータを取得してレンダリングしてみる 先日の Vue アプリの Electron 化もデモしました。 blog.kondoumh.com Main process 経由で OS ネイティブのプログラムと Web 画面の相互運用ができることに興味を示した人がいました。
blog.kondoumh.com Vue のことがちょっと分かった気になれました。すると、最近よく触っている Electron でのアプリ開発にも取り込みたくなります。 github.com Scrapbox in Electron は WebView でサイトの画面を表示していますが、Electron では当然自前で画面を作ることもできます。その場合は Vue のようなフレームワークを適用するのが自然でしょう。 Web とアセットを共有したい フレームワークのツールチェインや知識を流用したい という意図があります。 electron-vue という Vue と Electron を使ったプロジェクトのボイラープレートがあります。 github.com vue-cli が導入されていれば、以下のコマンドを叩いて、プロジェクト名などを入力するだけ。 $ vue init simulated
blog.kondoumh.com Pixel 3 のコンパニオンに買った iClever の折りたたみキーボードはけっこう当たりでした。Scrapbox にも書きました。 scrapbox.io Termux 環境は言語学習や CLI プログラム開発の用途では十分いけます。今は Emacs に rust-mode を導入して Rust のブートストラップしてます。 Termux では苦しい Web UI 開発については、以前紹介した CodeSandbox がけっこう使えます。 blog.kondoumh.com PWA として動作します。Showcase というか Sandbox モードでは非常に良い感じに Responsive に動作します。Editor モードはいまいち使いにくくなりますが、ランドスケープにしたらなんとか使えます。プレビューまでついててちゃんと動く。 Scrapbo
blog.kondoumh.com Pixel 3 XL にスイッチして1ヶ月以上快適に使ってます。電話も6インチ超えになると iPad を持ち歩く意味も希薄になり、外出時はスマホだけあればいいというミニマリズムを追求したくなってきました。 iPad では VPS に SSH 接続してコード書いてました。 blog.kondoumh.com Android でも同様のことはできますが、それよりも Termux というキラーアプリがあります。 play.google.com これインストールするだけで root を取らなくても Linux 環境を利用できます。 github.com 多くのパッケージが提供され、pkg コマンドで簡単に導入できます。もちろん Node.js の開発も可能です。 $ pkg install nodejs npm でエラーが出ますが、この issue のコメントに
最近、CodeSandbox を使ってる人を見かけるようになりました codesandbox.io 以前取り上げた CodePen はデザイナーも使う cool な JS Playground という感じで、ブログにデモとコードを一緒に貼り付けたりするのに便利でした。 blog.kondoumh.com CodeSandbox はもう少しデベロッパー寄りのサービスのようです。 CodeSandbox のトップページの Create Soundbbox をクリックすると表示されるテンプレート選択ページで Sign in with GitHub ボタンからサインアップできます。 最近流行っているフロントエンドのフレームワークを数多くカバーしています。 コードエディタ + プレビューをブラウザの 1タブで使えます。 プレビューは別タブに出すこともできますので、Chrome DevTools など
仕事でちょっと Jupyter Notebook とか触るようになったので、素の Python 開発環境も構築して Python 力高めたいなあということでやってみました。 ちょっと前は何も考えずに Anaconda 入れてしまうレベルだったので、このあたりから読んで心を入れ替えました。 qiita.com これ読んで Windows でも mac でも苦労なく Jupyter 環境が構築できました。 qiita.com しかし Trac を触ってた頃から比べると Python のツールチェインも随分様変わりしましたねえ・・。 Python をインストールすると $ python -m venv <environment directory> で、venv という OS にインストールされた Python 環境とは隔離された仮想的な Python 環境が手に入ります。仮想といっても VM
半年に1回ぐらい iPad でのコード書き環境を見直しております。外出先でコード書きたいけど MacBook は持って行きたくないというケースがちょいちょいあるので。 iPad と Cloud IDE の相性はイマイチ Cloud IDE は iPad で常用するには時期尚早でした。物理キーボード使っても Ctrl キーが効かないとか、コンテキストメニューが出せないなどの制約が多いです。 blog.kondoumh.com Chromebook で使うなら現実的だと思うのですが・・ blog.kondoumh.com この記事では好意的な感じで書いてしまいましたが、今読むとちょっと先走った感があります。 あ、でも CodePen は iPad でも実用的に使えます。 blog.kondoumh.com iOS マルチタスクも 9.7インチでは微妙 iPad でコーディングする上で便利に思え
Chrome 67 の feature flags に Desktop PWAs が入って Android で使える PWA が macOS や Windows でも使える日が近づいてきました。 Chrome のタブを別ウィンドウで開いておくよりもデスクトップアプリらしい振る舞いをします。Chrome に限らずメジャーブラウザが対応中。かなり前から Chrome にはサイトをアプリケーション化する機能がありましたが、PWA が Web 標準であること、サイト側が PWA に対応することで、よりアプリらしい体験を得ることができます。 Desktop PWAs は Chrome 67 では無効化されているため chrome://flags で有効化します。 昨年末に PWA サイトとして話題になった dev.to や Twitter Lite で試せます。 dev.to 有効化して PWA 対
※) 2年近く経過してかなり状況が変わったので、記事の終わりに追記しました。 2年近く VPS を維持してきました (Ubuntu 16.04 LTS 32bit 2GB RAM : 980yen/month)。 Node.js で CLI ツール作る Web API や Web UI のお試しコードを書く 未知の言語のコンパイラや REPL を使ってみる などの用途に。 昨年末 Codenvy を触ってみて、もう VPS 常時起動なんかやめて必要時に Cloud IDE 使えばいいんじゃないかと思い始めました。 blog.kondoumh.com 未知の言語用環境構築は依存ライブラリのバージョンとかでハマることも多く自由度の高い VPS の方が重宝します*1が、Node.js や Web 開発は標準的な構成で使うためクラウドで提供されている環境で十分な気がします。 有象無象の Cloud
タイトル通りです。 以前、VS Code の統合ターミナルで BoW(Bash on Ubuntu on Windows) を指定して macOS に近づいた! と書いてました。 blog.kondoumh.com macOS や Linux では Git リポジトリの Text-mode interface である Tig を愛用しています。 github.com BoW の時は Ubuntu に導入した Tig がそのまま統合ターミナルで動いたので喜んでたのですが、会社マシンはいまだに Windows 7 で BoW は使えませんし、自宅 MacBook の仮想マシンの Windows 10 にはわざわざ BoW とか入れてません*1。Gygwin とか今更入れたくないしなーと時々思い出したように Windows 版のバイナリ探してました。GitHub にも Windows build
メモ環境をモダン化したい Trello に移行してみて日常に定着するツールの必要条件としてデスクトップ・モバイルともに使いやすい UI が提供されることが重要だと実感しました。 blog.kondoumh.com OrgMode は Emacs 使える環境じゃないとダメなので使う頻度が下がってます。 blog.kondoumh.com 日常のメモについては10年以上 ChangeLog メモを Vim や Emacs で書いていて、最近だと Dropbox に Sync しスマホや iPad でもテキストエディタで編集するというスタイルです。 blog.kondoumh.com ChangeLog メモについては ↓ などをご参照ください。 横着プログラミング 第1回: Unixのメモ技術 http://www.hyuki.com/yukiwiki/wiki.cgi?ChangeLog 脱
Web で面白そうな記事を見つけた場合、読むのに時間かかりそうなのは Pocket に保存しますが、すぐ読めそうなのはざっと読んで記事内の Tweet アイコンから Twitter に流すことが増えています。 昔は Twitter よりも Tumblr を好んで使っていたので記事内のハイライト的なパラグラフを選んで quote して Tumblr に放流してました。最近は quote の頻度は下がっており、たまに Dashboard を見に行ってポツポツと5, 6個 reblog して閉じるということが多いです*1。 Tumblr に quote を放流してると、たまに reblog されまくることがあります。フォロワーの多い人に reblog され、さらに quote over100notes jp などハブアカウントに捕捉されると数が伸びます。reblog にしろ quote にしろ、
次のページ
このページを最初にブックマークしてみませんか?
『kondoumh のブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く