<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Codereading on Debimate</title><link>https://debimate.jp/tags/codereading/</link><description>Recent content in Codereading on Debimate</description><image><title>Debimate</title><url>https://debimate.jp/images/default-ogp.jpg</url><link>https://debimate.jp/images/default-ogp.jpg</link></image><generator>Hugo -- 0.161.1</generator><language>ja-jp</language><lastBuildDate>Sat, 20 Feb 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://debimate.jp/tags/codereading/index.xml" rel="self" type="application/rss+xml"/><item><title>【Androidアプリ】コードリーディングに使うアプリをUserLAndからSource Code Viewer Proに浮気した話</title><link>https://debimate.jp/post/ja/2021-02-20-android%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B3%E3%83%BC%E3%83%89%E3%83%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%AB%E4%BD%BF%E3%81%86%E3%82%A2%E3%83%97%E3%83%AA%E3%82%92user/</link><pubDate>Sat, 20 Feb 2021 00:00:00 +0000</pubDate><guid>https://debimate.jp/post/ja/2021-02-20-android%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B3%E3%83%BC%E3%83%89%E3%83%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%AB%E4%BD%BF%E3%81%86%E3%82%A2%E3%83%97%E3%83%AA%E3%82%92user/</guid><description>&lt;h3 id="前書きuserlandは遅かった"&gt;前書き：UserLAndは遅かった&lt;/h3&gt;
&lt;p&gt;約2年前の2019年、私は&lt;a href="https://debimate.jp/post/2019-03-16-android%E3%81%ABlinux%E7%92%B0%E5%A2%83%E3%82%92%E6%A7%8B%E7%AF%89%E3%81%99%E3%82%8Buserland%E3%81%8C%E3%82%BD%E3%83%BC%E3%82%B9%E3%83%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E7%92%B0/"&gt;AndroidスマホでコードリーディングするにはUserLAndが最適&lt;/a&gt;だと結論づけていました。&lt;/p&gt;
&lt;p&gt;しかし、使い込んでいく内にUserLAnd特有の**「ファイル操作が遅い点」**に我慢できなくなりました。&lt;/p&gt;
&lt;p&gt;システムコール単位でフック処理を入れているUserLAndは、ミドルレンジスマホがCeleron PCと同等に感じられるぐらい遅いです。特に、パッケージマネージャによるインストール処理などの待ち時間は長く、下手すると数十分から数時間待たされます。&lt;/p&gt;</description></item><item><title>【LPICで見た】/etc/motdの内容を出力しているのは誰？【答え:sshd】</title><link>https://debimate.jp/post/ja/2020-12-01-lpic%E3%81%A7%E8%A6%8B%E3%81%9F-etc-motd%E3%81%AE%E5%86%85%E5%AE%B9%E3%82%92%E5%87%BA%E5%8A%9B%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AE%E3%81%AF%E8%AA%B0/</link><pubDate>Tue, 01 Dec 2020 00:00:00 +0000</pubDate><guid>https://debimate.jp/post/ja/2020-12-01-lpic%E3%81%A7%E8%A6%8B%E3%81%9F-etc-motd%E3%81%AE%E5%86%85%E5%AE%B9%E3%82%92%E5%87%BA%E5%8A%9B%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AE%E3%81%AF%E8%AA%B0/</guid><description>&lt;h3 id="前書きmessage-of-the-dayファイルとは"&gt; 前書き：Message Of The Dayファイルとは&lt;/h3&gt;
&lt;p&gt;LPIC受験者は、よくご存知の/etc/motd (Message Of The Day)ファイル。&lt;/p&gt;
&lt;p&gt;ユーザがLinuxサーバにsshログインした際に、/etc/motdファイルの内容がターミナル上に表示されます。&lt;/p&gt;</description></item><item><title>Linuxコマンドのソースコードを取得する方法(Debian環境)：オリジナルコマンド作成前の勉強向け</title><link>https://debimate.jp/post/ja/2019-06-01-linux%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AE%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95debian%E7%92%B0%E5%A2%83/</link><pubDate>Sat, 01 Jun 2019 00:00:00 +0000</pubDate><guid>https://debimate.jp/post/ja/2019-06-01-linux%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AE%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95debian%E7%92%B0%E5%A2%83/</guid><description>&lt;h3 id="前書き"&gt;前書き&lt;/h3&gt;
&lt;p&gt;少し古い雑誌ですが、&lt;a href="http://www.kumikomi.net/interface/contents/201610.php"&gt;CQ出版社のInterface誌（2016年10月号）&lt;/a&gt;に「レベルアップ！ オリジナル・コマンドを作る」という記事がありました。しかし、この雑誌に書かれている内容は、bashに偏っており、情報が不足していると(当時)感じました。&lt;/p&gt;</description></item><item><title>Code Reading：Redox(Rust)版coreutilsのcatコマンド その2(全2回)</title><link>https://debimate.jp/post/ja/2019-05-11-code-readingredoxrust%E7%89%88coreutils%E3%81%AEcat%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89-%E3%81%9D%E3%81%AE2%E5%85%A82%E5%9B%9E/</link><pubDate>Sat, 11 May 2019 00:00:00 +0000</pubDate><guid>https://debimate.jp/post/ja/2019-05-11-code-readingredoxrust%E7%89%88coreutils%E3%81%AEcat%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89-%E3%81%9D%E3%81%AE2%E5%85%A82%E5%9B%9E/</guid><description>&lt;h3 id="前書き"&gt;前書き&lt;/h3&gt;
&lt;p&gt;Rustを学習するための一環として、Redox(OS)版coreutilsのcatコマンドをCode Readingします。本記事(その2)は、catコマンドの主要な処理(ファイル内容の表示)を説明します。catコマンドのオプションパース処理に関する内容は、以下に示す前回記事(その1)を確認して下さい。&lt;/p&gt;</description></item><item><title>Code Reading：Redox(Rust)版coreutilsのcatコマンド その1(全2回)</title><link>https://debimate.jp/post/ja/2019-05-06-code-readingredoxrust%E7%89%88coreutils%E3%81%AEcat%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89-%E3%81%9D%E3%81%AE1%E5%85%A82%E5%9B%9E/</link><pubDate>Mon, 06 May 2019 00:00:00 +0000</pubDate><guid>https://debimate.jp/post/ja/2019-05-06-code-readingredoxrust%E7%89%88coreutils%E3%81%AEcat%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89-%E3%81%9D%E3%81%AE1%E5%85%A82%E5%9B%9E/</guid><description>&lt;h3 id="前書き"&gt;前書き&lt;/h3&gt;
&lt;p&gt;Rustを学習するための一環として、Redox(OS)版coreutilsのcatコマンドをCode Readingします。Redoxプロジェクトや環境構築方法に関しては、以下の記事にまとめてあります。&lt;/p&gt;</description></item><item><title>環境構築：Redox向けcoreutils(Rust)のCode Reading準備およびReading対象コマンド一覧</title><link>https://debimate.jp/post/ja/2019-05-03-%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89redox%E5%90%91%E3%81%91coreutilsrust%E3%81%AEcode-reading%E6%BA%96%E5%82%99%E3%81%8A%E3%82%88%E3%81%B3reading%E5%AF%BE%E8%B1%A1%E3%82%B3%E3%83%9E/</link><pubDate>Fri, 03 May 2019 00:00:00 +0000</pubDate><guid>https://debimate.jp/post/ja/2019-05-03-%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89redox%E5%90%91%E3%81%91coreutilsrust%E3%81%AEcode-reading%E6%BA%96%E5%82%99%E3%81%8A%E3%82%88%E3%81%B3reading%E5%AF%BE%E8%B1%A1%E3%82%B3%E3%83%9E/</guid><description>&lt;h3 id="前書きredox版coreutilsを読む理由"&gt;前書き：Redox版coreutilsを読む理由&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://github.com/redox-os/coreutils"&gt;Redoxプロジェクトが開発しているcoreutils&lt;/a&gt;を読む理由は、「(Rust初心者の私が)&lt;strong&gt;Rustを学習する&lt;/strong&gt;」ためです。Redoxプロジェクトに関わるコードは、基本的にRustで書かれています。何故、Redox(Kernel)ではなくて、coreutilsを読むのかと言えば、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kernelを読めるほど、私がRustに慣れていない&lt;/li&gt;
&lt;li&gt;RedoxプロジェクトのCoreutilsは小規模&lt;/li&gt;
&lt;li&gt;CoreutilsはUnix/Linuxコマンドのため、私が機能を把握済み&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という理由です。&lt;/p&gt;</description></item><item><title>コードリーディング(Bash)：システム情報表示ツール"neofetch"</title><link>https://debimate.jp/post/ja/2019-01-22-%E3%82%B3%E3%83%BC%E3%83%89%E3%83%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0bash%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E6%83%85%E5%A0%B1%E8%A1%A8%E7%A4%BA%E3%83%84%E3%83%BC%E3%83%ABneo/</link><pubDate>Tue, 22 Jan 2019 00:00:00 +0000</pubDate><guid>https://debimate.jp/post/ja/2019-01-22-%E3%82%B3%E3%83%BC%E3%83%89%E3%83%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0bash%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E6%83%85%E5%A0%B1%E8%A1%A8%E7%A4%BA%E3%83%84%E3%83%BC%E3%83%ABneo/</guid><description>&lt;h3 id="前書き"&gt;前書き&lt;/h3&gt;
&lt;p&gt;本記事は、システム情報表示ツール&amp;quot;&lt;a href="https://github.com/dylanaraps/neofetch"&gt;neofetch&lt;/a&gt;&amp;ldquo;のコードリーディング結果を記載しています。&lt;br&gt;
リーディング動機は、**「neofetchは、システム情報をどこから集めているか」**が気になったからです。neofetchは約2600Step程度の小規模なBash scriptであるため、関数レベルで解説します。&lt;/p&gt;</description></item><item><title>コードリーディング(C言語)：chroot / ischroot</title><link>https://debimate.jp/post/ja/2019-01-20-%E3%82%B3%E3%83%BC%E3%83%89%E3%83%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0c%E8%A8%80%E8%AA%9Echroot-ischroot/</link><pubDate>Sun, 20 Jan 2019 00:00:00 +0000</pubDate><guid>https://debimate.jp/post/ja/2019-01-20-%E3%82%B3%E3%83%BC%E3%83%89%E3%83%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0c%E8%A8%80%E8%AA%9Echroot-ischroot/</guid><description>&lt;h3 id="前書き"&gt;前書き&lt;/h3&gt;
&lt;p&gt;本記事は、以下のコマンドのコードリーディング結果を記載しています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;プロセスおよび子プロセスの(見かけ上の)ルートディレクトリを変更する&lt;a href="https://ja.wikipedia.org/wiki/Chroot"&gt;chroot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;プロセスがchroot環境(jail環境)で動作しているかを検出する&lt;a href="https://www.cs.drexel.edu/cgi-bin/manServer.pl/usr/share/man/man1/ischroot.1"&gt;ischroot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img loading="lazy" src="https://debimate.jp/post/ja/2019-01-20-%E3%82%B3%E3%83%BC%E3%83%89%E3%83%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0c%E8%A8%80%E8%AA%9Echroot-ischroot/images/ischroot_chroot.png"&gt;&lt;/p&gt;</description></item></channel></rss>