PHPのパッケージ管理はComposerの登場によって劇的に改善されましたが、Composerは依存関係を解決するのに非常に時間がかかり、パッケージインストール時にパフォーマンスの問題を引き起こすことが有ります。 Composerの性能向上に関するTIpsがhax0r(...


先ほど、ふとファイル内に"<?PHP"だけの文字列だけを含むphpスクリプトを実行してみた。 すると、スクリプトの出力に"<?PHP"という文字自体が出力されたので、気になって調べてみた。 (本記事は、諸事情によって"<?PHP"を全角で書いて...


Quizletで管理されている単語帳をExcelに出力したかったため、PHPのGoutteパッケージを使用してtsv形式に変換するスクリプトを作成しました。 ※PHPでGoutteパッケージの使い方自体は、[こちらの記事](https://akamist.com/blog/archives/1700)を参考に...


今回は、PHPのスクレイピングライブラリであるGoutteを使用して、指定したURLに対するWebページのタイトルを取得してみます。 ## Goutteパッケージのインストール Goutteパッケージはcoposerのfabpot/goutteパッケージとして提供されています。 c...


PHPでComposerを使用した外部パッケージ管理を行っているとき、`composer update`コマンドを使用することで、パッケージのバージョンアップをまとめて行うことができます。 ですが、テストの都合などで全てのパッケージを一度に最新にせず、特定パッケ...


最近のPHPプロジェクトでは、外部ライブラリを管理するのにComposerを利用することが多いです。 Composerを利用とバージョンや依存関係の自動解決などを自動に行ってくれるため非常に便利ですが、Composerではパッケージを自由に登録できるため、予期せ...


Qiitaにある下記の記事で、dl,dt,ddを使った定義リストを表形式にする方法が紹介されています - Qiita:複雑な(説明|定義)リストdl,dt,ddの見た目を表のようにするCSS ですが、css gridの`display: grid`定義を利用することで、紹介されているモノ...


C#でタスクトレイアプリを作る時、右クリックメニューはNotifyIconを用意したうえで、ContextMenuStripを使ってメニューを作ります。 ですが使い勝手を考えた場合に、このメニューを**左クリック時も表示させたい**場合があります。 このような場合...


C#でForm上に配置したTextBoxから最後の10行、もしくは、最初の10行のみを取得するコードです。Linqを使用しているので、"using System.Linq;"の定義が必要です。 ## TextBoxから最後の10行のみを取得する ```language-csharp using System.Linq; ...


WindowsでC#のプログラムから、別のプログラムを実行する場合、Process.Start()メソッドを利用することが多いです。 Process.Start()はasync/awaitによる非同期処理に対応しておらず、プログラム全体を非同期ベースで作成しているとき、外部プロセス呼...


C#のスクレイピングライブラリであるAngleSharpを使って、htmlのformに値を入力し、submitを行ったうえで遷移後ページの内容を取得してみます。 formの制御やページ遷移が行えると、ログイン認証があるサイトなどで、認証情報を入力したうえでログイン...


VisualStudio+WinFormの環境で、AngleSharpパッケージを利用したWebページのスクレイピングを行ってみます。 ## AngleSharpを使えるようにする AngleSharpは、NuGetパッケージとして提供されているので、パッケージのインストールで導入することがで...


[C#]async, awaitの使い方を正しく理解する

2017年11月18日 | カテゴリ: C# | タグ:
C#で非同期処理を行うための機能であるasync/awaitのふるまいに関する説明です。 サンプルコードを見ながら確認していきます。 ## 処理に時間が掛かるメソッドHeavyFunction()を準備する まず、処理に時間がかかるメソッドを用意します。この例で...


LaravelでORマッパーとして、Eloquentを使用ている場合、タイムゾーンを変更するには、config/app.phpのtimezoneを'UTC'から'Asia/Tokyo'に変更すれば、DBに登録される時刻がJSTになります。 ですが、Laravelを使わずに、Composerを使ってilluminate/da...


PHPのフレームワークLaravelに付属のEloquentでは、デフォルトでデータの登録・更新時刻をそれぞれ、created_at, updated_at列で管理してくれます。 通常はこれで問題ないのですが、履歴テーブルのようにデータの登録だけが行われ、更新されない事が事...


PHPのフレームワークであるLaravelでは、DBアクセスを行うのにEloquentやQueryBuilderという便利なモジュールがあります。 ですが、プロジェクトによってはLaravel以外のマイクロフレームワークや、フレームワークなしの環境だけども、ORマッパーのEloq...


[PHP]Eloquentで日付に関する列定義の命名規則

2017年11月13日 | カテゴリ: PHP | タグ: ,
PHPのORマッパーであるEloquentでは、データの登録時刻・更新時刻と、データの論理削除(SoftDelete)を行うときの削除時刻を自動で更新してくれる便利な機能があります。 今回は、これらの機能を最小の手間で(=Eloquentのデフォルト設定で)利用するため...


PHPのSlim3フレームワークでslim/twig-viewパッケージを使用時、*.twigのビューファイルを変更してもブラウザで表示したときに変更内容が反映されないときがあります。これは、twigがビューのファイルを*.phpに変換した結果をキャッシュしており、元の*.tw...