PHPのデプロイメントツールDeployerを実行すると下記のエラーが出る事があります。 ```language-bash $ dep deploy Deploy locked. Execute "dep deploy:unlock " to unlock. ``` ## 原因 Deployerはデプロイメントを実行時に多重実行されな...


## オプションなしでgoコマンドを実行 プログラムgoをオプションなしで実行すると、コマンドの一覧が表示される ```language-bash $ go Go is a tool for managing Go source code. Usage: go command [arguments] The commands ...


Go言語で、Unixの`cat -n`コマンドのように、標準入力より入力されたテキストに行番号をつけるプログラムです。 ファイルから1行づつテキストを読み込むにはbufio.NewScanner()を使うと便利です。また、標準入出力はio.Stdin, io.Stdout, io.Stderrを...


Go言語でPHPのstr_repeat()関数相当の処理を行うには、strings.Repeat()メソッドを使用します。 ## プログラム(Go言語) プログラム ```language-go package main import ( "fmt" "strings" ) func main() { // PHPのstr_repeat()相...


go言語でPHPのimplode/explode相当の処理を行痛い場合は、stringsパッケージのJoin()、Sprit()メソッドを使用します。 ## プログラム ```language-go // test01.go package main import ( "fmt" "strings" ) func main() { // PHPのimp...


Laravel5.5のコントローラー入門

2018年3月3日 | カテゴリ: Laravel
この記事では、PHPのフレームワークであるLaravelで、MVCのコントローラーについての基本を説明します。 ## コントローラの作成 Laravelでは、artisanの`make:controller`コマンドで、MVCのコントローラーに相当するクラスのひな型を作ることがで...


Laravel5.5のルーティング入門

2018年3月2日 | カテゴリ: Laravel
この記事では、PHPのフレームワークであるLaravelのルーティングの基本について説明します。 ## インストール直後のルーティング Laravelプロジェクトを作成した直後に`php artisan serve`コマンドを実行し、ブラウザからhttp://localhost:8000/へ...


Laravelのcomposer.jsonを見ていたら見つけたのでメモ。 以下のワンライナーPHPスクリプトで、.envというファイルが無かったら、ファイル".env.example"を.envにコピーすることができます。 ```language-php php -r "file_exists('.env') || copy('...


PHPフレームワークのLaravelをWindows環境で使っていて、php artisan serveコマンドを実行すると下記のエラーが出て起動できなかったので、確認&対処した結果を書いておきます。 ## 出力されたエラー `php artisan serve`コマンドで起動させようと...


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...


PHPでルーティングを行うパッケージであるnikic/FastRouteパッケージを利用して、controller-actionスタイルのルーティングを行う方法を説明します。 nikic/FastRouteパッケージは、PHP本体の開発者であるNikitaさんが開発していて、Slim3 Framework...


PHPのマイクロフレームワークであるSlim Frameworkのバージョン3.9.0が、2017/11/04にリリースされました。バージョン3.9.0での変更点は主に不具合修正で、以下のような修正が行われています。 - Requestオブジェクトに任意のHTTPメソッド名を使用でき...


この記事では、PHPでHttp通信を行うためのコンポーネントである、Guzzleを使うための手順を説明します。PHPに慣れていない人のために、PHPのパッケージマネージャであるcomposerのインストールから説明しています。 ### 確認環境環境のインストール 今...