エンジニアのひよこ_level10

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

【PHP】sprintfで同じ値を使いたいときに、コピペしない方法【479日目】

sprintfで同じ値が使いたい

sprintf('1. %s, 2. %s, 3. %d', 'apple', 'grape', 'apple');

こんなふうに、appleが被っている。

%dとかに数値を入れる

sprintf('1. %1$s, 2. %2$s, 3. %1$s', 'apple', 'grape');

これで、 %1$sには、appleが入り、 %2$sには grapeが入ります!

同じ値を使いたいってときは、とにかく値を並べるより、こっちの方がいいかもです!

【一週間振り返り】登壇と引っ越しの準備・勉強も出来た一週間だったよ!【478日目】

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

登壇と引っ越しの準備・勉強もいろいろ出来た一週間だったよ!

2.良かったこと

  1. 登壇準備、スライド一旦完成

  2. 引っ越し準備・契約までおしまい

  3. 勉強→業務中に苦手なCSS担当してスキルアップ

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

引っ越し準備・・・スムーズにしたかったな・・・

4.新しく気づいたこと

一週間に一度、時間を決めてなにかやるだけで、わりとなんでもできる。

登壇準備は、もくもく会でしかやってないしね。

5.来週したいこと

登壇準備引き続き。

あと、電気やガス等の今の契約をなんとかする。

6.その他

引っ越しだけど、仲介業者さんが結構対応が悪くて・・・払わなくてもいいはずの契約が、私に一言もなく進んだ・・・

ちょっとしょぼーん(´・ω・`)手取りの1/4失うってでかいよね。ちょっと抗議中。

【CSS】なぜ2つのdivの両方にmarginあると片方しか適応されない?【477日目】

注意

個人見解書いています!

CSSで幅を調整したい

<div class=high">xxx</div>
<div class=low">xxx</div>
.high {
    margin: 10px;
}
.low {
    margin: 20px;
}

結果、20pxになってる?

どうやら、lowのmarginしかきいてない?隙間が30pxになると思っていたら・・・

なんでだろう?

結論は仕様、でも用途は?

まあそういうものだと思うしかないのですが、marginが片方だけだと嬉しいときがあります。

.high {
    margin: 100px;
}
.low {
    margin: -100px;
}

もしこれで、隙間が0になったら嫌な気分になりませんか。 highは隙間がほしいって思ってたのに。 marginというのは、これだけの隙間を用意してねってものです。

divと他の間にこれくらい隙間があれば、コンテンツは問題なく表示されます!ってのが言いたいだけです。

もし、この

が、別のdivに変わったら?予想外の隙間が空いて困っちゃいませんか?
それだけの隙間を用意する、というのが他に依存しないで考えるためには、いい仕様だと思いました。

そう考えてcss書き始めると、わりとmarginが他に依存しないのは便利だと思うはずです!

【CSS】box-shadowを設定したのに、影の一部が出ない対応【476日目】

影をつけるCSSを書きましょう

div {
    box-shadow: 10px 10px;
}

よし、影が表示されるはずだ!

右の影が表示されない

なぜだ!設定は完璧のはずだ!

div {
    width: 100%
    box-shadow: 10px 10px;
}

ほら!!

影はあるけど、隠れている

影は作りましたが、横幅が100%なので、影分のスペースが足りません。

なので、影を表示させるだけのスペースを用意してあげましょう。

margin

div {
    margin: 10px;
    width: 100%
    box-shadow: 10px 10px;
}

これで影を使うだけのスペースが確保できました!

もしこれでも上手くいかない方は、box-sizingも加えてみてください。

div {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

    margin: 10px;
    width: 100%
    box-shadow: 10px 10px;

スライド一旦完成しましたー!【475日目】

もくもく会参加だよ!

willgate.connpass.com

初めましての人もいましたが、それでもゆるーく身内感のあるこのもくもく会(‘ω‘ )すごく好き

進捗そこそこ

スライドが一旦画像含めて完成しましたー!わーい!!!!

スケジュール立ててコツコツやった結果ですね!良かったよかった。

・・・あれ?フィードバックとか反映していったらスライド枚数27枚?

内容追加出来そう

ってことで、わざわざ抜いたコードの追い方の部分追加できそうです。

あと、スライド読んでいて、『コントリビュート楽しい感』ないなーって思って少し修正しようかと思っています。

ただ、ここらへんの修正も後一週間だけにする予定。

一週間は練習しないといけないので・・・!

ぶれすぎないように

もともと話がぶれないように削ったのもあるので、内容追加するときは気をつけたいと思っていますー!

そのためにも、練習・他の人に聞いてもらうする予定!がんばりますー!

【css】margin-rightやmargin-topを使う時っていつ?【474日目】

marginだけでよくないのか

marginの書き方はいろいろありますが、その中でも

margin: 10px 5px;
margin-top: 10px;
margin-right:5px;
margin-bottom: 10px;
margin-left:5px;

この書き方に違いはないと思います。

そう考えると、全部 marginで良くないか?って思う時がありました。
最近、この使い方だと margin-leftとか欲しくなるなというパターンがありました

他のCSSを優先させたい時

p {
    margin: 10px 5px;
}

p.left {
    margin-left: 10px;
}

こうすることで、 <p class="left">の要素は、 margin: 10px 5px 10px 10px;の状態になれます。

もし、marginしか存在しなかった場合は、他のCSSの状態を全て覚えてないと書けないことになります。

逆に4つ書くならmarginでいい

ただ、最初に書いたように、marginの4箇所全てを一箇所で書くのであれば、わざわざleftとかで分ける必要はないです。(たぶん)

margin-left:とかを見かけたら、どうしてこう書かれているかを考えてみようと思いました!

【思考φ(..)メモメモ】登壇する時は、自分を卑下して表現すべきではない理由【473日目】

登壇をします!

さあ、前に出て登壇します!

・発表内容
『こんな自分だけど、それでもこれができます』
『私なんかでもできます、簡単です』

こういう表現はやめておきたいというお話。

ではできない人は?

『こんな自分でも、○○できました』

って内容を話す時は、だいたいターゲットは、まだ○○できていない人になると思います。

じゃあ、それができていない人は?
話す内容によっては、聞き手が『簡単なのか、なのにできていない自分は・・・』という考え方に誘導しかねない危険性があります。

きっと、それは話したい目的とは異なると思います。

ではどう話す?

『こんな自分でも、○○できました』

には間に何かしらあるはず。

『こんな自分でも、□□することで、○○できました』
『こんな自分でも、□□を知ったから、○○できました』

この□□の違いがあったんだ、それを知りたい。
これを知ったからできたんだ。

自分にとっての当たり前が、当たり前じゃないことを伝えるべきでは。

そもそも登壇するなら

登壇するって、聞き手の方になにかを伝えるためであって、
全員が『知ってる知ってるー当たり前じゃんー』って話ではない可能性が高いと思います。

なら、自分の当たり前が、相手の当たり前ではない可能性こそ疑っていいのでは。
その話をするのでは。

次の登壇で意識したい

ってことを、登壇準備でフィードバックいただきました。次回直す予定。

ちょっとネガティブになりやすい自分ですが、そこは頑張って矯正しようと思います。

がんばるぞー!

【Laravel】サービスプロバイダーのファイル名パターン【472日目】

サービスプロバイダーのファイル名迷う

インターフェースの実装のためにbindとか、サービスプロバイダーでいろいろやることはあると思いますが、
全部AppServiceProviderのみにするかとか迷いますよね。

で、PHPユーザー会の方に質問したら、わかりやすい説明いただきました。

3パターンに分ける

1. bindの設定数が少ない場合
AppServiceProviderのみ

2. bindの設定数は少ないが処理の重さが気になる場合
→ 利用頻度が高いものと低いものに分ける
多くのAPIで利用されるもの → AppServiceProvider
特定のAPIでしか利用しないもの → DeferredAppServiceProvider (プロパティの$deferred=true)

3. 規模が大きいので整理したい場合
→ パッケージやドメインごとに切る
特定のAPIでしか利用しないようなパッケージのServiceProviderは$deferred=trueにする
-XXXServiceProvider
-YYYServiceProvider
-AppServiceProvider(パッケージに分類できなかったものなど

別な方からも別パターンをもらいました。

用途で分ける

処理での、用途を分けることで、迷わなくする。

例えば、RepositoryInterfaceをbindするときは、 RepositoryServiceProviderというファイル名。

これで、どのファイルに書くか迷いませんね。

最後に

質問に答えてくださった方、ありがとうございました・・・!

かなり迷っていたので助かりました。

今は2.を実装しましたが、今後整理されていくと、用途に応じてファイル名が変わりそうです。

このおかげで次回から迷わずに済みそうです、ありがとうございました!