並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 240件

新着順 人気順

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

  • コンパイルエラーやランタイムエラーを直していくだけでiOSアプリの作り方がわかるプロジェクト - Qiita

    を作りました。 takasek/MokuMokuNotes_iOS: Quest based learning tool for writing a basic iOS app https://github.com/takasek/MokuMokuNotes_iOS モチベーション 元々、 Androidエンジニアの@callipanが、私のAndroid入門のためにわざわざ コンパイルエラーやランタイムエラーを直していくだけでAndroidアプリの作り方がわかるプロジェクト を用意してくれたんですが、それがとても楽しかったのでiOS版を作りました。 (2018/5/12追記) インスパイヤ元であるAndroid版も、パワーアップして公開されました! panpanini/MokuMokuNotes_Android: Quest based learning tool for writing

      コンパイルエラーやランタイムエラーを直していくだけでiOSアプリの作り方がわかるプロジェクト - Qiita
    • 13年前にプログラムした「オセロを作りなさい」という課題でノリノリで作ったゲームをコンパイルしたら動いた!→「草生える」「もはやオセロではない」「愛がある」 - Togetter

      林 要一 @YouichiTacosMk2 13年前プログラムをコンパイルしたら動いたwww『オセロ作りなさい』って言われてサウンド専攻の奴とノリノリで作ったやつwww #学生作品 #C言語 #gamedev #ゲーム開発 pic.twitter.com/Fme7VbhUG8 2019-04-21 16:12:25

        13年前にプログラムした「オセロを作りなさい」という課題でノリノリで作ったゲームをコンパイルしたら動いた!→「草生える」「もはやオセロではない」「愛がある」 - Togetter
      • ネイティブコンパイル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 コンパイルを成功させた話

            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 コンパイルを成功させた話
            • PythonインタプリタをWebAssemblyへコンパイル、Webブラウザで稼働するPython環境「Pyodide」。Mozillaが開発中

              Mozillaは、WebブラウザでPythonインタプリタや数値計算ライブラリのNumPyなど、Pythonの標準的なデータサイエンス環境をほぼそのまま実行可能にする「Pyodide」(パイオダイドと発音されているようです)を開発中です。 Mozilla Hacksのブログに投稿された記事「Pyodide: Bringing the scientific Python stack to the browser」で、このPyodideの詳細と現状が報告されています。 Pyodideは、データサイエンス環境をWebブラウザ上で実現しようというMozillaのプロジェクト「Iodide(アイオダイド、と発音されているようです)の関連プロジェクト。 Pyodideの最大の特徴は、標準のPythonインタプリタのフル機能をWebブラウザ上で実現しようとしている点にあります。下記はブログから。 Pyo

                PythonインタプリタをWebAssemblyへコンパイル、Webブラウザで稼働するPython環境「Pyodide」。Mozillaが開発中
              • 「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コンパイルや実行を可能に
                • PostgreSQL 11が正式リリース。ハッシュパーティショニングやJITコンパイルによる高速化、ストアドプロシージャでのトランザクションサポートなど

                  PostgreSQL 11が正式リリース。ハッシュパーティショニングやJITコンパイルによる高速化、ストアドプロシージャでのトランザクションサポートなど 発表文ではPostgreSQL 11の主な新機能を次のように説明しています。 PostgreSQL 11 provides users with improvements to overall performance of the database system, with specific enhancements associated with very large databases and high computational workloads. Further, PostgreSQL 11 makes significant improvements to the table partitioning system, adds

                    PostgreSQL 11が正式リリース。ハッシュパーティショニングやJITコンパイルによる高速化、ストアドプロシージャでのトランザクションサポートなど
                  • Webブラウザーで「Debian」Linuxが動く! WebAssembly製のx86仮想マシン「WebVM」/バイナリそのまま・再コンパイルなし。完全にクライアント側だけで動作

                      Webブラウザーで「Debian」Linuxが動く! WebAssembly製のx86仮想マシン「WebVM」/バイナリそのまま・再コンパイルなし。完全にクライアント側だけで動作
                    • Webブラウザーで動く第4の言語“WebAssembly”はどう凄い? C++もコンパイル……~IIJがアプリケーション分野の革新を振り返る~【IIJ Technical WEEK 2020】

                        Webブラウザーで動く第4の言語“WebAssembly”はどう凄い? C++もコンパイル……~IIJがアプリケーション分野の革新を振り返る~【IIJ Technical WEEK 2020】
                      • 「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に依存せず瞬時に起動可能
                        • コンパイル技法: パターンマッチ

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

                            コンパイル技法: パターンマッチ
                          • 次世代Angularレンダリングエンジン「Ivy」発表、さらに小型化し高速になる実行とコンパイル。ng-conf 2018

                            そしてAngular開発チームは1日に数回、Angularのアップデートされたコードをリポジトリにプッシュしており、そのコードは必ずこの600種類以上のアプリケーションのテストをパスする必要があるとのこと。 そのため、もしもAngularのコードに互換性のないものが含まれていた場合、サービスの管理者からはコードのロールバック要求が出されるだろうと、Angular Framework LeadのMisko Hevery氏は説明します。 Ivyの重要なコンセプトが「ローカリティ」 Ivyの重要なコンセプトが「ローカリティ」です。ローカリティによる具体的なメリットは、例えばテンプレートを1つ変更した場合、現在は全体をコンパイルする必要がありますが、Ivyではそのファイルだけをコンパイルし直せばよい、というもの。 これによって、例えばnpmは事前コンパイル(AOT)されたコードの状態で提供可能にな

                              次世代Angularレンダリングエンジン「Ivy」発表、さらに小型化し高速になる実行とコンパイル。ng-conf 2018
                            • 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コンパイルするまで
                                • 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
                                    • 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
                                            • 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|note

                                                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|note
                                                • 西暦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
                                                  • Dart Sass、使ってる?Preprosを使えばコンパイルも楽勝!

                                                    2020年6月15日 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を使えばコンパイルも楽勝!
                                                    • エディタを 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
                                                        • トレイトの実体を捉えれば、Rustへの恐怖は少し減る コンパイルエラーの対処で理解できた言語のコンセプト

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

                                                            トレイトの実体を捉えれば、Rustへの恐怖は少し減る コンパイルエラーの対処で理解できた言語のコンセプト
                                                          • ぬん。 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"
                                                            • WebAssemblyを Rubyにコンパイルする 黒魔術コード完全解説

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

                                                                WebAssemblyを Rubyにコンパイルする 黒魔術コード完全解説
                                                              • JavaScriptエンジン「V8 release v6.5」リリース。WebAssemblyバイナリをダウンロードと並行してコンパイル、ダウンロード完了とほぼ同時にコンパイルも完了

                                                                JavaScriptエンジン「V8 release v6.5」リリース。WebAssemblyバイナリをダウンロードと並行してコンパイル、ダウンロード完了とほぼ同時にコンパイルも完了 GoogleのChromeブラウザで使われているJavaScriptエンジンの最新版「V8 release v6.5」のリリースが発表されました。 V8 release v6.5の最大の特徴は、WebAssemblyの「Streaming Compilation」(ストリーミングコンパイレーション)を実現したことです。 ダウンロードとコンパイルを並行して行うStreaming Compilation WebAssemblyは、Webブラウザ上でネイティブコード並に高速実行が可能なバイナリフォーマット。Webブラウザにダウンロードした後でネイティブコードにコンパイルされ、実行されるというものです。 通常のコンパ

                                                                  JavaScriptエンジン「V8 release v6.5」リリース。WebAssemblyバイナリをダウンロードと並行してコンパイル、ダウンロード完了とほぼ同時にコンパイルも完了
                                                                • モダンなC++におけるコンパイル時間削減のテクニック (第2弾) - Qiita

                                                                  はじめに まさかの第2弾です。 前回の記事が好評だったため、今回は少し違った視点からコンパイル時間の削減についての話をさせていただこうと思います。 C++17も普及してきたようで、C++の構文はますます複雑化しています。テンプレートを使用したテクニックやconstexprの需要の増加に伴い、ヘッダオンリーのライブラリの増加、コンパイル時処理の増加が見られるようになりました。 しかしそれと反比例して、C++のコンパイル時間は増大していきます。 一つの翻訳単位でもコンパイル時間が数十秒、あるいは数分に及ぶことさえあり、さらにコンパイル中のメモリ消費量も問題になってきます。 あるヘッダオンリーライブラリを利用した時は、たった一つの翻訳単位でメモリの6割を消費してしまいました。 前回の記事では、主にソースコードに工夫を加えることによってコンパイル時間を削減する方法を紹介してきました。なので今回は、

                                                                    モダンなC++におけるコンパイル時間削減のテクニック (第2弾) - Qiita
                                                                  • Sassのモダンなコンパイル環境が3分で作れるParcel入門 - 独自設定ファイルは不要 - ICS MEDIA

                                                                    ウェブ開発ではSass、TypeScriptなどの言語のコンパイルや、出力ファイルの最適化、ローカルサーバーの起動などさまざまな作業が求められます。現在は、それらの作業を自動化するwebpackやGulp.jsがよく使われています。 webpackにはwebpack.config.js、Gulp.jsにはgulpfile.jsという設定ファイルがそれぞれ必要で、両ツールともその使用方法を覚える学習コストがあります。 Parcelパーセルというツールを使うと、webpackやGulp.jsのような独自の設定ファイルを使うことなく、各種言語のコンパイルやバンドルができるようになります。バンドルとは、複数のファイルを1つにまとめることを指します。Parcelとは、設定ファイルが不要で高速なウェブアプリケーションのバンドルツール。次のようなことが可能です。 Sassのコンパイル Autoprefi

                                                                      Sassのモダンなコンパイル環境が3分で作れるParcel入門 - 独自設定ファイルは不要 - ICS MEDIA
                                                                    • JavaScriptエンジンのV8、WebAssemblyのコンパイル済みモジュールをキャッシュすることで2度目の訪問からは即実行可能に。V8 r7.5で

                                                                      JavaScriptエンジン「V8」の開発チームは、現在ベータ版のChrome 75に搭載予定の最新バージョン「V8 release v7.5」(以下V8 r7.5)のリリースを発表しました。 V8 r7.5では、コンパイル済みのWebAssemblyモジュールをキャッシュすることで、Webページを採用したときには再コンパイルなしで即実行できるようになったと説明されています。 We are planning to roll out implicit caching of WebAssembly compilation artifacts in Chrome 75. This means users that visit the same page a second time don’t need to compile the already-seen WebAssembly modules

                                                                        JavaScriptエンジンのV8、WebAssemblyのコンパイル済みモジュールをキャッシュすることで2度目の訪問からは即実行可能に。V8 r7.5で
                                                                      • GraalVMでRust動かしたりレイトレをネイティブコンパイルしたり - きしだのHatena

                                                                        GraalVMが正式にリリースされました。結構話題になってますね。 GraalVMは、JavaベースJITとAoT、そしてASTエンジンTruffleの複合体です。(かな?) GraalVM ということで、Rust動かしたりJavaで書いたレイトレコードをネイティブコンパイルしたりしてみました。 Hyper-VでUbuntuを用意する ほんとはWindows Subsystem of Linux(WSL)でやりたかったのだけど、WSL上でJavaがちゃんと動いてくれなかったのであきらめました。 で、VirtualBox使うかなと思ったけど、Hyper-Vを無効にしないといけなくて、Hyper-Vを無効にするとDockerが動かなくなるのでやだなーと思ってたのだけど、普通にHyper-VでUbuntuたちあげればいいのではーと思ってやってみました。 普通に使えますが、画面サイズ調整やフォルダ

                                                                          GraalVMでRust動かしたりレイトレをネイティブコンパイルしたり - きしだのHatena
                                                                        • ScalaをGraalVMでネイティブイメージにコンパイルしてAWS Lambdaでサクサク動かす - だがそれがいけなかった

                                                                          このエントリは ただの集団 Advent Calendar 2018 の18日目です。昨日は ugdark さんの 職種としてのスクラムマスターを調べてみた でした。 普段はScalaアプリケーションをECSやEC2で動かすことが多いのですが、ものによってはPythonやnode.jsでAWS Lambdaの関数ハンドラを書くこともあります。脳内コンテキストスイッチの抑制を考えるとLambda関数ハンドラもScalaで書きたいところですが、コールドスタート時におけるJVM起動のオーバーヘッドなどもあることから、今までにScalaでLambdaという選択は採ることがありませんでした。 そんな中、先日にGraalVMにネイティブイメージをコンパイルする機能があることを知りました。これを使ってScalaコードを実行可能なバイナリにコンパイルし、Lambdaでサクサクと動かしてみようと思います。

                                                                            ScalaをGraalVMでネイティブイメージにコンパイルしてAWS Lambdaでサクサク動かす - だがそれがいけなかった
                                                                          • テキストエディター「GNU Emacs 28.1」がリリース/Lispファイルのネイティブコンパイルに対応、テキストレンダリングもアップグレード

                                                                              テキストエディター「GNU Emacs 28.1」がリリース/Lispファイルのネイティブコンパイルに対応、テキストレンダリングもアップグレード
                                                                            • BabelプラグインをRust (SWC) に移植して、JavaScriptのコンパイルを爆速にする 〜プラグイン作成編〜 | Wantedly Engineer Blog

                                                                              BabelプラグインをRust (SWC) に移植して、JavaScriptのコンパイルを爆速にする 〜プラグイン作成編〜 はじめに こんにちは、WantedlyのDX (Developer Experience) チームでインターンをしていた田村です。今回のインターンではWantedlyのフロントエンドのトランスパイラをBabelからSWCに移行することを目標に調査を行いました。BabelからSWCの移行方法については前の記事(基本編)をご覧ください。本記事では簡単なSWCカスタムプラグインを作成することを通して、プラグインの書き方、使い方、テストを紹介します。本記事は、BabelプラグインをSWCに移植する際に必要な知識は一通り網羅しています。 環境 cargo 1.59.0 (49d8809dc 2022-02-10) npm 8.1.2 また、この後インストールするツールのバージョ

                                                                                BabelプラグインをRust (SWC) に移植して、JavaScriptのコンパイルを爆速にする 〜プラグイン作成編〜 | Wantedly Engineer Blog
                                                                              • コンパイル時計算でラムダ計算の構文解析器・評価器・型推論器を実現 (Scala 3編) - 貳佰伍拾陸夜日記

                                                                                またか. またなのか. 何回目だ. ということで, ラムダ計算のインタプリタの実装としては4回目くらい*1, コンパイル時計算でやるものとしても3回目くらいになってしまうけど, ラムダ計算の処理系をまた書いてしまった. 今回の目的は, Scala 3にはmatch typesという機能があり, これだけでチューリング完全なのではないか, というのを検証するため. また, 文字列リテラル型を操作する型レベル関数が3.1.2-RC1にきていて, これを使えば構文解析器だって書ける. 経緯 過去の事例 関数と返り値 パターンマッチと再帰呼出し Scala 3の型レベル言語 match types リテラル型操作 ラムダ計算の実装 評価 印字 構文解析 型推論 (型検査) おわりに 経緯 もともとは, id:xuweiさんが文字列リテラル型でコンパイル時に動作する構文解析器を実装していたのが始まり

                                                                                  コンパイル時計算でラムダ計算の構文解析器・評価器・型推論器を実現 (Scala 3編) - 貳佰伍拾陸夜日記
                                                                                • 原理原則で理解するPHP8のコンパイルと実行処理の仕組み(JITもあるよ) - Qiita

                                                                                  はじめに PHPはプログラミング言語です。1995年に世に出てからこれまで多くの開発者に利用され、様々なソフトウェアを生み出してきました。 学習コストが低く手軽に実行できるトレードオフとして、バグを生み出しやすいコードになりやすかったりパフォーマンス上の懸念から大規模なアプリケーション開発に使うものではないという認識は結構あるのではないかと思っています。 しかしながら2021年現在の最新のメジャーバージョンであるPHP8では、機能面やパフォーマンス面においても大規模開発に対して十分使えるものになっていると個人的には思ってます。 今回は今PHPを使っている開発者やこれからPHPを使う予定の方、あるいは「PHPなんて興味ないけどどういう仕組みなのかは見てやろうじゃないか」と思っているような方にも、PHPの内部ってこういう感じで動いているんだっていうイメージを掴んで頂けたらと思って記事にしてみま

                                                                                    原理原則で理解するPHP8のコンパイルと実行処理の仕組み(JITもあるよ) - Qiita