Corredor

ウェブ、プログラミングの勉強メモ。

リポジトリごとの GitHub Pages でルート相対パスを使うには

GitHub Pages でルート相対パスを使う時の荒業。 ルート相対パスとは? GitHub Pages におけるルート相対パス User Site の場合 Project Site の場合 base 要素でも直せない JavaScript でなんとかしてやろう… 以上 ルート相対パスとは? HTML から画像やス…

Go 言語を触ってみる

最近 GitHub で見かけるコマンドラインツールの多くで、Python か Go 言語が採用されているのを見かける。最終的にシングルバイナリにビルドできるっぽくて、OS 間の差異も上手く吸収できそうなので、少し触ってみることにした。 今回はネットで見つけた入門…

MacOS で at コマンドを有効化して使ってみる

あるコマンドを予約実行したい場合、すぐ思い付くのは cron (crontab) かと思われる。しかし cron は、ある処理を定期的に繰り返し実行するスケジュール設定になっており、ある処理をある時に1回だけ行いたい場合には使いづらい。 ある処理を1回だけ予約実行…

Windows10 に「エクスペリエンスインデックス」がないので WinSAT を使う

Windows7 までは、システム情報の画面あたりに「Windows エクスペリエンスインデックス」というスコアデータが表示されていた。CPU・メモリ・GPU・ドライブの性能を数値化したものだ。 参考:Windows システム評価ツール - Wikipedia どうやらこの機能、Wind…

NEC LAVIE Note Standard PC-NS750GAR の SSHD を SSD に換装した

嫁さんが愛用している、NEC LAVIE Note Standard PC-NS750GAR というノート PC。 neos21.hateblo.jp 今回はこのノート PC に内蔵されている SSHD を、SSD に換装した話。 SSHD は遅い ビックカメラの店員に聞く 換装する内蔵 SSD の選び方 SSD を PC に繋ぐ …

Google Apps Script を使って Slack から Twitter 投稿を行うスラッシュコマンドを作る

Slack のスラッシュコマンドを作ってみる第2弾。今回は、Slack から Twitter 投稿が行えるスラッシュコマンドを作ってみよう。 前提条件 GAS プロジェクトにライブラリを追加する GAS のスクリプトを実装する GAS プロジェクトを公開する Twitter API のコー…

Google Apps Script を使って Slack のスラッシュコマンドを作る

Slack というチャットツールには、サードパーティのアプリや「スラッシュコマンド」と呼ばれるコマンドを追加できる。そしてそれらは自作することもできる。 今回はバックエンドに Google Apps Script (GAS) を使って、投稿内容をオウム返しするだけの、シン…

Google Apps Script を使ってみる

Google Apps Script (GAS) は、2009年に登場した、サーバサイド JavaScript の実行基盤。今でこそ Node.js が動作する PaaS はよくあるものの、2009年当時はかなり革新的なサービスだったのではないかと推測する (当時をよく知らない)。 GAS は G Suite プラ…

Homebrew でインストールしたツールを実行したら「Insecure world writable dir」とかいうエラーが出た件の対処法

MacOS Mojave にて、Homebrew でインストールした ghi というツールを実行したところ、以下のようなエラーが出た。 /usr/local/Cellar/ghi/1.2.0_4/libexec/bin/ghi:128: warning: Insecure world writable dir /usr in PATH, mode 040777 ワーニングメッセ…

ProxyCommand を使って踏み台サーバ経由で SSH 接続するのをコマンド1発にする

SSH

「手元の PC → 踏み台サーバ → 目的のサーバ」と通信を経由して SSH 接続したい。 以前、nc コマンドを「踏み台サーバ」にインストールしておき、~/.ssh/config ファイルを書くことで、コマンド1発で SSH 接続する方法を紹介した。 neos21.hatenablog.com 今…

踏み台サーバ経由で SSH ポートフォワーディングする手順

SSH

手元のパソコンから パブリック IP を持っている踏み台サーバを経由して プライベート IP しか持たない目的のサーバに アクセスしたい。 そして、「手元の PC ⇔ 踏み台サーバ ⇔ 目的のサーバ」という経路でポートフォワーディングして、「目的のサーバ」が 8…

文字単位で Diff が見られる「icdiff」

通常の diff だと行単位での差分しか見られないので、$ git diff --color-words --word-diff コマンドや --word-diff-regex='\\w+|[^[:space:]]' オプションを使って頑張って文字単位の差分を見たりしていた。 しかし、それ専用のコマンドがあった。icdiff …

Typo したコマンドを正してくれる「thefuck」

git push コマンドを git psh と叩いてしまい、「何それ?」とターミナルに怒られた。というような経験は皆さんもよくあることだろう。 そんな時、thefuck というツールを入れておけば、ターミナルに $ fuck と言うだけで、「もしかしてこういうコマンドが打…

12インチ MacBook の解像度拡張には「Display Menu」か「EasyRes」が良さげ

2017年製の12インチ MacBook 特盛仕様 (Core i7・16GB RAM・512GB SSD) を愛用中。 12インチ MacBook のディスプレイ解像度は、ピクセル解像度が 2304x1440px となっていて、対応するスケーリング解像度の Max が 1440x900px。ディスプレイの環境設定で「ス…

find コマンドで対象ディレクトリ直下のファイルのみを絞り込みたい

find コマンドを使うと、対象ディレクトリのサブディレクトリ以下のファイルも検索対象に含んでしまう。 # カレントディレクトリ配下の Markdown ファイルを全て出力する $ find . -type f -name '*.md' ./AAA.md ./BBB.md ./CCC/ccc.md ./DDD/ddd/DdD.md そ…

グローバル IP アドレスを取得するウェブサービスまとめ

自身のグローバル IP アドレスを確認するためのウェブサービスをまとめる。いずれも curl コマンドで実行した時に、IP アドレスのみが返されるように調整している。 # 以下は IP アドレスのみがそのまま返ってくる $ curl inet-ip.info $ curl ifconfig.me $…

XREA のサーバに SSH 接続する

メインサイト Neo's World は、XREA というウェブホスティングサービスのかなり初期の頃に取得したアカウントだ。コレ以前に s15 サーバも取得していたし、別サイトで s38・s41・s58 サーバなどをレンタルしたことがある。さらに最近、Yahoo! Geocities の閉…

Chrome ブラウザから SSH 接続できる「Secure Shell App」を使う

ふと Chrome ウェブストアを見ていたら、ブラウザ上から SSH 接続ができるようなターミナルの拡張機能がいくつかあった。なんやそんなことまで Chrome でできんのかい…と驚いたが、その中で見つけた「Secure Shell App」というアプリ (厳密には「拡張機能」…

Linux CentOS7 CUI で使える CUI ブラウザ Lynx を試す

CentOS7 の CUI 上で動かせる、コマンドラインツールとして動くブラウザ「Lynx」を試してみた。 以前 MacOS で、「Lynxlet」という Lynx 系のツールを使ってみたのだが、試した限りでは酷く文字化けしてしまい、MacOS ターミナル上では w3m に落ち着いた。 n…

CentOS7 を日本語環境にする

GCP に登録して GCE をイジり始めた。CentOS 7 イメージを利用して VM を立ててみたのだが、デフォルトでは英語環境になっているので、いくつか日本語環境としての変更を入れてみる。 タイムゾーンを UTC から JST に変更する 標準出力の日本語表示化 man ペ…

永久無料枠で Google Compute Engine (GCE) インスタンスを立ち上げる : その2

前回、Google Cloud Platform (GCP) に登録し、その中の Google Compute Engine (GCE) というサービスを使い、完全無料で使える仮想マシン (VM) を立ち上げて SSH 接続までこぎつけた。 今回は、立ち上げた VM をより安全に利用するための設定を紹介する。 …

永久無料枠で Google Compute Engine (GCE) インスタンスを立ち上げる : その1

どういうワケか、Heroku で PaaS を触ったあと、Oracle Cloud Infrastructure (OCI) で IaaS 入門してしまった。せっかくなので Google Cloud Platform (GCP) も始めてみよう、と思い、GCP の中の「Google Compute Engine (GCE)」という仮想マシン (VM) を借…

SSH 鍵ペア・API 鍵ペアの作り方おさらい

ある VM に SSH 接続する時に使う鍵ペアとか、API Key として認証に使用する鍵ペアの作り方をおさらいする。それぞれは何らかの記事で紹介したことがあると思うが、コマンド単体で紹介したことがなかったので。 SSH 鍵ペアの作り方 API 鍵ペアの作り方 SSH …

Windows 向けの共有サーバのファイルパスを MacOS 向けに置換する

Windows 環境で共有サーバのファイルパスを取得すると、 \\127.0.0.1\Some\Path\To\File.txt file:///127.0.0.1/Some/Path/To/File.txt こんな感じのパスが取得できることが多い。 2つ目の file:/// プロトコルはまだ扱いやすいが、1つ目のバックスラッシュ…

昔懐かしの HTML を久々に書いてみた。「Legacy of HTML」

「ポケモンだいすきクラブ」などのサイトを見てウェブサイトというモノに興味を持ち、1998年に発売された「ホームページビルダー2000」を使って作ったのが、自分の最初の「ホームページ」だったと記憶している。その後、「ホームページビルダー2001」、どこ…

ターミナルからツイートするだけの CLI ツール「Just Tweet」を作った

ターミナルからツイートする CLI ツール、Just Tweet というモノを作った。 GitHub - Neos21/just-tweet: ツイートするだけの CLI ツール。 @neos21/just-tweet - npm インストールは以下のように npm でグローバルインストール。 $ npm install -g @neos21/…

man ページに出てくる (1) などのカッコ付き数字は何?

man コマンドに関する話。 以下は MacOS の場合だが、ターミナルで $ man chown と叩くと、次のように表示される。 CHOWN(8) BSD System Manager's Manual CHOWN(8) NAME chown -- change file owner and group …中略… SEE ALSO chgrp(1), find(1), chown(2)…

ローカルでも GitHub でお馴染みの「使用言語割合」を表示する「github-linguist」

GitHub でリポジトリを開くと、画面上部にリポジトリ内で使われているプログラミング言語の割合が表示される。例えばこのブログのアセットを管理しているリポジトリだとこんな感じ。 GitHub - Neos21/hatena-blogs: @neos21/hatena-blogs : はてなブログのテ…

Kubernetes のオシャレな管理コンソール「k9s」

Kubernetes クラスタを管理する時に使うのが kubectl だが、この kubectl の機能を発展させ、ターミナル上でイイカンジに Pod の閲覧・操作ができる CLI ツールを見つけたので紹介。「k9s」というツールだ。 GitHub - derailed/k9s: Kubernetes CLI To Mana…

Docker イメージの脆弱性検査ができる「Trivy」を使ってみた

Docker イメージの脆弱性診断ができる、Trivy というツールがリリースされていたのでお試し。 CIで使えるコンテナの脆弱性スキャナ - Qiita 日本人が作成されたそうで、上の Qiita は作者本人による詳細な使い方が記載されている。GitHub リポジトリは以下。…