Skip to content

Instantly share code, notes, and snippets.

View nanasess's full-sized avatar
🍣
Sushi chef

Kentaro Ohkouchi nanasess

🍣
Sushi chef
View GitHub Profile
@nanasess
nanasess / recaptcha.php
Created September 12, 2017 09:16
Example for reCAPTCHA V2
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<script src='https://www.google.com/recaptcha/api.js'></script>
<script>
function onSubmit(token) {
document.getElementById("test").submit();
@nanasess
nanasess / TranslationLoaderBenchmark.php
Last active August 31, 2017 08:07
Benchmark of TranslationLoader
<?php
require __DIR__.'/vendor/autoload.php';
$r = new \ReflectionClass('\Symfony\Component\Validator\Validation');
$xlifffile = dirname($r->getFilename()).'/Resources/translations/validators.en.xlf';
$yamlfile = __DIR__.'/validators.en.yml';
$phpfile = __DIR__.'/validators.en.php';
$Loader = new \Symfony\Component\Translation\Loader\XliffFileLoader();
$catalog = $Loader->load($xlifffile, 'en', 'validators');
$message = $catalog->all('validators');
@nanasess
nanasess / performance.md
Created August 23, 2017 01:07
パフォーマンス検証メモ

パフォーマンス検証

PHP7.1 SSD Zend Server で検証

  • アノテーションの処理に時間がかかっているので FilesystemCache に変更
  • 250〜300ms でレスポンスが返ってくるので、あまり遅い印象ではない
  • EC-CUBE よりも Symfony や Doctrine の処理に時間がかかっている
    • 細かい処理が積っている感じ
  • プログラムよりも I/O がボトルネック?
  • 3.0 と比較して、 vendor 以下のファイル数が 25% 程度増えている
@nanasess
nanasess / Jwks.cs
Created August 8, 2017 01:04
RSA public key to JWKs(JSON Web Key Set) for C#
using System;
using System.Collections.Generic;
using System.IO;
using System.Security.Cryptography;
using Microsoft.IdentityModel.Tokens;
using Newtonsoft.Json;
using Org.BouncyCastle.Crypto.Parameters;
using Org.BouncyCastle.OpenSsl;
namespace TestCommands

CoC

DI

アノテーションを利用することで、 ServiceProvider の多くの記述を省略できるようになりました。

クラスを DIコンテナに登録する

@Component アノテーションを記述することで、クラスを DI コンテナに登録できます。

のし・ラッピングオプションのサンプル

商品情報、注文情報に「のし・ラッピングオプション」を追加するサンプルです。 3.n にて追加された拡張機能を使用して実装します。 以下のカスタマイズを実施します。

  • 商品情報に「のし・ラッピング対応」フラグ追加
  • 商品詳細に「のし・ラッピング対応」オプション表示
  • のし・ラッピング種別マスタ追加(名称・追加料金)
  • 注文画面に、のし・ラッピング選択・記載内容フォーム表示
@nanasess
nanasess / ds-lite.sh
Created May 12, 2017 17:59
DS-Lite for mac - RFC6333
#!/bin/sh
# Number array of en interfaces.
EN_NUM="0 1 2 3"
# AFTR name
AFTR_FQDN="gw.transix.jp"
usage() {
echo "Usage: ${COM} [on|off]"
@nanasess
nanasess / doctrine_tree.md
Last active March 17, 2017 08:31
Doctrine で使用可能なツリーライブラリの検証

以下の機能をサポートしているか検証する

see also http://www.geocities.jp/mickindex/database/db_tree_ns.html

入れ子集合モデルを使った検索

以下のようなデータを生成しておく

INSERT INTO "dtb_category" VALUES(1,1,NULL,1,'キッチンツール',0,5,'2017-03-07 10:14:52','2017-03-17 13:57:14',0,1,8,'category');
<?php // -*- coding:utf-8 -*-
/**
* SC_Query の PDO 版実装クラス.
*
* このクラスは直接インスタンス化せず, SC_QueryFactory 経由でインスタンス化する.
*
* @version $Id$
*/
class SC_QueryPDOImpl implements SC_Query {