htkymtksのブックマーク (251)

  • RJIT: RubyでRubyのJITコンパイラを書いた - k0kubun's blog

    僕はRustRubyのJITを書く仕事をしているのだが、去年の12月くらいから、趣味ではRubyRubyのJITを書いている。 それまではC言語でコード生成を行なうMJITを5年くらいメンテしていたのだが、先月、Rubyで機械語を直接アセンブルするRJITに差し替えた。 github.com なので、今Rubyのmasterブランチには、会社で業務として開発しているRust製のYJITと、僕が趣味で開発しているRuby製のRJITの2つのJITコンパイラが存在している。余談だが、JITの開発をしすぎてRubyの作者であるまつもとさんのコミット数を最近抜いた。 なぜMJITをやめたのか MJITも結構がんばっていて、去年開発していたRuby 3.2ではMJITのコンパイラの実装をCからRubyにフルスクラッチした上、バックグラウンド処理をpthreadからfork + SIGCHLDで行

    RJIT: RubyでRubyのJITコンパイラを書いた - k0kubun's blog
    htkymtks
    htkymtks 2024/08/01
  • 動物進化の系統樹

    このページを印刷される方はこちらのバージョンをご利用下さい。ブラウザーでは見にくいのですが印刷は鮮明です。 動物進化の系統樹(種の隆盛と衰亡) 生物をどのように分類するのかは難しい問題です。生物の事がより詳しく解ってくるにつれて分類体系は改訂・改変をくりかえしてきた。しかし、今日では分子生物学的な遺伝子解析により進化の道筋を厳密に辿ることができるようになった。そのため科学的根拠を持って分類できるようになり、系統樹はより信頼できるものになりつつある。 今日、生物は 原核生物の(原核生物界)、真核生物の(原生生物界、植物界、菌界、動物界) の5界に分けるのが一般的である。原核生物とは遺伝子が核膜に包まれていない原始的な細胞の生物である。真核生物とは遺伝子が核膜に包まれて高度に機能的に収納されており、細胞内には核以外にミトコンドリア、小胞体、ゴルジ体、葉緑体などの高度な膜構造の器官を持つ細胞でで

    動物進化の系統樹
    htkymtks
    htkymtks 2024/08/01
  • Wi-Fi中継機を2台使って、通信距離をさらに延ばす(WEX-1166DHP3/1166DHP2/1166DHP)

    Wi-Fi中継機を2台使って、通信距離をさらに延ばす(WEX-1166DHP3/1166DHP2/1166DHP)

    Wi-Fi中継機を2台使って、通信距離をさらに延ばす(WEX-1166DHP3/1166DHP2/1166DHP)
    htkymtks
    htkymtks 2024/07/28
  • Practical Scheme

    これはあくまで実装の一例であって、詳細は言語処理系のデザインに任されています。 また、以降の例ではスタックは下方(アドレスの低い方)に伸びるものとします。 まず、C等の手続き型言語におけるスタックフレームの使い方を復習しておきましょう。 次のように、関数Aが関数Bと関数Cを呼び出しているものとします。 int A(int a, ...) { int b, c; B(b); C(c); } int B(int b) { int b1; /* other calculation */ } int C(int c) { int c1; /* other calculation */ } 関数Aが呼ばれた直後のスタックには、保存された呼び出し元のレジスタ、戻りアドレス、 そしてAの引数 (a等) とローカル変数 (b, c) 等が積まれます。スタックポインタ(SP)はスタックの再下端を指し、またフ

    Practical Scheme
    htkymtks
    htkymtks 2024/07/27
    Schemeの実装におけるスタックフレーム(Draft)
  • OS徒然草 (1) - VA Linux エンジニアブログ

    はじめに コンピュータのアーキテクチャ プログラムの構造 あとがき 執筆者 : 小田 逸郎 はじめに 筆者は自分のことを OS 開発者 (OS屋) だと思ってます。最近は、OSにあまり深く関われていないのですが、筆者が若かりし頃に情熱を注いだものであり、筆者の基盤をなしているものであることには間違いないです。 筆者が OS (UNIX) の開発に携わり始めたのは、1986年のことなので、もう40年近く経ってしまいました。その間に OS の規模も随分大きくなってしまったようです。 筆者が始めた頃の UNIX は、デバイスドライバを除くと、20K行くらいだったと記憶しています。 全コードをラインプリンタで出力、コピー、製し、皆で読み合わせて、勉強会をしたりしていました。そんなことができる分量だったのです。 今の Linux の規模はどれくらいでしょうか。筆者たちが「Linuxカーネル 2.6

    OS徒然草 (1) - VA Linux エンジニアブログ
    htkymtks
    htkymtks 2024/07/26
  • 0 1 1 2 3 5 8 13 21 34 55 ... - ESM アジャイル事業部 開発者ブログ

    こんにちは!健康のために1日1万歩の散歩を始めたら、雨に打たれて風邪をひいた@haruguchiです。 RubyKaigi 2024 が終わって早くも2カ月が経とうとしています。私にとってのKaigi Effectはなんだろうと考えると、言語処理系やコンピュータサイエンスといった別のレイヤに興味を持ったことだと思います。特に今年の@tompngさんの発表「Writing Weird Code」ではWeird Codeを書くということの楽しさを感じたり、テストの追加や言語仕様を深く理解するのに役立つことを実感しました。 弊社ではQuine部*1なるものが発足され、熱量十分の状態です。そこで私も業務ではまず書かない Weird Code を書いてみたので紹介します。 ラムダ計算でフィボナッチ数列を出力する ラムダ計算は関数を主体とした計算モデルの一つでチューリング完全であることが知られています

    0 1 1 2 3 5 8 13 21 34 55 ... - ESM アジャイル事業部 開発者ブログ
    htkymtks
    htkymtks 2024/07/25
    Rubyでラムダ計算
  • ラムダ計算入門

    この記事は OPENLOGI Advent Calendar 2023 20日目の記事です。 ラムダ計算 (lambda calculus) は関数型プログラミング言語の基礎となる計算モデルです。計算モデルというと難しそうですが、稿を読む上では「超シンプルなプログラミング言語」くらいに思ってもらえれば十分です。ラムダ計算にはいろいろな拡張や亜種がありますが、ここでは最も純粋なラムダ計算を扱います。このラムダ計算には変数と無名関数と関数の呼び出ししか構成要素がありません。恐るべきことに、数値などのリテラルや四則演算、制御構文などの普通のプログラミング言語が兼ね備えているような機能は直接的には備わっていません。しかし、工夫すると関数だけで全てを表現することができ、その計算能力はチューリングマシン完全であることが知られています。今日はこの面白さを伝えたいと思います。パズルや頭の体操みたいなノリ

    ラムダ計算入門
    htkymtks
    htkymtks 2024/07/25
    ラムダ計算についての解説。分かりやすそう〜
  • 簸上清酒オンラインショップ | 七冠馬・玉鋼 島根県奥出雲にある日本酒蔵元

    一つひとつ丁寧に手作業で仕込んだ島根県産南高梅を氷結させ、島根県産改良雄町を使用した「七冠馬」の純米原酒で漬けた梅酒です。 氷結させた梅を漬け込むことで、凍らせずに梅の実を漬けた場合と比べ、梅のエキスがよく溶けだし、より香り高く熟成した梅酒に仕上がりました。 一切加水していないため、溶け出した梅の芳醇な香りや甘みと「七冠馬」純米原酒の来の旨みと甘みが合わさった香り高く芳醇でまろやかな味わいを、そのままお楽しみいただけます。 ぜひロックやストレート、ソーダ割などでお楽しみください。 七冠馬で漬けた氷結梅酒 500ml【数量限定・Kura Master 2023 梅酒コンクール金賞受賞】価格:1,815円(税込) 商品ページはこちら 商品詳細 分類 リキュール 原材料 純米酒、梅、氷砂糖 アルコール度数 10% サイズ 500ml 付属品 なし 配送方法 通常便(常温) 一つひとつ丁寧に手作

    簸上清酒オンラインショップ | 七冠馬・玉鋼 島根県奥出雲にある日本酒蔵元
    htkymtks
    htkymtks 2024/07/23
  • 【新連載】意外とハードなスポーツ!? メンコ遊び【昔ながらが”今”楽しい!レトロアートレシピ Vol.1】|ウーマンエキサイト

    こんにちは! ものつくりが好きな主婦のやまだそのここと、そんたんママです。 前回は「おうちで季節イベント! お手軽アートレシピ」というコラムで、子どもとつくれるちょっぴりアートな工作をご紹介してきました。 今回は、昔あそびの楽しさを再発見! 親子で楽しめるレトロな工作ネタを、3歳になった息子きーちゃんと一緒にご紹介していきたいと思います。 どうぞお付き合いください! さてレトロなアートレシピ、第1回目はメンコ(面子)です。 おじいちゃんやパパは少年時代に競って遊んだのではないでしょうか。 上の世代と一緒にできるのが昔あそびの良いところ。さっそくつくって勝負しましょう! ■材料をそろえよう 材料は厚紙。牛乳パックやお菓子の空き箱でOK! 道具は円を描くための道具、はさみ、ボンドかテープ、絵を描くペンなどです。

    【新連載】意外とハードなスポーツ!? メンコ遊び【昔ながらが”今”楽しい!レトロアートレシピ Vol.1】|ウーマンエキサイト
    htkymtks
    htkymtks 2024/07/18
  • BASICからマシン語プログラムを呼ぶ|MSXのZ80で何か作る

    ちょっと趣旨を変更していままでの記事では男気あふれるマシン語オンリーの記事でした。 今回はちょっと趣旨を変更して、BASICとマシン語を連携させてみようと思います。少し長めの記事ですが最後まで読んでみてください。 BASICがどのようにメモリ上に配置されるのか知るBASICはインタプリタ言語です。BASICでプログラムを書くとメモリ上に中間言語(BASICでもマシン語でもないコード)としてプログラムのコードが展開されます。例えばRETURN文であれば、8EHとかっていう中間コードになってメモリ上に格納されます。 BASICのプログラムの中間言語は以下の形式で8000Hから格納されていきます。 BASICの中間コードの体系(参考:http://ngs.no.coocan.jp/doc/wiki.cgi/TechHan?page=3%BE%CF+BASIC%A4%CE%C6%E2%C9%F4%

    BASICからマシン語プログラムを呼ぶ|MSXのZ80で何か作る
    htkymtks
    htkymtks 2024/07/17
  • 【開発環境ほか 1-9】C/C++言語で、64bit環境上で動作するプログラムを作る際の技術的な注意点はありますか? | 図研エルミック

    【開発環境ほか 1-9】C/C++言語で、64bit環境上で動作するプログラムを作る際の技術的な注意点はありますか? 注意が必要なケース 一般的な変数の使い方をしている場合は問題になることはありませんが、以下のようなケースでは問題が発生する可能性があります。 通信プロトコルの送受信データやデバイスのレジスタ・アクセス等、データサイズ/位置が厳密に定義されているケースにおいてint/long等のデータモデルによってサイズが変わる型を利用した構造体定義を利用している場合 ポインタ演算をポインタ型以外の変数(int等)を利用してオフセット計算している場合 size_t型などで指定するC標準ライブラリ引数/返却値にint等を利用している場合 64bitバイナリの実行に対応したOS環境 64bitバイナリの実行に対応したOS環境は、一般的には64bitWindows/Linux等があげられ、組込み

    htkymtks
    htkymtks 2024/07/17
  • Fuku Fuku Nyankoコットンリール付きパスケース

    軽くて肌触りの良いキルト素材に、にゃんこの刺繍がポイント♪ ふわっとした生地と淡いカラーで使いやすく、柔らかい雰囲気がかわいいパスケース。 ストラップ付きなので、バッグの持ち手や金具などに付けられます。使う時はそのままコードのリールを伸ばしてタッチができ楽々♪通勤通学時の改札等はもちろん、お店での支払いや、自動販売機での購入時などにも便利です。ファスナー収納付きで、小銭や小物も一緒に入れて持ち歩けます。 三毛のミケランジェロ(アイボリー)・茶トラのチャチャ丸(ベージュ)・ハチワレのハッチ(グレー)の3柄。 同じシリーズのポーチ各種と揃えたり、トートバッグやミニトートの持ち手に付けてお使い頂くのもおすすめです!

    Fuku Fuku Nyankoコットンリール付きパスケース
    htkymtks
    htkymtks 2024/07/14
  • 易しいアセンブリ

    易しいアセンブリ この記事では自作アプリ(CASL2エディタとCOMET2エミュレータ)を用いて,実際にアセンブリ言語の雰囲気を紹介します. 後半では自作アプリの実装周りの紹介をします.最後まで読みましょう. CASL2とCOMET2について CASL2とは,IPA[1]が試験用に作成した仮想のアセンブリ言語です.その仮想言語に対応する仮想コンピュータをCOMET2と言います. COMET2は16ビットマシンで命令数も30程度と少ないです.実用には向いていませんがビット数・命令数ともに少ないため学習するのに向いています. また,仕様[2]も8ページと少ないため,軽い気持ちで学習を始めても怪我をする心配がありません. 自作アプリ CASL2のシミュレータと呼ばれるものは公式や私のような他者含め多くの人が出していますが,今回は私が作成したアプリを利用していきます. ここでは「CASL2シミュレ

    易しいアセンブリ
    htkymtks
    htkymtks 2024/07/11
  • とほほの8ビットアセンブラ入門 - とほほのWWW入門

    JavaScript, PHP, Ruby, Python, Rust, Scala, Go... などいろいろな高級言語がありますが、これらはすべて 機械語(マシン語) で実行されます。Rust, Go などのコンパイル型言語はプログラムが機械語に翻訳(コンパイル)されて実行されます。PHP, Ruby, Python などのインタープリタ型言語はインタープリタがプログラムを実行しますが、インタープリタ自体が機械語に翻訳(コンパイル)されています。 下記が機械語のサンプルです。要は16進数(コンピュータ的には2進数)の羅列です。 1F 0F 48 65 6C 6C 6F 20 57 6F 72 6C 64 21 00 06 02 02 06 03 E8 38 18 00 32 00 32 01 06 01 00 03 00 02 05 03 00 12 02 12 03 15 01 02

    htkymtks
    htkymtks 2024/07/10
  • 45分登壇で75%効率化したMarkdown+生成AIスライド作成術 - Qiita

    KDDIアジャイル開発センターのpiyonakajimaです。 突然ですが、あなたは登壇スライドの作成にどれぐらいの時間をかけていますか? 6/21-22に開催されたScrum Fest Osaka 2024に登壇した際、Markdown+生成AIを活用して登壇スライドを作成しました。その際、45分の登壇資料作成を75%効率化(自分比)できました。 普段からMarkdownで資料を作成している方からすると、これまで時間かけすぎやろ、というツッコミが聞こえてきそうですが、登壇資料の作成時間に悩まれる方は沢山いらっしゃるのではないかと思います。今回はこの時に実施した工夫をお話します。 以下がMarkdown(Marp)と生成AIを使って執筆した45分の登壇資料です。一部PowerPointで作図した過去資料から流用しています。 Marpでは、たとえば以下のようなmarkdownを書くと、 --

    45分登壇で75%効率化したMarkdown+生成AIスライド作成術 - Qiita
    htkymtks
    htkymtks 2024/06/30
  • capybara-readme-ja/README.md at master · willnet/capybara-readme-ja

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    capybara-readme-ja/README.md at master · willnet/capybara-readme-ja
  • モダンジュリでアイアンからマスターに到達するまでにやったこと #ストリートファイター6|_speech_

    格ゲーは過去にやったことはありましたが(当時の強さはスト6だとシルバーぐらい)ストリートファイターは初めてで、アイアンからマスターまでモダンジュリでたどり着きました。 スト6から始めた方に人気のジュリですが、モダンについての情報はあまりないので、助かる人もいるかなと思ってメモしておきます。各ランク帯で詰まっていたポイントや対策したことをリストアップしてみました。 発売後1週間ぐらいから初めて10月にマスターに到達しました。時期によってプレイしているユーザー層は異なるので、同じ攻略でランクを上げられるかはわからないのですが、参考になれば幸いです。 アイアン・ブロンズ詰まったポイント:操作方法が覚えられないボタン多すぎ問題 弱・中・強・SP・アシスト・ドライブインパクト・ドライブパリィ・投げ、クラシックよりは少ないですが、それでも初めてプレイしたときはボタンが多すぎてどれを押したらどの攻撃が出

    モダンジュリでアイアンからマスターに到達するまでにやったこと #ストリートファイター6|_speech_
  • カレーのシミの落とし方|衣料用漂白剤 ワイドハイター|花王

    次に、ワイドハイターEXパワーを 汚れの部分に直塗り。 放置せず、すぐ洗たく機でお洗たくします。 (いつもの洗剤をお使いください。)

    カレーのシミの落とし方|衣料用漂白剤 ワイドハイター|花王
    htkymtks
    htkymtks 2024/06/12
  • モダンルークのとりこれ|桑名

    人気のモダンルークですが、プラチナまで来ると モダンキャラの中でも操作難易度やコンボ難易度は高いと思います。 実戦も積み重ねながらコンボ練習を地道に進めるのが良さそう。 立ち回りも使ってみると意外とリーチが足りなくて難しく感じるかも。 でも慣れてくると強く感じるはず! とりあえずこの武器があればプラチナ3でも戦える! キャラに関係ないものはこっち↓ 立ち回りで使う技サンドブラスト 主要牽制技。 SPボタンで出る中サンドブラストの先端あたりで打つのが強いです。 離れたときは強サンドブラスト。 パリィしてくる人には弱や中をスカしてゲージを消費させたりも。 ただ、波動と同じでこれで倒せるわけではないので 相手を動かしたりする目的で使いたいです。 もちろんドライブゲージ回復に使うのもいいです。 しゃがみ中P(アシスト中) 魔法の中パンチ。 ラッシュを仕込んでおいて置くように振ったり、 先端を当てる

    モダンルークのとりこれ|桑名
    htkymtks
    htkymtks 2024/06/11
  • とりあえず触ってみたい人向けMルークのコンボ|Ryougi

    前提(読み飛ばしてOK)Mルークを自分の頭の整理と、人に教えるときに役立ちそう、という意図からまとめる。こういった記事はいくらでもありそうだが、間違ってなければ同じ情報があってもいいと思うので。 記事の方針としては余計なことは書かず簡潔に説明することを目標にする。 実用性重視で、あまり使わなさそうなコンボは割愛(特に初級コンボ) 筆者はCルーク使いで、Mは少し触った程度。そしてコンボ研究は好きだが、マスターレート1400帯を這ってる程度の実力。ご参考までに。 記事の対象者としては、操作も分からない初心者というほどではないが、中級者と言えるか不安、ぐらいの人を想定して説明する。具体的には、各技の出し方の説明はしないのでトレモのコマンドリストなどで確認できるぐらいの人。わからない用語があれば指摘してもらえば説明を加える。 【どういうキャラか】スタンダードな性能かつ、通常技も必殺技も全て使いやす

    とりあえず触ってみたい人向けMルークのコンボ|Ryougi