正式名称“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 …
こんにちは LOVOT の基盤となるサービスを Go で書いているチームのひとり id:atotto です。 gRPC や Protocol Buffers (以下 protobuf)、と聞くとクラウドサービスで使うマイクロサービス間のメッセージングで活用するイメージが多いかと思います。もちろん、 LOVOTのクラウドサービスで gRPC を活用した開発 をしています。 本稿では、クラウドサービスではなく、 LOVOT 内部のサービス開発においても gRPC 、 protobuf を活用している事例を紹介します! 対象読者: Web APIを設計・実装しているひと 組み込みLinuxのデバイス…
この記事は、Scala Advent Calendar 2023の5日目の記事です。 qiita.com 大遅刻してしまいましたが、Scalaは遅延評価できるのでモーマンタイですね。 この記事では、Scalaをクラウドネイティブな環境で使う例の紹介として、ScalaをJavaScriptコードにトランスパイルしてAWS Lambdaで動作させる方法を紹介します。 愉快な遠足の始まりだ!!! Scalaプラットフォームの発展 Scalaはクラウドネイティブ時代に乗り遅れている?(いえいえ) 想定環境 Scala.jsで快適にLambda関数を書いてみよう 最低限のScala.jsを実装する 設定…
Ubuntu でC言語の開発準備を行いました。 コンパイラ Hello World 表示 コード コンパイル 実行 コンパイラ C言語用のコンパイラである gcc があるか確認します。 $ which gcc /usr/bin/gccバージョンも確認します。 $ gcc --version gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 Copyright (C) 2021 Free Software Foundation, Inc. This is free software; see the source for copying conditions. …
この記事はいろいろなコンピューター Advent Calendar 2023の9日目の記事です。 adventar.org Brainf*ckとは Brainf*ck(この記事では一部伏字にして表記しています)は難解プログラミング言語のひとつです。 コンパイラがなるべく単純になるように設計されており、わずか8種の命令+ - > < [ ] . ,のみが存在する手続き型プログラミング言語です*1。 詳しい言語仕様等はEsolang wikiの記事 brainfuck - Esolang 等を参考にしてください。 仕様は単純ですが、チューリング完全なので、理論上はどんな計算でもすることができます。…
コンピュータ・システム作者:ランダル・ブライアント,デイヴィッド・O・ハラロン,五島正裕,河野健二,南出靖彦丸善出版Amazonコンピュータ・システム プログラマの視点から [ 五島 正裕 ]価格: 17600 円楽天で詳細を見る 2.1.2 データサイズ 2.1.2 データサイズ すべてのコンピュータには、ポインタデータの名目のサイズを示すワードサイズがあります。仮想アドレスがそのようなワードでエンコードされるため、ワードサイズによって決まる最も重要なシステムパラメータは、仮想アドレス空間の最大サイズです。つまり、wビットのワードサイズを持つマシンの場合、仮想アドレスは0から2w - 1まで…
adventar.orgKernel/VM Advent Calendarの何日目かの記事です. このカレンダーは btrfsやext4・XFSなどにも採用されている最先端のファイルシステム技術である delayed allocationを採用しています. したがって人々が本当に記事を書くぞ!となった時に, 随時 allocされるため, 非常に効率がよくなると言われています.さて, Linuxデスクトップ元年と言われた今年2023年もそろそろ終わりそうです. 元年が終わるまでには片付けたいことがあります. そうwaylandへの移行です. 長年のXを片付けて, waylandで新しい気持ちで新…
この記事は競プロ Advent Calendar 2023 の 9 日目の記事として書かれました。 この6年間の話を、まとめる機会がほしいと思って、書かせていただきました。 ↓ これよりも自分語りをすることが目標です。 leaf1415.hatenablog.com 目次 自己紹介 競プロを始める前 高専・情報系に進んだきっかけ 0年目(高専入学後) 1年目 茶色になるまで 緑になるまで この頃の心境 知り合った強い人 2年目 水になるまで 水になってから 3年目 青になるまで 青になってから 4年目 5年目 6年目 黄色になってから 直近の話 まとめ あとがき お知らせ 自己紹介 大阪大学工…
※本記事は、Bardによる意訳+翻訳を活用し、レイアウト調整したものです。 ※感想は、オリジナルです。 原文 意訳+要約 JSDoc:TypeScriptに代わる確かな選択肢 JSDoc とは JSDoc のメリット JSDoc の使用方法 JSDoc を活用する方法 結論 重要な部分 Bardさんに聞いてみた Q:JSDoc ツールには、どんなものがありますか? Q:JSDocは、JavaDocに影響を受けたのでしょうか? Javadoc コメント Q:JSDocがあっても、TypeScriptのメリットを完全にJavaScriptに提供することは不可能だと思いますが、意見を聞かせてください…
10X の Kubernetes おじさん兼娘ちゃん好き好きおじさんこと SRE の @tapih です。 この記事は 10X プロダクトアドベントカレンダー2023 の 8 日目の記事です。昨日は PdM の @enaminnn さんの記事でした。 note.com 本記事では、 2023 年 1 月頃に行っていたインフラコスト削減の施策についての話をご紹介します。 施策を行った背景 Goals / Non Goals Node pool の命名規則 Pod の移行 AOT コンパイル リソース設定 振り返り インスタンスコスト削減 CronJob 実行時間の短縮 リソース使用の安定化 今後…
こんにちは。 メディアサービス開発部 Webアプリケーション開発課のフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるバックエンド方面のテックリードとして働いています。 本記事では、GitHub Actions上で実行するRailsアプリケーションの自動テストの所要時間を、parallel_tests gemとGitHub Actionsのmatrix、ruby/setup-rubyアクションによるgemのキャッシュを併用して短縮し、爆速CIを実現する方法についてお話します。 CIで実行する自動テストの…
堀江さんが、仕事でchatgptを活用してるらしいので、 私も、どんなものかやってみました。 Q:カレーのレシピ教えてください。 A: もちろんです!以下は基本的なカレーのレシピです。これは一般的なものであり、好みに応じてアレンジすることができます。 基本のカレーのレシピ 材料: 牛肉または鶏肉(好みに応じて選んでください):約500g 玉ねぎ:2個(みじん切り) にんにく:2〜3片(みじん切り) しょうが:1片(みじん切り) じゃがいも:2個(大きめのサイズ、食べやすく切る) 人参:1本(食べやすく切る) カレールウ:適量(市販のルウを使っても、自家製のルウを使っても良いです) トマト:2個…
Bing Image Creatorによって作成 :蓑輪博之 はじめに フリップフロップ RS型フリップフロップ JK型、T型、D型フリップフロップ レジㇲタ レジㇲタの仕組み 種々のレジㇲタ レジㇲタの役割 プログラミング 種々のプログラミング言語 プログラミング言語の特徴 Java及びPython C言語及びアセンブラ 環境構築 プライバㇱー及びセキュリティ Gmail暗号技術の數学的説明 Gmail に関した暗号 RSA暗号の仕組み 耐量子計算機暗号 自動運転におけるㇳロッコ問題の解決策 ㇳロッコ問題とは 免責の要件 第1 第2 第3 第4 第5 最後に 終わりに はじめに コンピュータ…
気合いで実装、どうもかわしんです。 この記事は Rust Advent Calendar 2023 の6日目 兼 情報検索・検索技術 Advent Calendar 2023 の 6 日目です。 Rust で SQLite をフルスクラッチで実装しています。 github.com なぜ SQLite を Rust で再実装しようと思ったのかについては以前の記事で紹介しています。一言で言えば、誰も Rust で SQLite を書いている人がいなかったからやってみたのですが、そもそも SQLite が強すぎるということが再実装しているうちにわかってきて絶望しています。 kawasin73.hat…
京都に行ってきました。 Go Conference mini 2023 Winter IN KYOTO kyotogo.connpass.com すでに、ne-sachirouさんによりスライド資料などが集められています。感謝! scrapbox.io 「miniとは?」となるGoで濃縮された1日になりました。運営の皆様、本当にありがとうございました! 私はと言うと、登壇はしたものの完全にカンファレンスを楽しんでいました。 本編 以下、一言感想です。 Deep dive into log/slog package 既に使ってはいましたが、実装は特にみていませんでした。普通に使えるイメージ。 「…
C言語とJavaをちょっと齧ろうと思って VScodeを導入しました。というか知らないうちに入れてた。だけどZIPファイルのまま解凍してなかった。そんなことある? 書いて、それを実行するためのファイルにする必要があるんですよね、知らんけど よくわからなかったので参考サイトをブックマークとして残しておこうと思います qiita.com 何も考えずに↑の10番のところにある拡張機能をインストールしました yamaccu.github.io で、実行したら これがデバッグってやつ!? 最初見た時なんのエラーかわからなかったんですけど『int入ってないよ』ってことですよね? 違うわ『voidじゃなくて…