- 0.0.1. Python,Ruby,PHP,Java,JavaScript,Perlの連想配列の比較
- 0.0.2. laravelでPHPUnitを使ってテストをする
- 0.0.3. 【PHP】implementsとextendsの違い
- 0.0.4. 【PHP】ランダムな値を生成する
- 0.0.5. Guzzleを使用してSSLクライアント証明書(p12)を送る
- 0.0.6. Python,Ruby,PHP,Java,JavaScript,Perlの配列の比較
- 0.0.7. 【Laravel】ViewでのErrorException count()への対処
- 0.0.8. ポートフォリオ「ToDoリストアプリ」
- 0.0.9. Uninitialized string offsetとは(PHPのエラー)
- 0.0.10. PHP で GCP を利用する際の認証設定
- 0.0.11. 【自分用メモ】CLI版PHPのバージョンを確認しようとすると発生するエラーの解決方法
- 0.0.12. Python,Ruby,PHP,Java,JavaScript,Perlの繰り返し構文の比較
- 0.0.13. wp に関するサイト(それ以外にも)
- 0.0.14. AtCoder160(ABC)の B問題を解いた(PHP)
- 0.0.15. PHP 関数の引数 2種類のnullableな型(null許容型)の宣言を両方とも書く
- 0.0.16. オリジナルのyoutubeページを作成してみました
- 0.0.17. Python,Ruby,PHP,Java,JavaScript,Perlの条件分岐の比較
- 0.0.18. ホームページのバナーはバニラのjsよりslick.jsを使った方が早いかつ品質が良い話(1)
- 1. 本記事対象
- 2. 環境
Python,Ruby,PHP,Java,JavaScript,Perlの連想配列の比較
Python,Ruby,PHP,Java,JavaScript,Perlの連想配列の比較
# Python
https://qiita.com/hz1_d/items/407dd13f90a8a4533d23
# Ruby
https://qiita.com/ryouya3948/items/5ea2049abfd92eb1ded7
# PHP
https://qiita.com/shizen-shin/items/8383e27c7cf16c0ccb4a
# Java
https://qiita.com/taropon_wwwww/items/95477174ac16287c9744
# JavaScript
https://qiita.com/yrn03m/items/87e223acc6e733b50429
# Perl
https://perlzemi.com/blog/20161013147635.html
laravelでPHPUnitを使ってテストをする
# 前書き
今回は作成中のポートフォリオの処理にミスがないか、確認するためのテストの作成を行いました。# 環境
https://qiita.com/ucan-lab/items/56c9dc3cf2e6762672f4
上記記事に準じて環境構築を行っています、
# 実現したいこと
・各コントローラーの処理のテストをしたい。
→リソースコントローラにあたる7つのメソッド(index,edit,create,show,store,delete,update)と画像登録のテスト# 対応方法
①事前設定・新しくテストを作成します
“`
php artisan make:test テスト名
“`–unitコマンドをつけると、tests/Unitディレクトリに、
つけないとtests/Featureディレクトリにテストが作成されます。Featureテストは、小さい単位(今回は各コントローラのメソッド)が対象になります。
Unitテストは、アプリケーションを利用しないため、Eloquentのメソッドが使用できない等の制約がありますが、テストの実行が軽いです。モデル
【PHP】implementsとextendsの違い
implementsってなんぞや?extendsしか知らんぞ?ってなったので調べてみました。
## TL;DR
* implementsはインターフェイスを使いたい時の演算子
* extendsはオブジェクトを継承したい時の演算子## implements
implementsはインターフェイスを使いたい時の演算子です。https://www.php.net/manual/ja/language.oop5.interfaces.php
### インターフェイスとは?
> クラスが実装する必要があるメソッドを指定するコードそのクラスに実装しないといけないメソッドをまとめた、パッケージみたいなものです。
複数のファイル(クラス)を作成する際に、決まったメソッドを実装してほしい時に使えます。#### 例)
##### ▼インターフェイス
“`php
【PHP】ランダムな値を生成する
今回はランダムな数字を取得する方法について、主にrandメソッドについて解説します。
## ランダムな数値
はじめに、1から100までの中でランダムな数値が作成してみます。
引数に最小値と最大値を渡すことで、範囲を指定することが可能です。“`php
$random_number = rand(1, 100);
“`奇数や偶数の乱数を生成したいときは次のようにします。
“`php
$random_number = rand(1, 50)*2; //1から100までの中の偶数$random_number = rand(1, 50)*2-1; //1から99までの中の奇数
“`## 配列の中のランダムな値
数値以外の指定した配列の中からランダムに取り出すときは以下のようにするといいでしょう。“`php
$hash = array(‘田中さん’, ‘山本さん’, ‘高橋さん’,’鈴木さん’);
$key = array_rand($hash);
$random_person = $hash[$key];
“`## ランダムな文字列
一文字ずつラ
Guzzleを使用してSSLクライアント証明書(p12)を送る
# はじめに
やりたいことは外部サービスのAPIを叩きたい!
APIトークンとクライアント証明書(p12形式)とパスワード渡すから認証してね。ってことなのでやっていく
# 実際のコード
“`php
private function getData($verification_token)
{
$token = env(‘API_TOKEN’); // Authorizationヘッダーに指定するBearerトークン
$ssl_pass = env(‘SSL_PASS’); // 証明書のパスワード
$ssl_path = storage_path(‘app/private/test/ssl_file’); // クライアント証明書を配置した場所
$headers = [
‘Authorization’ => ‘Bearer ‘ . $token,
‘Content-Type’ => ‘application/json’,
];
$ba
Python,Ruby,PHP,Java,JavaScript,Perlの配列の比較
Python,Ruby,PHP,Java,JavaScript,Perlの配列の比較
# Python
https://qiita.com/gouwan/items/c83b47ce1b7c77cce7c5
# Ruby
https://qiita.com/may88seiji/items/ce9396a4c267a3d449ae
# PHP
https://qiita.com/tokutoku393/items/ea2a61765eda1dee8f2e
# Java
https://qiita.com/sentral1110728/items/532de46714b7215a2e99
# JavaScript
https://qiita.com/takeshisakuma/items/b23b1a748098f30e2ff2
# Perl
https://perlzemi.com/blog/20161012147627.html
【Laravel】ViewでのErrorException count()への対処
# ErrorException count(): Parameter must be an array or an object that implements Countable
某アカデミーでTwitterクローンを作っている際に発生しました。
#### 結論:count()の引数にカウントできないものを入れている。
結論から言うと、私の場合はcount()の引数にBelongsToMany, HasMany等のクラスのオブジェクトを入れていたことが原因でした。
それらをget(),first(),pagenate()などでCollectionクラスにしてやることでcount()できるようになりました。Controller
“`diff_php:app/Http/Controllers/UsersController.php
class UsersController extends Controller
{
/**
* ユーザのお気に入り一覧ページを表示するアクション。
*
* @param $id ユーザのid
*
ポートフォリオ「ToDoリストアプリ」
# 初めに
はじめまして。
今回は、Webアプリ開発の基礎のアウトプットを兼ねて、作成致しましたのでご紹介いたします。
何かアドバイス・コメント等ございましたらコメント欄に宜しくお願い致します。
(2022.8.4現在)# 目的
・フレームワークを使用せず、素のPHPで開発する。
・MVCモデルを利用した開発
・システムの動きをイメージングできるようになるため(現在の仕事では、開発部分に携わることが少ないため)# ポートフォリオの概要
一般的なAppleのリマインダーのようなシンプルにタスクが管理できるアプリを想定しております。
また、サイトの基本機能であるCRUDの実装し、どの端末でもアクセスできるようにレスポンシブデザイン
となっております。総作製時間は、PHPの勉強も含め90H程度です。# ポートフォリオの機能
### ■機能一覧
・タスク一覧表示
・完了タスクの一覧表示
・タスクの新規作成
・タスクの完了処理
・タスクの削除処理
・完了タスクの復元処理
・タスクの詳細内容編集機能
・セキュリティ対策(SQLインジェクション・XSS対策)### ■使用している技
Uninitialized string offsetとは(PHPのエラー)
Uninitialized string offsetとは、文字列型の変数に対して、存在しないキー名を呼び出したときに発生するエラー。
(例)
“`PHP
$a = ‘PHPを勉強中です。’;
echo $a[100];
“`
この場合、Uninitialized string offset: 100 というエラーが出る。# 参考文献
PHP | Uninitialized string offset エラーの原因と修正案
https://1-notes.com/php-error-uninitialized-string-offset/
PHP で GCP を利用する際の認証設定
PHP から GCP を利用するときの credentials の設定について調べてみると「サーバーの環境変数に設定しましょう」という記事が見つかる。
必ずしもサーバーの環境変数を設定できる環境とは限らないので、今回は別の方法も調べてみた。基本的には [githubの公式](https://github.com/googleapis/google-cloud-php#authentication) や、 [AUTHENTICATION.md](https://github.com/googleapis/google-cloud-php/blob/main/AUTHENTICATION.md)に書いてある。
## putenv を利用する
サーバーを直接操作できないなら PHP から操作すればいいじゃない、でお馴染み `putenv` さんの登場。
動作としてはサーバーの環境変数を設定したのと同じになる。
絶対パスで設定する。“`php
putenv(‘GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json’);
【自分用メモ】CLI版PHPのバージョンを確認しようとすると発生するエラーの解決方法
実行環境: MacOS Monterey
MAMPをインストール後、ターミナルでCLI版PHPのバージョンを確認しようとすると下記のエラーが発生。
“`
% php -v
zsh: command not found: php
“`原因はPATHが通っていないことによるエラーらしく、その後noteの記事を参考に.zprofileに
“`
export PATH=/Applications/MAMP/bin/php/php7.4.21/bin:$PATH
“`を追加し、再度エラーの発生したコマンドを実行すると、
“`
% php -v
PHP 7.4.21 (cli) (built: Sep 30 2021 13:37:02) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.21, Copyright (c), by Zend Technologies
“`無事バージョンを確認
Python,Ruby,PHP,Java,JavaScript,Perlの繰り返し構文の比較
Python,Ruby,PHP,Java,JavaScript,Perlの繰り返し構文の比較
# Python
https://qiita.com/atsui-ocha/items/5b8e4f973b36e78fdaf1
# Ruby
https://qiita.com/beanzou/items/6231d3d0a926765ddbb4
# PHP
https://qiita.com/rana_kualu/items/0abd2b6f69527b0b4b92
# Java
https://qiita.com/morioheisei/items/e686e33b60c6a60e87f0
# JavaScript
https://qiita.com/tetsuyakojima/items/fd63f91a4e34d6bad28b
# Perl
https://perlzemi.com/blog/20170521149524.html
wp に関するサイト(それ以外にも)
wp に関するものと、それ以外諸々
自分用なので重複あるかもしれません* WordPressで特定の投稿タイプのみエディターを丸ごと無効化する方法
> https://dezanari.com/wordpress-disable-editor/* WordPressのコメント(comments.php)をカスタマイズする
> https://bambooworks.co/wordpress-comments-customize/* CSSのflexboxで最後の1つだけ右寄せ、または最初の1つだけ左寄せにする方法
> https://wemo.tech/2320* コメント欄を追加する手順を解説
> https://go-journey.club/archives/2554* wp membership plugin
> https://rocketgeek.com/* wp redirect
>https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%
AtCoder160(ABC)の B問題を解いた(PHP)
問題文の要点:
高橋君が持っている “500 円硬貨 1 枚につき 1000″、5 円硬貨 1 枚につき 5 の 嬉しさ を得ます。
高橋君の嬉しさが最大になるように両替したとき、高橋君の嬉しさはいくらになりますか?“`PHP
= 500) {
$fiveHundredCount = floor($num / 500); //500円玉の枚数を求める
$num = $num – (500 * $fiveHundredCount);/*標準入力の数値から500円の枚数分を引き、
残りの金額を出す(500円玉を最大枚数分使う)。*/
$fiveCount = floor($num / 5); //5円
PHP 関数の引数 2種類のnullableな型(null許容型)の宣言を両方とも書く
## デフォルト値を設定するnull許容型の宣言
PHP7.0から使える デフォルト値にnullを指定する
引数にnullを渡してもエラーにならない
“`php
function showName(string $name = null) {
var_dump($name);
}
“`## 型名の前に?を書くnull許容型の宣言
PHP7.1から使える 引数の型名の前に?を書く
デフォルト値が無いケースでは、エラーが発生する
“`php
function showName(?string $name) {
var_dump($name);
}
“`## null許容型の宣言を両方とも書く
PHP7.1から デフォルト値にnullを指定し、引数の型名の前に?を書く
両方とも記述して、デフォルト値が無いケースでも、エラーが発生しなくなる
“`php
function showName(?string $name = null) {
var_dump($name);
}
“`
オリジナルのyoutubeページを作成してみました
# 概要
[「なつかしの曲(ポータル)」](https://tecoyan.blogspot.com/2020/05/0.html#btn_cntrl)は、[youtubeページ](https://www.youtube.com/watch?v=bFQyYwWV58M&t=106s)のオリジナルページです。
特長としては、国内、海外の昔なつかしい歌や曲を再生リストにして再生することができます。
再生リストはGoogleブログとサーバーのデータベースに保存しています。
このサイトのブログ記事を開くと月日別の投稿記事で再生リストの再生が始まります。
また、リスト選択でデータベースの再生リストを選択して再生できます。
# ページ詳細
このページは、基本要素とオプション要素から構成されています。以下、順に追って説明いたします。## (1) 基本要素
このページの基本要素は、プレーヤーと再生リストです。
ページを開くと再生リストの先頭から再生がスタートします。あとは、ほったらかしにしておくと連続してリストを再生します。
イージーリスニングサイトをイメージしています。## (2) オプショ
Python,Ruby,PHP,Java,JavaScript,Perlの条件分岐の比較
Python,Ruby,PHP,Java,JavaScript,Perlの条件分岐の比較
# Python
https://qiita.com/Morio/items/1e06e7ac768758af5ffe
# Ruby
https://qiita.com/sagawashu/items/0f08266d5f72229423d9
# PHP
https://qiita.com/Hashimoto-Noriaki/items/dfb76d440a64eccba95d
# Java
https://qiita.com/setonao/items/ebc341ddf6d95295c48e
# JavaScript
https://qiita.com/taiju_suzuki/items/e2bf11fcf1645623235f
# Perl
https://perlzemi.com/blog/20161023147731.html
ホームページのバナーはバニラのjsよりslick.jsを使った方が早いかつ品質が良い話(1)
初めて記事を書いていみました。
外国人かつ日本語学科ではないので、日本語がグダグダかもしれませんが、大目に見ていただければ幸いです。
コメント、指摘などはご自由にどうぞ。
※この記事には前編と後編があります。slick.jsは後編にて紹介します。本記事対象
本記事は本人のキャリア経験を踏まえ、下記の方を対象に想定し、作成いたしました。
- Javascript初心者
- フロントエンド初心者
- 非IT系会社の社内SE、情報システム部
- サイト保守会社との窓口担当者
- ウェブサイトデザインに興味のある方
環境
会社の公式サイトが2013年にウェブサイト制作会社に依頼し、
多分値引きをしたか、フレームワークを使わず、バックエンドのPHPはバニラ、フロントエンドも全部バニラで開発されました。
PHPは「Template P
PHP 基礎文法
## \
– HTMLの中にPHPを埋め込む
– ファイル内に複数記入可能## echo
– 引数を結合して文字列を表示
– 改行文字がなければ当然改行されない## 大文字と小文字の区別
– echo、if、whileなどPHPのキーワードや、ユーザー定義関数やクラス名:大文字だろうが小文字だろうがどっちでもいい
– ユーザー定義の変数名や定数名:文字が完全一致していなければ別物## コメント /* ~ */,// ~
– // ~ :1行のみコメントアウト
– /* ~ */ :複数行コメントアウトできる。コードの途中に挟むのも可能。## 空白と改行
無視される
## 数字が含まれてる文字列を使った計算
– 例: 2+”15″のように数値と数値文字列を足すと数値同士の計算に変換される
– 例:”250円”*2のように数値以外の文字があっても数値同士の計算、つまり250*2に変換される## インクリメント
– 例:$b=++$a; の場合、加算(+1)→代入の順に処理される。つまり$bの値と$aの値は等しくなる
## ポストイン
ユニットテスト導入のメリット・デメリットまとめ
# はじめに
株式会社ナイトレイの和田です。
普段、自社サービスの開発に取り組んでいます。
現在私が関わっているプロダクトにユニットテストを導入しました(そのプロダクトではユニットテストが省略されていました)。
その際に、改めてユニットテストのメリット・デメリットを学んだので、それをまとめたものをここに共有します。# メリット
## ①バグによるダメージを減らせる
### 早期発見
一般的に、不具合が発生した時の改修コストは、発見が遅れるほどに上がっていく。
例えば、リリース前に見つかるのとリリース後に見つかるでは改修の影響範囲やユーザーへの対応含め大きな差がある。逆に言えばQA段階ならもっとコストが下がり、手元での動作確認時ならさらに下がり、コードレビュー段階ならさらに…
テストコードは開発段階で不具合を発見することに貢献してくれるため、改修コストが最小で済む。
### 原因特定
テストコードが書かれていれば、どこが壊れてどこが正常なのかという問題の切り分けができるので、問題箇所の特定がしやすくなる。結果的に不具合の解消を早めることができる。
### 減少
コ