並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 3636件

新着順 人気順

コンパイラの検索結果241 - 280 件 / 3636件

  • ボジョレー・ヌーヴォーみたいに毎年言われる「Rubyは死んだ」 まつもとゆきひろ氏が考える、プログラミング言語の未来

    技育祭は「技術者を育てる」ことを目的としたエンジニアを目指す学生のための日本最大のオンラインカンファレンスです。ここで登壇したのは、Ruby言語の開発者である、まつもとゆきひろ氏。エンジニアを目指す学生からの質問に答えました。全3回。2回目は、Rubyがメジャー言語になったターニングポイントと、Rubyの魅力について。前回はこちら。 Rubyがメジャー言語となったターニングポイント 楓博光(以下、楓):では次の質問です。「Rubyがここまでメジャーになれたターニングポイントや、理由はなんだと思われますか」。 まつもとゆきひろ氏(以下、まつもと):いくつかあったと思うんですけど。1つは、1995年当時、ネットニュースという媒体があって、そこに、自分が作ったソフトウェアを公開するスレっていうんですかね、今風に言うと。ニュースグループというのがあったんですけど。 1995年の12月、そこに「Ru

      ボジョレー・ヌーヴォーみたいに毎年言われる「Rubyは死んだ」 まつもとゆきひろ氏が考える、プログラミング言語の未来
    • Cloudflare Workers それは Frontend / Node.js が CDN Edge Side まで拡張されるもの

      最近は Cloudflare Workers が熱くて、週末はずっとその調査しています。この記事はそのまとめです。 注意点として、手元でいろいろなパターンで動かして試してはいますが、プロダクション環境で運用したわけではないです。それを踏まえた上でお読みください。 特に断りが無い限り、引用文は DeepL で翻訳したものです。 Cloudflare Workers とはなにか Cloudflare Workers | サーバーレスコンピューティング | Cloudflare 一言でいうなら 「ServiceWorker の API が CDN Edge 上で動く JavaScript 処理系」 です。 Technology Radar では、まだ ASSESS(調査) フェーズという扱いです。 Cloudflare Workers | Technology Radar | ThoughtWo

        Cloudflare Workers それは Frontend / Node.js が CDN Edge Side まで拡張されるもの
      • GitHubのトレンドで振り返る2021年のJavaScript/TypeScript

        今年も GitHub のトレンドで 2021 年の JavaScript/TypeScript を振り返ります。去年の記事はこちらです。 — GitHub のトレンドで振り返る 2020 年の JavaScript | WEB EGG 集計方法 GitHub トレンドは過去の履歴を公式に提供していないため、非公式に集計されたデータを利用しています。 データソースはlarsbijl/trending_archiveを使用 去年はxiaobaiha/github-trending-historyを利用したが今年のデータは無かったので変更 日ごとにまとめた markdown になっており、remark で AST→ データ化しました 集計期間は 2021/01/01 から 2021/12/15 まで 対象言語はJavaScriptとTypeScriptのみ 集計後のデータはこちらのスプレッドシー

          GitHubのトレンドで振り返る2021年のJavaScript/TypeScript
        • Lispを実装したくなったら読んでほしい本6選 - Arantium Maestum

          言語実装 Advent Calendar 2022の1日目の記事として書いた。 Lisp Advent Calendar 2022でも枠が空いていたのでダブル投稿。 プログラミング言語を実装してみたい!と思ったらまずは簡単なLispインタプリタから始めるというのは一つの王道だと思う。 複雑な構文解析は要らず最低限の再帰下降法パーサで手に入る構文木を、そのまま再帰的な関数で実行していくtree walking評価器。メモリ確保もヒープにそのまま置いていって、メモリ解放は実装言語のGCに任せるなりプログラムの終了時までやらなかったり。そんなインタプリタを作る経験から得られるものは非常に大きく、どんなプログラマでも一回は試してみてもいいのではないか?と思っている。(個人的な感想です) そんな簡易Lispを実装してみて沼にハマってしまい、より精緻な言語処理系を作りたいと思ったとする。その時点で:

            Lispを実装したくなったら読んでほしい本6選 - Arantium Maestum
          • コンパイラをつくってみよう / How to make a compiler

            Builderscon 2019 の発表資料です。 ライブコーディングでフルスクラッチでコンパイラを書くというのをやりました。 コンパイラのソースコードはこちらです https://github.com/DQNEO/HowToWriteACompiler

              コンパイラをつくってみよう / How to make a compiler
            • Mackerel のフロントエンド "React化" プロジェクトを支える技術と設計 - Hatena Developer Blog

              こんにちは, Mackerel 開発チーム アプリケーションエンジニアの id:susisu です. 現在 Mackerel では, Web コンソール画面の開発に使用しているフレームワークを, これまで使用してきた AngularJS から React へ移行することを中心とした, フロントエンド開発の刷新プロジェクトを行っています. このプロジェクトの立ち上げについては以前 Hatena Engineer Seminar で発表しましたが, そこでは時間の都合もあり, 技術的側面についてはあまり深く掘り下げることは出来ませんでした. ということでこの記事では, より技術的な面にフォーカスしてプロジェクトの内容をご紹介できればと思います. "React化" プロジェクトについて Mackerel の開発は 2014 年ごろから始まりましたが, フロントエンドのフレームワークとしては当初か

                Mackerel のフロントエンド "React化" プロジェクトを支える技術と設計 - Hatena Developer Blog
              • AWS、高速起動にこだわった軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開。AWS Lambdaでの利用にフォーカス

                AWS、高速起動にこだわった軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開。AWS Lambdaでの利用にフォーカス Amazon Web Services(AWS)は、実験的な実装としてサーバレス環境のAWS Lambdaで使うことにフォーカスした軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開しました。 LLRTはRustで開発され、JavaScriptエンジンにはQuickJSを採用しています。 LLRTの最大の特徴は、現在のJavaScriptランタイムにおいて性能向上のために搭載されているJITコンパイラをあえて搭載せず、よりシンプルで軽量なランタイムとして実装することで高速に起動することにこだわっている点です。 これにより(Node.jsやDenoや

                  AWS、高速起動にこだわった軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開。AWS Lambdaでの利用にフォーカス
                • 失われた「フリーソフト」の哀愁と、今を生きる開発者への願い。 - Zopfcode

                  かつて、窓の杜や Vector へウキウキでダウンロードしに行ったような「フリーソフト(フリーウェア)」たち。これら「フリーソフト」たちの中には、利用についての明示的な許諾がないソフトが多く存在する。 これらの公式な入手手段が生きている間は何も問題はない。しかし最近は、サイトが閉鎖されるばかりか、連絡先すらわからず困るケースが多くなっている。このように公式の配布手段が失われると何が困るのか。そこには大きく2つの問題がある。再利用の許諾を欠くことと、ソースコードがないことだ。 2022/12/29 追記: unasuke が「コードを公開する側」から見て同じ話題を解説した記事を公開しているので、私の記事とは別な視点が欲しい、あるいは疑問を持った方がいれば是非こちらも参照して欲しい。 blog.unasuke.com 問題1. 再利用の許諾がない(あっても曖昧) 再利用の許諾が書かれていなけれ

                    失われた「フリーソフト」の哀愁と、今を生きる開発者への願い。 - Zopfcode
                  • SQLiteの正式なWebAssembly版「SQLite3 WASM/JS」が登場

                    SQLiteの公式Webサイトに、SQLite3をWebAssembly化した「SQLite3 WASM/JS」プロジェクトのページが公開されました。 これまでさまざまなWebAssembly版SQLiteの試みが行われてきたなかで、初めてSQLiteの正式なサブプロジェクトとして開発されるWebAssembly版SQLiteになります。 下記はドキュメント「About the sqlite3 WASM/JS Subproject」からの引用です。 this subproject is the first effort "officially" associated with the SQLite project, created with the goal of making WASM builds of the library first-class members of the fa

                      SQLiteの正式なWebAssembly版「SQLite3 WASM/JS」が登場
                    • 他言語ユーザがRust言語をガチめに使っての雑感 - 分散KVSを書いてみて - - Qiita

                      どうも ryo_grid です。 昨年はRustを覚えたいと思い、題材としてRESTインタフェースを持った分散KVS(実質はいわゆる分散ハッシュテーブル)を書いたりしました。 FunnelKVS: Rust implementation of autonomous distributed key-value store which has REST interfaces この記事では、他言語を使ってきた私が、経験のないRustを用いてそこそこのコード規模・複雑さのシステムソフトウェアを書いてみた上で、Rustについて感じたことを、独断と偏見で述べます。 Rustってなんか流行りそうな雰囲気あるけど難しいとも聞くし、どうなんだろ?と考えている方や、Rustガチ勢の方々に、「初学者はこう感じるんだな」「ここらへんに苦労するんだな」というところを伝えることで、Rustのスムーズな普及に少しでも寄

                        他言語ユーザがRust言語をガチめに使っての雑感 - 分散KVSを書いてみて - - Qiita
                      • Red HatがRHELソースコードの一般公開をやめて顧客限定に、自由ソフトウェアの原則を軸にしてきたLinux関係者たちから猛批判を受ける

                        企業向けに「Red Hat Enterprise Linux(RHEL)」というLinuxディストリビューションを提供しているRed Hatが、これまで一般公開してきたRHELのソースコードの配布を顧客限定にすると発表しました。この発表に対して、自由ソフトウェアの理念を持つ開発者たちが批判の声を上げています。 Furthering the evolution of CentOS Stream https://www.redhat.com/en/blog/furthering-evolution-centos-stream 自由ソフトウェアとは下記の4つの「自由」を持つソフトウェアのこと。 ・どんな目的に対しても、プログラムを望むままに実行する自由 ・プログラムがどのように動作しているか研究し、必要に応じて改造する自由 ・ほかの人を助けられるよう、コピーを再配布する自由 ・改変した版を他に配

                          Red HatがRHELソースコードの一般公開をやめて顧客限定に、自由ソフトウェアの原則を軸にしてきたLinux関係者たちから猛批判を受ける
                        • React+Reduxによる状態管理とフロントエンドの技術的負債 ─ 長く継続するサービスのアプリケーション設計|ハイクラス転職・求人情報サイト AMBI(アンビ)

                          React+Reduxによる状態管理とフロントエンドの技術的負債 ─ 長く継続するサービスのアプリケーション設計 遷移なく表示コンテンツを変更できるシングルページアプリケーションでは、ページの状態管理が重要になります。現在はReactによるUI構築とReduxによる状態管理を選択しているChatworkは、jQueryなどの技術的負債と共存しながら、フロントエンド設計の見直しを重ねてきました。クライアントサイド・アーキテクトの火村智彦(@eielh)さんと、エンジニア採用広報の高瀬和之(@guvalif)さんによる解説です。 クラウド型ビジネスチャットツール「Chatwork」は、2011年3月にローンチされて10年以上にわたり開発を継続してきました。このように長く続くサービスがユーザーに価値を提供し続けるには、時間経過による変化に適応するため設計の見直しが必要になります。 しかし、設計を

                            React+Reduxによる状態管理とフロントエンドの技術的負債 ─ 長く継続するサービスのアプリケーション設計|ハイクラス転職・求人情報サイト AMBI(アンビ)
                          • 最速のJSONライブラリを求めて

                            How to Lead? Testimonial of a Lead Android Engineer

                              最速のJSONライブラリを求めて
                            • プレイステーション、AI、そしてSmartNews――久夛良木健が語る、世界中で愛されるプロダクトを生み出す"妄想力" - スマQ(スマキュー)|スマートニュースの「はたらく」をみつける

                              2019年6月20日、スマートニュースの創業7周年パーティーで、同社社外取締役の久夛良木健(くたらぎ・けん)氏とCEOの鈴木健氏が対談しました。その様子を紹介します。 久夛良木氏は「プレイステーションの父」。ソニー・コンピュータエンタテインメント(SCE)時代には、初代プレイステーションを開発し、家庭用ゲーム機の世界にイノベーションを巻き起こしました。その後、SCEの社長、ソニーの副社長などを歴任。2019年6月にスマートニュースの社外取締役に着任しました。 エンジニアでもあり、経営者でもある――。久夛良木健氏と鈴木健氏にはそんな共通項があります。この2人がどんな話をしたのでしょうか。 (左)久夛良木健氏(右)鈴木健氏 目次 プレイステーションの開発チームはいい加減? 「まず議事録取ってない」 オフィスは美味しいお店があるところに構えよ ハードウェアもソフトウェアも全部わかっていることが「

                                プレイステーション、AI、そしてSmartNews――久夛良木健が語る、世界中で愛されるプロダクトを生み出す"妄想力" - スマQ(スマキュー)|スマートニュースの「はたらく」をみつける
                              • 「自分の未来予測を信じてちょっと意地を張ってみる」 まつもとゆきひろ氏がRubyに型宣言を入れない理由

                                「自分の未来予測を信じてちょっと意地を張ってみる」 まつもとゆきひろ氏がRubyに型宣言を入れない理由 #17 動的型付け言語と大規模開発 テーマは「動的型付け言語と大規模開発」 まつもとゆきひろ氏:まつもとゆきひろです。Matzチャンネル17回目ということでお送りします。ちょっと前になりますが9月28日に私が技術顧問を始めたクラウドサーカスという会社さんがテックイベントを開催されて、その時のテーマが「動的型付け言語と大規模開発」というテーマでした。 その時に話したこととか、話そうとしたこと、話そうと思っていたんだけど時間の関係で話せなかったことなどを補足する意味も含めて今日はちょっと放送しようかと思います。というか、分量が多いので2回に分けて話そうかなと思っています。 このクラウドサーカスのイベントのテーマは別に私から指定したわけではなくて、先方が「こんなテーマで話したいんだ」とか「聞き

                                  「自分の未来予測を信じてちょっと意地を張ってみる」 まつもとゆきひろ氏がRubyに型宣言を入れない理由
                                • [インタビュー]日本テレネットとは何だったのか。「テレネット シューティング コレクション」を記念し,3スタジオ+αの元スタッフが当時を語る

                                  [インタビュー]日本テレネットとは何だったのか。「テレネット シューティング コレクション」を記念し,3スタジオ+αの元スタッフが当時を語る 編集部:早苗月 ハンバーグ食べ男 エディアから2023年6月8日に発売された「テレネット シューティング コレクション」は,かつて日本テレネット(※1)から発売されたメガドライブおよびPCエンジン向けのシューティングゲームを4タイトル収録したものだ。 ※1 1983年から活動し,2007年に事業停止した企業。「夢幻戦士ヴァリス」シリーズや「天使の詩」シリーズなどで知られる。なお,読みは“にほんてれねっと”であり,MSX用のパソコン通信サービス「THE LINKS」などを提供していた現存企業・日本テレネット(にっぽんてれねっと)とは別。 日本テレネットは,8〜16bit PCユーザーを中心に知られたメーカーだが,特定のタイトルや在籍していた個人はまだし

                                    [インタビュー]日本テレネットとは何だったのか。「テレネット シューティング コレクション」を記念し,3スタジオ+αの元スタッフが当時を語る
                                  • Fintechサービスをスピーディーに立ち上げる技術スタック LINEエンジニアに和田卓人さんが聞く TypeScriptとマイクロサービス基盤 - はてなニュース

                                    多くのユーザーに常用されるコミュニケーションアプリ「LINE」には、エンターテイメントやライフスタイル、ショッピングなど多種多様な関連サービスがあります。 その中でスマホ投資サービス「LINE証券」や、外国為替証拠金(FX)取引の「LINE FX」、個人向けローンサービス「LINEポケットマネー」、「LINE」アプリ上で損害保険に加入できる「LINEほけん」などファイナンシャル(金融)系サービスの展開も拡大しています。 こういったFintech事業に、LINEエンジニアはどう取り組んでいるのか? 「LINE証券」を開発する3名に、事業を支える技術の詳細を伺いました。聞き手は、テスト駆動開発の第一人者でありITコンサルタント・ソフトウェアエンジニアの和田卓人(@t_wada)さん。 信頼性と高速性の両立が求められるFintech領域において、LINEはどのような工夫を行っているのでしょうか。

                                      Fintechサービスをスピーディーに立ち上げる技術スタック LINEエンジニアに和田卓人さんが聞く TypeScriptとマイクロサービス基盤 - はてなニュース
                                    • 最新のVue3.0でウェブ開発はどう変わるか? - Qiita

                                      こちらの記事は、2019年1月に公開された『 What Does Vue 3.0 Mean for Web Development? 』の和訳になります。 本投稿は転載であり、本記事はこちらになります。 補足: Vue3.0は2019年内もしくは2020年の初めにリリースされると予測されています。 2019年9月時点ではまだv2.6.10であること、ご留意ください。 はじめに 昨年11月、VueのクリエーターであるEvan Youは、Javascriptフレームワークの最新版となるVue 3.0の主要アップデートを紹介しました。 今回のアップデートによってVueはより効率的で、モジュール化され、さらに使いやすくなりました。 これらの変更と、Vue 3.0のリリースによる影響について説明します。 Vueの現在の状況は? 彼らによると、Vueは「ユーザーアプリケーションを構築するためのプログレ

                                        最新のVue3.0でウェブ開発はどう変わるか? - Qiita
                                      • WasmバイナリをWin/Mac/Linuxで実行可能なバイナリファイルへ変換可能に「Wasmer 3.0」正式リリース

                                        スタンドアロンのWebAssemblyランタイム「Wasmer」の最新版「Wasmer 3.0」が正式リリースされました。 Announcing Wasmer 3.0https://t.co/Nay8Po9FXk — Wasmer (@wasmerio) November 23, 2022 Wasmerはオープンソースで開発されているWebAssemblyランタイムです。 WebAssemblyの動向を調査しているThe State of WebAssembly 2022によると、WasmerはWebAssemblyランタイムとして事実上の参照実装であるWasmtimeに続いて2番目に人気のあるランタイムとなっています。 参考:WebAssemblyアプリ開発ではRustが一番人気、用途ではサーバレスが急上昇、ランタイムはWasmtime。The State of WebAssembly

                                          WasmバイナリをWin/Mac/Linuxで実行可能なバイナリファイルへ変換可能に「Wasmer 3.0」正式リリース
                                        • Rails 7.0でアセットパイプラインはどう変わるか | Wantedly Engineer Blog

                                          Rails 7.0ではフロントエンドサポートが刷新されます。新たなライブラリが多数導入され、選択肢が増えるため、「Rails公式のものを選べばOK」という戦略が通用しなくなります。 本稿では、Railsでフロントエンドを書くための選択肢について、その歴史と実装を踏まえて比較検討します。 結論から言うと(まだアルファ版なので今後も状況が変わる可能性はありますが、) 新規アプリケーションではSprocketsの役割は無くなりそうです。新しいライブラリとして Propshaft, importmap-rails, jsbundling-rails, cssbundling-rails が登場し、主要な選択肢として以下が提供されます。 (各ライブラリの詳細については後述します) Propshaft + importmap-railsデフォルトの選択肢。Node.jsが不要。トランスパイルを含め、複

                                            Rails 7.0でアセットパイプラインはどう変わるか | Wantedly Engineer Blog
                                          • OCaml でゲームボーイエミュレータを書いた話 - Qiita

                                            はじめに ブラウザ上で動くゲームボーイエミュレータを OCaml で書きました。以下のページで試せます。 デモページ いくつかの homebrew ROM も一緒になっているのでいろいろ遊んでみてください。おすすめは「Bouncing ball」と「Tobu Tobu Girl」です。最近のスマホならだいたい安定して 60 FPS 出るはずなので、スマホでも遊べます。 レポジトリはこちらです。 スクリーンショット なぜ OCaml でゲームボーイエミュレータ?新しいプログラミング言語を学ぶ過程で以下のように思ったことはないでしょうか? 簡単なプログラムなら書けるが、中規模以上のコード1をどうやって書けばよいのか分からない 発展的な言語機能2も勉強しなんとなく理解した気になったが、実践のなかでどのように活用すればいいのかが分からない OCaml を本格的に勉強し始めてた数ヶ月前の筆者はまさに

                                              OCaml でゲームボーイエミュレータを書いた話 - Qiita
                                            • Kaggleで10年遊んだGrandMasterの振り返り | ho.lc

                                              2011年2月16日に Kaggle アカウントを取得して10年が経過した。長い間 Kaggle Ranking 世界 1 位を目指してきたが、この目標やモチベーションが大きく変化してきたと感じたため、一区切りつけるためにもこの10年+αを振り返る。今の目標は対象を問わずアルゴリズムで資産を最大化すること。エンジニアリングを駆使してデータからアルファを探し、システム化して運用する。実利的で定量評価できる最高に楽しいタスクです(記事では触れません)。 競技プログラミングからKaggleを始めるまで¶ Kaggle ができる前は ICPC や ICFP Programming Contest といった競技プログラミング系のコンテストに参加していた。ICPC ではアジア地区会津大会 2007、アジア地区東京大会 2008 に出場したが大敗して悔しくて仕方がなかった。コードゴルフも嗜む程度に遊んで

                                                Kaggleで10年遊んだGrandMasterの振り返り | ho.lc
                                              • JestでTypeScriptを高速化する | miyauci.me

                                                JestでTypeScriptを高速化するJestでテストの高速化させる方法を紹介します。トランスフォーマーとしてesbuildやswcを紹介し、TypeScriptで遅くなりがちなトランスパイルを高速化させることで、テストを自体を高速化します。 はじめにesbuild の登場により、フロントエンドの世界は、開発環境により速度を求めるようになりました。vite の隆盛はその最たるものといってもいいでしょう。 esbuild や swc は高速な Go や Rust によって書かれ、更に多くの場合、Typescript の型チェックを省略しています。 tsc の型チェックは、大抵 IDE やワークフローで行われているので、これらを削ぎ落とすことで、純粋なコンパイラとして JavaScript への変換に特化しているということですね。 さて、Typescript コードをテストする際、多くの場

                                                  JestでTypeScriptを高速化する | miyauci.me
                                                • WordPressのコア開発チーム、WordPressをWebブラウザで実行する「Client-side WebAssembly WordPress」を開発中

                                                  WordPressのコア開発チーム、WordPressをWebブラウザで実行する「Client-side WebAssembly WordPress」を開発中 WordPressのコア開発チームは、PHPサーバをWebAssembly化することなどにより、WordPressをWebブラウザ上で実行する「Client-side WebAssembly WordPress」(以下WASM WordPress)の開発中であることを明らかにしました。アーリー版のデモも公開しています。 WordPressのWebAssembly化は、先月VMwareが実験的な取り組みとしてデモを公開していました。 参考:PHPとSQLiteをWebAssembly化し、Webブラウザ上でWordPressを実行可能にしたデモをVMwareが公開 しかし今回はWordPressのコア開発チーム自身がWebAssemb

                                                    WordPressのコア開発チーム、WordPressをWebブラウザで実行する「Client-side WebAssembly WordPress」を開発中
                                                  • .NET 5 を使いたい理由6選 - Qiita

                                                    速いので使いたい 私の場合、ここ数か月で一番素晴らしいニュースだと感じたブログがこれでした。 https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-5/ .NET5 がどれだけパフォーマンス向上のために努力してきたかという内容です。 ものすごいボリュームで読むのが大変でしたが、満足感のある記事でした。 この記事を読んだだけでも、早く.NET 5 を使いたいという気持ちになりました。 パフォーマンスが良くなったという知らせはいつでもエンジニアの気持ちを高揚させるのだと思います。 使いたい理由1 : GCが高速化した いくつものアプローチを重ねたことが記されていました。 GCが到達可能オブジェクトをマークする処理の情報を他のスレッドでも流用できるようにして、各スレッド内の同処理の作業量を一部省略可能にした G

                                                      .NET 5 を使いたい理由6選 - Qiita
                                                    • RustでOSを書いた

                                                      はじめに RISC-V CPU を FPGA 上に実装して、マイクロカーネル OS を Rust で書いて動かしてみました。 CPU について RISC-VとChiselで学ぶ はじめてのCPU自作 に沿って RISC-V の CPU を作り、機能をエンハンスしました。 乗除算命令、RVC命令、ビット拡張命令の一部を追加 7段パイプライン化 DRAM コントローラ 4KB命令キャッシュ、8KBデータキャッシュ 2ビット分岐予測 周辺コントローラ実装(SDC、UART、タイマー、割込コントローラ) Arty A7-35T という FPGA ボード上で動作させています。 スーパーバイザーモードは実装していないので、仮想メモリは使えません。みんなで仲良くメモリを共有します。 CPU の実装はこちらに置いてあります。書籍のサポートリポジトリの fpga 実装版を fork して機能追加しています。

                                                        RustでOSを書いた
                                                      • 会社をやめて約1年プログラミングの勉強に費やしたことに対する満足と後悔

                                                        働いていないことへの言い訳記事です。 この夢のような生活がもうすぐ終わるので書きたくなりました... ちなみにサムネイルは「仕事」でぱくたそで検索したら出てきました。 「エレベーターも給料も下降中の写真素材」というタイトルです。 https://www.pakutaso.com/20140914273post-4629.html 何をしていたのか 会社を辞めて約 1 年ほどプログラミングの勉強をしていました。 前職では「みんなのレベルが高くて着いていけないな〜」って感じることが多く、その原因のほとんどが知識や経験不足に依るところだったので、そういうのを先に補ってから働いた方が良さそうと思って辞めました。 いわゆる異業種からのキャリアチェンジでプログラマとしてのキャリアを始めたので、知識や経験は同世代の人たちに比べるとかなりのハンデがあり、そのハンデを埋めるための勉強をしました。 プログラミ

                                                          会社をやめて約1年プログラミングの勉強に費やしたことに対する満足と後悔
                                                        • Pythonのパッケージングと配布の全体像

                                                          EDIT: このブログと似た内容の話をPyCon APAC2023にてお話ししました。 こちらの登壇資料も合わせてご覧いただけると幸いです こんにちはWantedlyの樋口です。 Pythonのパッケージングと配布は歴史が長く、多くのツール(ex. conda, pip, pipenv, poetry, rye...)が開発されてきました。これらの多様性はPythonが多くの人に使われ、継続的に改善されたゆえの賜物ですが、同時にこれらの理解を難しくしている要因にもなっていると感じます。 そこで本記事では、Pythonのパッケージングと配布の全体像を紹介します。パッケージングと配布が何か、なぜ重要なのか、そしてそれぞれのツールが何を解決しようとしているのかについて説明します。以下のような疑問を解決できることを想定しています。 パッケージングと配布の仕組みがなぜあるのか 多数あるツールが何を解

                                                            Pythonのパッケージングと配布の全体像
                                                          • Rustの実用性が理解できる図を作成してみた 〜C/C++/Java/JS/Python/Go/TS/Elixirとの比較〜

                                                            エディタ支援 言語の公式がエディタ支援(LSP等)を提供しているかを示しています。 自動テスト 言語の公式が自動テスト(ユニットテスト等)を備えているかを示しています。 リンタ 言語の公式がリンタを提供しているかを示しています。 ビルドシステム 言語の公式がビルドシステムを提供しているかを示しています。 パッケージマネージャ 言語の公式がパッケージマネージャを提供しているかを示しています。 フォーマッタ 言語の公式がフォーマッタを提供しているかを示しています。 手続き型 言語のプログラミングパラダイムが手続き型プログラミングを強くサポートしているかどうかを示しています。 オブジェクト指向 言語のプログラミングパラダイムがオブジェクト指向プログラミングを強くサポートしているかどうかを示しています。 関数型 言語のプログラミングパラダイムが関数型プログラミングを強くサポートしているかどうかを示

                                                              Rustの実用性が理解できる図を作成してみた 〜C/C++/Java/JS/Python/Go/TS/Elixirとの比較〜
                                                            • アセンブラをゼロから作って自作コンパイラをアセンブルするまで(日記)

                                                              GNU Assembler互換(サブセット)のアセンブラをGo言語でフルスクラッチで作ってみました。 開発22日目で自作Goコンパイラ(をセルフホストしたときに出力される20万行のアセンブリ)をアセンブルすることに成功しました。 どうやって作ったかというと、小さいコードを GNU Assembler (以下 as) に食わせて出力されたバイナリを観察する、を繰り返して中のロジックを推定し再現しました。as の実装は見ていません。(一瞬見たけど巨大すぎて何もわからなかった) アセンブラ自作は、やってみるとコンパイラ自作よりだいぶ簡単でハマりポイントも少ないので、学習テーマとしてはおすすめです。2箇所ほど難所(命令エンコーディングのルールを理解するのと、ジャンプ命令の最適化)がありましたがそれ以外はさくさく楽しく作れました。 作ってみた結果、アセンブリ言語の理解が深まったのはもちろんのこと、E

                                                                アセンブラをゼロから作って自作コンパイラをアセンブルするまで(日記)
                                                              • Webアプリ版Photoshopを実現させた最新Web技術をGoogleが紹介。WebAssemblyのスレッドによる高速化、ストリーミングコンパイル、Web Componentsなど

                                                                Webアプリ版Photoshopを実現させた最新Web技術をGoogleが紹介。WebAssemblyのスレッドによる高速化、ストリーミングコンパイル、Web Componentsなど Photoshopは画像の作成や加工といった専門的な用途を目的に、長年にわたって作り込まれた代表的なデスクトップソフトウェアの1つと言えます。 プロフェッショナルな用途を満たす膨大な画像処理の機能を細かく作り込まれたユーザーインターフェイスから操作し、画像の変形や加工、フィルタリングなどの大量の複雑な演算処理が実行されるなど、Webアプリケーションへの移植を難しくする要素が満載です。 それらの困難を克服し、Photoshop Webではデスクトップ版Photoshopでよく使われる一般的な機能を、類似のユーザーインターフェイスでWebに実装し、商用サービスとして提供することに成功しました。 Photosho

                                                                  Webアプリ版Photoshopを実現させた最新Web技術をGoogleが紹介。WebAssemblyのスレッドによる高速化、ストリーミングコンパイル、Web Componentsなど
                                                                • マイクロカーネルとL4について (Yabaitech.tokyo, Writing a (micro)kernel in Rust in 12 days より) - 豆腐の豆腐和え

                                                                  怒田さん*1のこの記事、「CとRustで一から作るマイクロカーネルOS」のおかげで、マイクロカーネルとRustが今ホットです。そこで、技術書典6, 7に出展したYabaitech.tokyoにて連載している、"Writing a (micro)kernel in Rust in 12 days"から、マイクロカーネルとL4についての話を書いた"1日目"の記事の一部冒頭を、いい機会なので再編集してご紹介します。「マイクロカーネルってタネンバウム教授とリーナスの論争のあれだよね?」とか、「L4ってなに?」って方に読んでいただいて、L4ファミリーとマイクロカーネルについて簡単にご紹介できればなと思います。 ちなみに抜粋元の上述の記事は、僕が怒田さんと同じようにRustでマイクロカーネルを書いてみよう、という趣旨の企画です。なので、Yabaitech.tokyoの方もよろしくお願いします!ただし、

                                                                    マイクロカーネルとL4について (Yabaitech.tokyo, Writing a (micro)kernel in Rust in 12 days より) - 豆腐の豆腐和え
                                                                  • 富岳CPU A64FX用ディープラーニングライブラリの深層 -研究者が語る開発の軌跡- - fltech - 富士通研究所の技術ブログ

                                                                    はじめに こんにちは。富士通研究所プラットフォーム革新PJの川上です。理化学研究所/富士通が共同で開発した新しいスーパーコンピュータ「富岳」が神戸市沖のポートアイランドに納入され、当初の予定を前倒しして今年度から試行運用が開始されました。6月には早速、スパコンランキングで世界初の同時4冠(TOP500, HPCG, HPL-AI, Graph500)を獲得するなど、幸先のよい立ち上がりを見せています。私が所属する部署では富岳を始め、富岳と同じCPUを搭載した弊社製品PRIMEHPC FX1000/700上でディープラーニング(DL)処理を高速に実現する技術の研究開発をしています。今回は、DL処理を高速に実現するoneDNNというライブラリソフトウェアを富岳向けに移植し、開発したソースコードを本家IntelのoneDNNに寄稿し、取り込まれた話をご紹介します。 ディープラーニング処理のソフト

                                                                      富岳CPU A64FX用ディープラーニングライブラリの深層 -研究者が語る開発の軌跡- - fltech - 富士通研究所の技術ブログ
                                                                    • JavaScriptのUIフレームワーク「Svelte 4」正式リリース。パッケージサイズが10MBから3MBへ大幅縮小、ハイドレーションコードも高速に

                                                                      JavaScriptのUIフレームワーク「Svelte 4」正式リリース。パッケージサイズが10MBから3MBへ大幅縮小、ハイドレーションコードも高速に JavaScriptのUIフレームワーク「Svelte」の最新版となる「Svelte 4」が正式にリリースされました。 https://t.co/9qz0sDglCe — Svelte 4 Ever (@SvelteSociety) June 22, 2023 Svelteは読みやすく簡潔なコードでWebアプリケーションのユーザーインターフェイスを構成できるフレームワークです。Stack Overflowの調査では開発者の人気が急速に高まっていることでも注目されています。 Svelteの最大の特徴はコンパイラであるということです。UIフレームワークは、なんらかのライブラリをアプリケーションに同梱することが一般的ですが、Svelteではコー

                                                                        JavaScriptのUIフレームワーク「Svelte 4」正式リリース。パッケージサイズが10MBから3MBへ大幅縮小、ハイドレーションコードも高速に
                                                                      • Rustプログラムのデバッグ辛すぎ問題 - Qiita

                                                                        この記事は Rust Advent Calendar 2023 シリーズ2 の1日目の記事である。 Rustは良くも悪くもシステムプログラミング言語なので、何も工夫しなければデバッグの体験がC言語と同じレベルになってしまう。例えば「rust lldb」でググると上位に Debugging Rust programs with LLDB is a nightmare というスレッドが出てきてしまう。 使うべきツールを知っていれば幾分かマシな体験にできる。Rustコンパイラはデバッガとして LLDB, GDB, WinDbg/CDB をサポート していて、僕はWinDbGは10年くらい触ってないので、この記事ではLLDBとGDBについて書く。 LLDB Apple SiliconのMacだとGDBが使えないので、必然的にLLDBを使うことになる。 CodeLLDB GDBと同じく、LLDBにも

                                                                          Rustプログラムのデバッグ辛すぎ問題 - Qiita
                                                                        • ZigはCMakeの代替となるか

                                                                          既存のプロジェクトで使用しているコンパイラを置き換えるだけで、Zigに付属しているCコンパイラを利用できる。 クロスビルドが標準で可能 上でも述べた通り、Zigは標準でクロスコンパイルが可能である。 Zig libcのTaget一覧 ❯ zig targets | jq ".libc" [ "aarch64_be-linux-gnu", "aarch64_be-linux-musl", "aarch64_be-windows-gnu", "aarch64-linux-gnu", "aarch64-linux-musl", "aarch64-windows-gnu", "aarch64-macos-none", "aarch64-macos-none", "armeb-linux-gnueabi", "armeb-linux-gnueabihf", "armeb-linux-musleabi

                                                                            ZigはCMakeの代替となるか
                                                                          • とほほのRust入門 - とほほのWWW入門

                                                                            「ラスト」と読みます。 Mozilla に従事するグレイドン・ホアレが個人的に開発していましたが、のちに Mozilla の公式プロジェクトとなりました。 2021年には、AWS, Google, Huawei, Microsoft, Mozilla がメンバーとなる Rust Foundation に権利が委譲されました。 Rust は「錆(さび)」を意味します。開発チームに自転車乗りが多く、ロゴも自転車のさび付きチェーリングを元にしています。 C言語やC++に変わる言語として開発されました。 Stack Overflow で2016~2019年の間「最も愛されているプログラミング言語」として1位を獲得しています。 Firefox の Servo(HTMLレンダリングエンジン)も Rust で開発されています。 if ... や while ... なども式として評価することができます。

                                                                            • C言語から0番地へアクセスする方法についての個人的まとめ - /var/log/hikalium

                                                                              発端はuchan_nos氏によるこのツイートでした。 C言語で、本当にメモリの0番地にデータを書きたいときはどうすりゃええの?— うー@技術書典8 Day1う31 BitNOS (@uchan_nos) 2020年2月12日 それに対する私のリプライ: uint8_t *p = 1; p--; *p = v;— hikalium (@hikalium) 2020年2月12日 私はこれで話が終わると思っていたのだが、どうやらそうではなかったらしく、色々な視点からの意見が加わりながら、話は混沌を極めたのでした…。 ということで、ここに私のこのツイートに対しての見解とか、わかったことをまとめておこうと思います。 私のリプライの背景について uchanさんが求める「0番地にデータを書きたい」という課題設定を、私はこのように解釈しました。 C言語において、整数0をポインタに変換すると、それはNULL

                                                                                C言語から0番地へアクセスする方法についての個人的まとめ - /var/log/hikalium
                                                                              • Rust で SQLite を再実装した 2023 - kawasin73のブログ

                                                                                気合いで実装、どうもかわしんです。 この記事は Rust Advent Calendar 2023 の6日目 兼 情報検索・検索技術 Advent Calendar 2023 の 6 日目です。 Rust で SQLite をフルスクラッチで実装しています。 github.com なぜ SQLite を Rust で再実装しようと思ったのかについては以前の記事で紹介しています。一言で言えば、誰も Rust で SQLite を書いている人がいなかったからやってみたのですが、そもそも SQLite が強すぎるということが再実装しているうちにわかってきて絶望しています。 kawasin73.hatenablog.com 4 ヶ月前にこの記事を書いたときは簡単な SELECT 文しか実行できなかったのですが、現時点では SELECT, INSERT, DELETE 文をサポートし、express

                                                                                  Rust で SQLite を再実装した 2023 - kawasin73のブログ
                                                                                • tsmeetup-draft-wip2.md

                                                                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                                    tsmeetup-draft-wip2.md