奇特なブログ

「殊勝に値する行いや心掛け」を意味する、奇特な人になる為のブログです

PHPのコーディングにおけるベストプラクティスを考える準備記事

もう、PHPの仕事は色々な顧客としてきています(10〜15顧客ぐらい?)が、
まあ、案件(正確には、書いた人)によってコードも色々ですし、
で、ルールも色々(PSRが多いといえば多いですが、守られていたりそうじゃなかったり)ですし、
混迷を極めている感があるなと(苦笑)


で、自分としても、「そういえば一回も考えた事が無いな」と思い、
それで、ちょっと考えてみようかなと思いまして。


ただ、まあ勿論PSR(PHPコーディング規約)もありますけど、
「微妙な関数」ってあるじゃないですか。
あれを、結構業務のコードで見るわけですよね。
なので、勿論書き方的なものも考えていきたいわけですが、
まずは、関数をレビューしていきたいなと。


そこで、以下には「特に取り扱い注意」と思われる関数やメソッドの一覧を、
準備として書いておきます。
出典は、勿論以下の公式です。

PHP: 関数・メソッド - Manual

あと今回は、あくまで準備なので、
以下に書いている関数は、
「関数名をパッと見て、自分が気になった関数」程度ですので、
取り上げない関数も出てくると思います。
あと、当たり前ですが、全ての関数を知っているわけじゃない(むしろ、殆ど知らないですね)ので、
業務で出てくる頻度が多い関数が多いかも。
あと、どの関数にも言えることですが、
「使う前には、最低限公式のマニュアルを読む」はマストだと思いますね。


とりあえず、以下が目に付きました。
思ったよりも、多いですね・・・


addslashes
array_flip
array_push
array_rand
array_search
array_slice
array_splice
basename
chmod
ctype_alnum
ctype_alpha
ctype_digit
date
debug_backtrace
die
each
empty
ereg
escapeshellcmd
eval(まず使わないと思うが)
exec・shell_exec・passthru・system
extract
fgetcsv
file_exists
file_get_contents
in_array
is_numeric
mail
mb_check_encoding
mb_detect_encoding
mb_ereg
mb_split
md5
mime_content_type
mkdir
mt_rand
mysqli_result::fetch_all
mysqli_result::fetch_array
mysql_*
ord
pathinfo
PDOStatement::fetchAll
pg_fetch_all
pg_fetch_array
preg_*
rand
readfile
rmdir
sha1
shuffle
sort(他のソート系の関数も)
split
stat
strcmp
strip_tags
strpos
strtotime
str_getcsv
uniqid

ファッションに全く興味が無い人程、気付きにくい話

この緊急事態で且つ、
テレワークとかで外出する事も少ない時期に書いてもねぇって話もありますが、
最近、昔書いた記事を取り上げたりする事も時々あるので、気にせずに書くことにします(笑)
去年のマスクのデザインを見た時に確信しましたけど、
「人は絶対に、他人と違う恰好をしたがる」と思いましたので、
何時なのかは分かりませんが、またファッションに注目する日々も訪れるでしょうと。


まず、タイトルについて、
基本的に、どの読み物でもそうだと思うんですが、
「興味が有る"から"読む」じゃないかと思うんですね。
でも、この記事はそうじゃない、むしろ真逆だと。
これ、この話に限らず厄介ですよね・・・なので、結構「タイトルの付け方」が大切じゃないかと。
で、どういうタイトルが良いんだろ?と、
以下の候補の様に、結構迷いましたね。

1.「ファッションに興味が有る人は、読まなくて良い話」
2.「ファッションに興味が無い人以外は、読まなくて良い話」
3.「ファッションに興味が無い人が、忘れている話」

・・・2が一番ストレートで良かった気もしますけど、
「キャッチコピー」って難しいなと思いましたね。


閑話休題


そろそろ本題に入りたいと思いますが、
今回の、読者のターゲット層の大体の目安は、以下に全て該当する様な人ですね。

1.ファッション関係のショップ(やエリア)に入るのは、多くても年5回以下
2.服などを買う時でも、特に色々見る事なく、すぐに買う(滞在時間が長くても1時間以下)
3.ZOZOTOWNの存在を知らない(か、殆ど見ない)

僕は、最近になって興味が出てきたわけですが、
興味が無かった時期は、年1~2回(年によっては0回)だったりもしたので、
1は、もっと少なくてもおかしくないですけどね。


それでは、いってみましょう。
あと、季節柄「冬物ネタ」が多くなっています。
だから、夏になったら、夏バージョンも書くかもしれないですね。
あと、僕は「男」なので、その点も考慮を。


1.予想以上に、色々な服が存在するという事


↑で「滞在時間が短い」と書きましたが、
それが原因で、「色々な服があるのを知らない」というのがありまして。
これ、書店(特に大型)でもあるんですけど、
「特定のジャンルしか見ないので、"え?こんな服もあるの?"っていうのに気付けない」んだと思いますね。
いや~こんなに色々な服があったとはね、それが何よりの驚きでしたね。
で、以下の、色々な服(勿論、これだけじゃないですが)も、これが前提になっているので、
先に書いておこうと。


2.胡坐(あぐら)状態でも、履いていて楽なズボン


要は、「ワーキングパンツ」とか「チノパン(最近、定義が曖昧になっている感がありますが)」とか、
あの辺のボトムスですね。
で、それで十分?じゃあ、用はないかもしれないですね。
例えば、これは「見た目はジーンズだが、ジャージの様な素材」という、「ジャージーズ」という商品ですね。
カラーや形(以下はスキニー)は、他にも色々ありますので、一例ですが。

edwin-mall.jp

いや、これは、とにかく「触ったり、試着しないと分かりにくい」と思いますね。
一応、素材が「綿58%、ポリエステル40%、ポリウレタン2%」と綿の割合が低いので、
ジーンズなのに変(普通は、ほぼ綿でしょ)」だったりはするとは思うんですけど、
興味が無い人が、知っている確率は当然低い(僕も、最近知った)でしょうし。

いや、これはちょっとビックリしましたね。
エドウィンなので直営店以外だと、ライトオンやジーンズメイトにはありますね。

あと、以下はアウトレットで買ったので今はもう売っていない?(公式では見つからず)かもですが、
もう少しフォーマル(同じデザインのジャケットもある)で、似たような素材のタイプですね。

https://store.united-arrows.co.jp/shop/glr/news/2019/07/max40offmens.html

ただ、上記と全く同じ商品は、ユナイテッドアローズのアウトレットにあるかもしれないですけど、
似た様な新作は出ているかもしれないといった所でしょうか。

あと・・・キリがないのでここまでですが、
他のブランドでも、多分そんなに珍しくないんでしょうね。
ただ、その中でも、現時点では上記2つ(特に、ジャージーズの方)が特に楽という印象でしたね。

あと、これは、在宅にはピッタリじゃないかと思いましたね。


3.アウター・インナー兼用のダウンジャケット


お~、こういうのもあるんですねって感じでしたね。
コロンビアは、これを買ったのはゼビオでしたが、
多分他にも一杯置いてますよね。

Amazon | (コロンビア) Columbia クローバーデイル インターチェンジ ジャケット 3WAY WE1489 | コート・ジャケット 通販

この「黒のインナージャケット」ですが、
これだけ着ても、「予想以上に暖かった(氷点下にならなければ大丈夫では?)」ですし、
首都圏だとオーバースペック気味で、稀にしか用が無いかもしれないですが、
勿論、インナーにする事も出来ると。
あと、真冬じゃないけど雨の日だと、場合によってはアウター「だけ」もありかなと思いますね。

これは、他のブランドにもあるか(あると予想してますが)分かりませんが、
結構使い勝手が良いかと思いましたね(だから買ったんですが)。


4.裏起毛の激暖タイツ


タイツは、以前から時々買ってはいたんですが、
裏起毛が、どうやらポイントの様で、これはビックリでしたね。
この辺は、しむむら・ドンキ(以下の商品はこっち)にありましたね。

item.rakuten.co.jp

ここまでいくと、まるで女性の様で、ちょっとやり過ぎ感があるかもですが、
個人的に、「乾燥肌」なので、
寒いのが、人一倍ダメなんですよ。
だから、こういうのが良いと。

他にもあるので、ここまで暖かいのは不要な場合でも、
もし知らないならちょっと見てみてもとは思いますね。


5.長袖のインナーシャツ


実は、長袖のインナーシャツは、どうも苦手だったんですよね(苦笑)
というか、基本的に服を着こむというのが、苦手(上記の乾燥肌と矛盾してますが)というか。
なので、少なくとも10年以上は着ていなかったんですが、
当然、半袖よりも暖かいですね(笑)
最初は、やっぱり違和感がありましたが、もう慣れました。

これは、特にどの商品がってわけじゃないのですが、
普通に1000~3000円台で売っているので、ちょっと気にして見てはどうかと。

でも、いくら興味無いとはいえ、ここは流石に該当者がいない気もしますけどね(苦笑)


6.ボクサーパンツの素材を気にする


特に冬限定ってわけじゃないんですが、
ボクサーパンツの素材について、

(1)「ポリエステルの割合が高いもの」
(2)「綿の割合が高いもの」
(3)「その他(ナイロン)の割合が高いもの」

とあり、これまでは(1)しか持っていなかった(大体安い)んですよね。
でも、(2)と(3)の、特に(3)はの履き心地がねぇ・・・
特に、暖かいわけではないと思いますが、とにかく「快適」の一言に尽きますね。

これも、沢山ありますし、
あと、似た商品が多いので以下じゃないかもしれませんが、
例えば、以下の様なナイロンの割合が高いやつですね。
店頭だと、ドンキにありましたね。

ボクサーパンツ(前とじ)(メンズ) | インナー・肌着・下着通販のGUNZE(グンゼ)【公式通販】グンゼストア

手元には、「ナイロン92%」のBODY WILDもあり、
とにかく快適としか言いようがない履き心地で、流石はグンゼとしか。

見ての通り、若干値段が高め(これまでは、1枚500円とかばかりでしたので)ですが、
下着にお金をかけるという習慣が無かった身としては、かなり衝撃でしたね。


7.セーターやカーディガンが意外と良い


これも、上記の長袖のインナーシャツと同じで、
どうも苦手だったんですが、
これは、ちょっと見直しましたね(特にカーディガンは、人生初だったので)。
単純に、これまでは冬でも、生地がペラペラのシャツ1枚を着ていたので、暖かいなと(苦笑)
一体、何をやっていたのか(苦笑)

で、どちらも、普通に色々な所に置いているので、一つだけにしますが、
以下(もっと生地が厚目な気もするので、違うかも)も、アウトレットで買ったので、
公式だともう売ってないかもですが、「とにかく暖かい」ので良かったですね。

Amazon | green label relaxing(メンズ) グリーンレーベルリラクシング カーディガン メンズ ベージュ_1004 L 【中古】 | カーディガン 通販

あと、この2つは、どちらも「洗濯不可がある?(まだ、見たことないけど)」かもなので、
「洗濯表示に特に注意」じゃないですかね。


8.冬のランニングとウインドブレーカー


これは、冬に外で運動する人だけでしょうけど、
ジャージ1枚だけだと寒いんですよね。
かといって、厚いジャンパーを着ると暑いわけで。

そこで、ウインドブレーカーと言うことで、
以下の、ネイビー×オレンジレッド色を買ってみたんですが、
寒くも暑くもなく丁度良かったですね。

webshop.montbell.jp

あと、モンベルの店舗に行くと分かると思うんですが、
ウインドブレーカー「だけ」でも、種類が多過ぎますね。
上記より、もっと生地の薄い商品とか、
もっと生地が厚い商品とか、色々あり過ぎて結構迷いました。
なので、逆に言えば、どれか気に入るのはあるのでは?とは思いますね。


9.コートやダウンジャケットって、こんなに安かったっけ?


ちょっと余談気味ですが、
コートやダウンで「1万円以下」って、昔からありましたっけ?
単純に、そこにも驚きましたね。
以下の、僕が買ったのはカーキー色ですが、7,499円って・・・

www2.hm.com

あと、ワークマン(ワークマン女子には、メンズもあるんですね(笑))に至っては、ダウンが5千円切ってましたし。
で、上記に限らず、基本的に最近は「服があり得ない程安い」と。
なんか、10年前ぐらいに、千円を切るジーンズというのもあった様ですが、
でも、興味が全く無いと、そんな事は知らないと。
いや、世間では話題だったのかもしれないですが、普通に知りませんでしたしね。

でも、服というのは、寒暖の為にも存在するわけですし。
でも、寒い状態では、仕事もままならないと思うわけで。
なので、暖房器具で、勿論カバーするわけですが、
でも、在宅勤務だと、電気代などがかかるわけで。
だから、場合によっては、節約の為に服を買わない方が、下手するとマイナスでは?と。
・・・まぁでも、流石にそれは、かなり極端な人だけですかね。

ただ、服を買わないという点については、安易な考えのミニマリズムが、どうも引っかかるんですけどね。
あれは、「服を買い過ぎて着ない服だらけになった人が、必要なものだけを買う為にする」なら良いと思うんですが、
「節約目的でする」するものじゃないんじゃないかなと。
目的の設定に疑問を感じたりはしますね。


話を戻しますが、
なので、極端にファッションに興味がない人でも、
服については、少しは気にした方が、良いと思いますけどね。
「寒暖さ(暖房で軽減は出来るわけですが)」と「快適さ」が、
仕事のどれくらい影響するか?って事だとは思うんですけど、
そんなに侮れないと思いますけどね。
あと、値段も、前述の通りなので、そこが問題になるケースは少ないんじゃないかと。


最後に、まとめですが、
質についてだと何処に拘るかで、どれか一つなら「下着」じゃないかと思いますね。
比較的値段が安いですし、あと何よりも「肌に直接触れる」ので、
「最も実感がしやすい」んじゃないかと。
今回は、機能性の話が多いので。
なので、まだ買ってないですが、今後は3000円ぐらいの、
高級ブランド物のボクサーパンツも計画中です(笑)
他は・・・とにかく価格がピンキリとしか言いようがないですからね。


で、これで終わりですが、もしファッションに興味が有ってここまで読んだ方がいた場合は、
ね?当たり前の話ばかりでしたよね?
「興味はあっても、意外な視点の話があった」ぐらいですかね、せいぜい。
それもない様なレベルの話じゃないかと思ってますけど。

で、本来のターゲットの、興味が無い方はどうでしたでしょうか。
「興味は無いけど、これぐらいは流石に知ってる」なら、どうしようもないわけですが、
何かタメになったなら、幸いです。

ファッションについては、今回が第一弾だったわけですが、
今後も、月1回ぐらいの頻度で書けたら良いかなぁって感じですね。

2020年の振り返りと2021年の目標

今年こそ、本当にどうなるかって感じでしたが、
何とか、この記事を書くことが出来ましたね。

まずは、振り返りから。


1.本業

サイクル的に、元々注意な年だったわけですが、
そこにコロナも来て更にって感じでしたね。

現状は、何とか落ち着いているので、
最悪のシナリオは避けられましたけど。


2.音楽

年の途中で散々書いてきましたので、特になしですね。


3.ギャンブル

途中で少し書いたりしてましたけど、一旦中止ですね。

というのも、他の趣味などと比較して気付いたんですけど、
これ、「当事者として今、やってない」ので、
どうも、やる気が上がらないんですよね。
なので、やる時が来ることがあればって感じですね。

本とかも、面白そうではあるんですけど、
でも、それだけじゃ、特に火は付かないんですよね(笑)


4.この場所に行けブログ

コロナとの相性がねぇ・・・に尽きますね(苦笑)
でも、似たような話の「ぶらり途中下車の旅」は放送してますので、
どこかのタイミングではね。

あと、「とんかつ」とか「温泉」とか単品じゃなくて、
「新宿エリア」とか、エリア単位にしようと思いましたね。
よっぽど良い所(か珍しい)なら、ピンポイントで単独の場所でも良いですけど、
そこそこの確率で「ハズレ(当たりではない)」も引いているので。


5.ファッション

本当に、まさか・・・としか言いようがないですね。
ただ、よくよく考えると、これ音楽との関連がありますね。
振り返ってみると「ラノベ→ゲーム→アニメ→ゲーム音楽→音楽→ファッション」の様な大体の流れがあった様ですし(笑)

で、前回のダイジェストにも少し書いてますが、
ネタは結構ありそうなので、5年ぐらい続くかもしれないですね。

ネタの中で最も興味があるのは・・・やっぱり「コーディネート」ですかね。
服じゃないだろと思いますが、「ノンデザイナーズ・デザインブック」も、まだ読んでませんでしたし(笑)
一つだけ決めているルールとしては、「黒い服は、出来るだけ着ない」ですね。
方向性として、「清潔」「さわやか」「明るい」方面を志向してますので(笑)
どこかのタイミングで、黒も取り入れるとは思うんですが、一回禁止にしようと。

あとは、インスタグラムも始めた方が良いのかなと、少し(笑)


振り返りはここまでで、以下からは目標です。

ただ、今年からは、目標というより「したいこと」を書いておくことにします。
いや、目標が大事じゃないって事は勿論ないんですけど、
これまでの達成率を考えると(苦笑)

あと、音楽やファッションの様に、
偶然ハマった様な事もあるので、それ待ちでも良いでしょうし。

サーバの更新みたく、「期限が決まっている」事については、
ちゃんとやっているので、
「それを、何時迄にやらなかったら、どうなるか」を整理して、
優先順位を付けていけば良いのかなと。
ここが明確じゃないから、ズルズル延びるのでは?と思いましたので。
以下の記事にも、同じ様な話書きましたけどね。

kitoku-magic.hatenablog.com

で、全部書くのは大変そうなので、随時追記する形にします。
来年以降もありますし。

■本業
DDDなども参考に、より良い設計指針を考えたい
vimの強化期間を設けて、爆速で操作したい
SQLのJOINをする・しないの基準を考えたい
パスワードなしの認証(ログインも)について考えたい

■本業以外
御殿場プレミアム・アウトレットに行きたい
新宿の伊勢丹に行きたい
銀座エリアでファッションを見たい
原宿・表参道・青山通りでファッションを見たい
アメ横に行きたい
高田馬場(とんかつ激戦区?)に行きたい
馬車道(とんかつ激戦区?)に行きたい
秋葉原(とんかつ激戦区でもある?)に行きたい
豚組 しゃぶ庵(六本木)に行きたい
マザー牧場に行きたい
ゴーカートに乗りたい
ザ・リッツ・カールトンホテルに泊まりたい
オーロラを見たい

なんじゃこりゃって感じですね(笑)
「原宿・表参道・青山通り」は、どこで知ったかも覚えてませんけど、
「それぞれの原宿」という曲から取ってきています(笑)

パッと思い付いたのだけ書きましたので、
今後は、思い出したら追記していくことにします。

それでは、今年はここまでです。

来年もよろしくお願いします。

2020年9月12日から2020年11月27日のダイジェスト

前回もそうでしたが、
今回もお題目が少なめなので、
ダイジェストは今回で一旦終わりにします。
Twitterなどの方に、また書き始めましたしね。


1.コロナ対策と、空気清浄・加湿器?

いや、なんか対策に良いという話があって、
それが原因でバカ売れしているという話がありましたので。
・・・対策に良いのかは分からないですが、
ただ、加湿器はどっちにしてもあった方が良いか・・・


2.色々なWi-Fi

これまでは、WiMax2のルーターを使っていたわけですが、
これが、「そこまで必要ない(オーバースペック気味)」状況になってきたので。

(1)スマホ(以外もだが)を無線Lanルーターに繋ぐ

以下リンクにありますが、
いや、何故か気付かなかったので(苦笑)

データ通信量を節約!スマホをWi-Fiにつないで快適&賢いスマホライフ | マイポケットStyle


(2)スマホテザリング

↑の(1)が、不安定になったとかの時に、これが良いんじゃないかと。
申し込みの時間帯によっては、即日利用可能みたいですし。

(3)Wi-Fiレンタル

レンタルがあったというのは・・・これも、最速で翌日利用可能と速いですね。
引っ越し用途なんかは、これが良いかも。


3.極論が、よく目に付く昨今

いや、以下の前半とか仮定も含まれてますけど、まさに極論かなと思いますし。

日本を滅ぼすものがあるとしたら…? 「LGBTが広まれば」に対する漫画に、共感の声 – grape [グレイプ]

で、極論といえば、以下の記事を思い出しましたね。

たまにはぱるメロ以外のことでも(何 その5:正論と極論 | なんとなくぱるメロな話

極論って、
「ある事についての本質を導き出すには有効」だとは思うんですが、
「間違ってないけど、あんまり使えない論」という感じなので、
実際の決断なんかには、参考程度にという印象なんですよね。


4. コンピューターサイエンスの学習は、職業エンジニアになることを阻害する

これは、自宅で料理や掃除をするにあたって、
自分でも出来るけど、もっと良いものを求めるので、
「外食」や「ハウスクリーニング」を使うという話じゃないですかね。
だから、以下の様な順序になるんじゃないかと。

一般の人(非エンジニア)

コンピュータサイエンスを知らない)エンジニア

コンピュータサイエンスを知っている)エンジニア

コンピュータサイエンスの有無は、
知らないと出来なさそうな事を頼もうとしているかどうか?で、
分ける(ハッキリは分かれないでしょうけど)として。


5. IT業界に教える文化は無いよ。だってネットにノウハウが転がっているもの。 - Togetter

特に教えない方について、
以下みたく、分けられると思うので、
その辺のポリシーを、ある程度明確にすれば良いんじゃないですかね。

(1)本当に、何にも教えない
(2)ググり方は教える
(3)Web上の記事や、本のタイトルは教える
(4)途中までは教えるが、途中からは教えない


6.Amazonで「入手困難な食料品」を買う

ライフスタイルなんでしょうけど、
Amazonは本かCD・DVDで8割以上占めているので、
食料品という発想が無かったですね。

https://www.amazon.co.jp/dp/B088KKCPC5

↑は、一時期スーパーやコンビニにあったんですが、
最近見かけないなと思いまして。

https://www.amazon.co.jp/dp/B07PG3STCB
https://www.amazon.co.jp/dp/B012VTSQVW

↑2つは、探せばあるけど、
少し手に入りにくい感じですね。

そして、もっとも驚いたのが・・・

https://www.amazon.co.jp/dp/B003GYRNLQ

おお・・・北海道に行かなければ買えないという希少性を手放したんですね。
といっても、レビューを見ると、それで良いのではとも思いましたけど。
希少性は・・・そういう商品を、また作れば良いと思いますしね。

で、ダークモカ白い恋人を、これを書きながら食べていますが・・・幸せですね(笑)
あと、↑のWi-Fiもそうですけど、
これも「何故、気付かなかった」ですね。


7.ギャンブル

・・・今回もまた延期なんですが、
以前にリンクを張った本に加えて、
以下の本の内容が、僕がイメージしていた内容と似ている気がしますね。

確率思考の戦略論 USJでも実証された数学マーケティングの力 | 森岡 毅, 今西 聖貴 |本 | 通販 | Amazon

なので、上記の本などを読んで、感想があったらそれを書いて終了かなと。
といっても、それを読めていないわけですが(苦笑)

あと、これはギャンブルというか競馬ですが、
明日11/29のジャパンカップは・・・「20年に一度レベルの大一番」じゃないですかね。
「無敗の三冠馬対決」だけでも凄いのに、そこにアーモンドアイも加わってますからね。
アーモンドアイは今回で引退だけどどうか?
今年の直近2戦(安田記念天皇賞秋)で思いましたが、ちょっと衰えているとは思いますね。
ただ、絶対能力の違いで、それでも勝つかもですけど。


8.音楽

前回、米津さんをガッツリ書いて「完全燃焼」した感じですね。
ネタは山程あれど、「全然書く気がしない」(笑)
いや、相変わらず曲は聞いてはいますけど、しばらくは書く気ないですね。
書く気ないのは、↓の影響もありそうですけど。
・・・来年に、今聞いているglobeについて総括を書くかもですね、短めの文章量で終わるかもしれませんけど。


9.ファッション

振り返ってみると、2016年ぐらいから「ちょっとした予兆」ぐらいはあったんでしょうけど、
去年ぐらいから本格的に火が付き始めて、
今年の、特に下半期辺りから、完全に火が付いた感じですね。
といっても、「僕がファッションにハマるなんて有り得ない」と思っていただけに、
本人が、一番驚いているんですけどね(笑)
何故か?・・・色々あるので物凄く複雑ですが、
2年ほど前に、服装(サンダルが原因?)が原因で、仕事の受注に悪影響を及ぼしたのが、一つありますね。
一部の方は、トラウマレベルでイメージされる?いわゆる、スーツ族とはまた違うタイプで。

軽く200行ぐらい書けそうですが、
今回は初回ということで、予定しているコンテンツ候補(まだまだ増えそうですが)を箇条書きで書いておくだけにします。

・服の寿命と買い替えタイミングについて
・トップスについて
・ボトムスについて
・アウターについて
ファストファッションと、どう付き合う?
・(特に高級)ブランドと、どう付き合う?
・洗濯について
・洗剤について
・洗濯ネットについて
・洗濯の干し方について
・靴について
・靴のメンテナンスについて
・ベルトについて
・マフラーについて
・ハンガーについて
・腕時計について
・アウトレットについて
・全体的なコーディネートについて
【追記】
・各ブランドの接客の特徴について


といっても、「洗剤」だけ少し書いておきましょうか。
・・・これが「普通」なのかどうか分かりませんけど、
今の所は、以下の洗剤を用途に応じて使い分けていますね。
・・・柔軟剤も、買った方が良いかな(笑)

(1)白物で且つデリケートじゃない服は、部屋干しトップ

https://www.amazon.co.jp/dp/B06WCZ9RFS

(2)白物以外で且つデリケートじゃない服は、フレグランスニュービーズ

https://www.amazon.co.jp/dp/B07BDMV525

(3)デリケートな服は、エマール

https://www.amazon.co.jp/dp/B086LVRPB1

(4)白物で、中々取れない汚れを取りたい時は、オキシクリーン(色々な用途に使える様ですけど)で、つけ置き洗い

https://www.amazon.co.jp/dp/B001Q7FU9M


とりあえず、今回はここまでで、
次回以降は、単独の記事として、一つずつ書いていくと思います。

Centos7の最小インストール環境から、自動でLAMP環境などを作成する

最近、自分の管理しているサーバー環境を一新(CentOS6→7のバージョンアップなど)するにあたって、
以下リンク内の、「auto_install」ディレクトリ内のシェルスクリプトを使って、
環境構築を自動で行いましたので、今回はその余談の記事になります。

github.com

最近は、こういうのだと、
dockerfileだったりvagrantfileだったりChefだったりを使ったりするかなと思いましたが、
対象サーバーのスペックが低かったり、汎用性を持たせたいという事から、
シェルスクリプトにしました。
汎用性を突き詰めるんなら、bashじゃなくてshの方がとも思いましたが・・・そこまでは良いだろうと(苦笑)

また、以下が色々な点の感想です。


1.起動条件を厳しくしている

下手に実行したらヤバいスクリプトだと思いましたのでね。
ああいう対話処理も書けるんだなとも思いましたけど。


2.sourceとbashの違い

そんなに厳密にチェックして使い分けているわけじゃないんですが、
以下を見ると、「sourceは、importの様なもの」「bashは、別ファイルの呼び出しの様なもの」って感じですかね。

shとsourceの違い at softelメモ

なので、現在のプロセスに変数を読み込ませたい場合はsourceが良さそうで、
変数を引き継がずに別プロセスで処理を行いたい場合はbashが良さそうに思いましたね。

ただ、上記のスクリプト内に、以下の様なコードがあり、
パッと見変なコードになっているんですが、ここのsourceはbashの方が良いのでは?とは思いましたが、
なんで、こうしたか忘れてしまいましたね(苦笑)
ここが、苦戦したのは覚えているんですけど。

su - $GENERAL_USER_NAME -c "script -c 'source /home/$GENERAL_USER_NAME/auto_install_start_by_${GENERAL_USER_NAME}.sh ${1} $GENERAL_USER_NAME'"


https://github.com/kitoku-magic/infra/blob/master/auto_install/auto_install_start.sh#L393

なので、使い分けについて、適材適所にはまだなってないかもですね。


3.変数をダブルクォートで囲った時と囲わなかった時の違い(特に、別ファイルや関数呼び出し時)

これ、以前から時々思っていたんですけど、
今回で完全にピンと来ましたね。
引数が可変な時とかにね~なるほどですね。
それにしても、よく考えられて作られてますね。


4.何のコマンドを使ってファイルを修正する?

sedで既存ファイルの一部を修正
なのか
echoやteeで追記する
なのか
catとヒアドキュメントを使う
なのか
とか、時と場合によっての使い分けが大切ですね。
他にも、今回使ってないけどawkやcutとか沢山ありますけど。


5.bash(バージョン4から)での連想配列

name・valueが両方欲しかったのと、
あと、順序を保証したかったので、
連想配列と通常(数値がキー)の配列の併用になりましたね。
shでもname用の配列とvalue用の配列をそれぞれ用意すれば出来るんじゃ?とは今思いましたけどね。


6.firewalldの設定

これが、CentOS7になってガラっと変わったということで、
かなり難航しましたね。
細かく設定もしたいという事で、firewall-cmdのdirectルールを使う事にしましたけどね。
確認方法は、裏ではiptablesが動いているとの事で、以下で良いんじゃないかと。

iptables でフィルタがどれくらい使われているのか確認する


7.yumcurlの処理(通信系)が不安定な時の対応

これが、本番でも不安定で、
そうしたら、どちらにもリトライするオプションの様なものがありまして、
これが、重宝しましたね。

例えば、以下は本番でvimのtar.bz2をダウンロードした時のログですが、
普通にこういうのが多発しましたので。

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:02 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:03 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:04 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:05 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:06 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:07 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:08 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:09 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:10 --:--:--     0

・・・ここは、1秒ずつ増えていくだけなので省略

  0     0    0     0    0     0      0      0 --:--:--  0:04:51 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:04:52 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:04:53 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:04:54 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:04:55 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:04:56 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:04:57 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:04:58 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:04:59 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:05:00 --:--:--     0
Warning: Transient problem: timeout Will retry in 10 seconds. 60 retries left.

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:02 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:03 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:04 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:05 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:05 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:07 --:--:--     0
  0 11.5M    0  2896    0     0    361      0  9:18:29  0:00:08  9:18:21   644
  1 11.5M    1  128k    0     0  14533      0  0:13:52  0:00:09  0:13:43 26269
  2 11.5M    2  261k    0     0  26456      0  0:07:37  0:00:10  0:07:27 53415
  3 11.5M    3  394k    0     0  36999      0  0:05:26  0:00:10  0:05:16 80960
  6 11.5M    6  715k    0     0  61170      0  0:03:17  0:00:11  0:03:06  145k
 11 11.5M   11 1360k    0     0   104k      0  0:01:53  0:00:13  0:01:40  270k
 21 11.5M   21 2555k    0     0   183k      0  0:01:04  0:00:13  0:00:51  499k
 37 11.5M   37 4465k    0     0   299k      0  0:00:39  0:00:14  0:00:25  877k
 53 11.5M   53 6354k    0     0   398k      0  0:00:29  0:00:15  0:00:14 1187k
 70 11.5M   70 8311k    0     0   489k      0  0:00:24  0:00:16  0:00:08 1519k
 78 11.5M   78 9243k    0     0   512k      0  0:00:23  0:00:18  0:00:05 1576k
 87 11.5M   87 10.0M    0     0   545k      0  0:00:21  0:00:18  0:00:03 1553k
 98 11.5M   98 11.3M    0     0   583k      0  0:00:20  0:00:19  0:00:01 1430k
100 11.5M  100 11.5M    0     0   583k      0  0:00:20  0:00:20 --:--:-- 1270k

他にも、curlの方は最初からインストールされているバージョン(http2にも未対応っぽいですし)だと、
今回インストールしているOpenSSLとリンクしていない様なので、
以下の様な事をした方が良いかもとは思いましたね。

OpenSSLとcurlをソースからビルドしてインストールした話 │ almajiro's blog

あと、yumリポジトリの方は、
特に不安定なepelは「metalink」ではなく「baseurl」を使う様にしたりはしましたが、
・・・ここは、まだまだ改善の余地がありそうかもですね。


8.Let's Encryptの、certbot-autoコマンドの「--preferred-chain "ISRG Root X1"」

以下にもありますが、2021年に影響が出るという事で。
ただ、今回のサーバーは別に良いですが、
実際の案件だと、従来の証明書を指定する方が多い様に思いますけどね。

2020/9/29以降、Android7.1以前でLet's Encryptが発行した証明書が無効になる件(追記有) - Qiita

あと、そういえば上記の様にHTTPではなくDNSでの認証も出来る様になっていたみたいですね。
ただ、こっちは、現在の環境(環境によっては出来る様ですが)だと自動更新が出来ないか・・・


9.yumの自動更新(yum-cron)

そういえば、環境を作ったは良いもののと思っていたら、
yum-cronというのがあるのを知りまして。

CentOS7のyum updateとyum-cronの設定 - CentOSinstall.com

勝手にインストールされても困るので、
とりあえず通知だけ(まだ来ていないので、動いているか不明ですが)する様にしましたけどね。


と、今回の感想はここまでですが、
あとは、以下も課題ですね。


1.インストール先が/opt以外になっている(OpenSSHや、MySQLの/etc/my.cnf)

prefixを指定していないからでしょうけどね。
ただ、MySQLの方は、なんでmy.cnfだけetcに置かれるんだとは思いましたけど。


2.もう少し、ベタ書きではなく、変数で動的に変更出来た方が良い

任意に指定出来るパスとか、configureのオプションとか、
探せば沢山あると思いますが。


3.まだまだ、手動を減らせる

この後に手動でやっている事を考えると、まだまだあるなという印象ですね。


4.MySQL8が入らない

入れるつもりだったんですが、ダメだったので。
多分、入れるマシンのスペックが貧弱(メモリ2Gで、CPUコア数2)だからかなと思いましたので、
再度、どこかで挑戦してみますけど。


5.OSのインストールから自動化する?

要するに、以下の様にkickstart経由でインストールするという事ですが。

さくらVPSにCentOS 7をISO+kickstartでインストールしたのでメモ · GitHub

ただ、上記の「httpサーバにks.cfgを置く」というのがちょっとと思いまして止めたんですが、
以下リンク先の「3.自動インストールディスクの作成」を見ると、
CentOSでも、別に出来そうですね。

サーバ大量構築時のキモ ~KickstartでのLinux自動インストールディスク作成~ | 俺的備忘録 〜なんかいろいろ〜

いや、Ubuntuではどこかで見かけたんですけど、
CentOSでは出来ないかと思っていたので。
・・・猛烈に試してみたくなりましたけど、
あまりここに時間かけてもなぁ・・・悩ましい課題ですね(苦笑)
「凝り性も、ほどほどに」というね(苦笑)


次回は・・・CentOS7のメンテナンス更新期限が2024年6月末の様なので、少なくともそれまでにはですね。