並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 196件

新着順 人気順

コンパイルの検索結果1 - 40 件 / 196件

  • ネイティブコンパイルEmacsの登場

    日本時間の2021年4月26日午前3時6分、Emacsのmasterブランチにfeature/native-compブランチがマージされました(コミット:Merge branch ‘feature/native-comp’ into into trunk)。これにより、HEADのEmacsをビルドすると、Native compilation機能を兼ね備えたネイティブコンパイルEmacs、通称Gcc Emacsが使えるようになりました。 ネイティブコンパイルEmacsの機能 # ネイティブコンパイルEmacs(以下、Gcc Emacsと呼びます)は、Andrea Corallo、Luca Nassi、Nicola Mancaの3名によるBringing GNU Emacs to Native Code という論文で詳細が説明されています。 簡単に説明すると、これまでのEmacsは、Elisp

      ネイティブコンパイルEmacsの登場
    • WebAssemblyをWin/Mac/Linuxで実行可能なランタイム「Wasmer 1.0」正式リリース。事前コンパイルによる高速起動やクロスコンパイルなどにも対応

      WebAssemblyをWin/Mac/Linuxで実行可能なランタイム「Wasmer 1.0」正式リリース。事前コンパイルによる高速起動やクロスコンパイルなどにも対応 米Wasmer社はオープンソースのWebAssemblyランタイム「Wasmer 1.0」の正式リリースを発表しました。 Windows、Mac、Linux、FreeBSDに対応。Apple M1チップのMacにも対応します。 Wasmer v1.0.0 released!https://t.co/95zx1K7QAu — Wasmer (@wasmerio) January 5, 2021 WebAssemblyはもともとWebブラウザ上でネイティブコードに近い実行速度で高速に実行できるバイナリフォーマットとして開発され、2019年10月にW3Cの勧告に到達しました。 その後、WebAssemblyをWebブラウザだけで

        WebAssemblyをWin/Mac/Linuxで実行可能なランタイム「Wasmer 1.0」正式リリース。事前コンパイルによる高速起動やクロスコンパイルなどにも対応
      • Nintendo Switch™ ネイティブバイナリへの Go コンパイルを成功させた話

        本記事は「Go Advent Calender」25 日目の投稿です。 Happy Holidays! EDIT (2022-01-03): There is an English version of this article. tl;dr いままでは Go プログラムを Nintendo Switch 上で動かすために WebAssembly に一度変換し、それを C++ に変換してコンパイルするということを行ってきました。今回、 Go の Nintendo Switch 向けネイティブコンパイルに成功し、実際に手元でゲームを動かすことができました。手法として、システムコール呼び出しを C の関数呼び出しに置き換えるように -overlay オプションを指定してビルドしました。また、 -overlay オプションに指定する JSON を生成するパッケージ Hitsumabushi を開

          Nintendo Switch™ ネイティブバイナリへの Go コンパイルを成功させた話
        • Next.js製アプリケーションのコンパイルを約100倍高速化した話

          Next.jsアプリケーションの開発時においてコンパイルが長時間に及ぶ問題が起きていたので、その原因を特定した手法と採用した解決策について記載します。 今回は結果的にコンパイル時間を100倍以上高速化することができました。 前提 今回の対応は以下のバージョンで行いました。 React@18.2.0 next@12.2.4 tailwindcss@3.2.4 postcss@8.4.14 Next.js の開発中に、コンパイル時間が長くなっていることに気づく 最近、Next.jsアプリケーションのローカル開発時に待ち時間が長くて生産性が低いのでなんとかしたい、という相談を受け、調査を開始しました。 まず、おもむろにyarn devでプロセスを立ち上げてみたところ、以下のようなコンパイル時間を示すログが表示されました。 yarn dev yarn run v1.22.19 $ next dev

            Next.js製アプリケーションのコンパイルを約100倍高速化した話
          • 「IBM COBOL for Linux on x86」発表。x86サーバ上のRHELやUbuntu Serverでz/OS互換のCOBOLコンパイルや実行を可能に

            米IBMはx86サーバ上のLinux環境でCOBOL言語のコンパイルや実行を実現する「IBM COBOL for Linux on x86 1.1」を発表しました。 IBM COBOL for Linux on x86 1.1は、「IBM COBOLコンパイラファミリー」の最新製品として、IBM Enterprise COBOL for z/OSおよびIBM COBOL for AIXとの互換性を備えています。 また、Enterprise COBOL for z/OSと同じ最適化技術がIBM COBOL for Linux on x86 1.1に用いられ、コンパイラの基本的なバックエンドも共有されているため、高速な処理が実現できるとのこと。 TXSeriesのマルチプラットフォームに対応。Db2 for Linux/UNIX/Windowsに対応。Db2ファイルシステムはシーケンシャル、イ

              「IBM COBOL for Linux on x86」発表。x86サーバ上のRHELやUbuntu Serverでz/OS互換のCOBOLコンパイルや実行を可能に
            • ブラウザー上でReactやTypeScriptのコードをコンパイルして動かすツールを作った

              通常、ReactやTypeScriptを使って開発する場合は、ローカル環境で開発して、ビルドして、ブラウザーで表示するという流れになります。 ただ、昨今のブラウザーの性能はかなり高くなっており、ES Modulesをうまく使うことで、ノーバンドルでReactやTypeScriptをリアルタイムにブラウザー上で反映させることができるのではないかと考えました。 この案をもとに、何番煎じかわかりませんが、ブラウザー上でリアルタイムにReactやTypeScriptをバンドルするライブラリを作成しました。 以下のようにコードを書くだけで、ブラウザーで実行可能なJavaScriptコードが生成されます。 import { browserBundle } from "browser-bundler"; const code = ` import React from "react"; import R

                ブラウザー上でReactやTypeScriptのコードをコンパイルして動かすツールを作った
              • サーバレスに最適化したJava実行基盤「GraalOS」、オラクルが発表。Javaをネイティブバイナリにコンパイルし瞬時に起動

                オラクルはJavaをサーバレス環境で実行するのに最適化した技術「GraalOS」を発表しました。 同時に、Oracle Cloudのサーバレス実行基盤である「Oracle Cloud Functions」でGraalOSの機能を提供することも発表されました。 Javaをコンパイルし、ネイティブバイナリを実行 GraalOSは名称にOSと付いているものの、LinuxやWindowsのようなOSではなく、Javaをデプロイする新たな技術とその基盤を指します。 具体的には、同社が提供しているJava実行環境である「GraalVM」のコンパイラを用いてJavaをコンパイルしてネイティブバイナリを生成し、それをサーバレス基盤にデプロイし実行することで、サーバレスアプリケーションの瞬時の起動と高速な実行などを実現するというものです。 参考:Javaのネイティブバイナリ生成可能なGraalVMの全機能が

                  サーバレスに最適化したJava実行基盤「GraalOS」、オラクルが発表。Javaをネイティブバイナリにコンパイルし瞬時に起動
                • TypeScriptをコンパイルしてWebAssemblyバイナリに、実現を目指す「TypeScript Compilation SIG」をByteCode Allianceが発表

                  TypeScriptをコンパイルしてWebAssemblyバイナリに、実現を目指す「TypeScript Compilation SIG」をByteCode Allianceが発表 WebAssemblyの普及と発展を目的とするByteCode Allianceは、TypeScriptのコードをコンパイルしてWebAssemblyバイナリを生成できるようにすることを目指すスペシャルインタレストグループ「TypeScript Compilation SIG」を発表しました。 WebAssemblyの仕様策定はW3Cが行っており、ByteCode AllianceはそのWebAssemblyを基盤として、クロスプラットフォーム対応を実現するAPI群のWASI(WebAssembly System Interface)やコンポーネントモデル、ガベージコレクション対応などの拡張、およびそれらの事実

                    TypeScriptをコンパイルしてWebAssemblyバイナリに、実現を目指す「TypeScript Compilation SIG」をByteCode Allianceが発表
                  • Webブラウザーで「Debian」Linuxが動く! WebAssembly製のx86仮想マシン「WebVM」/バイナリそのまま・再コンパイルなし。完全にクライアント側だけで動作

                      Webブラウザーで「Debian」Linuxが動く! WebAssembly製のx86仮想マシン「WebVM」/バイナリそのまま・再コンパイルなし。完全にクライアント側だけで動作
                    • 「Spring Native」ベータ版公開、GraalVMによりSpring FramworkのJava/Kotlinアプリをネイティブイメージにコンパイル。JavaVMに依存せず瞬時に起動可能

                      「Spring Native」ベータ版公開、GraalVMによりSpring FramworkのJava/Kotlinアプリをネイティブイメージにコンパイル。JavaVMに依存せず瞬時に起動可能 Spring Frameworkの開発チームとGraalVMの開発チームは、GraalVMを用いてSpring Frameworkのアプリケーションをネイティブイメージにコンパイルする「Spring Native」がベータ版として公開されたことを発表しました。 Announcing Spring Native Beta! Read the blog post https://t.co/5klXV6kSVB and check out the video for more details. #spring #native #graalvm https://t.co/83pI3vNYEr — Spri

                        「Spring Native」ベータ版公開、GraalVMによりSpring FramworkのJava/Kotlinアプリをネイティブイメージにコンパイル。JavaVMに依存せず瞬時に起動可能
                      • Webブラウザーで動く第4の言語“WebAssembly”はどう凄い? C++もコンパイル……~IIJがアプリケーション分野の革新を振り返る~【IIJ Technical WEEK 2020】

                          Webブラウザーで動く第4の言語“WebAssembly”はどう凄い? C++もコンパイル……~IIJがアプリケーション分野の革新を振り返る~【IIJ Technical WEEK 2020】
                        • コンパイルハートが10月1日から新体制に移行。『魔導物語4(仮)』など新作5タイトルを発表! これからの事業方針についてふたりのトップクリエイターにインタビュー!! | ゲーム・エンタメ最新情報のファミ通.com

                          新体制のふたりの取締役兼プロデューサー ――2023年10月からコンパイルハートの経営体制が変更になったとお聞きしました。まずはおふたりのお仕事の内容についてお話いただけますか? 冨長10月1日付から取締役社長ということで、コンパイルハートのとりまとめをすることになりました。役割としては、開発からマーケ・販売までの全般を見てはいますが、ハイ・コンセプト(チャンスを見出し、新しいモノを生み出す)を決めるというのがおもな仕事となっています。 ――ちなみに、冨長さんが全般的に見ている社内の開発部や制作部といったところには、新体制で何らかの変化はありますか? 冨長開発部はコンパイルハート内製ラインで、制作部は社外の開発さんといっしょに制作するラインですが、そのへんは変わってないですね。 ――なるほど。冨長さんはこれまでどんなお仕事をされてきたのでしょう? 冨長じつはですね、私、広島にあったコンパイ

                            コンパイルハートが10月1日から新体制に移行。『魔導物語4(仮)』など新作5タイトルを発表! これからの事業方針についてふたりのトップクリエイターにインタビュー!! | ゲーム・エンタメ最新情報のファミ通.com
                          • マイクロソフト、「.NET 8」正式リリース、2年ぶりのLTS版。Dynamic PGOによる最適化コンパイル、事前コンパイルのバイナリサイズが半分など、さらなる高速化が前進

                            マイクロソフト、「.NET 8」正式リリース、2年ぶりのLTS版。Dynamic PGOによる最適化コンパイル、事前コンパイルのバイナリサイズが半分など、さらなる高速化が前進 Announcing the availability of .NET 8, the latest LTS version of one of the world’s leading development platforms. With this release, .NET reshapes the way we build intelligent, cloud-native, applications and high-traffic services that scale on demand. https://t.co/WqZkUpJOhN pic.twitter.com/NmARKBd78q — .NET (

                              マイクロソフト、「.NET 8」正式リリース、2年ぶりのLTS版。Dynamic PGOによる最適化コンパイル、事前コンパイルのバイナリサイズが半分など、さらなる高速化が前進
                            • コンパイル技法: パターンマッチ

                              本書では関数型言語をはじめとして多くの言語にあるパターンマッチをコンパイルする方法を紹介します。パターンマッチはシンプルに条件分岐の連鎖にコンパイルすることもできますが、よく研究された手法を使えば驚くほど効率的なコードを生成できるようになります。そのような手法を2種類紹介します。 パターンマッチはデータ型に照合しそのデータを取り出すものです。例えばRustであれば match opt { Some(x) => f(x), None => g()} のように Option 型への照合などに使えます。本書の前半ではパターンマッチの挙動や使い方などを学びます。挙動の確認にはプログラミング言語Standard MLを使い、一部Cのコードも使います。その後Common LispやJavaなどの他の言語でのパターンマッチの状況を確認します。後半ではパターンマッチのコンパイル技法について紹介します。パタ

                                コンパイル技法: パターンマッチ
                              • 新たなサーバサイドJavaScriptランタイム「WinterJS 1.0」正式リリース、WebAssemblyへのコンパイルも可能。Wasmerが開発

                                新たなサーバサイドJavaScriptランタイム「WinterJS 1.0」正式リリース、WebAssemblyへのコンパイルも可能。Wasmerが開発 WebAssemblyランタイム「Wasmer」の開発元として知られているWasmer社は、新しいサーバサイドのJavaScriptランタイム「WinterJS」の正式版となる「WinterJS 1.0」のリリースを発表しました。 ❄️ Introducing WinterJS 1.0 - the fastest WinterCG Javascript runtime in the world powered by Rust and SpiderMonkey ...and #WebAssembly compatible! Now supporting: React Server Components Cloudflare mode 150

                                  新たなサーバサイドJavaScriptランタイム「WinterJS 1.0」正式リリース、WebAssemblyへのコンパイルも可能。Wasmerが開発
                                • マイクロソフト、.NET中間言語をWebAssemblyにコンパイルする「Jiterpreter」をBlazor WebAssemblyに搭載へ、.NET 8で

                                  マイクロソフト、.NET中間言語をWebAssemblyにコンパイルする「Jiterpreter」をBlazor WebAssemblyに搭載へ、.NET 8で マイクロソフトは今年(2023年)11月にリリースが予定されている.NET 8のBlazor WebAssemblyにおいて、.NET中間言語をWebAssemblyに動的にコンパイルすることで、Blazor WebAssemlbyの高速化を実現する機能を備えた「Jiterpreter」を搭載予定であることを明らかにしました。 BlazorはWebAssemblyで.NETランタイムを実装している そもそもBlazor WebAssemblyは、.NETとC#などを用いてWebブラウザ上で実行可能なWebアプリケーションを開発できるフレームワークおよびランタイムです。 一般にWebブラウザはJavaScriptで記述されたコードを

                                    マイクロソフト、.NET中間言語をWebAssemblyにコンパイルする「Jiterpreter」をBlazor WebAssemblyに搭載へ、.NET 8で
                                  • PythonのコードをWebAssemblyにコンパイルする「py2wasm」、Wasmerが発表

                                    PythonコードをWebAssemblyにコンパイルする「py2wasm」がWasmer社から発表された。WebAssembly版CPythonよりも約3倍高速だ。PythonコードをCPythonのAPIコールに変換するトランスパイラがベースになっている。 WebAssemblyランタイムの開発と提供を行っているWasmer社は、PythonのコードをWebAssemblyバイナリにコンパイルする「Py2wasm」を発表しました。 Announcing py2wasm – A #Python to #WebAssembly compiler that speeds up by 3x your Python apps!https://t.co/0v4YLZC7lY — Wasmer (@wasmerio) April 18, 2024 WebAssembly版CPythonよりも3倍高速

                                      PythonのコードをWebAssemblyにコンパイルする「py2wasm」、Wasmerが発表
                                    • 1時間超のTypeScriptコンパイルを数十秒に抑えてみる - Qiita

                                      この記事のソースコード: https://github.com/knjname/2020-09-03_growingtsd TypeScriptプロジェクトのコンパイルが終わらない! こんにちは型に弱いマンです。 CIでTypeScriptプロジェクトのコンパイルが1時間たっても終わらなかったことはありませんか? 私は何度かあります。 TypeScript的に行儀の良い(?)フレームワークを使っている方は、おそらくそういう現象に遭うことは少ないと思います。 行儀の悪い(?)フレームワークをハードに使っている方は、こういうことに遭う確率が高いと思います。 具体的にどういうフレームワークかというと、下記のようにコードで動的に型を紡ぎ出す系のフレームワークですね。 (mobx-state-tree なんかが該当します。) export type ItemDefinitions<D = {}> =

                                        1時間超のTypeScriptコンパイルを数十秒に抑えてみる - Qiita
                                      • LLVM入門 - javascript使いがLLVM(Rust:inkwell)でjavascriptをJITコンパイルするまで

                                        コンパイラ基盤であるLLVMについて、全く知識がない私が、 javascriptソースコードをパースしLLVMでコンパイルできるようになりました。 LLVMの記事は数多くありますが、初心者向けの記事が少なく感じたため、 本記事では、できる限り分かりやすくLLVMについて紹介できる記事を書こうと思います。 ソースコードは、こちらに置いています。 自己紹介 ふだん、javascriptやpythonなどインタプリタ言語を使うエンジニアです。 LLVMについて、全く知識がなかった人間です。 背景 過去に、おもちゃのブラウザ自作をやってみました。 HTMLとCSSを解析し、レンダリングするところを書き、基本的な動作を知ることができました。 HTMLとCSSとくれば、次はJSだと思い、JSを実行するエンジンを書いてみたくなりました。 ただし、WebブラウザのAPIとJS実行エンジンをバインディングす

                                          LLVM入門 - javascript使いがLLVM(Rust:inkwell)でjavascriptをJITコンパイルするまで
                                        • C++ コンパイル時「出力」 ~C++にできないことはない~ - Qiita

                                          これは、 C++ でコンパイル時に出力まで済ませようとした話です。 コンパイラは GCC に限ります。 はじめに もうすぐクリスマスですね! クリスマスにすることといえば……、 そう、コンパイル時処理ですね!! コンパイル時処理 C++ のコンパイル時処理は非常に強力で、様々なことがコンパイル時にできてしまいます。 普通はコンパイル時に決まる定数の計算に使われますが、これを悪用利用してコンパイル時に処理がすべて終わるようなものも書くことができます。 例として、コンパイル時 FizzBuzz を書いてみます。 #include <array> #include <string_view> #include <algorithm> #include <concepts> #include <iostream> template <std::unsigned_integral T> conste

                                            C++ コンパイル時「出力」 ~C++にできないことはない~ - Qiita
                                          • サーバサイドのJavaScriptランタイム「WinterJS」登場。Rustで書かれ、WebAssembyにコンパイル可能なService Workerサーバ

                                            サーバサイドのJavaScriptランタイム「WinterJS」登場。Rustで書かれ、WebAssembyにコンパイル可能なService Workerサーバ WebAssemblyランタイム「Wasmer」の開発元として知られているWasmer社は、新しいサーバサイドのJavaScriptランタイム「WinterJS」を発表しました。 Announcing WinterJS: a blazing-fast Javascript Service Workers server written in Rust powered by SpiderMonkey ❄️https://t.co/kX7jjJj6qv — Wasmer (@wasmerio) October 27, 2023 WinterJSはRustで書かれた高速なService Workerサーバであり、オープンソースとして公開さ

                                              サーバサイドのJavaScriptランタイム「WinterJS」登場。Rustで書かれ、WebAssembyにコンパイル可能なService Workerサーバ
                                            • Red Hatが「Quarkus」の商用サポートを開始。JavaコードをコンパイルしてLinuxバイナリを生成、省メモリ高速起動でコンテナ環境に最適

                                              Red Hatが「Quarkus」の商用サポートを開始。JavaコードをコンパイルしてLinuxバイナリを生成、省メモリ高速起動でコンテナ環境に最適 Red Hatは、Kubernetesなどのコンテナ環境に最適化されたJavaアプリケーション開発と実行のためのフレームワーク「Quarkus」の商用サポート開始を発表しました。 #Quarkus, a #Kubernetes-native #Java runtime, now fully supported by @RedHat. https://t.co/EFzJS5wxDW pic.twitter.com/6gwo5Sq15x — Red Hat Developer (@rhdevelopers) May 28, 2020 Quarkusの最大の特徴は、GraalVMのコンパイラを用いてJavaコードからLinuxのネイティブバイナリを

                                                Red Hatが「Quarkus」の商用サポートを開始。JavaコードをコンパイルしてLinuxバイナリを生成、省メモリ高速起動でコンテナ環境に最適
                                              • Zigで簡単クロスコンパイル 2022 - k0kubun's blog

                                                僕は以下の3つのツールを複数プラットフォーム向けにクロスコンパイルしてバイナリ配布しており、以下のように全て異なる言語で開発している。 Go: sqldef Rust: xremap mruby: mitamae クロスコンパイルに苦労している話をするとZigを使ってみたらいいんじゃないかと言われることがあり、周りでもZigが何となく流行り始めた気がするので、これらのツールに実際自分で使ってみてどうだったかという事例を紹介したい。 Zigとは Zigはそもそもプログラミング言語なのだが、C/C++とのinteropがやりやすい言語なようで、おそらくそれに必要でLLVMベースのC/C++ツールチェインが同梱されていて、しかもそれをDrop-In Replacement for GCC/Clangとして売りにしている。 僕はZig言語そのものにはそれほど興味はないのだが、クロスコンパイラとして

                                                  Zigで簡単クロスコンパイル 2022 - k0kubun's blog
                                                • WebAssemblyへのコンパイルだけに特化した新言語「Onyx」登場

                                                  米Wasmer社が、WebAssemblyへのコンパイルだけに特化した新しいプログラミング言語「Onyx」をブログで紹介しています。 Onyxは(Wasmer社ではなく)Brendan Hansen氏が開発に3年を費やしたプログラミング言語です。 (2023/12/13 お詫びと訂正。当初OnyxをWasmer社が開発したと紹介していましたが、Wasmer社とは直接関係のないBrendan Hansen氏が開発した者でした。お詫びして訂正します。タイトルと本文の一部を修正しました) We're so excited about Onyx . A new programming language which solely compiles to #WebAssembly. Read all about it in our new blogpost:https://t.co/L6yZ9Ls5Q

                                                    WebAssemblyへのコンパイルだけに特化した新言語「Onyx」登場
                                                  • jsエンジンはソースコードをどう実行しているのか〜バイトコード、JITコンパイル〜

                                                    js実行環境であるnodeはV8を使っている jsエンジンはソースコードをどうやって実行しているのか ここからが本題です。jsエンジンの裏側をのぞいてみましょう👀 全体像 下記が基本的な流れ V8って書いてあるけど、下記の基本的な流れはエンジンによらずほとんど同じはず もちろんそれぞれのフェーズで実装の違いは在る。“Optimize & Compile it”の具体的な実装などはエンジンにより異なる Benedikt Meurer; “An Introduction to Speculative Optimization in V8”; jsの面白いところは、ASTから直接コンパイルして実行されるわけでもなく、単純なインタプリタのようにコンパイルを挟まずに実行しているわけでもないところ。それに、なんだか見慣れない”Get feedback”というフェーズさえある……!ここがJIT com

                                                      jsエンジンはソースコードをどう実行しているのか〜バイトコード、JITコンパイル〜
                                                    • 内部モジュールでは TypeScript をコンパイルせずに配る

                                                      主張 現代では、 npm に publish するものを除けば TypeScript をコンパイルして配布する必要はほぼないと考えています。 TypeScript のコンパイルをしない環境、例えば deno や rome を使うと、コンパイルをするというステップが省くことで開発体験が大きく向上する、という肌感があり、ローカル環境ならこのメリットを優先するべきと考えています。 基本的に、ビルドはフロントエンド/サーバーともに配布前の最後の一回だけでいいはず、というのが自分の主張です。 Rome Toolchain Deno - A secure runtime for JavaScript and TypeScript 理由 現代の npm のお作法に従うと TypeScript に依存したものを npm の registry に置くことは、あまりよくないこととされていますが、モノレポ内や特

                                                        内部モジュールでは TypeScript をコンパイルせずに配る
                                                      • C言語がコンパイル~実行されるまで - Qiita

                                                        記事の内容 以下のソースコードがコンパイル~実行されるまでに、何が行われるのかを理解する。 細かいオプションや処理の詳細は追わない。 #include <stdio.h> #define MESSAGE "hello world\n" int main(int argc, char *argv[]) { printf(MESSAGE); return 0; } ]$ uname -rm 3.10.0-957.10.1.el7.x86_64 x86_64 ]$ gcc --version gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36) Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions

                                                          C言語がコンパイル~実行されるまで - Qiita
                                                        • Github ActionsでクロスコンパイルしてGithub Releaseにアップロードする - c-bata web

                                                          追記: GoReleaserのbabarotさんの記事があったので紹介。GoReleaser使ったほうが手軽でよさそう。 Go で書いた CLI ツールのリリースは GoReleaser と GitHub Actions で個人的には決まり | tellme.tokyo 追記: GoReleaserのプロジェクトがGithub Actionを公開したようなのでこちら使ってみるといいかもしれません。 https://github.com/goreleaser/goreleaser-action この前kube-promptのリリースでミスをしてしまいissueが立て続けに2件上がったことがあったのですが、Github Actionsが自分のリポジトリで使えるようになったのでリリースを自動化することにしました。 触ってみてわかったのですが、↓の記事を書いたときとは多くの変更がありました。wor

                                                            Github ActionsでクロスコンパイルしてGithub Releaseにアップロードする - c-bata web
                                                          • ついに実現!実用的なC++20コンパイル時出力 - Qiita

                                                            はじめに 早いもので、今年ももう大晦日です。 大晦日といえば、やることは1つです。 そう、コンパイル時処理ですね!! コンパイル時出力 C++ のコンパイル時処理は非常に強力で、様々なことがコンパイル時にできます。 入力に依存しない計算なら、大抵コンパイル時にしてしまうことができます。 しかし、その結果の出力については実行時に行う必要があり、本当にコンパイル時に処理できているのか分かりにくくなってしまうこともあります。 そこで、なんかこういろいろ頑張ってゴリ押すことで、制限はありますがコンパイル時に出力することができます。 先日公開した記事では、そんなコンパイル時出力について書いています。 コンパイル時出力の改良 この記事の目的は、コンパイル時出力の改良です。 現在のコンパイル時出力は次のような問題点があり、使いやすくはありません。 出力の前後に余計な出力(はみ出たエラーメッセージ)がある

                                                              ついに実現!実用的なC++20コンパイル時出力 - Qiita
                                                            • Goなどでクロスコンパイルしたワンバイナリなソフトウェアを最小工数でdeb/RPMパッケージにしてくれるNFPMが便利 - Copy/Cut/Paste/Hatena

                                                              みなさんはdeb/RPMパッケージを作ったことはありますか? 私はtcpdpのパッケージ作成ではじめて作りました。具体的にはここらへんです。 tcpdpはlibpcapに依存していることもあり、DockerでUbuntu/CentOSの環境を作ってその上でコンパイルして、合わせてdeb/RPMパッケージ化までするようにしています。 本来Goはクロスコンパイルができるので、コンパイルしてできたバイナリをdeb/RPMパッケージにできればいいわけです。 ただ、意外にdeb/RPMパッケージをするための前準備が面倒です。 debパッケージであればcontrolファイルを書かないといけないですし、RPMパッケージであればspecファイルを書く必要があります。それぞれ覚えているほど書く機会はないので毎回ググるはめに。 ビルド方法にもお作法があります。これもあまり覚えていませんがディレクトリ構成などい

                                                                Goなどでクロスコンパイルしたワンバイナリなソフトウェアを最小工数でdeb/RPMパッケージにしてくれるNFPMが便利 - Copy/Cut/Paste/Hatena
                                                              • 14年前の2tchのソースコードをコンパイルできるか?|sonson

                                                                iOSDC2021で14年前にObjective-Cで書かれた2tch(にたち)のコードがコンパイル,実行できるか?というチャレンジをアンカンファレンスとして発表しました.Zoomで開催し,最大100人が参加する事態となり,色々なことが話題になりました. 1.Subversionって知ってますか. 2._synthesizeってなんだよ. 3.あぁ・・・id型で全部よかったんだ・・・・・. 4.Trueじゃなくて,YESね 5.releaseとautorelease 6.ARC?なにそれ,型あんの? 7.Perlって知ってる? 全部,答えられたら,あなたも古参です.また,高校時代に2tchを使ってくれていた@freddiさん が登場し,感涙するなど・・・・.まさにAAなしでは語りきれない盛り上がりになりました(ってか高校時代・・・・・?14年前だと当時高校生でも今30歳だもんね・・・・・)

                                                                  14年前の2tchのソースコードをコンパイルできるか?|sonson
                                                                • Rustとアセンブリで実装された新たなRuby処理系 JITコンパイルをサポートして速く動く「monoruby」

                                                                  Kernel/VM探検隊は、カーネルやVM、およびその他なんでもIT技術の話題ジャンルについて誰でも何でも発表してワイワイ盛り上がろうという会です。monochrome氏は、Ruby処理系「monoruby」について発表しました。 高速な実行が可能なRuby処理系「monoruby」 monochrome氏(以下、monochrome):monochromeといいます。今日は「機械語で書くRuby処理系のその後」ということで、前回の発表のその後を報告いたします。 自己紹介です。monochromeといいます。(スライドを示して)Twitterはこれです。最近、Twitterは治安が悪いので、Mastodonにアカウントを作りました。RustでRubyの処理系を作っています。プログラミング処理系、言語処理系が好きな人の集まりのSlackとか、最近はこの「Zulip」というアプリに移動して、こ

                                                                    Rustとアセンブリで実装された新たなRuby処理系 JITコンパイルをサポートして速く動く「monoruby」
                                                                  • Raspberry Pi 5にPCIe拡張カードを接続する方法まとめ&カーネルコンパイルの手順も詳しく解説

                                                                    「Raspberry Pi 5」はPCI Express(PCIe)接続に対応しており、M.2 SSDを接続して起動ディスクに設定することもできます。「M.2 SSD以外にもPCIe接続の拡張カードなら認識させられるのかな?」と考えて多様な拡張カードを試してみたところ、いくつかの拡張カードを認識させることに成功したので認識させるまでの手順をまとめてみました。 Raspberry Pi 5 – Raspberry Pi https://www.raspberrypi.com/products/raspberry-pi-5/ Raspberry Pi Documentation - The Linux kernel https://www.raspberrypi.com/documentation/computers/linux_kernel.html Home | Raspberry Pi

                                                                      Raspberry Pi 5にPCIe拡張カードを接続する方法まとめ&カーネルコンパイルの手順も詳しく解説
                                                                    • Dart Sass、使ってる?Preprosを使えばコンパイルも楽勝!

                                                                      2020年6月14日 CSS, 便利ツール 最近Sass界隈が賑わっているように感じます。おそらく「Sassを@importから@useに置き換えるための手引き」という記事でDart Sassダートサスの存在を知った方も多いでしょう。今回はそんなDart Sassをザックリと、そして便利なコンパイラー「Prepros」について紹介します。 Dart Sassとは 一口にSassと言っても、実装している言語によって3つに分かれます: Ruby Sass … Ruby製。2019年没。サポートされません。 LibSass … C++製。今一番広く使われている様子。 Dart Sass … Dart製。公式推奨。 ICS MEDIAの池田氏によるアンケートだと、LibSassがだんとつ人気ですね。 ウェブのフロントエンジニアに質問。 Sassのコンパイルに、何を使っていますか? ※Twitter

                                                                        Dart Sass、使ってる?Preprosを使えばコンパイルも楽勝!
                                                                      • 西暦3000年、地球外生命体はlinux kernelをコンパイルできるのか? - Qiita

                                                                        この問いかけにまじめに考えてみる。 ほぼ全てのソースコードってランタイムなりコンパイラとして何かしら別のものに依存しているはずだけど、最終的に行き着くだろうOSとかってそもそもGitHub上に存在するのかなhttps://t.co/KNME92Qcz8 — yuta (@yuta0381) July 18, 2020 TL;DR(要約) RISC-VだったらCPUから作れそう。エミュレータのコード見て自作もできそう。 RISC-Vだったら、多分linux動かすところまで行けるよ! x86とかだったら、動かそうとするけどライブラリ古くて苦しむよ! Linux Kernelだけ見ても、GitHub上にすべての依存する「最新の」コードは存在していない。若干古かったりするので、そこらへんは地球外生命体の人に頑張ってもらうしかない。 前提条件 西暦2500年、地球人類は滅亡した(唐突)。北極には、か

                                                                          西暦3000年、地球外生命体はlinux kernelをコンパイルできるのか? - Qiita
                                                                        • トレイトの実体を捉えれば、Rustへの恐怖は少し減る コンパイルエラーの対処で理解できた言語のコンセプト

                                                                          キャディ株式会社が主催した「Rust完全に理解した(嘘)」。バックエンドエンジニアたちが Rustを習得するまでの苦労や、使ってみたうえでの技術的なメリット・デメリット・課題などについて話しました。ここで登壇したのは、冨田陽介氏。Rustの抽象化プログラミングにおいて発生したコンパイルエラーの対処について発表しました。 自己紹介 冨田陽介氏:私は「コンセプトから理解したいRust(願望)」について紹介したいと思います。 (スライドを示して)自己紹介はザッと流しますが、1つだけ伝えたいことがあるとすると、私自身はこんな感じで、これまでのキャリアから少し離れている領域でRustに携わっているので、自分がチャレンジしたいと言うと、その領域を任せてもらえる会社であるかなと思います。 もしも「キャディという会社に興味があるけれど、Rustをやったことないしなぁ」という感じで迷っている方がいたら、ぜひ

                                                                            トレイトの実体を捉えれば、Rustへの恐怖は少し減る コンパイルエラーの対処で理解できた言語のコンセプト
                                                                          • エディタを VSCode に変えてSASSのコンパイルとライブリロードでサクサク開発 – YATのblog

                                                                            2020年 01月 30日 エディタをVisual Studio Code(VSCode)に変えてSASS(SCSS)のコンパイルとライブリロードでサクサク開発!ショートカットの一覧も カテゴリ: PCツール タグ:エディタ 一時期 VSCode を使うも Atom に戻っていたのですが、 どういうわけか GREP 検索ができなくなってしまい 再び VSCode を使うことにしました。 どうせならプラグインも見直してしっかりメインエディタになるように設定もしたのでそのあたりを書き留めておきます。 Visual Studio Code(VSCode)とは Microsoft が提供しているオープンソースのエディタで、MacOS・Windows・Linux で動作します。 https://code.visualstudio.com/ gulp も webpack も使わずエディタベースでSAS

                                                                              エディタを VSCode に変えてSASSのコンパイルとライブリロードでサクサク開発 – YATのblog
                                                                            • Rustのコンパイルエラーを爆発させる技術 - Qiita

                                                                              こんにちは。コンパイルが一発で成功しないminaminaoです。 突然ですが、皆さんはコンパイルエラー爆発をご存知でしょうか? コンパイラは、私達プログラマーにコードの間違いを指摘し修正を促してくれる良き相棒です。 しかし、特定の条件下でとんでもなく大量のエラーメッセージを出力することがあります。 そのような、コードをコンパイルしたらエラーがべらぼうに出力されてしまう現象のことを、コンパイルエラー爆発と呼ぶことがあります。 コンパイルエラー爆発の遊び 昔から一部プログラマーの間で、コンパイルエラー爆発を使った遊びが行われてきました。 2014年には、C++のコンパイルエラー爆発コンテスト、なんてのも開かれています。 The Grand C++ Error Explosion Competition 2014 このコンテストは、短いサイズで大量のエラーメッセージを出すソースコードを作ることを

                                                                                Rustのコンパイルエラーを爆発させる技術 - Qiita
                                                                              • WebAssemblyを Rubyにコンパイルする 黒魔術コード完全解説

                                                                                組織と技術の両輪で開発を加速させるkintoneチームの取り組み / JJUG CCC 2022 Fall Cybozu kintone

                                                                                  WebAssemblyを Rubyにコンパイルする 黒魔術コード完全解説
                                                                                • ぬん。 on Twitter: "これ、まじ使える!! もっと早く知りたかった。 #linux のコマンドラインからめっちゃ簡単に #Android とかに通知送れるの。 時間かかる計算とかコンパイルしている時に超絶便利。 /Send push notifica… https://t.co/6JZUM3WNth"

                                                                                  これ、まじ使える!! もっと早く知りたかった。 #linux のコマンドラインからめっちゃ簡単に #Android とかに通知送れるの。 時間かかる計算とかコンパイルしている時に超絶便利。 /Send push notifica… https://t.co/6JZUM3WNth

                                                                                    ぬん。 on Twitter: "これ、まじ使える!! もっと早く知りたかった。 #linux のコマンドラインからめっちゃ簡単に #Android とかに通知送れるの。 時間かかる計算とかコンパイルしている時に超絶便利。 /Send push notifica… https://t.co/6JZUM3WNth"