- 0.0.1. ループメニュー1をやっていく3
- 0.0.2. 【PHP】setcookieでPartitionedを発行したい場合はどうすればいいか
- 0.0.3. 良いコード悪いコードで学ぶ設計入門を読んで(その②)
- 0.0.4. JS (php smarty内 .tpl 記述) セレクトボックス、テキストボックス制御
- 0.0.5. ループメニュー1をやっていく2
- 0.0.6. ざっくりとわかりやすくSOLID原則を学ぶ
- 0.0.7. 個人メモ
- 0.0.8. PDOでデータベースにアクセス
- 0.0.9. Laravel Macroを使ってみる
- 0.0.10. 【PHP】マイナーフレームワーク「Flow」を試してみる~AOP編~
- 0.0.11. 【PHP】MySQLに接続する方法(mysqli)
- 0.0.12. Oracle plsql ,PDFがアップデートされたかチェック 02
- 0.0.13. Testlink : テスト進捗をグラフ化する
- 0.0.14. ループメニュー問題を解いていく1
- 0.0.15. Amazon Linux 2023 で PHP Redis エクステンションをコンパイルする
- 0.0.16. 【Laravel】外部キー制約を追加したテーブルでシーディングをするとエラーが発生する
- 0.0.17. 積の最小化
- 0.0.18. タイルの敷き詰め
- 0.0.19. IT業界未経験からPHP⇒Python⇒Java⇒VBA、XMLと学習言語と転職フェア会場をうろうろして感じたこと
- 1. ①実は地域によってプログラミング言語に需要ニーズに違いがある。(-_-;)
ループメニュー1をやっていく3
https://paiza.jp/works/mondai/loop_problems/loop_problems__seq_sum
Python
“`py
N = int(input())
A = list(map(int, input().split()))
# 下記でもOK
# A = [int(i) for i in input().split()]
sum = 0
for i in A:
sum += iprint(sum)
“`
PHP
“`php
“`https://paiza.jp/works/mondai/loop_problems/loop_problems__seq_partsum
各言語の挙動
【PHP】setcookieでPartitionedを発行したい場合はどうすればいいか
# サードパーティCookieについて
サードパーティCookieは2024年以降、[基本的に禁止されます](https://qiita.com/rana_kualu/items/16383af7f6f56f6e982e)。
この理由の大きなひとつが、サイトAとサイトBの情報を紐付けされてしまうことです。
![01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/26088/62e51047-c5a7-4e0f-7ada-4ac41b971c37.jpeg)
※画像出典:[Chrome 114 の新機能](https://developer.chrome.com/blog/new-in-chrome-114?hl=ja)
`tracking.com`は`a.com`上でのあなたの動きを監視することができますし、`tracking.com`は`b.com`上でのあなたの動きを監視することができます。
そして`tracking.com`は、`a.com`と`b.com`の情報を紐付けることが可能です
良いコード悪いコードで学ぶ設計入門を読んで(その②)
# 前置き
今年の目標に小規模~中規模のリファクタリングができるようになることを設定しました。前回は1章で悪い構造の弊害を纏めました。2章の内容を纏めます。## 2章 設計の初歩
– 省略せず意図が伝わる名前を設計する“`unknown_logic.php
int $d=0;
$d=$p1+$p2;
$d=$d-(($d1+$d2))/2);
if($d<0){ $d=0; } ``` まったく意味が分からない。私も実務時foreach文内でほぼ同じものを見たことがあるので親近感感じる。 このコードの変数名を適切に記述すると・・・ ```rename_value.php int $damageAmount=0; $damageAmount=$playerArmPower+$playerWeaponPower; $damageAmount=$damageAmount-(($enemyBodyDefence+$enemyArmorDefence))/2); if($damageAmount<0){ $damageAmount=0; } ``` 実はゲームのダメージ
JS (php smarty内 .tpl 記述) セレクトボックス、テキストボックス制御
## ■完成イメージ
・セレクトボックス入力可 、テキストボックス入力不可
![スクリーンショット (909).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478380/5d936710-fe1a-5cf6-0019-d8581b8a2b8c.png)・セレクトボックス入力不可 、テキストボックス入力可
![スクリーンショット (910).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478380/39f14355-5018-9b6d-9a43-8ecf9a796baa.png)## ■機能説明
・セレクトボックスに値が入っている場合は、テキストボックスは入力不可。・セレクトボックスが「未選択(値がない)」の場合、テキストボックス入力可、かつテキストボックスへ文字が入っている場合は、セレクトボックス選択不可。
## ■ソースコード
“`JS main.js
document.addEventListen
ループメニュー1をやっていく2
https://paiza.jp/works/mondai/loop_problems/loop_problems__rep_num_step1
Python
“`py
for _ in range(8):
print(3)
“`
PHP
Pythonと違うので未だに改行コードを入れないといけないことを忘れます汗
あと、改行コードは’’だとだめで””でないと展開されないみたいです“`php
“`
https://paiza.jp/works/mondai/loop_problems/loop_problems__rep_num_step2Python
“`py
N, K = map(int,input().split())
for _ in range(K):
print(N)
“`PHP
“`php
ざっくりとわかりやすくSOLID原則を学ぶ
## はじめに
社員の皆さんはこんな奴が最近エンジニアになって頑張ってるんだなと暖かい目で読んでいただければと思います。社外の方やエンジニアを目指している方は少しでも学習の参考や、コネクター・ジャパンに興味を持っていただければと思います。
## 自己紹介
未経験から独学でプログラミング学習し5ヶ月でLaravelでポートフォリオを作成しました。そして現在は自社開発企業に入社し、WEBエンジニアとしてプロダクト開発に携わっています。## この記事を書いた理由
エンジニアなりたての初心者の頃は、コードがごちゃごちゃになりがちでした。
しかし、オブジェクト指向の基本原則であるSOLID原則を学ぶことで、すっきりとしたコードを意識して書くようになりました。オブジェクト指向は、うまく扱うことが出来れば保守性が上がり、修正対応や機能を新しく追加する時などに楽に対応できるようになります。
つまりコードの品質を保ちやすくなるんですよね。
しかしなかなか理解が難しいので、今回は私なりにプログラムをきれいに保つための「SOLID原則」を、初心者の方でも理解しやすいようにわかりやすい言葉で
個人メモ
まとめ
[名前空間(自分用メモ)](https://qiita.com/imokenpi/private/1e73234de4621d484d1a “名前空間(自分用メモ)”)
[クラス(自分用メモ)](https://qiita.com/imokenpi/private/29b2a36a2c9884b0a118 “クラス(自分用メモ)”)
[HTTP通信GET・POST(自分用メモ)](https://qiita.com/imokenpi/private/a31468af84f722c59ec5 “HTTP通信GET・POST(自分用メモ)”)
[データ型の宣言とstrictモード](https://qiita.com/imokenpi/private/f67aaff774c455e5ee25 “データ型の宣言とstrictモード”)
[issetとempty](https://qiita.com/imokenpi/private/9102cc4f10bb69c99212 “issetとempty”)
PDOでデータベースにアクセス
PHPでDBに簡単に接続できるPDOというものを使ってデータベースにアクセスします。
MANPを起動させphpMyAdminにアクセスしてDBを作ります。## データベース用アカウントの作成
まず初めにデーターベースにアクセス可能なアカウントを作成していきます。
phpMyAdminのトップページにアクセス→上のタブのDataBaseをクリック→アカウントを追加したいデーターベース欄の権限をチェックする→画面下の方にあるユーザーアカウントを作成するをクリックします。ユーザー名を入力→ホスト名をローカル→パスワードを入力→もう一度入力→権限の付与の選択→実行で完了です
## アカウントを使いDBを扱っていく
ここからコードを書いていきます。やっていきます。
“`php
$dns = ‘mysql:host=localhost;dbname=study;charaset=utf8’;
$name = ‘user’;
$pass = ‘password’;try{
//データベース、ユーザー名、パスワードから接続をする
$dbh = new PDO($dns,
Laravel Macroを使ってみる
# 環境
Laravel10(sail)
https://readouble.com/laravel/10.x/ja/installation.html
↑↑この通りにやればサクッと環境が作れるMac
Apple M1 Max
sonoma 14.2.1# Macroとは?
> A “macro” in Laravel refers to the ability to add additional methods or features to various classes or framework components without altering the original source code.
>
> Laravel’s macro feature enables developers to enhance the capabilities of fundamental Laravel classes such as Eloquent models, collections, query builders, and others.Laravel の「マクロ」
【PHP】マイナーフレームワーク「Flow」を試してみる~AOP編~
# 初めに
前回は[こちら](https://qiita.com/nnhkrnk/items/77048e47018e602870d1)の記事で参照可能なファイルの扱いについてまとめました。
今回はFlowにおけるAOPの実装についてまとめます。# (ざっくりと)AOPとは
ざっくりとAOPとは何かを説明します。(「知ってるよ」って方はスキップ推奨ですmm)
chatGPT様に説明をお願いしました(丸投げ)。> AOP(Aspect-Oriented Programming)は、プログラム内の共通な機能(ログ記録、エラーハンドリングなど)を取り出して、それらを別のモジュールとして管理するプログラミング手法です。これにより、コードがよりシンプルで保守しやすくなります。アスペクトと呼ばれるモジュールが特定の機能を担当し、アドバイスと呼ばれる処理がコードに挿入されるポイントを指定します。 AOPは特に大規模なソフトウェアプロジェクトで有用です。
まとめると『**似たような処理はまとめて、自動で実行されるようにしようね**』ってことですね。
## AOPの例
あるプロジェクトで、*
【PHP】MySQLに接続する方法(mysqli)
この記事では、MySQLにPHPから接続する方法、そしてSQL文を実行する方法を紹介します。
# 注意
この記事には、コード内には**おかしいコメントが**、コード外には**おかしい文章が**書いてあります。
笑わないように**十分に警戒してください**。そして、この記事ではPHPのモジュールでmysqliが有効化(コメントアウトされていない状態)されていることを前提としています。
# やっていこう
テレレッテッテ、テレレッテッテ、テレレッテッテッテッテ!
PHPクッキングのお時間です。
今回は、「PHP」に、「MySQL」というご馳走を食べさせるために、「MySQL」を作っていこうと思います。まずは、PHPソースを1つと、プログラムエディタを1つ用意します。
おすすめのプログラムエディタは、VSCodeです!まず、お好みのPHPソースを用意して、以下のソースをトッピングします!
“`php:接続.php
# 製品情報(接続情報)を入力
$mysqli = new mysqli(“発売元(正式には接続先)”, “生産者(正式にはユーザー名)”, “MySQL
Oracle plsql ,PDFがアップデートされたかチェック 02
## ■環境
・PHP7.4
・Linux(RedHat 8.6)
・Smarty2.4.6
・oracle12
・PLSQL
## ■完成イメージ
1:アップロード
![スクリーンショット (904).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478380/0b5d64a5-4755-3a57-b089-263d5abd53c2.png)
2:アップロード後
![スクリーンショット (908).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478380/9b2b4c49-3fbd-f57d-4da1-bbdc569b393c.png)## ■機能説明
### 機能
・PHPから plsqlのプロシージャを呼び。
・プロシージャで、一時テーブル(テンポラリーテーブル)へPDFのアップロード情報を格納。
・PHPでプロシージャの一時テーブルの情報をSELECTして、配列へ格納。
・.tplで配列とのチェックを行う。
Testlink : テスト進捗をグラフ化する
Testlink の DB に記録されたテスト実施データからグラフを生成する手順について解説します。
# Testlink DB のアクセス
まず Testlink DB に接続する必要があります。
Testlink Root の config_db.inc に Testlink Database への接続情報が記載されています。“`config_db.inc.php
“`
# グラフ化手順
テストの実行結果は Testlin
ループメニュー問題を解いていく1
https://paiza.jp/works/mondai/loop_problems/loop_problems__print_num_step1
python
“`py
for i in range(10):
print(i+1)
“`
PHPは仕方ないけど行数多くなってしまうな“`php
“`
じゃ次https://paiza.jp/works/mondai/loop_problems/loop_problems__print_num_step2
python
“`py
for i in range(int(input())):
print(i+1)
“`
PHPだと、pythonのように直接入れ込む、ということはできないようです。
つまり下の`$i<=$N`の部分を`$i<=fgets(STDIN)`のようにはできないようです。 何故か調べてますがなかなかそれらしきものは見つからず。 仕方ないのでこ
Amazon Linux 2023 で PHP Redis エクステンションをコンパイルする
Graviton な Amazon Linux 2023 で PHP8.2 を利用しています。
ElastiCache の Redis でセッションを使いたいと思ったんですが、2024年1月時点で、Amazon Linux 2023 のレポジトリには用意されていませんでした。
いろいろ頑張って調べましたが、自分でコンパイルしたほうが良さそうです。
ということで、コンパイルしてみました。
## 前提条件
すでに他の PHP 8.2 本体やエクステンションはインストールされていると想定
## STEP 1. GitHub に機能要望を送る
GitHub の機能要望の[該当 Issue](https://github.com/amazonlinux/amazon-linux-2023/issues/328) がまだオープンだったら、 “I want it too!” とコメントをする
コンパイルしたくない!
## STEP 2. コンパイルツールをインストールする
php-devel, gcc, make や git をインストールする
“`
sudo dnf ins
【Laravel】外部キー制約を追加したテーブルでシーディングをするとエラーが発生する
## きっかけ
シーディングを行ったら、SQLのエラーが発生した。詳細は以下の通り。
### 作業手順
1. Usersテーブルの`ID`カラムとTweetsテーブルの`user_id`カラムを関連づけるために、Tweetsテーブルの`user_id`カラムに外部キー制約を付ける。
2. UsersテーブルとTweetsテーブルのシーディングを実行する。
(以下のようなデータをTweetsテーブルに格納する。)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3323019/505b9694-8c33-7736-9878-6bf97a1bae81.png)### エラー
“`
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails(`example_app`.`tweets`, CONSTRAINT `t
積の最小化
https://paiza.jp/works/mondai/conditions_branch/conditions_branch__complex_boss
前回の問題を教訓に
どちらかが0の場合は問答無用に0が最小になるので
こんな感じで書いてみました。
つまり、最初の数値を基準に、小さくなったらそれを採用するみたいな感じですね。
で、A~Bの間をループさせると。負の数が含まれていても結局あんまり関係ないなということで
こうなりました。“`py
A,B = map(int,input().split())
result = 0
for i in range(A,B+1):
for j in range(A,B+1):
if A == 0 or B == 0:
break
if result == 0:
result = i * j
elif result > i * j:
result = i * jprint(result)
“`
でも解答の場合は、もうちょっとロ
タイルの敷き詰め
https://paiza.jp/works/mondai/conditions_branch/conditions_branch__complex_step8
“`py
H,W = map(int,input().split())
if H > 0 and W > 0:
if H % 2 == 0 and W % 2 == 0:
print(‘YES’)
else:
print(‘NO’)
else:
print(‘NO’)“`
最初は最初のif文なかったんだけど、
テストケースでHやWが0だったときにこれだめなんですよね。
で最初のif文を付け加えたら正解になりました。ちなみに、上のは入れ子になってますが、最初のif文を逆にしたらelseがいらなくなります。
(ということに今気づいた)
ただし、この場合、andだとだめでorにしないとどちらかが0の場合にNoにならないです。“`py
H,W = map(int,input().split())
if H == 0 or W == 0:
IT業界未経験からPHP⇒Python⇒Java⇒VBA、XMLと学習言語と転職フェア会場をうろうろして感じたこと
自分の学習言語ロードマップのうろうろ歴
無事とある**PHP、Laravel**を中心とする半年のカリキュラムを課す民間のプログラミングスクールを修了し、転職フェアなどにも何回か参加してみたところ、「**実はプログラミング言語の需要には地域差がかなりある**」ということを知り(下記参照)、エッ…(゚Д゚)と思いながら、時代はAIだろ(´д`)と思って、**Python**をやってみたら少しは分かったけど、居住地域の関係で **Java**も併行し始めたけど、Pythonを使うかな(´。`)と思って内定をいただいた会社の自分の所属する部署では一番使うのは **VBA、XML** とのことで、今は急遽ExcelやVBAを触りまくっています。
①実は地域によってプログラミング言語に需要ニーズに違いがある。(-_-;)
〇転職活動を通して感じた地域の言語ニーズの差異に関する私見
(1)求人がどの地域も万遍なく一番多いのは**Java、意終了判定 2 Python3編
https://paiza.jp/works/mondai/conditions_branch/conditions_branch__complex_step5
さて久しぶりにPythonから。
ここでwhileを使いました。たぶんpythonでPaizaやり始めてから初めてじゃないかな。“`py
N,K = map(int,input().split())
cnt = 0
while N < K: cnt += 1 N = N * 2 print(cnt) ``` ところでなんで、+=は知ってるのに、*=はなぜしなかったの?と自分で自分を突っ込んでしまった。いやおっしゃるとおり。 こうですね。 ```py N,K = map(int,input().split()) cnt = 0 while N < K: cnt += 1 N *= 2 print(cnt) ``` とりあえずphpでもやっておきます。 ```php5関連する記事
OTHERカテゴリの最新記事
-
- 2024.11.14
JAVA関連のことを調べてみた
-
- 2024.11.14
iOS関連のことを調べてみた
-
- 2024.11.14
JavaScript関連のことを調べてみた
-
- 2024.11.14
Rails関連のことを調べてみた
-
- 2024.11.14
Python関連のことを調べてみた
-
- 2024.11.14
Lambda関連のことを調べてみた