Skip to content

Instantly share code, notes, and snippets.

/**
* isTypeOf
* @param string type (String, Number, Boolean, Date, Error, Array, Function, RegExp, Object)
* @param mix data
*/
function isTypeOf(type, obj) {
var clas = Object.prototype.toString.call(obj).slice(8, -1);
return obj !== undefined && obj !== null && clas === type;
}
@yano3nora
yano3nora / cheapFixGarbledChars.php
Created July 1, 2017 04:31
[php: Cheap fix of garbled chars] Attension on old code. #php
// let's change default charset to utf8mb4, in next time...
function cheapFixGarbledChars($str) {
$step_1 = str_replace('&',"\\",$str);
$step_2 = str_replace('#','',$step_1);
$step_3 = str_replace('x','',$step_2);
$step_4 = str_replace(';','',$step_3);
return $step_4;
}
@yano3nora
yano3nora / xcopy.md
Last active July 1, 2017 04:38
[win: xcopy example] Attention on old code. #win

Purpose

標準機能だけで社内のWinサーバのHDD中身まるっとコピーして毎日夜中に外付けHDDとかにバックアップを取りたい。

Process of fool

  1. 新規ファイルを[ .bat ] 拡張子で作成して編集。

  2. XCOPYと言うコマンドを使って、ファイルをバックアップバッチシステムを作る

$ xcopy “バックアップ元” “バックアップ先” /D /S /E /H /C /Y /R
@yano3nora
yano3nora / long_time_process.php
Created July 1, 2017 04:48
[php: process of over execute time] Attention on old code. #php #js
<?php
$step_max = 999;// 1回の処理回数
// foreachなら (count($array)-1) を上に
// ループ処理の外側は全部この中に...
?>
<html>
<head>
<script language="JavaScript"><!--
function PageJump(){
if ('function' === typeof window.PageJump2){
@yano3nora
yano3nora / imgCompress.php
Created July 1, 2017 04:50
[php: imgCompress()] Attention on old code. #php
<?php
// 1. ある特定のディレクトリを参照し、中にいくつディレクトリがあるか数える
// 2. ディレクトリがあるだけ中の画像ファイル(jpg)を参照して、ファイルサイズが $size を超えるようなら圧縮処理をかける
set_time_limit(0);
// メイン関数
function imgCompress($src,$size,$comp) {
$fs = @filesize($src);
$jpg = @imagecreatefromjpeg($src);
while($fs > $size && $comp > 0) {
@yano3nora
yano3nora / imgResizer.php
Created July 1, 2017 04:53
[php: imgResizer()] Attention on old code. #php
<?php
/**
## なにこれ
生画像にアクセスしつつサムネイルを自動的に作って的な感じだと思う多分。多用すると遅くなるので注意。
## 使い方
- html側でこんな風に呼び出す <img src="imgResizer.php?url=画像ファイルパス&width=***">
- 画像の圧縮率を以下で設定できる
@yano3nora
yano3nora / nthOfTypeAndNthChild.md
Created July 1, 2017 04:58
[css: Diff of nth-of-type / nth-child] Attention on old contents. #css

nth-child(n)

nth-childは子要素が何であってもカウント。

<dl>
	<dt>サンプル</dt>
	<dd>テキスト1</dd>  <!-- ここは dd:nth-child(3) -->
	<dd>テキスト2</dd>
</dl>
@yano3nora
yano3nora / use_define_heredoc.php
Created July 1, 2017 05:51
[php: use DEFINE in Heredoc] Attention on old code. #php
define("PATH", "hoge/fuga/foo/bar");
$_ = function ($s) { return $s; };
echo <<<DOC
<img src="{$_(PATH)}">
DOC;
@yano3nora
yano3nora / php_data_type_validation.md
Created July 1, 2017 06:01
[php: Data-Type Validation] attention on old contents. #php

What is?

phpのような「動的型付け言語」はデータ型の検査が適当になりがち。また、phpはgetやpostで渡された値をそのまま変数として扱えたりするので、便利な反面罠も多い。多くはfatalエラーまではいかないが、できる限りwarningやnoticeエラーを出さないよう丁寧なプログラミングを心がけたい。

phpの特徴も踏まえつ「入力値に対する条件分岐」処理作成時には以下のような値がくることを想定してバリデーションすること。

  • 文字列・数値
  • NULL値
  • 真偽値・配列・オブジェクト
  • 空入力
  • 未定義な値
@yano3nora
yano3nora / ua_switch.php
Last active July 1, 2017 06:02
[php: UA switch] attention on old code. #php
<php
/**
* UA switch ( pc / sp )
* <a href="hoge/index?ua=pc">DESKTOP</a>
* <a href="hoge/index?ua=sp">MOBILE</a>
*/
if (isset($_GET['ua'])) $_SESSION['ua'] = $_GET['ua'];
if (isset($_SESSION['ua'])) {
if($_SESSION['ua'] === "sp"){