並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 3633件

新着順 人気順

コンパイラの検索結果121 - 160 件 / 3633件

  • リモートでアメリカの大学院に通い始めた - k0kubun's blog

    今年春に出願、夏に合格して秋学期からオンラインのコンピュータサイエンス修士コースで勉強している。ちょうど秋学期が終わって成績が返ってきたので、どういう感じだったか書いておく。 I've been officially admitted to Georgia Tech's OMSCS (Online Master of Computer Science). I'm excited for being a student again. I chose the online course to take it without quitting my job, but due to COVID-19 it's probably not that different from other people's experience.— k0kubun (@k0kubun) July 31, 2020 ど

      リモートでアメリカの大学院に通い始めた - k0kubun's blog
    • Rustのメモリ管理機能とその特徴

      初出:技術評論社刊「ソフトウェアデザイン 2021年9月号」 先日、技術評論社よりRustのメモリ管理機能についての特集に寄稿させて頂きました。 この記事は自分が寄稿させていただいた記事をブログ用に一部推敲・加筆を加えたものです。 なお、ソフトウェアデザインでの特集ではより実践的な例でのメモリ管理についての解説もあるので、興味のある方は本誌のほうも手にとっていただければと思います。 プログラム言語におけるメモリ管理の課題プログラミングにおける課題の一つとしてどうやってメモリ領域(ヒープ領域)を管理するかというものがあります。 C言語ではmalloc/free関数などを用いて手動でメモリを管理しています。 これらの関数はメモリアドレスを示すポインタを介してメモリ管理を行います。 malloc関数は必要なメモリ領域を確保してその先頭番地のポインタを返し、プログラム内ではその番地のメモリを読み書

      • Go コンパイラのコードを読んでみよう - kosui

        はじめに 本記事は、 DeNA Advent Calendar 2020 の 11 日目の記事です。 突然ですが、「コンパイラのコードを読んでみよう」なんて言われても、「どうせ巨大で難解で複雑なロジックを理解しないと読めないんでしょ?」と思いませんか。 コンパイラの構造を理解しようとしても聞いたことのないような専門用語がずらりと並び、コードを読もうとしたらそれらをすべて完全に理解してないと一行も理解できないんじゃないか...。Go のコンパイラ gc のソースコードを読むまでは、私もそう思っていました。 しかし、あまりにも暇な休日のある日、思い立って gc のコードを読んでみました。すると、「コンパイル」という難解な響きの処理も、一つひとつを小さなタスクに分解することで、少しずつ読み進めることができると分かったのです! 何よりも感動したことは、 gc そのものが全て Go で書かれていて、

          Go コンパイラのコードを読んでみよう - kosui
        • プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで

          2022年4月22日紙版発売 2022年4月19日電子版発売 鈴木僚太 著 B5変形判/424ページ 定価3,278円(本体2,980円+税10%) ISBN 978-4-297-12747-3 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 本書のサポートページサンプルファイルのダウンロードや正誤表など この本の概要 TypeScriptは,JavaScriptに静的型付けの機能を加えたオープンソースのプログラミング言語です。本書では,根幹となるJavaScriptの仕様・機能とともに,TypeScript独自の仕様・機能を解説します。TypeScriptの基礎知識はこれ一冊だけで学べます。 静的型付き言語は世にいくつもありますが,Type

            プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで
          • 実装言語を「Go」から「Rust」に変更、ゲーマー向けチャットアプリ「Discord」の課題とは

            ゲーマー向けの無料音声テキストチャットアプリケーション「Discord」を開発、提供するDiscordは2020年2月5日(米国時間)、アプリケーションを支える基盤サービスの一つである「Read States」をRust言語で再実装し、その結果サービスのパフォーマンスが大幅に向上したと公式ブログで明らかにした。 Read StatesサービスはこれまでGo言語で実装されていた。それにもかかわらず、なぜRead StatesをRustで再実装しようとしたのか、どのように再実装したのか、再実装によってどのようにパフォーマンスが向上したかを解説した。 Rustで再実装した背景とは Read Statesサービスの目的は、Discordユーザーがどのチャンネルのどのメッセージを読んだのかを追跡することだ。つまり、ユーザーがDiscordに接続したり、メッセージを送信したり、メッセージを読んだりする

              実装言語を「Go」から「Rust」に変更、ゲーマー向けチャットアプリ「Discord」の課題とは
            • Goで作るテキストエディタ - Sansan Tech Blog

              はじめに みなさんこんにちは。Sansan事業部プロダクト開発部のiOSエンジニア荒川です。 以前はRDBMSの記事*1を寄稿し、好評いただいたこともあり、定期的に車輪の再発明系の記事を書いていこうと思います。 さて本日はタイトルの通り、VimやEmacsに代表されるターミナルで動作するインラインテキストエディタをGoで開発してみました。 ソースコードは以下のリポジトリに置いているため、ぜひ参考にしてください。 github.com 完成品 文字だけだとイメージも湧きにくいので、まずは完成品をお見せします。 最低限エディタの動きは出来ている、というレベルの完成度ですね🙏 特徴 1000行インラインエディタ 文字入力/挿入/削除 画面スクロール キーボードショートカット ファイル読み込み/保存 Goのコードハイライト機能 実装の方針 今回はただ開発するだけではなく、いくつかのこだわりポイン

                Goで作るテキストエディタ - Sansan Tech Blog
              • 2023 年に読んでよかった本

                2023 年に読んでよかった本 2023.12.30 年末なので 2023 年のまとめっぽい記事を書きたくなりました。今年は 1 年間でおおよそ 300 冊の本をよんだようです(そのうち 3 割ほどはラノベなのですが...)。その中でも特に印象に残った本を紹介します。 年末なので 2023 年のまとめっぽい記事を書きたくなりました。 今年は 1 年間でおおよそ 300 冊の本をよんだようです(そのうち 3 割ほどはラノベなのですが...)。その中でも特に印象に残った本を紹介します。 忘れる読書 この本では「本は忘れるために読んでいます」と語られています。というわけでこの本の内容もあまり覚えておりません(?)。 本を読むときには一字一句正確に覚えるような読み方をしていると、「覚えなきゃ」という気持ちが芽生えてしまい、本を読むことが苦痛になってしまうことがあります。そうではなくて、パラパラとペ

                  2023 年に読んでよかった本
                • オープンソースは誰もがヒーローになれる平等な空間 ─ 小さくてもソースコードを公開することが「チャンス」 - Findy Engineer Lab

                  こんにちは。mattn(@mattn_jp)です。一部の方はご存じかもしれませんが、僕は普段あまり皆さんの前に登場することはありません。どちらかというとお堅いSI業で仕事をしています。社会人になってから今まで一度も、Web業界と呼ばれるB2C(Business to Customer)な職種に転職したこともありません。 ですが、今ではOSS(オープンソースソフトウェア)を通して、多くのエンジニアと友達になり、カンファレンス等で何度かお話しする機会をいただくまでになりました。この記事では、OSSに縁遠いはずの僕が、いかにしてOSSと出会い、そして多くの方たちと知り合うチャンスを得たのかをご紹介したいと思います。 オープンソースとの出会いはVim 日本のVimコミュニティを作る VimConfで作者Bram Moolenaarと握手 Vimから得られたチャンスや出会い GoコミュニティからGo

                    オープンソースは誰もがヒーローになれる平等な空間 ─ 小さくてもソースコードを公開することが「チャンス」 - Findy Engineer Lab
                  • あなたのPythonを100倍高速にする技術 / Codon入門

                    はじめに Pythonは世界的にも人気のあるプログラミング言語ですが、実行速度については課題があります。Pythonの実行速度を高速化したい、という要求は根強く、これまでにも様々なツールや処理系が開発されています。 この記事ではMITの研究者らが開発したPythonを高速化するツール「Codon」について紹介します。 この記事を3行でまとめると: 高性能で簡単に扱えるPythonコンパイラ「Codon」 Pythonとの互換性がありながら、CやC++に匹敵する高速化を実現 実際にPythonコードが100倍速くなることを検証 Codonとは Codonは高性能なPythonコンパイラです。実行時のオーバーヘッドなしにPythonコードをネイティブなマシンコードにコンパイルし、シングルスレッドで10-100倍以上の高速化が実現できます。Codonの開発はGithub上で行われており、2021

                      あなたのPythonを100倍高速にする技術 / Codon入門
                    • ギットハブ、「マスター」の用語を変更--BLM運動がきっかけに

                      印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます GitHubの最高経営責任者(CEO)は、奴隷制度に関係する用語を不必要に使用するのを避けるために、「マスター」という用語を「メイン」などの中立的な用語に変更する取り組みを進めていることを明らかにした。 既に、GitHub以外にも多くのIT企業やオープンソースプロジェクトが、黒人コミュニティーが不快に感じる可能性がある用語をなくす活動に対して支持を表明している。 これには、「マスター」や「スレーブ」を「メイン、デフォルト、プライマリー」や「セカンダリー」に変更することだけでなく、「ブラックリスト」や「ホワイトリスト」を「拒否リスト」や「許可リスト」に変更することなども含まれる。 ITコミュニティーでは、全米で巻き起こっている「ブラックラ

                        ギットハブ、「マスター」の用語を変更--BLM運動がきっかけに
                      • データベースと向き合う決意 | フューチャー技術ブログ

                        秋のブログ週間の9本目のエントリーになります。この企画もこんなに書く人が出てくるように育っていいですね。 「中間層を増やして柔軟性を高めるのがソフトウェアの歴史」 これは大学時代に2つ上の先輩が言っていた言葉です。例えばマシン語を直接書くのではなく、アセンブラで書けば、変換(コンパイル)の手間はかかりますが、他のCPUへの移植はしやすくなります。高級アセンブラと名高いC言語を使えばさらに移植性は上がります。C言語で書かれたVMを使う言語、例えばJava、Python、Rubyなんかはさらに移植性は上がります。 ストレージもそうです。最終的にストレージはビット列を保存するものですが、それにOSのファイルシステムというレイヤーがあり、そこにスキーマで管理されたデータを入れるDBMSが乗っかり、SQLなどの問い合わせ言語でデータ取得できるようにします。DBMSを挟むことで、レプリケーションでバッ

                          データベースと向き合う決意 | フューチャー技術ブログ
                        • Pythonコードを35000倍に高速化したい

                          はじめに Pythonは世界的にも人気のあるプログラミング言語ですが、実行速度については課題があります。Pythonの実行速度を高速化したい、という要求は根強く、これまでにも様々な処理系が開発されています。 この記事はPythonで書かれたコードを35000倍に高速化するにはどのような方法があるかについてまとめたものです。 この記事は: Pythonで書かれたアルゴリズムを35000倍に高速化する 事前コンパイル、並列化、SIMD演算を駆使する 最終的に44000倍まで高速化できた なぜ35000倍? 2023年5月2日にModular社よりPythonの使いやすさとC言語の性能を兼ね備える新しいプログラミング言語、Mojoの開発について発表がありました。低レベルのハードウェア向けにコンパイル可能なこと、文法的にはPythonを踏襲しており、既存のPythonライブラリを利用可能であること

                            Pythonコードを35000倍に高速化したい
                          • 会社員辞めて入学した大学院修士課程がそろそろ終わろうとしているのでまとめておく - seri::diary

                            これは何か 筆者について なぜ大学院に入ったのか 日本の大学院という場所について 大学院での研究内容について 自分の発表実績 大学院生活について おわりに これは何か 2018年3月に仕事を辞めて,2018年4月に筑波大学大学院システム情報工学研究科コンピュータサイエンス専攻博士前期課程(修士課程)に入学した.それから早くも2年弱が経ち,もうすぐ修了なので大学院生活を忘れないうちにまとめておくだけのエントリである. 修了自体は2020年3月だが,あとは修論を仕上げて提出すれば終了なので研究自体はもう実質終わっている状態である*1. 筆者について 2009年3月に岩手大学農学部を卒業.新卒で上流系SIerに就職して2年半ぐらい勤務した後に,コード書きたくてwebアプリエンジニアに転向.その後,6年半ぐらいweb受託,webサービス運営企業などでソフトウェアエンジニアとして勤務.2018年3月

                              会社員辞めて入学した大学院修士課程がそろそろ終わろうとしているのでまとめておく - seri::diary
                            • フルタイムOSSコミッタを始めて2か月経った - k0kubun's blog

                              Shopifyに入社してRubyのJITコンパイラを書く仕事を始めてから2か月経った。 前職の退職エントリ では今後やりたいことを書いたりしたが、実際OSS開発を仕事にしてみてどうだったかみたいなことを書いておく。 シリコンバレーでのリモート生活 3年前に妻とアメリカに移住し、今年永住権も取得した。 Shopifyは本社はカナダにあるし2020年5月からフルリモート企業なのだが、 前職の本社があったシリコンバレーのあたりからそのまま引っ越さずに暮らしている。 なぜシリコンバレーに住み続けるのか フルリモートである以上はカナダ移住のためのビザのサポートを会社がする動機もないため、 現職においても住む国の選択肢は基本的に日本かアメリカになると思っている。 飯が安くて美味いのを主な理由として妻も僕も住むならアメリカより日本の方が好きなのだが、 住む地域ベースで多くの企業が給料に傾斜をかけてくるこ

                                フルタイムOSSコミッタを始めて2か月経った - k0kubun's blog
                              • におうコードの問題集でWEBエンジニア総合力の向上を目指す - 技術書LT&懇親会【Caraquri Tech Night #1】 - このすみノート

                                「技術書LT&懇親会【Caraquri Tech Night #1】」で、LTプレゼンをしました。 オススメの技術書を紹介し合って、気づきや知見を増やすイベントです。 caraquri.connpass.com 私は本が好きなので、定期的に書店に足を運んでいます。 今回のイベントでは、技術系同人誌についてプレゼンされる方が多かったです。 におうコードの問題集 私は「におうコードの問題集」について発表しました。 におうコードの問題集とは? 「におうコードの問題集」は技術書典で頒布されているシリーズ作品で、過去に3作が頒布されています。 技術書典4: リファククタリング 〜バリエーションに立ち向かう編〜 技術書典5: セキュリティ 〜セキュリティホールに立ち向かう編〜 技術書典6: 設計 〜ソフトウェア設計に立ち向かう編〜 におうコードとはなにか? 「におうコード」とは、脆弱性・バグ・保守性が

                                  におうコードの問題集でWEBエンジニア総合力の向上を目指す - 技術書LT&懇親会【Caraquri Tech Night #1】 - このすみノート
                                • プログラミング言語論入門 - riswu’s blog

                                  第0章. なぜ Scala を使うのか? はじめに 本稿は、John C. Mitchell 氏らによる Concepts in Programming Languages を基に自身の見解を交え、私がなぜ Scala を好んで使うのかを論じた記事になります。 プログラミング言語の歴史 本題に入る前に、プログラミング言語の歴史について紹介します。 年代 言語・イノベーション 1950 Fortran and Cobol 1960 Lisp and Algol 1970 Abstract data types (Simula, C, SQL) 1980 Objects (Smalltalk, C++) 1990 Java, JavaScript, Python, Ruby これは、年代ごとに開発された言語およびイノベーションを表にまとめたものになります。ただし、この表には欠けている事柄があり

                                    プログラミング言語論入門 - riswu’s blog
                                  • リンカ

                                    ついに、リンカの説明をするときが来た。 ここに至るまでに、何度「リンカのところで説明する」と書いただろうか? ここまで読んできた人ならば、 リンカというものが、なにやら色々やっているんだな、というのはわかってきたのではないかと思う。 筆者が常々思っていることのひとつに、「C言語に関する書籍は、リンカの説明をおざなりにしすぎだ」というのがある。 多くのC言語の書籍は、 コンパイラがソースコードをアセンブリコードに変換します アセンブラがアセンブリコードを機械語に変換します リンカが機械語をリンクして実行ファイルが作られます と、いう解説がなされがちである。この説明を見たら、多くの人が、「え、リンクってなんですか?」と、思うに違いない。 アセンブラには、「人間が読めるニーモニックを、機械が読める機械語に変換する」みたいな、最低限の説明が付くものの、 リンカの説明は「リンクをします」のひとことだ

                                    • 退職しました - ししちにじゅうはち 4x7=28

                                      例の画像をここに貼る どこを 東海地方では有名な大企業D社を退職しました。 実に9年も勤めていたようです*1。 経緯 * 入社前 東北大学院情報科学研究科の大堀研究室にて、プログラミング言語の研究をしていました*2。 自分の研究は、関数型プログラミング言語のSML#コンパイラの内部機構とIDEの支援機能の連携でした*3。 他にも、コンパイラの中間表現をいじったり、授業やゼミでラムダ計算や論理学や並列計算や画像処理や、あれこれやっていたなぁとぼんやり思い出します*4。 学ぶのが好きで大学や大学院の授業は真面目に受けていました。 また、ゼミでは先生や先輩から知識から普段の生活まで様々なことを学ばせてもらいました。 ただ、当時はこの知識の貴重さへの認識が薄かったと思います。 しかし実務をして役立った知識はとても多く、その価値の重さを再認識しています。 * 新人研修時代 大企業らしく、半年以上の長

                                        退職しました - ししちにじゅうはち 4x7=28
                                      • 1人の女性がエンジニアになるまで 〜yuryuの場合〜|Yuryu

                                        先日、「1人の女性がエンジニアになるまで」というタイトルの記事が投稿されているのを読みました。「どうして」エンジニアリングの世界に入ったのかが細かく書かれていて、とても共感しました。まだ読んでいない方はぜひ下のリンクから。 現在アメリカのシアトル市で、グーグルの Developer Advocate をしています。Developer Advocate はよくカンファレンスで発表したり、オンラインに記事を投稿したりすることが多いですが、私はここ数ヶ月はずっと開発に専念しています。30代半ばで、肩書には「シニア」とついていますが管理職ではない、会社は5社目で現在在職6年目です。Twitter は @Yuryu で、日常のことをよくつぶやいています。 誕生〜幼稚園私は大阪府貝塚市というところで生まれ育ちました。隣のだんじりで有名な岸和田市と、ふるさと納税で有名な泉佐野市に挟まれた、地味な自治体で

                                          1人の女性がエンジニアになるまで 〜yuryuの場合〜|Yuryu
                                        • 「ARM」という単語の意味を啓蒙する記事 - Zopfcode Essay

                                          同じARMだからといってポン付けでは動かんぞ定期 / 他6件のコメント https://t.co/ZW4ffdQP88 “「M1搭載MacでArm版Windows 10は動作可能。すべてマイクロソフト次第」アップル幹部が語る - Engadget 日本版” (23 users) https://t.co/aia65JYL5V— Takumi Sueda (@puhitaku) 2020年11月21日 追記: いろいろあって面白かったので、頂いたコメントの返信を末尾に追記しました 追記2: Engadget 日本版が閉鎖するため、上記記事「M1搭載MacでArm版Windows 10は動作可能。すべてマイクロソフト次第」アップル幹部が語るの魚拓を貼っておきます megalodon.jp 昨今の買収劇に始まり、というかそれ以前から、ARM (Arm) という固有名詞はコンピューターを語る上では

                                            「ARM」という単語の意味を啓蒙する記事 - Zopfcode Essay
                                          • よりよいCSSを書くための、CSS / Sass (SCSS) 30のルールとその理由

                                            Webエンジニアを始めて丸2年が経ちました。 複数プロジェクトを進める中で、CSSコーディングを行うときの「こうしておくと便利」「このほうが管理しやすい」といった知見が溜まってきたのでまとめます。 はじめに 長くなってしまった細かい説明はところどころ折りたたんでいます。概要だけで理解できたら飛ばしていただき、詳しい話が気になったら開いて読んでください。 これらは「自分がよく取り入れている手法」であって、必ずしもどのプロジェクトにも当てはまるものではないと思います。 各項目について、自分がその判断に至った 「理由」 を説明していますので、 理由を読んだ上で自分のプロジェクトに取り入れるか判断いただくと良いと思います。 この記事は、すでにCSSコーディングをしていてアイデアがほしい人に向けた記事で、 CSSをこれから学び始めるような 初学者向けではない ことご了承ください。 一般的と思われるキ

                                              よりよいCSSを書くための、CSS / Sass (SCSS) 30のルールとその理由
                                            • Googleのソフトウェアエンジニアリング

                                              Googleの現役ソフトウェアエンジニアたちが、超大規模ソフトウェアの開発と保守を長期的に支えてきたGoogle社内の多様なベストプラクティスを、文化、プロセス、ツールの側面からこの一冊に凝縮。時間と変化、規模と成長、トレードオフとコストという3つの基本原理に沿って、コードを持続可能にする方法論を紐解きます。「謙虚、尊敬、信頼」、心理的安全性、ダイバーシティとインクルージョンなど公正を重んじる文化から、コードレビューやテスト構成法など人間の行動を規定するプロセス、継続的インテグレーションや大規模変更システムなど変化への対応を支援する自動化ツールの基盤技術まで、Googleが試行錯誤を経て獲得した教訓を余すところなく紹介しています。経済学、心理学、マネジメント論などを背景にした人間への深い洞察をふまえ、データ駆動かつトレードオフから導かれる、定量的かつ定性的な決定プロセスも解説。Google

                                                Googleのソフトウェアエンジニアリング
                                              • どのようにTypeScriptを使うのか - uhyo/blog

                                                現在、TypeScriptの重要性は、フロントエンド開発を中心としてますます増すばかりであります。それだけに、TypeScriptをどのように使うべきかという問題については多様な意見が見られます。 これまで筆者はTypeScriptの使い方に、特にコンパイラオプションの使い方について意見を散発的に発信してきましたが、このたび記事にまとめました。この記事では、特に次のような意見に対しての反対意見を述べます。 厳しいコンパイラオプションは型パズル愛好者のためのものであり、普通の人は細かいことを気にせず緩い設定でよい。熟練のJavaScript使いにはTypeScriptは必要ない。例え話最近はTypeScriptを補助輪に例えたりするのが流行っていますので、この記事でも例え話をしてみます。筆者の考えでは、TypeScriptというのは例えるならば料理人が使う包丁のようなものです。コンパイラオプ

                                                  どのようにTypeScriptを使うのか - uhyo/blog
                                                • WebAssemblyの歴史について

                                                  はじめに 最近、Node.jsとDenoの開発者であるRyan DahlさんがJavaScript Containersという記事を書いていることを知った。 Webとの親和性の高さがサーバーサイドで求められる中、JavaScriptがユニバーサルスクリプトとして活躍するだろう。そして、コンテナランタイムがLinuxコンテナの抽象レイヤーとしてあるように、JavaScript界隈では既存のWebAPIそのものが抽象化の手助けとなるであろう、みたいな趣旨の内容だった。 彼がChromeのV8 JavaScript Engineを使ってNode.jsを誕生させた同じ頃、JavaScriptの可能性を信じて方法を模索した人がいる。Alon Zakaiさんだ。 Alon(以降、敬称略)はWebAssemblyやその考えの元になった asm.js 、 JavaScriptコンパイラ Emscripte

                                                    WebAssemblyの歴史について
                                                  • TypeScript 本体のコードを読んでみよう

                                                    みんなお世話になっている TypeScript のコードを読みたいと思ったことはないだろうか。読んだ。 一週間ぐらいかかった。完全に読み切ったとは言えないが、概要は掴んだ。 なかなかに複雑でドメイン知識を得るのが難しかったので、これから読む人向けに、登場人物や概念を整理して紹介したい。 読んだのは 2023/6/8 時点で git clone したコード。 最初に: 自分のゴール設定 複数ファイルにまたがった参照を、 TypeScript の Language Service が提供する findReferences() や findRenameLocations(), goToDefinitions() を使って、インクリメンタルに書き換えたかった。 Terser を使うと、今触ってるオブジェクトが何で、何のメンバを書き換えたかの情報が残らない。これを TypeScript のレイヤーで

                                                      TypeScript 本体のコードを読んでみよう
                                                    • めくるめくLinuxカーネルじゃないLinux実装の世界 - Qiita

                                                      EDIT^7: blink と box86、FEX。 EDIT^6: Unikraft 。 EDIT^5: Tilck 。 EDIT^4: コメント。gVisor はすっかり忘れていました!Linuxを拡張するためにLinuxを実装した良い例だと思います。LINE有りましたね。。 SF.netのCVSはもう死んでしまったので除外にしました。。 OSvのバイナリ互換 はPIEであることが要求なので。。といっても世間的にはもうLinux = Debian/Ubuntu で良いですかね。。表現を調整しました。 EDIT^3: Noah忘れてた! EDIT^2: Cygwinは 下書き段階で削ってしまった 。。 qemuを移植したとき に互換性がイマイチだったので。。特殊fdやprocfsの充実ぶりとかを考えると "かなりLinux" と言って良いとは思うけど、 mmap 等でLinuxとWind

                                                        めくるめくLinuxカーネルじゃないLinux実装の世界 - Qiita
                                                      • NEDOが25億円投じ日の丸RDBを開発中、「国産にも勝機あり」と自信を見せる理由

                                                        厳格なOLTPと高速なOLAPを両立 新RDBの特徴は厳格なOLTP(オンライントランザクション処理)が可能でありながら、ビッグデータ分析にも使用できる高いOLAP(オンライン分析処理)性能を有していることだ。OLTPとOLAPの両立はHTAP(Hybrid Transaction/Analytical Processing)と呼ぶ。OLTPで用いる行方向のデータは不揮発性メモリーを採用する主記憶(メインメモリー)に格納し、OLAP用の列方向のデータを2次記憶装置に格納する。2次記憶装置にも不揮発性メモリーを使用する。 OLTPに関しては、トランザクション処理の分野で一般的なベンチマークである「TPC-C」において1ノードで1000万トランザクション/秒(TPS)の達成を当面の目標とする。そしてトランザクション処理においては、一貫性と隔離性のレベルを示す「トランザクション分離レベル」が最も

                                                          NEDOが25億円投じ日の丸RDBを開発中、「国産にも勝機あり」と自信を見せる理由
                                                        • 論理プログラミング言語Logicaでデータサイエンス100本ノック

                                                          Googleが発表したOSSプロジェクトである論理プログラミング言語Logicaを使って、データサイエンス100本ノック(構造化データ加工編)の設問を解きながらどのような言語かを確認していく。 (BigQueryのクエリとして実行していく) 最初に、プログラミング言語Logicaの特徴を纏めておく。 論理型プログラミング言語: このカテゴリではPrologが有名 SQLにコンパイルされる: 現状BigQueryとPostgreSQLに対応 モジュール機構がある: SQLと比較した強み コンパイラはPythonで書かれている: Jupyter NotebookやGoogle Colabですぐ始められる Colabでチュートリアルが用意されているので、まずこちらからやると良いと思う。 コードの見た目は関係論理の記述に似ている。 事前に、データサイエンス100本ノックのテーブルデータをBigQu

                                                          • 分散データシステム入門の決定版『データ指向アプリケーションデザイン』をたった30分で学んでみた #DataEngineeringStudy | DevelopersIO

                                                            基調講演「30分でわかるデータ指向アプリケーションデザイン」 ・ スピーカー 斉藤 太郎氏  Twitter:@taroleo / Github:@xerial Principal Software Engineer , Treasure Data 東京大学理学部情報科学科卒。情報理工学 Ph.D。データベース、大規模ゲノムデータ処理の研究に従事。その後、スタートアップであるTreasure Dataに加わり、アメリカ、シリコンバレーを拠点に活動中。日本データベース学会上林奨励賞受賞。OSSを中心にプログラミングやデータ処理を簡単にするためのプロダクトを作成している。 「30分でわかるデータ指向アプリケーションデザイン」最新の論文にも触れながら、分散データシステムの世界の魅力を伝えていきます。後半、@tagomoris https://t.co/TQ2TnsFIOT… — Taro L.

                                                              分散データシステム入門の決定版『データ指向アプリケーションデザイン』をたった30分で学んでみた #DataEngineeringStudy | DevelopersIO
                                                            • Rustでリレーショナルデータベースを自作したときの成果と反省と学び - Yoshisaurのメモ

                                                              はじめに この記事では、個人プロジェクトとしてRust言語でリレーショナルデータベースを開発した経験(もう五ヶ月も前...)について、その成果と反省、得た学びを共有します。 DBMSを自作した理由 自分がDBMSの自作に着手したのは、『Designing Data-Intensive Applications』という本の内容を深く理解するためでした。 この本は、データシステムの設計と運用において最も大切な「信頼性」、「拡張性」、「保守性」を保証する方法論を、豊富な文献を引用しつつ、理論と実践の橋渡しを巧みに行いながら、丁寧に説明している名著です。読んだことがない人は速攻購入してくだい。本当にいい本です。 この本は、データベースの内部構造に関する話も豊富に含まれていたので、「データベース自作してみようか...」という気持ちになりました。 Rustを採用した理由 データベースの実装のついでに、

                                                                Rustでリレーショナルデータベースを自作したときの成果と反省と学び - Yoshisaurのメモ
                                                              • Latest topics > なぜMozillaはXULアドオンを廃止したのか?(翻訳) - outsider reflex

                                                                Latest topics > なぜMozillaはXULアドオンを廃止したのか?(翻訳) 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! « 「同調圧力は忌むべきものだ」と思考停止していたことに気付いた話 Main 「なぜMozillaはXULアドオンを廃止したのか?」に寄せられていた反応を見て、「甘い……甘すぎる……」と思って、W3C信者時代からの価値観に行き着いた話 » なぜMozillaはXULアドオンを廃止したのか?(翻訳) - Aug 22, 2020 (原著:David Teller, 2020年8月20日、CC BY-NC 4.0で公開されている内容の全訳。Qiitaにもクロスポストしています。) 要約:Firefoxはかつて、XUL

                                                                • 僕が考える「良いコード」 - give IT a try

                                                                  こんなコードだとわかりやすい 僕が考える良いコードの特徴(条件)を挙げてみると、 ぱっと見たら、だいたい何をやっているのかがわかるメソッド名 ぱっと見たら、だいたい中身が何なのか想像がつく変数名 ぱっと見たら、だいたい何をやっているのかが把握できるメソッドの内の処理フロー 驚きが少ないメソッド 副作用が少ないメソッド(責務が1つしかないメソッド) DRY原則を守っているコード だいたいこんな感じ。 つまり「すんなり読めて、すんなりわかるコード」が理想。 プログラムが小さいうちや、一人で開発しているうちは「汚くてわかりにくいコード」であっても「自分さえわかればOK」で済んじゃうけど、プログラムの規模が大きくなったり、複数人で開発するようになると、「汚くてわかりにくいコード」は絶望的に開発効率を下げる。 こんなコードはわかりにくい たとえば上の反対で、 メソッド名だけ見ても何をやっているのか想

                                                                    僕が考える「良いコード」 - give IT a try
                                                                  • Raspberry Piで学ぶコンピュータアーキテクチャ

                                                                    本書は、未来のプログラマ、コンピュータ設計者のために書かれた、Raspberry Piを題材にコンピュータの「仕組み」、コンピュータサイエンスの基本を学ぶ書籍です。Raspberry Pi開発者たちが、プロセッサ、メモリ、ストレージ、ネットワーク、オペレーティングシステム、プログラミング、3Dグラフィックス、オーディオ、そして入出力制御などについて、それらの歴史的な背景なども合わせて詳細に解説を行います。また、解説内容の一部は、実際にRaspberry Piで動かしながら学ぶことも可能です。 はじめに ケンブリッジ ここからが本題 成長曲線の伸び悩むところ 将来に向けて 監訳者まえがき 1章 驚くべきコンピュータの姿 おいしくて果汁あふれるラズベリーの成長 SoC わくわくするクレジットカードサイズのコンピュータ Raspberry Piに何ができるか? Raspberry Piボードの紹

                                                                      Raspberry Piで学ぶコンピュータアーキテクチャ
                                                                    • Lispはなぜ覇権を握らなかったのでしょうか?

                                                                      回答 (9件中の1件目) 広く普及しているとは言い難いですが、今でも新しい製品に採用されることはあります。 数年前、私はあるiOSとAndroid向けのゲーム開発に携わっていました。中でもAIの出来が面白さに大きな影響を与える種類のものでした。 プログラマーの同僚が1人、Lispに大変に強い思い入れがあり、そのAIは同僚の作ったLispインタプリタで動作しています。構文解析が簡単で、ゲームデザイナーのあーしたい、こーしたいの要望にもインタプリタの拡張で対応できる柔軟さがありました。 また別の同僚は、Lisp方言のClojureでゲーム開発の効率を高める特別なコンパイラを書いていまし...

                                                                        Lispはなぜ覇権を握らなかったのでしょうか?
                                                                      • 「Linux」、バージョン6.1でRustを導入へ--トーバルズ氏が明言

                                                                        LinuxにRustを導入するかどうかという議論は終わりを迎えた。Rustの実装は既に始まっている。Linuxの父であるLinus Torvalds氏は電子メールによる筆者との対話の中で「何かおかしなことが発生しない限り、それ(Rust)は6.1で導入される」と述べた。 Linuxカーネルの記述言語としてプログラミング言語Rustを導入するという議論は、かなり前から存在していた。Linuxカーネルの開発者らは、年次カンファレンス「Linux Plumbers Conference(LPC)2020」の場で、Linuxの新たなインラインコードでのRustの使用について検討を開始していた。また、「Android」(それ自体がLinuxのディストリビューションだ)の開発言語としてRustを支持しているGoogleは、2021年4月にLinuxカーネルへのRust導入の動きを後押しし始めていた。

                                                                          「Linux」、バージョン6.1でRustを導入へ--トーバルズ氏が明言
                                                                        • 【読書】『独学プログラマー』の心得 - Qiita

                                                                          優れたプログラマーは、金銭的な報酬や人々から賞賛を浴びる目的でコードを書くのではない。単純にプログラミングを楽しむためにコードを書くんだ。 リーナス・トーバルズ(Linuxカーネル開発者) コーリー・アルソフ氏の『独学プログラマー Python言語の基本から仕事のやり方まで』(清水川貴之氏、新木雅也氏による邦訳は2018年発行)を読んだので、本のタイトルの通り独学でプログラマーを目指している方や、新人エンジニアの方に一読をお薦めできると感じたので紹介します。 かく言う私もソフトウェアエンジニアリングを独学し、肩書きとしてエンジニアの職を得て2年目の身。 『独学プログラマー』を読んで初心に返り、至らぬ点を内省できました。 (エンジニアとして就業できてからも独学は続くので、経験を重ねてからでもこの本を読む価値はあると思います!) 本書の対象となる方 プロのプログラマーになる際に必要な知識や技術

                                                                            【読書】『独学プログラマー』の心得 - Qiita
                                                                          • 低レイヤ技術を間接的に仕事で生かしてきた経験の共有。元Linuxカーネル開発技術者の場合 - 覚書

                                                                            はじめに ITの世界で「低レイヤ技術」と呼ばれるものがあります。明確に定義されているわけではありませんが、アプリケーションのような直接エンドユーザに触れる部分ではなく、しかもなるべく生のコンピュータに近い部分、たとえばOSカーネルやコンパイラ、CPUを開発する技術などがあります。これらの技術に明るい人はそうそういないのですが、「やってみたい」という根強い人気があります。 学生のかたでもセキュリティキャンプなどで実際にある程度身につけてしまうような人もいます。そしてますますこの手の技術に趣味としてのめり込んでいって楽しくなる…というところまではいいのですが、「ではこの技術を会得した先に何があるのか」と不安になる人も多いようです。とくに学生さんの場合は「低レイヤ技術を使って今後なんらかの仕事をして生きていけるのか?」といったことが気になるようです。今日もそのような話を少し耳にしたので、自分の経

                                                                              低レイヤ技術を間接的に仕事で生かしてきた経験の共有。元Linuxカーネル開発技術者の場合 - 覚書
                                                                            • PublickeyのIT業界予想2023。クラウドのコスト上昇懸念、Passkeyの普及、AIによる開発支援の進化、WebAssembly環境の充実など

                                                                              PublickeyのIT業界予想2023。クラウドのコスト上昇懸念、Passkeyの普及、AIによる開発支援の進化、WebAssembly環境の充実など 新年明けましておめでとうございます。今年もPublickeyをどうぞよろしくおねがいいたします。 さて今年最初の記事では2023年のIT業界、特にPublickeyが主な守備範囲としているエンタープライズ系のIT業界はどうなるのか、Publickeyなりに期待を込めた予想をしてみたいと思います。 エネルギー価格の上昇、セキュリティへの注目など まずは予想の前提として、IT業界に影響を与えそうな現状についての認識を明らかにしておきたいと思います。 グローバルな視点で見たときに、IT業界だけでなく世界経済に大きな影響を与えているのは石油や天然ガスを始めとするエネルギー価格の上昇とインフレでしょう。 エネルギー価格の上昇はロシアによるウクライナ

                                                                                PublickeyのIT業界予想2023。クラウドのコスト上昇懸念、Passkeyの普及、AIによる開発支援の進化、WebAssembly環境の充実など
                                                                              • こわくないTypeScript〜Mapped TypeもConditional Typeも使いこなせ〜 - uhyo/blog

                                                                                TypeScriptの型システムは、ユニオン型を始めとする様々な機能を持っているのが特徴的です。 その中でも、mapped typesとconditional typesは高度な機能として知られています。 ところが、その機能の膨大さゆえ、全てを使いこなす必要はない、TypeScriptの複雑な機能を無闇に使うべきではないという言説はたびたび現れます。 そのときに槍玉に上がりやすいのがmapped typesとconditional typesなのです。 筆者は、これらの機能は使えるだけ使い倒すべきであるという考えを持っています。 主張の根幹には、高度な型を使えばより正確にインターフェースを記述することができること、そして正確なインターフェースは使いやすさや正確な型推論結果に貢献することがあります。 正確なインターフェースや型推論結果は、コードの理解速度や開発効率を促進します。 これらは型シ

                                                                                  こわくないTypeScript〜Mapped TypeもConditional Typeも使いこなせ〜 - uhyo/blog
                                                                                • Cコンパイラを作ろう!

                                                                                  こんにちは、21Bのseasonです。この記事はtraP夏のブログリレー3日目の記事です。 自作Cコンパイラでセルフホスト達成しました。 リポジトリ: https://github.com/season1618/c-compiler/tree/main 自作Cコンパイラでセルフホスト達成しました!!!!!!🎉🎉🎉https://t.co/8fLIAJWksQ pic.twitter.com/2fgH5sKoZ0 — season (@season1618) July 27, 2022 実際にどうやって作るかを書くと長くなるので、ここでは経緯とか完成までの流れとかを書こうと思います。一応開発メモは以下に上げておきました。 開発メモ: https://github.com/season1618/note/blob/main/cs/c-compiler/index.md 経緯 大学の講義で

                                                                                    Cコンパイラを作ろう!