/// BANGBOO BLOG ///
■22/5/18 3:20AM
LPIC
Ver4.0
■システムアーキテクチャ周辺機器のon/offや起動ドライブ検索順序はBIOS/UEFI/proc以下のファイルによりカーネルが認識しているデバイスを確認できる/dev以下にはデバイスファイルがあるUSBはホットプラグデバイスlsusbでUSBデバイスの情報、lspciでpciデバイスの情報を確認できるmodprobeコマンドでデバイスドライバをロード起動時にカーネルが出すメッセージはdmesgで表示SysVinitのシステムでは/etc/inittabでデフォルトのランレベル設定0:停止、1:シングルユーザモード、5:マルチユーザモードGUI、6:再起動ランレベル移行はinitやtelinitsystemdのシステムはsystemctlでサービス管理shutdownでシステム停止や再起動
■インスコとパッケージ管理インスコにはルートパーティション/とスワップ領域が必要中大規模では/varや/homeと/は別パーティションが良い/varはログやメールデータ/homeは各ユーザのホームディレクトリで肥大化しやすいスワップ領域は物理メモリと同程度から2倍を確保GRUBのインスコにはgrub-installGRUB Legacyの設定ファイルは/boot/grub/menu.lstGRUB 2の設定は/etc/default/grub、grub-mkconfigを実行すると設定ファイル/boot/grub/grub.cfgができる共有ライブラリはld.soによってリンクされる実行ファイルが必要とするライブラリはlddで確認ld.soが参照する/etc/ld.so.cacheは/etc.ld.so.confを元にldconfigで作成Debianパッケージ管理はdpkgやAPTツールで、apt-get、apt-cache、aptitudeがあるAPT設定ファイルは/etc/apt/sources.listRPMパッケージ管理はrpmやYUMrpmでパッケージをインスコするには-i、アップグレードには-Uもしくは-F、アンインスコには-eオプションrmp -qはパッケージ情報の参照YUMレポジトリ設定は/etc/yum.repos.dディレクトリ以下のファイルで
■GNU変数名=値 でシェル変数を設定echo $変数名 で変数の中身を確認できるunsetで変数を削除exportでシェル変数を環境変数に環境変数を一覧 env や printenv環境変数とシェル変数を一覧 set環境変数PATHでコマンドの検索パスを定義複数コマンドを連続実行は;で区切る直前のコマンドが成功したときのみ次コマンド実行 &&失敗した時のみ実行は ||'や"の囲みは文字列として、`の囲みはコマンドと解釈"や`の囲みの中は変数展開されるが、'ではされないhistoryでコマンド履歴表示manでマニュアル参照、1:ユーザコマンド、5:ファイルfmt、8:システム管理cmd属性を保持したままコピーは cp -p移動先で上書きしたい場合は cp -f、あるいは mv -fディレクトリ作成で必要な親ディレクトリを作る場合は mkdir -pサブディレクトリを含めて削除 rm -rfile でファイルの種別を確認できるシェルでワイルドカードが使える. 任意1文字* 直前の文字の0回以上繰り返し[] いずれか1文字[a-c] aからcの範囲[^ab] aとb以外^ 行頭$ 行末\ エスケープ+ 直前の文字の1回以上の繰り返し? 直前の文字の0回もしくは1回の繰り返し| 左右いずれかにマッチコマンドの出力を別コマンドの入力化やファイル格納するにはパイプやリダイレクトtee 標準入力をファイルに格納し同時に標準出力に出すファイルの表示・連結は catバイナリファイルを8進数法事するには odテキストファイルの先頭表示 head、末尾表示 tail、-nで行数tail -f でファイル末尾を継続監視テキストファイルの列の取り出しや連結 cut や join や pastetrは文字列を置換uniqは重複する行を1行にまとめるxargsで標準入力から受け取った文字を引数にし与えられたコマンドを実行grepやsedで正規表現を使う
■ファイルとプロセスの管理gzip, bzip2, xy はファイル圧縮unzip, bunzip2, xz(unxz)はファイル解凍tar, cpio はアーカイブ作成・展開chown ファイルやディレクトリの所有者設定chgrp は所有グループ変更chmod ファイルやディレクトリのアクセス権変更SUIDやSGID適用のプログラムは実行ユーザに関係なく所有者or所有グループの権限で実行スティッキービットを設定したディレクトリは自分が所有するファイル以外削除不可アクセス権はファイルは666から、ディレクトリは777からumask値を引いた値ln でハードリンク、ln -s でシンボリックリンク作成ps, pstree, pgrep でプロセス参照、top でシステム状況を一定間隔で表示kill, killall, pkull でプロセス終了・再起動等1:HUPハングアップ、2:INT割り込みctl+c、9:KILL強制終了、15:TERM終了デフォ、18:CONT再開、19:STOP一時停止コマンドラインの最後に&でバックグラウンド実行jobs でシステム上のジョブを確認ログアウトでもプログラムを実行しつけるには nohupfree でメモリの利用状況を確認uptime でシステムの平均負荷を確認nice でプロセスの実行優先度を指定、変更には reniceナイス値-20-19で実行優先度を指定
■デバイスとLinuxファイルシステムfdisk, gdisk, parted でパーティション作成mkfs でファイルシステムを作成ext2, ext3, ext4ファイルシステムを作成するには mke2fsmkswap でスワップ領域を作成df でファイルシステムの利用状況を確認du でファイルやディレクトリを含めたサイズを確認fsck, e2fsck でファイルシステムの整合性チェックや修復ext2, ext3, ext4ファイルシステムのパラメータ設定は tune2fsmount でファイルシステムのマウント、解除は umount継続利用や頻繁利用のファイルシステム情報は /etc/fstab に格納ディスク利用容量の制限はディスククォータを使う、ハードリミット、ソフトリミット、猶予期間を設定できるfind, locate でファイル検索、locateはあらかじめ準備されたDBに基づいて検索which, whereis でコマンドのフルパスを表示
■シェル、スクリプト、データ管理コマンドの別名設定は alias、設定解除は unalias関数の定義はfunction、定義済み関数を表示は declare -fbashのログイン時に全ユーザで実行される/etc/profile、ユーザ毎は~/.bashrc条件判定するには test直前に実行したcmdの戻り値は$?で確認できる、正常終了:0、それ以外はそれ以外の値が多い条件分岐 if-then-else-fi、case-in-esac繰り返し for-in-do-done、while-do-doneseq は連続した数値を生成するread は標準入力から文字列を読み込んで変数に代入する

■ユーザインターフェイスとデスクトップXサーバは入出力管理を担当、Xクライアントはユーザアプリに対応Xの設定はxorg.confでセクションごとに記述する、セクション: ServerLayout=入出力デバイスとスクリーン Files=フォントやカラーDBファイルのパス InputDevices=キーボードやマウスなど入力装置の設定 Monitor=モニター設定 Device=ビデオカードの設定 Screen=ディスプレイの色深度や画面サイズ設定Xサーバとクライアントが別コンピュータの場合の設定 1)Xクライアントで環境変数DISPLAYにXサーバを指定 2)XサーバでXクライアントからのアクセスを受け付けるよう xhost で設定xwininfo はウィンドウの情報を表示する
ディスプレイmgrはユーザ認証やシェルの起動で XDM, GDM, KDM, LightDM等ウィンドウmgrはXの外観で twm, fvwm, enlightenment, Mutter, Fluxbox, Compiz, KWin等キーボードのアクセシビリティには スティッキーキー、スローキー、バウンスキー、トグルキー、マウスキー等
■システム管理1ユーザ情報は /etc/passwd に格納シャドウパスワード利用時はパスワード情報は /etc/shadow に格納グループ情報は /etc/group に格納ユーザ情報の追加 useraddユーザ情報の削除 userdelユーザ情報の変更 usermodグループ情報の追加 groupaddグループ情報の削除 groupdelグループ情報の変更 groupmodユーザパスワードの設定 passwduseradd時は /etc/skel以下がユーザのホームdirにコピーされる定期的なジョブ実行には croncronへのジョブ追加は crontab 分時日月曜日cmdの記述順システムが起動していなかった時のcronジョブは anacron で実行anacron の設定は /etc/anacrontab1回限りのジョブ予約は at 日時cmd、確認は atq あるいは at -lジョブの削除は atrm あるいは at -dロケール確認は locale文字コードを変換 iconvタイムゾーンは /usr/share/zoneinfo 以下にあり /etc/localtime にコピーするシステムのタイムゾーンは環境変数 TZ、/etc/timezone に設定する

■システム管理2システムクロックを設定するには dateハードウェアクロックは hwclockNTPサーバに問い合わせシステムクロックを設定するには ntpdateNTPサーバプロセスは ntpd、設定ファイルはntp.confsyslogの設定は etc/syslog.conf、ファシリティ、プライオリティに応じたログの出力先を指定rsyslogの設定は /etc/rsyslog.conflogger でログの生成ができるログローテーションは logrotate、設定は /etc/logrotate.confメールサーバMTAには Postfix, sendmail. qmail, exim等
メールアドレスの別名は /etc/aliases で定義し newaliases で有効にするメールの転送は ~/.forward で設定するメールキューの状況は mailq で確認印刷は lpr で行う、 -# オプションで印刷部数プリントキューの状況確認は lpqプリントキューの印刷要求を削除するには lprm
■ネットワークの基礎IPv4は32ビットで8ビットずつを10進数に変換した表記を使うIPv6は128ビットサブネットマスクはネットワーク部とホスト部の境界を表すIPアドレスとサブネットマスクの論理積がネットワークアドレスプライベートアドレス クラスAは10.0.0.0~10.255.255.255 (10.0.0.0/8)クラスBは172.16.0.0~172.31.255.255 (172.16.0.0/12)クラスCは192.168.0.0~192.168.255.255 (192.168.0.0/16)サービスとポート番号の対応は /etc/services に記載 Well-Known-Port:0-1023TCP20:FTP(データ)TCP21:FTP(制御)TCP22:SSHTCP23:TelnetTCP25:SMTPUDP53:DNSUDP67:DHCP(サーバ)UDP68:DHCP(クライアント)TCP80:HTTPTCP110:POP3TCP123:NTPTCP443:HTTPSTCP587:SMTP(サブミッションポート)IMAP overSSL:993POP3 overSSL:995ホストと通信ができるか ping経由するルータ情報は traceroute や tracepathホスト名からIPアドレスは dig や hostホスト名の確認や設定は hostnameルーティングテーブルの確認や設定は routeネットワークインターフェイスの設定や動作状況確認は ifconfig有効化は ifup、無効化は ifdown/etc/resolv.conf に参照先DNSサーバを設定するホスト名とIPアドレスの対応は /etc/hostsファイルに記述名前解決の順序は /etc/nsswitch.confに設定
■セキュリティスーパーサーバ inted や xinetd は他のサーバプログラムに変わって要求を受けサーバプログラムを起動し常駐プロセスを減らすことでシステムリソースの節約をするxinetd の全体設定は /etc/xinetd.conf、各サービスの設定は /etc/xinetd.d 以下TCP wrapper等を利用しているアプリケーションの場合 /etc/hosts.allow や /etc/hosts.denyにアクセス制限を設定する開いているポートを確認するには netstat, lsof, nmapパスワードの有効期限を設定するには change/etc/nologinファイルを作成しておくと一般ユーザはログインできないsu で他のユーザになれるsudo でroot権限の一部を一般ユーザが利用できる設定は visudo で /etc/sudoers ファイルに記録されるユーザが利用できるシステムリソースを設定するには ulimitOpenSSHはユーザ認証以外にホスト認証も行うセキュアな通信を実現信頼できるホストのホスト鍵は ~/.ssh/known_hosts公開鍵認証で利用する鍵ペアは ssh-keygenscp で安全なファイル転送ができるssh-agent と ssh-add でパスフレーズを記憶させることができるgpg で GnuPGの鍵管理やファイルの暗号化・複合ができる

ver5でもそれほど変化がないのでは、systemdの強化辺りか?gitやdockerをカバーしたように思ったがL2でもカバーしてなさそう。
Comment (0)

■22/4/23 11:00AM
Goo ana 4
Google Analytics 4 ガイド – アクセス解析ツール「Google Analytics 4」の実装・設定・活用のための情報サイト (ga4.guide)
GA4代替のアクセス解析ツール候補、あるいはユーザーのデータをどこに預けるべきか - makitani.com

Xゲーム千葉見に行ったが、時間の都合上すぐ引き上げた。なお練習走行をゲート隙間から見れたが、ババババとレブしてる爆音とともに、ヘルメットだけが左右にスー―っと移動しているのだけが見えた。ヘルメットだけが移動する様はシュールだなと思た。オワリ

[Click for image]

Comment (0)

■22/4/17 9:54AM
I drive or test driven
Test-first fundamentalism is like abstinence-only sex ed: An unrealistic, ineffective morality campaign for self-loathing and shaming.
TDD is dead. Long live testing. (DHH)

I need to hire new techniques to help me solve many of my problems during programming: The pain will fade. Farewell TDD, old friend.
RIP TDD from Kent Beck

そもそもテスト駆動開発の最後のところに、自分で考えてやれって書いてんなぁ、やらんでもええしって。そらそーやろ、自分で考えさせろや、やらんと分からんやろやらせろや

==============
終了ーーーーとなりそうだが変な常識
両方でドリドリになる、まとめて行こう

Assertするだけ?、何か一部しかテストでけへんの?
 テストをコード化するのはいい
 テストファーストとテストドリブンとユニットテストは違うらしいで
 javascriptとかテストできんの?

ビジネスをソフトウェアでするだけ
 ソフトウェアを捏ねくりまわしたいのではない

他人が使うソフトウェアなら必要、自分も使うソフトウェアなら不要では
 自分でも使うくらい有用なものであるか
 品質をどこで担保するか、機能だけなのかUXなのか
 スーパープログラマには本質の部分にもっと時間を使って欲しい、死ぬ方が早い
 あんまり機能をリファクターする機会がないかも

++++++++++
ソフトウェア開発アプリケーションを超シンプルにするとリリース回数が多くなる(質とスピードを上げるにはリリース回数)
アプリの分散と並列も可、競争力はオリジナリティ、政治力か真理性か
原体験、初期衝動は、グラスルーツかグルーピーか

==============

新しい(変化する)事は良いことみたいな感じでやってきたところもあるが、今時変化っつーたら怪しいわな。不要な変化を押し付けられたり、本当に変えるべきところを隠すために変化してたり。コンサバでええかもな
Comment (0)

Navi: 1 | 2 | 3 | 4  >
-Home
-Column [122]
-Europe [9]
-Gadget [73]
-Web [118]
-Bike [3]

@/// BANGBOO BLOG ///