2021/05/10 学習等

今週からは学習、就職活動の時間配分を変えてメリハリつけて頑張っていきます。

(いずれも継続しているが、集中する時間設けた方が捗りそう)

 

【就職活動】

◯ 今日はかなり多めに応募。少しでも機会をいただけるように日々の学習も継続してこなしていく。

 

PHP

◯ プロゲートでのカリキュラムはもう少しで終わりそう。

◯ クエリ(PHP

 ・ URL末尾の?以降に、キー名=値と記述して情報をのせる。
   <a herf=“show.php ? name= <?php echo $curry->getName ?>”>
◯ $_GET
 ・ 上記で記述したクエリを受け取るために使う。クエリ情報は連想配列として入ってくるので、$_GET[‘キー名’];
   これで取り出せる。
 
Ruby
◯ Paizaの問題で覚えたので忘れないうちにメモします。
◯ sort
 ・ 文字列や数値を順に並び替える。
   test = [“e”,”a”,”b”,”d”,”c”]
   puts test.sort => testの中は[“a”,”b”,”c”,”d”,”e”]になる。
 ・ 数字の場合は、ブロック変数を使って数値として出力するように工夫する。
   test = [“5”,”3”,”1”,”2”,”4”]
   puts test.sort{ |a,b| a.to_i <=> b.to_i } => testの中は[1,2,3,4,5]になる。
 
【オリジナルアプリ】
◯ 記事を投稿する前に戻るやリロードをすると画像のように警告を出すようにしたい。
◯ 表示そのものはできたが、記事を投稿する時にも出てしまうので制御する方法を確認する。
 

2021/05/07 学習等

【就職活動等】

◯ 今日は応募はなし。面接練習をしっかり。

PHP

◯ parent
 ・ オーバーライドの際、親で定義したメソッドを呼び出したい時は、parent::メソッド名と書いて呼び出す。記述
   した場所で親クラスのメソッドが定義される(親と子で重複している記述をスッキリ書ける)。
【オリジナルアプリ】
◯ 確認ダイアログにボタンを増やしたりデザインを多少は変えたりしたいが、その方法を模索中🤔(結構時
  間かかってます💦)(文章は変えられるのは分かったけど・・・)

f:id:ST85304301:20210507204720p:plain

 

2021年5月6日 学習等

【就職活動等】

◯ 今日も応募。今週分の(数の)ノルマはOK。

◯ 今日は1社面談。

PHP

◯ (PHPだけじゃないけど)floor

 ・ 小数点を切り捨てる。何回か使ったはずだけどすぐ忘れるので戒め(笑)として記載。

◯ instancesof
 ・ あるインスタンスが特定のクラスのインスタンスであるかどうかを判別できる(指定したインスタンスのクラ
   スならtrue、そうでないならfalseを返す)。書き方は、インスタンス instanceof クラス名
   $coffee instanceof Drink => true
   $coffee instanceof Food => false
◯ オーバーライド
 ・ メソッドを上書きすること。
 ・ 親クラスで既に定義されている同名のメソッドを子クラスで定義するとメソッドの中身を上書きできる。
◯ 子クラスとアクセス権
 ・ 親クラスのプロパティでアクセス権がprivateだと子クラスからアクセスできない。
 ・ 子クラスから親クラスのプロパティにアクセスするには、そのプロパティのアクセス権をprotectedにする。
 ・ protectedだと、そのクラス内と子クラス内からアクセスできる。
【オリジナルアプリ】
◯ 下書き保存ができる機能を実装中。ちょっと時間かかりそう。
◯ ある程度できたら作業過程をまとめます。
◯ 今日の段階ではデフォルトのポップアップを表示できたのとenumの記述はできた(ただし保存や表示は
  うまくいっていない)。

2021/05/05 学習内容等

【就職活動】

◯ 昨日ほどではないけど数社応募。

◯ 明日はカジュアル面談の予定あるので準備。

PHP

◯ クラスの継承
 ・ すでに定義されているクラスのプロパティやメソッドを別のクラスに引き継ぐことを継承という。
 ・ 元のクラスは親クラスで、継承してできる新しいクラスを子クラスという。
 ・ 子クラスは親のプロパティやメソッドを引き継いだうえで独自の機能を追加できる。
 ・ 定義の方法
   class 子クラス名 extends 親クラス名 { 
◯ 独自プロパティと独自メソッド
 ・ 子クラスだけに独自で設けるプロパティやメソッド
◯ メソッドの呼び出し
 ・ 子クラスのメソッドを呼ぶ時、子クラスに定義されていればそれを呼び、子クラスになければ親クラスのメソ
   ッドがよばれる。
【オリジナルアプリ】
◯ 下書き保存機能について色々調べてました。
 ・ enum(多分イーナムと読む)という機能を使う。
 ・ enum用のカラムを1つ追加で作る。このカラムには0(記事が完成していない場合)か1(記事が投稿
   されている)のどちらかを保存できるようにする。
 ・ 投稿した場合に記事を表示させる処置はすでにしているので、下書きを保存するときのアクションを記
   述する必要がある。
 ・ 上記の前に、記事を書いている途中に別のページに行こうとすると、ポップアップで「保存するんか
   い?」を表示させるようにする処置と、下書き記事があるページのビューを作った方が良さそう。
 ・ なので、明日はポップアップ表示の方法や作り方を調べる予定です。

2021/05/04 学習等

【就職活動】

◯ 今日も昨日と同数の応募。

PHP

◯ クラスプロパティ

 ・ クラスが持つデータをクラスプロパティという。
 ・ staticを用いて定義される。
 ・ クラスプロパティにアクセスするには、「クラス名 :: $クラスプロパティ名」
   class Menu {
    public static $count = 4 ;  $countにstaticを用いてクラスプロパティにする
   }
   echo Menu :: $count;  クラス名 :: クラスプロパティ名 出力結果は 4
◯ コンストラクタを活用
 ・ 上記ではクラスプロパティ $count = 4にしていた。今回は生成されたインスタンス数(メニューの数)が変
   化した時に自動的に$countの値が変わるようにする。
 ・ $countの初期値を0にして、コンストラクタ内で$countの値に1を足すことで生成されたインスタンスの数を
   数えることができる。
◯ self
 ・ クラス内でクラスプロパティにアクセスするのに用いる。
 ・ self :: $クラスプロパティ名 で使う。
 
  【menu.php
   class Menu {
    public static $count = 0 ;
    public function __construct(…) {
     self :: $count++;
    }
   }
 
   public static function getCount() {
    return self :: $count;
   }
 
  【data.php
  $menu1 = new Menu(‘CURRY’)   new Menuで生成されるたび、上記の$count++
  $menu2 = new Menu(‘PASUTA’)   で1ずつ増えていく。
 
  echo Menu :: getCount();
 
  出力 2
Ruby
◯ gets.split
 ・ 標準入力の値が横1行で複数ある場合、それらを取得する。取り出した値を変数に入れて、添字で個別
   に取り出すことも可能。
 ・ 横1行の値 1 2 3 これらが文字列の場合に数字として取得するには、gets.split(' ').map(&:to_i)と書
   く。
◯ count
 ・ 指定した文字がいくつあるのかを数値で返す。
 ・ test = “aaabcde"  test.count(“a”) この場合、3と返される。
◯ delete
 ・ 指定した文字を消す。
 ・ test = “aabbcc” test.delete(“a”) この場合、testの返り値は”bbcc”になる。
【オリジナルアプリ】
◯ 実装は進んでませんが、記事の下書き保存について必要になるであろう機能を考えていました。
・投稿記事を書いている途中に別のページに行こうとすると、「下書きをしますか?保存する/削除する」と表
 示される。
・下書き保存された記事は、ユーザー名をクリック⇨下書きをクリックで、そのユーザーの下書き途中の記事
 が出てくる
・下書き保存されている記事は、他のユーザーは見ることはできない(URLを直接入力してもトップページに
 戻される)。
・ログインしていないユーザーが下書き保存のページにアクセスすると、ログインページに飛ばされる。
・下書き記事は、上記の場所(ユーザーの下書きページ)にしか現れない
・単体・結合テスト

2021年5月3日 学習内容等

【就職活動】

◯ 週も変わったので応募開始。少し多め。

PHP

◯ 最近はprogateで学習を進め、paizaで復習という流れで学習してます。

◯ date関数
 ・ 現時点での年月日を取得できる。
   date(“Y”)で現時点の西暦を取得。
◯ explode(‘ ‘ , trim(fgets(STDIN)))
 ・ 標準入力の値が横一行の場合、それらの値を取得する。
 ・ 例えば、2  3  と入力されているなら、$all = explode(‘ ‘ , trim(fgets(STDIN)))
   これで、変数$allに、2と3を取得して代入できる。
 ・ また、これらを取り出して計算するなら、$all[0] + $all[1]と書けば、2+3となる。
【オリジナルアプリ】
◯ 記事の投稿機能完成(のはず)
◯ 単体テスト結合テストも無事終了
◯ 明日は念の為機能の漏れないか確認
◯ このブログ書きながら思いついたけど、一度投稿した記事を編集できるようにしようと思ったけど、それ
  はやめて、投稿していない記事を下書き保存できるようにした方が便利そう(twitterやメールと同じよう
  に)。
  明日は実装進めるよりも(進めば尚よし)、この内容を調べてみることにします。

2021/05/02 学習内容

PHP

◯ paizaでの学習(問題を解いていた)
  文字列の取得についての問題があったのでまとめ
◯ substr
 ・ 文字列を取得することができる
 ・ substr (“abcdef” , 0 , 1) このように記述する
 ・ 左から、abcdefは対象文字列(変数でも可)、0は文字頭から数えて何番目を取得するか、1はいくつ取得す
   るか(厳密にはここはバイトという単位なので全角の文字列の取得だと変わってしまう。)
 ・ 上の例では、出力結果は a
◯ rand関数
 ・ ランダムで数字を出力する関数。
   rand(1,6); これで、1〜6のいずれかがランダムで出力される。
【オリジナルアプリ】
◯ 記事を投稿した時の表示について調整。
◯ 投稿機能のエラーメッセージを編集。
◯ flex-basis
  文の長さに応じて幅が変わる。オリジナルアプリの背景を写真にしているので、文字を見やすくするため
  に、background-colorで色を付けつつ、投稿した記事の長さに応じて幅が変わるようにした。