エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

東京で消耗してた私が、高知に遊びに行ってみた。常識の違い編【122日目】

高知の常識ってなんだ

高知のJK達と遊んできました←←←

で、会話してると結構『常識ってなんだ!?』ってなる場面が

男子高校生が魚をさばけるのは当たり前

え。そうなの。常識って言われたけどそんなことないだろ!?

え、クラスの男子が次は鳥を〆るって言ってるって?
他にも神経抜きするとかちょっと会話のレベル高い。

電車じゃなくて汽車

あ、煙出てる・・・JR・・・電車じゃなかった・・・

でn・・・汽車は一時間に1,2本

ぎゃああああ駅に着くの遅れたあああああ
次のでn・・・汽車は1時間後だあああああ

汽車はワンマンがわりと普通。多くて3両

あとわりとワンマンでも座れますね。てか立つ人もせいぜい5,6人くらい

高知のJKが京都に行ったら

電車が8両というのに驚いていました。一本遅れても10分後には乗れてたとかびっくりしてるそうで。

常識って主観次第。

まあ、この子が『常識!』って言葉が口癖気味になってるだけだとは思いますが。

やっぱり住むところで文化違うんだなって。

・・・魚さばけるのは日本全国でも当たり前なのかな・・・。
私はずっと寮生活してたからな・・・魚の捌き方誰かに教えてもらわなきゃかな・・・

東京で消耗してた私が、高知に遊びに行ってみた【121日目】

一度は書いてみたくなるよね

タイトルはまあ、東京から高知に行ったら思い浮かぶ某ブログのタイトルですね。

あ、121日目というのはブログの日数で、高知に遊びに来てからは2日目です。

食べ物ちょー安い。

エリンギやえのきが税込み80円・・・あんなにでかい人参が2本で120円・・・
チンゲン菜めちゃでかかったぞ。あれ2つで120円かよ・・・

お肉も、ももが100gが100円切ってるとかで・・・ほんと・・・

全体的に安いの素晴らしいね!

東京で食べれない食材が

やっこねぎっていうものがありまして。火を通さなくてもそんなに辛くないし、
普通のネギとニラを足して2で割った感じの食材がありまして。

地味だけどめっちゃ好きなんです。久々に食べたけど美味しかった・・・

地方限定のもの結構あるよね

うまかっちゃんっていう、インスタントの九州ラーメンがあって、
これ大好物なんですよ・・・

最近食べてなかったの思い出したので思わず購入。食べるのが楽しみです。

神奈川に通販とかで取り寄せようかな・・・

つまりは

こんなところに6年も住んだから、
私が自炊も楽しい飯美味しいってなるわけですね\(^o^)/

飯の話しかしてなくね

だって買い物と飯しかしてないですし\(^o^)/

あ、でも、空はすっごい綺麗なんです。東京神奈川は建物が高くて・・・

あと心なしか空の青さ違う気がしたけど、それは単純に視界に映る空が広いせいかもしれないっす。

疑似乱数を、再現可能な値にする方法【120日目】

何が嬉しいの?

擬似乱数を再現可能にすると、
バグとかの再現も出来る。

ドキュメント

PHP: mt_srand - Manual

PHP: mt_rand - Manual

結論

$seed = 10;
mt_srand($seed);
echo mt_rand(0, 255);
echo mt_rand(0, 255);
echo mt_rand(0, 255);

mt_srand($seed);
echo mt_rand(0, 255);
echo mt_rand(0, 255);
echo mt_rand(0, 255);

実行結果

php > $seed = 10;
php > mt_srand($seed);
php > echo mt_rand(0, 255);
9
php > echo mt_rand(0, 255);
125
php > echo mt_rand(0, 255);
228
php >
php > mt_srand($seed);
php > echo mt_rand(0, 255);
9
php > echo mt_rand(0, 255);
125
php > echo mt_rand(0, 255);
228

どういうこと?

mt_srandにシード値と呼ばれる値を入れると、
そのシード値に合わせた乱数のテーブルが出来上がる。

シード値が同じであれば、
乱数の出てくる順番が同じものになるわけです。

応用

暗号もどき。シード値を共有すれば暗号っぽくなるのかな。

<?php
    $seed = "20";

    $word = "ABCDEFGabcdefg";
    check_enc($word, $seed);

    $word = <<<EOF
    テストの文です。
    これではどうなるでしょうか。
EOF;
    check_enc($word, $seed);

    function check_enc($word, $seed)
    {
        $en = enc2($word, $seed);
        $de = dec2($en, $seed);

        echo "元の文字列:" . $word . PHP_EOL;
        echo "暗号化した文字列:" . $en . PHP_EOL;
        echo "複合した文字列:" . $de . PHP_EOL;

        if ($de === $word) {
            echo "OK!" . PHP_EOL;
        } else {
            echo "NG!" . PHP_EOL;
        }
    }

    //文字を配列に変えてforeach
    //ASCII文字に変換→1足してずらす→文字に戻す
    //配列を文字列に戻す
    function enc2($word, $seed)
    {
        mt_srand($seed, MT_RAND_MT19937);
        foreach(str_split($word) as $char) {
            $char_array[] = chr(ord($char) + mt_rand(0, 255));
        }
        $encripted = implode($char_array);
        return $encripted;
    }

    function dec2($encripted, $seed)
    {
        mt_srand($seed, MT_RAND_MT19937);
        foreach(str_split($encripted) as $char) {
            $char_array[] = chr(ord($char) - mt_rand(0, 255));
        }
        $word = implode($char_array);
        return $word;
    }

実行結果

元の文字列:ABCDEFGabcdefg
暗号化した文字列:�R#� ��y�F�
複合した文字列:ABCDEFGabcdefg
OK!
元の文字列:    テストの文です。
    これではどうなるでしょうか。
暗号化した文字列:��/�]w��*%hY���������gWs��&�^���L��h����l�.���O۬7��q�I�Y3�@���
複合した文字列:    テストの文です。
    これではどうなるでしょうか。
OK!

目的のない読書は、頭に入りませんでした。【119日目】

最初に

日記です。特に役に立つ情報はありません。
また、明日から高知に一週間遊びに行くので、ブログの更新が確定で技術関係ないものになります。

0.結論

目的がない読書だったから。

目的を決めることで→自分に結果としてでる。自分の行動に変わる

1.何をしたのか

今日これを読み始めました。

武器としての決断思考 https://www.amazon.co.jp/dp/B00KDTCE4S

2.何が起こったのか

興味をそそる文字や文はたくさんあるのに頭に入らない

3.なぜ頭に入らないのか

とりあえず良さそうだから読む。

これは、自分事になっていない。
知識として、文字として入るだろう。ただ、それで終わる。

4.ではどうするか

目的を決める

『何も考えずに行動する自分を解決したいから読む』

『自分だったらどうかを考えて読む』

5.するとどうなるか

『この例は自分に当てはまるな』→『自分の行動を改めてみよう』

『自分はこう考える、が、別な考え方もあるのか』→『なら、今後別な考え方も実践してみよう』

自分事にしなければ、自分の行動にならない

結論

1.自分事にしないと、結果や行動にならない。

2.自分事にするには、自分の目的を考える必要がある。

3.目的を決めることで→自分に結果としてでる。自分の行動に変わる

なお、これらはどれも真と証明することが出来ないので正しいとは限りません。
私の推測です。

今日のエアロバイク

3.5km

私がブログを続けることが出来た記事の方に会ってきました!【118日目】

こちらの記事を書かれた方とランチに行ってきました!

tomokazu-kozuma.com

私がブログを書き始めて20日くらい経った時、この記事を見たのが、今も続いている理由です。

どんなこと書いてるの

詳細は実際に記事を見ていただくとして、

ブログを書いて続けるだけであなたは100人のうちの1人になれるのです。

この言葉に本当に勇気づけられました。

アウトプットしていくことは目的の1つではありましたが、
ここにも書かれていて、自分は間違ったことをしてるんじゃないんだなという確信が
得られたことも大きかったです。

どんなこと話したの

お礼と尊敬の気持ちを伝えるのに5割くらいの時間を使っちゃいました。

今回、30分しかなくて他の話をする時間がなかったのもあります。
かそ・・・暗号通貨についてのお話とか、
大学とか仕事とか技術とか、いろいろお話してみたかったけど、
それはまた次回ですね。

あとは、お互いがブログの目標にしている人とかを紹介してました。
他にも、ブログ書くとここ良いよね、ここ辛いよねというあるある話とか。

ただ、やっぱりブログ書き続けている人は身近には少ないので・・・
何かしらのコミュニティ探したいですね。ご存じの方がいれば、教えていただきたいです。

最後に

ブログを書き始めるきっかけになった方が父であれば、
この方は落ち込んだところを勇気づけてくれた、兄みたいな感じでした、話しやすく素敵な方でした!
お二人を引き合わせたり出来ないかなーと個人的に思ってたりします。

そしてブログ書き続けていたからこそ得られた出会いでもあって。
やっぱりなんでも良いから何かしら続けるって大切!

そして改めて、エンジニアブログコミュニティ的なものが欲しいと思った私だった。 どこかにありそうだけど、無いなら作るという選択肢もあるのでは・・・?

Laravel5.2以降で二重配列にバリデーションを入れる方法【117日目】

配列にバリデーションをかけたい

arrayX = [['key' => 10], ['key' => 'aaa']]

こんな感じのやつ。

arrayのkeyに対して、数値であるとバリデーションをかけたいやつですね。

公式ドキュメント

バリデーション 5.3 Laravel

配列形式のフィールドをバリデーションする場合は、*文字を使用し、各配列要素の全メッセージを取得できます。

結論

'arrayX.*.key' => 'integer'

なにこれ?

array(配列)
*(全てのキーの要素(一層目))
key(keyというキーの要素(二層目))

わかれば簡単!(わからなかった)

日記

はてなブログのエンジニアグループに入ってみました。

エンジニアの先輩、初心者エンジニア仲間を探したいですけど、なかなか難しいですね。

ひとまず少しずつ勉強していきましょー!

5番目や◯◯番目のliにCSSをかける方法【116日目】

liを横並びにさせる時にこんなことありませんか

3番目と6番目だけに marginをかけたい・・・
4番目以降に margin-topをかけたい・・・

とか。私はありました。

前まではfor文で個数数えてCSS書いてました。

参考サイト

http://csspro.digitalskill.jp/%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB/nth-child%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9/csspro.digitalskill.jp

:nth-childというものがある

:nth-childというものがあって、

n番目の子要素にCSSをかけるってことですね。

li:nth-child(n+4) {
    margin-top: 5px;
}

こんな風に書くと、4番目のliからmargin-topがかかります。

nが0,1,2,3...と増えていくので、
(4)(5)(6)...となるわけですね。

3の倍数の時に◯◯

アホになる・・・とか昔ありましたね。

li:nth-child(3n) {
    margin-top: 5px;
}

これでよし。

li:nth-child(3n+2) {
    margin-top: 5px;
}

こうすると、2,5,8...みたいにも出来ます。

日記

いつか例を書いてリライトしようと思った。

80記事も技術記事貯まってるから、全部リライトするのはすっごく骨が折れそう。

mkdirで作ったディレクトリに即入る方法【115日目】

結論

mkdir newdir && cd $_

即じゃないじゃん、コマンド2つじゃん

すみません、これを説明するのに良い言葉が思いつかなかったのです。

ちなみにこんな書き方も

mkdir newdir
cd !$

このコマンド何してるの

Man page of BASH

hash.hateblo.jp

つまり?

直前のコマンドの最後の引数を取得してる感じ。

$_はシェルの特殊な変数。
シェルスクリプト内では、ファイル名。それ以外は直前のコマンドの最後の引数。

!$なら、 イベント指示子の !の後に、
単語指示子の $を書いて 最後の引数を取得している感じ。

mkdir newdir
cd !$

では mkdirの引数は一つなので

mkdir newdir
cd !^

これで最初の引数を取っても一緒。

日記

最近この日記部分要らなく感じてきました。

とりあえず頭痛いので寝ますおやすみなさい。