エンジニアのひよこ_level10

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

【Laravel】モデルインスタンスのフィールド値を変えたときの対応【434日目】

モデルインスタンスのフィールド値を変えた

public function __construct(User $user)
{
    $this->user = $user;
}

public function updateUser()
{
    $this->user->timestamps = false; // update_atを更新させない
    $this->user->where('id', '=', $user_id)
            ->update([
                'is_active' => 1,
            ]);
}

こんなふうに、Repositoryパターンとかで、共通のインスタンスを使うときに、
値を書き換えてしまった。

このままだと、同じインスタンスを使うために、別な関数でupdate文を書くと、
update_atが更新されなくなってしまう。

フィールド値をもとに戻そう

$timestamps = $this->user->timestamps;
$this->user->timestamps = false;
$this->user->where('id', '=', $user_id)
            ->update([
                'is_active' => 1,
            ]);
$this->user->timestamps = $timestamps;

こうやって、元の値を一旦保存して、
update文を書き終わったら、またもとに戻そう。これで大丈夫

求む他の方法

他にも良い書き方がありましたら、ぜひ教えてください!

一旦これで進めようと思いますー

ってことでお疲れ様でした。

【思考メモ】会社運営と比べてギルド運営は、大量雇用と大量解雇が強い?【433日目】

発端はギルド運営って組織運営につながるんじゃねって話

www.nyamucoro.com

気づいたこと

ギルド運営にできて、会社の組織運営にできないことを考えてみた。

それは、大量雇用、そして素早い解雇。

たくさん集めて、良くないものは破棄、みたいな話。
単純に、質の良いものが残るから良いよねってお話。

もちろん、これ以外にもギルド運営が楽な要因はあると思いますが、一旦まずこれがあるなと

なんでできない?

じゃあ、これと同じことを会社等の組織でやってみては?

・・・まあ、難しいですよね。

何が難しいって、雇用という形態を取ると、まあすぐにやめさせるとかは契約次第では難しい。
さらに、離職率という数値が、会社の信用に響いてきて、本当にいい人も近寄らなくなるかもしれない。

契約、外から見たときの印象、この2つがデメリットとして上げられそうです。他にもあるかも。

そのデメリットを削減する方法は?

では、この手法を取り入れるためにどうすればいいか。

契約、これは色んな方法で回避出来るかもしれないですね。試用期間とか。

外から見たときの印象・・・ねえ、なんで今の社会、離職率が低い会社がいい会社とされてるの?
やっぱりこの常識が悪いんだ!これは常識を壊すしk(知ってる人は知ってる私の発作

・・・じゃなくて。離職率一つで下がるような会社のイメージなのを何とかするほうがいいのかも。

他にもデメリットあるくない?

あると思います・・・w

そもそも、雇うために人事の人件費とか、かけてるお金と成果が見合わないとかありますね。

そういや、ギルドとかは、ボタンポチッで所属ができて、契約もボタンポチッでできますね。

そういう風土とか作れるような業種や契約形態とかないのかな。
みたいな、ことも考えてみたいなーとか思いました。

英語のドキュメントを読むエンジニアになるための拡張機能2つ【432日目】

エンジニアなら英語読もう!

っていうのも、まあドキュメントのほとんどは最初は英語、いろんな情報が転がってるのも英語ですしね。

ってことで、英語を読めるようにしよう。

でも、英語の勉強はこれがいいよ!ってのはないです。

じゃあどんなツールよ

英語を読めるようにするためには、英語をたくさん読もう。。。w

ってことで、英語を読みやすくするのが大切。

英文見たときに、中学英語くらいの知識があれば、読めるはずです。
できないのは、単語がわからないから、ということがほとんどのハズです。

なので、英単語がわかればいい。

わからない英単語の日本語訳がすぐにわかれば問題ないですね!

google翻訳 chrome拡張機能

walkingmask.hatenablog.com

この記事が詳しい。

これは、ダブルクリックやドラッグで文字選択をした状態で、翻訳が出てくるように出来る。

わからないことがあったら、即ダブルクリックで文字選択をしてポップアップを表示させれば、すぐに日本語訳がわかる!

あと、長文を文字選択したら、それの日本語訳も一応出るよ。便利。

iKnow chrome拡張機能

wind-mill.co.jp

こっちは、英単語にマウスオーバーしたらすぐに翻訳が出る。

ダブルクリックとかで選択しなくても、マウスを近づけたらすぐにポップアップが出る。

すぐに読めて楽ね!

ただ、読みたくないときにポップアップが出て邪魔なときもあるかもなので、お好みで。

面倒なものをどんどん削減しましょう

面倒だからやらない、逆に面倒じゃないならやる!

ってことで、英語読むのが面倒なら、面倒な要素を潰してしまえば読む。そして覚えるー

拡張機能、おすすめですー

ギルド運営と、組織やチーム運営のお話【431日目】

最近ギルド運営はじめました。

皆さんは、ギルドと呼ばれるものを知っていますか。

まあ、今回の話は、オンラインゲームのグループのことを言いたいだけなんですけどね。

先週の末頃から、オンラインゲームをまた始めました。
以前もオンラインゲームをやっていた時期があって、その時もギルドと呼ばれるオンラインゲーム内のグループを作成していました。

で、まあ、結構大きくなりました。サーバー4位のギルドになるくらい。
そして、今回作っているギルドもまた大きくなりそうな予感(サーバー15位辺りうろちょろ)

なんで出来たんだろう?

わりと、私達のギルドは、いい感じのグループになっていると思っています。

雑談したり、他の人が困っていたら積極的に助けたり。
情報でいいものがあったら共有したり。

最近一番驚いたのが、

『ギルドこうしたい!マスター出来ない?』  
『責任や義務で縛るようなギルドにはしたくないから、そうしてないよ』  
『なら、そうならないよう、私がその権限持って、その仕事やるよ!』

まじか、自発的に提案したり、そこで発生しそうな責務を自分で背負うのか。

わりと私がギルド作ると、提案飛んできたり、私がやろうか?みたいな声が上がってくるのです。

私が原因?

かというと・・・どこかに私の行動が一要因にはなってるかもですが、ぶっちゃけわからない。

正直、私はどの場合でも象徴的な、のんびりした存在で、メンバーがいい感じに動いて、なんかでかくなってたみたいな感じ。

とりあえず、雑談したり、助けたり、助けてーってしてたら、伝播したのか、それが好きな人が集まったのか。

環境が原因?

そもそも、仕事のチームとゲームのグループは違うくね?って話が出たら、何が違うんだろう?ってのを分析したいなと思った。

『ゲームだと、○○なんだから当たり前じゃん』

そんな意見が出てきたら、チャンスな気がします。

一見ゲームにしかないような要素を、仕事のチームに取り入れたら、いいチームになる可能性を秘めてるのではないでしょうか。

ギルドを通じて模索したい

ってことで、幸い始まって一週間経ってないけど、いい感じに動いてるギルド。

これを通じて、なにか仕事や生活にヒントが得られないかと模索しております。

ってことで、たまーーーーに、ギルドでいいことがあったら、ブログに書いて、それを分析したいなーと思ってます。

みなさんも、似た事例とかないでしょうか?あるいは、すでに分析した結果があったら、是非教えてください。

【Laravel】テスト時に、Sessionが持つ値を確認するassert【430日目】

セッションに値をもたせた

$request->session()->push('key', 'value');

こんなふうにセッションに値をもたせた時に、
その値を確認したい。

該当したキーと値のペアが存在するか確認したい

$this->assertSessionHas('key', 'value');

これでキーと値がチェックできる。

値を持っていないのを確認したい

$this->assertSessionMissing('key');

これでそもそもキーが存在しないのがわかる

公式ドキュメント

HTTPテスト 5.5 Laravel

【一週間振り返り】体調崩した一週間でした【429日目】

1.今週一週間の感想(ざっくり)

体調崩してました(´;ω;`)

2.良かったこと

1.やりたかった子こと進められた

3.もっとこうしたかったこと

先週と変わらず、体調崩れてパフォーマンス低かった。

4.新しく気づいたこと

いっそ有給取るべきかと思ってるんだけど、取るタイミングがわかってない。

5.来週したいこと

OCRの勉強忘れてたけど、優先度低めなので、チケットは残そう。

体調、体調を戻す方法!とりあえず寝るー!

6.その他

体調崩してるのが長引いてるのに気付ける一週間振り返り、やっぱりいいね。

体調良くして、やるべきことをやるのが目標!

VRChatのアドベントカレンダーを書いてみた感想【428日目】

アドベントカレンダー2つ目

Laravelに続いて、アドベントカレンダー二つ目です。

www.nyamucoro.com

あれ?場違い?

最初はまだ参加者が少なかったので、こんなに技術ネタが多いとは思ってなかったです。

ネタを考えるときに、とりあえずVRChatで一番苦労した話を書こうと思っていました。

  1. Voxelでアバターを作る
  2. Kinectで全身トラッキング
  3. 全身トラッキングのコントローラー設定
  4. VRChatに興味が持たれない

どう考えても、4番が一番苦労した!!!

ってことで、今回の内容になりました。

VRの布教は難しい

一応HMDを持ってる友人はいるのですが、あまり周りに布教できてないなーって思ってました。

私も最初は布教って難しいなーって思ってたんですけど、今回の記事に書いたことに気がついてからは、結構な確率で興味を持ってもらえるようになりました。

VRに興味を持つ内容は人それぞれなのですが、それでも、最初に興味を持たれなかったら、そのまま興味を持たないまま終わりなので、どうにか最初の刺激を与えるのが大切。

でもそれって結構難しいですね(´;ω;`)思い込みって結構強いですから・・・

なので今回の記事に。

だから、今回の記事にしました。

読んだときの反響がないので、いい記事だったかは不明ですが、みんなも同じ悩みを抱えたりしてないのかな?って思ってます。

逆に、みんながどんなふうに布教してるのかな、って気になってます。

よかったら、皆さんはどう布教したorどう布教されたとか教えてくださると嬉しいです。

【Laravel】コンソールコマンドを実装時に、引数のヘルプを作成する【427日目】

Laravelのコマンドを実装するとき

    /**
     * コンソールコマンドの名前と引数、オプション
     *
     * @var string
     */
    protected $signature = 'update:user {--user_id}';

    /**
     * コンソールコマンドの説明
     *
     * @var string
     */
    protected $description = ’ユーザー情報を更新する’;

こうやってコマンドの説明は書けるけど、引数をもっとわかりやすくするコメントの書き方が。

引数に『 : 』を使う

    /**
     * コンソールコマンドの名前と引数、オプション
     *
     * @var string
     */
    protected $signature = 'update:user
                                           {--user_id : 更新対象のユーザーid}';

こう書くと、 -hでヘルプを出したときに、引数のヘルプとして表示される

デフォルト引数にならないように注意

実は、引数にデフォルト値を用意することができて、それは =の後に値を入れるのですが、

    /**
     * コンソールコマンドの名前と引数、オプション
     *
     * @var string
     */
    protected $signature = 'update:user
                                           {--user_id= :更新対象のユーザーid}';

こんなふうに :の後にスペースを入れ損なうと、コメントではなくデフォルト値になるので、注意・・・

私はこれでハマりました・・・w

お疲れ様でした。