はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    Pixel 10

『qiita.com』

  • 人気
  • 新着
  • すべて
  • DXOpalでスイカゲームみたいなのを作った - Qiita

    5 users

    qiita.com/sonota88

    こんにちは。今年は mruby や picoruby にも触れてみたかったのですがもう12月ですね……おかしいな……。 できたもの 遊んでみたい方はこちらのリンクからどうぞ。 https://sonota88.github.io/dxopal-suikalike/index.html マウス操作のみ対応しています ボール(正方形ですが)のサイズは 1 から 10 まで 球にするのが面倒だったため正方形で作り始め、面倒だったため正方形のまま完成としました。この記事では「ボール」と言い張ります。 オリジナルに寄せる方向ではがんばってません。それっぽければヨシ。 リポジトリはこちら。効果音はパブリックドメインとします。何かに使えそうなら使ってください。 DXOpal + 物理演算 → スイカゲーム DXOpal についてざっくり特徴を挙げると次のような感じでしょうか。 手軽にゲームを作れるフレー

    • テクノロジー
    • 2023/12/06 07:53
    • Ruby
    • Lramaで簡単な自作言語のパーサを書いた - Qiita

      9 users

      qiita.com/sonota88

      先日 Ruby にマージされた LALR(1)パーサジェネレータ Lrama を使ってみました。 参考: RubyにlramaがマージされてBison依存がなくなった(RubyKaigi 2023)|TechRacho by BPS株式会社 できたもの https://github.com/sonota88/vm2gol-v2-c/tree/alt-parser-lrama alt-parser-lrama ブランチに mrcl_parser_lrama.y が入っています。 概要 Mini Ruccola は私がコンパイラ実装に入門するために作った自作言語とその処理系です。原始的だけどその分入門者(=私)視点では分かりやすい、という方向性のものです。私でも作れる簡単なコンパイラ。 作ったときに書いた備忘記事: RubyでオレオレVMとアセンブラとコード生成器を2週間で作ってライフゲームを

      • テクノロジー
      • 2023/05/21 18:05
      • Ruby
      • あとで読む
      • 四則演算と剰余のみのexprコマンドをRubyで作ってみた(移転済み) - Qiita

        3 users

        qiita.com/sonota88

        Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

        • テクノロジー
        • 2023/02/19 09:00
        • Dockerを利用してDXOpalアプリケーションを手軽に事前コンパイルする - Qiita

          3 users

          qiita.com/sonota88

          使いたくなったときにサッと使えるようにメモ。Docker イメージを用意しておいて docker run すればコンパイルできる、という形にしたい。 プログラムが小さいうちはわざわざ事前コンパイルしなくても問題ないのですが、大きくなってくると事前コンパイルすることによる時間短縮が効いてきますし、source map ありでデバッガが使えて捗ります まずは Dockerfile。Opal と DXOpal を含んだイメージを作ります。素の DXOpal ではなく、フォークして修正を加えたブランチを使っているのがポイント(後述)。 # Dockerfile FROM ubuntu:22.04 RUN apt-get update \ && apt-get install -y --no-install-recommends \ git \ ruby \ && apt-get clean \ &

          • テクノロジー
          • 2022/10/09 16:49
          • Ruby
          • Galaaz を触ってみた(TruffleRuby + ggplot2 で散布図を描いてみた) - Qiita

            3 users

            qiita.com/sonota88

            日本語での言及がまだないようだったので TruffleRuby + Galaaz の人柱やってみました。GraalVM, R, ggplot2 について詳しくない人が見様見真似で書いています。 (このグラフは graalvm-demos に入っているデモコードを実行して描いたもの) Galaaz GraalVM を使って R の機能を Ruby から使うための gem。 作者の Rodrigo Botafogo さんによる解説記事。これらの記事で Galaaz の存在を知りました。 graalvm-demos This repository contains several small applications. These programs illustrate the capabilities of GraalVM GraalVM を使うとこんなことができるよ、というデモを集めたリポジ

            • テクノロジー
            • 2022/06/12 15:21
            • Ruby
            • Ruby + Numo::Gnuplot(numo-gnuplot gem)で散布図を描く - Qiita

              3 users

              qiita.com/sonota88

              Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

              • テクノロジー
              • 2022/06/05 13:23
              • Ruby
              • Qiita
              • Ruby + ruby_gnuplot(gnuplot gem)で散布図を描く - Qiita

                5 users

                qiita.com/sonota88

                準備 gnuplot コマンドをインストール Ubuntu 18.04 の場合は sudo apt install gnuplot ruby_gnuplot をインストール gem install gnuplot これだけ。 ただし、 Ruby 3.1.0 で matrix が bundled gem になったようなので、3.1.0 以降の場合は gem install matrix も必要です。 参考: [Ruby] Bundled gemsはGemfileに指定して使おう 最低限の例 PNG ファイルに出力する最低限の例です。 # sample.rb require "gnuplot" Gnuplot.open do |gp| Gnuplot::Plot.new(gp) do |plot| plot.terminal "png" plot.output "output.png" x =

                • テクノロジー
                • 2022/05/29 13:03
                • Ruby
                • 技術
                • malでかんたんなテンプレートエンジンを書いてみた - Qiita

                  3 users

                  qiita.com/sonota88

                  言語非依存なテンプレートエンジンがあったらいいなと昔からボンヤリ考えていた(切実にほしいという程ではない)のですが、mal(Make a Lisp)で作ったらどうだろうと思って試しにやってみました。「なんかやってみたくなってやってみた」系の記事です。 Lisp を書くのは年に数回という感じの人が書いていますので、拙いところは大目に見ていただければと思います。 ちなみに去年のアドベントカレンダーではこんなのを書きました。 できたもの sonota88/mal をサブモジュールとして使っているので、 git clone --recursive ... でクローンする必要があります。 Ruby版 Ruby 版だとこんな感じ。 template = <<TEMPLATE <h1>品目一覧</h1> <p>購入日: <%= date %></p> <table> <tr> <th>ID</th> <

                  • テクノロジー
                  • 2021/12/25 15:27
                  • あとで読む
                  • Parsletでかんたんな自作言語のパーサを書いた - Qiita

                    3 users

                    qiita.com/sonota88

                    <自作言語処理系の説明用テンプレ> 自分がコンパイラ実装に入門するために作った素朴なトイ言語とその処理系です。簡単に概要を書くと下記のような感じ。 リポジトリ: github.com/sonota88/vm2gol-v2 小規模: コンパイラ部分は 1,000 行程度 pure Ruby / 標準ライブラリ以外への依存なし 独自VM向けにコンパイルする ライフゲームのために必要な機能だけ 変数宣言、代入、反復、条件分岐、関数呼び出し 演算子: +, *, ==, != のみ(優先順位なし) 型なし(値は整数のみ) 作ったときに書いた備忘記事 RubyでオレオレVMとアセンブラとコード生成器を2週間で作ってライフゲームを動かした話 Rubyでかんたんな自作言語のコンパイラを作った Ruby 以外の言語への移植(コンパイラ部分のみ) セルフホスト版(別リポジトリ) <説明用テンプレおわり> も

                    • テクノロジー
                    • 2021/11/02 06:41
                    • Ruby
                    • 素朴な自作言語Ruccolaのコンパイラをセルフホストした - Qiita

                      4 users

                      qiita.com/sonota88

                      自作言語 Ruccola のコンパイラがセルフホストできました! (2021-06-26 追記) Pric という名前はよろしくなさそうという情報をいただきました。自分では気づけていなかったので大変ありがたいです。k が付いたものと発音がおそらく同じになるので、ダメそうですね。何か別の名前を考えようと思います。 (2022-01-12 追記) 名前を Pric から Ruccola に変えました。記事の記述などはおいおい修正していきます。 概要 これまでのあらすじ これまで vm2gol(virtual machine to game of life)というプロジェクト名で以下のようなことをやってきました。 (2018) RubyでオレオレVMとアセンブラとコード生成器を2週間で作ってライフゲームを動かした話 vm2gol-v1 高水準言語の代わりに構文木を直接書き、それをコンパイルして

                      • テクノロジー
                      • 2021/06/21 18:58
                      • Ruby
                      • リレー式論理回路シミュレータを自作して1bit CPUまで動かした - Qiita

                        4 users

                        qiita.com/sonota88

                        アニメgifが表示されない場合はこちらをクリックしてください 左下のスイッチがクロックで、右下のスイッチで命令( MOV A, A と NOT A )を切り替えています。 回路図を描いて動かすまでの流れ: 回路図を LibreOffice Draw で描いて .fodg 形式で保存 fodg ファイルを読んで前処理し、中間データ(JSON)に変換 シミュレータのプログラムと中間データを使ってブラウザで実行 LibreOffice Draw で描いた回路図はこんな感じ。 直線と矩形、矩形内のテキストだけです。部品はグリッドに合わせて配置します。ナナメの配線は禁止。 使っている部品: 導線 電池のプラス極・マイナス極 ランプ スイッチ。マウスでクリックすると ON/OFF が切り替わります。 リレー(2種類) ランプ、リレーには極性なし(プラス極・マイナス極を入れ替えても動作は変わらない) 小

                        • テクノロジー
                        • 2021/04/11 15:05
                        • CPU
                        • コンピュータ
                        • Ruby
                        • computer
                        • HotEntry
                        • LibreOffice Drawを位置・図形データ編集用GUIフロントエンドとして使う - Qiita

                          3 users

                          qiita.com/sonota88

                          これは LibreOffice Advent Calendar 2019 の 3日目の記事です! ※ 2019-12-03 に書いた記事をブログから引っ越してきました TL;DR プログラムに入力として与えるデータの編集をどうするか問題 位置情報などはテキストで管理すると直感的に修正できなくて辛い LibreOffice Draw で編集して odg ファイルから情報を抜き出して使う方法を試してみたらいい感じだった 動機 プログラムに入力として与えるデータを用意したい ゲームのマップ、オブジェクトの配置など アルゴリズムや分析処理、作図ツールの検証に使うデータ etc. ちょっとしたものならプログラム内に直接書いたりテキストデータとして用意したり 「ちょっとした」で済まなくなってくると辛い 位置情報 構造が複雑 データが多い どう辛いか 直感的に編集できない 一度2Dのグラフィックに変換し

                          • テクノロジー
                          • 2021/03/24 11:41
                          • Ruby
                          • Ruby/Racc: パース時のスタックの動きをFlameGraphっぽくビジュアライズする - Qiita

                            3 users

                            qiita.com/sonota88

                            # sample_add.y class Parser rule expr: INT "+" INT { puts "expression found" result = val } end ---- inner def initialize # parser.rb を使ったときにデバッグ情報を出力する @yydebug = true # デバッグ情報の出力先をファイルに変更(デフォルトでは標準エラー出力) …… これは必須ではない @racc_debug_out = File.open("debug.log", "wb") end def next_token @tokens.shift end def parse(src) @tokens = src.split(" ").map do |s| case s when /^\d+$/ then [:INT, s.to_i] else [

                            • テクノロジー
                            • 2021/01/04 10:45
                            • Ruby
                            • JRubyでLibreOffice Calcのfodsファイルを読み書きするサンプル 2021 - Qiita

                              3 users

                              qiita.com/sonota88

                              Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                              • テクノロジー
                              • 2021/01/02 17:13
                              • Ruby/Racc: パースに失敗した位置(行、桁)を得る - Qiita

                                3 users

                                qiita.com/sonota88

                                # parser.y class Parser rule program: "a" "b" "c" "d" ";" { puts "program found" result = val } end ---- header TokenValue = Struct.new(:value, :pos) ---- inner def initialize(src, tokens) @src = src @tokens = tokens end def next_token @tokens.shift end def parse do_parse end def get_lineno_and_range(pos) lineno = 1 line_start = 0 range = nil @src.each_line do |line| next_line_start = line_start +

                                • テクノロジー
                                • 2021/01/01 19:24
                                • Ruby
                                • Ruby+PyCall.rbでLibreOffice Calcのオートメーションをやってみた(Ubuntu 18.04) - Qiita

                                  4 users

                                  qiita.com/sonota88

                                  Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                  • テクノロジー
                                  • 2020/12/20 10:58
                                  • LibreOffice
                                  • Ruby
                                  • あとで読む
                                  • 素朴な自作言語のコンパイラをPythonに移植した(移転済み) - Qiita

                                    3 users

                                    qiita.com/sonota88

                                    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                    • テクノロジー
                                    • 2020/11/10 19:39
                                    • Python

                                    このページはまだ
                                    ブックマークされていません

                                    このページを最初にブックマークしてみませんか?

                                    『qiita.com』の新着エントリーを見る

                                    キーボードショートカット一覧

                                    j次のブックマーク

                                    k前のブックマーク

                                    lあとで読む

                                    eコメント一覧を開く

                                    oページを開く

                                    はてなブックマーク

                                    • 総合
                                    • 一般
                                    • 世の中
                                    • 政治と経済
                                    • 暮らし
                                    • 学び
                                    • テクノロジー
                                    • エンタメ
                                    • アニメとゲーム
                                    • おもしろ
                                    • アプリ・拡張機能
                                    • 開発ブログ
                                    • ヘルプ
                                    • お問い合わせ
                                    • ガイドライン
                                    • 利用規約
                                    • プライバシーポリシー
                                    • 利用者情報の外部送信について
                                    • ガイドライン
                                    • 利用規約
                                    • プライバシーポリシー
                                    • 利用者情報の外部送信について

                                    公式Twitter

                                    • 公式アカウント
                                    • ホットエントリー

                                    はてなのサービス

                                    • はてなブログ
                                    • はてなブログPro
                                    • 人力検索はてな
                                    • はてなブログ タグ
                                    • はてなニュース
                                    • ソレドコ
                                    • App Storeからダウンロード
                                    • Google Playで手に入れよう
                                    Copyright © 2005-2025 Hatena. All Rights Reserved.
                                    設定を変更しましたx