並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 584件

新着順 人気順

低レイヤーの検索結果81 - 120 件 / 584件

  • 【Rust】日本語で読めるRust言語の商業本まとめ(2023年4月)【おすすめ】 - Rのつく財団入り口

    機運高まるRust言語に入門しよう Windows自体の開発に使われていることも判明、次期Android OSの開発言語にも採用、ついにLinuxでも採用される(かも)とのことで最近機運が高まっているMozilla発のRust言語。 このエントリでは商業本を分野別に、その中では発行日が新しい順にまとめてみました。第2版がある本の初版含め合計約25冊。そのうち2022年に出たのが計9冊、【追記】2023年に2冊と、数えてみると既にけっこうな冊数になっています。Go言語の日本語の本が確か合計15冊前後ぐらいだったので負けずに盛り上がっていますね。 機運高まるRust言語に入門しよう 補足的にRust本の傾向 入門者向けの本 動かして学ぶ!Rust入門 パーフェクトRust ゼロから学ぶRust システムプログラミングの基礎から線形型システムまで (KS情報科学専門書) 手を動かして考えればよく

      【Rust】日本語で読めるRust言語の商業本まとめ(2023年4月)【おすすめ】 - Rのつく財団入り口
    • Webブラウザ上でGPUプログラミングを可能にする「WebGPU」、Chrome 113で正式版に。3Dレンダリングや機械学習など高速処理

      Webブラウザ上でGPUプログラミングを可能にする「WebGPU」、Chrome 113で正式版に。3Dレンダリングや機械学習など高速処理 GoogleのChrome開発チームは、WebブラウザでGPUプログラミングを可能にするWeb標準「WebGPU」が、4月26日にリリース予定のChrome 113で正式な機能として提供されることを明らかにしました。 WebGPU, one of the biggest additions to the Web platform is finally shipping in Chrome! Many thanks to all Chromium contributors in making this possible.https://t.co/26vmxtQWi1 https://t.co/FKGC3M3FVD — Chrome Developers

        Webブラウザ上でGPUプログラミングを可能にする「WebGPU」、Chrome 113で正式版に。3Dレンダリングや機械学習など高速処理
      • どうして昔の人は8進数でしゃべるのか 「TK80」「Z80」の16進世代が調べたオクタルの歴史

        Kernel/VM探検隊は、カーネルやVM、およびその他なんでもIT技術の話題ジャンルについて誰でも何でも発表してワイワイ盛り上がろうという会です。takeoka氏は、8進数について調査、発表をしました。 よく使う命令は暗記をしていた16進世代 takeoka氏(以下、takeoka):takeokaです。低レイヤー、長い人生、そして……まぁ、格調が低い話をします。 私は16進世代です。若い人にはわからないかもしれませんが、昔はTK-80しかなく、assembleしてくれる機械なんて持っていなかったので、みんなアセンブラ・ニーモニックでバーっとプログラムを書いて、それが終わったらおもむろに16進コードへの変換を手でやっていました。だからよく使う命令は、基本的に暗記していました。 あれですね。HLレジスタへのimmediateのloadは「21」とか、Aレジスタへのimmediate loa

          どうして昔の人は8進数でしゃべるのか 「TK80」「Z80」の16進世代が調べたオクタルの歴史
        • RailsでTZ環境変数を設定するハックを不要にした話 - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)

          TL;DR 『環境変数を設定するだけでRuby on Railsサーバが10%高速化する(かもしれない)話』  でRailsを高速化させる素晴らしいハックが紹介されましたが。いまや有効なハックではなくなりました。 TZハックさん、ながい間(2日間)おつかれさまでした。 はじめに アカツキさまで技術顧問をさせていただいている小崎です。 このエントリは『環境変数を設定するだけでRuby on Railsサーバが10%高速化する(かもしれない)話』をRubyコミッタが読んだらこうなったというアンサーソングになっています。合わせてお読みください TZ環境変数でTime.newが10倍近く速くなるのは素晴らしい発見ですが、コミッタとしてはTZなしでも速くなって欲しいなと思いました。だってめんどうだし。 現状分析 まず問題のテストプログラムを軽く分析してみましょう % strace -c ruby .

            RailsでTZ環境変数を設定するハックを不要にした話 - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)
          • Linuxカーネル内にWebAssemblyランタイムを実装し、ネイティブバイナリよりも高速に実行可能にする「Kernel-WASM」登場

            Linuxカーネル内にWebAssemblyランタイムを実装し、ネイティブバイナリよりも高速に実行可能にする「Kernel-WASM」登場 代表的なWebAssemblyランタイムの1つであるWasmerを開発しているWasmer社は、Linuxカーネル内にWebAssemblyランタイムを実装することで、安全かつ通常のLinuxバイナリよりも高速にWebAssemblyバイナリを実行可能にするオープンソースソフトウェア「Kernel-WASM」を公開しています。 (2023/2/13追記 このKernel-WASMの開発は2020年で止まっておりましたことを見落としていました。最近になって海外で話題になっており、新しい話題だと勘違いしたことが原因です。古い情報であることを基にした記事となっておりますことをお詫びいたします) Linuxカーネル内のWASMランタイムは第二のOS 同社はLi

              Linuxカーネル内にWebAssemblyランタイムを実装し、ネイティブバイナリよりも高速に実行可能にする「Kernel-WASM」登場
            • 文系出身の若手SIer社員が放送大学で情報学を勉強してレベル上げした話|lumpsucker

              はじめにこの記事は、文系出身の若手SIer社員が放送大学で情報学を勉強した記録です。主に似たような境遇の方への情報共有を目的に執筆しました。こんなやり方もある、という参考になれば嬉しいです。 簡単に自己紹介通信会社の名前が頭につくシステムインテグレータ(SIer)で、フロントエンドエンジニア兼UIUXデザイナーとして働いています。私立大学の文系学部を卒業後、研究留学を経て東京大学の学際情報学府という大学院で修士を取得し、2018卒として新卒入社して現在3年目ですそうこうしてるうちに5年目になりました。 大学院は広い意味での情報系ではあったものの、「社会情報学」と呼ばれる分野で、いわゆるコンピュータサイエンスではありませんでした(ICT4Dと呼ばれる国際開発学と情報学の合いの子のような分野の研究をしていました)。入社前には応用情報技術者試験にも合格し、何とかついていけるかなと思っていました。

                文系出身の若手SIer社員が放送大学で情報学を勉強してレベル上げした話|lumpsucker
              • Go言語低レイヤー入門 Hello world が 画面に表示されるまで (GoConforenceTokyo2021)

                Go言語低レイヤー入門 Hello world が 画面に表示されるまで @DQNEO (ドキュネオ) Go Conference Tokyo 2021 2021-04-24

                  Go言語低レイヤー入門 Hello world が 画面に表示されるまで (GoConforenceTokyo2021)
                • Linuxカーネルが難しい?Rustで実装できそう!

                  「ついに、RustでLinuxカーネルを実装できる!」 待ち望んだ感を出してみましたが、2年前に記事を書いてから、すっかり忘れていました。LinuxカーネルのRustサポートについての意見を求められたら、「技術的には面白いけど、実用レベルではないね。」と、上から目線の回答でエンジニアレベルの高さをアピールするつもりでしたが、2年間の間、誰にも聞かれませんでした。 近々、LinuxカーネルにRustサポートが取り込まれそう、ということで、デバイスドライバを実装してみました。 Rust対応カーネルのコンパイルまずは、Rust対応を有効にしたLinuxカーネルをコンパイルする必要があります。「カーネルってコンパイルするものなの?」という読者は、ネットの長老たちに叡智を求めましょう。「インストール直後に、メモリ削減のために不要な機能を無効にして、カーネルコンパイルしたんじゃ。」というような、太古の

                    Linuxカーネルが難しい?Rustで実装できそう!
                  • 大学・大学院の6年間|d0iasm

                    大学と大学院の6年間について振り返ります。 この6年間は自分でも予期しなかったほど大きな方向転換をしました。元々はデザイナー兼ファッションモデルとして仕事ができたら良いなと思って大学に入学しましたが、いつの間にかプログラミングの虜になっていました。夢中でプログラミングをしているときは人生で一番楽しい!と思えました。しかし全て順調だったわけではなく、今思い出しても恥ずかしくなるような失態や、周りに迷惑をかけてしまい謝りたいことなどがたくさんあります。でも失敗にめげずにたくさんの挑戦をしてきたからこそ、自分の向き・不向きを知ることができ、自分のやりたいことを見つけることができました。 この文章で伝えたいことは「迷ったらやってみる」ことです。これから社会人として新しい経験をして忘れてしまう前に、6年間でやってみたことを書き残しておきます。 私のように学業や仕事で大きな進路変更をした人・これからし

                      大学・大学院の6年間|d0iasm
                    • 自作したRISC-V向けCコンパイラでセルフホストまでこぎつけた - 詩と創作・思索のひろば

                      低レイヤを知りたい人のためのCコンパイラ作成入門 まさに低レイヤのことが分かっておらず、以前から気になっていたこの本。取り掛かってみたところ思いのほかスイスイ進められて、勢いに乗ってセルフホスト(自分が書いたコンパイラで自分自身をコンパイルするところ)までいけたので記念に書いておく。正確には C コンパイラのサブセットです。 GitHub - motemen/mocc 全体的な進め方は、 上記の本の通りに進めていく。 それ以降は自作の 8queen が普通に書けるように機能を強化。 それ以降はセルフホストを目標に進める。 プリプロセッサやリンカは作らず、C からアセンブリまで。 という感じ。自分は手を動かさないと進んでる気がしないので、まずは書いてみつつわからない所があれば調べる、というスタンスでいく。 あと、せっかくなので RISC-V の勉強もしたかったのでこれ向けに書く。なので実行は

                        自作したRISC-V向けCコンパイラでセルフホストまでこぎつけた - 詩と創作・思索のひろば
                      • ヤフーのフロントエンドと Node.js の関係性

                        ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。今期から Web フロントエンド領域で黒帯を務めることになりました伊藤(@koh110)です。 普段は情報システム本部に所属しチャットなど内製基盤の開発・運用をしつつ、Node.js 言語サポートチームとしてサーバサイド TypeScript の活用や、SSR(Server Side Rendering)、BFF(Backends For Frontends)のチューニング支援なども行っています。 ヤフーには Node.js と JavaScript の言語サポートチームがあります。Node.js サポートチームは主にバックエンドとして、JavaScript サポートチームはフロントエンドとして、それぞれ JavaSc

                          ヤフーのフロントエンドと Node.js の関係性
                        • 2020 年の React Native 開発 - tomoima525's blog

                          2019 年は React Native にとってはさまざまな変化があったので、それらを振返りつつこの記事では最近の React Native をめぐる状況と個人的見解について書きます。採用を検討している方、Flutter などのクロスプラットフォーム開発フレームワークと比べたいという方の参考になれば幸いです。 フラットに書くことを意識していますが、いち利用者としてのバイアスがあることをご了承ください。 開発体験 Fast Refresh Auto Linking CocoaPods の標準採用 Expo によるワンストップ開発環境構築 フレームワーク/アーキテクチャ Lean Core Android 最新の React への追随 コミュニティ What do you dislike about React Native? react-native-community 管理下のライブラリ

                            2020 年の React Native 開発 - tomoima525's blog
                          • セルフホスト可能なCコンパイラを書く

                            最近、コンパイラを書くことが流行っているようだ。流行に乗ってやってみたらいろいろな知見が得られたので紹介したい。 コンパイラを書くと一口に言ってもいろいろなスコープがある。ここではC言語を用いてCコンパイラを書くことを選択した。C言語は言語仕様的にコンパクトで広く知られている。また、ツールとしてのCコンパイラも普及している。その場合、自分が書いたCコンパイラで、自分が書いたCコンパイラのソースコードをコンパイルすることが原理的には可能だ。これをセルフホストという。ひとつの到達目標として非常に興味深い。 当初は冬の間に終わらせる予定だったのだが春まで伸びてしまった。しかし、春になっても寒かったり雨で家に居る日が多く、アウトドアシーズンまでに目標のセルフホストを達成することができた。 昔、Cのインタプリタを書いたことがあったが、コンパイラを書くのは、はじめてである。時代も進んで開発手法が変わっ

                            • 引っ越し先の部屋にあった謎のIoT機器の正体をエンジニアが明らかにする過程

                              低レイヤのRustエンジニアであるニキータ・ラプコフ氏が、引っ越し先の部屋に設置してあった謎のIoT機器が一体何であるのかを突き止める過程をブログに投稿しました。 What's that touchscreen in my room? | Nikita Lapkov https://laplab.me/posts/whats-that-touchscreen-in-my-room/ ラプコフ氏は2015年築のアパートに引っ越した際に壁に下図のデバイスを発見したとのこと。何らかのタッチスクリーンであることは間違いありませんでしたが、家主はこの機器について全く知りませんでした。本体にはボタンやラベルが存在せず、電源のオンオフを知らせるライトが付いているのみだったとのこと。 アパートのさまざまな家電製品のマニュアルが入ったバインダーを調べると下図のパンフレットが出てきました。このパンフレットを見

                                引っ越し先の部屋にあった謎のIoT機器の正体をエンジニアが明らかにする過程
                              • JavaScriptランタイムのBun、インストール不要の実行ファイル生成が可能に。Webpackより200倍以上高速とするバンドラがβ版、Puppeteerにも対応

                                JavaScriptランタイムのBun、インストール不要の実行ファイル生成が可能に。Webpackより200倍以上高速とするバンドラがβ版、Puppeteerにも対応 サーバサイドで実行可能なJavaScriptランタイム「Bun」は、5月に登場したバージョン0.6で、Bunをインストールすることなく、配置することでアプリケーションを実行できる単独の実行ファイルを生成できる「bun build」機能が搭載されました。 同じくバージョン0.6で高速なバンドラ「Bun Bundler」もβ版となり、6月に登場したバージョン0.6.7ではDiscordのボットを操作するDiscord.jsやWebブラウザを操作するPuppeteerなどの動作も確認されています。 下記はBunの開発者であるJarred Summer氏のツイート。 Standalone executables are coming

                                  JavaScriptランタイムのBun、インストール不要の実行ファイル生成が可能に。Webpackより200倍以上高速とするバンドラがβ版、Puppeteerにも対応
                                • フロントエンドエンジニアがWASM(Rust)でWebアプリを作ってみた

                                  この記事について この記事はアドベントカレンダー2021 Rust 四日目の記事です 概要 フロントエンドエンジニアである筆者がWASM(Rust)でWebアプリを作ってみたので、 その際の技術選定(主にビルド・開発補助周り)について 作ってみた雑感、特に「ぶっちゃけフロントエンドRust[1]ってどうなの?」という点 について書いていこうと思います。 TL,DR 2021年12月現在フロントエンドでのRustの採用は技術的に可能だがエコシステムが未発達なのでそれなりに技術力とコストを要求される とはいえ伸び代はかなりあるのでエコシステムが頑張ってくれれば、数年後には十分一般的な選択肢になってるかも(なってて欲しい) 主な対象読者 フロントエンドに携わる機会がある方々 この記事を読んでいただくことで・・・ フロントエンドという文脈におけるWASMの現状を知ってもらう フロントエンドをRus

                                    フロントエンドエンジニアがWASM(Rust)でWebアプリを作ってみた
                                  • Rust言語を、人命に関わるような決定的に安全性が重要なシステムに使用することをサポートする「Safety-Critical Rust Consortium」設立

                                    Rust言語を、人命に関わるような決定的に安全性が重要なシステムに使用することをサポートする「Safety-Critical Rust Consortium」設立 Rust言語を推進する「The Rust Foundation」は、人命や財産に関わるような安全性が決定的に重要になるシステムのためにRust言語を責任を持ってサポートするためのコンソーシアム「Safety-Critical Rust Consortium」の設立を発表しました。 Rust言語は、C言語のように低レイヤのシステム開発向けに作られたプログラミング言語です。 不正なメモリ領域を指すポインターなどを許容しない安全なメモリ管理や、マルチスレッド実行においてデータ競合を排除した高い並列性を実現している点などの特長を備えているため、安全かつ高速なアプリケーション開発を実現します。 セーフティ・クリティカルとは? 「セーフティ

                                      Rust言語を、人命に関わるような決定的に安全性が重要なシステムに使用することをサポートする「Safety-Critical Rust Consortium」設立
                                    • 人生はyak shaving。失敗も遠回りもいつか自分の糧になると、エンジニアの仕事が教えてくれた - Findy Engineer Lab

                                      こんにちは。motemen(id:motemen)と申します。現在、株式会社はてなでCTOとして開発組織や技術方針のマネジメントに携わっています。新卒ではてなに入社してから、気づけば15年が過ぎていました。今回「Findy Engineer Lab」で寄稿の機会をいただきましたので、自分のキャリアを簡単にふり返ってみたいと思います。 プログラミングの初期衝動 あらゆるウェブページをハックできる、JavaScriptの全能感 プログラマからソフトウェアエンジニアになっていく コードで自分が評価されることの恐ろしさを知った 「話すことが得意ではない」自分がマネジメントの道へ チーフ、そしてCTO 人生yak shaving プログラミングの初期衝動 初めてプログラミングに触れたのは小学生の頃でした。家に、親が仕事で使っていたパソコン(PC-9801)があったので、それに本屋で買ったムック本につ

                                        人生はyak shaving。失敗も遠回りもいつか自分の糧になると、エンジニアの仕事が教えてくれた - Findy Engineer Lab
                                      • 夢中になった技術が「打ち込める仕事」になるまで ─ OSS検索エンジンの開発にコミットし事業にも貢献する - Findy Engineer Lab

                                        はじめまして、 @mocobetaと申します。 パッケージソフトウェアベンダー、コンサルティング会社、Webサービス企業などを経て、現在は株式会社LegalForceというスタートアップの研究開発セクションでソフトウェアエンジニアをしています。 個人としては、Python形態素解析ライブラリjanomeを開発するとともに、OSS検索エンジンライブラリApache Luceneのコミッターをしています。ちなみに本記事のアイキャッチ画像は、絵師さんに描いてもらったjanomeのキャラクターです。とてもかわいく描いていただいて、お気に入りの1枚です。 この記事では、進路とエンジニアとしての力不足に悩んでいた私の若手時代から、10年(以上)の模索期間を経て、ライフワークにしたいと思える技術に出会い、なんとか好きな仕事で食べていけるようになるまでを振り返ります。アップダウンの激しいIT業界において、

                                          夢中になった技術が「打ち込める仕事」になるまで ─ OSS検索エンジンの開発にコミットし事業にも貢献する - Findy Engineer Lab
                                        • Meta(旧Facebook)が、Rustを社内の正式サポート言語に採用。サーバサイド向けとしてPython、C++、Hackに追加

                                          Meta(旧Facebook)は、ブログ「Engineering at Meta」で公開した記事「Programming languages endorsed for server-side use at Meta」で、Rustを新たに社内の正式サポート言語に追加したことを明らかにしました。 Meta社内ではソフトウェア開発において正式にサポートする言語を慎重に選択しており、社内においてサポートされた言語に対しては十分な投資が行われ、プログラミング、デバッグ、デプロイなどにおいて良好な開発体験が期待できるとともに、新しプロジェクトが開始される場合には、サポートされている言語を選択することが推奨されています。 サーバサイド向けの言語としてこれまでPython、C++、Hackがサポートされており、今回そこにRustが追加されました。 性能重視のバックエンドサービスやCLIの開発にRustを推

                                            Meta(旧Facebook)が、Rustを社内の正式サポート言語に採用。サーバサイド向けとしてPython、C++、Hackに追加
                                          • 技術に対するモチベーションが下がったらどうする?Javaスペシャリストを20年以上支えてきた思考法とは - Findy Engineer Lab

                                            世の中にはさまざまなタイプのエンジニアがいます。流行に合わせて次々と新しいプログラミング言語やフレームワークを習得する人もいれば、特定の技術に長く携わり専門性を高める人もいるでしょう。 後者のタイプの代表格と言える一人が、Javaのスペシャリストとして知られるLINE Fukuoka株式会社のきしだなおき(@kis)さん。 彼は20年以上にわたり、この言語と向き合いスキルを突き詰めてきました。 最近では、書籍『プロになるJava*』を執筆するなど、Javaの認知拡大・普及のための活動も行っています。 きしださんは、Javaへの興味が長く続いた理由として「技術コミュニティの存在が大きく影響している」と語ります。 今回はきしださんに、技術コミュニティに関連したエピソードとともに、キャリアを振り返っていただきました。 *…技術評論社より2022.3.19出版。きしだなおきさん、山本裕介さん、杉山

                                              技術に対するモチベーションが下がったらどうする?Javaスペシャリストを20年以上支えてきた思考法とは - Findy Engineer Lab
                                            • “Railsな人” のための低レイヤへの招待 / introduction-to-low-level-mruby

                                              銀座Rails#34 https://ginza-rails.connpass.com/event/211013/

                                                “Railsな人” のための低レイヤへの招待 / introduction-to-low-level-mruby
                                              • JavaScriptランタイム「Bun 1.0」正式リリース。Windows版もまもなく登場へ

                                                JavaScriptエンジンにはSafariに搭載されているJavaScriptCoreを採用。データベース機能としてSQLiteも搭載し、npmパッケージマネージャとしての機能も備えています。 主な開発言語としてZigを採用し、メモリ管理などを含む低レイヤでの実装がBunの高速な動作を支えています。 Bunの高速性を強調 Bun 1.0の発表では高速性が強調されています。例えば下記はTypeScriptでの「hello world」の実行速度。

                                                  JavaScriptランタイム「Bun 1.0」正式リリース。Windows版もまもなく登場へ
                                                • 「アラサーエンジニアの生存戦略」を発表しました

                                                  リードエンジニアから学ぶMedPeerのプロダクト開発という僕が所属する企業のイベントで、「アラサーエンジニアの生存戦略」というタイトルで発表しました。 発表の経緯もともとの発表の着想となったエントリはこちらになります。 技術者としてスポンジであり続けること あるいは老害回避戦略の話 エンジニアリングとは常に学習し続けることである。 思うに、コードを書かず学習意欲を失ってしまった35歳のおじさんたちが自分がコードが書けないこと・学ばないことの言い訳として言い出し始めたのがこの「35歳定年説」の真実じゃないだろうか。 この文章は僕自身が若手とは言えない年齢となり今後シニアな立場へとなっていく中で「自分は老害化していくのではないか」という危機感から自戒も込めて書いたものである。願わくば五年後十年後自分がここに書いたような老害になっていないことを祈る。 この記事のトピックとしては、「エンジニアの

                                                    「アラサーエンジニアの生存戦略」を発表しました
                                                  • ハードウェアの知識が無い人向けのアセンブリ言語の話(draft)

                                                    本記事は書きかけなので内容(タイトルすらも)は随時書き換わっていきます。ドラフトのうちは内容の正確性や文書全体としての整合性についても荒っぽい部分が多々あります。ご容赦ください。 はじめに 本記事はソフトウェア開発者がハードウェアに近い低レイヤといわれる領域に入門するとき、とくにアセンブリ言語に出会ったときにつまずきがちなことを紹介します。主な対象読者はJavaScriptやPythonなどのスクリプト言語などによるアプリ開発からソフトウェア開発に入った、それより下のレイヤになじみのない人です。 筆者は常々アセンブリ言語は技術的にものすごく難しいわけではないものの、学習につまずく人が非常に多いという印象を持っています。その主な原因の一つは、みなさんが普段慣れ親しんでいる人間に使いやすいように作られた高級プログラミング言語(以下高級言語)と、機械に解釈させやすいように作られているアセンブリ言

                                                      ハードウェアの知識が無い人向けのアセンブリ言語の話(draft)
                                                    • けしからんことを放置してはいけない 登大遊氏が語る外国政府によるけしからん遮断から生まれたシン・テレワークシステム

                                                      情報科学若手の会とは、情報科学に携わる学生、若手研究者、エンジニアのディスカッションと交流の会です。NTT東日本特殊局員の登氏が政府に配布停止要請されたVPNソフトの話など、シン・テレワークシステムの開発のもととなった数々の経験を開発秘話として講演しました。最後はなぜ登氏がけしからんことを放置してはいけないと思ったかについて。 IPAで他組織の機材を置いて匿ってあげる 登大遊氏(以下、登):そのころ、ちょうどいろいろやっていたのですが、2016年ぐらいに、経済産業省がまた大学のほうに来まして、「遊んでないで国のためにサイバーセキュリティやれ!」と言ってきたんですね。 産業サイバーセキュリティセンターをIPAの中で作るので、それの環境構築、運営、人材育成の一部をやれと言われて、それで作ったのがこういうものです。これまで、大学の中でどんどん作ってきたものを5年に1回1個ずつ、どんどん大きくして

                                                        けしからんことを放置してはいけない 登大遊氏が語る外国政府によるけしからん遮断から生まれたシン・テレワークシステム
                                                      • Rustで作るLinuxデバイスドライバ

                                                        だれでもできるシリーズとして、Rustでカーネルモジュールを実装しながら学んできましたが(役に立たないキャラクタデバイスドライバなど)、そろそろ実際に使える機能を実装したいころですよね! 今回は、筆者が実装したネットワークPHYドライバが、Rustで実装された初めてのデバイスドライバとしてLinuxカーネルに採用された話を紹介します。 誤解:LinuxカーネルがRustをサポート「LinuxカーネルがRustをサポートした」というニュースを見て、Rustのコードがどんどん採用されていると誤解している方もいるようです。このニュースは、「LinuxカーネルをRustでも書けるようになりましたが、実際に何かを実装するかどうかは未定」という意味です。Linuxカーネルは、メモリマネージメント、ネットワーク、暗号など、数多くのサブシステムで構成されており、それぞれのメンテナが、コードの採否を判断しま

                                                          Rustで作るLinuxデバイスドライバ
                                                        • 増加するAWS Fargateをどうコスト効率良く運用するか 「The Twelve-Factor App」に従った最適化

                                                          AWS Fargateについて 清水崇之氏(以下、清水):2つ目の相談にも進みたいなと思います。2つ目に「AWS Fargateの運用とコスト最適化について」というお話をいただいています。 新しいサービスとしてAWS Fargateというものが出てきたので、こちらもAWSのSAから簡単に紹介したいなと思います。 下川賢介氏(以下、下川):AWSの中でコンテナを扱えるサービスが何個かあるんですが、その1つが「Amazon ECS」という、コンテナオーケストレーションできるようなサービスになってきます。コンテナの実行環境ですね。 このECSには2つのタイプがあって、on EC2で動くECSと、on Fargateで動くECSがあります。それぞれ何が違うかというと、AWSで管理してくれる領域が違います。(スライドを示して)青色で書かれているところがお客さまが管理するレイヤーで、黄色で表されている

                                                            増加するAWS Fargateをどうコスト効率良く運用するか 「The Twelve-Factor App」に従った最適化
                                                          • UnJS にどんなツールがあるのか、上位30件すべて紹介してみた

                                                            タイトル通り、JavaScriptツール群「UnJS」にどんなライブラリが存在するのかをひたすら見てみよう! という記事です。 本当は全て紹介しようと思ったのですが、全75個あり、1つの記事に入れるとあまりにも多すぎるので、この記事では2023年11月4日時点のStar数の順に沿って上位30個を紹介していきます。 UnJS とは UnJSは、Nuxt 開発チームが中心となって開発・メンテナンスされている、あらゆるJavaScriptフレームワーク上で統一的に動作するユーティリティーツール・ライブラリ群です。 UnJSというプロジェクトが何であるかについては、2022年11月に公開された講演映像「UnJS: Nuxt 3 behind the scenes by Pooya Parsa」を観て頂くのが最もわかりやすいと思います。Nuxt 3 正式リリース直後ということもあって、かなり詳細な背

                                                              UnJS にどんなツールがあるのか、上位30件すべて紹介してみた
                                                            • プログラミング言語の習得に必要なもの - Qiita

                                                              はじめに 先日、エンジニアの能力と今どきの難しさというタイトルの記事(2018年)を読んで、「これはほんとにその通り」と思う一方で、具体例がないためにピンと来ない人や、マウント取りではという意見も多数見られた。というわけで、自分が比較的得意な、プログラミング言語の構文解析といった分野に関して、この記事の言わんとしていることを補足するような記事を書こうと思い至った。 記事中では、エンジニアに必要な知識や経験を、「ベース」「カテゴリ」「実行環境」という形(以下)に分けて論じている。 ①ベース コンピュータサイエンス(CS)などの理論的なもの 低レイヤー ②カテゴリ フロントエンド / バックエンド / クライアントアプリなど ③実行環境 特定のプログラミング言語や開発環境やツール、フレームワークやライブラリなど この中で、特に印象的であり、かつ「よくわかる」と思ったのは以下の記述だ。 ③は比較

                                                                プログラミング言語の習得に必要なもの - Qiita
                                                              • 若者向けソフトウェア人材おすすめビルドN選 - Qiita

                                                                この記事はpyspaアドベントカレンダー2021の三日目です。前日の記事はykubotaさんです。 はじめに 「自分には才能がある!」と信じてこの業界に踏み込んだものの右も左も怪物だらけで形見が狭い思いをしているのは僕だけではない。 憧れるのは異世界転生のような俺TUEEEE展開であり「何ってクイックソートをしただけだが?」とか言ってたら地位と名声が向こうから転がり込んできて欲しい。 しかし世の中そんなに甘くなく、標準ライブラリを使って威張れるのは学生ぐらいのものである。 学生?そうだ!学生の頃から精進しまくっていたら今ごろすごいソフトウェアエンジニアになれていたはずなんだ!という後悔を抱えて生きている社会人が世の中にはいっぱいいる。 そんな立場から若者を見ていると「大学に入ってプログラミングを始めました」という大学生を見かけるたびにアドバイスをしたくなる衝動に駆られるが、毎度同じような事

                                                                  若者向けソフトウェア人材おすすめビルドN選 - Qiita
                                                                • 第1回 DBサーバの構造を知ろう! | gihyo.jp

                                                                  本記事は、『Software Design 2019年8月号』の第2特集「ゲームを題材に学ぶ 内部構造から理解するMySQL」をWeb掲載用に再編集したものです。 本記事のテーマを、より基本的なところから丁寧に解説した『SQLの苦手を克服する本 データの操作がイメージできれば誰でもできる』が2019年8月26日に発売予定です。本記事と併せてご活用ください。 ゲーム開発におけるRDBMSの役割 RDBMS(Relational DataBase Management System)は業務システム(以下、業務系)で多くの実績を作ってきました。一方でゲーム分野(以下、ゲーム系)では、RDBMSはほとんど使われていませんでした。ネットゲームではなく、スタンドアローンのゲームが中心だったので、プレーンなテキストやバイナリ形式でデータを保存していたからです(スタンドアローン環境向けのSQLiteもまだ

                                                                    第1回 DBサーバの構造を知ろう! | gihyo.jp
                                                                  • やってよかったbuild own x系(自作OSとか自作DBみたいな自作~)を紹介してみる

                                                                    はじめに build own xってなに?という方がいらっしゃると思います。 下記ページにあるような自作~みたいなやつのことを指しています。 自作OSとかDBとかとにかく様々な種類があるんですが、僕がやってみて良かったなぁと感じたものだけ紹介します。(一部やってないけど良さそうなのも紹介します。) 難易度を星5を最高として書いていきます。 言語は日本語 or 英語です。 コンパイラ writing interpreter in go 形態:本 言語: 日本語、英語 コンパイラ系なら一番初めにおすすめなのは間違いなくこれ。 日本語版では「Go言語でつくるインタプリタ」という題で出版されています。 外部に依存するライブラリを一切使わないのが特徴でスクラッチで書きます。 語り口調も平易でわかりやすく、コンパイラ?インタープリタ?という方にもおすすめ。 Monkeyという言語を実装するのですが、既

                                                                      やってよかったbuild own x系(自作OSとか自作DBみたいな自作~)を紹介してみる
                                                                    • 究極のスキルアップ!プログラマーのあこがれ言語「Lisp」を始めよう

                                                                      新型コロナウイルスの感染がまたも拡大し、外出を控える人が増えてきた。自宅で何かできることを探している人は多いはずだ。中にはプログラミングを始めてみたい人もいるだろう。あるいは、プログラミングに関する新しい技術を身に付けたいソフトウエアエンジニアもいるかもしれない。 プログラミングを学ぶ際には、プログラミング言語の選択が重要になってくる。言語が異なると、プログラムの書き方が変わってくるからだ。 では、どの言語を学べばよいだろうか。最近はPython(パイソン)が人気で、Go(ゴー)やRust(ラスト)といった低レイヤーに強い言語も注目を集めている。ただ、「人と同じような言語を学ぶのはつまらない」と考える人もいるかもしれない。 そうした人にぜひお勧めしたいのが「Lisp(リスプ)」だ。数ある言語の中でも独自の存在感を放つ。現役バリバリでソフトウエアを開発しているプログラマーでも「いつかはLis

                                                                        究極のスキルアップ!プログラマーのあこがれ言語「Lisp」を始めよう
                                                                      • Cコンパイラ作成のオンラインコースを始めます

                                                                        Cコンパイラ作成のオンラインコースを始めます Rui Ueyama 2020-04-15 Cコンパイラを作成するオンラインのコースを試験的に始めてみようと思います。僕の書いているオンラインブック「低レイヤを知りたい人のためのCコンパイラ作成入門」を教材として使います。対象者は、この本の内容に(少なくとも大まかには)従ってコンパイラを作ってみたいと考えている人です。なお、このコースは個人が適当に思いつきでやっているものでそんなにフォーマルなものではありません。 進め方 週1回のペースで動画配信あるいはビデオ会議などの形で参加者からの質問に答える機会を作ろうと思います。オンラインブックそのものを授業形式で説明するということは行いません。参加者が事前にオンラインブックを読んできて、それに対しての質問などを受け付ける形にしようと思います(いわゆる反転授業スタイル)。また、参加者のコードを軽くコード

                                                                        • フルスクラッチでQEMU型自作エミュレータはどう作る? Rustを使った自作バイナリ変換型シミュレータ

                                                                          Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。msyksphinz氏は、自作エミュレータで得た学びについて発表しました。全2回。前半は、自作エミュレータの実装とその結果について。 実機が存在しなくてもエミュレータを使えば動きの中身が見える msyksphinz氏(以下、msyksphinz):「Rustで作るフルスクラッチQEMU型エミュレータ」と題して、発表をします。 簡単に自己紹介をさせてください。Twitterだとこういうアカウントでいろいろと活動しています。趣味で「FPGA開発日記」というブログを書いていて、RISC-V、FPGA、CPU、低レイヤプログラミングなど、興味のあるものの記事を書いています。本業はハードウェア開発エンジニアをしていて、汎用CPUの設計などの仕事をしています。 今回はRustとい

                                                                            フルスクラッチでQEMU型自作エミュレータはどう作る? Rustを使った自作バイナリ変換型シミュレータ
                                                                          • APIとかABIとかシステムコールとか - 覚書

                                                                            はじめに 本記事はLinux環境における次のようなことをざっくり理解するための記事です。 Application Programming Interface(API)って何? Application Binary Interface(ABI)って何? システムコールとAPIとABIの関係って? それぞれ何がどう違うの? この手の情報はググればwikipediaやらにいろいろ情報が載ってるんですが、初心者が理解するには細かいことまで書かれすぎていて、かつ、それぞれの関係がわかりにくいです。なので、用語を逐一解説するのではなく、ありがちな質問のQAという形をとりました。人によって用語の意味の揺らぎがあったりするんですが、私の解釈ということで。あからさまに間違っていたら指摘していただけると嬉しいです。 これを書こうと思ったきっかけは、以前こんなtweetを見かけたことです。それから「そういえば最

                                                                              APIとかABIとかシステムコールとか - 覚書
                                                                            • 大学でもっとまじめに学んでおくべきだった - 覚書

                                                                              大学ではB4の一年間、人によってはさらにMとかDとかで研究をします。そこで学べることについて、および、それを学ばなかったがために私が苦労したことを書きます。ここでは大学に行く人を主な読者層にしていますが、そうでなくても就職した後に後述の問題に遭遇することでは同じです。 わたしは高校時代は「プログラミング一本で生きていく」という決意をしていました。そこで近くの大学に情報工学科という学科があったので、そこを受験しましたが見事落選、第二希望だった別の学科に受かりました。このあとわたしの大学生活のポリシーは「可能な限り楽をして大学を出る、その間にプログラミングについての知識を独学する」でした。B4およびMでの研究においてもそのポリシーを愚直に守り通し、手抜きに手抜きを重ねてギリギリで卒業、修了しました。不良学生というやつです。最終的にはプログラミングやその他低レイヤといわれる領域の知識は平均的なC

                                                                                大学でもっとまじめに学んでおくべきだった - 覚書
                                                                              • 基礎と低レイヤーは混同しがち。基礎とは何で、どう勉強するか。 - きしだのHatena

                                                                                基礎と低レイヤーは混同しがちという現象をみかけたのでメモ よくあるのが、「IDEを使うと基礎が勉強できない、メモ帳でコードを書いてコマンドラインでjavac / javaするところから始めるべき」みたいな話。 ツールを使わずツールが隠してる部分を自分でやって勉強せよ、フレームワークを使わずフレームワークが隠してる部分を自分でやって勉強せよ、という話は、これ自体は間違いではないのだけど、これを「基礎」と言ってしまうと違った方向に行ってしまう。 これは基礎ではなくて低レイヤーではなかろうか。 そして、低レイヤーは「ツールを使わずにやれ」と言ってる人の想定する「ツールを使わず」というのもすでにツールを使っていたりする。ほんとに低レイヤー知りたいなら、javac使わずハンドコンパイルでしょう。Javaバイトコード知っておくべきでしょう。 と、だんだんマニアックなこと知ってる自慢になっていく。 こう

                                                                                  基礎と低レイヤーは混同しがち。基礎とは何で、どう勉強するか。 - きしだのHatena
                                                                                • プログラミング1年くらいやってつまづいたこと

                                                                                  プログラミングを本格的に始めてから1年くらい経ったので、今まで印象に残ったつまづきポイントを書いておく。 C言語 去年の今頃は 42 Tokyo の Piscine に参加していた(そのときの記事)。 このときはC言語でひたすら libc の再実装をしていた。それまでは Python や JavaScript でちょっとしたスクリプトを書いただけでC言語を書いたことが無かったのでとても辛かった(毎日100回の Segmentation fault を見る生活を4週間続けた)が、コンピュータの基礎に近づけた気がした。メモリをいちいち人間が確保したり解放したりしなきゃいけないというのがとても面倒だった覚えがある。 ところで、人間がコンピュータを使って何かしらの課題を解決しようとしたときに突き当たる壁として、ハードウェアやソフトウェアにそれぞれ多数の階層が積み重なっていて、どこで何が行われている

                                                                                    プログラミング1年くらいやってつまづいたこと