並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 10 件 / 10件

新着順 人気順

C言語の検索結果1 - 10 件 / 10件

  • Mac やめて Linux PC を自作した - IT戦記

    みなさまお元気ですか 暑さも少し落ち着いてきて、ようやく外に出てもいいかなという気になってきました。季節の変わり目体調には気をつけていきたいですね。 実は、一ヶ月くらい前に Linux PC を自作して Mac から移行しました。そのときの考え、その後の感想を残しておきます。 また、学んだことや作業のログを細かく残しておきたいと思います。(どこかの誰かが不安に思ったときに同じ失敗や疑問を経験した人がいて安心してもらえたら嬉しい) Ubuntu のインストール画面 (ベストオープンソースと開発しよう!) 目次 Mac をやめるきっかけ、経緯 Ubuntu に移行して一ヶ月の感想 おまけ1: どのような PC になったか おまけ2: 事前に学んだこと おまけ3: PC の組み立て おまけ4: Ubuntu のセットアップ 加筆/修正 指摘のあった誤字を修正 NVEnc について誤った内容があっ

      Mac やめて Linux PC を自作した - IT戦記
    • 初心者がプログラミングを学ぶときに最も効果的な方法は「写経」だと思う|shi3z

      プログラミングの勉強方法で最も効果がない方法は「写経」です。コードを記憶しても無駄です。実際のプログラミングでは記憶にないコードを作り出さなければいけないからです 「写経」はタイピング速度の向上やキーワードを覚える効果はあるかもしれませんが、肝心のプログラミングには役に立ちません — Koichi Nakashima (@ko1nksm) September 3, 2024 こういうエントリを見かけたので。 僕は1990年代からプログラミングを人に教える仕事をしています。最初は中学の時に技術家庭科の授業を先生から任されて同級生にプログラミングを教えることから始まりました。その後、色々な方法を試しましたが、結論としてプログラミング初心者は写経した方が結局は上達が速いと今は考えています。 それが特に強く感じられたのは2015年頃から色々な人にAI関連のプログラミングを教え始めた頃です。 AI関

        初心者がプログラミングを学ぶときに最も効果的な方法は「写経」だと思う|shi3z
      • C言語1000行でテキストエディタを作るチュートリアルをやった

        結果的に1200行を越えましたが。 kilo 成果物はこれ↓ 参考サイトはこれです↓ インスパイア元↓ 感想 C言語は10年ぶりくらいに書いた 進めていくうちになんとなく思い出すことができた 最初にちゃんと授業で学んだ言語なので懐かしく思った Cに出会っていなければプログラミングしてなかったかもしれないので感慨深い しかしこのレベルのメモリ管理は正直たいへん 「この関数で確保したメモリはこっちの関数で開放されるので問題ありません」みたいな この調子でやっていったらバグる未来しか見えない 1000行・1ファイルというコンセプトは良いのだがファイル分けて管理したいナ〜〜と思った 配列や文字列の操作、メモリ管理がやりやすい別の言語で書き直したい Cを書くの大変だな…という感想を持った 速さはともかく他の言語で書きたい もっとimmutableに… お手本よりも行数が増えた 1行のif文などでもブ

          C言語1000行でテキストエディタを作るチュートリアルをやった
        • Rust3000行でテキストエディタを作るチュートリアルをやった

          想定よりだいぶ大変でした。 hecto 成果物はこれ↓ 参考サイトはこれです↓ インスパイア元↓ 感想 Rustはこのチュートリアルが初体験 ずっと勉強したいとは思っていたので良い機会だった チュートリアルを進めていくなかで所有権とかライフタイムとかを少しずつ導入していき説明も挟んでくれるので助かった しかし3000行の経験を積んだ程度ではまだまだエラーの読み解きは難しいな〜という印象 https://bsky.app/profile/kawarimidoll.bsky.social/post/3l3znqvdbx42q パターンマッチ、ResultやOptionといった概念は先にGleamをやっていたおかげで問題なく理解できた 外部依存ナシのC言語版が1000行程度だったので外部ライブラリを使えるRust版は行数が少ないのかしらと思ったが結果的に3000行になった C版は1週間ほどで完成

            Rust3000行でテキストエディタを作るチュートリアルをやった
          • Unixの歴史の起源を伝説のゲーム「スペース・トラベル」で遊んで学ぼう! - Qiita

            ちなみに Space Travel にスコア機能やゲームのなにかを記録する機能はありません。描画は点と線だけで画像ファイルの読み込みなどは行いません。オリジナルの Space Travel は紙テープから起動してオンメモリで動くはずです。何が言いたいかというと Space Travel を動かすためにファイルシステムを作る理由はないということです。紙テープからの起動なんて時間がかかるのでは? と思ったあなたは鋭い。1980 年頃の音楽用のカセットテープをコンピュータの記憶媒体として使っていた時代では、実際にゲームを始める前のロード時間に何分も待っていました。 初期の Unix 開発の技術は Space Travel から学んだ さて、この記事は Space Travel を通して Unix 開発の初期の歴史や、なぜケン・トンプソンは Unix を開発するに至ったのかを知ろうというのが趣旨の

              Unixの歴史の起源を伝説のゲーム「スペース・トラベル」で遊んで学ぼう! - Qiita
            • テキストエディタをフルスクラッチで書いてみた - Qiita

              テキストエディタをフルスクラッチで書いてみた 完成品はこちらになります https://github.com/sxclij/sxceditor2 それVimじゃねぇの? これはもしかして、既存のテキストエディタを真似しただけで、本当にフルスクラッチで作ったわけじゃないんじゃないかと思い始めました。GitHub上にも数多くのVimクローンが散見されています。そこでC言語の力を借りて「本当にフルスクラッチで作ったテキストエディタ」を作ろうと思い立ちました。 とは言っても筆者は宗教上の理由によりmallocを使わない事にしているので今回の記事では一切動的メモリ確保はしません。しかし便利な世の中になった物で、mallocを一切使わなくてもテキストエディタが作れる様になりました。 本記事ではそんな「誰でも簡単にできるテキストエディタ開発」をやってみたいと思います。 1. プロジェクトの背景 なんでテ

                テキストエディタをフルスクラッチで書いてみた - Qiita
              • Windows NT系はUNIX系と比較して設計上のどういう点が先進的だったのか?

                元Google・現Microsoftのソフトウェアエンジニアであるジュリオ・メリノ氏が、現代のWindows 11の基盤アーキテクチャとなっているWindows NT系と、FreeBSDやLinuxなどに代表されるUNIX系を比較した考察をまとめています。 Windows NT vs. Unix: A design comparison - by Julio Merino https://blogsystem5.substack.com/p/windows-nt-vs-unix-design ・開発の経緯 MicrosoftはDOS系となるMS-DOSを1981年8月に、Windows 1.0を1985年11月にリリースしました。そして、DOS系の後継としてOS/2をIBMと共同開発していましたが、プロジェクトが難航したため、OS/2とは別となるMicrosoft独自の「Windows N

                  Windows NT系はUNIX系と比較して設計上のどういう点が先進的だったのか?
                • Windowsカーネルから見るオブジェクトハンドル - ラック・セキュリティごった煮ブログ

                  デジタルペンテスト部の北原です。 今回は、Windowsでのツール開発者にとっては重要なハンドルの内部について解説します。 Windowsでは、ファイルやプロセスから始まりすべてのリソースはオブジェクトとして扱われ、ファイルの削除やメモリの確保にはハンドルを取得する必要があります。 ツールやアプリケーションの開発者にとっては、日常的にハンドルを操作する機会がありますが、通常の利用者にとってはあまり意識するものではありません。 本記事では、Windows OSでのハンドルの役割と、OS内部でどの様に管理されているのかについて解説します。 記事の構成は以下の通りです。 ハンドルの役割とアクセス権限 ハンドルへの情報の問い合わせと操作 カーネル空間でのハンドル管理 応用例1 - オブジェクトをロックしているプロセスの特定 応用例2 - カーネルモードルートキット 本記事は以下の読者層を想定してい

                    Windowsカーネルから見るオブジェクトハンドル - ラック・セキュリティごった煮ブログ
                  • 60年前からのプログラミング和文論文を掘り起こした話

                    最初はタイトルを「和文プログラミング論文を〜」としていたのですが、いわゆる「日本語プログラミング言語」の話にも見えてしまうことから、「プログラミング和文論文を〜」に置き換えました。 日本の人々が「プログラミング」にかかわるようになったのは、いつごろでしょうか? その前に、まずは世界のコンピュータとプログラミングの歴史を簡単に振り返ってみましょう。まずは OS から有名どころをたどると、 わかりやすく Windows 95 が 1995 年 [1] その前に広く使われた Windows 3.1 は 1992 年 [2] その下で動く MS-DOS は、バージョン 6 が 1993 年、バージョン 1 が 1981 年 [3] Linus Torvalds が Linux の開発を始めたのが 1991 年 [4] その「契機となった」 Andrew Tanenbaum の MINIX が 19

                      60年前からのプログラミング和文論文を掘り起こした話
                    • C言語のざんねんなしよう事典

                      モダンなプログラミング言語が多数登場した現代においても、C言語は重要な言語です。具体的に言うと、多くのプログラミング言語(あるいは言語ランタイム)がC言語で実装されていたり、OSのAPIはC言語のインターフェース(ABI)で提供されている場合が多かったり、異なるプログラミング言語間で関数呼び出しをしようとするとC言語のABIがベースとなったりします。 そんなC言語ですが、登場時から現代まで、少しずつですが進化を遂げています。その過程では、「この機能は良くなかった」ということが判明し、非推奨になったり削除された機能もあります。この記事では、C言語のそのような「良くなかった」機能を紹介します。 gets 関数 C言語には、誤って使うとバッファオーバーフローなどの問題を引き起こす関数が多数用意されています。例えば、

                        C言語のざんねんなしよう事典
                      1