ネットワークエンジニアで高きを目指せ(東京!原宿)

IT修行中(マレーシア<ー>ベトナム)

:月額1000円、動画の量が豊富なのが魅力。どんなにプログラミングのモチベーションが下がっても戻ってこれるのはドットインストールのおかげ。

作る楽しみはここが教えてくれる!

月額料金980円オブジェクト、クラス、メソッド等基本的なことを学べる。おそらく多くのエンジニア志望者はこれから始めると思われる。
:月額1078円とても詳しく説明してくれるがJavascriptを学ぶ講座は少ない。ドットインストール、Progateに続いてやっていいサイトだと思う。

■□━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━□■

SEO対策からビジネス相談まで!500円から買えるココナラ

■□━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━□■

テレビや新聞、雑誌で注目のココナラ! SEO対策、ビジネス相談、キャリア相談など、登録料は無料で、全て500円~で お願いできる!

価格満足度97%、まだ知らないあなたは損しているかも? あらゆるお困りごとはココナラにお任せ!

https://coconala.com/

   

↓↓↓こちら私の招待コードです。こちらから登録すれば300Pointゲット(300円分)

 

ご招待

   
 

Swiftを学べるスクールで入会金は現在ならたったの3000円、サポート費用は月額500円という激安スクールです。

今後私の記事で登場するかも!?

iOSエンジニアを目指す

 
freeks :月額9800円転職の相談も載ってくれる格安プログラミングスクールです。 施設使用料はこの月額使用料さえ払っていれば使えます。 300社に及ぶ提携先企業からあなたに合う企業をご提案してくれるらしい。 日本帰ったらここに通うかもしれない。

 
:月額7800円2021/2月20日から通い始めました。 完全オンラインで、PHPを学びはじめました。 途中からの参加なのでいきなりPHPの条件分から始めています。 進度はゆっくり目なので、ついていけること間違いなし。

LINK:箕面プログラミング

 
:入会金49,800円 月会費3,980円と業界では安め。 最大の特徴は塾内限定で未経験向けの案件紹介があるとのこと。 その経験を積むだけでも本塾には所属する価値があるかもしれません。

LINK:古里塾

 
:コードペンみたいに実際にコードをっ打って勉強できます。ヒントが少ないので難しめです。無料で結構勉強できるので有難いです。

LINK:CODEPREP

 

PHPのループのイメージを深めた(2021年4月16日追記)

ループのイメージを深めた

ループのイメージを深めた

前書き 

プログラミングの勉強をしていて、2重ループについて学ぶことってありますよね。

FOR文って正直プログラミングの学び始めて1日目でも簡単に理解しやすいのですが、2重となった途端イメージしにくいかと思います。

 

今回は2重ループをイマイチイメージしにくいよって方のために若干説明しています。 若干でも理解しやすくなれれば幸いです。

 

今週のお題「下書き供養」

 

 ■2重ループのイメージとは

PHPの場合で2重ループは以下のような形でよく書かれます。

<?php

for ($i=1; $i<=9; $i++){
print("<br>");
for($j=1; $j<=9; $j++){
print($i."*".$j."=".($i*$j."<br>"));
 
}
}
?>

結果は以下のサイトで確認できます。

https://cyberjaya.xyz/4/reidai2/reidai2_11.php

これを図で表すならば以下のようになります。

i1                   2                   3
j123456789 123456789 123456789

1ループ目で、1から9以下までループを繰り返す。2ループ目で、1−9以下までループを繰り返すという具合です。

 

今日はこのイメージを掴んでなんとなく満足。満足までのレベルが低いのが私のいいところなのか悪いところなのか・・・・

 

■ループの課題を解く(年数計算)

この2重ループの説明で若干ループの本質を理解できた私は応用編の課題に進む。

内容は以下の通り。

年、月、日、何日後を入れる入力フォームを準備して、Submitを押して将来の日数を計算する。

月って言ったって30日の月もあれば31日の月もある、4年に一度の閏年なんてやつもある。

そもそもどこにループを使うのかも最初検討が付かなかった。

50日後を想定して以下のSpreadSheetで書いてみた。

https://docs.google.com/spreadsheets/d/1jlfvAfTXWxC4qumA36Qwc3tEMafY1iaF1Yc6tT-AmRU/edit?usp=sharing

そうか、”何日後”が減れば、”日”が増える。それでいいんだ。

悩んだ末作ったコードは下記の通り。

$year=$_REQUEST["tx1"]; //2021
                $month=$_REQUEST["tx2"]; //4
                $day=$_REQUEST["tx3"]; //10
                $after=$_REQUEST["tx4"]; //30
                 
                for($after$after > 0$after--){
                    $day++;
                    if($day > 30){
                        $day = 1;
                        $month++;
                        if($month > 12){
                            $month = 1;
                            $year++;
                        }
                    }
                }
                $E=$year."年".$month."月".$day."日"."<br>";
                echo($E);

とりあえず西向く士の小の月、大の月は無視して全て30日で1ヶ月として計算しました。

何日後に入った数字は一旦”日”にループで入れて、

1つ入れると何日後が一つ減るといったコードになっています。

次に考えたのはどうやって月によって日数が違う点を表現すればいいのかだった。$monthが1,3,5,7,8,10,12だった場合とかで調整できないか?ということ。

とりあえずコードの美しさとか完全無視で下記のコードで解決させた。

地道だ。こんなに「||」を使ったのは初めてだ。大学時代百ます計算VBAで作った頃のを思い出す(同じようなコード100回書いたっけな?)

for($after$after > 0$after--){
                    $day++;
                    if($day > 30 && $month==4 || 
                       $day > 30 && $month==6 || 
                       $day > 30 && $month==9 || 
                       $day > 30 && $month==11|| 
                       $day > 31 && $month==1 ||
                       $day > 31 && $month==3 ||
                       $day > 31 && $month==5 ||
                       $day > 31 && $month==7 ||
                       $day > 31 && $month==8 ||
                       $day > 31 && $month==10||
             $day > 31 && $month==12||
                       $day > 28 && $month==2 && $year % 4 != 0||
                       $day > 29 && $month==2 && $year % 4 == 0){
                        $day = 1;
                        $month++;
                        if($month > 12){
                            $month = 1;
                            $year++;
                        }
                    }
                }
                $E=$year."年".$month."月".$day."日"."<br>";
                echo($E);

もっと短くできないかと思って $day > 30とかをまとめてみた。

 

 

 
                 
                for($after$after > 0$after--){
                    $day++;
                    if($day > 30 && ($month==4 || 
                    $month==6 || 
                   $month==9 || 
                   $month==11) || 
                       $day > 31 && ($month==1 || 
                   $month==3 || 
                   $month==5 || 
                   $month==7 || 
                   $month==8 || 
                   $month==10|| 
                   $month==12) ||
                       $day > 28 && $month==2 && $year % 4 != 0||
                       $day > 29 && $month==2 && $year % 4 == 0){
                        $day = 1;
                        $month++;
                        if($month > 12){
                            $month = 1;
                            $year++;
                        }
                    }
                }
                $E=$year."年".$month."月".$day."日"."<br>";
                echo($E);

 さっきよりすっきりした。今度は$monthがあまりに多いので、こっちもまとめてみた。

 
                for($after$after > 0$after--){
                    $day++;
                   if($day > 30 && $month == (4 || 6 || 9 || 11) ||
                      $day > 31 && $month == (1 || 3 || 5 || 7 || 8 || 10|| 12) ||
                      $day > 28 && $month == 2 && $year % 4 != 0||
                      $day > 29 && $month == 2 && $year % 4 == 0)
                    {
                        $day = 1;
                        $month++;
                        if($month > 12){
                            $month = 1;
                            $year++;
                        }
                    }
                }
                $E = $year."年".$month."月".$day."日"."<br>";
                echo($E);

ちなみに完成品は下記の通り。デザインとか全然触ってないから汚いけど勘弁。

https://cyberjaya.xyz/4/reidai2/reidai2_17.php

この課題2重ループ使うんかと思ってたけど、一回だけやったな汗。

次はwhile文で書かなきゃ。

 

追記:2021年4月16日

 ツツツツツツツツツツ!

今日授業だったんだけど、修正案3のやつ、これ365日を試しに打ってみたら時間が若干ずれてる...

修正2回目までは無事動くのになんでやろ...

f:id:tsuyunaruhito:20210416101021p:plain

テストをしてみたところ、どうやら大の月(1,3,5,7,8,10,12)で31日じゃなくて30日で判定されてしまっていることが判明。だから1日分ズレて7日多くなっている。

f:id:tsuyunaruhito:20210416103912p:plain

 現在修正中、もう一度言いますが、修正案2までは動く...

 

■{その他:JavaScript Primer輪読会}2021年4月4日

 

日曜日は休みです。私の仕事はシフト制で、私の場合は通常日曜日は仕事なのです有給消化のためお休みをいただきました。

おかげでJavaScript Primer輪読会を進められます。

この日はReactを若干触ったのですが、Macbookなら環境構築が楽だと噂に聞いていたのですが、本と同じ環境をなかなか作ることができず、仕方なく普通にNode.jsをインストールして、最初のグルグルReactのアイコンが回るぺージに行けました。

###########################

 PHPの勉強をしたいなら以下のサーバーがオススメ!

 

Twitterのフォロワーが1300人を突破しようとしています。

↓↓↓↓↓

 

  

読者登録をしていただけると大変助かります。

 
 本サイトが参考になったらクリックをお願いします。


人気ブログランキング