- 1. Python,Ruby,PHP,Java,JavaScript,Perlの四則演算の比較
- 2. PHPの基本とCRUDとmysqlについて
- 3. 【Livewire】queryStringのクエリにランダムな英数字を入れるとごく稀にINFになる
- 4. Laravel CSVダウンロード
- 5. phpでパスワードの単純な暗号化とハッシュ化をしてみた
- 6. セッション関連のphp.iniの設定について
- 7. Python,Ruby,PHP,Java,JavaScript,Perlのデバッガ(デバッグ)の比較
- 8. 【php】複数の連想配列を一つにまとめる自作関数 バルクインサート等に便利
- 9. windows PHPパス通す方法
- 10. Ubuntu22.04でphpenv使おうと思ったらopensslのバージョン違いでbuildできない件
- 11. Cloud9でphpを実行できるようにする
- 12. AWS cloud9に新たなプロジェクトを作成する
- 13. 【PHP8.1】あなたはどっち? array_merge VS unpacking(スプレッド演算子)
- 14. Python,Ruby,PHP,Java,JavaScript,Perlのコマンドライン引数の比較
- 15. Laravel Lighthouseでエラー処理を試してみる
- 16. 【 #ゆめみからの挑戦状 ★第5弾】に挑戦 68バイト
- 17. [0,1,1,1,0,0,0,1,1,0,0,1,0,1,0]を作る旅
- 18. 【計算結果が正しくない!?】案外知らない、計算誤差の話
- 19. Illuminate\View\ViewExceptionのエラーが発生して画面遷移ができなくなる問題
- 20. Laravelによるページネーションの書き方
Python,Ruby,PHP,Java,JavaScript,Perlの四則演算の比較
Python,Ruby,PHP,Java,JavaScript,Perlの四則演算の比較
# Python
https://qiita.com/hiroyuki_mrp/items/d7e4c2d75e947ab99caf
# Ruby
https://qiita.com/mat827/items/ee569f6549b83bb954e2
# PHP
https://qiita.com/koala_56/items/7ed631f62cf0f225f5a6
# Java
https://qiita.com/takahirocook/items/748990882f2de7a630a1
# JavaScript
https://qiita.com/_haya_/items/dbe80010a0a8ac9d70b1
# Perl
https://perlzemi.com/blog/
PHPの基本とCRUDとmysqlについて
▼CRUDとは、永続的なデータを取り扱うソフトウェアに要求される4つの基本機能である、
1.データの作成(Create)
2.読み出し(Read)
3.更新(Update)
4削除(Delete)
の頭文字を繋げた語▼PHPMyAdminを使う中でデータベースの作り方で注意すること
・テーブルでcreate_at , update_atは入れる。更新日として使用する。・idは数字のため「タイプはintを使用する」 「属性はunsigned」は「0」と「整数」しか受付ができなくなる
また、AI 部分をチェックしてオートインクリメントをチェックする・タイプの「VARCHAR」とは可変長の文字列を意味するデータ型 長さを一般的には「255」としている
・create_at , update_atの時間を表現するものは「TIMESTAMP(その時間、その瞬間をとるための時間)」
デフォルト値を「CURRENT_TIME」でその瞬間の時間を表す▼UsernameとPasswardを確認する方法
MANP → webstart → MYSQL
【Livewire】queryStringのクエリにランダムな英数字を入れるとごく稀にINFになる
https://qiita.com/ast_and_kaya/items/c3bc931bca2b725bd1eb
↑の関連
## 前提
LivewireのComponentでは`$queryString`という変数をオーバーライドすることでURLにクエリを付与したり書き換えたり出来ます。
https://laravel-livewire.com/docs/2.x/query-string例えば、web.phpで↓のようにコンポーネントへのルーティングを行い、
“`php
Laravel CSVダウンロード
共通関数にでもしておき引数渡してダウンロード
“`php
$csv = [
[‘id’,’user’],
[1,’a’],
[2,’b’]
];$file_name = ‘CSV’ . date(‘YmdHis’);
$response = Csv::csv_download($csv, $file_name);
return $response;
“`“`php
phpでパスワードの単純な暗号化とハッシュ化をしてみた
phpで、パスワードの単純な暗号化とハッシュ化をしてみた
“`php
public function passwordHash($password)
{
$pass = ‘password’;
$iv = ‘1234567890123456’; //16桁// 暗号化
$password = openssl_encrypt(
$password,
‘aes-256-cbc’,
$pass,
OPENSSL_RAW_DATA,
$iv
);// Hash.
return hash_hmac(‘sha256’, $password, ‘secret’, false);
}“`
$passwordで設定したパスワードを復号化可能な暗号で変身させハッシュ化している
復号化出来る暗号は、パスワードと対になるランダムなデータに見えるデータで、理論上、データ単位での衝突は無いと思うので暗号化でパスワードを「変身」させ、それをハッシュ化して
セッション関連のphp.iniの設定について
## はじめに
今回変更したphp.iniの設定です。## session.use_strict_mode
偽装されたセッションIDの可能性があるので「1」に変更すると良い。## session.cookie_httponly
セッションクッキーをHTTP経由でのみ読み書き可能とするかの真偽値。
falseだとJavaScript経由でも読み書きできるようになってしまうので、「1」に変更した方が良い。参照: PHP本格入門(上)
Python,Ruby,PHP,Java,JavaScript,Perlのデバッガ(デバッグ)の比較
Python,Ruby,PHP,Java,JavaScript,Perlのデバッガ(デバッグ)の比較
# Python
https://qiita.com/kaitolucifer/items/dc58efebd72d72a8feb2
# Ruby
https://qiita.com/port-development/items/5ea6448eb2b45c70ef65
https://qiita.com/suketa/items/52c60d79332c9a24f973
# PHP
https://qiita.com/ryouya3948/items/0055c1935b7bd62ba3b9
# Java
https://qiita.com/gatchan03/items/3c43b674e2b7c4b5c5cb
# JavaScript
https://qiita.com/a_
【php】複数の連想配列を一つにまとめる自作関数 バルクインサート等に便利
## 概要
例えば下のような入力フォームがあり、【姓の全リクエスト】【名の全リクエスト】【年齢の全リクエスト】とそれぞれの項目でまとまった配列でリクエストが送られていたとします。その配列を【1ユーザーごとの配列(姓・名・年齢)】に変換する自作関数を作りました。
自分が思い出せるように残してあります。改善点等あればアドバイス頂けますと嬉しいです。
![yoyaku.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2713225/93e8ee1a-d010-d4e3-fad6-a357cfb4f454.jpeg)
## リクエストで送られた配列(姓・名・年齢)でまとまって渡されている
“`ruby:php
$request = [
‘last_name’ => [
0 => ‘山田’,
1 => ‘田中’,
2 => ‘佐藤’,
3 => ‘鈴木’,
],
‘first_name’ => [
0
windows PHPパス通す方法
https://techacademy.jp/magazine/11489
Ubuntu22.04でphpenv使おうと思ったらopensslのバージョン違いでbuildできない件
macの対策はたくさん記事が引っかかるけどubuntuの情報はあまり無いので同様の現象で詰まった方のために残しておきます。
掲題ですが、phpenvとphp-buildをインストールしたubuntu22.04で、php7.4.30や8.0.23をインストールしようとした所、下記のエラーが出ました。下のログは8.0.23をインストールしようとした場合のログですが、7.4.30でも同様のエラーが出ていた筈です。私の環境では7.4.30でも同様の対処でbuild通る様になりました。“`bash
—————————————–
/tmp/php-build/source/8.0.23/ext/openssl/xp_ssl.c:1240:9: warning: ‘DH_free’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
1240 | DH_free(dh);
| ^~~~~~~
In file included
Cloud9でphpを実行できるようにする
# はじめに
この記事では、Cloud9でphpを実行するための手順を示しています。(Cloud9にプロジェクトをまだ作成していない方は[こちらの記事](https://qiita.com/webkobe24/items/0dca39bb72879a09923f)から作成してみてください)# パッケージの最新化
あらかじめインストールされているパッケージが存在していることがありますが、こちらは最新バージョンではない可能性があるので、最新バージョンにアップデートしておきましょう。最新バージョンにアップデートしておくことで、機能追加や性能向上だけでなく、脆弱性対応も含まれていることがあります。
“`
$ sudo yum update -y
“`
問題なく実行できていれば大丈夫です。# タイムゾーンの設定
タイムゾーンとは標準時が同じ地域ごとに区切った時間帯のことです。この時間帯は日本標準時にしていた方が都合が良いので、日本標準時に変更します。
“`
$ sudo timedatectl set-timezone Asia/Tokyo
→問題なく実行できれば大丈夫
$ tim
AWS cloud9に新たなプロジェクトを作成する
# はじめに
この記事は、初めてwebアプリを開発するために開発環境を整えたい方に向けた記事になっております。実際に、投稿者の私もwebアプリを開発するのは初めてでしたので、そのような方には参考になるかと思います。# cloud9に新しいプロジェクトを作成する
AWSからcloud9の画面に移ると右上の方に`cleate environment`というボタンをクリックすると以下のような画面が出てきます。
![スクリーンショット 2022-09-13 11.52.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2821384/c1e5a980-730f-117a-5bb5-09948473935b.png)
この画面ではプロジェクトの名前と説明を入力する欄になっています。上の名前の部分だけ埋めれば大丈夫です。続いて、以下のような画面が出てきます。今回は、特に何も変更せずにこのままの設定でプロジェクトを作成してみました。(Environment typeで一番上の欄を選んでいるとAWSの方に料金
【PHP8.1】あなたはどっち? array_merge VS unpacking(スプレッド演算子)
PHP8.1がリリースされてそろそろ1年。PHP8.1のRelease Announcementを今更じっくりと眺めていたところ、見逃していた変更点を発見。
**Array unpacking support for string-keyed arrays**
[https://www.php.net/releases/8.1/en.php](https://www.php.net/releases/8.1/en.php#array_unpacking_support_for_string_keyed_arrays)配列アンパックが連想配列をサポートするようになった、とのこと。
配列アンパックとは、一般的にいう『スプレッド演算子』『スプレッド構文』のことです。“`php:アンパック例
$x = [‘a’ => 1, ‘b’ => 2];
$y = [‘c’ => 3, ‘d’ => 4];
$result = […$x, …$y];
// [‘a’ => 1, ‘b’ => 2, ‘c’ => 3, ‘d’ => 4]
“`これによって、array_merge
Python,Ruby,PHP,Java,JavaScript,Perlのコマンドライン引数の比較
Python,Ruby,PHP,Java,JavaScript,Perlのコマンドライン引数の比較
# Python
https://qiita.com/taashi/items/07bf75201a074e208ae5
# Ruby
https://qiita.com/shiGira/items/44586bdc48c06e00d99f
# PHP
https://qiita.com/aic0o/items/91ca1ddc1fc6e025286f
# Java
https://qiita.com/takahirocook/items/ece64146015f702d0a83
# JavaScript
https://qiita.com/furusin_oriver/items/f030d1eaa9e7b54233c3
# Perl
https://perlzemi.com/
Laravel Lighthouseでエラー処理を試してみる
## Version
* php 8.0
* laravel 8.4
* lighthouse 5.1## やりたいこと
GraphQLの認可にJWTを使用しており、JWTがない場合(期限切れなど)に認可が失敗した!!と分かりやすくしたい。そしてどこかのページにredirectさせたい。## デフォルトのエラー
“`
{
“errors”: [
{
“message”: “Unauthenticated.”,
“extenstions”: {
…
“`
ここでの`”message”: “Unauthenticated.”`は`vendor/nuwave/lighthouse/src/Exceptions/AuthenticationException.php`にありました。## エラーハンドラーを作成
LighthouseのError Handlingの公式[Docment](https://lighthouse-php.com/master/digging-deeper/error-handling.html
【 #ゆめみからの挑戦状 ★第5弾】に挑戦 68バイト
最近は地球を防衛しつつ戦うために生きつつ床を塗り潰しつつアイドルをプロデュースするのにとても忙しい。
【 #ゆめみからの挑戦状 ★第5弾】
シリーズ初の PHP 問題です?✨【お題】
以下のぐちゃぐちゃな配列を期待されている形に整形して出力してください【回答方法】https://t.co/rZguz6aKJX またはソースコードのスクリーンショットを引用 RT
【結果発表】
9/15(木)【出題者】
まっぴー @mpyw pic.twitter.com/GSpE5Tekmp— 株式会社ゆめみ | YUMEMI (@yumemiinc) September 8, 2022
PHPだったので挑戦してみることにします。
# 問題
入力`$in`を、出力`$out`に変換します。
“`php
// 入力
$in = [
[‘2nd’ => ‘two’, ‘four’ => ‘4th’],
‘three’ => ‘3rd’,
[‘one’ => ‘1st’],
’10th’ => ‘ten’,
[‘6th’ => ‘six’],
‘5th’ => ‘five’,
‘seven’ => ‘7th’,
[‘fourteen’ => ’14th’, ’11th’ => ‘eleven’],
[‘8th’ => ‘eight’],
‘thirteen’ => ’13th’,
’12th’ => ‘twelve’,
‘nine’ => ‘9th’,
[0,1,1,1,0,0,0,1,1,0,0,1,0,1,0]を作る旅
プログラミングをやっていると、適当な順に並んだ整数をループで作り出したくなる瞬間が度々あると思います。
そんな時にはまず [The On-Line Encyclopedia of Integer Sequences® (OEIS®)](http://oeis.org/) あたりを調査するのが定石だと思いますが、つい先日、面白い仕掛けを使っている tweet を発見しました。
これぐらいしか遊びが思いつかなかった https://t.co/M0OO1ySUsf pic.twitter.com/bwrZOWaaUk
— ぶーやー (@tyabu12) 【計算結果が正しくない!?】案外知らない、計算誤差の話
# はじめまして
63歳ですが、プログラム書いてます。
30年以上昔に知った話を、最近、また耳にしましたので、ちょっとご紹介させていただきます。# 実数計算が正しいか、9種類の言語で試しました。
今回試したのは、linux 標準の bc(計算機)、PHP、python3、ruby、perl、node.js、C++、go、fortran95 の9つの言語です。
C++ のコンパイルは “`gcc ru88.c -lm -o ru88.out“`、“`gcc ru88-boost.cpp -lstdc++ -o ru88-boost.out“`、
fortran95 のコンパイルは “`gfortran -O3 -o ru88.exe ru88.f95“`、
“`gfortran -O3 fmsave.o fm.o fmzm90.o fm_interval.o fm_doubleint.o fm_quadint.o fm_quadreal.o fm_rational.o -o ru88-FM.exe ru88-FM.f95“`、
go は “`go run ru88.Illuminate\View\ViewExceptionのエラーが発生して画面遷移ができなくなる問題
# はじめに
laravelのバージョンを5.8から6.xにアップデートした後、なぜか画面遷移ができなくなりました。
その原因がなかなかわからず手こずったので、メモを残しておきます。## 環境
ubuntu 18.04
php 7.4.29“`composer.json
{
“require”: {
“php”: “^7.4.29”,
“bensampo/laravel-enum”: “^1.23”,
“fideloper/proxy”: “^4.0”,
“google/apiclient”: “^2.0”,
“guzzlehttp/guzzle”: “^6.3”,
“intervention/image”: “^2.5”,
“laravel/framework”: “^6.0”,
“laravel/tinker”: “^1.0”,
“laravelcollective/html”: “^6.0”,
“ph
Laravelによるページネーションの書き方
# ページネーション(pagination)とは
– 検索結果やデータベースの一覧画面などを適度な長さで分割して表示する仕組み
– 次の画像のように各ページへのリンクを並べることでアクセスしやすくなります
– 10件ずつ表示する、50件ずつ表示するなど、表示数をカスタマイズできます見本:Google検索結果より
![スクリーンショット 2022-09-12 7.56.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2765288/07b5f2c5-eea9-ced2-7897-4fed90bb0680.png)## 環境について
データベース内に`user`というテーブルが存在する仮定で以下の手順は進みます## 作成方法
### データベースのテーブル情報を取得するモデルを作成します
“`php3
namespace App;use Illuminate\Database\Eloquent\Model;
class User extends Model
{