Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
はじめに 先日、職場で「自分が 改修したor 書いちゃった いちばんやべー関数」ネタで盛り上がりました。 みんないろいろ話してくれましたが、やっぱり僕の書いた「コマンドパターンのメインループ関数(1500行)」の圧勝でした。 なんであんなコード書いたんだろ。 そこで、今日は僕の傷ついたプライド癒すべくgithubから「世界でいちばんやべー関数」を発掘します。 つまり、「俺が書いた関数よりやべー関数に会いに行く」 結論 マジでやべー関数は次の2つ 「opencvリポジトリのcv::agast_cornerScore<AgastFeatureDetector::AGAST_7_12s>関数」(複雑度1868) 「SuiteCRMリポジトリのOpenTag関数」(複雑度1509) 言語毎の傾向に着目すると... javascriptにはやべー関数が多い python/java/swift/rub
はじめに Laravelのいろいろなクラスに用意されているマクロは足りないメソッドをサブクラスを作らず直接追加する感じで使えてとても強力です。 実際に実行する関数の中身はPHPのクロージャーを使って与えるのですが、実行時には$thisをそのクラスに束縛しなおしているので、普通にそのクラスのメソッドで行えることは全部できます。private/protectedなメソッド/プロパティにもアクセスできます。 しかしPhpStormは束縛しなおされた$thisをうまく扱うことができないので、たくさん警告がでます。たとえば以前の記事「Eloquentでrelationのレコードの有無だけをサブクエリで取得したい」で定義したマクロはこんな感じになります。 黙らせる方法 いろいろ試して今使っている方法を紹介します。アイディアとしては「$thisの変化を指定できないのなら、マクロ定義を行うクラスに必要なメ
namespace App\Http\Requests; use App\Http\Requests\Request; use Illuminate\Foundation\Http\FormRequest; class CreateUserRequest extends FormRequest { public function authorize() { return true; } /** * Validationルール * * @return array */ public function rules() { return [ 'name' => 'required', 'zip' => 'required', 'prefecture' => 'required', 'city' => 'required', 'address' => 'required', 'tel' => 'r
思わぬ落とし穴 まず、CSV出力自体はマニュアルや参考資料が豊富に揃っているのでそれほど困らないかと思います。 そう。この手軽さゆえに以下のようなケースに陥りがちです(かく言う私も・・・) ・テスト環境でCSV出力を実装 ・テスト環境でテストデータをもとに色々なパターンでCSV出力 ・テストも問題無かったので本番環境に実装 ・本番環境でCSV出力実行! ・・・しばらくグルグル・・・ ・まだグルグル・・・・・・シュン・・ !!! まさかのメモリ不足による処理落ち・・ はい。理由は本番環境での数万件のデータに対してCSV出力機能が耐え切れなくなったのですね。。 あぁ、テスト環境でダミーデータ数万件用意して負荷テストをするべきだった・・・時すでに遅し・・ そうならないためにも 以下に、件数が多くてもデータを分割して出力することによりメモリ不足を回避する方法について 紹介したいと思います。(データ
いろいろ調べてなんとかできたのでメモ。 参照したいカラムは「username」と「email」で、どちらかが一致すればログインできる。 環境 CakePHP 3.6.12 PHP 7.2.6 必要なファイルはbakeで生成済み。 ソース class AppController extends Controller { public function initialize() { parent::initialize(); $this->loadComponent('RequestHandler'); $this->loadComponent('Auth', [ 'authorize'=> 'Controller', 'authenticate' => [ 'Form' => [ 'fields' => [ 'username' => 'username', 'password' => 'p
自主勉強がてらにLaravelでECサイトを作ってみようと思っているのですが、決済の処理を実装しようにも肝心の商品をデータとして用意する必要があります。 PHPではFakerを使って電話番号やメールアドレスと言った仮のデータを作ることが出来ますが、商品に関する仮データには対応していない様だったので作り方をざっとまとめます。 *基本的な処理や画面はLaravel学習帳のCRUD処理の内容を元にしています。 動作環境について OS:macOS High Sierra version: 10.13.6 Docker(Engine):18.06.1-ce 対象ブラウザ GoogleChrome:69以上 作成する環境 centOS:7.5 Laravel:5.6 PHP:7.2 MySQL:5.7 APache2.4 参考資料 CRUDアプリの作成(一覧) CSVファイルの特定の列を取り出す 商品
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く