- 1. オープンソースとプライバシー志向の分析ソリューション
- 2. PHP ひとこと掲示板
- 3. [PHP]Twitter APIを試してみた
- 4. 新しめのmacOSでPHP 5.6を自前ビルドするとOPcacheがクラッシュする件の解決
- 5. PHP mb_strimwidth関数
- 6. 【Eloquent】よく使うメソッド集
- 7. 独学未経験エンジニアがweb系自社開発企業でアルバイトを2ヶ月してみて感じたこと
- 8. PHP_CodeSnifferのルールまとめ
- 9. VSCode Remote-Containers で Laravel7 開発環境 ( CentOS8+PHP7.4+MongoDB4.4 ) を爆速で準備する
- 10. LaravelのUnitテストでRefreshDatabaseを使ったらSAVEPOINT trans2 does not exist が出た話
- 11. 【PHP/Laravel】Class ‘Collective\Html\HtmlServiceProvider’ not found への対処法
- 12. “Test code or tested code did not (only) close its own output buffers”エラーの調査方法
- 13. PHPでRedis Streams操作のメモ
- 14. SimpleSAMLphpで属性をマッピングする
- 15. dockerでcomposer updateしようとしたらメモリ不足。。ターミナルからphp.iniでmemoryの設定変更
- 16. 【PHP】基礎 FizzBuzz
- 17. (ジェフユナイテッドで覚える)三項演算子の世界へようこそ
- 18. GuzzleHttpでのレスポンスをモック化してテストする
- 19. PHP array_key_exists関数
- 20. 【Wordpress】標準テーマの Powered by WordPress を書きかえる
オープンソースとプライバシー志向の分析ソリューション
![data-privacy-meme.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/8844b530-adf8-055c-ce57-02af9852259b.png)
##はじめに
こんにちは streampack チームのメディです。
https://cloudpack.jp/service/option/streampack.html##Objective ・ 目的
Privacy is an important matter.
I would like to present several open source solutions that respect users privacy and will allow you to improve your business.プライバシーは重要な問題です。
ユーザーのプライバシーを尊重し、ビジネスの改善を可能にするいくつかのオープンソースソリューションを紹介したいと思います。###Disclaimer ・ 免責事項
A
PHP ひとこと掲示板
“`PHP
20 ) {
$error[] =
[PHP]Twitter APIを試してみた
#今回の題
Twitter APIの審査がようやく通ったので記事にします。
申請は英語で行うのですが、グーグル翻訳の精度が上がっていてめちゃくちゃ助かりました。
アカウントの申請に関しては今回は省きますが、人によっては数ヶ月待つというなかなか根気のいる審査なので、今は使う予定がない人もとりあえず申請だけしておくと後々役立つかと思います。(私は一週間待ちました)申請は[こちら](https://developer.twitter.com/)から
#ライブラリの準備
・abraham/twitteroauthのインストール
[abraham/twitteroauth]
(https://github.com/abraham/twitteroauth)はstar数4000近い人気のライブラリです。
少ないコード、シンプルな記述で簡単にTwitter APIを操作できます。“`terminal
$ composer require abraham/twitteroauth
““#利用準備
申請後の開発者用のページの**Comusumer Key**や**Access To
新しめのmacOSでPHP 5.6を自前ビルドするとOPcacheがクラッシュする件の解決
表題の通りですが、私の手元のmacOS 10.14 (Mojave)でPHP 5.6.40を自前ビルドしたところ、OPcache有効のときに常にクラッシュする問題が発生しました。OPcacheを無効にすると何も問題ありません。
ググったところ、PHP 5.5/5.6のOPcacheの実装がイケていないせいでclang 6.0のみ期待通りに動かないようで、macportsでパッチが作られていました。
– https://github.com/macports/macports-ports/commit/6223b017e474c9bdcda958c618553136c681da8d
更に元ネタはこれかな…?
– https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227723
この修正を入れたところPHP 5.6.40がOPcache有効でも死ななくなりました。
PHP mb_strimwidth関数
# 目的
– 便利そうな関数だったので自分用に使い方をざっとまとめてみる
# 前提情報
– 下記のサービスを用いて関数の振る舞いを確認した。
– [https://paiza.io/ja](https://paiza.io/ja)# 機能
– 文字列を丸めることができる。
# 例
– 下記にmb_strimwidth関数の例を記載する。文字を丸める数の指定は半角での指定になるので日本語文字列の3文字目で丸めたいなら丸め文字数を6と指定する必要がある
“`php
mb_strimwidth(丸めたい文字列, 文字列の開始位置, 開始位置から何文字で丸めるか, 丸めた後の文字列の最後に追加される文字);
“`# 具体例
– 「日本の朝は酢豚とビール」という文字列の全角5文字目(半角10文字目)で丸める場合は下記の様に記載する。(ちなみに「日本の朝は酢豚とビール」という言葉は周期表の15属を縦に覚える時の語呂合わせである。)
“`php
echo mb_strimwidth(‘日本の朝は酢豚とビール’, 0,
【Eloquent】よく使うメソッド集
Eloquentは便利ですよね。どんなメソッドがあるかまとめたくなったので、ここに書いちゃおうと思います。
*使用環境
PHP 7.4.5
Laravel 7.22.4
#基本的な使い方
まずはモデルクラスを用意します。Itemクラスならば以下のようなコマンドで作れます。
`php artisan make:model Item`
後はそのモデルクラスを使って、あとで出る表にあるメソッドでどんどんデータ抽出するだけです。こんな感じで->でくっつけていきます。“`php
limit(10)->get();
“`#メソッド
|メソッド名|引数|説明|
|:–|:–|:–|
|where|1.カラム名 2.完全一致させるもの|where(‘id’, ‘solabito331’)とすればwhere id=’solabito331’という抽出のしかたになります。|
|max|1.カラム名|max(‘value
独学未経験エンジニアがweb系自社開発企業でアルバイトを2ヶ月してみて感じたこと
#簡単な自己紹介
* 大学では機械工学を専攻
* プログラマに魅力を感じ2019年新卒でメーカー子会社のIT会社に入社
* 入社してから10ヶ月で会社を退職
* そこから4ヶ月間独学で勉強し、現在web系の自社開発企業でアルバイト中#ニートになって独学していた時代
新卒で入社したときに感じたことや退職理由はまた今度別の記事で書いてみたいと思います。####勉強したこと一覧
* **progate**(HTML,CSS,Javascript,Ruby,RubyonRails)* **railsチュートリアル解説動画**
2周はした。1周目は動画を見るだけで、2周目は手を動かしながらでした。
かなりお世話になり、railsチュートリアルとは友達になった気がする* **Ruby on Rails5 超入門**
[amazonリンク](https://www.amazon.co.jp/Ruby-Rails-5-%E8%B6%85%E5%85%A5%E9%96%80-%E6%8E%8C%E7%94%B0%E6%B4%A5%E8%80%B6%E4%B9%83-ebook/d
PHP_CodeSnifferのルールまとめ
# 概要
PHP_CodeSnifferにはどのようなルールがあるのか調べてまとめています。
バージョン3.0を対象としています。# PHP_CodeSnifferとは
[squizlabs/PHP_CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer)
PHP_CodeSnifferはコーディング標準の違反検出するスクリプトと、それを自動で修正するスクリプトです。
> PHP_CodeSniffer is a set of two PHP scripts; the main phpcs script that tokenizes PHP, JavaScript and CSS files to detect violations of a defined coding standard, and a second phpcbf script to automatically correct coding standard violations. PHP_CodeSniffer is an essential d
VSCode Remote-Containers で Laravel7 開発環境 ( CentOS8+PHP7.4+MongoDB4.4 ) を爆速で準備する
# はじめに
Docker で開発環境コンテナをサクッと準備。実際の開発は VSCode + Remote-Containers ( 拡張機能 ) を使ってコンテナ内で行うための手順をまとめています。記事内容に間違いなどありましたら、コメント欄にてご指摘お願いいたします。
まだ色々と制約はありますが、とりあえずコンテナを立ち上げるところまでは上手くいったので公開します。# 前提条件
– Docker ( Windows/MacOS の方は Docker Desktop ) が使用できること
– VSCode が使用できること# ファイル構成
以下の構成でディレクトリとファイルを作成していきます。
とりあえず動かしてみたい方は [GitHub](https://github.com/slangsoft/vscode-remote-containers-laravel “GitHub:vscode-remote-containers-laravel”) から Clone してください。“`
Project/
├─ .devcontainer/
│ ├─ devc
LaravelのUnitテストでRefreshDatabaseを使ったらSAVEPOINT trans2 does not exist が出た話
## 現象
Laravelを利用した環境で通常のケースではTransactionも機能しており問題なかったが、RefreshDatabaseを用いたPHPUnitでの実行ではエラーが発生していた。“`
Doctrine\DBAL\Driver\PDOException : SQLSTATE[42000]: Syntax error or access violation: 1305 SAVEPOINT trans2 does not exist
/src/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:43
/src/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php:260
/src/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php:238
/src/vendor/l
【PHP/Laravel】Class ‘Collective\Html\HtmlServiceProvider’ not found への対処法
#はじめに
Laravelでアプリ開発をしております。
環境構築が完了し、Formを実装した際にエラーが発生。
備忘のために記録しております。
同じような方の助けになれば幸いです。#開発環境
・MacOS:10.15.6 (Catalina)
・PHP7.3.20
・Laravel6.18.35#対処法
###①プロジェクト直下の「composer.json」に「”laravelcollective/html”: “^6.0″」を追記
※これでもエラーが起きる場合はLaravelのバージョンとlaravelcollective/htmlのバージョンを合わせる(ex. Laravel5.8なら、laravelcollective/htmlの5.8)。“`composer.json
“require”: {
“php”: “^7.2”,
“fideloper/proxy”: “^4.0”,
“laravel/framework”: “^6.2”,
“laravel/tinker”: “^2.0” ,
“Test code or tested code did not (only) close its own output buffers”エラーの調査方法
Cakephp3でControllerのテストをしていたのですが、次のようなメッセージが表示されました
> Test code or tested code did not (only) close its own output buffersエラーメッセージでコードを検索すると、出力バッファの階数を検査している箇所でエラーになっていることが分かりました。出力バッファを開始したもののきちんと終了できていないことが原因でにエラーになっています。
“`/vendor/phpunit/phpunit/src/Framework/TestCase.php
private function stopOutputBuffering()
{
if (\ob_get_level() != $this->outputBufferingLevel) {
while (\ob_get_level() >= $this->outputBufferingLevel) {
\ob_end_clean();
}thro
PHPでRedis Streams操作のメモ
PHPでStream Consumingしたい、ということでRedis Streamsを使って試してみたという記録です。Swooleを使ってサーバー1台でスケールするのかも試してみました。
関連ドキュメントをざっと読んで試してみた程度の内容なので間違っている箇所などあるかもしれません。# Redis Streams
Redis5で実装されたStreaming API. Kafkaインスパイアな作りになっている。# PHPからRedis Streamsの使用
phpredisの4.2でサポートされた模様。以前は、導入が楽だという理由でpredisを使うことが多かったけど、predisではサポートされていない。predisは完全に開発が止まってそう。## Redis Server
試すだけならDockerでいいですね。“`
docker run -d –rm -p 6379:6379 redis:5.0.9
“`一応Streams APIが動くか確認したかったので`redis-cli`など使って
“`
$ redis-cli
> XADD mystream *
SimpleSAMLphpで属性をマッピングする
# “属性をマッピングする” とは
SimpleSAMLphp とはなにか、SAML とは、などの説明は割愛します。[こちら](https://simplesamlphp.org/)です。
今回やりたいことは、SAML で認証・認可を行う際に渡される属性の名前、およびその値を別名に変換することです。
# 属性名をマッピングする
[ここ](https://simplesamlphp.org/docs/stable/core:authproc_attributemap)を読みます。
あらゆる SP や IdP に対して同じように処理を行う場合は、config/config.php を編集します。個別に設定したい場合は、以下のファイルを編集します。– SP において、特定の SP について設定 : config/authsources.php
– SP において、リモート IdP について設定 : metadata/saml20-idp-remote.php または metadata/shib13-idp-remote.php
– IdP において、ホスト IdP について設定
dockerでcomposer updateしようとしたらメモリ不足。。ターミナルからphp.iniでmemoryの設定変更
# php.iniの場所を確認
“`
# php –ini
“`# vimで設定変更
“`
# vi /usr/local/etc/php/php.ini
“`### 追記
“`
memory_limit = 2047M
“`# 確認
“`
# php -r ‘phpinfo();’ | grep memory_limit
# php -r “echo ini_get(‘memory_limit’).PHP_EOL;”
“`
どちらでもお好きな方を。以上。
【PHP】基礎 FizzBuzz
#はじめに
phpの基礎を学ぶ過程でFizzBuzzのプログラムを組みました。##ソース
1~100までの連続する整数を生成し、3の倍数: Fizz
5の倍数: Buzz
3と5の倍数: FizzBuzzと出力します。
出力優先度は FizzBuzz > Fizz, Buzz
となっております。“`php:php
“;
} else if ($i % 3 === 0) {
echo $i.”:Fizz”;
echo “
“;
} else if ($i % 5 === 0) {
echo $i.”:Buzz”;
echo “
“;
} else {
echo $i;
echo “
“;
}
(ジェフユナイテッドで覚える)三項演算子の世界へようこそ
# はじめに
三項演算子、使ってますか?
先日とうとう後輩の @miriwo 氏がめでたく三項演算子に目覚めたということで、これはめでたいということで筆を執りました。[PHP 「?:」 の正体を知ってすっきりした話](https://qiita.com/miriwo/items/ddaccdad5060c525f507)
まあ、タイトルだけ見るとエルビス演算子に目覚めたのかなって気になってましたけど。
それはそれで大変便利なのです。# 三項演算子とは
例を見てみましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/57811/e3ffcc4e-5f19-e7b2-d432-3fbe16bdbf5e.png)
転載元: https://chiicomi.com/smp/r_news_detail?id=19e92c3c-0b86-11e6-8bd0-a0369f7b8e6eこちらは我らがジェフユナイテッド市原千葉のマスコット、ジェフィとユニティです。
(千葉なのに)
GuzzleHttpでのレスポンスをモック化してテストする
# まえがき
GuzzleHttpを利用してHTTPリクエストをしている処理のユニットテストを書きたい。
GuzzleHttpにはレスポンスをモック化する機能が用意されているようなので、こちらを利用してみることにします。# 実装例
“`php:HogeTest.php
PHP array_key_exists関数
# 目的
– 便利そうな関数だったので自分用に使い方をざっとまとめてみる
# 前提情報
– 下記のサービスを用いて関数の振る舞いを確認した。
– [https://paiza.io/ja](https://paiza.io/ja)# 機能
– 指定した文字列が指定した配列に格納されていることを判定する関数である。
# 例
– 下記にarray_key_exists関数の例を記載する。
“`php
//配列に文字列が含まれているかを確認する処理、含まれていればtrueが返される。
array_key_exists(文字列, 配列);
“`# 具体例
– 配列`$array`に「str_1」というインデックスが存在していることを判定する処理を記載する。
– 格納されている場合trueを、格納されていない場合falseを返す。“`php
array_key_exists(‘str_1’, $array);
“`
– 下記の様な処理が実行された場合「str_1の要素が存在します」と出力される。
【Wordpress】標準テーマの Powered by WordPress を書きかえる
WordPressの標準テーマはシンプルで使いやすいですが、企業のウェブサイトで利用する場合など、フッターの「Powered by WordPress」を削除したい場合が多々あります。
# CSSでパワードバイを非表示にする
これまでは、アップデート時の影響を考慮してテンプレートを直接編集することは避け、追加CSSに以下を記述して非表示にしていました。
“`
.powered-by-wordpress {
display: none;
}
“`# プラグインでパワードバイを書きかえる
上記の方法だと、非表示にするだけ自由に編集はできません。
また、HTML上には Powerd by WordPressの文字が残ったままになります。そこで、パワードバイを書きかえるプラグインを作成しました。
[Elvez Edit Powered By(プラグインのダウンロードページ)](https://wordpress.org/plugins/elvez-edit-powered-by/)