AES256による暗号化/復号をPHPとJavaでやる

アラートログファイルに記述される主な内容:①発生したすべての内部エラー②ブロック破損エラー③管理操作のログ履歴④共有サーバプロセスに関するエラーとメッセージ⑤インスタンス起動時のデフォルト値以外の初期化パラメータ値
この作品では「ゲーム起動直後に高確率でエラーが出て強制終了、 そうでなくとも5分以内に確実に強制終了」というトラブルに遭いました。 これはこの作品がデフォルト設定にパッド対応になっているのが原因です。
rails+postgresでカラムの型にintervalを指定したときのバリデーションってどうするのがベストプラクティスなんだろ… デフォルトだと-1も許容するけど型的には許容範囲なんだよね…? バリデーション内でパースして任意の日時外ならエラーにするのがいいのかな
32GBのUSBメモリーにUbuntuを入れて当日の配信環境を作りMacをデュアルブートしているのだが、Ubuntuをapt updateしようとしたらスペースが少ないとエラー。何も考えずデフォルトでインストールしたら、MacのRAMと同じ16GBもswap領域をとってやがった。
nginxで「一定処理時間を超えたら何らかのレスポンスを返す」ってのを検証してたんだけど、nginxのデフォルトでは無い感じっぽい。nginxでエラーハンドルするのがいいことかどうかって話かと思うんだけど、めんどいな…
デフォルトで、標準入力はキーボード、標準出力は画面、標準エラー出力は画面という設定となっている。 #lpic
Visual Studio for Macでコンソールアプリを実行したらターミナルが立ち上がったんだけど私のデフォルトのシェルがfishなので文法エラーになってうんともすんとも言わないの辛い
CronとかでCLIのPHPを走らせた時のエラー出力を標準エラー出力にしなきゃ 現状だと標準出力に正常な出力とごっちゃになって吐き出されるからなんとかしなきゃ てかまずデフォルトのエラーの出力先が標準エラー出力じゃないのも…

5技術者認定試験(上級)

資格試験に向けて勉強中です
勉強していて、PHPについて実は知らなかった/勘違いしていたことが幾つかあるため
参考書の内容を抜粋して記載します。(抜粋するとは言っていない)

関数

関数とは

  • ひとまとまりのコードに名前をつけたもの
  • 入力を受ける変数を パラメータ 出力を 返り値 と呼ぶ
  • 関数には ユーザ定義関数組み込み関数 がある
  • 関数の呼び出しが、その関数の定義より前に記述されていても問題ない

マイナーな細かい仕様

  • 関数名の大文字・小文字は 区別されない
  • 関数は入れ子にできる
    — 以下のbar()はfoo()の実行後であれば、fooの外でも呼び出せる
function foo(){
    function bar(){
        return "bar";
    }
}
foo();
bar();

変数

  • グローバルスコープ と 関数レベルのスコープ がある
  • 関数からグローバル変数を呼ぶ場合は global $hensu のように宣言が必要
  • (デフォルトでは)関数内からグローバルスコープにアクセスできない
  • 通常、関数内の変数は呼び出し後にクリアされるが、 static $number = 0 のように宣言することで、呼び出し後も保持される変数となる
    — 上記の場合 0 が代入されるのは最初の実行時のみ
    — 初期化に使えるのは 定数 または リテラル のみ。変数や式は使えない。
    static $number = $x はエラーになる

関数のパラメータ

  • 値渡しと参照渡しがある
    — 参照渡しは function foo(&$x){ のように & を付加する
    — 参照渡しで定義した関数に変数以外を渡すと Fatal Error になる
  • function($x = 10) のようにしてデフォルト値を設定できる。
    function(&$x = 10) のように、 参照渡しでもデフォルト値を設定できる
  • 可変長引数も利用可能
    — 通常の引数の定義は必要なく、以下の関数を使用して取得
関数名 機能
func_num_args() 引数の数を取得
func_get_arg($index) 指定indexの引数を取得
func_get_args() 引数を配列で取得

関数の返り値

  • デフォルトでは return で指定された値のコピーを返す
  • 参照を受け取る場合は、 & を 関数名の前につける
function &foo(&$x){
    return $x;
}
$value = &foo

可変関数

  • 変数名に関数名の文字列を設定して呼び出すことが可能
$func_name = "printf";
$func_name("hello");
  • 対応する関数が無いとエラーが発生するので、 function_exsists($func_name); でチェックしよう
  • echo()isset() の構造言語は、この方法で 呼び出せない (エラーになる)
    — (だが黒本には構造言語について説明がない)

匿名関数 create_function

  • 他と衝突しない、ランダムな関数名となる
  • create_function(string $arg, string $code ) で定義
    — $付きの変数名を記載する関係上、シングルクォートで記載しましょう
$method = create_function('$x', 'echo $x;');
$mechod('hello');
  • 匿名関数は array_filter() などの引数としても利用可能
[紹介元] PHPタグが付けられた新着投稿 – Qiita AES256による暗号化/復号をPHPとJavaでやる

  • コメント

    1. 匿名希望
      2017/06/28(水) 00:09:54

      アラートログファイルに記述される主な内容:①発生したすべての内部エラー②ブロック破損エラー③管理操作のログ履歴④共有サーバプロセスに関するエラーとメッセージ⑤インスタンス起動時のデフォルト値以外の初期化パラメータ値

    2. 匿名希望
      2017/06/28(水) 00:09:54

      この作品では「ゲーム起動直後に高確率でエラーが出て強制終了、
      そうでなくとも5分以内に確実に強制終了」というトラブルに遭いました。

      これはこの作品がデフォルト設定にパッド対応になっているのが原因です。

    3. 匿名希望
      2017/06/28(水) 00:09:54

      rails+postgresでカラムの型にintervalを指定したときのバリデーションってどうするのがベストプラクティスなんだろ…
      デフォルトだと-1も許容するけど型的には許容範囲なんだよね…?
      バリデーション内でパースして任意の日時外ならエラーにするのがいいのかな

    4. 匿名希望
      2017/06/28(水) 00:09:54

      32GBのUSBメモリーにUbuntuを入れて当日の配信環境を作りMacをデュアルブートしているのだが、Ubuntuをapt updateしようとしたらスペースが少ないとエラー。何も考えずデフォルトでインストールしたら、MacのRAMと同じ16GBもswap領域をとってやがった。

    5. 匿名希望
      2017/06/28(水) 19:43:12

      nginxで「一定処理時間を超えたら何らかのレスポンスを返す」ってのを検証してたんだけど、nginxのデフォルトでは無い感じっぽい。nginxでエラーハンドルするのがいいことかどうかって話かと思うんだけど、めんどいな…

    記事に戻る

関連記事