2023-01-01から1年間の記事一覧

PHP:クラスを使ってみた

そろそろ関数は慣れてきたので、「クラス」を使い慣れたいなと思い、わざわざ遠回りして、クラスを作って、使い、答えを出してみた。 最初の解答で分かったこと、 クラスのスコープ外にある、foreach のなかで、class CalSumが元になる インスタンス を作成(…

PHP:配列を2つ用意して、ブラウザのページ遷移の仕組みを真似てみた。

今回のネックは、 戻るボタンを2回以上押して、他のページに飛び、 また、戻るボタンを押した時のページ遷移先を表現すること 上記の問題を解決するのに、配列を2つ用意した。 イメージ:末尾が現在地 1回目: $result = [1, 2, 3, 4, 5, 6] $result2 = [1, …

PHP:配列の最初のkeyを取り出す、配列の最初と最後の要素を取得。

array_key_first:配列の最初のkey を取得する $keys = array_key_first($rainAll); reset(), end() :配列の最初と最後の要素を取得。 reset($resultDays) . ' ' . end($resultDays); getSumRain():ここが成長を感じた点 平均降水確率を作成する際、合計の…

PHP:DFS関数、深さ優先探索

競プロで、ロジックの勉強してるときに、分からなくて色々調べたら、 タイトルにある、DFS関数にたどり着いた。 深さ優先探索 というワードの意味が、いまいちピンとこなくて、他のないのかな〜って思うけど、そこが味噌ではないから、まあ、ええかと。。。 …

Docker: ERROR [internal] load metadata for docker.io/library/unbuntu:22.04

$ docker image build -t practice/apache:latest . 上記のコマンドを実行した。けど、タイトル通りのエラーがでた。 ERROR [internal] load metadata for docker.io/library/unbuntu:22.04 これは、単純に、タイポ(スペルミス)でした。。。 unbuntu ではな…

PHP:php -r コマンド

$ php -r XXXは、どういう意味か?と疑問に思い、ChatGPTに質問したところ、以下の回答が出てきて、スッキリしました。ググってだめならChatGPT すると欲しい回答が出てきたりしますね。 php -r オプションは、PHPのコマンドラインモードで、 1行のPHPコード…

PHP:ある配列に対する処理を繰り返したい。

前回もそうだったが、処理は、できたけど、その処理を与えられた回数分繰り返す必要があった。 ただ、ループ後に、変数名が異なって、最初の処理に戻るときに、処理したい配列が、初期化されていた。 やりたいこと 1連の処理を終えた後、その配列に再度、同…

Docker 基本:Dockerfile、コマンド、オプション、OS(Ubuntu)など

Docker ・docker engine:docker client と docker デーモンを組み合わせたもの ・Dockerfile をもとにイメージを作成する ・build:イメージを作成すること $ docker image build -t hello:latest . * -t => タグ付け を意味する。あとで呼び出すときに楽に…

PHP[配列]:最小、最大値のkey を取り出す。最小値を先頭に持ってくる、かつ、先頭を末尾に回す。最小値を配列から削除

// 最小値のkey を取り出す関数 $minKey = array_keys($arr, min($arr))[0]; // 最大値のkey を取り出す関数 $maxKey = array_keys($arr, max($arr))[0]; // 最小値を先頭に持っていった後の配列を作る関数。先頭は、末尾に回る。 array_merge(array_slice($…

Git:rebase , squash, タグ

git rebase コマンド リベースコマンドを実行すると、コミットの履歴をキレイに整えることができる。 例、コミット1 を親に持つ、コミット2, コミット3 があるとする。 ・コミット2:ブランチ名:main ・コミット3:ブランチ名:feature $ git branch featur…

メモの取り方

メモの取り方 やりたいこと エラー内容 参考文献 原因 解決策 の順に構造化してメモを取るとよいそう。 参考文献は、最後に持ってきてもよいかなーと思ったり。

PHP:二次元配列のサブ配列の値を置換して新しい配列を作る。

// 回答者の数、設問の数 list($numOfPeople, $numOfQue) = explode(' ', trim(fgets(STDIN))); $arr = []; for($i = 0; $i < $numOfPeople; $i++) { $arr[] = explode(' ', trim(fgets(STDIN))); } // var_dump($arr[1][0]); // string型 $newArr = []; // …

Git:コンフリクト, pull, switch, GitHub のプルリクエスト

git コンフリクト <<<<HEAD <p>こっちが、今いるブランチの内容</p> ===== <p>こっちが、統合しようとしているブランチの内容</p> >>>>>feature 取り込みたいのを残して、それ以外を削除すれば良き。 git pull 際の注意点 git pullをする際は、pull するブランチと同じブランチに…

git fetch と pull の違い

git fetch fetch は、リモートリポジトリから、ローカルリポジトリにデータを引っぱってくる こと。 そして、自分の作業場である、ワークツリーに fetch したデータを反映したい場合は、 git merge origin/mainのように merge コマンドを打たないといけない…

Git コミットの流れ:Git commit, Vim

git commit -> vim -> 「esc」-> 「:x」 git add <ファイル名>を実行した後、git commit <ファイル名>を実行。 すると、以下の画面に遷移します。 この画面に遷移したら「 i 」を押します。すると文字を入力できるようになります。 入力が終わったら、 「esc…

独学エンジニア:レッスン19-2:Docker build エラー 404 [Mac OS:Ventura, Ubuntu:21.10]

2023/5 時点 独学エンジニアで、プログラミング学習をしている。 タイトルのエラー解消方法について、状況とその解決までの流れをメモしていく。 環境 Mac OS:Ventura 13.3.1 Ubuntu:21.10 $ docker-compose build エラー↓ Updating package list and upgra…

PHP:上下左右の比較、降順に並べ替える

$n = (int) trim(fgets(STDIN)); // $n = 1 なら、次の行の値を出力して、終わり if ($n === 1) { echo trim(fgets(STDIN)); die(); } // 行の配列(1.) $arrRow = []; for ($i = 0; $i < $n; $i++) { $arrRow[$i] = explode(' ', trim(fgets(STDIN))); } // …

PHP:array_count_values, in_array,

ポイント1:縦向きの配列に変更する方法 $arrColumn = []; for($i = 0; $i < $sizeN; $i++) { foreach ($arr[$i] as $key => $value) { if (!isset($arrColumn[$key])) { $arrColumn[$key] = []; } $arrColumn[$key][] = $value; } } if (!isset($arrColumn…

PHP:in_array, array_intersect_key, ksort

array_intersect_key()関数 array_intersect_key($比較したい配列, $比較対象の配列) 同じキーだけを持つ配列 を返す。 ksort()関数 ksort()は、キーを昇順に並べ替える。 in_array()関数 in_array(探す値, $対象の配列, bool値)は、 bool値は、true にすれ…

PHP:asort()関数、最小値が配列の中に、いくつあるかカウントする方法

asort()関数 asort($array);は、「キーを維持したまま」配列の中身を「昇順」に並べ替える。 配列の中で 最小値が、いくつあるか、カウントする方法 // 最小値が、いくつあるかカウントする方法 // 最小値 $minValue, 整数 $minValue = min($arr); $counts =…

Heroku:MacBook Pro M2チップで、Heroku デプロイ Error になった話と解決した方法

やろうとしたこと Heroku チュートリアル で、デプロイしてみる $ heroku openを実行して、サンプルサイトを開いたが、Hello World!ではなく「エラー」がでた。 $ heroku logs --tailを打ってみな!と表示されたので、打ってみたら以下のエラーが出た。 エラ…

heroku login error : line 45, Bad CPU type in executable

% brew tap heroku/brew && brew install heroku zsh: command not found: brew % brew -v zsh: command not found: brew # Homebrew install (このコマンドは、不要かも) % /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/insta…

Macbook Pro:カメラ、マイクを ON に設定する方法

2023/4月に、最新のMacbook Pro を購入しました。 転職活動で、初めて、カメラを必要としましたが、なんとなんと、、、 カメラとマイクが OFF のままで、面談が進まなかったです!!!事故() んで、その事故を改善すべく色々調べた結果、解消方法がわかりま…

コンパイル とは

コンパイル とは? 今まで「コンパイル」って聞かれたら、「機械語に訳す」っていう認識だった。 でも、sass から css にコンパイルするって聞いて、悩んだ。 調べると、「とあるプログラミング言語で書かれた記述を別の言語に変換すること」らしい。 つまり…

PHP:array_count_values, array_keys

array_count_values 配列の要素の数を数えて、対象の配列の要素を「キー」にもつ、新しい配列を作る。 例 $arr = [1, 5, 6,apple, 6, 2, 3, 1, 6]; $counts = array_count_values($arr); print_r($counts); 出力結果: [ (1) => 2, (5) => 1, (6) => 3, (app…

PHP:ページネーション?, 関数、array_chunk, array_splice, rtrim

array_chunk($arr, 分割したい$length, bool) $arr:対象配列、$length:分割したい長さ、bool:$arr のキーをそのまま維持したい場合 array_splice($arr, 開始位置, 削除したい$length) rtrim($str, ' '); $str:対象文字列の最後の空白を削除する。 /* 1. …

PHP:連想配列のキーを差し替える、array_keys() で キー だけとりだす。

連想配列のキーを、1行目と2行目の変数に置き換える。 foreach:ループの中で配列の要素を直接変更したい場合は、 $value の前に & をつけます。 array_keys()関数で、連想配列の「キー」のみ取り出す /* 1.連想配列を作って、値が、小さい方のキーが勝者と…

PHP:IPv4 の型 調べ。関数、配列、ループ、count系

/* IPv4 の正常パターン 1. 「.」が3つ ***DONE!!! 2. 各「.」と「.」の間の数字は、1桁〜3桁 3. 数字の最大数は、「255」 4. 1文字ずつ分割したときに、最大の文字数は、「15文字」 */ $n = trim(fgets(STDIN)); $arr = []; $arrAns = []; // ture, or fals…

composer を ver2 にアップデートしたよ

メモ 独学エンジニアというサービスで、プログラミングを勉強しているけど、 composer を導入するにあたり、Warning が表示されて、 言われた通り、composer self-update --2を実行し、 composer ver2 にアップデートしてみました。 composer self-update --…

PHP:Composer とは?なぜ、使う?メリットは?

PHP でライブラリを使うときに、Composer を使う。 結論:Composer を使う理由 チーム開発時に効果的 ライブラリのversion を固定かつ、共有できるので、開発メンバー全員が同じ version でライブラリを使えるようになり、エラーが減る。 使うライブラリが、…