エンジニアのひよこ_level10

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

今年もよろしくお願いいたします!【80日目】

あけましておめでとうございます!

2018年、今年もよろしくお願いします!

今年の抱負(仮)

『身近な人のオンリーワンになる』

最近わかったのが、自分は『ナンバーワンになりたいわけではない』こと。

私がゲームをする時に、『不遇キャラ』『人があまり使わないキャラ』『みんなが使わない手』を使うのが
ものっすごく大好きなんです。

カードゲームなら、誰も使わないカードでコンボを決めること。
対戦ゲームなら、不遇なキャラを使う。

そこにモチベーションが高いんじゃないかなと考えました。
なら、そのモチベーションを利用して成長するしかない!って考えています。

変わったことをして伸び続けると、結果として『身近な人のオンリーワン』になるんじゃないかなと。
『身近な人のオンリーワン』が目的ではないけど、通過点にはなるのではないかと思って、これにしました。
そういう意味では、このブログも『身近な人のオンリーワン』になれてるんじゃないかなと思ってます。

ってことで『100日連続更新』『365日連続更新』をまずは目指します(`・ω・´)ゞ
その上で、さらに『身近な人のオンリーワン』を増やせたらいいなと思います!

日記

このブログの目的はなんだろうっていうのをもう一度考え直す時期にもなった気がします。

記事の価値とかも考えると、リライトはしたいと思ってるけど、それは私がブログを書く目的と合致してるのか?とか。

ただ、この活動自体には価値があると思ってるので、より目的を明らかにすると有益になると思います!

これからも頑張ります!

今年の振り返りと最後の挨拶を。【79日目】

この一年いろいろありました。

少しずつ振り返りますか。

思ったことを書きなぐるので、見やすさ統一性が今まで異常に足りないのはお許しを・・・(;´∀`)

卒業・就職

別れと出会い、わかりやすい大きな変化でした。
周りの環境、人間関係が大きく変わりました。
今までの私の他者とのコミュニケーションじゃ駄目なのは痛感いたしましたし。

でも、いろんな人に出会ったからこそ、こうやってWeb系やったり、日記書いたりしているわけで。
様々な人との出会い、本当に会ってきた方々には感謝しかありません。

多くのことを学ばせていただき、ありがとうございます。
そしてこれからもよろしくお願いします。

研修

忙しくて大変でした。
詳細はあえて省きますが、でも、今はやってよかったとは思います。

まあ、苦しむこと自体が好きなわけではありませんし、
PL学園の頃の辛さと似ているので同じ言葉を言いますね。

『やってよかった、二度とやりたくない』(いい意味で)

仕事

忙しかったけど、無事にやり遂げれてよかった。

悩みとして、私のコードはあまり良い質ではないので、結構直しが入っていて、
かなり同じ社員の人に負担かけてしまった。
これをどう改善するか、なかなかわからないけど、とりあえず目の前のコードにぶつかり続けて学ぼう。

勉強

友人のプロダクトにジョインする、凄く良い自己投資が出来るタイミングだったけど、それを逃してしまった。
深夜一時からその作業に加われるかといったら、やるだけならありでも、普段の業務に影響するのは目に見えてた。

逃したのは悔しいが、ここからどうするかを考えよう。
ひとまず色んな人のプルリクを読む作業をしています。

遊び

一時期娯楽すら苦痛に感じるようになってましたね。
ただ、今は大丈夫なので、楽しんで生活してます。

昔好きだった曲とか漁るの楽しいですね。muzieJ研とかで、オリジナル曲を聞くのが好きでした。
muzieJ研って言って分かる人どれくらいいるのかな。

あと、ゲームもようやくやれてます。#コンパスとメギド72ってスマホゲーが楽しい。
PS4も少し。今日もDFFNTのオープンβやるし!あとDJMAXって韓国の音楽ゲームが最高。

さて、この記事を来年の私が見たらどう思うかな?

来年に向けて

来年もまだ『学び』の段階だと思います。
ただ、『自ら行動して学ぶ』も必要だと感じてます。

今の段階でそれをしすぎると、せっかく目の前に与えられた学びの機会を無駄にしてしまいます。
現状、与えられたものを正しくこなすことで得られる学びは大きいので、それを確実にこなそうと思います。

その上で足りなくなった時。それがこれから必要な『自ら行動して学ぶ』です。
友人のプロダクトや、自分でサーバー借りて色々していきたい。
業務外の知識を手に入れるのも、始めてもいいと思ってます。

並行して公式ドキュメント読む、プルリク読むは続けていきたいところ!

最後に挨拶。

私に関わってくださっている皆様。

本当に迷惑ばかりかけて申し訳ありません!!!

ただ、精一杯学び続けて成長していきますので、

これからも見守っていてください!よろしくお願いします!!!

では、良いお年を!

OK!Googleはアプリ起動も出来る!?いろんな使い道探してみたい【78日目】

OK Googleってなに?

googleアシスタントのことです。お手持ちのスマートフォンAndroidであれば、ホームボタン長押しで設定可能です。

一度設定すると、以降『OK Google』って言えば毎回起動してくれます。

『今日のお天気はなに?』とか聞くと、どういうことしてくれるかわかりやすいですよ。

アプリ起動ってどういうこと?

そのまんまの意味で、『OK google モン○トを起動したい』って言えば起動します。

ってあれ?なんでこんなに音声入力対応のアプリが少ないの!!???

え、音声入力対応のゲームがあったら普通に流行るんじゃないの?え、なんでないの\(^o^)/
私の大学の研究もそうだったけど、目が不自由な方向けのアプリが少ないし、音声主導のものがもっと増えればさらに便利になるのでは・・・

音声入力はワイヤレスヘッドセットでさらに強力に

昨日ワイヤレス首掛けイヤホン買ったんですよ。マイク付きなんですよ。

アプリ起動できんじゃねって思って軽く試したら出来たわけで・・・これめっちゃ便利。

ワイヤレスヘッドセットなら、離れてても音声は聞こえるから、音声が主軸のものは色々使える。
音楽聞く以外にも使いたいものだね・・・!

音声入力には弱点もある

まあ研究でも良く言ってたけど、
音声入力は、うるさい場所じゃ上手く使えない、静かな場所では利用は不適切(教会でお祈りをしてる横で「OK Google」とは言えないよね。

ただ、今google homeとかのように、自宅ではすっごく強い味方ではあるんだよね。
そこら辺を考えながら、上手いこと使っていきたい。

日記

peing.net

流行りに乗って、こんなの作りました。匿名で質問できるので、良かったらどうぞ!

ってことで、ワイヤレスの首掛けイヤホン買ったら思いの外使えてびっくりしたってお話。

特に、よく広告で流れてるアニメキャラ首掛けイヤホン、ネタのつもりで買ったらものっすごく使いやすくて衝撃受けてる。
予備買うの視野なレベルで・・・びっくりした。

現状、音声入力は面白いけど、それに対応するものが少ないのが現状。
昔からある音声入力だけど、ようやく実用レベルになってきてるから、それに対応するアプリ他が出てきたら市場広がるって感じなのかな。

世間の注目は仮想通貨とAIの方に目が向いてるけど、ブロックチェーンとAIに欠かせないものが音声入力、みたいになったら面白いね。

Laravelで『ページ3』や『次へ』や『前へ』というページネーションの作り方【77日目】

参考

ペジネーション 5.1 Laravel

手順

  1. ControllerでpaginateをつかってDBからデータ取得。
  2. Viewでrenderで呼び出す(renderは{!! !!}のカッコで囲むこと)

コード

    public function index()
    {
        $users = DB::table('users')->paginate(15);

        return view('user.index', ['users' => $users]);
    }
<div class="container">
    @foreach ($users as $user)
        {{ $user->name }}
    @endforeach
</div>

{!! $users->render() !!}

日記

朝早めの更新。というのも、昨日は早めに寝すぎて、早めに起きすぎた。ってことでもう半日過ごした気分なのです。

そういや、記事の質があんまりよろしくない点に関して、技術記事はリライト予定!
というのも、邪魔な日記があったりするしね。

今のところは忘備録って感じです。アウトプットすることで、自分の記憶に残りやすいし。
あと稀に知らなかった!役に立った!ってパターンもあるから、当たり前だと思っていることもアウトプットするの大切!

【Laravel】DBのデータを変形させて$model->valueで取るアクセサー【76日目】

反対のミューテターに関してはこちらの記事へ

willow710kut.hatenablog.com

参考

Eloquent:ミューテター 5.1 Laravel

書き方

class User extends Model
{
    /**
     * ユーザーのファーストネームを取得
     *
     * @param  string  $value
     * @return string
     */
    public function getFirstNameAttribute($value)
    {
        //最初の文字を大文字にして返す
        return ucfirst($value);
    }
}

これで$user->first_nameって書くと、最初の文字が大文字になって値を取得することが出来る

get○○Attributeという形なので、お察しの通りsetもあります。変形させてから値を入れる。
詳しくは参考のURL先へ。

JavaScriptでメモリが解放される時は?ガベージコレクション【75日目】

ガベージコレクション

結論:参照をされなくなったときに解放される。

クロージャを参考に

willow710kut.hatenablog.com

前の記事から少し改変。

var func = function () {
  var value = 1;

  return function () {
    value++;
    console.log(value); // 2?
  };
}();

このプログラム何してる?

まずreturnを簡単なものに変えます。

var func = function () {
  var value = 1;

  return x;
}();

そして、無名関数のfunction(){xxx}のすぐ後に()があります。
つまり、即時関数ということで、すぐに結果が実行されます。

したがって、

var func = x;

になると。このxは

 function () {
    value++;
    console.log(value); // 2?
  }

これなので、funcに関数が入るわけですね。

ここで疑問。

このfuncを動かしまくると、234とどんどん増えていきます。

でもあれ?このfuncの中のvalue++;一体どこのvalue使ってるの?
即時関数内のvar value = 1;なら、もう使い終わってどっかにいったのでは??

ガベージコレクションの考え方

ここで結論を思い出す。

このfuncに入ったクロージャは、外のvar value = 1;を参照していた。
したがって、このvar value = 1;は参照され続けているため、
即時関数で使われた後も、参照され続けている限り、メモリに残り続ける。

日記

きっかけはリーダブルコードの例のプログラムでした。

このプログラムなんで動いてるんだろうって思って必死に考えて、先輩方にいろいろ質問してわかったやつ。
クロージャの特性、ガベージコレクションとか、全然理解してなかったし頭から吹っ飛んでた。

日々学び続けてこそ、定着するものだなと……出来れば一発で定着させたいけど、なかなか難しい。

そういや、今日はエンジニアで忘年会だったのですが、しんどくて先に帰ったらふっつーに熱ありました。

途中抜けしたくなかったよおおおおおおもっと元気におしゃべりしたかったし、カキフライも食べたかったよおおおお(´;ω;`)←

PHPで二重for文を抜ける方法【74日目】

前回の記事

willow710kut.hatenablog.com

前回の問題

1.while (true) {
 2.    echo "1\n";
 3.    while (true) {
 4.        echo "2\n";
 5.            while (true) {
 6.                echo "3\n";
 7.                [?????]
 8.            }
 9.        echo "2 end\n";
10.        break 1;
11.    }
12.    echo "3 end\n";
13.    break 1;
14.}

方法

3行目に戻る方法
continue 2;

12行目に行く方法
break 2;

continueどんな動作?

continueはループを止めて、for文等のループの判定に戻ります。
その時、()内の判定もちゃんとするよ。

continue;continue 1;は今いるfor文等の頭に戻ります。
continue 2;ってすると、今いるfor文の、1つ外のfor文に戻ります。

breakどんな動作?

continueはループを止めて、for文等のループの判定から抜けます。
動作の途中であっても、for文から抜けるよ。

break;break 1;は今いるforを抜けて、次の行に行くよ。
continue 2;ってすると、今いるfor文の、さらに1つ外のfor文から外に抜けるよ。

日記

残業とかが大変だったけど、すっごく楽しかったし上司の方に感謝したいって日記書こうと思ったけど、
言葉まとまらなかったし今度まとまったらfacebookかなにかで書こうっと。

さて、勉強とお仕事もう少し頑張るぞー!

あ。そういや2kg落ちたと思った体重、ここ2日で3kg増えたのでまたやっべってなってる。

今日の運動

エアロバイク 3.0km

【出題編1】PHPで二重for文を抜ける方法【73日目】

クイズ形式の試み。

クイズ形式で出題して、後日回答の参考になる記事を書くテスト

 1.while (true) {
 2.    echo "1\n";
 3.    while (true) {
 4.        echo "2\n";
 5.            while (true) {
 6.                echo "3\n";
 7.                [?????]
 8.            }
 9.        echo "2 end\n";
10.        break 1;
11.    }
12.    echo "3 end\n";
13.    break 1;
14.}

7行目に追記して、

  1. 3行目に戻る方法
  2. 12行目に行く方法

は何でしょうっていうお話。

試したい人用コピペコード

php -a

while (true) {
    echo "1\n";
    while (true) {
        echo "2\n";
            while (true) {
                echo "3\n";
[????];
            }
        echo "2 end\n";
        break 1;
    }
    echo "3 end\n";
    break 1;
}