programming

C# の null 条件演算子と null 合体演算子の組み合わせを理解する

C# における if (obj?.Foo?.Bar ?? false) のような null 条件演算子と null 合体演算子を組み合わせた式が読みにくくて苦手だった。 if (obj?.Foo?.Bar ?? false) { // obj.Foo.Bar の途中に null が存在しない、 // かつ obj.Foo.Bar == true の場合に実行…

はてなブログを git レポジトリで運用する

過去のすべてのブログ記事を git レポジトリで管理することにした。 記事の管理や投稿には blogsync という Go 製のツールを使っている。 github.com blogsync をインストールしたら、以下のコマンドを叩くだけで記事の取得や投稿、更新ができる。 # レポジ…

blogsync で Windows からも直接新規記事を投稿したい

github.com を Windows からもやりたい。 PowerShell で標準入力を終了するにはCtrl+Z Enter なので・・ PS> ~/Documents/blog PS> blogsync post --draft --title=blogsync ongaeshi.hatenablog.com さてかきはじめるか... (Ctrl+Z Enter) これで OK。 ラン…

ChatGPT に Ruby など他のプログラミング言語も実行させたい

ChatGPT はたくさんの種類のプログラミング言語のコードを出力できますが、直接実行できるのは現状 Python のみとなっています。Ruby など他の言語も実行することはできないかと考えていました。 1つのアイデアとして思いついたのは ChatGPT に生成したコー…

Runa: Ruby で中規模アプリケーションを書くためのフレームワーク

Runa という Ruby で Gem を使ったり複数ファイルで構成された中規模のアプリケーションを簡単に書くためのフレームワークを作っています。 Runa を作った経緯 Ruby は単独のスクリプトファイルとして実行するときは取り回しも簡単で大変使いやすい(小規模ア…

「本」と「読書」にまつわる便利なサイトをスマホから横断検索する

「本」と「読書」にまつわる便利&参考になるサイトをまとめてみた - ぐるりみち。がとても面白かったです。記事自体も素晴らしいし、はてぶのコメントも、ここには載ってないけどこのサイトもおすすめ、ほとんど知ってたけどこれは知らなかった、などよいコ…

iOSでRubyプログラミングできるPictRuby 0.2 - アプリのランチャーになったりWebAPIを叩けるようになった

この記事はmruby Advent Calendar 2015の25日目の記事です。前日はmrubyのRedisクライアントのPipelining対応とDisqueクライアント - 人間とウェブの未来でした! PictRuby 0.2 をリリースしました。iPhoneやiPad上でコードを編集、実行、デバッグしながらプ…

理想の読書システムが構築できたので紹介します

電子書籍、全文検索、Webアプリケーションといった現代技術を組み合わせる(無いものは自分でソフトウェアを書いた)ことで理想の読書システムを構築することができた気がしたので紹介します。 1. 購入 コンピュータ関連の書籍は Gihyo、オライリー、達人出版…

インターネット時代に本を読む

テクノロジーの進化、特にここ10年におけるモバイルコンピューター(最初のiPhoneが2007年)の登場によって情報取得ツールとしての本(ここではあえて電子書籍、紙の本をまとめて本と呼ぶ)の使い方は大きく変わった。あるトピックに最初に出会うのは本でもテレ…

150行で書ける全文検索エンジン

Rubyで簡単に全文検索エンジンが作れるGrnMiniを作ったの続きです。 GrnMiniを使って小さな検索エンジンを書いてみました。 全1ファイル、154行です。検索、マッチ個所の表示(スニペット)、ページネーション、ファイル本体の表示など検索エンジンに必要な一…

Rubyで簡単に全文検索エンジンが作れるGrnMiniを作った

続きを書きました。 RubyでただのArrayだと思って・・の続きです。正月中に整備してgem化しました。 GrnMini ongaeshi/grn_mini Groonga(Rroonga)を簡単に使えるようにラップしたものです。 カラム指定不要でデータを追加することが出来ます。 永続化、高度…

2014年、おんがえしのアドベントカレンダー

アドベントカレンダーは数が増えすぎました。 ってことで毎日巡回用のランディングページを作ることにします。おすすめのアドベントカレンダーとかあったら教えて下さい。 巡回 .emacs D言語 mruby Ruby 全文検索エンジンGroonga マイナー言語 Unity Clojure…

mrubyソースコード検索を作りました

http://mrubysearch.ongaeshi.me/ RubyKokubanを作るにあたってmrubyのソースやmgem(mrubyのRubyGemsみたいなやつ)に登録されたソースコードを簡単に読めるようにしたいなあ、と思い作ってみました。 一日一回レポジトリを最新に更新してインデックスの再構…

ブラウザで見ているソースコードのファイルをエディタから一瞬で開く

個人的にお気に入りな開発環境を構築出来たので紹介します。どういうものかというと、 Milkodeを使ってブラウザからソースコードを検索 目的の関数を見つけたら、ジャンプしたい行をクリックしてマークお エディタ(Emacs)に移動して M-x milkode:jump-from-b…

ブームに乗って Qiita と Kobito をはじめてみた

Qiita キータ - プログラマの技術情報共有サイト Kobito - プログラマの技術情報記録に最適なMacアプリケーション Kobitoのリアルタイムプレビューを使って技術メモを書くのは想像していたよりもずいぶん快適でした。是非一度触って体感してみてほしいです。…

一日のコミットを振り返る、git todayコマンドを作った。

一日の作業内容を振り返ったり、日記に書いたり、Twitterに投稿する時に便利です。git today : 今日のコミットを一行で表示します。 $ git today 7267c09 [end] LESSON33 ee9b770 進捗バー表示 26bb84e [start] LESSON33 Ajax通信の進捗状況やエラー情報を表…

Milkodeのデモを置きました。

Milkodeデモ Mikodeのデモを設置してみました。 ソースコード検索の速度 インターフェースの雰囲気 等が分かると思います。 せっかくURLが共有出来るようになったのでいくつか検索例を挙げてみます。どれも検索エンジン無しでやろうとするとそこそこ大変です…

数万のソースコードから目的の一行を一瞬で見つけ出す、Milkode

最新バージョンはコチラです。Milkode(ミルコード)はソースコード検索エンジンです。手元にある大量のソースコードを登録し、ブラウザで閲覧したり検索することが出来ます。20000ファイル位であれば1秒位で特定の一行を見つけることが可能です。Rubyで書かれ…