並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 984件

新着順 人気順

llvmの検索結果81 - 120 件 / 984件

  • 達人出版会

    探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 R/RStudioでやさしく学ぶプログラミングとデータ分析 掌田津耶乃 データサイエンティストのための特徴量エンジニアリング Soledad Galli(著), 松田晃一(訳) 実践力をアップする Pythonによるアルゴリズムの教科書 クジラ飛行机 スッキリわかるサーブレット&JSP入門 第4版 国本 大悟(著), 株式会社フレアリンク(監修) 徹底攻略 基本情報技術者教科書 令和6年度 株式会社わくわくスタディワール

      達人出版会
    • オープンソースプログラミング言語zigまとめ - Qiita

      WebAssemblyのモジュール記述のためのプログラミング言語を調べていると、比較的新しいオープンソースのプログラミング言語zigがWebAssemblyモジュールを書くのに適している感じだったので、ソースコードを書いて動かしながら調べたことについて、コードに出ている順で並べています。 この文章中で用いているソースコードはmacOSやlinux上でビルド可能な状態で以下のURLにおいてあります: https://gist.github.com/bellbind/3c52ea6e506656701c9b7ff00a8599fa Qiitaは現時点でzigコードのシンタックスハイライトに未対応であり視認性がよくないですが、githubではzigコードでもシンタックスハイライトされます。 0. プログラミング言語zigについて オープンソースのプログラミング言語zigは、以下のURLで公開され

        オープンソースプログラミング言語zigまとめ - Qiita
      • Nginx+NLBでHTTP/3環境をAWSに作ってみた | Developers.IO

        つい最近(2019/10)CloudFlareがQUIC対応のQuicheをNginxで利用出来るパッチを公開したりHTTP-over-QUICがHTTP/3に改名したりで、HTTP/3がかなりアツくなってきています。 このビッグウェーブに乗るべく、CloudFlareのQuicheパッチを適用したNginxを用意して、NLB越しでQUICを喋ってみたいと思います。 もこ@札幌オフィスです。 つい最近、(2019/10)CloudFlareがQUIC対応のQuicheをNginxで利用出来るパッチを公開したりHTTP-over-QUICがHTTP/3に改名したりで、HTTP/3がかなりアツくなってきています。 このビッグウェーブに乗るべく、CloudFlareのQuicheパッチを適用したNginxを用意して、NLB越しでHTTP/3を喋ってみたいと思います。 NLBを利用してHTTP/3

          Nginx+NLBでHTTP/3環境をAWSに作ってみた | Developers.IO
        • 直和型の代わりにユニオン型を持つ静的型付け関数型言語 Cotton

          // 割る2をする関数の引数が偶数であることを型によって強制する例(実用性はない) data O // 数字の0を表すデータ型 data S(A) forall { A } // +1を表すデータ型 // 型エイリアス type Nat = O | S[Nat] // 非効率すぎる他倍長整数 type Even = O | S[Odd] type Odd = S[Even] // 偶数を引数にとって2で割った結果を言語組込みの整数として返す関数 div2 : Even -> I64 = // 網羅性チェックつきのパターンマッチ | O => 0 | S(S(n)) => 1 + n.div2 TL;DR ユニオン型は直和型の上位互換である(追記あり)。関数型言語を作るときは直和型の代わりにユニオン型を採用するのもあり。 はじめに Cottonというプログラミング言語を2021年の夏頃から作

            直和型の代わりにユニオン型を持つ静的型付け関数型言語 Cotton
          • WebAssemblyに注目 | POSTD

            WebAssemblyは今、転換点にあります。今後数年間で、コンテナ化からプラグインシステムやサーバレス・コンピューティング・プラットフォームに至るまで、IT業界全体でWebAssemblyの導入が増えると筆者は予想しています。この記事では、WebAssemblyとは何か、なぜそれが重要なテクノロジーであるのか、現在はどのような分野で利用されているかを説明します。また、WebAssemblyが大きな影響をもたらす可能性がある用途や、WebAssemblyの将来に関する予測も紹介します。 WebAssemblyとは何か WebAssembly(Wasm)とは、さまざまなプログラミング言語と多様な実行環境の間に位置する中間層です。30以上の異なるプログラミング言語で書かれたコードを.wasmファイルにコンパイルし、そのファイルをブラウザ、サーバ、あるいは自動車でも実行できます。 「WebAss

              WebAssemblyに注目 | POSTD
            • 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
              • FacebookのHermesというJSエンジンがエロい - Qiita

                FacebookがHermesという組み込みのJSエンジンを公開したようです。 ReactNative用の組み込み用のJSエンジン(最新版だとオプション切り替えで使えるっぽい) MITライセンス プロプラなものとの組み合わせが発生しうる組み込みにおいては正義しかない ES2015をサポート(予定) 現時点ではクラスとかlet/constのブロックスコープは実装途中 Map/Setとかの組み込みクラス系は実装済み サイズの小ささをうたった処理系はES2015への対応はまだまだなのが多いので(Duktapeとか)良い 事前にJavaScriptのソースコードをパースして中間表現(LLVM IRをそのまま利用?)にしておいてロードする モバイルのCPUやバッテリー、メモリーにも優しい なお、エロいというのは強く感情が揺さぶられた結果が出てきたワードであってセクシャルな内容は一切含まれておりません

                  FacebookのHermesというJSエンジンがエロい - Qiita
                • 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」登場
                  • PostgreSQL ソースコードリーディング | Youki Shiraishi

                    PostgreSQL Server PostgreSQL のアーキテクチャを頭に叩き込んでおこう. 上の図は PostgreSQL サーバーの主要なコンポーネントとそれらの関係を表している. PostgreSQL は,クライアントサーバーモデルに基づく共有メモリ型のアーキテクチャを採用している. サーバープロセス postgres は,クライアントからコネクション要求を受け取るとフォークしてバックエンドプロセス postgres を生成する. 生成されたバックエンドプロセスは,以降,そのクライアントとのやりとりを担う. クライアントは,バックエンドプロセスと通信してクエリを送信したり,結果を受け取ったりする. PostgreSQL のすべてのプロセス間で共有されるメモリ領域は,共有メモリと呼ばれる. 共有メモリは,主に低速なストレージへのアクセスを減らすバッファとして機能する. ストレージ

                    • 達人出版会

                      探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 R/RStudioでやさしく学ぶプログラミングとデータ分析 掌田津耶乃 データサイエンティストのための特徴量エンジニアリング Soledad Galli(著), 松田晃一(訳) 実践力をアップする Pythonによるアルゴリズムの教科書 クジラ飛行机 スッキリわかるサーブレット&JSP入門 第4版 国本 大悟(著), 株式会社フレアリンク(監修) 徹底攻略 基本情報技術者教科書 令和6年度 株式会社わくわくスタディワール

                        達人出版会
                      • 5分でざっと理解するZig言語

                        Zig言語の話をするときに、初めての人にざっと読んでもらうためのページ。 Zig言語とは 静的型付きのコンパイル言語。C言語と同じ立ち位置。 本家 ziglang.org のoverview 日本語 Wikipedia Wikipedia 英語版 ドキュメント 標準ライブラリのリファレンス 現在の状況 まだ開発中で正式リリースには至っていない。なのでまだ破壊的変更はあり得る。 記事を書いた時点の安定版タグは0.10.0。 公式なパッケージマネージャはまだない。[1](非公式なものは複数存在する) 私が考えたキャッチコピー 「C言語が誕生したのは1972年。Zig言語はそれを2020年代の知見で再構成するもの。50年分の進化!!」 "C but with the problems fixed" 原作者 Andrew Kelly 特徴 ヘッダファイルが無い。プリプロセッサも無い。例外も無い。ガ

                          5分でざっと理解するZig言語
                        • 昔からいるプログラマーたちはいまも職を失わずに仕事をしているのですか? - Runner in the High

                          https://www.quora.com/What-happens-to-older-over-30-programmers-Do-they-get-fired-as-they-get-older-and-less-innovative-Does-mid-career-pay-increase-much-for-software-engineers/answer/Bruce-Hoult ぼくは今年で55歳になる。81-84年ごろに大学を卒業して、働き始めたのが85年だ。同年代のプログラマーは多くなかったし、それに私達以前にはプログラマーはいなかった。もし君がITの領域で仕事をしようと思うのなら、競い合うことになるのはおそらくぼくらのような歳の人間ではなく、きみより5,6年ほど若い人間たちになるだろう。 で、どうしてるかって? まだコードを書いてるよ。 僕らが基本的に大学で扱っていたのはP

                            昔からいるプログラマーたちはいまも職を失わずに仕事をしているのですか? - Runner in the High
                          • キャリアと給料 - たにしきんぐダム

                            (自分の気持ちを整理するために考えをダンプしただけの雑文です) 日本のエンジニア達は海外に出なければいけない|Kei というブログを見た。日本より海外の方がソフトウェアエンジニアの給料が一般に高いので海外に行こうという話 僕は今ポーランドの会社にコンパイラエンジニアとして(日本からリモートで)働いていて、コンパイラバックエンドやIDEなどの開発をフルタイムでしている。"海外" に関する話だけど上記ブログに載せられているスクショにはポーランドが見当たらないですね。 上記のブログのソースとなった Average Software Engineering Salaries by Country [2022] を見てみると、 Japan $36,024 に対して Poland $22,740 で日本のほうが200万円くらい平均が高い。実際、日本でフリーランスとしてWebアプリケーションとか書いてた

                              キャリアと給料 - たにしきんぐダム
                            • RHEL/CentOSから標準より新しいパッケージをインストールするためのレポジトリ4選(AppStream /RHECL/EPEL/IUS) | DevelopersIO

                              RHEL/CentOSから標準より新しいパッケージをインストールするためのレポジトリ4選(AppStream /RHECL/EPEL/IUS) RedHatは同じバージョンのパッケージが10年間保証されるため、安定運用に向いています。ただし、システムによっては、より新しいバージョンを利用したいことがあります。 そのようなパッケージを提供するレポジトリとして、Red Hat Software Collections(RHSCL)/EPEL/IUSを紹介します。 Red Hat Enterprise Linux (以下RHEL)/CentOS のパッケージは基本的に10年メンテナンスされるため、枯れて安定している一方で、より新しいバージョン・ソフトウェアを利用したいために、レポジトリを追加することがあります。 そのような目的に使えるレポジトリとして、以下の4つを紹介します。 AppStream

                                RHEL/CentOSから標準より新しいパッケージをインストールするためのレポジトリ4選(AppStream /RHECL/EPEL/IUS) | DevelopersIO
                              • 自作コンパイラ基盤の話 - Qiita

                                これは、言語実装 Advent Calendar 2020 19日目の記事です。 最近は、コンパイラやインタプリタなどの言語処理系や、それに類するものを作る人が増えてきています。(私の周りだけかもしれませんが。) しかし、もう一歩進んで、コンパイラ基盤を作ってみたという話はあまり聞きません。 コンパイラ基盤は、それの対象とするアーキテクチャについてや、それ自体の使い勝手を考えるのが非常に面白いものです。また、コンパイラ基盤を作る中で、コンパイラや計算機自体についてより深く学ぶことが出来ます。 この記事では、私が開発中のコンパイラ基盤を例として、コンパイラ基盤について語っていきます。 そもそもコンパイラ基盤とは コンパイラ基盤と言えば、近年色々な所で目にするのがLLVMです。 LLVMを使うことで、コンパイラの複雑で面倒な部分を避けつつ、コンパイラを構成することができるようになりました。 下

                                  自作コンパイラ基盤の話 - Qiita
                                • Sorbet Compiler: An experimental, ahead-of-time compiler for Ruby · Sorbet

                                  For the past year, the Sorbet team has been working on an experimental, ahead-of-time compiler for Ruby, powered by Sorbet and LLVM. Today we’re sharing the source code for it. It lives alongside the existing code for Sorbet on GitHub, mostly in the compiler/ folder: → https://github.com/sorbet/sorbet/tree/master/compiler/ We want to be clear up front: the code is nowhere near ready for external u

                                    Sorbet Compiler: An experimental, ahead-of-time compiler for Ruby · Sorbet
                                  • 【寄稿】独自言語のコンパイラをLLVM backendを用いて作る「ミニキャン言語を作ってみよう!」講義録 - Flatt Security Blog

                                    はじめに 弊社Flatt Securityでは学生の学びを支援したいという想いから今回少額ではありますが高橋さんの留学を支援させていただき、そのご縁で弊社のYONEUCHI, Takashi (@lmt_swallow) | Twitterもスタッフを務めるセキュリティミニキャンプにおける素晴らしい講義の内容をテックブログに書いていただけることになりました。以下本文になります。 @00_ です。今年の夏のUC Berkeleyへの留学費用をFlatt Securityさんに支援して頂いた経緯で、セキュリティミニキャンプの講義内容についてテックブログで書くことになりました。 2019/09/28-2019/09/29 のセキュリティミニキャンプ山梨で「ミニキャン言語を作ってみよう!」の講座を行いました。この講座では、「ミニキャン言語(MC言語)」という独自言語のコンパイラを、自分がコミッタで

                                      【寄稿】独自言語のコンパイラをLLVM backendを用いて作る「ミニキャン言語を作ってみよう!」講義録 - Flatt Security Blog
                                    • Oracle DatabaseがGraalVMを搭載、DB上でJavaScriptを実行可能。Pythonやほかの言語もサポートしていくと

                                      Oracle DatabaseがGraalVMを搭載、DB上でJavaScriptを実行可能。Pythonやほかの言語もサポートしていくと オラクルは、最新データベース「Oracle Database 21c」を含む「Oracle Autonomous Database」を、Oracle Cloud上で無料で利用できる「Always Free」で提供開始したと発表しました。 「Oracle Database 21cは、世界で最も強力なコンバージド・データベース・エンジンの提供というオラクルの戦略を継続します。」発表資料はこちら https://t.co/DH13zechSx #database #データベース #OracleLive pic.twitter.com/o5huPbw6Hp — Oracle Japan/日本オラクル (@Oracle_Japan) January 14, 20

                                        Oracle DatabaseがGraalVMを搭載、DB上でJavaScriptを実行可能。Pythonやほかの言語もサポートしていくと
                                      • Rustで作るプログラミング言語—— コンパイラ/インタプリタの基礎からプログラミング言語の新潮流まで

                                        この本の概要 小さなプログラミング言語から本格的なプログラミング言語へ……ステップバイステップでの開発を通して,プログラミングそのものへの理解を深めよう! こんな方におすすめ コンピュータサイエンス,とくにプログラミング言語そのものやコンパイラについての素養を得たいと考えている人 他言語でのプログラミング経験があり,Rustの習得に興味のある人。とくに,学習のための題材を探している人 第1章:プログラミング言語概論 プログラミング言語の分類 他の切り口での分類方法 コンパイルパイプライン 第2章:スタックベース仮想マシン 仮想マシン概論 Rustでの実装 標準入力からの読み込み パースとコマンドの実行 ブロックとネスト構造 if制御構文 変数の定義 複数行のソースコードへの対応 関数呼び出し 関数の再帰呼び出し WebAssemblyへのコンパイルとブラウザでの実行 第3章:プログラミング

                                          Rustで作るプログラミング言語—— コンパイラ/インタプリタの基礎からプログラミング言語の新潮流まで
                                        • eBPF - The Future of Networking & Security

                                          Nov 10, 2020eBPF - The Future of Networking & Security Today is an exciting day for the Cilium community: Isovalent, the company behind Cilium, is announcing its $29M Series A financing round backed by Andreessen Horowitz, Google, and Cisco. This is a perfect occasion to take a deeper look into where eBPF-based networking is coming from and to understand what the excitement is all about. Two weeks

                                            eBPF - The Future of Networking & Security
                                          • ブログを毎日書き続けるためのテクニック - FPGA開発日記

                                            このブログ「FPGA開発日記」は約2100日で2000記事に到達した。特に2019年と2020年は殆どサボることなく記事を書き続けることができている。ブログの品質は置いておいて、毎日日記を書くことは何となく楽しいものだ。2015年にブログを開設したときに「よしこの日記はなるべく毎日書くようにしよう」と決めて以来休まずに書き続けることができている。 元来物書きは嫌いではない。私はエンジニアだが、仕様書を書くのもそこまで嫌いじゃない。自分の実装するものを綺麗にまとめて、「一点の曇りもなく上手くできてるやろ、ドヤ」みたいにするのは楽しいし、バグ発見の報告書とかまとめて、「回避方法は1.と2.あるけどどうする?ニヤニヤ」みたいなのも何となく楽しい。自分がバグを出すのは嫌だけど。 5年以上にわたってブログを書き続けるにあたり、これほどまでに継続することができたのはいくつかの理由がある。この記事ではブ

                                              ブログを毎日書き続けるためのテクニック - FPGA開発日記
                                            • MLIR がもたらす新たな中間表現の可能性

                                              はじめに 半導体の微細化が鈍化し、ハードウェアによる高速化が困難になっている現状において、ソフトウェアによる計算の高速化が喫緊の課題となっています。この状況において、特定のドメインの問題を解くことに最適化された言語であるドメイン固有言語と、そのコンパイラであるドメイン固有コンパイラの活用が望まれています。 ドメイン固有コンパイラの構築の際には、開発を容易にするために、既存のコンパイラ基盤であるLLVMを活用することが考えられます。しかし、LLVM はドメイン固有コンパイラの構築にはあまり向きません。この理由は、LLVM の成功と表裏一体の関係にあります。 LLVM が成功した理由は、コンパイラの処理を適切に分割し、独立したモジュールとして機能させたことにあります。このモジュール化において中心的な役割を果たしているのが、LLVM で用いられる中間表現(Intermediate Represe

                                                MLIR がもたらす新たな中間表現の可能性
                                              • インフィニットループは PHP の継続的な発展を目指す The PHP Foundation に寄付をしました|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

                                                インフィニットループは会社として、先日設立された The PHP Foundation にささやかながら寄付をしました。 PHP 原作者の Rasmus Lerdorf さんと Laravel 原作者の Taylor Otwell さんと JetBrains さんとあいえるたんが同じ画面におさまって見えるのは、たぶん今だけ……! TL;DR この記事では、以下の内容について述べています。 PHP は主要開発者が抜け、今後のために Foundation を作りました 弊社は支援を行いました 継続的な PHP の成長のためにみなさんの会社でも寄付を考えていただけませんか

                                                  インフィニットループは PHP の継続的な発展を目指す The PHP Foundation に寄付をしました|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
                                                • WasmLinux: LinuxカーネルをWebAssemblyにする

                                                  LinuxカーネルがWebブラウザで動いたらどう考えても面白い んだけど、そこに至るまではなかなか難しい道のりになる。その第一歩として、Linuxカーネルのユーザーランド版であるLKL( https://github.com/lkl/linux )をWebAssemblyにコンパイルして、wasm2cでC言語に変換した上、Visual Studio 2022でコンパイルしてWindows上で実行してみた。 まだWebブラウザでは動いていないが、思ったよりは簡単にWasmに移植できた(個人の感想です) ウケが良ければMUSL libc移植編 → デバイスドライバ活用編 → Webブラウザ上動作編と続ける感じで。。 EDIT: Visual Studioのスクリーンショットを撮りなおし。 memory-control はanonymousなmapしか救えないので、ここ数年スパンではエミュレーシ

                                                    WasmLinux: LinuxカーネルをWebAssemblyにする
                                                  • Announcing wasi-threads

                                                    Until now, one piece missing from WebAssembly standalone engines was the ability to spawn threads. Browsers have had this ability for some time via Web Workers, but standalone engines had no standard way to do this. This post describes the work of several collaborators to bring about wasi-threads, a proposal to add threads to WASI. It will explain the history to this proposal, the work done to get

                                                      Announcing wasi-threads
                                                    • Rust + LLVMでプログラミング言語を自作してセルフホスティングした話

                                                      llrlは自作のプログラミング言語です。大きな特徴が2つあります。 Hindley-Milnerベースの型推論による静的型付け (+型クラス) Lisp-likeなS式によるシンタックスとLLVM JITによるマクロ この言語の処理系をRustとLLVMを用いて実装し、それをllrl上に移植してセルフホスティングを試みました。無事セルフホスティングを達成したので、取り組んだことやモチベーションなどを順に振り返りたいと思います。 LLVMについては、フロントエンド側・バックエンド側ともに既にいくらかの解説記事が見られるため、概要は省略します。今回は新たなプログラミング言語のバックエンドとしてLLVMを用いるので、LLVMのフロントエンド側の実装がメインとなります。 事の発端: LLVM Kaleidoscopeチュートリアル Kaleidoscopeは、LLVMのチュートリアルにおいて実装す

                                                        Rust + LLVMでプログラミング言語を自作してセルフホスティングした話
                                                      • Rubyist Hotlinks 【第 38 回】国分崇志 さん

                                                        はじめに 著名な Rubyist にインタビューを行う企画「Rubyist Hotlinks」。第 38 回となる今回は、国分崇志さん。 では、お楽しみください。 インタビュー 聞き手 卜部さん (@shyouhei) 語り手 国分崇志さん (記事中「国分」) 野次馬 遠藤さん、村田さん、柴田さん、sorahさん 日にち 2019 年 9 月 某日 写真提供 村田さん、柴田さん 目次 はじめに インタビュー 目次 プロフィール 代表作 プログラミング経験 Rubyについて 興味ある言語 大学入学後のお話 就職 トレジャーデータ入社 今後の話 普段の生活 普段使っている計算機 将来の夢 村田さんとの関係 次のインタビュイー 若手の読者に一言 プロフィール 卜部 じゃあ録音をします。 柴田 始まり。 卜部 じゃあ、お願いします。 国分 よろしくお願いします。 柴田 おはようございます。 卜部

                                                        • Red Hat Enterprise Linux 8 新機能をわかりやすく解説【RHEL8】

                                                          Red Hat Enterprise Linux 8 新機能をわかりやすく解説【RHEL8】 2019年5月16日 Linux Red Hat Enterprise Linux 8 (RHEL8)が、2019年5月7日にリリースされました。RHEL 7 のリリースが2014年6月だったので、約5年ぶりの新OSとなります。 前回のメジャーアップデートから少し間隔が空いたためか、リリースノートはなんと120ページもあります!(ちなみにRHEL 7は90ページでした) この記事では、そんな山ほどあるRHEL 8 の新機能や変更点の中から、気になるものをまとめてみました。 また、RHELのクローンである CentOS のメジャーアップデートも近いうちに行われるでしょう。CentOS8でも、これと同様の変更がなされるかと思われるので、参考にしてみてください。 パッケージ管理 DNF(YUM v4)

                                                            Red Hat Enterprise Linux 8 新機能をわかりやすく解説【RHEL8】
                                                          • 音楽用低遅延リモートコミュニケーションサービス - レイテンシー撲滅委員会|Takumin

                                                            このプロダクトを考えるにあたって、まず一番の敵を知らなければならない。戦う理由は何で、なぜそれが生じていて、どうやってそれを解決するのか。 プロダクト構想はこれ レイテンシーとの闘い「レイテンシー」= latency (遅延)とは、使われる場所によって意味が異なることもありますが、このプロダクトの開発で解決しようとしているレイテンシーとは、 インターネット経由で二人の演奏者がアンサンブルしようとしたときに、片方の演奏者が出した音がもう片方の演奏者に届くまでの時間と考えてください。 たとえば演奏者が隣にいるとこれはゼロ(厳密にはゼロじゃないけど、でもまあ感じない)。で、これがホールとかになると場合によっては数10ミリ(ミリは1,000分の1)秒となることもありますが、プロの演奏者は慣れてるのでなんとか合わせられる。 なぜホールだと数10ミリ秒かかるとかというと...音は1秒に340メートル(

                                                              音楽用低遅延リモートコミュニケーションサービス - レイテンシー撲滅委員会|Takumin
                                                            • ファームウェアエンジニアのお仕事 - Nature Engineering Blog

                                                              Nature株式会社ファームウェアエンジニアの中林 (id:tomo-wait-for-it-yuki) です。今回は、Natureのファームウェアエンジニアの業務内容を紹介し、その魅力をお伝えします! NatureはスマートリモコンNature Remo1/スマートエナジーハブNature Remo E2を製品として展開しています。ファームウェアエンジニアはこれら製品のファームウェア開発を主に担当しますが、それだけに留まらず多岐にわたる業務を遂行しています。 現在ファームウェアエンジニアとして携わっている業務としては、次のものがあります。 Nature Remoの企画/開発 toB向け新規事業の立ち上げ Remoの改善 カスタマーサポートの技術調査 ファームウェア開発プロセスの改善活動 開発補助ツールの作成 Nature Remoの企画/開発 スマートリモコンというジャンルも認知度が上が

                                                                ファームウェアエンジニアのお仕事 - Nature Engineering Blog
                                                              • プログラミング言語「Rust」とは? "Hello, World!"で基本を押さえる

                                                                プログラミング言語「Rust」とは? "Hello, World!"で基本を押さえる:基本からしっかり学ぶRust入門(1)(1/3 ページ) Rustはどのようなプログラミング言語なのでしょうか? 本連載のスタートとなる今回は、Rust言語の概略と、手元にRustの動作環境構築までを紹介します。導入で利用可能になるコマンドと、最初のHello, World!プログラムも取り上げます。 Rustは、Webブラウザソフトウェア「Firefox」を開発しているMozillaが支援するオープンソースのプログラミング言語です。2006年に開発がスタートした当初は、Mozilla所属のグレイドン・ホアレ氏の個人プロジェクトでしたが、2009年からはMozilla自体が支援に加わり、公式プロジェクト化されました。MozillaとRustの関係は、Mozillaが2012年に開発を開始したWebレンダリ

                                                                  プログラミング言語「Rust」とは? "Hello, World!"で基本を押さえる
                                                                • Rust for Linuxを手元で試す

                                                                  RustをLinuxカーネルに組込みプロジェクト、Rust for Linuxが進行中です。 このプロジェクトはLinuxカーネル全体をRustで置き換えるわけではなく、第二言語としてRustを採用してデバイスドライバなどのモジュールを書くことができるようにしようというものです。 RustはOSのような低レイヤーソフトウェアを実装する言語として、C言語に代わる選択肢として注目されてきたわけですが、Linuxのような広く使われているシステムに採用されるとなればかなり熱いですね。 実際にLinuxのメインラインに取り入れられるにはまだまだ課題は多いものの、Linus氏を含むLinuxの開発者からのフィードバックも比較的ポジティブでこれからが注目されています。 そんなRust for Linuxを手元でビルドして動かしてみました。 一応、基本的な手順はレポジトリ内のドキュメントにまとまっているの

                                                                    Rust for Linuxを手元で試す
                                                                  • bpftraceによるGoアプリケーションのトレース|hayajo

                                                                    はじめにシステムの状態を的確に捉え、運用に必要なインサイトを継続的に得るための特性は「オブザーバビリティ」と呼ばれます。オブザーバビリティを実現することで、パフォーマンスのモニタリングやトラブルシューティングを効果的に行い、システムの信頼性を高めることができます。 この重要な特性を実現する上で、eBPFやbpftraceは強力なツールとなります。 本記事では、Goアプリケーションにおけるオブザーバビリティを実現するための一つの方法として、bpftraceを用いたトレースの手法を紹介します。 内容が多いため、目次を活用して段階的に読み進めることをお勧めします。 eBPFとbpftraceはじめに、eBPFとbpftraceについて簡単に説明します。 eBPFとはeBPF(Extended Berkeley Packet Filter)はLinuxカーネル内で動作する柔軟なプログラミングフレー

                                                                      bpftraceによるGoアプリケーションのトレース|hayajo
                                                                    • 都会の星の撮り方本を出版しました。WebAssembly を使っています

                                                                      先日、都会で撮る 星の軌跡の撮影術 〜はじめて撮る人から上級者まで比較明合成による撮影の完全ガイドという本を出版しました。 この本は、比較明合成という画像処理によって都会の星の軌跡の撮り方を紹介している本ですが、それを WebAssembly を用いてブラウザ内で実現する Web アプリ を作りました(そしてその使い方を本の中で解説しました)ので、この記事では WebAssembly による移植周りについて少し解説したいと思います。 なぜ WebAssembly が必要だったか 今回 WebAssembly を、LibRaw というオープンソースソフトウェアをブラウザ上で利用するために使いまいた。 比較明合成をわかりやすく説明すると、複数の画像を比較して、最も明るい点を選択する合成方法です。星は日周運動により地上からは動いているように見えますが、カメラを固定して連写で何百枚と写真を撮り、そ

                                                                      • 第793回 自作のカーネルモジュールをRustで作る | gihyo.jp

                                                                        第791回では基本的なカーネルモジュールの作り方とそれをDKMSに対応させる方法を紹介しました。今回はカーネルの新しい機能のひとつである「Rustでカーネルモジュールを作る方法」を紹介しましょう。 UbuntuカーネルにおけるRustの対応 Linuxカーネルでは、Kernel 6.1からプログラミング言語である「Rust」の機能が取り込まれました。これは「Rust for Linux」の成果で、カーネルの機能をC言語やアセンブラだけでなく、Rustでも書けるようにするというものです。メモリー安全性や強い静的型付けなどの特徴を取り込むことで、カーネルのセキュリティ問題の原因の多くを占めるメモリー関連の不具合に対して、一種の対策になることが期待されます。 あらゆるケースにおいてRustに置き換えられるというわけではありませんが、今後カーネルのコードを読み書きする上でC言語やアセンブラだけでな

                                                                          第793回 自作のカーネルモジュールをRustで作る | gihyo.jp
                                                                        • MIR: A lightweight JIT compiler project | Red Hat Developer

                                                                          For the past three years, I've been participating in adding just-in-time compilation (JIT) to CRuby. Now, CRuby has the method-based just-in-time compiler (MJIT), which improves performance for non-input/output-bound programs. The most popular approach to implementing a JIT is to use LLVM or GCC JIT interfaces, like ORC or LibGCCJIT. GCC and LLVM developers spend huge effort to implement the optim

                                                                            MIR: A lightweight JIT compiler project | Red Hat Developer
                                                                          • Apache Arrowの最新情報(2019年9月版) - 2019-09-30 - ククログ

                                                                            Apache ArrowのPMC(Project Management Commitee、プロジェクト管理チームみたいな感じ)のメンバーの須藤です。 みなさんはApache Arrowを知っていますか?Apache Arrowは数年後にはデータ処理界隈で重要なコンポーネントになっているだろうプロジェクトです。データ処理界隈に興味がある人は知っておくと役に立つはずなので1年ほど前にApache Arrowの最新情報(2018年9月版)をまとめました。この1年ですごくよくなったので2019年9月現在の最新情報を紹介します。 私は、PMCの中では唯一の日本人1で、コミット数は2番目に多い2ので、日本ではApache Arrowのことをだいぶ知っている方なはずです。Apache Arrowの情報は日本語ではあまりないので日本語で紹介します。 ちなみに、英語ではいろいろ情報があります。有用な情報源は

                                                                              Apache Arrowの最新情報(2019年9月版) - 2019-09-30 - ククログ
                                                                            • Scalaのtrait、Rustのtrait、そしてScalaのimplicit - Don't Repeat Yourself

                                                                              Scala の trait と Rust の trait は微妙に使い方が異なる、とよく質問を受けます。たしかに、使い心地は微妙に異なるかもしれません。Scala はオブジェクト指向を中心に設計された言語ですが、Rust はそれを中心に設計されているとは言えません*1。こういった言語設計の差が、trait の使い心地の違いを生み出していると私は思っています。 両者の trait には、共通した特徴もあります。共通した処理をまとめあげるという意味では同じ目的をもっているといえますし、また、「犬は動物である」「猫は動物である」の共通性を示すことで、共通したものをひとまとめに処理しきることもまた可能です。 Scala には implicit という強力な機能が存在します。これは柔軟でスケーラブルなソフトウェアデザインを可能にする Scala の特徴のひとつです。非常にすばらしい機能です。この機能

                                                                                Scalaのtrait、Rustのtrait、そしてScalaのimplicit - Don't Repeat Yourself
                                                                              • GitHub Actions のストレージ空き容量を限界まで拡張する

                                                                                name: Container deploy on: release: types: [published] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true env: REGISTRY: ghcr.io IMAGE_NAME: pinto0309/test jobs: docker-deploy: runs-on: ubuntu-22.04 permissions: contents: read packages: write steps: - name: Git checkout uses: actions/checkout@v3 - name: Enable buildx uses: docker/setup-buildx-action@v2 - name: Ch

                                                                                  GitHub Actions のストレージ空き容量を限界まで拡張する
                                                                                • fast.ai - Mojo may be the biggest programming language advance in decades

                                                                                  I remember the first time I used the v1.0 of Visual Basic. Back then, it was a program for DOS. Before it, writing programs was extremely complex and I’d never managed to make much progress beyond the most basic toy applications. But with VB, I drew a button on the screen, typed in a single line of code that I wanted to run when that button was clicked, and I had a complete application I could now

                                                                                    fast.ai - Mojo may be the biggest programming language advance in decades