廃棄物B

参考になりません!!!!!!

「Au オードリー・タン 天才IT相7つの顔」を読みました

なぜこの本を読もうと思ったのか

Twitterでこの本の文章の一部に言及しているツイートを発見し、オードリー・タンという人物に興味を持ったからです。さらに、読みやすそうな雰囲気を持った表紙だったため、読書不足で活字を読むことが億劫になっている私でも、この本を読み切れると感じたからです。実際に、2日間のうちの隙間時間や読書のモチベーションがある時間に読み進め、一応すべてを読み切ることができました。

文章の特徴

これは私の知識不足によるものですが、固有名詞が読みづらかったです。特に個人名は日本人とは全く異なるため、ふりがなを見てもすぐに読み方を忘れてしまい、途中からは個人名は一種の記号のように捉え、正しい発音などは意識せずに読み進めました。

固有名詞を除けば、あまり難しい語彙は登場しませんでした。しかし全く詰まることなく読み切ることはできませんでした。読めなかった表現で特に印象に残っているのは、「黎明期(れいめいき)」、「枯山水(かれさんすい)」、「均す(ならす)」、「蜜月期(みつげつき)」、「跋扈(ばっこ)」、「楓(かえで)」などです。読めそうで読めなかったため、一人でとても恥ずかしくなりました。言葉の定義なども確認し、普段から使いこなせるようにします。

この本の文章はタン本人が書いているのではなく、彼女を含めた周囲の人へインタビュー等をした二人の著者が書いています。したがって、終始文章はタンの情報を伝聞する形での表現となっています。恥ずかしながらこういった本を読むのは初めてだったため、新鮮に感じました。

構成

タイトルにもある通り、本文は7つの章に分かれています。

Episode 1 35歳のIT大臣
Episode 2 天才児童
Episode 3 独学少年
Episode 4 メンターそして仲間たち
Episode 5 性別を超えた人たち
Episode 6 シビックハッカーからハクティビスト
Episode 7 未来の世界を想像する

この7つの章に加えて、著者によるタンへのインタビューをまとめたQ&Aのコーナーと著者によるはじめ・終わりの言葉、新型コロナウイルス感染症に対する台湾の防疫対策をまとめた付録からこの本は構成されています。台湾の防疫対策の付録は、タンを中心としたものではありませんでした。これはあくまでも付録であるので仕方がありませんが、意外にも70ページほどあり、ボリュームがあります。本文は190ページほどなので本全体の4分の1以上を占めています。

感想

オードリー・タンという天才の壮絶なエピソードはどれも面白かったです。彼女は記憶力にとても優れており、大量の資料の内容を短時間で読み、睡眠を通して覚えるといった並外れた能力も持っているエピソードなどは特に私たち凡人とは異なると思います。トランスジェンダーでインターネットを若年層から使いこなし、政治的な取り組みにも積極的に取り組む様子は、飄々としている印象を与える一方で、まじめで他者への思いやりを忘れない印象を与えていました。

また、知的好奇心旺盛でどんなことにでも興味を持ち、学ぶことはやはり大物に共通していると再確認しました。今回読んだこの本の主人公であるタンも知的好奇心旺盛でした。10代から技術書を出版したり、インターンに参加するなどしている人たちもすべて、知的好奇心旺盛です。うまくやることに必要なのは、やはり知的好奇心を持って幅広いことに挑戦することです。臆病者で怠惰な私も、この世界を生き残るには、腐った心をぶっ壊し、純粋な知的好奇心を持つ必要があるのかもしれません。大変です。

infoコマンド

manコマンドに代わるマニュアル表示系コマンドらしい

manコマンドより操作が複雑なので現在もmanコマンドと共存しています。使い方は以下のようになります。

info <コマンド名>

例えば、

man find

では

FIND(1)                                        General Commands Manual                                        FIND(1)

NAME
       find - search for files in a directory hierarchy

SYNOPSIS
       find [-H] [-L] [-P] [-D debugopts] [-Olevel] [starting-point...] [expression]

DESCRIPTION
       This manual page documents the GNU version of find.  GNU find searches the directory tree rooted at each given
       starting-point by evaluating the given expression from left to right, according to  the  rules  of  precedence
       (see  section OPERATORS), until the outcome is known (the left hand side is false for and operations, true for
       or), at which point find moves on to the next file name.  If no starting-point is specified, `.' is assumed.

のように表示されますが、

info find

では

Next: Invoking locate,  Up: Reference

8.1 Invoking 'find'
===================

     find [-H] [-L] [-P] [-D DEBUGOPTIONS] [-OLEVEL] [FILE...] [EXPRESSION]

   'find' searches the directory tree rooted at each file name FILE by
evaluating the EXPRESSION on each file it finds in the tree.

   The command line may begin with the '-H', '-L', '-P', '-D' and '-O'
options.  These are followed by a list of files or directories that
should be searched.  If no files to search are specified, the current
directory ('.') is used.  

のように表示され、manとinfoでは少し形式が異なります。(表示されたマニュアル部分は長いので下の方は割愛しています。)

どちらもqキーで閉じ、スペースキーで画面をスクロールすることができますが、infoコマンドではf、bキーを使った画面スクロールができません。

infoコマンドで表示されるマニュアルは、ある程度の情報を「ノード」と呼ばれる単位に分割した物の集まりからできています。このノードがディレクトリのように階層構造を作っています。マニュアルの一番上の行に次のノードや現在のノードを確認することができ、uキーで一つ上のノードに移動することができます。

2022年2月18日

ざっくり

6時に起床し、早朝バイトに向かいました。暦の上ではもうすでに春ですが、まだまだ寒いですね。しばらくは10度を下回る日が続きそうです。今週はお休みをいただいていたので、久しぶりの勤務となりました。しかし、単純作業ですので体が覚えています。

バイト終了後は松屋Wで選べる玉子かけごはんを食べました。選べる小鉢は冷奴にしました。普通の朝ごはんですが、やはり松屋は安いですね。

数日前までは連続でブログを更新していましたが、普通に毎日続けることができませんでした。このまま一生何かを継続して続けるということができないんでしょうか。それだけは避けたいです。社会人になるまで、短ければあと3年。高校入学から高校卒業までの3年間があっという間であったことを考えると、もう時間はあまり残されていないと感じます。大学入学後のこの1年間、何の成果もあげられませんでした。前期の授業ではそれなりに気合を入れて受講していましたが、しばらくするとついていけなくなりました。特に微分積分の授業についていけなくなりました。何もわかりません。前期は運よく単位を落とすということはありませんでしたが、後期はおそらく何個か落としました。情けないです。成績発表の日まで落ち着きません。反省ばかりをして、変化しない、上っ面だけの中身スッカスカ人間として大学生の大切な1年間を過ごしてしまいました。貴重な春休みも残り1か月半しかありません。学習習慣を付けなければなりません。ツイッターを見ていると自分のしょうもなさを実感します。みんな主体的に行動しています。自分から積極的に機会をつかみ取り、着々と経験を重ねています。私には何もありません。まあ、他人と比べることは無意味であることはわかっています。今は自分が変化をすることに集中するべきです。毎日技術書を読みます。そして、この春休みの間に何かしら形に残るものを残そうと思います。何かってなんだよって感じですよね。

2022年2月10日

ざっくり

13時起床。早朝バイトがないとだめですね。しかし、今日はアラームを設定していなかったのでものすごく幸せな気持ちで起きました。たまにはアラームを鳴らさないのもいいです。

生産的活動したかった

新しいLinuxの教科書読みました。内容忘れました。

シェルスクリプトはshではなくbashで書いた方がいいらしいです。互換性や移植性が高いそうです。Linuxディストリビューションによってはshの実装方法が異なっていることが根拠なんですね。
bashとshの違いが正直全くわからないので、へーそうなんすか、ぐらいの気持ちです。そもそもシェルスクリプトbashで書くという動作の意味がよくわからないです。vimで書く場合はbashvimを起動すればいいということなんですかね。何もわからない。

慣習で拡張子をshにするようですがそれもややこしいです。拡張子shでbashで書いたシェルスクリプトという存在です。拡張子なしのテキストファイルでもいいらしいです?

#!で始まるshebang(シバン)。 #!以降の行に書かれているコマンドを実行します。#!/bin/bashならばまずbashを実行します。ああ!これがシェルスクリプトbashで記述するということなんですね!ここで/bin/shと記述しておけばshでシェルスクリプトを記述することになるんですね!たぶん。#が先頭にある行はシェルは認識しないので、シバンの存在はシェルは知らないです。カレントシェルがzshのとき、先頭に#!/bin/bashが書かれたシェルスクリプトを実行するときは、行きはzshで、カーネルにたどり着いたときにカーネルbashで実行して返せばいいことを認識して、帰りはbashから帰ってくるということなんでしょうか。

シェルスクリプトにはchmodコマンドで実行権限を付ける必要があります。つけないとPermision deniedでした。-rw-r--r--が作成直後のファイルタイプ、ファイルパーミッションでした。オーナーは書き込み可能なのでオーナーの私が実行権限を付与できるんですね。シンボルモードによる表記でユーザ指定をしなかったら、すべてのユーザに権限付与できました。

./でカレントディレクトリ内の指定したファイルを実行するというおまじないだと思っていましたが単純にファイルのパスを打ち込んでいるだけなんですね。相対パスで表現しているだけなんですね。

~はホームディレクトリだということを忘れていました。

sourceコマンドはシェルスクリプトをそのままコマンドラインに入力して実行する。.コマンドと同じ意味。カレントシェルの環境の影響を受けることに注意が必要です。エイリアスなどがシェルスクリプト内でも有効になっています。ファイル名で実行した場合にはサブシェルと呼ばれる、現在のシェルから新しく起動される子プロセスのシェルで実行されます。

  • 新しいLinuxの教科書~p.277

2022年2月9日

ざっくり

何もしていません。14時起床。深夜1時ごろに寝たことを記憶しているが、これはひどいですね。早朝バイトによって人間であることを維持している。虚無!!!!

生産性高めるどころではない

/dev/nullスペシャルファイルとかデバイスファイルとか言うものらしい。ファイルタイプはc。
入力先と指定しても、何も内容を返さないかつ、出力先としてしても、何も保存しないらしいです。
リダイレクト先に指定すれば、標準出力や標準エラー出力を空っぽにできるんですね。

コマンドの標準出力を別のコマンドの標準出力につなぐパイプライン。標準出力の抽象性を生かした仕組みだと思いました。中間管理職のようななくてはならない存在ですね。

cat -nで行番号付けくわえて連結出力忘れてました。

lessコマンドでテキストファイルを1画面ごとに表示。fで次、bで前。忘れてました。

2>&1で標準エラー出力を標準出力と同じチャネル(?)に送れるらしいです。

新しいLinuxの教科書~p.200

2022年2月8日

午前中

5時30分ごろ起床しました.朝早くからえらいです.早朝バイトを9時までこなし, 帰宅後は12時頃まで自宅でTwitterやらなんやらをしていました!!なんてこった!!カウチポテトまっしぐらです!!

生産的活動

「新しいLinuxの教科書」*1を手を動かしながら読み進めました. 学んだワードリスト ファイルのオーナー -lオプション rootユーザ rootグループ ユーザのグループ groupsコマンド ファイルのパーミッション ファイルタイプ

ファイルタイプの文字 表す意味
- 通常ファイル
d ディレクト
l シンボリックリンク

ファイルモードは3文字ごとに[オーナー][グループ][その他のユーザ]に対するパーミッションを表す.
(例)

オーナー グループ その他のユーザ
rwx r-x r-x

r, w, xはread(読み取り), write(書き込み), execute(実行)が許可されていることを表す.
-は許可されていないことを意味する.
ディレクトリのパーミッション ls -l だと対象のディレクトリに存在するファイルとサブディレクトリのパーミッションが表示されるのでディレクトリそのもののパーミッションを出力してほしいときは-dオプションを付ける。ファイルのパーミッションと意味が少し違う。

記号 ディレクトリのパーミッションの意味
r 読み取り:ディレクトリに含まれるファイル一覧の取得(lsでファイルリスト表示可)
w 書き込み:ディレクトリの下にあるファイル・ディレクトリの作成・削除(ファイルの削除はファイル自身のパーミッションは関係ない)
x 実行:ディレクトリをカレントディレクトリにする

chmodコマンド
chmod [ugoa][+-=][rwx] <filename>

記号 意味
u オーナー
g グループ
o その他のユーザ
a 上記のugoすべて
+ 権限を追加
- 権限を禁止
= 指定した権限と同じにする

(例)
chmod u+w file.txt
上記ではオーナーに書き込み権限を追加している. 読み込み権限と実行権限は追加されていようがいまいがそのまま.
chmod go=rw file.txt
上記ではグループとその他のユーザの権限が何であろうとrw-になるように変更している. 読み込み権限と書き込み権限のみを設定している.

上記はchmodのシンボルモード.数値モードでは以下.

chmod <8進数の数値> <filename>

意味 数字
r 4
w 2
x 1

chmod 755 file.txt
4+2+1=7よりオーナーは読み書き実行可能.4+1=5よりグループとその他のユーザは読み込みと実行が可能.

スーパーユーザ(rootユーザ) su sudo 環境変数を引き継がないsu - スードゥー Permission denied /etc/sudoersファイル visudoコマンド プロセス ターミナルに接続していないプロセス デーモン psコマンド UNIXオプション BSDオプション ps シェルから見た処理の単位ジョブ パイプ ジョブはシェルごとにジョブ番号を持つ ctrl+Zでジョブの停止

  • 新しいLinuxの教科書~p.175
  • 感想:俺は生産性皆無の温室効果ガス排出マシーンであった。

2022年2月7日

二度寝。悲しみの12時起床。

6時になるアラームを裏切りました。原因は前日の夜更かし。アニメを見ていたら、あっという間に深夜2時です。自制心って大事ですね。洗顔後、何かを食べようと思い、コーンフレークを食べました。フロストでしたが、プレーンを食べたいと思いました。

生産的な活動

数日前から読んでいた「新しいLinuxの教科書」を読み進めました。Chapter9まで読みました。昨日と比べて全然進んでいない気がするので今日からブログに自己啓発がてら記録していこうと思います。

また、ノートを取っていなかったので復習が大変そうです。正直に申し上げますと、今日やった内容は大体忘れています。vim使いこなせる気がしません。0時過ぎに何やっているんでしょうね。

明日というか、今日は3Chapter分は進めたいですね。そして適切な記録をして忘れないようにするつもりです。