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

【シェルと遊ぼう】GithubのMarkdownの目次を作ってみよう

はじめに 作るもの コード やってること リンクパスの作成 インデントの作成 さいごに 確認環境 はじめに githubに上げてたREADME.mdの目次リンクをミスってた。 なんてこった。 そういえば、ファイル中の見出しをgrepで拾って手で加工してた。 今後こんなこ…

【シェルと遊ぼう】はてなブログのMarkdown形式で改行(半角スペース2つ)を追加してみる

はじめに はてなブログの記事はneovimを使ってMarkdown形式で書いている。 文の途中で改行したい場合、ただ改行するだけではダメで、 行末に2つの半角スペースをつけなければならない。 めんどい。 シェルスクリプトでやってみよう。 やってみた やってるこ…

Xmonadでコンパイルエラーが出た

確認環境 PC Thinkpad X1 Carbon 2nd Gen OS FreeBSD 12.1-RELEASE-p1 Xmoand 0.15_3 課題 久々に~/.xmonad/xmonad.hsを修正してコンパイル(xmonad --recompile)すると、 下記のようなエラーが出た。 Could not find module `XMonad' 対策 haskellのパッケー…

アイドルが恋をするのはいけないことか?

僕は昨年の紅白を見て、欅坂46に興味を持った。 それまでアイドルというものに興味がなかったので、アイドル文化に触れたときはなかなかの衝撃だった。 今まで、何で歌が特別上手いわけでもない人達が人気なのだろうと不思議に思うこともあった。 しかし、欅…

はてなブログでGoogle Adsenseの自動広告が表示されるようになった

気がつけば、はてなブログのページ上部にでかでかと広告が出るようになっていた。 なんだこれ。 はてなさんこんなに広告強調するようになっちゃったの? と思っていたら、はてなさんが勝手に表示するのは、各記事の下に表示している広告だけっぽい。 どうや…

はてなブログをコンソールからサクサク操るシェルスクリプトを作ってみた

こんなシェルスクリプトを作ってみた。 コンソール上だけで記事の作成から投稿・管理が対話的にできる。 ちょっとしたメモも、テンプレート選んでMarkdownで書いてそのまま投稿できる。 1度作成した記事は、fzfやpecoから選んで編集。 はてなブログは、もは…

けいぞくはチカラなり

ひと月くらいブログを休んでしまった。 寝るの忘れてて、気絶してました。 完全にRustも忘れたな。 まぁ見てなかった公式ページのチュートリアルやりますかね。 とその前に、半年ぶりくらいにGo言語使おうと思ったらかなり忘れてた。 先にこっちを何とかしな…

はじめての瞑想体験

以前から「瞑想」というものに少し興味があったので、とある本を読んでやってみた。 たった15分だけど、とても疲れた。 何も考えないようにすることが、こんなに大変で疲れるものなのか。。。 やり方。 リラックスできる空間で胡座をかく 胡座をかいたまま体…

パズル

シェルスクリプトは書いてて苦労する。 だけどなんだかおもしろい。 なぜだろう。 たくさんのUNIXコマンドたち。 誰に声をかけようか。 何と声をかけようか。 僕はいつも迷ってしまう。 1行ずつ処理していくコマンド達。 彼らに何を渡そうか。 彼らをどう並…

【シェルと遊ぼう】はてなブログAPIのレスポンス解析 その3 指定した項目を指定した順番で取り出す

はじめに つくるもの 動作例 コード 引数ありの場合の補足 最後に 確認環境 参考 はじめに 前回は、はてなブログAPIのレスポンスを1行にまとめるところまでを作った。 今回は、そこから指定したタグの値を取り出すスクリプトを作成しよう。 つくるもの 使い…

【シェルと遊ぼう】はてなブログAPIのレスポンス解析 その2 1つの記事を1行にまとめる

はじめに つくるもの 動作例 コード XMLを1行にまとめる過程詳細 Step1. 改行記号として使うタグの>を、別の文字('<`)にしておく Step2. 行の区切りになる</entry>を>に置き換える Step3. 改行を一度全部削除する Step4. 改行記号としておいた(>)を、改行に置き換え…

【シェルと遊ぼう】はてなブログAPIのレスポンス解析 その1 必要な情報を拾って、形を揃える

はじめに つくるもの 動作例 加工前のデータ 必要なデータを拾う 1. 記事内容以外の必要そうな情報を全て拾う例 2. 上の例を絞って、一覧作成時に必要になりそうな情報を拾う例 3. 記事の中身を拾う例 4. 整形済みの記事の中身を拾う例 タグをキレイにする …

【シェルと遊ぼう】はてなブログAPIを叩くシェルスクリプトを作ろう

はじめに つくるもの ヘルプ 引数・パラメータ 使用例 出力 認証ファイル例 必要なもの コード HTTPリクエストによる分岐 GETによる次のページの繰り返し取得 最後に 確認環境 参考 はじめに はてなブログには、AtomPubというプロトコルに則ったAPIが提供さ…

【もくじ】シェルと遊ぼう

はじめに シェルスクリプトに慣れるために、どんどんおもちゃを作っていこう。 なるべく、POSIXに則ったオプションだけ使うように頑張るよ。 でも、curlとかは使っちゃう。 おもいつき系 ファイルツリーを表示 manの高頻出単語を調べる 日本のコロナ(COVID-1…

はてなブログAPI 覚え書き

はてなブログAPIを叩くシェルスクリプトを作ってみたので、そのとき調べたAPIについてのメモ書き。 ルートのURL はてなブログAPIを利用するために実際やることは、ブログ固有のURLにHTTPリクエストを送るだけだ。 以下が1つのブログで使う共通のルートURL(以…

シェルスクリプトでの改行文字の削除にハマる

僕はただ改行を削除したいだけなんだ。。。 POSIX準拠の範囲でなんとかしたい。 単純に全改行を削除 指定パターンにマッチした行のみ改行を削除 sedの挙動解説 コード解説 妥協策(行末パターンを指定して削除) あるパターンにはさまれた複数行を1行にまとめ…

DIYと車輪の再発明

「入門UNIXシェルスクリプトプログラミング」を読んでから2ヶ月くらい経った。 ようやく最近、シェルスクリプトに少し慣れてきたかなと感じる。 ちょっとしたものを自分でこしらえる日曜大工感が心地いい。 Do It Yourselfというやつですな。 まぁ、探せば大…

【FreeBSD】仮想コンソールでブザーを止めたい、または鳴らしたい

確認環境 PC Thinkpad X1 Carbon 2nd Gen OS FreeBSD 12.0-RELEASE-p7 課題 vt(4)上での話。(たぶんsyscons(4)でも同じではなかろうか) 下記設定をしているのにブザーが鳴る。 もしくは、下記設定していないのにブザーが鳴らない。 kbdcontrol -b off sysctl…

【FreeBSD】Cシェルのハマりどころ

C系シェルを使っていて困ったことなど。 ハマったら書くスタイルで随時更新。 環境変数の設定 スクリプトでの引数 エイリアスでの引数 リダイレクト 参考 環境変数の設定 setenv VARNAME VALUE スクリプトでの引数 記法 意味 $0 プログラム名 $1,$2, ... $9 …

【シェルと遊ぼう】sleepコマンドでタイマースクリプトを作ってみよう(on tmux)

| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| | TIME OUT | |__________| (\__/) || (•ㅅ•) || / づ はじめに つくるもの 実行例 ヘルプメッセージ 必要なも コード 補足) 時間の変換 補足) tmuxのウィンドウ作成 連続実行による途中経過時間の表示と、繰…

やるせない

京都アニメーションの放火殺人事件。 いたたまれない。 ただ自分の仕事を全うしている人達が、 あらゆる可能性の世界が待っていた若者達が、 どうして命を奪われないといけないのか。 どのような動機であれ、理不尽すぎる。 怒りを通り越して、やるせない。

【FreeBSD】tcsh設定ファイルの実行順序と設定例

確認環境 PC Thinkpad X1 Carbon 2nd Gen OS FreeBSD 12.0-RELEASE-p7 tcsh tcsh 6.20.00 はじめに FreeBSD標準シェルのtcsh。 標準エラーのリダイレクトの扱いはちょっと困るけど、 デフォルトでもそこそこ補完してくれて、使い勝手はそんなに悪くないと思…

【課題】tmuxでシェルが2重に起動されている

tmuxの画面分割時にtcshが2重で起動されているっぽい。 以下、tcshの設定ファイルにechoでファイル名出したときのログ。 /etc/csh.cshrc ~/.cshrc /etc/csh.cshrc ~/.cshrc > ps ax | grep tcsh 36491 v0 I 0:00.06 -tcsh (tcsh) 36506 0 Is 0:00.02 tcsh -c…

【FreeBSD】fzfでサクッとパッケージ検索&インストールするシェルスクリプト

確認環境 PC Thinkpad X1 Carbon 2nd Gen OS FreeBSD 12.0-RELEASE-p7 fzf 0.18.0 (0b33dc6) sudo version 1.8.27 課題 pkg searchやpkg infoコマンドで、目的の機能を持つパッケージを探すのは難しい。 キーワードでGrepかけた結果をlessやvimとにらめっこ…

FreeBSDでも使える画面録画ツール

X上で画面を録画したいそんなとき。 SimpleScreenRecorderというツールはFreeBSDでも使えた。 (apng形式で出力できることは確認) 割と使いやすいと思う。 他にもpeekというツールもpkgにあったが、、試せていない。 github.com 以上。

【FreeBSD】fzfでサクッとファイルを開きたい(on tcsh)

確認環境 PC Thinkpad X1 Carbon 2nd Gen OS FreeBSD 12.0-RELEASE-p7 fzf 0.18.0 (0b33dc6) tcsh tcsh 6.20.00 (Astron) 課題 シェルにファイルの補完機能があるとはいえ、深い階層のパスを指定してエディタで開くのは面倒だ。 もっとサクッとファイルを開…

とある2日間の作業ログ

実践Rustをだいたい読んでからの2日間の流れ。 よーし、Rustで何か作るぞー ↓ 数当ゲームのワンストワンボ(ヌメロン?)を作ってみた ↓ go-racer動かないし、ビルドエラーばっかりで辛かった ↓ やっぱりちゃんと開発環境を整えるか ↓ rust.vim+LSP+RLS+deo…

tmux 2.9になって、起動時にエラーが出た

pkgで色々更新したら、tmux起動時にエラーが出るようになった。 以下の記事を参考に解決。 tmux v2.9 マイグレーションガイド 〜 tmux をv2.9 に上げたらinvalid option エラーが出た GW2日目: tmuxを2.9にした - けんちゃんくんさんのWeb日記 原因は下記っ…

実践Rust入門 13日目 その2

10章4〜6節まで。 パケージの公開方法や自動テストについて学ぶ感じ。 TravisCIやAppVeyorの使い方はとても参考になった。 便利な世の中だなぁ。 僕の場合は、独学でパッケージ公開しようなんて思わなかっただろうから、この章だけでも本書を 僕が何かを公開…

実践Rust入門 13日目 その1

10章1〜3節まで。 英単語数を数えるプログラムを作りながら、パケージ・ドキュメント・テストについて学ぶ感じ。 基本的に打ち込み試しながら読むスタイルで進めた。 とても参考になった。 おぼえがき パッケージとクレート 用語整理 クレート: 1つのRustプ…