タグ

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

  • Ruby on Browser 1.0 リリース - おんがえしの blog

    窓の杜で取り上げていただいた後も実装は少しずつ続けていて、ひとまずブラウザ上で最新のRubyを試すのに必要な機能は一通り実装できたんじゃないかと思う。リファレンスマニュアルへのリンクを貼ってシンタックスハイライトを入れたりCtrl+Enterで実行できるようにした。(自分が書いたサンプルコードはScrapboxにあるのでコピペして試せます) https://rubyonbrowser.ongaeshi.me/ モバイルでも簡単なコードだったら書けるように色々工夫したのでちょっとしたコードを書きたいときにぜひ試してみてほしい。(Select Allボタンは結構こだわった) 他のブラウザ言語処理系と大きく違うこととして「ファイルを読み書きするAPIも使える」ということがある。元々WASIがWASMにファイルIOや通信を持せたることを目的にしたものなのでRuby WASM/WASI自体がファイル

    Ruby on Browser 1.0 リリース - おんがえしの blog
    Nyoho
    Nyoho 2022/04/18
  • 自分でプログラム言語を書いてみたい人は「Create Your Own Programming Language」がおすすめ - おんがえしの blog

    読み終わった。たった100Pにプログラム言語を作るための基礎(字句解析、構文解析、ランタイム、インタプリタ、仮想マシン、ネイティブコンパイルまで!)が一通り学べ、さらに書で作った実際に動くプログラミング言語がついてくる。 $39.99 とちょっと高いがプログラム言語を作る勉強代だと考えれば最も安くそして早く(ドラゴンブックは1090P)学べるのではないだろうか。洋書なのが難点だが半分くらいはソースコードなので苦労しながらなんとかなりました。(日語訳出てほしいなぁ) 書籍内で作る言語は2種類で Awesome Rubyの構文にPythonのインデントブロックを混ぜ合わせたようなオブジェクト型 Mio Ioを参考にしたメッセージ型 言語自体はどちらもRubyで書かれているが紹介される概念は特に言語の制約を受けないものが多い。 よかったところ yaccやbison, JVM系の構文解析ツール

    自分でプログラム言語を書いてみたい人は「Create Your Own Programming Language」がおすすめ - おんがえしの blog
  • 小さな端末でも楽しくプログラミングできる RubyPico(旧PictRuby) 0.6 がリリース - おんがえしの blog

    PictRubyRubyPicoという名前に変わりました!対象を画像に限らず「PC以外のスマートフォンやタブレットなど小さな端末で動くRuby」という印象にしたかったためです。 アンケートではSmartRubyが有力でしたがその後にいただいたPicoRubyという名前も評判がよく、最終的にひっくり返してRubyPicoにしました。 PictRubyの名前を変えたいと思っています。「PC以外のスマートフォンやタブレットなど小さな端末で動くRuby」という印象にしたいです。アンケートを作ったので投票やご意見を是非。(必ず得票数の多いものにするわけではないです)— おんがえし (@ongaeshi) April 17, 2016 0.6では待望の正規表現がサポートされました。 RubyPico ongaeshi仕事効率化無料 正規表現 正規表現が書けるようになりました。/.../リテラル以外に

    小さな端末でも楽しくプログラミングできる RubyPico(旧PictRuby) 0.6 がリリース - おんがえしの blog
    Nyoho
    Nyoho 2016/05/11
  • Mastering Emacsのすすめと、使えなかった数引数の話 - ブログのおんがえし

    この記事はEmacs Advent Calendar 22日目の記事です。前日はEmacs Lispでシェルコマンドを活用するでした。 最近Mastering Emacsというを読みました。Emacsのを購入したのは久しぶりですがかなり面白かったです。洋書なので読むのが大変でしたが苦労して読む価値はあったと感じています。 すごいなぁと思うのがEmacsの最大の魅力の1つである「カスタマイズ」に関する話がほとんどないということです。序盤にほんの少しだけカスタマイズの方法が書いてありますが(しかもそれがM-x customizeの使い方だったりする)、Emacsの歴史、インストール、起動オプション、ヘルプの読み方、カーソルの移動、テキストの編集・・と続きます。内容の大半はEmacsの基的な機能を深く知ることにフォーカスされているのです。実践VimというVimの中核となるコンセプトを紹介し

    Mastering Emacsのすすめと、使えなかった数引数の話 - ブログのおんがえし
    Nyoho
    Nyoho 2015/12/22
  • 理想の読書システムが構築できたので紹介します - おんがえしの blog

    電子書籍、全文検索、Webアプリケーションといった現代技術を組み合わせる(無いものは自分でソフトウェアを書いた)ことで理想の読書システムを構築することができた気がしたので紹介します。 1. 購入 コンピュータ関連の書籍は Gihyo、オライリー、達人出版会などほとんどがDRMフリー(mobi, epub, pdf)で購入できる。後で検索できるようにしたいので、できるだけpdfがついてくるものを買う。 洋書はThe Pragmatic Bookshelfを定期的にチェックしている。PayPalのアカウントを持っているとあまり知らない出版社から購入するときでも安心。 電子版がないけどPCで読みたいもの、最初はどうしても紙で読みたいものは自炊する。 2. 読む 当は紙ので読みたいのだが、ペーパーバック+電子書籍で安く買えるプランがあまりないので電子書籍で買ってKindleで読むことが多い。S

    理想の読書システムが構築できたので紹介します - おんがえしの blog
  • Dockerは個人ユーザーに何をもたらすのか - おんがえしの blog

    Qiitaに書きました。 GUIDockerがサクサク使えるKitematicが便利 - Qiita Kitematic便利。Dockerの敷居がまた一段下がったので是非使ってみるといいです。 ここではコラム的にDockerを自分のマシンにインストールするとどのようなメリットがあるのか?個人ユーザーに何をもたらすのかについて雑多に考えてみます。 人の作ったアプリを試すのに便利 KitematicのようなGUIツールを使うことでもっとも便利になるところです。 IRuby notebookのような複雑なアプリケーションを動かすときもホスト環境を汚さずに試すことが出来ます。IRuby notebookとIPython notebook、どっちがいいのかなぁと比較するのもとても簡単です。 DockerHubやGitHubからよいDockerfileのコンテナを探す能力が重要になりそうです。 デプ

    Dockerは個人ユーザーに何をもたらすのか - おんがえしの blog
    Nyoho
    Nyoho 2015/07/20
    「あれ?Emacs最強じゃね?意図していなかったのに謎の結論になりました。」
  • Rubyのgemのソースコードを効率的に読む方法 - おんがえしの blog

    いきなり読み始めてもよいのですが、事前に軽く準備しておくと読みやすくなります。 読みたいソースコードをダウンロード bundle install --path vendor/bundle 検索用のインデックスを貼る 読む bgm.rbを例に説明します。 読みたいソースコードをダウンロード hitode909/bgm $ git clone git@github.com:hitode909/bgm.git $ cd bgm bundle install --path vendor/bundle $ bundle install --path vendor/bundle . . Installing json 1.8.2 Installing multi_xml 0.5.5 Installing httparty 0.13.3 Installing itunes-search-api 0.1.

    Rubyのgemのソースコードを効率的に読む方法 - おんがえしの blog
    Nyoho
    Nyoho 2015/02/01
  • org-modeとopen-junk-fileで始める快適メモ生活 - おんがえしの blog

    この記事はEmacs Advent Calendar 2014の10日目です。 org-modeというEmacsの高性能メモ機能があります。 見出しでTABを押すことでON/OFF出来るアウトラインプロセッサ ソースコードをメモ内に書いてその場で実行(文芸的プログラミング!) ソースコードはちゃんと色付けされる |で囲むと表組 htmlpdfで書き出し プレゼンテーション TODOリスト など出来ないことは無いのではないか、そもそもプログラムが書けるものをアウトラインプロセッサと言ってしまっていいのか、という位に色々な機能が入っています。 が、高機能すぎてどうやって使っていいか分からないという人も多いのではないでしょうか?(私もそうでした)。 私はかなり限定的にorg-modeを使っています。基はアウトラインプロセッサ程度にしか使いこなしていません。ですがそれでも充分に便利です。たまに

    org-modeとopen-junk-fileで始める快適メモ生活 - おんがえしの blog
    Nyoho
    Nyoho 2014/12/10
    org-mode でメモを取りまくっているけど junk-file じゃなくてそれぞれ適切なorgファイルに書いているから、ささっとメモを取るにはこの方がいいな。後で必要なものだけ整理すればいいし。
  • RubyKaigi2014にいってきました(LTもしました) - おんがえしの blog

    はじめての参加だったのですがとても楽しかったです。 いいたいことを全部書くと長くなるので思いついたことから書いていこうと思います。 多分抜けがいっぱいあります。 すたーと1日目 ささださんの話でRubyの現状と次の課題がすごくよく分かった シンボルはGC対象にならないの知らなかった(そして2.2からGC対象になる) なぜGVL(Giant VM Lock)があると並列処理が遅くなるのかがなんとなく分かった 専用ハードウェアやGoによるRubyVMの実装などでチャレンジしている人がいる Rubyにパターンマッチングが欲しい という人が結構いた 動いているrubyプログラムのどの行がいちばんメモリを消費しているのか知りたい ko1/allocation_tracer が便利 コミットログを書くときに重視していることは? なんで直したかは書いて欲しい コンパイラ分からなくてもコントリビュート出来

    RubyKaigi2014にいってきました(LTもしました) - おんがえしの blog
  • (kantou-emacs #x01) #関東Emacs にいってきました - おんがえしの blog

    (kantou-emacs #x01) #関東Emacs : ATND 関西Emacsに行きたいけど遠方でなかなかいけなかったので関東で開催されないかなぁと待ち望んでいました。普段はネットの情報に頼ることが多いので実際に使っている人達のノウハウを見ることが出来たら刺激になりそうだと思い参加しました。(そして実際に大変刺激になりました。) ハッシュタグ#関東emacsで検索すると会議中やその後の雑談が読めます。 ポジションペーパー ポジションペーパー一覧 今回もポジションペーパーを使います. 参加者の交流を図るために,A4で1枚程度の内容をスクリーンに映しながら,全員が自己紹介をします. ポジションペーパーというスタイルの勉強会は初めてだったのですがとてもよかったです。全員がポジションペーパーを見ながら発表するのでみんなが参加している感じになるし通常の発表と比べて敷居が低いのもよいです。(L

    (kantou-emacs #x01) #関東Emacs にいってきました - おんがえしの blog
  • RubyとGo言語を組み合わせて高速なgrepを作りました - おんがえしの blog

    Milkode 1.7で新しく入ったGomilkの技術解説です。ここ数ヶ月Go言語の勉強をしていましたが、Rubyで書かれたMilkodeとのよい組み合わせを思いつき、一ヶ月ほどかけて作ってみました。 Gmilkの問題 MilkodeにはGmilkというGrep感覚で使えるコマンドラインツールが付属しているのですがもう少し高速に検索したいという欲求がずっとありました。 Gmilkが遅い原因としては 関連するライブラリがたくさんあってアプリケーションの起動が遅い 検索候補のファイル一覧を回すループ処理が遅い というのが主な理由でした。 これらの問題を解決するために新しいプログラムを書きました。 名前はGo言語で作るのでGomilkとしました(偶然ゴロがよかった)。 作戦 以下のような作戦で高速化を図りました。 あらかじめWebアプリを立ち上げておく Gomilkを実行 Gomilkは引数から

    RubyとGo言語を組み合わせて高速なgrepを作りました - おんがえしの blog
    Nyoho
    Nyoho 2014/06/09
    agを超えとるだと…!
  • RubyでただのArrayだと思ってデータを追加したつもりなのに気がついたら全文検索出来ていた・・的なものを作った - ブログのおんがえし

    続きを書きました。 Ruby Advent Calendar 22日目の記事です RroongaというRubyで使える全文検索エンジンがあって愛用しているのですが、使う前の準備でカラム指定やデータ型を指定したり、全文検索のためのインデックステーブルを作るのが少し大変でした(大規模なアプリケーションの時はしっかり定義出来るので便利なのですが)。 普段使いで全文検索するために、実験的にRubyのArrayのように使えるようにしてみました。 インストール Rroongaを使うにはgemのインストールが必要です。他の全文検索エンジンと違ってそれ以外のソフトウェアのインストールが不要なのがいい所です。Windowsでも問題なく動きます。 $ gem install rroonga 今回書いたコードは以下にまとめてあります。 ongaeshi/grn_array - GitHub $ git clon

    Nyoho
    Nyoho 2013/12/23
  • mrubyで簡単にグラフィカル&インタラクティブなアプリケーションが作れるRubyKokubanを作りました - おんがえしの blog

    mrubyを使ってグラフィカル&インタラクティブなアプリケーションが作れるRubyKokubanというものを作りました。 mrubyで何かやりたいなあと思いこつこと書いていたのですが、少し触れるようになってきたので公開します。 def draw text 'Hello, rubykokuban!', 100, 100 circle 350, 100, 50 end 最小限のコードでゲームのようなものが作れることを目指しています。 インストール 今はコマンドラインからの実行環境のみ用意されています。対応プラットフォームもOSXのみです。 RubyGemsからインストールします。 $ gem install kokuban まずは最新の実行用アプリケーションをインストールしましょう。 $ kokuban install --latest インストールされていることを確認します。 $ kokub

    mrubyで簡単にグラフィカル&インタラクティブなアプリケーションが作れるRubyKokubanを作りました - おんがえしの blog
    Nyoho
    Nyoho 2013/10/03
  • 1