2021/04/10 学習内容
【オリジナルアプリ】
◯ 今日は出かけていたのであまり時間はとれなかったですが、EC2でのデプロイを行いました。
◯ が、こいつ(We're sorry, but something went wrong.)が出てきたので、less log/production.logで原因を確認中です。
◯ 解決できたらわかった範囲でまとめたいです。
2021年4月9日 学習内容
【求人確認と応募】
◯ 少しでつでいいので確実に進める。(今日も数社応募)
【PHP】
◯ 関数を作る
function hello () { hello関数を作っている(functionの後に関数名、{}の
echo ‘ Hello, world! ‘; 中身は処理)
}
hello(); hello関数を呼び出す。出力は Hello,world!
◯ 引数
・ 関数を呼び出すときに値を渡すと、関数内でその値を利用できる。これを引数という。引数を関数内で使うには、関数定義時に指定する必要がある。
function printSum($num1,$num2){ 2つの引数を指定
echo $num1 + $num2; 2つの引数を足す処理
}
printSum(1,3); 2つの引数に1,3を渡す。
4 1 + 3が実行されるので、4が出力される。
◯ ここら辺はRubyでも学習した部分。
【ドリルの復習】
◯ 2つの文字列について、どちらかの文字列がもう一方の最後にある場合はTrue、そうでないならFalseを出力するメソッドをつくる。(大文字、小文字は区別されない)
・出力例 end_other('Hiabc','abc') => True
end_other('world','worldherro') => False
◯ ポイント
・ 2つの文字列を小文字にする処理と文字数を数える処理を行う。
a_down = a.downcase ('Hiabc')(downcaseで大文字⇨小文字になる)
b_down = b.downcase ('abc')
a_len = a_down.length (5)(lengthで文字数の値を返している)
b_len = b_down.length (3)
・ どちらかの文字列がもう一方の最後にある場合はTrueとなる条件式
if b_down.slice(-(a_len)..-1) = a_down || a_down.slice(-(b_len)..-1) = b_down
・ abcについては5文字切り取ろうとしているが3文字しかないのでFalse。しかし右側は、hiabcは末尾の3文字を切り取り、それがb_downと一致するのでtrue。
・ 上記に当てはまらないならFalseを出力させる。
【オリジナルアプリ】
◯ EC2へのデプロイに取り組む。
・ 途中にエラーが出て解決に時間を喰ってしまう
・ どうにか解決したものの、明日と明後日はあまり時間取れないので、月曜日中には
デプロイしたい。
2021年4月8日 今日の学習
【就職関係】
履歴書微修正、面接練習、応募
【PHP】
◯ foreach
・ 配列または連想配列に対して先頭のデータから繰り返し処理を行う命令。
$towns = array( ‘東京’ , ‘大阪’ ,’京都’ );
Foreach($towns as $town){ 配列名 as 変数
echo $town’ ‘; 変数を呼び出す
} 出力結果は、東京 大阪 京都
・ 連想配列の場合
$colors = array(
Apple => ’Red’
‘Banana’ => ‘Yellow'
‘Grape’ => ‘Purple'
);
foreach ($colors as $key => $value){ 配列名 as キー => 値
echo $key . ’ : ’ . $value . ‘ ‘ ; 変数(キーと値)を呼び出す
} 出力は、Apple : Red Banana : Yellow Grape : Purple
◯ 関数
・ あるまとまった処理を行い、値を返すもの。
・ PHPには便利な関数が元から組み込まれてあり、それらは組み込み関数という。
◯ strlen
・ 文字列の文字数を返す。
echo strlen( ’time’ ); 4
◯ count
・ 配列の要素の数を返す
$towns = array( ‘東京’,’大阪’,’京都’ )
echo count($towns); 3
◯ rand
・ 1つ目の引数と2つ目の引数の間のランダムな整数を返す
echo rand(1,4) 1〜4のランダムな整数
【ドリルの復習】
◯ 購入金額が999円未満なら3%、1000円以上なら5%のポイントがつく。さ
らに誕生日だと5倍になるメソッドの作成。
・ 仮引数は購入金額と誕生日を判断する二つを用意(今回はamount,is_birthday)
・ まずは999円以下とそうでない(1000円以上)の条件分岐。
point = amount*0.03(0.05) 誕生日の場合は5倍になるため、pointに代入
・ もう一つ、誕生日の場合は5倍になる条件分岐が必要。
誕生日ならば、point = point *5
・ 出力は小数点を切り捨てるfloorメソッドを使い、point.floor これで出力。
◯ 1〜100までを出力させる。ただし、3の倍数はFizz、5の倍数はBuzz、15の倍数は
FizzBuzzを出力させる。
・ まずは1〜100までを出力させるメソッドを作る。
num = 1
while num <= 100 do
puts num
num = num + 1
end
・ 次に、この中に問いにある条件分岐を行う。注意点としては、先に15の倍数の場合
から書くこと(例えば30の場合、先にFizzやBuzzが処理されるので)。
2021年4月7日 学習内容
【PHP】
◯ while文
・ forと同様に繰り返し処理の1つ。条件式を指定し、それがtrue の間は繰り返し実行される。
$i = 1; ①初期化
while ( $i <= 100 ){ ②ループの条件
echo $i; ③繰り返す処理
$i++ ④変数の更新
}
◯ 無限ループ
・ 条件式がtrueのままで終了しないループのこと。
◯ break文
・ 現在のループを強制的に中断させる。
for ( $i = 1; $i <=10; $i++ ){
if ( $i >5 ) {
break;
}
echo $i;
} $iが6になった時点で終了
◯ continue
・ breakはループそのものを抜けるが、こっちは現在の周だけをスキップしループそのものは継続される。
for ( $i = 1; $i <=10; $i++ ){
if ( $i % 3 == 0 ) {
continew;
}
echo $i;
} $iが3の倍数の時はループを終了し次を実行する。上記の出力結果は、12457810
【オリジナルアプリ作成】
◯ 今日はひたすらトップページの作成。少し拘りたいのと、一気に作るとどこのブロ
ックをいじるのか後で分からなくなるので慎重に作成。
◯ トップページをあらかた作成したら一度本番環境へデプロイする予定。
今回はherokuではなく、EC2でチャレンジ。
【その他】
◯ CAと一緒に履歴書のブラッシュアップ、ドリルの復習。
2021年4月6日 今日のプログラミング学習
【PHP】
◯ 連想配列
・ 配列と同じく複数のデータをまとめて管理する。
・ 配列との違いは、個々の要素をインデックス番号ではなく、キー(文字列などの値)で管理する。
・ $user = array( ‘ name ‘ => ‘ あいうえお ‘ ) nameがキーで、あいうえおが値
・ 書き方 $user = array (
‘ name ‘ => ‘ 吾郎 ‘ ,
‘ age ‘ => 25 ,
‘ gender ‘ => ‘ man ‘
) ;
・ 取り出し方 echo $user[’ name ‘] ; 吾郎を取り出す
・ 追加 $user[ ‘level’ ] = ‘ beginner ‘ ; 追加するキー = 追加する値
◯ 繰り返し処理 for文
・ 1から100までの数値を出力するなど、繰り返して何かを行いたいときに用いる。
・ 書き方 for ( $i = 1; $i <=100; $i++ ){
echo $i;
}
・ ①変数の初期化⇨②ループの条件⇨③繰り返す条件⇨④変数の更新 の順で実行されている。
・ 上では、① $i = 1 ②$i <= 100 ③echo $i ④ $i++
ワンセット終わったら、②〜④を、ループの条件を満たさなくなるまで行われる。
【オリジナルアプリの作成】
◯ READMEの記述
◯ ER図の作成
◯ 画面遷移図の作成
・ こんなツールを見つけたので使ってみました。
uiflowのvscodeプラグインを作ってみました - Qiita
◯ 写真を撮ってきたので、ビューに反映させたい(他にもいくつか撮る予定)
後は、ドリルでの復習と、早起きして就職活動を行っていました。
2021年4月5日 ブログ初投稿と今日の学習
プログラミングを学習しつつ、エンジニアへの転職活動を行っているものです。
主に自分がその日に学習した内容を、備忘録の意味も込めてアウトプットしていく予定です。
【今日の学習内容】
● PHP
○ PHPとは
・ 自動的にWebページを生成できるサーバーサイドのスクリプト言語。
・ ユーザーが記事を投稿するたび新着として表示されたり関連の紹介記事が自動的に更新されるなど。
◯ 書き方
・ HTMLに埋め込んで使うことができる。
◯ 文法
・ 文末はセミコロン; で区切る。
・ // から行末まではコメントになる。
◯ 文字列
・ echoで命令する。<?php echo “ああ” ; ?>で、”ああ”が出力される。
◯ 演算子は割愛。
◯ データの種類
・ 文字列と数字があり、Rubyと同じく” 11 "ならば文字列で222ならば数値
◯ 変数
・ 考え方はRubyと同じく、値を入れるもの。
・ 記述は、$name = ‘taka'; こんな感じ
・ echo $name; これで呼び出せる。(結果はtaka)
・ Rubyと同じく、後から更新すると更新した後のものになる。
$name = ’oooo’にすると、takaはなくなり、ooooが出力される。
・ 数字についてもRubyと変わらない。
$x = 1; これに10を加えるなら、$x = $x + 10; これで$xは11になる。
・ 省略した書き方もできる。上の例なら、$x += 10; (Rubyと同じ)
・ 1ならば更に省略した書き方もできる。$x += 1; => $x++;
・ 変数の前に++を書くと命令される前に実行され、変数の後に++を書くと命令の後に実行される。
$x = 3 echo ++$x => 4 echo $x++ => 3
◯ 文字の連結
・ . ドットで連結できる。連結は、文字列同士、変数同士、文字列と変数で可能。
・ また、文字列と変数の連結は.=で省略した書き方ができる
$name = ‘たか’ $name = $name.’DR’ echo $name => たかDR
$name.=“DR” これでも
◯ if文
・ 書き方は次のとおり
$x = 20
if($x > 10) {
echo ‘OK'
}
OKですと出力される。
条件が成り立たない時は何も出力されない。
◯ else、elseif
・ Rubyと同じ。ifがfalseの時にelseが実行される。
・ もしも〜〜なら そうでないなら。。。
◯ 複数の条件式の組み合わせ
・ Rubyと同じく、 && || がある。
・ !の記述 ig(!($x==30))
◯ switch文
・ else、elseifで分岐が多くなるときに使う。シンプルで読みやすくなる。
・ switch(式)がcaseの値と一致したらそのブロックが実行される。
・ caseのどれにも一致しなかった時はdefaultのブロックが実行される。
・ caseブロックの最後にbreakを指定すること。これがないと後ろに続くcaseブロックを実行してしまう。
◯ 配列
・ Rubyと同じ考え。複数の値をまとめて保存できる。
・ 定義の方法 $colors = array( ‘赤’ , ’青’ ,’黄’ )
・ 呼び出し方 echo $colors[0] 赤が出力される。
・ 追加 $colors[] = 白 末尾に白が追加される。
・ 上書き $colors[1] = 黒 青が黒になる。
後は今までの復習やオリジナルアプリの作成も開始しました。