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 でライブラリを使えるようになり、エラーが減る。 使うライブラリが、…

PHP:sprintf("%02d", 対象文字列)。絶対値abs

/* 1.何カ国か数字を取る 2.各国の都市名をキーに、値を時間差にもつ配列を作る : Done!!! 3.最後の行の基準国名と投稿時刻をそれぞれ、別々($stdCountry, $stdTime)の変数に格納する。 Done!!! 4.基準国が、標準時刻からの時間差を表す、変数($stdHour)に格…

Open a new connection to the MySQL server ってどういう意味?

Chat GPT による解説が、最高でした。 「Open a new connection to the MySQL server」という文は、MySQLサーバーに新しい接続を開くことを意味しています。 つまり、MySQLサーバーに接続して、データベースを操作するための新しい接続を開始するためのコマ…

PHP : 連想配列に対してarray_slice、連想配列の指定した「キー」の取り出し方

// 連休の日数=$a, 旅行の日数=$b list($a, $b) = explode(' ', trim(fgets(STDIN))); $c = []; for($i = 0; $i < $a; $i++) { $d = trim(fgets(STDIN)); [$day, $rain] = explode(" ", $d); $c[$day] = $rain; } // $rainAllは、降水確率だけを格納した配列…

プログラミング:side effects or 副作用

プログラミングを勉強していて、side effectsというワードが何を意味するのか、分かりにくかったですが、 参考ページにより理解できました。 「side effects」とは、 グローバル変数などの値を変更してしまい、結果的に、それ以降の処理に、影響を与えてしま…

PHP:三項演算子、ユーザ定義関数(引数が2つ)

三項演算子 $m_days = ($m % 2 === 0) ? 15 : 13; // 基準日 list($y, $m, $d) = explode(' ', trim(fgets(STDIN))); // 次の開催日 list($a, $b) = explode(' ', trim(fgets(STDIN))); // 最終的な日数 $days = 0; // 1年間の日数 = 181, 2年=362, 3年=543 …

PHP:配列

配列 $arr = []; for($i = 0; $i < $n; $i++) { $arr[$i] = trim(fgets(STDIN)); } 上記の$arrは、$i(=0,1,..,$n) を「キー」にもつ、「連想配列」になる。

docker:削除の順番。立ち上げの順番。

##### 削除の順番 1、 コンテナを削除 $ docker container rm {コンテナID} or $ docker-compose down 2、 イメージを削除 $ docker image rm {イメージ名} 立ち上げの順番 以下のコマンドを打つ場合、自分が今いるディレクトリに注意すること。 docker-comp…

4/15: php: 絶対値、array_chunk

絶対値 abs() 関数を使って、値の差を絶対値で、求める。 例、$diff = abs(3 - 5); // 2 が出力される。 array_chunk() 関数 array_chunk(対象の配列, 分割したい数) 例、 $arr = [1, 3, 5, 10, 20, 2, 5]; echo $array_chunk($arr, 3); [ [0] => {1, 3, 5},…

連想配列とforeach:連想配列の共通値を使って、異なる連想配列を結合させる。

// ユーザー数 $n = trim(fgets(STDIN)); $userToBlood = []; for($i = 0; $i < $n; $i++) { $a = trim(fgets(STDIN)); [$user, $blood] = explode(" ", $a); $userToBlood[$user] = $blood; } // 答えの数 $m = trim(fgets(STDIN)); $bloodToAns = []; // …

php : 文字列を指定した文字数に分割。

パターン1:連想配列化して、同じ文字列があるか判断する $winner = "D"; $STR = ""; //全ての入力される文字を1つの文字列にする。 for($i = 0; $i < 5; $i++) { $STR .= trim(fgets(STDIN)); } $length = 5; // $STR文字列を$length文字数に分割して、配…

Git:fast forward merge について

git のfast forward について、自分の言葉でまとめる。 統合ブランチ:master(or main) ブランチのこと。大元のブランチで、開発途中で作業した色々な内容を「最終的にまとめる」ブランチのこと。 トピックブランチ:一つひとつの作業のこと。 【本題の fast…

iTerm 2:取説

⌘ + T => tab の追加 ⌘ + ← or → => tab の移動 ⌘ + W => tab を閉じる ⌘ + D => tab 左右に分割 ⌘ + shift + D => tab 上下に分割 ⌘ + F => 検索 ⌘ + G => 検索文字をたどっていく 文字を選択するだけで、コピーされる。つまり、⌘ + C が不要。

PHP 独習シリーズ:勉強の進め方

勉強の進め方は、 paizaのエディタを使って出力結果を確認する(https://paiza.io/projects/qapGMkl19ZbmW_3cErRvAQ) ブログに、書き残したい自分の理解や考えを書く ブログに、長時間かけて理解したコードをその都度、まとめる プログラミングの勉強を独学…

php 独習:p.301 素数ジェネレーター

function getPrimes() { $num = 2; while(true) { if (isPrime($num)) { yield $num; } // --- ③ $num++; } } function isPrime(int $value): bool { $prime = true; // 例、2や3 の平方根は 2 より下なので、for ループが実行されず、$prime === true が返…

コンパイル とは | エンジニア の歩み方をミスった話

コンパイル とは、我々、人が書いてるプログラム(ソースコード) をコンピュータ(機械) が理解できる 言語(機械語) に翻訳すること。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 新卒一年目の後半から、インフラエンジニア への道のりを選んだのは、ミスだったと思う。…

Mac OS に XAMPP をインストールしてみた

結論をいうと、現在(2023年) においては、XAMPP を使うのではなく、「MAMP」を使うのがベター(主流) だそう なので、以下の作業はしないでMAMPを使おう! **************** 【XAMPP とは?】 XAMPPは、Apach(Webサーバー)やPHP, MariaDB 等…

動的ページとは?HTTPとは?

動的ページとは、クライアントが入力した内容に沿って、サーバーが送るデータを変更して表示されるページ。 例えば、クライアントが、「今日の天気は?」と入力して実行すると、サーバーが「今日の天気」に該当するデータをクライアントに返す(レスポンスす…

【NFT 購入手順】チムニータウンDAO、心臓NFT を購入するまでの手順で「詰まった所」集

ざっくり、手順はまあ、公式にあるけど。。。 以下のところで詰まりました。 仮想通貨口座を開設 ETH(イーサリアム)の購入 ETHを仮想通貨口座に送金 心臓NFTを購入 作業開始の前に、以下のスマホアプリを先にインストールすると作業が楽になりますよ。 Dis…

【AWS SAA】Cloud Techの問題集だけだと合格できない 体験談

先日、AWS SAA 試験を受験しましたが、不合格でした。Cloud Techの問題集だけで挑みましたが、 範囲を網羅していないのを体験しました。 知らない単語しか選択肢に並べられていない問題がまあまああり、問いてて「こりゃ合格できないな〜」と実感しかつ、実…

【WiFi】「セキュリティ(安全性)が低い」の対策!WPA2, AES に設定変更する方法

(Mac) wifiに接続したまま、 右上のwifiマークを [option + クリック] する。 そうすると、接続中のwifiの名前の下に、 IPアドレス ルーター セキュリティ BBSID . . . etc と薄く表示されます。 それのルーターの数字をブラウザ(chromeやsafari)のURLを…

【Node.js】Versionの更新方法

$ brew install nodebrew $ nodebrew install 10.9.0 $ nodebrew use 10.9.0 ここで、下記のコードを実行する。 $ node -v 10.9.0 になっていなかったら、パスの確認をする。 $ vi ~/.bash_profile 問題ないなら、下記のコードで、パスを通す。(参考記事:ht…

7/2 今日の学び

GitLabにSSH Keyを登録して、clone したい! 公式サイト:GitLab and SSH keys | GitLab これを参考にしたら、できたよ。 ただ、最後の $ ssh -T git@gitlab.example.com しても拒否されます。 が、しかし! それを無視して、git clone すれば、clone されま…

【プログラミング | コマンド】「-D」とは?

$ yarn add axios -D このコマンドの「-D」がよく意味がわからなかったけど、同期に聞いたら -devDependencies といって、開発環境にだけ導入する って意味になるそうです。 ついで、 -Dつけて入れたパッケージは、デプロイ環境で動かなくなる そうなので、…

JavaSript コンストラクター関数、インスタンス化、インスタンス

コンストラクター関数とは、オブジェクトを生成する関数。 インスタンス化とは、新しくオブジェクト生成すること。 ex. const A = new obj(); new を使う インスタンスとは、インスタンス化されて生成されたオブジェクトのこと。インスタンスオブジェクト と…