底辺SE奮闘記

年収300万SEブログ

【PHP】CPIサーバでImageMagickを動かすときに大変だった件

サポートに問い合わせしたところ、

シェアードZZプランではPHP5.3.29でしかImageMagickが利用できない。

とのこと。

なので、.htaccess

AddHandler x-httpd-php5329 .php

これが必要ということですね。

これはつまり、

Laravelが使えない

ということです。困ったものです。

【WebGL 1】画面全体が汚い。それRetinaじゃない?

タイトルで全て終わりです。

WebGLでいくらテクスチャの拡縮設定変えたり、アンチリエイアス周りみても画面が汚い...

って時は、たぶんこれ。

画面全体をWebGL製のキャンバスにする場合

コード

var c = document.getElementById("canvas");
    c.width = document.documentElement.clientWidth;
    c.height = document.documentElement.clientHeight;

正(付け焼き刃的対処)

もっといい方法があるような気がしますが...

var c = document.getElementById("canvas");
    c.width = 2 * document.documentElement.clientWidth;
    c.height = 2 * document.documentElement.clientHeight;

正誤の画像比較

f:id:uma-no-kawa:20181225143733j:plain
Retina非対応

f:id:uma-no-kawa:20181225143814j:plain
Retina対応

【失敗】【Webpack4・Pug】ただPugをHtmlにしたいだけなのになぜこんなに辛いんだ。

技術力のなさを自ら露呈していくスタイル。

今回のお題は

PugでHTMLを変換するだけのWebpack4を作りたかった

これです。それ以外の一切は行いません。

環境

{
  "name": "app_name",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "devb": "webpack --mode=development",
    "prob": "webpack --mode=production"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "html-loader": "^0.5.5",
    "html-webpack-plugin": "^3.2.0",
    "pug": "^2.0.3",
    "pug-plain-loader": "^1.0.0",
    "webpack": "^4.27.1",
    "webpack-cli": "^3.1.2"
  },
  "dependencies": {}
}

期待する動作

  • index.pugがmain.htmlにトランスパイルされる。
  • jsは生成されない 重要
  • main.htmlの中でwebpackが生成したjsをリンクしない 重要

実装

下記のコードはjsが生成されてしまいます・・・。

const HtmlWebpackPlugin = require('html-webpack-plugin')
const path = require("path")

module.exports = {

    entry : './src/index.pug',

    output:{
        //プロジェクトのroot階層に「このフォルダは不要」フォルダが必要です(泣
        path: path.resolve(__dirname,'./このフォルダは不要'),
    },

    module: {
        rules: [
                {
                test: /\.pug$/,
                exclude: /node_modules/,
                loader: ['html-loader', 'pug-plain-loader']
            }
        ]
    },
    plugins: [
        new HtmlWebpackPlugin({
            template: './src/index.pug',
            filename: "../main.html"
        })
    ]
}

追記(2018/12/20)

結局Gulpで解決しました。Gulpの方が気持ちシンプルに見えるのでいいかもですね。

【PHP5.6・Laravel5.4】バリデーション min, sizeが正常に動かない!って時に

環境

  • PHP 5.6
  • Laravel 5.4

現象

下記コードはうまく動きません。いつでもバリデーションをパスします。

<?php

use Validator;

//中略

$input = [
    "testNo" => $testNo //何かしらの数値変数
];

$rule = [
    "testNo" => "min:1"
];

$message = [
    "testNo.min" => "Min Error."
];

Validator::make($input, $rule, $message)->validate();

正確には下記の通りにする必要があります。

<?php

use Validator;

//中略

$input = [
    "testNo" => $testNo //何かしらの数値変数
];

$rule = [
    "testNo" => "numeric|min:1" // <=fixed
];

$message = [
    "testNo.min" => "Min Error."
];

Validator::make($input, $rule, $message)->validate();

バリデーターに「これは数値ですよ」と教えてあげるようなイメージですね。たぶんstring, array, fileいずれにしても言えることかと思います。

【日常】SMBCダイレクトとV-passの違い

ほんと昨今の銀行金融系サービスは分かりにくい。 ってことで、タイトルにも書いたSMBCダイレクトとV-passの違いについて端的に...

共通点は、あなたが意識的に加入していなければ加入していない ということです。

それぞれの公式HPからサービスの利用開始手続きを行いましょう。

サービス 概要 ログイン時必要なもの
SMBCダイレクト インターネット上やスマートフォンアプリ上で三井住友銀行口座上のお金をやりとりする際に使用するサービス 【支店番号、口座番号もしくは契約者番号】、【第一暗証(未設定の場合はキャッシュカード暗証番号】
V-pass クレジットカードの利用明細を確認したり、リボ払い等の設定を変更したりする際に使用。 V-pass利用設定時に設定したID/PASS

【PHP7・Laravel5.5】Mail::toが正常に動作しない!仕様を勘違いしていた話

下記コードがhogehoge@test.comに届かずfugafuga@test.comに届いてしまう問題に遭遇。

原因はLaravelのメールの設定の挙動を勘違いしていたこと。

<?php
use Illuminate\Support\Facades\Mail;

Mail::to('hogehoge@test.com')->send($mailInstance);

環境

  • PHP 7.1.21
  • laravel/framework 5.5

原因

config/mail.phpの65行目付近に下記のように設定していたことを発見。

<?php
'to' => [
    'address' => 'fugafuga@test.com'
    'name' => 'ふがふが'
]

私の想定では、

Mail::toが設定されていないならばfugafuga@test.comに送信

という挙動だったのですが、実際の挙動は

Mail::toに設定されていようがmail.phpの中の設定を優先

だったのですね。これは盲点でした。