正式名称“Compiler”。 アフタヌーンにて連載されていた、麻宮騎亜の漫画。 宇宙から落ちてきた女性たちが騒動を起こし続ける、SFギャグ漫画。 キャラクターが二頭身になったり、麻雀バトル繰り広げたり、やりたいほーだい。 さりげなくOVA化もされている。 主人公を変更した「Assembler 0X」という続編なんぞもある。
コンパイラ (1) (講談社漫画文庫)
Compiler 陰の章&陽の章&Festa&Music clips In Trackdown [DVD]
【compiler】コンパイルを行うソフトウェア。
はじめに string と byte のキャスト最適化 1. map のキー指定のためのキャスト 2. string を byte 毎に処理するためのキャスト 3. 比較のためのキャスト memclr による配列ゼロクリア最適化 ガベージコレクションのマークスキャン回避 おわりに 参考文献 はじめに SRE の izzii (𝕏: @ahneahneahne) です。今回をもって「Go コンパイラのお勉強」と題した連載ブログが完結です!仕事の話とは直接関係がないネタだったので、書く内容に悩むということはなく気持ちよくかけました。さて、今回は「配列の効率的な利用」と題して golang/go C…
はじめに インライン展開 インライン展開とは 高階関数のパフォーマンスが落ちる例 インライン展開の制約 エスケープ解析 エスケープ解析とは 高階関数のパフォーマンスが落ちる例 さいごに 参考文献 はじめに 先々月にも Go コンパイラの最適化に関するブログ記事を書いたのですが、多くのブックマークを頂けて感謝です! SRE の izzii です。 github.com 上のドキュメントを参考にしつつ Go コンパイラの最適化に関する記事を連載していきます。本記事は 2 本目です。 [第 1 回] Goコンパイラのお勉強(1)~ゼロ幅の型によるメモリ利用の最適化と未定義動作~ [本記事] Goコン…
はじめに メモリアロケーションの回避 ゼロ幅の型(=ゼロサイズの型)とは アドレスの同一性に関する未定義動作 この最適化が有効な場面 1. map 2. chan 3. interface の実装 おわりに 参考文献 はじめに こんにちは。SRE の izzii です。 最近は某フィットネスゲームが習慣だったり、ボルダリングを再開したり、登山シーズンが到来したりと心身ともに調子が良いです。 さてつい先日、Go のコンパイラによる最適化について勉強したまとめを社内で共有したところ、メンバーが面白がってくれたため、細かいところを自分の手で触ってみたり、Go Forum で質問を投稿したりした上で記…
Qiita に書きました。 qiita.com
かんたんな自作言語のコンパイラをいろんな言語で書いてみるシリーズ 24番目の言語は V(V言語、vlang) です。 V を触り始めて1週間くらいの人が、理解は後回しにしてとにかく動くものを作るぞ、という方向性で書いたもの(そのくらいのノリで気軽に書けるコンパイラです)。 V のバージョンは 0.3.3(weekly.2023.14)。 できたもの github.com 動かし方の例 $ echo ' func add(a, b) { return a + b; } func main() { call add(1, 2); } ' | bin/mrcl_lexer | bin/mrcl_pa…
※初歩的な勘違いをしていたのでメモ 次のコードは動かない といってもリンクができないだけで分割コンパイルはできる(できてしまう) #pragma once namespace Hoge{ typedef float hoge; hoge setHoge(); void getHoge(hoge value); }; #include <iostream> #include "hoge.hpp" using namespace std; using namespace Hoge; hoge setHoge(){ return ((hoge)10); } void getHoge(hoge val…
インライン展開 関数の呼び出しは呼び出し時と戻り時のジャンプでコストがかかる。基本的にコンパイラーは前後の文脈からある程度最適化してくれる。C#にはないが、.NETでは属性を指定することでインライン展開を指定できる。 [MethodImpl(enum MethodImplOptions) void Somethind(){}
作詞:有森聡美 作曲:大平勉 編曲:大平勉歌:Drink みんなで歩き出そう 夢 膨らむ未来へと 今すぐにも くじけそうな時も 一人じゃないからきっと がんばれるよ キラキラの夢を 持ち寄って集まろう ジグソーパズルより ゴールときめくはずさ Let's doing 一人より二人 (もっと もっと 膨らませて) Let's doing 二人よりみんな (もっと もっと 大きな夢) 信じるハートがパワーだね どんな着飾っても 夢に夢中の時には かなわないね すごく大人びたり とても綺麗に見えるの 不思議なほど それは その胸に輝く ダイヤモンド そう、その夢達が 光り続けているから Let's …
環境構築の部分を一応メモ。【2/3】 前回 hitkoto.hatenablog.com NVIDIA GPUドライバー 以下手順にてインストール # gcc make のインストール sudo yum install gcc make sudo yum update -y gcc --version make --version # 不足しているカーネルモジュールのインストール sudo dnf install kernel-modules-extra.x86_64 # インスタンスを再起動 sudo reboot # 再起動後にSSH接続、実行中カーネルのバージョン用の gcc コンパイラ…
使えるライブラリは下のファイルから取ってきた。 github.com 日本語の不自然な点やクレートの説明で間違っている点などがあったらコメントやDMでぜひ教えてください。 ac-library-rs ac_library - Rust C++のAtCoder LibraryのRust版。 セグ木に関数ではなく型を渡すなど細かいところが違って、初めに使ったときは戸惑った。いつか使い方をブログに書く。 once_cell once_cell - Rust 一回しか初期化されない値に使うらしい。Javaでいうシングルトン的な? 同じような機能が標準ライブラリに追加されたそうなので、AtCoderのR…
こんにちは,めぶきぶです.この記事は,大学院生の春休みに就活をほったらかして作成した,自作CPUに自作OSを実装する,その記録になります. タイトルは「RISC-Vベースの自作CPUに自作OSを実装(helloコマンドしかできない)」ですが,もう少し詳しく説明すると,「RISC-VとChiselで学ぶ はじめてのCPU自作」の内容をVerilogに移植し,「Writing an OS in 1,000 lines」という記事中のhelloコマンドまでを,移植したCPU上で動作させるという意味です.完全に自作というわけではないです. 1.完成したもの 2.システムの全体像 2.1.FPGAボード…
試作したRL78/G16のCPUボードのスタートアップ処理です。 以下の資料を参考にしています。 資料1*1、資料2*2、資料3*3、資料4*4、資料5*5 スタートアップ処理 オプションバイトの設定 RAM領域の初期化 変数初期値のコピー 開発ツールの設定 CC-RL ビルドツールの設定 E2 Liteデバックツールの設定 スタートアッププログラム ファイル一覧 ダウンロード後の状態 その他 メモリマップ(デバックモニタあり) ミラー領域 起動時にフラッシュROMを消去する (E2 Lite設定) プロジェクトの作成法 スタートアップ処理 CS+の新規プロジェクト作成でスタートアッププログラ…
概要 Optimal BizのWindows AgentはながらくVisual Studio 2005とVisual Studio 2015を併用してビルドする必要がありました。Visual Studio 2015化対応は2012年のVisual Studio 2012化対応からスタートしていましたが、対応範囲の大きさからモジュールごとにVisual Studio 2015化対応を行ってきました。そして2024年リリースのBiz 9.19.0にてVisual Studio 2015化対応は完了を迎えました。 しかし、埋め込まれたバグの修正にはCOMの理解が不可欠であったため、2020年代に突入…
昨日、一週間くらい悩まされていたデバッグをやっと片付けた。 なんかいろいろなタイプのミスをしていて、頭を抱えること数度。最後は予想外の、コンパイラ依存の問題だったりした。ここからやっと、本来のアルゴリズムの問題に取り組める。時間が足りない....少し気持ちの余裕ができたので、夜ジョギング 4.2 km。 なんか脚が細くなった気がする、悪い意味で。案の定、筋肉痛になりそうな感じ。走れる状態に戻すまで大変そう。
先日、博士(情報学)になりました。学部と大学院をあわせた 9 年間で読んだ情報科学関連の教科書・専門書を思い出を振り返りつつここにまとめます。私は授業はあまり聞かずに独学するタイプだったので、ここに挙げた書籍を通読すれば、大学に通わなくてもおおよそ情報学博士ほどの知識は身につくものと思われます。ただし、特に大学院で重要となる論文を読み書きすることについては本稿には含めておりません。それらについては論文読みの日課についてや論文の書き方などを参考にしてください。 joisino.hatenablog.com 凡例:(半端)とは、数章だけ読んだ場合か、最後まで読んだものの理解が浅く、今となっては薄ぼ…
概要:C言語の開発環境はとっても簡単に構築できた コンパイラのgccとデバッガのgdb VSCodeの拡張機能 簡単なCを書く VSCodeからビルドとデバッグ Mac環境なら 概要:C言語の開発環境はとっても簡単に構築できた 今までCを始めるのは準備が大変そうだと思い込んでいたが、実は簡単だったお話。 ただし、windows環境ですでにVSCode、WSL2にUbuntuはある前提。 コンパイラのgccとデバッガのgdb コンパイラのgccはUbuntuに入ってるはず。 このままの状態ではコンパイルできない。自環境でもできなかった。 デバッガのgdbをインストールする。 とりあえずならgdb…
いろいろありエンジニアっぽい副業探してます。よろしくお願いします。 希望 時給1000円~ タイミーのコンビニバイトがこれくらいだった フルリモートワーク 京都にいるので近辺なら出社できますが... 平日の朝/夜、または土日の勤務 日中10:00~19:00は本職なので 週2~3だと嬉しいです 単発でも全然OKです やれること バックエンドWebアプリ開発 Perlで定型なWebアプリケーションをそこそこ早くつくれます GraphQLのresolverもかける golangもある程度かけます TypeScriptはサーバーサイドっぽいのは書いたこと無いですが可能です RubyやPHPは多少助走…
経緯 & 概要 勉強の経緯 技術選定 開発中の一コマ Jest yarn とは ChatGPT TypeScript yarn buildで何をしているか github pages について そもそも yarn deploy で何をしているのか VSCodeからの拡張機能の提案 (Rainbow CSV) クラウド版 VSCode Github Copilot Chat ホスティングサービス選定 Github Pages Windowsの Powershell で yarn 一応 github pagesの始め方 npx Jestの始め方 jsdom と node 所要時間 経緯 & 概要 私…
この記事では、libucl を自前の C++ プログラムで使用する方法を記述します。 はじめに:libucl とは インストール Arch Linux の場合 本家 GitHub から取得する場合 プログラムへの取り込み CMake を使っている場合 g++ を使用してコンパイルする場合 プログラム内での使用方法 公式の例 ファイルからの読み込み 値の参照 同一キーは配列として扱う 入れ子構造 出力 "key": "value" の追加 その他 はじめに:libucl とは libucl は、UCL: Universal Configuration Language (和訳すれば汎用設定言語)…
はじめに こんにちは!テクニカルサポート課の蓑星です。 突然ですが、皆さんは Python は好きですか?私は大好きです! 弊社の製品「LANSCOPE EM クラウド版」では、Scala をメインのプログラミング言語として採用していますが、作業用スクリプトや業務支援ツールに Python を活用しています。 特に開発規模が大きくなってくると、「型」に関して悩むことは多いと思います。 Python の型の扱い方をおさらいしながら、改めて「Pythonを選ぶ理由」について見直していきたいと思います。 はじめに Python は「動的型付き言語」 動的型付け vs 静的型付け それでも Pytho…
Rust は人気なプログラミング言語である。 しかしながら今は Rust は Plan 9 での実行をサポートしていない。 doc.rust-lang.org したがって Plan 9 で Rust で書かれたプログラムを実行するには、コンパイラを移植するといった大変な作業が必要かと思っていた。しかしながら Wasm を使うことで、特に苦労なく実行することができたので紹介する。 この試みは id:lufiabb が Plan 9 でも Rust を動かせるようにしようと言っていたがきっかけである。 環境 Ubuntu 23.10 がインストールされた AMD64 マシン上で作業している。Pla…
先週、Typstの新しいバージョンである0.11.0版[2024-03-15]がリリースされた。この版ではintrospection周りの機能に大きな仕様変更が行われている1。 このレベルの仕様変更は久しぶり2であるが、ただしChangeLogの情報を見るとわかるように、Typstでは各回の改版において何らかの細かい非互換的変更(breaking change)が行われることが多い。Typstはまだ新しいベータ版のソフトウェアであるため、今のところは「ソフトウェアも仕様の知識も常に最新のものに更新していく」という雰囲気が強く感じられる。しかしTypstの普及がもっと進めば、パッケージ開発者の側…
Rebuildfm聴いてたらNVIDIAの決算の話題があり、GPUそのものだけでなくサポートやコミュニティがあるので強い。的な話をされており気になったのでソフトウェア開発やコミュニティなどNVIDIA製GPUの周辺事情について調べてみました。 rebuild.fm NVIDIAの提供するソフトウェア CUDA 2006年からCUDAというコンパイラやライブラリを含んだCPUプログラミングの開発プラットフォームを提供しておりここに依存したエコシステムが出来上がっているようです。物理的にGPUを開発しても付随するソフトウェアがないと開発ができないのでCUDAを開発していることはかなり強みということ…