プログラムのデータ形式・実行形式のひとつ。プログラムを実行するランタイム(インタープリタ)での実行速度を向上するために、数値や命令のバイナリ化を行ったもの。バイトコードにすることで、1つのバイナリ(ファイル)でアーキテクチャの異なるコンピュータでも実行できる、個人がスクリプト言語を作る際に、インタープリタと比べ高速な実行が可能で、機械語コンパイラほどの手間をかけずに済むという利点がある。
2024/4/25 https://meguroes.connpass.com/event/311788/ JavaScriptエンジンから見るランタイム shqldさん https://speakerdeck.com/sosukesuzuki/javascriptcoreno-object-dot-groupby-map-dot-groupby-no-hakuwozi-fen-tebao-gao-sitezi-fen-tezhi-su ランタイム 近年ランタイムが増えてきた Cloudflare WorkersとかBunとかWinterJSとか エンジンとランタイム エンジンは言語処理系 v…
8時半ころ起床。 10時から無職もくもく会。一昨日までで、インタプリタの作り方 第2部(Javaでツリーウォークインタプリタを作る)を終えたので、今日からは第3部(C言語でバイトコードインタプリタを作る)をやっていく。5月のRubyKaigi参加までにある程度のところまでやれば、よりKaigiを楽しめる気がしており、無職期間のうちにガっと進めてしまいたい。もちろん、たぶん働き始めても終わらないと思うし、RubyKaigiまでにも終わらないと思うが、それでも進めるだけ進めたい。 なんかエモかったから撮った(記事サムネ用) 今日は六本木方面でイベントに参加する用事がある。昼過ぎくらいから移動して、…
8時30分頃起床。寝起きが悪かった。 10時からもくもく会。ずっと実家の27インチディスプレイでやっていたが、やはり自宅のUWQHDディスプレイの方が画面が広くてうれしい。 4月に入ってからずっと進めていたインタプリタの作り方。第1部で導入、第2部ではツリーウォークインタプリタ、第3部でバイトコードVM型のインタプリタ(?)を実装していくという感じなのだが、今日第2部を終えることが出来た。一息ついて、また第3部へと進んでいきたい。 昼前くらいからなんだか体調が悪くてぐったりしていた。ぐったりしつつ、社会保険や国民年金、5月から入社する企業の各種手続き系を済ませたのでえらい。 夜には体調が戻って…
CRM(Customer Relationship Management)システムの改修に関する次の記述を読んで,設問に答えよ。 C社は,住宅やビルなどのアルミサッシを製造,販売する中堅企業である。取引先の設計・施工会社のニーズにきめ細かく対応するために,自社で開発したCRMシステム(以下,CRMシステムという)を使用している。CRMシステムは,データベースとWebアプリケーションプログラム(以下,Webアプリという)から成り,C社のLAN上にあるPCから利用される。このたび,営業担当者が外出先からスマートフォンやノートPCを用いてCRMシステムを利用できるようにするために,データベースは変更…
はじめに こちらに参加してきました speakerdeck.com メモ さっととったメモというか感想みたいなものを放流 豆知識 Spring Bootの成果物をOpen Libertyの上で実行すると高いスループットを出すこともあるよ。 Jakarta EE 11 Java SE 17が仕様の前提。 Jakarta Data Repositoryの戻り値がJPAのEntityになるみたい? となると3層+ドメインだと、Repositoryからインフラ層で、その中で更にRepositoryという名前のインターフェースでデータ取得をするっていう、名前付け的な意味で結構わかりにくくなりそう。 とい…
Javaの概要 JavaとTypeScriptの比較 Springとは/Spring Bootとの違い Javaの概要 https://qiita.com/KenyaSaitoh/items/22f32b9d7aea5844d77 Javaの言語特性(抜粋) プラットフォーム非依存の言語 Java Virtual Machine JVMとは、LinuxやWindowsといった様々なOSに対応したJavaプログラムの仮想的な実行環境 Javaは、コンパイル型言語の一種である 通常コンパイラによって機械語に一括翻訳し、生成したバイナリファイルを実行することで、プログラムが動作する Javaは機械語…
※本記事は、ChatGPTによる意訳+翻訳を活用し、レイアウト調整したものです。 ※感想は、オリジナルです。 原文 意訳+要約 NodeJSは具体的にどのようにV8エンジンを使っているのですか? ChatGPTへのQA Q:V8エンジンが出る前は、何を使っていたのでしょうか? Q:Node.jsとV8エンジンの人気には、相関関係があるのでしょうか? 感想+雑記 原文 How exactly does NodeJS use the V8 engine? - DEV Community 意訳+要約 NodeJSは具体的にどのようにV8エンジンを使っているのですか? Node.jsは、V8エンジンを…
みなさんこんにちは。エンジニアの佐藤です。今回はAWS製プロセッサGraviton3の強さを再確認した、というお話です。 難しい!今時のEC2インスタンス選び AWS EC2にはさまざまな種類のインスタンスがあります。本稿執筆時点(2024年4月初旬)では、最新世代のCompute Optimizedタイプのインスタンスとして以下の3種類が利用可能です。 種類 プロセッサ 一般利用開始 アーキテクチャ C7g AWS Graviton3 2022-03 arm64 C7i Intel 4th gen Xeon 2023-09 x86_64 C7a AMD 4th gen EPYC 2023-1…
■きっかけ 流石にJREは初歩なので、知っているから調べることないだろと思っていたが、この記事を書いているときに、抽象的にしか知らなかったので興味が出て、調べてみた。 ■JREって何? 「Java Runtime Environment」の略称で、Java 開発キット (JDK) の一部。 Javaアプリケーションプログラムを実行するために必要なランタイム環境を提供するソフトウェアのこと。 これくらいのざっくりした内容は知ってるけど、具体的なことがわからない。 ■具体1 「JRE(Java Runtime Environment)」には、以下が含まれている。 ①Java仮想マシン(JVM) J…
おなじみの画像 JavaやScalaといったJVM言語のDockerイメージは、JVMを同梱しなければならない都合で肥大化しがちである。特に何もしなくても、例えば一般的なamazoncorretto:21のイメージサイズは217.7 MBもある。 hub.docker.com これにさらにビルド済みのJARファイルが載ってくるので、結構大きくなってしまうのだ。 そこで、Scalaのコンテナイメージのサイズをなんとか小さくできないかと、考えた。すると、JVMを使ったまま70 MiBくらいに縮めることができた。 github.com コンテナイメージのサイズを小さくするために、何をしたかを書いてい…
ACSC 2024 Qualsへ参加しました。そのwrite-up記事です。 IDAの解析結果ファイル.i64は、GitHubで公開しています。
【2024.03.29更新】C言語、C++言語、Pascal言語のカテゴリを追加 【2024.03.20更新】MSX-C(MSX公式のC言語コンパイラ) 追加 【2024.03.16更新】zasm(オンライン Z80用 クロスアセンブラ) 追加 【2023.12.05更新】マシン語・C言語による開発・プログラミング系アプリ、MSX BASIC向け開発アプリ 追加 【2022.07.30更新】画像作成・画像変換系アプリを別ページへ移動しました。 【2022.07.30更新】開発・プログラミング系アプリ 追加 ネットで見つけたMSX向け開発関連ツールをまとめました。嬉しいことに最近どんどん増えてき…
はじめに Pythonプログラムをexe化し、さらに難読化することで、プログラムの保護を強化することができます。しかし、その保護が本当に確実なものなのか、デコンパイルに詳しい人の目にとまることが悩みの種です。今回は、その悩みを解決するためのアプローチについてご紹介します。 moun45.hatenablog.com 1. PyInstallerとPython Armorの活用 PyInstallerを使ったexe化 PyInstallerを使用してPythonプログラムをexe化します。これにより、Python環境がなくてもプログラムを実行できる独立した実行ファイルが生成されます。 Pytho…
TL;DR 2024/03/09 ~ 03/14 にかけて行われた Cyber Apocalypse 2024: Hacker Royale の Writeup 記事です QuickScan, MazeOfPower の Rev. 問2つあります ctf.hackthebox.com はじめに 皆さまこんにちは @strinsert1Na という人です。Hack The Box が主催する CTF イベント『Cyber Apocalypse 2024: Hacker Royale』に、Team Enu で参加してきました。 Team Enu はNTTグループの社員で結成されたCTFチームであり…
というブログを書こうとしたら、すでにあった。 Dependency Injectionでやりたいことはモジュールimport - きしだのHatena 依存性の注入って要するにimportなので。 まず、DIコンテナを実装してみるとどういうものかがわかりやすくなります。 このときの結論はこんな感じ。 DIコンテナというのは、Javaのリフレクションやバイトコード操作、ThreadLocalといった、あまり美しくない部分を覆い隠してきれいなコードでアプリケーションを構築するための仕組み 作って理解するDIコンテナ - きしだのHatena 言語機能の補完なので、他の言語で同様に便利とは限らないわ…