diff options
| author | nsfisis <nsfisis@gmail.com> | 2023-06-17 14:38:30 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2023-06-17 14:38:30 +0900 |
| commit | 069ea120e5dda665b39c42db53be6f718454c1ab (patch) | |
| tree | ed813da7f6b21a2f95e9f0772195bd0420664817 | |
| parent | 3000e81d6351aa2e8dff5e40b9ac6e91ea0a0dd3 (diff) | |
| download | phpstudy-153-slides-069ea120e5dda665b39c42db53be6f718454c1ab.tar.gz phpstudy-153-slides-069ea120e5dda665b39c42db53be6f718454c1ab.tar.zst phpstudy-153-slides-069ea120e5dda665b39c42db53be6f718454c1ab.zip | |
スライドを追加
| -rw-r--r-- | README.md | 16 | ||||
| -rw-r--r-- | slide.pdf | bin | 134949 -> 178050 bytes | |||
| -rw-r--r-- | slide.saty | 124 |
3 files changed, 136 insertions, 4 deletions
@@ -1 +1,15 @@ -https://phpstudy.connpass.com/event/TODO/ +https://phpstudy.connpass.com/event/286669/ + +# Spec + +https://pubs.opengroup.org/onlinepubs/9699919799 + +> ### 3.403 Text File +> +> A file that contains characters organized into zero or more lines. (略) + +--- + +> ### 3.206 Line +> +> A sequence of zero or more non- \<newline\> characters plus a terminating \<newline\> character. Binary files differ@@ -24,10 +24,11 @@ document '< +make-title(| title = { - |TODO + |テキストファイルの末尾には + |改行コードを入れよう |}; author = {|nsfisis (いまむら)|}; - date = {|第TODO回PHP勉強会@東京|}; + date = {|第153回PHP勉強会@東京|}; |); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -47,8 +48,125 @@ document '< %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +frame{なぜ末尾に改行を入れるべきか: その1}< + +fig-center(vconcat [ + gap 75pt; + textbox?:(set-font-size 24pt){A: そういう定義だから}; + ]); + > + + +frame{なぜ末尾に改行を入れるべきか: その1}< + +fig-center(gap 25pt); + +p{ + POSIX による\emph{「テキストファイル」の定義}: + } + +p{ + A file that contains characters organized into zero or more lines. ... + } + +p{ + \emph{0個以上の「行」で構成されたファイル} + } + > + + +frame{なぜ末尾に改行を入れるべきか: その1}< + +fig-center(gap 25pt); + +p{ + POSIX による\emph{「テキストファイル」の定義}: + } + +p{ + A file that contains characters organized into zero or more lines. ... + } + +p{ + \emph{0個以上の「行」で構成されたファイル} + } + +fig-center(gap 25pt); + +p{ + POSIX による\emph{「行」の定義}: + } + +p{ + A sequence of zero or more non-\<newline\> characters plus a terminating \<newline\> character. + } + +p{ + \emph{改行でない文字が0個以上並んだもの + 改行文字} + } + > + + +frame{なぜ末尾に改行を入れるべきか: その1}< + +fig-center(vconcat [ + gap 75pt; + textbox{POSIX の定義では}; + gap 10pt; + textbox?:(set-font-size 24pt){末尾に改行のないファイルは}; + gap 10pt; + textbox?:(set-font-size 24pt){テキストファイルに非ず}; + ]); + > + + +frame{なぜ末尾に改行を入れるべきか: その1}< + +fig-center(gap 25pt); + +p{ + POSIX の定義に従わないと何が困るのか? + } + +fig-center(gap 25pt); + +p{ + 一部のコマンドの一部の実装が期待どおりに動作しない + } + +p{ + 例: \code(`wc`); + } + > + + +frame{なぜ末尾に改行を入れるべきか: その2}< + +fig-center(vconcat [ + gap 75pt; + textbox?:(set-font-size 24pt){A: バージョン管理システムと}; + gap 10pt; + textbox?:(set-font-size 24pt){相性が悪いから}; + ]); + > + + +frame{なぜ末尾に改行を入れるべきか: その2}< + +fig-center(gap 25pt); + +p{a[改行]} + +p{b[改行]} + +p{c} + > + + +frame{なぜ末尾に改行を入れるべきか: その2}< + +fig-center(gap 25pt); + +p{a[改行]} + +p{a[改行]} + +p{c} + +fig-center(gap 25pt); + +p{ + 新しく「d」を追加すると、 + } + +p{a[改行]} + +p{b[改行]} + +p{c[改行]} + +p{d} + +fig-center(gap 25pt); + +p{ + 変更に無関係な「c」にまで差分が生じる + } + > + + +frame{なぜ末尾に改行を入れるべきか: その1}< + +fig-center(vconcat [ + gap 75pt; + textbox?:(set-font-size 24pt){レビューの負担を軽くするため、}; + gap 10pt; + textbox?:(set-font-size 24pt){無意味な差分は無くすべき}; + ]); + > + +frame{まとめ}< - +p{TODO} + +fig-center(vconcat [ + gap 75pt; + textbox?:(set-font-size 24pt){テキストファイルの末尾には改行コードを入れよう}; + gap 30pt; + textbox?:(set-font-size 24pt){定義上の理由、実用上の理由から}; + ]); > > |
