タグ

メモリに関するtsugiikimasu22のブックマーク (7)

  • コンピュータシステムの理論と実装 第2版

    コンピュータシステムをゼロから作って学ぶベストセラー書の改訂第2版。コンピュータを理解するための最善の方法はゼロからコンピュータを作ることです。コンピュータの構成要素は、ハードウェア、ソフトウェア、コンパイラ、OSに大別できます。書では、これらコンピュータの構成要素をひとつずつ組み立てます。具体的には、NANDという電子素子からスタートし、論理ゲート、加算器、CPUを設計します。そして、アセンブラ、仮想マシン、コンパイラ、OSなどを実装しコンピュータを完成させて、最後にその上でアプリケーション(テトリスなど)を動作させます。 賞賛の声 訳者まえがき まえがき 第I部 ハードウェア I.1 Hello, World Below(こんにちは、低レイヤの世界) I.2 Nand to Tetris I.3 抽象化と実装 I.4 方法論 I.5 この先の展望 1章 ブール論理 1.1 ブール代数

    コンピュータシステムの理論と実装 第2版
  • プログラミング〈新〉作法 これからプログラムを書く人のために

    「プロとしてプログラムが書ける人」に求められる能力が大きく変わった! 1つのプログラミング言語にこだわらず、それぞれの言語のベストプラクティスを学ぼう。現代のプログラミング言語を支える技術が凝縮した一冊 第1章 はじめに 1.1 プログラミングに必要な知識とは 1.2 書の構成 1.3 プログラマに伴走する生成AI 1.4 コーディング環境 1.4.1 オンライン実行環境 1.4.2 ローカルでのコーディング環境 1.5 まとめ 第2章 C言語からはじめよう 2.1 C言語とは 2.2 入力・演算・出力 2.2.1 変数・定数・リテラル 2.2.2 演算子 2.2.3 入出力関数 2.2.4 数値計算を行うプログラム例 2.2.5 配列 2.2.6 文字と文字列 2.3 制御構造 2.3.1 条件分岐 2.3.2 繰り返し 2.3.3 構造化プログラミング 2.4 関数 2.4.1 ma

    プログラミング〈新〉作法 これからプログラムを書く人のために
  • テキストエディタをフルスクラッチで書いてみた - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? テキストエディタをフルスクラッチで書いてみた 完成品はこちらになります https://github.com/sxclij/sxceditor2 それVimじゃねぇの? これはもしかして、既存のテキストエディタを真似しただけで、当にフルスクラッチで作ったわけじゃないんじゃないかと思い始めました。GitHub上にも数多くのVimクローンが散見されています。そこでC言語の力を借りて「当にフルスクラッチで作ったテキストエディタ」を作ろうと思い立ちました。 とは言っても筆者は宗教上の理由によりmallocを使わない事にしているので今回の記事

    テキストエディタをフルスクラッチで書いてみた - Qiita
  • 2024年最新版:Pythonデータ解析ライブラリ総まとめ - 実践的ガイド - Qiita

    はじめに Pythonのデータ解析エコシステムは日々進化を続けています。2024年現在、効率的なデータ処理、直感的な可視化、高度な機械学習の自動化など、様々な新しいツールが登場しています。記事では、最新のPythonデータ解析ライブラリを紹介し、それぞれの特徴や使用例、実際のユースケース、そして導入方法まで詳しく解説します。 1. データ操作ライブラリ 1.1 Polars: 高速データ処理の新標準 Polarsは、Rustで実装された高速なデータ操作ライブラリです。pandasに似たAPIを持ちながら、大規模データセットでより高速に動作します。 特徴: 高速な処理速度 メモリ効率が良い pandasに似たAPI 使用例: import pandas as pd # サンプルデータを作成 data = { "age": [25, 32, 28, 35, 40, 50], "categor

    2024年最新版:Pythonデータ解析ライブラリ総まとめ - 実践的ガイド - Qiita
  • スレッドとプロセスの違いを完全に理解する

    はじめに こんにちは、FarStep です。 プログラミングを学ぶ中で、「プロセス」と「スレッド」という言葉を耳にしたことがある方は多いと思います。 しかし、これらの違いを明確に説明できる自信がない方も多いのではないでしょうか。 記事では、プロセスとスレッドの違いについて、エッセンスを抽出して 解説します。 説明を簡潔にしましたので、記事は 5 分程度で読み終えることができます。 記事の内容を自分の言葉で説明できるようになれば、プロセスとスレッドの違いの理解は十分でしょう。 それでは、始めます 🚀 プログラムとは プロセスとスレッドの違いを理解する前に、まずは「プログラム」について理解しましょう。 プログラムとは、プログラミング言語で書かれた一連の命令 のことです。 プログラミング言語の例としては、以下のようなものがあります。 C 言語 Java Python Ruby JavaS

    スレッドとプロセスの違いを完全に理解する
  • DeepLを超えるやさしい翻訳アプリとGPTsを作りました

    DeepLを超えるやさしい翻訳アプリとGPTsを作りました 苦手な分野の英文を理解するのを助けてくれます。 なぜ翻訳アプリを作ったのか 私は最近ChatGPTのような大規模言語モデルに興味があり、AI開発者の方や、大規模言語モデル関連の情報を発信している方をフォローしていました。 すると最新の論文(英語)や英語のツイートが次々に流れてくるのですが、それらをGoogle翻訳したり、DeepLで翻訳しても、意味不明な場合が多いということに気づきました。 特に海外の方の1行だけのツイートなどは、DeepLで翻訳しても全く意味がわからない場合が多くて困っていました。 AI関連の論文は専門用語が多く、いちいち調べながら読んでいると、1日の大半の時間が情報収集だけで終わってしまいます。 これは要するに「自分の専門分野でない分野の英文を理解するのは大変」ということなので、例えば「Web制作初心者の方が海

    DeepLを超えるやさしい翻訳アプリとGPTsを作りました
  • プログラムを動かす時にメモリがどのように割り当て・解放されるのかをめちゃくちゃわかりやすいイメージ画像で解説してくれるサイト「Memory Allocation」

    コンピューター上でプログラムを動作する際に必要になるのがメモリです。プログラム自体をメモリに読み込む必要があるのはもちろん、プログラムが行う動作はほとんど「メモリから値を取りだして計算し、メモリに保存する」であるといっても過言ではありません。プログラムが動作する際にメモリがどのように管理されているのかについて、ベテランプログラマーのサム・ローズさんがブログで解説しています。 Memory Allocation https://samwho.dev/memory-allocation/ C言語の標準ライブラリには「malloc」と「free」という2つの関数が用意されています。この2つはなんと1979年のUnix v7から存在している歴史ある関数で、mallocがメモリの割り当てを担当し、freeがメモリの解放を担当しています。サム・ローズさんの解説は「この2つの関数の中身を自分で実装する」

    プログラムを動かす時にメモリがどのように割り当て・解放されるのかをめちゃくちゃわかりやすいイメージ画像で解説してくれるサイト「Memory Allocation」
  • 1