タグ

ブックマーク / ongaeshi.hatenablog.com (258)

  • ブログ執筆を加速させるコマンドラインインターフェースを作成した - おんがえしの blog

    このブログに素早く投稿するために、個人用のコマンドラインインターフェース(CLI)を作った。 github.com 内部で blogsync を使っている。 Ruby + Thor で作成し、runa で blog という名前のコマンドとして、どこからでも実行できるようにしてある。 投稿: blog new 新規記事を作成するときは new コマンドを使う。引数として URL を指定するカスタムパスを渡す。 $ blog new path/to/article store /Users/ongaeshi/blog/ongaeshi.hatenablog.com/entry/path/to/article.md 下書きとしてはてなブログ上に空の記事が投稿される。 URL は https://ongaeshi.hatenablog.com/entry/path/to/article になる。

    ブログ執筆を加速させるコマンドラインインターフェースを作成した - おんがえしの blog
    tuto0621
    tuto0621 2024/07/17
    ruby と thor と runa で作る blog コマンドは便利です。
  • 補完の効く irb 環境を WSL 経由で Windows に導入するためのメモ - おんがえしの blog

    前回 で WSL に Ruby 3.3 が入ったので次は irb の設定をします。 最新の irb では型補完の追加、補完ダイアログの色変更API、デバッグに便利な機能、その他便利な機能追加などが入り、対話的なプロトタイピングやデバッグ、学習や実験の作業効率が大きく向上しています。また型情報を利用したより精度の高い補完アルゴリズムも使えるようになっています。目標は自分の書いているライブラリ内の sig/ に記述したメソッドが補完できるようにすることです。 irb のセットアップ bash(シェル)に以下を貼り付けて実行します。 # gem のインストール gem install repl_type_completor # .irbrc に設定追加 echo 'IRB.conf[:COMPLETOR] = :type' >> ~/.irbrc # irb 起動。 irb irb が起動したら

    補完の効く irb 環境を WSL 経由で Windows に導入するためのメモ - おんがえしの blog
    tuto0621
    tuto0621 2024/07/03
  • Ruby で JSONCanvas 形式を読み書きできるライブラリを作りました - おんがえしの blog

    json_canvas は JSONCanvasは形式のファイルを Ruby で簡単に読み書きできるライブラリです。すでにいくつかの言語のライブラリはあったのですが Ruby 用が無かったので作りました。 インストール方法 json_canvas を使い始めるには、まずアプリケーションのGemfileに以下の行を追加してください。 gem 'json_canvas' その後、ターミナルで以下のコマンドを実行します。 $ bundle install もしくは、直接以下のコマンドを使ってインストールすることも可能です。 $ gem install json_canvas 基的な使い方 JsonCanvasを使用するには、Rubyスクリプト内で以下のようにgemを読み込んでください。 require 'json_canvas' キャンバスの作成 新しいキャンバスを作成するには、次のコードを使

    Ruby で JSONCanvas 形式を読み書きできるライブラリを作りました - おんがえしの blog
    tuto0621
    tuto0621 2024/05/20
  • はてなブログを git レポジトリで運用する - おんがえしの blog

    過去のすべてのブログ記事を git レポジトリで管理することにした。 記事の管理や投稿には blogsync という Go 製のツールを使っている。 github.com blogsync をインストールしたら、以下のコマンドを叩くだけで記事の取得や投稿、更新ができる。 # レポジトリに移動 $ cd ~/Document/blog/ # 更新 $ blogsync pull ongaeshi.hatenablog.com # 投稿&更新 $ blogsync push ongaeshi.hatenablog.com\entry\2023\04\16\152439.md 原稿がローカルにあるので、一度投稿した記事を微調整したり、検索して過去記事にリンクを貼ったり、複数記事のカテゴリをまとめて編集するなどがとてもやりやすくなった。 コマンドラインで記事の取得や投稿ができるので他のコマンドとの

    はてなブログを git レポジトリで運用する - おんがえしの blog
    tuto0621
    tuto0621 2024/04/17
  • Runa: Ruby で中規模アプリケーションを書くためのフレームワーク - おんがえしの blog

    Runa という Ruby で Gem を使ったり複数ファイルで構成された中規模のアプリケーションを簡単に書くためのフレームワークを作っています。 Runa を作った経緯 Ruby は単独のスクリプトファイルとして実行するときは取り回しも簡単で大変使いやすい(小規模アプリケーション) が、特定の gem に依存したり複数ファイルで構成されるようなアプリケーションを作ろうとするとスタンダードな方法が用意されておらず(特に配布や共有のことを考えると)敷居が高くなってしまう(中規模アプリケーション) これが今まで余り問題にならなかったのは、Web アプリであれば Rails がその辺りも面倒をみてくれたり、コンソールアプリケーションなら gem で配布するみたいな方法でやりくりしてきた経緯がある。しかし gem で配布するには RubyGems のアカウントが必要だったり、昨今のセキュリティ問題

    Runa: Ruby で中規模アプリケーションを書くためのフレームワーク - おんがえしの blog
    tuto0621
    tuto0621 2023/07/23
    作りました。
  • ruremai gem を Ruby3 でも動くようにした - おんがえしの blog

    ruremai は irb から簡単に日語リファレンスマニュアル(るりま)を開く便利ツール。 $ gem install ruremai こんな感じで使う。 irb> require "ruremai" irb> "".method(:concat).rurema! # String#<< のリファレンスを開く irb> [].mean?.join # Array#join のリファレンスを開く Ruby3 で動かなかったので手元で修正して PR を出した。 https://github.com/ongaeshi/ruremai/tree/feature/support-ruby3 取り込まれれば体 gem でも使えるようになる。 それまでは Gemfile に gem 'ruremai', github: "ongaeshi/ruremai", branch: "feature/su

    ruremai gem を Ruby3 でも動くようにした - おんがえしの blog
    tuto0621
    tuto0621 2023/05/16
  • mermaid.js を使ったコードリーディング - おんがえしの blog

    mermaid.js を使ってコードリーディングをするときに便利な機能をまとめてみる。 標準でクラスダイアグラムも使えるが、色々試した結果、応用の効くグラフを使う方法に落ち着いた。 スタイル 注目させたい関数の色やアウトラインを変更できる。 graph LR foo --> bar --> baz style bar color:#000,fill:#ccc,stroke:#333,stroke-width:4px graph LR foo --> bar --> baz style bar color:#000,fill:#ccc,stroke:#333,stroke-width:4px サブグラフ 名前空間やファイル名を表すのに便利。 graph LR subgraph Foo f1 --> f2 end f2 --> f3 subgraph Bar f3 --> f4 end gra

    mermaid.js を使ったコードリーディング - おんがえしの blog
  • Obsidianのアウトライナープラグインを試す - おんがえしの blog

    普段のメモ書きに Obsidian を愛用しているが、アウトライナーは標準で用意されていない。 ※ 見出しを一覧したり移動できる「アウトライン」というコアプラグインはある(これはこれで便利)。 評判のよいコミニティプラグインの Outliner と Zoom を試してみることにした。 インストール コミニティプラグインから Outliner と Zoom を検索してそれぞれインストール。 ホットキー一覧 Outliner Ctrl+↑↓でリストの開閉 Ctrl+Shift+↑↓ でリストの移動 Zoom ホットキー不要でズームしたいリストのバレットをクリックすればOK 使い方 こんな感じのリストを test これもアウトライナー これはアウトライナー FOO BAR BAZ abc こんな感じに操作できる。Ctrl+Shift+↑↓でリストを移動しながら整理。集中して考えたいときはクリック

    Obsidianのアウトライナープラグインを試す - おんがえしの blog
    tuto0621
    tuto0621 2023/04/21
    書いた
  • WSL で blogsync をビルドして Windows からも標準入力が使えるようにする - おんがえしの blog

    Windows版だと標準出力が使えない という問題があり、 WSL 版バイナリだと別のエラーで動かないという問題があって標準出力経由で投稿や下書きを作ることができなかった。 標準入力が使いたくなってきたので WSL 版を手元でビルドすることにする。 まず golang をインストール。 $ sudo apt install golang-go 次に blogsync をビルド $ git clone https://github.com/x-motemen/blogsync.git $ cd blogsync $ go build -o blogsync バイナリをパスの通った場所にコピー。 $ cp blogsync ~/.local/bin/ これで準備OK。 $ blogsync post --draft --title=空投稿テスト ongaeshi.hatenablog.com

    WSL で blogsync をビルドして Windows からも標準入力が使えるようにする - おんがえしの blog
    tuto0621
    tuto0621 2023/04/15
    書いた
  • blogsync の使い方メモ - おんがえしの blog

    こんなルーティーンでやっている。セットアップは過去記事を参考に。Windows でも動く。 1. 下書きを書く 下書きはモバイルアプリやブラウザで作っておく。ちゃんと書くときは PC で書いた方が早いのでタイトルとざっくり内容だけ。 2. 下書きを手元に持ってくる。 $ blogsync pull 200 <--- https://blog.hatena.ne.jp/tuto0621/ongaeshi.hatenablog.com/atom/entry?page=1203221981 fresh remote=2023-04-10 23:52:22 +0900 JST > local=0001-01-01 00:00:00 +0000 UTC store C:\blog\ongaeshi.hatenablog.com\entry\2023\04\10\235222.md 3. 記事を編集し

    blogsync の使い方メモ - おんがえしの blog
    tuto0621
    tuto0621 2023/04/11
    blogsync でローカルに記事を落としておいて VSCode で開くと簡単に全文検索で過去記事を参照できるのがいいです。
  • ruby.wasm の JS::Object のプロパティ呼び出しをさらに便利にする - おんがえしの blog

    ruby.wasm でいろいろ遊んでいます。実験場も作りました。 rubywasm-sample.ongaeshi.me JS::Object が楽しくて、JSのオブジェクトをRubyから透過的に扱えます。メソッド呼び出しもできるしブロックで関数を渡せたしりします。 require 'js' JS.eval("return 1 + 2") # => 3 JS.global[:document].write("Hello, world!") div = JS.global[:document].createElement("div") div[:innerText] = "click me" JS.global[:document][:body].appendChild(div) div.addEventListener("click") do |event| puts event # =>

    ruby.wasm の JS::Object のプロパティ呼び出しをさらに便利にする - おんがえしの blog
  • 毎日簡単に更新できてサクサク閲覧できるブログシステムを作った - ブログのおんがえし

    Jekyll + GitHub Actions で構築。ブログの開設から記事の更新まで全てWebインターフェース上で完結します。 github.com https://day.ongaeshi.me/ が実際に自分が使っているやつなので、これを見るとどんな感じのものが作れるか分かると思います。 記事の投稿 マークダウンに日付を付けた見出し(# 2022-07-19)を作ると中身がその日の投稿になります(例: _days/2022.md) # 2022-07-19 今日の出来事のように日付の後ろに空白を開けて記事にタイトルを付けることもできます _days/ディレクトリ以下の全ての.mdファイルが投稿対象になります(ファイルの分割単位は自由です) 記事の投稿に新規ファイルの追加が不要なため、編集用のURLをブックマークしておいて一番上に見出しを追加すれば記事の投稿が完了します。 1ファイルか

    毎日簡単に更新できてサクサク閲覧できるブログシステムを作った - ブログのおんがえし
    tuto0621
    tuto0621 2022/07/25
  • gifアニメにお絵描きできるGifDrawerをリリースしました - おんがえしの blog

    リモートワークでスクショやgifアニメに手書きコメントを付けて共有する機会が増えたのですが、 手書きコメントにもアニメーションがつけられたら便利なんじゃないかと思い作りました。 インストール https://github.com/ongaeshi/GifDrawerのtagsから最新版をダウンロードして適当なところへ展開してexeをダブルクリックすれば動きます。gitレポジトリを直接cloneしてもよいです。 お絵描きしながらタイムラインを動かすことでアニメーションがつけられます。コマ送りを使うと書きやすいです。ペンタブで書きたい人はWindows InkをOFFにしてください。 gifや画像をドラッグ&ドロップするとそれを背景にしてお絵描きできます。 ソフトウェア構成 ClipScript OpenSiv3D mruby (using mruby-packer) ClipScriptとい

    gifアニメにお絵描きできるGifDrawerをリリースしました - おんがえしの blog
    tuto0621
    tuto0621 2022/03/13
  • pico-8 を勉強している - おんがえしの blog

    シングルバイナリで動くゲームエンジンの fude というのを作っている から他のゲームエンジンも触ってみることにした。兼ねてから興味のあったpico-8というファンタジーコンソールにトライ。 チュートリアルのリソースも豊富(PICO–8って何? - PICO–8ゲーム開発入門(1) | AUTOMATONをやった)で、ダウンロードしたゲームのソースコードやリソースも見れる(この辺りはBASICぽい)。pico-8で作られたゲームとしてはCelesteがおすすめ。 使ってみるとまずコードエディタ、リソースエディタ、実行環境が統合されているのが素晴らしい。これさえあれば他のツールを使わずにゲームが作れるというのは幸せなことだ。 ゲームのライセンスもアップロードした人が設定できるようになっており、CC4-BY-NC-SAなら再利用も可能と素晴らしい。しかし最大の魅力はシンプルなAPIとファンター

    pico-8 を勉強している - おんがえしの blog
    tuto0621
    tuto0621 2020/02/09
    書きました
  • 小さなWebアプリをサクサク作れるnippが面白い - おんがえしの blog

    極小WebアプリをURLに埋め込んで超ポータブルなWebアプリを作りたい! - Qiitaで紹介されていたnippで遊んでいる。 nwtgck.github.io Rubyを使ったWebアプリを簡単に作ることができる。作ったものはURLさえ覚えておけば他の人とも共有できる。ちょっとしたテキストフィルターのようなものをRubyで書いて後で使いたい、他の人に公開したい、しかしデプロイするのは面倒というようなケースに便利。 とりあえずirbっぽく使えるevalを書いた。空行毎に結果を出力、テキストを書き換えるとリアルタイムで再計算してくれる。リファレンスマニュアルのサンプルコードを貼り付けて動かすのに便利。 eval - nipp 作ったり見つけたものはawesome-nippに置いたので、nippで何か作ったり見つけた人は教えてください。

    小さなWebアプリをサクサク作れるnippが面白い - おんがえしの blog
    tuto0621
    tuto0621 2019/02/16
  • 書評 - Scrapbox情報整理術 - ブログのおんがえし

    Scrapbox情報整理術 作者: 倉下忠憲出版社/メーカー: シーアンドアール研究所発売日: 2018/07/27メディア: 単行(ソフトカバー)この商品を含むブログを見る 最近はScarpboxをメインのメモツールとして使っていますが、ページをどのように分割するべきか、タグ(#テスト)とリンク([テスト])はどのように使い分ければいいのか、といった思想的な部分を学ばずにここまで来てしまいました。また最近のWebアプリはよくできているのでほとんどマニュアルを見ずに使えてしまいますので、でも買わないとまとまった文章を読む機会がないというのもあります。 作者が全体としてScrapboxをどういう考え方で使っているのか、という少しぼんやりとしているけど大切な情報が手に入って満足しています。それは Scrapbox内のページはできるだけ小さく細かい部品にしておく 関連しているページがあれば文

    書評 - Scrapbox情報整理術 - ブログのおんがえし
    tuto0621
    tuto0621 2018/12/19
  • マルチメディアアプリケーションをスクリプトだけで簡単に作れるSivScript - ブログのおんがえし

    この記事はOpenSiv3D Advent Calendar 5日目の記事です。 概要 SivScrtiptはマルチメディアアプリケーションをテキストエディタのみで簡単に開発できるソフトウェアです。 OpenSiv3D 0.3から導入されたAngelScriptによるスクリプト機能を利用して作られています。 exeをパスの通った場所にコピーするだけですぐに使える ビルド無しで高速にリロード VisualStudioやOpenSiv3Dのインストール不要 AngelScriptはC++と文法が似ているため簡単にC++に移植できる インストール https://github.com/ongaeshi/SivScript/releases から最新のzipをダウンロード 展開してできたsiv.exeをパスの通った場所にコピー 使い方 以下のテキストをコピーして適当な場所にShape.asという名

    マルチメディアアプリケーションをスクリプトだけで簡単に作れるSivScript - ブログのおんがえし
    tuto0621
    tuto0621 2018/12/04
  • TextwellのConcatアクションが便利 - ブログのおんがえし

    Textwellではかどるライン・ライティング Concat - W&R : Jazz読書の日々をインストールした。 “。”を打つ必要がなくなり入力の負担が1つ減った。Textwellは二指タップで行選択できるので編集が簡単。Reorder Linesアクションと組み合わせるともっと便利で、簡単に文書を組み替えることができる。 長文を書くにはやはりPCが便利だが手元にあるのはスマホなのでそこでもある程度の量の文書は書けるようにしておきたい。Textwellと豊富なアクション群のおかげで大分効率がよくなった。

    TextwellのConcatアクションが便利 - ブログのおんがえし
  • ゼロトレ感想 - 書評 - ブログのおんがえし

    健康はコードを書き続けるのに必要なので定期的に体の仕組みや体操のを買っている。話題になっていたので手に取った。 元々背気味で姿勢改善のは色々買っているがなかなか治らない。それを治す方法を期待して読み始めた。 内容はシンプルで、姿勢の歪みをゼロにすることで体の調子が良くなるというもの。かかと重心の重要性をすごく語っていた。腰のポジションがよい人は足音が小さい、というのはなるほどと思った(大きい)。 半分以上はどのようにしてゼロトレが生まれたか、なぜゼロトレがよいのかの話でスラスラよめる。後半にエクササイズが載っているがとてもシンプル。1時間位で読み終わったがすぐに実践に入れるし、覚えることも少ないし、他のも読みたいからこれくらいでいいんじゃないかと思った。 後、最初に目次がなくてゼロ章のプロローグが始まり、ニューヨーク一枚絵のタイトル、目次、一章開始、とおしゃれな映画のような構成にな

    ゼロトレ感想 - 書評 - ブログのおんがえし
    tuto0621
    tuto0621 2018/10/24
  • Cookpad TechConf 2018 の感想(速記) - おんがえしの blog

    https://techconf.cookpad.com/2018/ 配信: https://youtu.be/r8qGpKEFveQ 進行がAmazon Pollyだった。時折人間だともう少し聞き取りやすいかなというときがあったが全般としては問題なかった。TechConfならこれで十分かもしれない。繰り返す使うようなケースならさらに便利になりそう。 ※ スライドリンクを見つけきれなかったので見つけた方は教えてください 毎日の料理を楽しみにする挑戦をし続けた20年 「毎日の料理を楽しみにする会社」というビジョンは何年たっても解決しがいのあるよいビジョンだと思った。そこから分割されたテックカンパニーとしてのビジョン(目標?) 料理が楽しくなる ユーザーの生活の役に立つ 今の技術を活かせる もよい。 2017年は海外展開を強化していたらしく 日: 5665万人 (レシピ283万品) 海外:

    Cookpad TechConf 2018 の感想(速記) - おんがえしの blog