並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 844件

新着順 人気順

アセンブリの検索結果1 - 40 件 / 844件

  • 『報ステ』がインタビューを歪曲報道…修正依頼を無視、TSMCの日本進出報道でミスリード

    台湾TSMC のHPより 『報ステ』からのインタビュー依頼 2月9日付日本経済新聞が、台湾の受託生産会社(ファンドリー)大手のTSMCが茨城県つくば市に、約200億円を投じて、半導体の後工程の開発拠点をつくる方向で調整に入ったことを報じた。 同日の午後、この件に関して『報道ステーション』(テレビ朝日系)のニュースデスクを名乗る人物から、インタビューの依頼を受けた。メールのやり取りでは埒が明かなかったため、電話で、TSMCとはどのような半導体メーカーで、今回の後工程の開発拠点を日本につくることの意味などを説明したが、「後工程」ということが理解できないようだった。それどころか、「半導体」というものが、まったくわかっていない様子だった。 加えて、「TSMCが日本に拠点をつくったら、今問題になっているクルマ用の半導体不足が一気に解消されることになるんですよね?」などと言うので、それは次元が異なる別

      『報ステ』がインタビューを歪曲報道…修正依頼を無視、TSMCの日本進出報道でミスリード
    • Webサーバーアーキテクチャ進化論2023

      はじめに 最近プログラマーとしてのキャリアに一区切りつけようと思っており、これまでのプログラミングの勉強の集大成となるブログを書きたくなったので書く。初めてプログラミングをして、フロントエンド開発をして、サーバーから値が返ってきたときは「どういう仕組みで値が返ってきたんだ?」と疑問に思っていた。ずっと理解したくて理解できていなかった。だからずっと勉強していた。そして最近になってようやく自分の言葉で説明できるようになった気がしたのでブログを書きたい。 2015 年版が自分の原点であり、この記事を書くモチベーションになった このような記事は実は過去に存在している。 FYI: https://blog.yuuk.io/entry/2015-webserver-architecture その記事はサーバーがどういう仕組みで動いていて、どのように進化し、2015 年に至るかを解説してくれた記事だ。自

        Webサーバーアーキテクチャ進化論2023
      • 2021年にJavaScriptやNode.jsを勉強し始めたので、読んで良かった資料をまとめる

        2021年になってJavaScript、TypeScript、Node.jsの勉強を始めました。 この記事では、読んで良かった本、記事、公式ドキュメントなどをまとめていきます。 ※2021/03時点の情報です。 個人的なリンク集ですが、「これも読むと良いよ」というものがあればぜひ教えてください。 ECMAScript ECMAScriptの仕様は、EcmaのTC39で策定されている Ecma TC39 GitHub organization ep78 TC39 | mozaic.fm Node.jsの各バージョンでのECMAScriptサポート状況 JavaScript Misreading Chat - #86: JavaScript: the first 20 years JavaScript 二十年の歴史についての回 JavaScript チュートリアル | MDN JavaScri

        • アーケードゲームを支えるデバッグ術 - SEGA TECH Blog

          ブログ読者のみなさん、はじめまして。 株式会社セガのベテランプログラマー阿部です。 このエントリーではデバッグ手法のあれこれについての体験談と、デバッグをテーマに一昨年に実施されたプログラマー向け新人研修の概要をお伝えしたいと思います。 EXE ファイルのデバッグ イーサネット絡みのデバッグ 周辺機器絡みのデバッグ デバッグスキルブートキャンプ 黒子に徹する、裏方系エンジニア EXE ファイルのデバッグ 同僚が作った EXE ファイルが手元にあり、あなたはこれを Windows で起動しようとしています。 起動してみたところ何も反応がなく、しかもそれは想定外のことでした。 「何コレ、動かないんだけど」とあなたが同僚に文句を伝えると、同僚はあなたに返します。 「こっちでは動いてるよ」 困りましたね。 あなたの手元には EXE のソースコードも無ければ、Visual Studio もありません

            アーケードゲームを支えるデバッグ術 - SEGA TECH Blog
          • 働きながらアメリカの大学院でCS修士号を取った - k0kubun's blog

            4年前に会社の福利厚生を使ってスタンフォードの授業を取ってみたら面白く、 働きながらでも続けられそうだなという実感を得たので、 2年後、受験を経てジョージア工科大学にリモートで通い始めた。 そして先日、ジョージア工科大学からコンピュータサイエンス修士号をいただくことができた。 画像の学位記は卒業式イベント用の非公式のもので、1~2か月すると Masterとちゃんと書いてある本物が来るらしい *1 。 After 1 year and 9 months, I graduated from Georgia Tech and got a master's degree in computer science. It was intense to be a student while working full-time, but I learned a lot. pic.twitter.com/J

              働きながらアメリカの大学院でCS修士号を取った - k0kubun's blog
            • できるだけ嘘を書かずに計算量やオーダーの説明をしようとした記事 - えびちゃんの日記

              計算量についてのお話です。対象は、プログラミング経験はあるが計算量のことを知らない初心者から、計算量のことを知っているつもりになっている中級者くらいです。 数式を見たくない人にとっては読むのが大変かもですが、深呼吸しつつ落ちついて読んでくれるとうれしいです。 それから、この記事が自分には合わないな〜と思ったときは、(別の記事を Qiita とかで検索するよりも)この記事の一番下の 参考文献 にある本を読むことをおすすめします。Amazon の試し読みで無料で読めます*1。 TL; DR 関数の増加度合いのことをオーダーと呼ぶよ 計算量は、入力サイズ(など)を受け取ってアルゴリズムの計算回数(など)を返す関数だよ その関数のオーダーについての議論がよく行われるよ オーダーを上から抑えるときは \(O\)、下から抑えるときは \(\Omega\) を使うよ オーダーを上下両方から抑えたいときは

                できるだけ嘘を書かずに計算量やオーダーの説明をしようとした記事 - えびちゃんの日記
              • 大学で読んだ情報科学関連の教科書 - ジョイジョイジョイ

                先日、博士(情報学)になりました。学部と大学院をあわせた 9 年間で読んだ情報科学関連の教科書・専門書を思い出を振り返りつつここにまとめます。私は授業はあまり聞かずに独学するタイプだったので、ここに挙げた書籍を通読すれば、大学に通わなくてもおおよそ情報学博士ほどの知識は身につくものと思われます。ただし、特に大学院で重要となる論文を読み書きすることについては本稿には含めておりません。それらについては論文読みの日課についてや論文の書き方などを参考にしてください。 joisino.hatenablog.com 凡例:(半端)とは、数章だけ読んだ場合か、最後まで読んだものの理解が浅く、今となっては薄ぼんやりとしか覚えていないことを指します。☆は特におすすめなことを表します。 学部一年 寺田 文行『線形代数 増訂版』 黒田 成俊『微分積分』 河野 敬雄『確率概論』 東京大学教養学部統計学教室『統計学

                  大学で読んだ情報科学関連の教科書 - ジョイジョイジョイ
                • すべてのプログラマーが試すべき挑戦的なプロジェクト

                  Austin Z. Henleyのブログより。 更新12/14: この投稿は、Hacker NewsとRedditに関する多くの議論に拍車をかけました。 提案されたプロジェクトのいくつかを収集し、この投稿の最後にリストに入れました。 私はよくサイドプロジェクトを始めたいが、何を作るべきか分からない多くの学生やプロの開発者と話します。以下は、私に多くを教えてくれたいくつかのソフトウェアプロジェクトです。実際、それらは何度も作ることができ、毎回新しいことを学ぶことができるので素晴らしいです。従って、何を作るのか分からない場合、または新しいプログラミング言語またはフレームワークを学びたい場合は、私は次のいずれかから始めます。 テキストエディタ 2Dゲーム - スペースインベーダー コンパイラ - Tiny BASIC ミニ・オペレーティング・システム スプレッドシート (難しい!) ビデオゲーム

                    すべてのプログラマーが試すべき挑戦的なプロジェクト
                  • CAT6A準拠を名乗るフラットLANケーブル←こいつゴミです

                    言いたいこと最近はCAT6Aでフラットケーブルが登場してるが、あれ全部ゴミだ 30mぐらいまであるけどマジゴミ。 買う価値なし。 ゴミは置いといても、LANケーブルには「準拠」と「対応」があるらしい。区別して使うべし 長い文章(読み飛ばしてよい)CAT6Aで施工指示したのに5Eになってたと言う記事を読んで思い出したので吐き出しておく。 大手OAサプライヤで売っている完成品LANケーブル。これもCAT6Aが標準になってきて久しい。5Eのものはほぼ見られなくなった。 その中でフラットケーブルと言われるものが売られている。 通常LANケーブルというのは、細い線が何本か寄り合わされて、さらに保護用のチューブに入れられた構造だ。なので断面が丸いケーブルが普通である。 それを、丸くまとめるのではなく一直線に横に並べ固めたものがある。これをフラットケーブルという。また見かけから「きしめんケーブル」などと

                      CAT6A準拠を名乗るフラットLANケーブル←こいつゴミです
                    • Linux システムコール 徹底入門

                      Linux システムコールについて調べたことをまとめる。システムコールの仕組みを理解すると、 OS とアプリケーションがどのように連携して動いているのかを理解できるようになります。 システムコールは CPU に依存する処理が多いため、 x86_64 に絞ります。 検証環境]# cat /etc/redhat-release CentOS Linux release 8.0.1905 (Core) ]# uname -a Linux localhost.localdomain 4.18.0-80.11.2.el8_0.x86_64 #1 SMP Tue Sep 24 11:32:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux ]# cat /proc/cpuinfo | head processor : 0 vendor_id : GenuineInte

                        Linux システムコール 徹底入門
                      • CとRustで一から作るマイクロカーネルOS

                        マイクロカーネルは浪漫に溢れる非常に作りがいのあるソフトウェアです。この記事は,「マイクロカーネルベースのOSの一から作ってIaaSで動かす」ことを目標に作ったマイクロカーネルベースのOS Resea(りーせあ)の設計と実装について軽くまとめた物です。 ソースコードはGitHubにあります。 マイクロカーネルとは Linuxのようなモノリシックカーネルでは色んな機能がカーネル空間で動きますが,マイクロカーネルではユーザプロセスたちが互いに通信しながらOSを作り上げます。プロセス・スレッド・仮想メモリ管理,プロセス間通信,タイマーといった必要最低限の機能だけをカーネルが担います。デバイスドライバやファイルシステムといった残りの機能は,独立したユーザプロセスとして動きます。たとえデバイスドライバが暴走しても他のコンポーネントを壊すことはないのです。マイクロカーネルは信頼性が高く,疎結合で美しい

                          CとRustで一から作るマイクロカーネルOS
                        • Webエンジニア1年目の自分に捧げたい本・記事を超まとめ - Qiita

                          そろそろWebエンジニア3年目の折り返しになるので、Webエンジニアとして働く中でこれまで読んできた情報たちをまとめようと思い立ちました。 エンジニア3年目の今だからこそまとめられる情報として、「エンジニア1年目の1年間で読んでおきたかったな〜。」という本と記事をまとめておきます。 まとめ始めたら楽しくなってしまい、情報量が多くなってしまった...。全部手に取るのは不可能だと思うので、サーっと目を通して見て興味が湧いた本や情報を手にとっていただけると良いかと。 これからWebエンジニアになる人、Webエンジニア1年目の人の参考になれば幸いです。 これは何? Webエンジニア1年目が仕事を進める上で絶対に求められるであろう知識を、技術力・Web知識・仕事の進め方・キャリアの観点からまとめました。 「これだけ読んでおけば絶対大丈夫!!」という安易なものではありませんが、「どんな知識を学べばいい

                            Webエンジニア1年目の自分に捧げたい本・記事を超まとめ - Qiita
                          • コンパイラが作ったバイナリをつなぎ合わせるプログラム 「lld」の作者が語る、リンカの仕組み

                            Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。植山氏は、制作中のリンカである「mold」について発表しました。全2回。前半は、リンカの概要について話しました。 LLVMのリンカ「lld」オリジナルの作者 植山類氏:植山類です。今僕が作っているmoldというリンカについて発表します。 今回の発表の概要です。リンカが何かを知っている人はそんなにたくさんいないと思うので、まず説明します。次に、「mold」のポイントは速いことなのですが、速いと何がうれしいのかを説明します。そのあと、どれくらい速いのかを説明した上で、どう実現されているのか、概要を紹介します。詳細になると何時間あっても終わらないので、かなりハイレベルな話をします。 自己紹介のスライドを入れていませんが、僕はリンカを何度か作ったことがあって、LLVMのlld

                              コンパイラが作ったバイナリをつなぎ合わせるプログラム 「lld」の作者が語る、リンカの仕組み
                            • プログラミングでつまづいてきたこと - 覚書

                              プログラミング初心者に対してどういう情報が役立つのかをぼんやり考えていると、そこそこコードを書けるベテランが、いつ、どういうことにつまづいてきたのかを書くとけっこう有益なのではないかと思ったので書きました。これを読むと直接プログラミング能力が上がるわけではないですが、「ああ、こういうところでつまづいてもいっぱしのプログラマになれている人もいるのだな」と思ってもらうのが目的です。成功談よりも失敗談のほうが役立つとよく言われますが、それと少し似ているのかもしれません。 全段落で「いっぱしのプログラマ」とか言った手前、自分のことを書いておきます。18歳ごろから20年くらい前からプログラミングをしていて、主に有名どころのOSSに向けてコードを書いてきました。昔はLinuxカーネルを10年少々やっていて、ここ最近はCephオーケストレータであるRookの開発とかをしています。プログラマとしてはスーパ

                                プログラミングでつまづいてきたこと - 覚書
                              • 近い将来本当に自動車整備士がいなくなるかもしれないという話:追記してみた

                                俺は馬鹿だから文章はうまいほうじゃないからすまんが適当に書いてく 最近トヨタ系ディーラーの不正車検が話題だが何が原因かと言えば整備士の離職率だ とにかく低賃金で整備士を目指したのにも関わらず昇給するには数年整備部門に在籍したあと営業部門に数年異動しなければならず 結婚しても整備だけでは食って行けずに営業をやりたくないなら辞めるしかない どこもそうかはしらんけど、やっぱり縦社会の体育会系でパワハラも多い 今大手自動車メーカーの名前がついているディーラーで働いている整備士のほとんどが自動車整備の専門学校からだが 卒業生には毎年親戚に自動車整備に興味のある人はいないか?と催促のDMが来るくらい整備士になりたい人がいない というか整備士にお願いしてもきついし給料低いしで誰も勧めたがらない、こんな職業好きでもないとまじで続かない 自動車整備士資格は3級2級1級とあるんだが1級は十数年前に新設されたば

                                  近い将来本当に自動車整備士がいなくなるかもしれないという話:追記してみた
                                • スクリプト言語を舐めてはいけない|shi3z|note

                                  おれはハッカーだ。 なので、ハッカーではない人種と呑むのが苦手である。 たとえば「ITエンジニア」と自称するような人たちだ。 当然だが、ITエンジニアと自称する人はハッカーではない。 ITエンジニアと言う言葉はスコープが広すぎていちいち細かい説明を聞かなければならない。 これが厄介なところである。 あるとき、友達の家で飲み会をすると言われ、誰が来るの?と聞いたら知らないIT関連会社のエンジニアたちだという。 エンジニアと呑むと喧嘩しちゃうので断ったのだが、いろいろあっていくことになってしまった。 するとやっぱりこんなはなしをしていた。 「やっぱ私もRubyみたいなスクリプト言語なんか卒業してコンパイル言語やんなきゃ。処理速度がね…」 「コンパイル言語って?」 「TypeScriptとかJavaとかC#とか」 「それ、中間コード言語じゃねえか。なんの意味があるんだ。YARV知らないのか」 ま

                                    スクリプト言語を舐めてはいけない|shi3z|note
                                  • 「コンピュータシステムの理論と実装」をやりきりました - Qiita

                                    コンピュータシステムの理論と実装 をやりきったので、メモを残しておきます。 本の紹介 コンピュータシステムの理論と実装 では、NAND ゲートからはじめて、最終的にはアプリケーションを動作させるところまで、ボトムアップの視点でコンピュータシステムの説明が記載されています。通称「Nand2Tetris」。名前がかっこいいですね。 とてもわかりやすい裏書きの説明は以下 コンピュータを理解するための最善の方法はゼロからコンピュータを作ることで、その構成要素は、ハードウェア、ソフトウェア、コンパイラ、OSに大別できる。本書では、これらの構成要素をひとつずつ組み立てる。具体的には、NANDという電子素子からスタートし、論理ゲート、加算器、CPUを設計。オペレーティングシステム、コンパイラ、バーチャルマシンなどを実装しコンピュータを完成させて、最後にその上でアプリケーション(テトリスなど)を動作させる

                                      「コンピュータシステムの理論と実装」をやりきりました - Qiita
                                    • Nand2Tetris(コンピュータシステムの理論と実装)でCPUからOSまで一気通貫で作るのが最高に楽しかった話 - ( ꒪⌓꒪) ゆるよろ日記

                                      どうも、しいたけです。 去年あたりからローレイヤー周りの知識を充実させようと思い、 低レイヤを知りたい人のためのCコンパイラ作成入門 を読んでCコンパイラを書いてみたりx86_64の勉強をしたりしていました。 今年に入ってから、よりローなレイヤー、具体的にはハードウェアやOSについてもう少し知りたいと思い始め、手頃な書籍を探していました。 CPUなどのハードウェア周りについては概要しか知らなくて手を動かしたことがないので、実際に何か作りながら学べるものとして、 O'Reilly Japan - コンピュータシステムの理論と実装 に挑戦することにしました。 O'Reilly Japan - コンピュータシステムの理論と実装 成果物は以下のリポジトリに置いてあります。 yuroyoro/nand2tetris 結論から言うと、やってみて大変楽しめました! 特にハードウェア周りは今まで挑戦したこ

                                        Nand2Tetris(コンピュータシステムの理論と実装)でCPUからOSまで一気通貫で作るのが最高に楽しかった話 - ( ꒪⌓꒪) ゆるよろ日記
                                      • プログラミング言語の簡単な歴史を初心者にもわかるように解説 #さくマガ #さくらインターネット - さくマガ

                                        ≫ 【2週間無料!】初心者でもホームページが作れる!高速・安定・快適なレンタルサーバー みなさんこんにちは、文系出身のエンジニアのちょまど(@chomado)です。大手外資系IT企業でDevRel (Developer Relations) のお仕事をしています。 今回の記事では、プログラミング言語の歴史について書きたいと思います。私はもともとプログラミング言語が大好きで、歴史には大変興味があったので、今回、たくさん色々調べたり、ベテランの先輩エンジニアの方々に当時の様子をお聞きしたりして(ありがとうございます!)、記事にまとめました。 (*゚▽゚* っ)З「ちょまぎょです! 一緒にお勉強していこうね」 また、今回、Google Developers Expert の田中洋一郎さん (@yoichiro) に記事のレビュー(査読)や助言をしていただきました。誠にありがとうございました! そ

                                          プログラミング言語の簡単な歴史を初心者にもわかるように解説 #さくマガ #さくらインターネット - さくマガ
                                        • マインクラフトで1HzのCPUを作り上げた猛者が登場、テトリスや関数のグラフ化も可能

                                          累計販売本数が2億本を超えたり、YouTubeでの総視聴回数が1兆回を超えたりと、世界的に人気のある箱庭ゲーム「マインクラフト」はサバイバル生活を楽しんだり、自由にブロックを配置し建築などを楽しんだりできるのが売りです。そんなマインクラフトで「レッドストーン」というアイテムを駆使して周波数1HzのCPU「CHUNGUS 2」を設計したと、YouTuberのsammyuri氏が発表しました。 CHUNGUS 2 - A very powerful 1Hz Minecraft CPU - YouTube CHUNGUS 2は「Computational Humongous Unconventional Number and Graphics Unit by Sammyuri 2」の略称。 CHUNGUS 2はクロック1Hzで10tickの16bitCPUで、3オペランド命令のRISCアーキテク

                                            マインクラフトで1HzのCPUを作り上げた猛者が登場、テトリスや関数のグラフ化も可能
                                          • モダンプログラマになれない組込みプログラマの苦悩 - Qiita

                                            はじめに 10年以上組込みエンジニアをしている@yagisawaです。 Qiitaのトップ記事では新しいフレームワークの使い方とかモダン言語の新しい言語仕様の解説とかが流れてきて、いつも羨ましいなーと思いながら読んでいます。 本記事は組込みシステム開発をしていて経験したこと・感じたことを自虐ネタとして書き連ねていこうと思います。他ITエンジニアの人に「うわっ、可愛そう」って思ってもらうのが目標です(ぇ 各業界それぞれに悩みはあると思うので、自分たちが一番不幸とかは思っていません。おそらく隣の芝が青く見えているだけです。それよりあまり組込みの記事は見かけないので、「組込みエンジニアの仕事ってこんな感じ」というのを知ってもらう意図があったりします。 内容によっては「それはあなたの設計が悪いからです」と言われてしまうようなところもあるとは思いますが、建設的なご意見は大歓迎ですが基本は温かい目で見

                                              モダンプログラマになれない組込みプログラマの苦悩 - Qiita
                                            • スキル0から1年間でマルウェア解析を習得した学習方法 - the_art_of_nerdのブログ

                                              みなさん、こんちにはmです。 今回は私が1年の期間でマルウェア解析のスキル0から習得するまでに取り組んだ方法をまとめました。 初めに開始時のスキルや1年間でかけたコスト、スケジュールなどを共有します。 開始時のスキルなど 表層解析、動的解析、静的解析の違いもあまり理解していない プログラミングはPythonを学び始めた程度 低レイヤーの知識なし アセンブリの知識なし Windowsアプリケーション開発の経験なし SOCアナリストとしてブルーチームの知識は多少 脆弱性診断の経験も(深くはないが)多少 エンジニア歴7、8ヶ月目くらい ざっくりですが、このようにマルウェア解析に絡んでくる知識はほぼ0でした。 学習にかけたトータルコスト 書籍:約5万円 オンライン教材:12万円 約17万円近く1年間に使いましたが、お金で直接スキルは買えないので必要経費です。 なお、オンライン教材の12万円について

                                                スキル0から1年間でマルウェア解析を習得した学習方法 - the_art_of_nerdのブログ
                                              • 世界を変えるはずだった 「デザイン思考」とは 何だったのか?

                                                Design thinking was supposed to fix the world. Where did it go wrong? 世界を変えるはずだった 「デザイン思考」とは 何だったのか? 企業や自治体から一時注目を浴びた「デザイン思考」の輝きは近年、失われつつある。組織内での「イノベーション劇場」が常態化し、多くの課題が大量の付箋では解決困難であることが明らかになった今、デザイン思考のアプローチにもイノベーションが求められている。 by Rebecca Ackermann2023.04.07 409 96 2011年のことだ。カイル・コーンフォースがアイディオ(IDEO)のサンフランシスコ・オフィスに初めて足を踏み入れたとき、まったく新しい世界に迷い込んだように感じた。当時、非営利団体「エディブル・スクールヤード・プロジェクト(Edible Schoolyard Projec

                                                  世界を変えるはずだった 「デザイン思考」とは 何だったのか?
                                                • 2020年の11の必見のフロントエンドトレンド - Qiita

                                                  こちらの記事は、Jonathan Saring 氏により2019年12月に公開された『 11 Must-Know FrontEnd Trends for 2020 』の和訳です。 本記事は原著者から許可を得た上で記事を公開しています。 ランチ中のフロントエンドトークでスマートに見られる方法! チームのランチトークでスマートに見られることは、最新のフロントエンドのトレンドを常に把握しておくための大きな理由であることは言うまでもない。 それは、あなたがより良い開発者になり、より良い技術とより良い製品を作るのに役にたつかもしれない。 たぶんね。 だから、いくつかの興味深い方向を示すことで、この名誉あるクエストを君が簡単に達成できるように少し時間をもらいたい。 すべてのコンセプトについて1から10まで説明するのではなく、そのコンセプトとそれがどのように有用であるか紹介しよう。最後にはさらなるリソー

                                                    2020年の11の必見のフロントエンドトレンド - Qiita
                                                  • x86-64機械語入門

                                                    この記事はx86-64の機械語を書けるようになるためのガイドとなることを目指します。読者はアセンブリー言語について既にある程度知っていることを想定します。 情報源 x86-64の機械語のオフィシャルなガイドはIntelのSoftware Developer ManualまたはAMDのAMD64 Architecture Programmer's Manualです。 Intel SDM: Intel® 64 and IA-32 Architectures Software Developer Manuals AMD64 Architecture Programmer's Manual, Volumes 1-5 このほか、Cから呼び出される関数を定義したり、Cの関数を呼び出すためには、呼び出し規約の知識も必要です。使用される呼び出し規約はOSに依存し、Unix系では主にSystem V ABI

                                                      x86-64機械語入門
                                                    • 【2021年】 技術書好きプロエンジニア達が紹介する40選 - RAKUS Developers Blog | ラクス エンジニアブログ

                                                      こんにちは、技術広報のyayawowoです。 皆様、お気に入りの技術書はありますか? 今回は、弊社主催で開催している「おすすめの技術書LT会」にて、エンジニア/デザイナーの皆さんに紹介いただいた技術書を一挙公開します! おすすめの技術書 LT会 - vol.1 おすすめの技術書 LT会 - vol.2 積読が増える可能性がある、エンジニア/デザイナーが厳選した技術書が盛り沢山…お読みになる際は覚悟ください! ラクス開発メンバーが選んだ技術書は以下をご確認ください。 ・開発メンバーが選ぶ、おすすめの技術書【2020年度】 - RAKUS Developers Blog | ラクス エンジニアブログ 入門シリーズ 『C++プログラミング入門(湯田幸八)』 『ドメイン駆動設計入門』 『実践SQL教科書』 『ソフトウェアデザイン 2021年3月号』 『独習C 新版』 『PHPの絵本 第2版 Web

                                                        【2021年】 技術書好きプロエンジニア達が紹介する40選 - RAKUS Developers Blog | ラクス エンジニアブログ
                                                      • 『プログラマーのためのCPU入門 ― CPUは如何にしてソフトウェアを高速に実行するか』 発売のお知らせ

                                                        ご来店いただきありがとうございます。新刊『プログラマーのためのCPU入門 ― CPUは如何にしてソフトウェアを高速に実行するのか』発売開始のお知らせです。 ほぼすべてのソフトウェア開発者がお世話になるコンピューターの最重要パーツ、CPU。「演算をする」というざっくりした役割は知っているし、もう少し踏み込んでレジスタやアセンブリ命令、あるいはさらに踏み込んで、NAND/OR/NOT回路による演算装置といった原理を勉強したことがあるプログラマーの方も少なくないと思います。 しかし、現代のソフトウェアにおいてCPUがもたらす大きな価値は、その原理のみならず、むしろその尋常ならざる高速さにこそあるといっても過言ではないでしょう。 CPUの性能は、半導体技術の進化やハードウェア構成の妙といった物理的な要因のみによって決まるわけではありません。その裏には、パイプライン化やスーパースカラ化、さらには分岐

                                                          『プログラマーのためのCPU入門 ― CPUは如何にしてソフトウェアを高速に実行するか』 発売のお知らせ
                                                        • 科学を変えた10のコンピューターコード | Nature ダイジェスト | Nature Portfolio

                                                          Fortranからプレプリントアーカイブまで、プログラミングとプラットフォームの進歩は、生物学、気候科学、物理学を新たな高みへと導いた。 2019年、イベント・ホライズン・テレスコープ(EHT)のチームは、ブラックホールの実際の姿を初めて世界に見せてくれた。彼らが発表したリング状に輝く天体の画像は、従来の写真とは違い、計算によって得られたものだ。具体的には、米国、メキシコ、チリ、スペイン、南極点の電波望遠鏡が捉えたデータを数学的に変換することによって得られたのだ1。研究チームは、その知見を記載する論文とともに、ブラックホールの撮影に用いたプログラミングコードも公開した。科学コミュニティーが自分たちのやり方を確認し、それを足場にできるようにするためである。 このようなパターンは、ますます一般的になりつつある。天文学から動物学まで、現代のあらゆる偉大な科学的発見の背後にはコンピューターがある。

                                                            科学を変えた10のコンピューターコード | Nature ダイジェスト | Nature Portfolio
                                                          • どのようにしてプログラマはAIに仕事を奪われていくかの妄想

                                                            先日 OpenAI からChatGPTが Beta 公開された ChatGPT ではどんな質問に対しても何かしらの回答を生成してくれるのだが、ソースコードに関しても中々の筋が良さそうな雰囲気のコード片を生成してくれるということで少し話題になっていた こうしたプログラムを生成してくれる AI が発展していく中でどういう具合にプログラマの仕事が奪われていくのか興味がある 特に以下ではweb アプリやモバイルアプリなどのアプリケーションの開発においてという文脈で考えることにする まず AI がプログラマの仕事を奪うまでにはいくつかの段階があると思う コード支援レベル 現状はGitHub Copilotのようなコーディング支援を行うレベルの AI はある程度実用レベルになっている 自分は Copilot が生成したコード片をプロダクションコードに含めるのは権利関係の問題もあり様子見している しかし

                                                              どのようにしてプログラマはAIに仕事を奪われていくかの妄想
                                                            • Rustの非同期プログラミングをマスターする - OPTiM TECH BLOG

                                                              こんにちは、R&Dチームの齋藤(@aznhe21)です。 さあみなさん、ついにこの時がやってまいりました。 本日2019/11/8にリリースされたRust 1.39により、あらゆる環境で最高速な非同期プログラミングが可能になりました。 新たな時代に乗り遅れないよう、今のうちにRustでの非同期プログラミングをマスターしておきましょう。 なお、この記事は、先日開催したOPTiM TECH BLOG Meetupの内容を大幅に加筆修正した上でエントリに仕上げたものです。 まず最初に伝えたいこと 非同期の歴史 Rustの非同期プログラミングの歴史 Rust 1.0以前 Rust 1.0 〜Rust 1.3 Rust 1.2あたり Rust 1.11あたり Rust 1.26あたり Rust 1.36 Rust 1.39 Rustの非同期プログラミングの特徴 ゼロコスト抽象化 プラットフォーム非依

                                                                Rustの非同期プログラミングをマスターする - OPTiM TECH BLOG
                                                              • 名著「UNIXという考え方 - UNIX哲学」は本当に名著なのか? 〜 著者のガンカーズは何者なのかとことん調べてみた - Qiita

                                                                補足 1975: トンプソンはベル研を一時休職し、母校のカリフォルニア大学バークレー校に Version 6 Unix をインストールする作業を手伝う。これは後に BSD Unix として配布される。 1984-1998: ガンカーズが DEC でプリンシパル・ソフトウェア・エンジニアを務めた時期 ガンカーズは DEC の Unix Engineering Group (UEG) に所属 いつから DEC に勤めていたのかは不明 P63 より「小さな会社で Version 7 Unix を使っていた」ので 1979 年よりも後 V7M の開発には関わってなさそう おそらく 1980-1984 の間に DEC に入社したと思われる ガンカーズが「UNIX の考え方」についての本はないだろうか?と考えたのは 1991 年 1988: POSIX.1 標準化(POSIX.2 は 1992 年)

                                                                  名著「UNIXという考え方 - UNIX哲学」は本当に名著なのか? 〜 著者のガンカーズは何者なのかとことん調べてみた - Qiita
                                                                • 書評:並行プログラミング入門 - Software Transactional Memo

                                                                  TL;DR 並行処理を実装する人のこれからのスタンダードになる一冊。買い。 並行プログラミング入門 ―Rust、C、アセンブリによる実装からのアプローチ 作者:高野 祐輝 オライリージャパン Amazon 買ったら思いの外早く届いたのでパラパラと読み始めたら一気に読み終えてしまった。 総評 敢えて雑な喩え方をするなら The Art of Multiprocessor Programming (通称TAoMP本) の内容を薄めてRustやアセンブラや計算モデルを足したような本だった。 日本語の書籍としてはかなり珍しくWait-Free, Lock-Free, Obstruction-Freeの違いなどを適切に論じており、TTAS Lock, MCS Lock, TL2といった日本語では希少な情報が書かれているレアな本である。これらに付いて論じている日本語の本は知る限り (TAoMP本と昔僕

                                                                    書評:並行プログラミング入門 - Software Transactional Memo
                                                                  • Rustでファミコンとスーパーファミコンのエミュレーターを書いた

                                                                    ゲームボーイエミュレーター、ゲームボーイアドバンスエミュレーターに続いて、Rustでファミコンエミュレーター"Sabicom"とスーパーファミコンエミュレーター"Super Sabicom"を書きました。 名前にRustっぽさを出してみました。 前回作ったマルチエミュレーターMERUのコアとして実装したので、ステートセーブや巻き戻しなどの機能も使えます。MERUの対応コアはこれで4つになりました。 こちらからWindowsとLinuxのプリコンパイルバイナリがダウンロードできるようになっています。 他のプラットフォームおよびソースコードからコンパイルする場合は ファミコンとスーパーファミコンどちらも一通り本体の機能は実装してあるつもりです。スーパーファミコンは割と細かいところまでちゃんと動くようにしてあるはずなので、動かなかったり表示がおかしかったりするソフトがあればバグですので、ぜひご報

                                                                      Rustでファミコンとスーパーファミコンのエミュレーターを書いた
                                                                    • フルスクラッチから作って理解するQEMU (Rust編) - FPGA開発日記

                                                                      モチベーション なぜRustを選んだか? 私はQEMUは「アーキテクチャエミュレーション界のLLVM」だと思っている QEMUが高速な理由:TCG Binary Translation ゲスト命令(RISC-V) → TCG → ホスト命令(x86)の処理をRustで作ろう RISC-Vの命令をフェッチしてデコードする RISC-Vの命令をTCGに変換する TCGをx86に変換する 実装結果 Binary Translation実行を高速化するための様々なテクニック BasicBlock分まで複数命令をまとめて変換 TCG Block Chainingの実装 評価結果 TB Lookup and Jumpの実装 評価結果 まだ完成していないところ 一部の最適化はまだ未実装となっている ゲストアーキテクチャがx86のみとなっている。TCGによる複数プラットフォーム対応として、まずは環境のそろ

                                                                        フルスクラッチから作って理解するQEMU (Rust編) - FPGA開発日記
                                                                      • 【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。

                                                                        はじめに 登壇版 Taskの本質 C# のイテレータ async/await Compiler Transform ExecutionContext builder.Start() の重要性 IAsyncStateMachine.MoveNext おわりに はじめに C#er は呼吸するように使っている async/await。 そんな async/await について、先日 Stephen Toub 氏 (.NET の中の人。中心人物の一人。) が How Async/Await Really Works in C# という非常に面白い記事を投稿していました。 この記事では Stephen 氏の記事をベースに、C# において async/await は実際どうやって動いてるの?というお話をしていきます。 以前に C#での非同期メソッドの分析。 という翻訳記事を書いたのですが、元になった記

                                                                          【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。
                                                                        • プログラミング文体練習

                                                                          レーモン・クノーの『文体練習』から着想を得て執筆された本書は、1つの課題を異なるプログラミングスタイルで実装し、さまざまなスタイルの特性やスタイルが生まれた歴史的経緯などを解説します。本家の『文体練習』は、「バスの中で起きた諍いと、その張本人を後で目撃した」という内容を、公的文書風、宣伝風、業界用語風など、99の異なる文体で表現したものですが、本書は、「単語の出現頻度をカウントして多いものから出力する」という課題を、40のスタイルで実装しています。リソース制約が大きかった時代の方法から、オブジェクト指向、純粋関数型、リフレクション、並行処理、ニューラルネットワークまで幅広いスタイルを扱い、マルチパラダイム言語Pythonの威力と魅力を感じられる構成となっています。 訳者まえがき 第2版 まえがき 第1版 まえがき 序章 第Ⅰ部 歴史的スタイル 1章 古き良き時代:アセンブリ言語 2章 Fo

                                                                            プログラミング文体練習
                                                                          • 映像だけではなく文章に関わる人にもおすすめしたい、「編集」の難しさと楽しさについての絶品!──『映像編集の技法 傑作を生み出す編集技師たちの仕事術』 - 基本読書

                                                                            映像編集の技法 傑作を生み出す編集技師たちの仕事術 作者:スティーヴ・ハルフィッシュ発売日: 2021/01/21メディア: 単行本『映像編集の技法』は映像編集技師であるスティーヴ・ハルフィッシュが、スターウォーズにシビル・ウォーなど大作映画から『ブレイキング・バッド』のようなドラマの担当まで、50人以上の映像編集者へのインタビューをまとめた一冊である。 映像編集といっても体験したことがないと想像しづらいだろう。たとえば、一本の映画では当然映像は一繋がりの一本しかないが、撮影時には何回も同じシーンも撮りなおし、カメラも複数台存在する。そうなったら、上がってきた映像や複数あるカットの中から、最適なものを選びとっていかなければならない。複数のテイクにいい演技が分散していたら、それをつなぎ合わせることもあるし、台詞の間をほんの一瞬切り詰めることで印象を大きく変えたり、映像の時間の流れをコントロー

                                                                              映像だけではなく文章に関わる人にもおすすめしたい、「編集」の難しさと楽しさについての絶品!──『映像編集の技法 傑作を生み出す編集技師たちの仕事術』 - 基本読書
                                                                            • Go コンパイラのコードを読んでみよう - kosui

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

                                                                                Go コンパイラのコードを読んでみよう - kosui
                                                                              • 6x6リバーシの神 - まめめも

                                                                                絶対に勝てない6x6リバーシを作りました。あなたは黒番、AIが白番です。 絶対に勝てない6x6リバーシを作りました! ぜひ挑戦してみてくださいhttps://t.co/Ul5n3q9jMp— Yusuke Endoh (@mametter) December 30, 2021 これは何? 6x6の盤面のリバーシは後手必勝 *1 であることが知られています。 このAIは白番(後手)で完璧にプレイします。つまり黒番のあなたは絶対に勝てません。無力感を楽しんでください。 技術的な話 このAIはWebAssemblyになっているので、全部あなたのブラウザの上で動いてます。真のサーバーレスです。 AIのソースコードはRustで書きました。わりと堅実なゲーム木探索になってます。UIは普通にTypeScriptとthree.jsで実装しました。 github.com 作った順に説明します。 盤面の表現

                                                                                  6x6リバーシの神 - まめめも
                                                                                • 大学でRustを教えた話 - 未完成な論を綴るブログ

                                                                                  このブログ記事は、Advent Calender 2020, Rust 3、23日目の記事となります。自分は現在大学で教員をしていまして、セキュリティ系の研究室に所属しています。現在はセキュリティの講義を担当しており、そこでRust言語を教えているため、その内容を紹介しようと思います。 はじめに 皆さんご存知のようにソフトウェアの脆弱性は今でも大きな問題となっていますが、それを完全ではないにしろ根本から解決するための技術的手法として型システムが注目されています。型システムの考え自体は古くからありますが、最近ではRust言語が登場し、OSなどいわゆる低レイヤーなソフトウェアも型システムの恩恵を預かることができるようになってきました。SMTソルバや定理証明などと言った難しい(かつ面白い)手法でC言語やC++言語で書かれたソフトウェアを解析する方法もありますが、セキュアソフトウェアを語る上では、

                                                                                    大学でRustを教えた話 - 未完成な論を綴るブログ