2014년 12월 13일 토요일

윈도우 시간 동기화 오류

멀티부팅으로 우분투 리눅스와 윈도우를
하나의 컴퓨터에서 같이 쓰는 바람에 생긴 문제는

우분투에서
/etc/default/rcS 파일의 UTC 값을 no 로 변경

간단하게는
화면 오른쪽위 시계에서 UTC 체크된걸 해제하면 된다.
인터넷으로 시간을 동기화 하려면

콘솔창에서
sudo apt-get install rdate
sudo rdate kr.pool.ntp.org

윈도우 업데이트 이후
컴퓨터 시계 시간이
자꾸만 엉뚱하게 나와
찾아보니

time.windows.com 이게 제대로 작동을 안하고 있었다.

아래 주소로 바꿔주니 잘 작동 !

kr.pool.ntp.org 여기 강추
time.kriss.re.kr 여기도 좋긴한데, IP 제한이 있는듯..

왠만하면 2계층 서버로 바꾸는게 좋을듯 하다.
1계층 서버는 사람이 많이 몰리다보니 자주 뻗는듯.

다른나라 주소를 알고 싶다면, 아래 주소로~



컴퓨터 화면의 오른쪽 아래 시간을 누르고
날짜 및 시간 설정 변경... 이라는 글자를 누르면 창이 하나 뜨는데
인터넷 시간 이라는 글자를 누르고, 설정변경을 누르면 위 그림이 뜬다.
서버(E) : time.windows.com 되어있는걸 kr.pool.ntp.org 이걸로 바꾸고
지금 업데이트를 누르고 확인을 누르면 ~ 끝 !

2014년 12월 12일 금요일

PHP 문자열 함수 정리

/*
nl2br
string = nl2br(string)
http://php.net/manual/en/function.nl2br.php
*/
echo nl2br("ABCD \n EFG \n\r");
echo nl2br("HIJK \r LMN \r\n");

/*
echo
void = echo(string)
http://php.net/manual/en/function.echo.php
*/
echo "ABCDEFG \n";
echo "HIJK","LMN","\n";
echo "OPQR
   STU
   \n";
echo ("VWXYZ"." ** \n");
echo <<< ALPHABET
ABCDEFGHIJKLMN
OPQRSTUVWXYZ.
ALPHABET;
$flag = TRUE;
echo $flag ? "TRUE" : "FALSE";

/*
print
int = print(string)
http://php.net/manual/en/function.print.ph
*/
$w = "WORLD";
print("HELLO~ $w !");

/*
sprintf
string = sprintf(string, mixed, mixed)
http://php.net/manual/en/function.sprintf.php
*/
$num = 5;
$location = 'tree';
$format = 'There are %d monkeys in the %s';
echo sprintf($format, $num, $location);

/*
printf
int = printf(string, mixed)
http://php.net/manual/en/function.printf.php
*/
printf("%d", "123.456");
printf("%2.2f", "123.4");
printf("%.2f", "3.141592653589793238462643383279502884197169399");

/*
sscanf
mixed = sscanf(string, string mixed)
http://php.net/manual/en/function.sscanf.php
*/
list($year, $month, $day, $serial) = sscanf("SN/19991231-A1234", "SN/%4d %2d %2d-%s%d");
echo "Item $serial was manufactured on: $year-" . $month . "-$day \n";

/*
explode
array = explode(string delimiter, string)
http://php.net/manual/en/function.explode.php
*/
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0];
echo $pieces[5];
foreach($pieces as $key=>$value)
{
 echo $value . " ";
}

/*
implode 
string = implode(string, array)
http://php.net/manual/en/function.implode.php
*/
$pieces = array("piece1", "piece2", "piece3");
$pizza = implode(",", $pieces);
echo $pizza;

/*
strcmp
int = strcmp(string, string)
http://php.net/manual/en/function.strcmp.php
*/
$var1 = "Hello";
$var2 = "hello";
if(strcmp($var1, $var2) !== 0) // 0 is equal
{
    echo "$var1 <> $var2";
}
else
{
    echo "$var1 = $var2";
}

/*
strcasecmp
int = strcasecmp(string, string)
http://php.net/manual/en/function.strcasecmp.php
*/
$var1 = "Hello";
$var2 = "hello";
if(strcmp($var1, $var2) !== 0) // 0 is equal
{
    echo "$var1 = $var2";
}
else
{
    echo "$var1 <> $var2";
}

/*
strncmp
int = strncmp(string, string, int)
http://php.net/manual/en/function.strncmp.php
*/
if(strncmp("abc","aBC",2)==0) //if(!strncmp("abc","aBC",1))
{
 echo "equal";
}
else
{
 echo "not equal";
}

/*
strncasecmp
int = strcasecmp(string, string, int)
http://php.net/manual/en/function.strncasecmp.php
*/
if(strcasecmp("abc","aBC",2)==0) //if(!strncmp("abc","aBC",1))
{
 echo "equal";
}
else
{
 echo "not equal";
}

/*
substr
string = substr(string, int, int)
http://php.net/manual/en/function.substr.php
*/
echo substr("abcdefg",1);   // bcdefg
echo substr("abcdefg",0,1); // a
echo substr("abcdefg",-1);  // g
echo substr("abcdefg",-5,2);// cd

/*
strstr, strchr
string = strstr(string, string)
string = strchr(string, string)
http://php.net/manual/en/function.strstr.php
http://php.net/manual/en/function.strchr.php
*/
echo strstr("abcdefg","e");  // efg
echo strchr("YEAR-1999","-");// 1999

/*
stristr
string = stristr(string, string)
http://php.net/manual/en/function.stristr.php
*/
echo stristr("ABCDEFG","e");

/*
strrchr
string = strrchr(string, mixed)
http://php.net/manual/en/function.strrchr.php
*/
echo strrchr("hello1/hello2/hello3","/");

/*
strpos
int = strpos(string, mixed, int)
http://php.net/manual/en/function.strpos.php
*/
echo strpos("abcd/abcd/abcd","/");   // 4
echo strpos("abcd/abcd/abcd","/",5); // 9

/*
strrpos
int = strrpos(string, string, int)
http://php.net/manual/en/function.strrpos.php
*/
echo strrpos("abcd/abcd/abcd","/");    // 9
echo strrpos("abcd/abcd/abcd","/",11); // FALSE

/*
stripos
int = stripos(string, string, int)
http://php.net/manual/en/function.stripos.php
*/
echo stripos("abcd/ABCD/abcd","C"); // 2

/*
strripos
int = strripos(string, string, int)
http://php.net/manual/en/function.strripos.php
*/
echo strripos("abcd/ABCD/abcd","C"); // 12

/*
strlen
int = strlen(string)
http://php.net/manual/en/function.strlen.php
*/
echo strlen("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); // 26

/*
strspn
int = strspn(string, string, int, int)
http://php.net/manual/en/function.strspn.php
*/
echo strspn("12345", "1234567890abcdefghijklmnopqrstuvwxyz");  // 5
echo strspn("vwxyz", "1234567890abcdefghijklmnopqrstuvwxyz", 1,3); // wxy 3

/*
strcspn
int = strcspn(string, string, int, int)
http://php.net/manual/en/function.strcspn.php
*/
echo strcspn("12345", "1234567890abcdefghijklmnopqrstuvwxyz");  // 0
echo strspn("vwxyz", "1234567890abcdefghijklmnopqrstuvwxyz", 1,3); // wxy 3

/*
strnatcmp
int = strnatcmp(string, string)
http://php.net/manual/en/function.strnatcmp.php
*/
$str1 = "img11.png";
$str2 = "img2.png";
echo strcmp($str1,$str2); // -1
echo strnatcmp($str1,$str2); // 1

$arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png");

// Standard string comparison
usort($arr1, "strcmp"); // 1 10 12 2
print_r($arr1);

// Natural order string comparison
usort($arr2, "strnatcmp"); // 1 2 10 12
print_r($arr2);

/*
strnatcasecmp
int = strnatcasecmp(string, string)
http://php.net/manual/en/function.strnatcasecmp.php
*/
$str1 = "A.png";
$str2 = "a.png";
echo strcmp($str1,$str2); // -1
echo strnatcmp($str1,$str2); // -1
echo strnatcasecmp($str1,$str2); // 0

$arr1 = $arr2 = array("ABC.png", "abc.png", "aBC.png", "Abc.png");

usort($arr1, "strcmp"); // ABC Abc aBC abc
print_r($arr1);

usort($arr2, "strnatcmp"); // ABC Abc aBC abc
print_r($arr2);

usort($arr2, "strnatcasecmp"); // abc aBC Abc ABC
print_r($arr2);

/*
strtolower
string = strtolower(string)
http://php.net/manual/en/function.strtolower.php
*/
echo strtolower("ABC"); // abc

/*
strtoupper
string = strtoupper(string)
http://php.net/manual/en/function.strtoupper.php
*/
echo strtoupper("abc"); // ABC

/*
ucfirst
string = ucfirst(string)
http://php.net/manual/en/function.ucfirst.php
*/
echo ucfirst("abc"); // Abc

/*
ucwords
string = ucwords(string)
http://php.net/manual/en/function.ucwords.php
*/
echo ucwords("the quick brown fox jumps over the lazy dog"); 
// The Quick Brown Fox Jumps Over The Lazy Dog

/*
strrev
string = strrev(string)
http://php.net/manual/en/function.strrev.php
*/
echo strrev("olleh"); // hello

/*
strtr
string = strtr(string, string, string)
string = strtr(string, array)
http://php.net/manual/en/function.strtr.php
*/
echo strtr("olleh AB", "AB", "XYZ"); // olleh XY
echo strtr("hello apple", "e", "u"); // hullo applu
$arr = array("hello"=>"hell", "apple"=>"open");
echo strtr("hello apple", $arr); // hell open

/*
str_replace
mixed = str_replace(mixed, mixed, mixed)
http://php.net/manual/en/function.str-replace.php
*/
echo str_replace("apple", "world", "hello apple"); // hello world

$food = array("microsoft","banana","cherry","donuts","egg");
$arr = str_replace("microsoft","apple",$food);
print_r($arr); // apple, banana, cherry, donuts, egg

$search = array("microsoft","egg","cherry","banana","donuts");
$replace = array("soft-icecream","milk","berry");
$arr = str_replace($search,$replace,$food);
print_r($arr); // soft-icecream, ,berry, ,milk

$alphabet = array("a","b","c","d","e","f","g");
$search = array("a","b","c","d");
$replace = array("A","B","C");
$arr = str_replace($search,$replace,$alphabet,$count);
print_r($arr); // A, B, C, ,e, f, g
echo $count; // 4

/*
str_ireplace
mixed = str_ireplace(mixed, mixed, mixed)
http://php.net/manual/en/function.str-ireplace.php
*/
echo str_ireplace("ABC","XYZ","123abc"); // 123XYZ

/*
trim
string = trim(string)
http://php.net/manual/en/function.trim.php
*/
$text   = "\x0B\n\t\r\0 1 2 3 4 5 ";
var_dump($text); // 16
var_dump(trim($text)); // 9

/*
ltrim
string = ltrim(string)
http://php.net/manual/en/function.ltrim.php
*/
$text   = "\x0B\n\t\r\0 1 2 3 4 5 ";
var_dump($text); // 16
var_dump(ltrim($text)); // 10

/*
rtrim, chop
string = rtrim(string)
string = chop(string)
http://php.net/manual/en/function.rtrim.php
*/
$text   = "\x0B\n\t\r\0 1 2 3 4 5 ";
var_dump($text); // 16
var_dump(rtrim($text)); // 15
var_dump(chop($text)); // 15

/*
quotemeta
string = quotemeta(string)
http://php.net/manual/en/function.quotemeta.php
*/
$text   = " START . \ + * ? [ ^ ] ( $ ) END ";
echo $text; // START . \ + * ? [ ^ ] ( $ ) END
echo quotemeta($text); // START \. \\ \+ \* \? \[ \^ \] \( \$ \) END

/*
ord
int = ord(string)
http://php.net/manual/en/function.ord.php
*/
$ASCII = "A";
echo ord($ASCII); // 65

/*
chr
string = chr(int ascii)
http://php.net/manual/en/function.chr.php
*/
$ASCII = "65";
echo chr($ASCII); // A

/*
parse_str
void = parse_str(string, array)
http://php.net/manual/en/function.parse-str.php
*/
$str = "id=a&arr[]=b+c&arr[]=d";
parse_str($str);
echo $id;  // a
echo $arr[0]; // b c
echo $arr[1]; // d
parse_str($str, $output);
echo $output["id"];  // a
echo $output["arr"][0]; // b c
echo $output["arr"][1]; // d

/*
strip_tags
string = strip_tags(string, string)
http://php.net/manual/en/function.strip-tags.php
*/
$html = "The  Quick Brown Fox  Jumps Over The Lazy Dog. ";
echo strip_tags($html);
echo strip_tags($html,"<b>");

/*
str_repeat
string = str_repeat(string, int)
http://php.net/manual/en/function.str-repeat.php
*/
echo str_repeat("*", 10); // **********

/*
str_pad
string = str_pad(string, int, string, int)
http://php.net/manual/en/function.str-pad.php
*/
$str = "i";
echo str_pad($str, 5);                     // i
echo str_pad($str, 5, "*");                // i****
echo str_pad($str, 5, "*", STR_PAD_RIGHT); // i****
echo str_pad($str, 5, "*", STR_PAD_LEFT);  // ****i
echo str_pad($str, 5, "*", STR_PAD_BOTH);  // **i**

/*
substr_count
int = substr_count(string, string, int, int)
http://php.net/manual/en/function.substr-count.php
*/
$text = 'This is a test';
echo strlen($text); // 14
echo substr_count($text, 'is'); // 2 : This is a test
echo substr_count($text, 'is', 3); // 1 : s is a test
echo substr_count($text, 'is', 3, 3); // 0 : s i
echo substr_count($text, 'is', 5, 10); // error : 5+10 > 14

/*
crypt
string = crypt(string, salt)
http://php.net/manual/en/function.crypt.php
*/
$salt = "ab";
$password = "1234";
echo crypt($password);
echo crypt($password,$salt);

if (CRYPT_STD_DES == 1)
{
    echo "Standard DES: " . crypt("1234", "rl"); // 2 digits salt
}

if (CRYPT_EXT_DES == 1)
{
    echo "Extended DES: " . crypt("1234", "_J9..rasm"); // 9 digits salt
}

if (CRYPT_MD5 == 1)
{
    echo "MD5: " . crypt("1234", "$1$rasmusle$"); // 12 digits salt starting with $1$
}

if (CRYPT_BLOWFISH == 1)
{
    echo "Blowfish: " . crypt("1234", "$2a$07$usesomesillystringforsalt$"); // 22 character salt starting with $2$ | $2a$ | $2x$ | $2y$  
}

if (CRYPT_SHA256 == 1)
{
    echo "SHA-256: " . crypt("1234", "$5$rounds=5000$usesomesillystringforsalt$"); // 16 character salt starting with $5$ and number
}

if (CRYPT_SHA512 == 1)
{
    echo "SHA-512: " . crypt("1234", "$6$rounds=5000$usesomesillystringforsalt$"); // 16 character salt starting with $6$ and number
}

/*
htmlspecialchars
string = htmlspecialchars(string, style)
http://php.net/manual/en/function.htmlspecialchars.php
& : &
" : "
' : '
< : <
> : >

- flags 
ENT_COMPAT
ENT_QUOTES
ENT_NOQUOTES
ENT_IGNORE
ENT_SUBTITLE
ENT_DISALLOWED
ENT_HTML401
ENT_XML1
ENT_XHTML
ENT_HTML5

- encoding
ISO-8859-1
ISO-8859-5
ISO-8859-15
UTF-8
cp866
cp1251
KOI8-R
BIG5
GB2312
BIG5-HKSCS
Shift-JIS
EUC-JP
MacRoman
"
*/
$html = htmlspecialchars("Test", ENT_QUOTES);
echo $html; // <a href='test'>Test</a>

/*
htmlentities
string = htmlentities(string, flags, encoding)
http://php.net/manual/en/function.htmlentities.php
*/
$str = "\x8F!!!";
echo htmlentities($str, ENT_QUOTES, "UTF-8"); //
echo htmlentities($str, ENT_QUOTES | ENT_IGNORE, "UTF-8"); // !!!

/*
number_format
string = number_format(float, int, string, string)
http://php.net/manual/en/function.number-format.php
*/
$number = 1234.5678;
echo number_format($number); // 1,235
echo number_format($number, 2); // 1,234.57
echo number_format($number, 2, " point ", " and "); // 1 and 234 point 57
echo number_format($number, 2, ".", ""); // 1234.57

2014년 12월 9일 화요일

PHP 날짜,시간 함수


/*
checkdate
bool = checkdate(int month, int day, int year)
http://php.net/manual/en/function.checkdate.php
*/
$valid_date = checkdate(12,31,1999);
if($valid_date)
{
 echo "YES";
}
else
{
 echo "NO";
}

/*
time
int = time()
http://php.net/manual/en/function.time.php
*/
$nextWeek = time() + (7 * 24 * 60 * 60);
echo $nextWeek;

/* 
mktime
int = mktime(int hour, int minute, int second, int month, int day, int year, int is_dst)
http://php.net/manual/en/function.mktime.php
*/
$maketime = mktime();
echo $maketime;
$maketime = mktime(10,10,30,12,31,1999);
echo $maketime;

/*
date
string = date(string format, int timestamp)
http://php.net/manual/en/function.date.php
*/
$maketime = mktime(10,10,30,01,01,2000);
// Year
echo date("L", $maketime); // leap year 1 true, 0 false
echo date("Y", $maketime); // year 4 digits, 2000
echo date("y", $maketime); // year 2 digits, 00
// Month
echo date("F", $maketime); // month full text, January
echo date("M", $maketime); // month 3 letters, Jan
echo date("m", $maketime); // month 2 digits, 01
echo date("n", $maketime); // month 1 digits, 1
echo date("t", $maketime); // last day of month
// Day
echo date("d", $maketime); // day 2 digits, 01
echo date("j", $maketime); // day 1 digits, 1
echo date("l", $maketime); // day full text, Sunday
echo date("D", $maketime); // day 3 letters, Sun
echo date("w", $maketime); // day representation, 0~6
echo date("S", $maketime); // day 2 letters, nd
echo date("z", $maketime); // day of the year, 0~365
// Time
echo date("g", $maketime); // time 1 digits, 1~12
echo date("h", $maketime); // time 2 digits, 01~12
echo date("G", $maketime); // time 1 digits, 1~24
echo date("H", $maketime); // time 2 digits, 01~24
echo date("a", $maketime); // am, pm
echo date("A", $maketime); // AM, PM
echo date("i", $maketime); // minute 2 digits, 00~59
echo date("s", $maketime); // second 2 digits, 00~59
// Date
echo date("c", $maketime); // ISO 8601, 1999-12-31 T10:10:30+09:00
echo date("r", $maketime); // RFC 2822, Sat 10 Nov 2000 10:10:30+12:00
echo date("U", $maketime); // TimeStamp

/*
getdate
array = getdate(int timestamp)
http://php.net/manual/en/function.getdate.php
*/
$array_time = getdate(time());
foreach($array_time as $key=>$value)
{
 echo $key . ":" . $value . "
"; } echo $array_time["0"]; echo $array_time["month"]; echo $array_time["weekday"]; echo $array_time["yday"]; echo $array_time["year"]; echo $array_time["mon"]; echo $array_time["wday"]; echo $array_time["mday"]; echo $array_time["hours"]; echo $array_time["minutes"]; echo $array_time["seconds"]; /* microtime mixed = microtime(bool get_as_float) http://php.net/manual/en/function.microtime.php */ echo microtime(FALSE); echo microtime(TRUE);

2014년 12월 8일 월요일

PHP 함수와 클래스의 기본


$a = 100;
$b = 10;
$c = 1;

/* Call by Value */

// Return One Value
function method1($a, $b)
{
 $c = $a + $b;
 return $c;
}
echo " function1 = " . method1($a,$b);

// Return Some Value
function method2($a, $b, $c)
{
 $a++;
 $b++;
 $c++;
 return array($a,$b,$c);
}
list($x,$y,$z) = method2($a,$b,$c);
echo " function2 = $x / $y / $z ";

/* Call by Reference */
function foo(&$str)
{
 $str .= "world";
}

function swap(&$a,&$b)
{
 $temp = $b;
 $b = $a;
 $a = $temp;
}

echo "\$a=" . $a . " \$b=" . $b;
swap($a,$b);
echo "\$a=" . $a . " \$b=" . $b;
$str = "hello~ ";
echo $str;
foo($str);
echo $str;

/* Class */
class Class1
{
      function method1()
      {
                echo __FUNCTION__;
      }
      function method2()
      {
                echo __METHOD__;
      }
}
$obj = new Class1();
$obj->method1();
$obj->method2();

PHP 제어문 정리


$i = 0;
$a = 1;
$b = 2;
$c = 3;

// IF , ELSE
if ($a > $b)
{
 echo "1 > 2";
}
else if ($b > $c)
{
 echo "2 > 3";
}
else if ($c > $a)
{
 echo "3 > 1";
}
else
{
 echo "3 < 1";
}

// WHILE
while($i < 10)
{
 echo $i;
 $i++;
}

// DO WHILE
do
{
 echo $i;
 $i--;
}
while($i > 0);

// FOR
for($i=0; $i<10; $i++)
{
 echo $i;
}

// BREAK
while($i > 0)
{
 if ($i == 5)
 {
  echo "Break! \$i = " . $i;
  break;
 }
 echo $i;
 $i--;
}

// CONTINUE
for($i=0; $i<10; $i++)
{
 if($i%2==0)
 {
  echo " even ";
  continue;
 }
 echo $i; //odd
}

// SWITCH
switch($i%2)
{
 case(0) : 
 echo "\$i is even.";
 break;

 case(1) :
 echo "\$i is odd.";
 break;

 default:
 echo "\$i is not Number.";
}

// FOREACH
$abc = array("a"=>1, "b"=>2, "c"=>3);

foreach($abc as $value)
{
 echo $value . " ";
}

foreach($abc as $key=>$value)
{
 echo $key . " = " . $value . " ";
}

// INCLUDE, REQUIRE
include "test.php";
require "test.php";

2014년 12월 6일 토요일

PHP 비교 연산자


/*
==
===
!=
<>
<
>
<=
>=
*/

$a = 1;
$b = 2;

// FALSE
if ($a == $b)
{
 echo "TRUE";
}
else
{
 echo "FALSE";
}

// FALSE
if ($a === $b)
{
 echo "TRUE";
}
else
{
 echo "FALSE";
}

// TRUE
if ($a != $b)
{
 echo "TRUE";
}
else
{
 echo "FALSE";
}

// TRUE
if ($a <> $b)
{
 echo "TRUE";
}
else
{
 echo "FALSE";
}

// TRUE
if ($a < $b)
{
 echo "TRUE";
}
else
{
 echo "FALSE";
}

// FALSE
if ($a > $b)
{
 echo "TRUE";
}
else
{
 echo "FALSE";
}

// TRUE
if ($a <= $b)
{
 echo "TRUE";
}
else
{
 echo "FALSE";
}

// FALSE
if ($a >= $b)
{
 echo "TRUE";
}
else
{
 echo "FALSE";
}

PHP 논리 연산자


/*
and 
&&
or
||
xor
^
!
*/

$a = 1;
$b = "";

// FALSE
// $a and $b
if ($a && $b)
{
 echo "TRUE";
}
else
{
 echo "FALSE";
}

// TRUE
// $a or $b
if ($a || $b) 
{
 echo "TRUE";
}
else
{
 echo "FALSE";
}

// TRUE
// $a xor $b
if ($a ^ $b) 
{
 echo "TRUE";
}
else
{
 echo "FALSE";
}

// TRUE
if (!$b) 
{
 echo "TRUE";
}
else
{
 echo "FALSE";
}

// FALSE
if (TRUE && FALSE)
{
 echo "TRUE";
}
else
{
 echo "FALSE";
}

PHP 대입 연산자


/*
=
+=
-=
*=
/=
*/

$a = 5;
echo $a;

$a +=5;
echo $a;

$a -=2;
echo $a;

$a *=2;
echo $a;

$a /=8;
echo $a;

PHP 문자열 연산자


$a = "ABCD";
$b = "EFG";
$c = "HIJK";

$str = $a.$b.$c;
echo $str;

$a .= "-123456789";
echo $a;

PHP 수치 연산자


/*
+ 더하기
- 빼기
* 곱하기
/ 나누기
% 나머지
*/

$a = 10;
$b = 4;

function calc($a,$b,$x)
{
// if ($x=="plus") { return $a + $b; }
 switch($x)
 {
  case "plus":
  return $a + $b;
  break;
  
  case "minus":
  return $a - $b;
  break;
 
  case "times":
  return $a * $b;
  break;

  case "divides":
  return $a / $b;
  break;

  case "leaves":
  return $a % $b;
  break;
 }
}
echo calc($a,$b,"plus");
echo calc($a,$b,"minus");
echo calc($a,$b,"times");
echo calc($a,$b,"divides");
echo calc($a,$b,"leaves");

유튜브 embed 태그

이제 유튜브에서 iframe 밖에 지원을 안하기 때문에...embed 태그를 정리
embed 는 PC 에서만 재생가능, 모바일에서는 iframe 태그로 해야한다.


<embed width = "512"
       height = "384"
       src = "http://www.youtube.com/v/주소"
       type = "application/x-shockwave-flash"
       allowscriptaccess = "always"
       allowfullscreen = "true">
</embed>

옵션

- 기본 360, 240-360-480-720-1080
&vq=light
&vq=medium
&vq=large
&vq=hd720
&vq=hd1080

- 자동재생
&vq=&autoplay=1

- 반복재생
?version=2&loop=1

- 시작지점,끝지점
&start=30
&end=300

- 추천동영상 표시
&rel=1


<embed width = "512" 
       height = "384" 
       src = "http://www.youtube.com/v/주소?version=2&loop=1&vq=hd720&autoplay=1&start=30&end=60&rel=0"
       type = "application/x-shockwave-flash" 
       allowscriptaccess = "always" 
       allowfullscreen = "true">
</embed>

<iframe width = "512" 
        height = "384" 
        src = "http://www.youtube.com/embed/주소?vq=large&autoplay=0&start=12&rel=1" 
        frameborder = "0" 
        allowfullscreen>
</iframe>

PHP 상수와 예약상수 정리


// 특징 = $ 없음, 보통 대문자로 표기

// 상수정의
define("A", 1.9);
echo A;

// 마법상수
echo __LINE__;
echo __FILE__;
echo __FUNCTION__;
echo __CLASS__;
echo __METHOD__;

// 예약상수
// http://kr.php.net/manual/kr/reserved.constants.php
echo PHP_VERSION;
echo PHP_MAJOR_VERSION;
echo PHP_MINOR_VERSION;
echo PHP_RELEASE_VERSION;
echo PHP_VERSION_ID;
echo PHP_DEBUG;
echo PHP_MAXPATHLEN;
echo PHP_OS;
echo PHP_SAPI;
echo PHP_EOL;
echo PHP_INT_MAX;
echo PHP_INT_SIZE;
echo DEFAULT_INCLUDE_PATH;
echo PEAR_INSTALL_DIR;
echo PEAR_EXTENSION_DIR;
echo PHP_EXTENSION_DIR;
echo PHP_PREFIX;
echo PHP_BINDIR;
echo PHP_LIBDIR;
echo PHP_DATADIR;
echo PHP_SYSCONFDIR;
echo PHP_LOCALSTATEDIR;
echo PHP_CONFIG_FILE_PATH;
echo PHP_CONFIG_FILE_SCAN_DIR;
echo PHP_SHLIB_SUFFIX;
echo PHP_OUTPUT_HANDLER_START;

PHP 예약변수 정리

http://kr.php.net/manual/kr/reserved.variables.php

// 예약변수
// PHP4 에서는 $_HTTP_GET_VARS 를 썼지만 PHP5 에서는 $_GET 으로 쓴다.
// php.ini 의 register_long_arrays = ON 으로 하면 PHP4 처럼 쓸 수 있다.
/*
PHP5 = PHP4
$_SERVER = $_HTTP_SERVER_VARS
$_GET = $_HTTP_GET_VARS
$_POST = $_HTTP_POST_VARS
$_COOKIE = $_HTTP_COOKIE_VARS
$_REQUEST
$_FILES = $_HTTP_POST_FILES
$_SESSION = $_HTTP_SESSION_VARS
$_ENV = $_HTTP_ENV_VARS
$GLOBALS
*/

// 1. $_SERVER
phpinfo(INFO_VARIABLES);
// 사용방법
echo $_SERVER["REMOTE_ADDR"];
echo $_SERVER["SCRIPT_NAME"];
echo $_SERVER["PHP_AUTH_USER"];
echo $_SERVER["PHP_AUTH_PW"];

// 2. $_GET
// 보내는 폼 a.php
// 받는 폼 b.php echo "\$_GET : " . $_GET["email"]; // 3. $_POST // 보내는 폼 a.php
// 받는 폼 b.php echo "\$_POST : " . $_POST["email"]; // 4. $_COOKIE // 5. $_REQUEST // 보내는 폼 a.php
//받는 폼 b.php echo "\$_REQUEST : " . $_REQUEST["email"]; // 6. $_FILES // 7. $_SESSION // 8. $_ENV phpinfo(INFO_ENVIRONMENT); // 9. $_GLOBALS

2014년 12월 4일 목요일

PHP 전역/지역변수,정적변수,가변변수



// 전역변수
$a = 1;
$b = 2;
function global_var()
{
 global $a;
 echo "\$a value is {$a}";
}
global_var();
unset($a);
unset($b);

// 지역변수
$a = 1;
$b = 2;
function local_var()
{
 $a = 2;
 echo "\$a value is {$a}";
}
local_var();
unset($a);
unset($b);

// global 키워드 사용
$a = 1;
$b = 2;
function sum1()
{
 global $a,$b;
 $b = $a + $b;
}
sum1();
echo "\$b value is {$b}";
unset($a);
unset($b);

// $GLOBALS 연관배열 사용
$a = 1;
$b = 2;
function sum2()
{
 $GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];
}
sum2();
echo "\$b value is {$b}";
unset($a);
unset($b);

// 정적변수
function static_var()
{
 static $a = 10;
 echo "\$a value is {$a}";
 $a = $a + 1;
}
static_var();
static_var();
static_var();
echo "\$a value is {$a}";
unset($a);

// 가변변수
$a = "NEW";
${$a} = "OVERLOAD";
echo "a = " . $a;
echo "a = " . ${$a};
echo "a = " . $NEW;

PHP 배열 정리

// 1. a배열
$a[0] = "a";
$a[1] = "b";
$a[2] = "c";
echo $a[0] . $a[1] . $a[2];
unset($a);

// 2. 배열의 키와 값
$a["a"] = "A";
$a["b"] = "B";
$a["c"] = "C";
echo $a["a"] . $a["b"] . $a["c"];
unset($a);

// 3. 배열의 생성
$a = array(0=>"a",1=>"b",2=>"c");
echo $a[0] . $a[1] . $a[2];
unset($a);

$a = array("a"=>"A","b"=>"B","c"=>"C",);
echo $a["a"] . $a["b"] . $a["c"];
unset($a);

$a = array("a","b","c");
echo $a[0] . $a[1] . $a[2];
unset($a);

$a = array("a","b"=>"B","c"=>3);
echo $a["a"] . $a["b"] . $a["c"];
unset($a);

$a[] = "a";
$a[] = "b";
$a[] = "c";
echo $a[0] . $a[1] . $a[2];
unset($a);

// 4. 다차원 배열
$a = array(
  array("a"=>"A","b"=>"B"),
  array("A"=>"a","B"=>"b")
);
echo  $a[0]["b"] . $a[1]["B"];
unset($a);

$a[0]["a"] = "A";
$a[0]["b"] = "B";
$a[0]["c"] = "C";
$a[1]["a"] = "a";
$a[1]["b"] = "b";
$a[1]["c"] = "c";
echo $a[0]["c"] . $a[1]["c"];
unset($a);

$a = array(
 "A"=>array("a"=>"A","b"=>"B","c"=>"C"),
 "B"=>array("a"=>"A","b"=>"B","c"=>"C"),
 "C"=>array("a"=>"A","b"=>"B","c"=>"C")
);
echo $a["A"]["a"] . $a["B"]["a"] . $a["C"]["b"];
unset($a);

2014년 11월 30일 일요일

PHP 특수문자 나타내기

1) 백슬래쉬를 이용하는 방법
\n 다음줄
\r 커서를 앞으로
\t 탭
\" 큰따옴표
\' 작은따옴표
\\ 백슬래쉬
\$ 달러
\0 NULL

echo "hello~ \'World\' !";
2) <<< 를 이용하는 방법

$a = <<< XmlDoc



Jan = "January"


Feb = "February"



XmlDoc;
echo $a;

2014년 11월 27일 목요일

윈도우8 인증알림 안뜨게 하는법

takeown /f %windir%\System32\sppcomapi.dll
takeown /f %windir%\System32\sppwinob.dll
icacls %windir%\System32\sppcomapi.dll /deny *S-1-1-0:F
icacls %windir%\System32\sppwinob.dll /deny *S-1-1-0:F

2014년 11월 24일 월요일

킹덤러쉬 오리진(Kingdom Rush Origins) PC 플래쉬 버전은 언제쯤?


드디어 킹덤러쉬3 오리진이 나왔다.


아직 PC버전은 안나온 상태이고, 곧 나오겠지만...
iron head 제작사 홈페이지의 답변으로는 언제 나올지는 미지수...

돈 많은 유저들은 유료결제로 휴대폰이나 패드에서 먼저 즐겨보자.

공식 사이트 : http://www.kingdomrushorigins.com/home.html
구글 플레이 : https://play.google.com/store/apps/details?id=com.ironhidegames.android.kingdomrushorigins
애플 스토어 : https://itunes.apple.com/us/app/kingdom-rush-origins-hd/id904737541?mt=8&ign-mpt=uo%3D4

가격은 구글플레이에선 3300원, 애플스토어에선 5000원이다.


모바일은 해킹버전이 벌써 나왔다.
보석과 영웅까지 모두 언락이 된상태로 공짜로 플레이 할 수 있다;
1.0.2 MOD apk 또는 OBB 등으로 검색하면 쉽게 다운받을 수 있지만
그래도 불법으로 다운받지는 마시길...휴대폰 해킹당할 위험도 있고,
후속편을 위한다면 유료결재로 게임을 합시다.

마우스로 게임하는게 편해 PC버전을 기다립니다.
하루빨리 PC버전 flash 게임으로 나오길 바랍니다.

2014년 11월 15일 토요일

와플의 역사,유래를 찾아서


와플의 정의나 유래등은 위키백과사전에 있긴 하지만, 궁금하니까~ 검색!

와플의 유래에 대해서 찾다가, 어처구니가 없는 글귀를 보고야 말았다.

인류에서 최초로 와플이 만들어진곳이 '중국' 이라고 한다.

문헌이나 자료, 현재까지 이어지고 있는 제대로된 형태하나 없는데도

무조건 '중국' 이 원조라니, '중국'은 모든것이 자기네들로부터 시작되었다고 믿는건가?

"휴- 중국놈들, 입만열면 구라여 !"

그렇게 인터넷을 뒤지는중, 서양 회화 몇점에서 와플과 비슷한 모양을 발견할 수 있었다.


크게 확대해보자. 맞다! 동그란 와플 모양이다!
큰것도 있고, 작은것도 있고. 네모난 격자 모양의 와플 !



위 그림은 16세기 화가 Joachim Beuckelaer (요아힘 버클러, 1533–1574)의 작품이다. 그렇다면, 와플은 16세기 유럽에서는 이미 널리 먹던 음식이란것이 증명되었다.

어떤 사이트에는 1734년에 영국에서 고기를 두드리던 망치를 실수로 반죽을 두들겨 구운것으로 시작되었다고 하는 글 역시 '중국만물설'같은 사실이 아닌 상상으로 지어낸 글 임을 알수 있다.

좀더 오래된 그림이나 문헌은 없을까? 있다!


위 그림은 역시 화가 Pieter Aertsen (피터 아르첸, 1508–3 June 1575)의 작품으로, 동시대의 것이긴 하지만 30년정도 앞선 화가이니...

그림을 클릭해 크게보면, 팬케이크와는 확연히 다른 네모 격자 문양의 와플이 틀림없다.

또 있다. Pieter Bruegel (피터 브뤼겔, 1525 – 9 September 1569)의 작품을 보자.


위 그림은 16세기 유럽의 시장통 같은데, 가운데 보면 와플을 굽고 있는 사람이 있다.

그 부분만 확대해서 보면, 식탁위엔 바구니안에 달걀(계란)이 있고, 주황색 통안에는 하얗고 멀건(주걱에 찰랑거리는 느낌의) 반죽이 있다.흰 두건을쓴 검은 옷의 여자가 의자에 앉아서, 왼손으로 와플팬을 쥐고, 오른손에는 칼을 들고선 나무장작을 불에 때어, 와플을 굽고 있다. 칼의 용도는 반죽이 흘러내려 굽히게되면, 그걸 자르는 역할을 하지 않을까? 예상한다.
그리고 왼쪽 밑에는 다 구워진 직사각형의 와플 3개가 겹쳐져 식탁위에 놓여져 있다.
자세히 살펴보면, ㅁ 네모 격자 구멍이 세로방향?으로 5개임을 확인할 수 있다.


그런데 와플팬 밑에는 동그란 와플팬 (세발)받침이 있고, 와플팬의 손잡이는 꽤 길다. 현재의 모습과는 조금 다르지만, 장작불 때어 굽던 시절에 불의 열기를 피하기 위해, 손잡이를 길게 하지 않았을까?

현재의 와플팬과 옛날 와플팬의 형태를 비교해 보자.



이 이상의 자료는 찾기가 쉽지않았고, 위키백과에 나온 16세기 당시의 와플 레시피가 있어서 소개한다.


1560년 네덜란드 엔트워프에서 발행한 요리책 Gent KANTL Vol.15 에 보면 Om ghode waffellen te backen (와플 굽는법)이 나오는데
제일 먼저, 반죽을 만들때는 설탕과 여러가지 향신료를 넣으면 더욱 좋다 : 방법은, 흰 밀가루 빵 반죽에, 달걀의 노른자와 설탕 한스푼 또는 슈가파우더를 넣는다. 그리고 물을 반쯤 붓고 와인을 반쯤 부은 다음, 생강과 계피를 넣어준다.
라고 되어있다. 흔히 요즘먹는 와플에 올라가는 쵸콜렛, 아이스크림, 꿀 같은 시럽보다, 향신료 향이 강한 반죽 만들기에 더 집중한걸 알 수 있다.


ginger(진저) 생강은 몸이 찬 사람에게 좋다고 한다. 추운 겨울이 다가오고 있다. Winter is coming ㅎㅎ 옛날 방식대로 향신료 향이 강한 반죽을 만들어 와플을 만들어 먹어봐야겠다.

출처(구글 이미지 검색 등)
http://www.alaskafromscratch.com/2013/12/05/gingerbread-waffles/

2014년 11월 7일 금요일

TEXT ART

♔ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎(◔ д◔) ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้✿ ❀ ❅ ☠ ✪ ✣ ✤ ✥ ✦ ✧ ✩ ✫ ✬ ✭ ✯ ✰ ✱ ✲ ✳ ❃ ❂ ❁ ✶ ✴ ❄ ❉ ❋ ❖ ⊹ ⊱⊰⊹ ♧ ✿ ♂ ♀ ∞ ☆ ★ ♫ ♬ ♪ ♩ ♪ ❤ 。◕‿◕。 ☀ ツ ⓛ ⓞ ⓥ ⓔ ♡ ╰ ☆ ╮ ♥ ღ ☼ ▁ ▂ ▃ ▄ ▅ ▆ █ ███▓▒░░._____.░░▒▓███► α вß ς đ∂ ℮εзє€ ƒ н ί!ι נ к ℓ м иη σø ρ гя ş ţт ω × ч εïз * æ ♂ ♀ ♥ ♠ ♣ ♪ ♫ ﻬ ♬ ♡ ☆ ★ † ۞ ➈ ❤ ✈ ↔ ↕ • ● ° ¤ ๑ ღ « » ™ ® © † ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀ ☽ ☎ ☏ ♨ ♠ ♣ ♧ ♥ ♡ ஓ ﻬ ஐ ღ ☆ ★ o(‧'''‧)o ๑•ิ.•ั๑ ₪ ¡ Þ ௫ μ ๑۩۞۩๑ ๑۩ﺴ۩๑ εїз ண ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨ ♥♣♠•♂♀♪↕‼¶§↑↓→←∟↔▲▼ ♧ ღ ♂ ♀ ♥ ♡ ☜ ☞ ☎☏⊙ ◎ ▨ ♨ ◐ ◑ ↔ ↕ ☏℡™№◈⊙◈♨§ξ∮¥£◐◑。๑∞•◦♀◎♨ ◊ ♬ ♪♩♭♧∏۩۞ юЮ ღㄨ※Ψ彡乀∑ ⌒⌒@↑↓←→↘↙↔↕ω Ω жべあぃ∈ ◊→♡๑۩۞۩๑ ﹏[[]] «----»◈¯`•.☆__)ҳ̸Ҳ̸ҳ۞۩๑[sՖศДקקツ|▶ ▷ ◀ ◁ ☀ ☁ ☂ ☃ ☄ ★ ☆ ☇ ☈ ☉ ☊ ☋ ☌ ☍ ☑ ☒ ☢ ☸ ☹ ☻ ☼ ☽ ☾ ♠ ♡ ♢ ♣ ♤ ♥ ♦ ♧ ♨ ♩ ✙ ✈ ✉ ✌ ✁ ✎ ✐ ❀ ✰ ❁ ❤ ❥ ❦ ❧ ➳ ➽ 〠 〄 ㍿ ♝ ♞ ¥ ☸ ❁ ❀ ✿ ✾ ❃ ✺ ❇ ❈ ❊ ❉ ✲ ✩ ✫ ✬ ✭ ★ ✪ ¤ ☼ ☀ ღ ❂ ◕ ⊕ Θ o O ♋ ☯ ㊝ ⊙ ◎ ๑ ☜ ☞ ♨ ☎ ☏ ۩ ۞ ♬ ✖ ஐﻬ ► ◄ ▧ ▨ ♨ ↔ ↕ ▪ ▫ ☼ ♦ ◊ ◦ ☼ ▣ ▤ ▥ ▦ ▩ ◘ ◙ ◈ ♫ ♬ ♪ ♩ ♭ ♪ の ☆ → ₪ ¤ 큐 « » ™ ♂✿ ♥ の ㊣ ⊕ △ ▲ ☆ ★ ◇ ◆ ■ □ ▽ ▼ § ¥ 〒 ¢ £ ※ ♀ ♂ © ® ⁂ ℡ ♧ ღ ♂ ♀ ♥ ♡ ☜ ☞ ☎☏⊙ ◎ ▨ ♨ ◐ ◑ ↔ ↕ ☏℡™№◈⊙◈♨§ξ∮¥£♠ ♣♥ ●•۰•♡•۰•● ◐◑。๑∞•◦♀◎♨ ◊ ▣▤▥▦▩▧▨♬ ♪♩♭♧∏۩۞ юЮ ღㄨ※Ψ彡乀∑ ⌒⌒@▓↑↓←→↘↙↔↕ω‰ Ω ж べあぃ∈ ┣┓┏┫▄ █ ▌▒『』〖〗◢ ◣◥ ◤ △ ▲▄ █ ▌▒◊→♡๑۩۞۩๑ ♠▲▼↑↓→←◊→♡๑۩۞●☆★〓۩๑ ⊙▽⊙ ◑▂◐◑0◐◑︿◐◑ω◐◑ ° •ิ . • ஐ இ * × ○ ▫ ♦♂ • ♀ ◊ © ¤ ▲ ↔ ™ ® ◊ ♥ ╠ ═ ╝▫ ■ □ ۩ ۞ ๑ » « ¶ ஐ † εïз ♪ ღ ♣ ♠ • ± җ ۝♥ิ.•ัﻬஐ ■ ▓ 回 □ 〓≡ ╝╚ ♪๑Θ ●○♠« ° • •.★*... ...*★.• •*.:【】ψ▓ ► ◄ ▒ ░ ♀♂ √ ╮╭ ╯╰ ァ♧ ღ ♂ ♀ ♥ ♡ ☜ ☞ ☎☏⊙ ◎ ▨ ♨ ◐ ◑ ↔ ↕ ♣ ★ じ ▒ ...¤¸¸.•´¯`•.¸•..>>--» [[]] «----»◈¯`•.☆__)ҳ̸Ҳ̸ҳ۞۩๑[sՖศДקקツ| Oº°‘¨ ¨‘°ºO ▬♦ஜ ஒ ண இ ஆ ௰ ♥ • ¤ € ۵ † ٭ ‡ • ♫ « » § ¿ ® © ¡ ♦ ♣ ♠ ♣ ♠ ◊ ♦ ○ ● ◘ ■ ☻ ☺☼ ♪ ♫ ♂ ∑ ∩ ∂ ║╗═╔ ๑ ๒ ๓ ๔ ๕ ๖ ๗ ๘ ๙ ๚ ๛ ☮☯☢ ♬ ♩ ♭ ♪ ☎ ☏ ♨ ♠ ♣ ♧ ♥ ♡ ஓ ﻬ ஐ ღ ☆ ★ o(‧'''‧)o ๑•ิ.•ั๑ ₪ ¡ Þ ௫ μ ๑۩۞۩๑ ๑۩ﺴ۩๑ εїз ண →←¤█▄ß±¨ ´*•.¸(*•.¸♥¸.•*´)¸.•*´♥«´¨`•°..NAME..°•´¨`»♥ &&.¸.•*(¸.•*´♥`*•.¸)`*•.☄☄ ★★ ☆☆☇☇ ☈☈ ☉☉ ☊☊ ☋☋☞☞ ☜☜ ♡♡ ▀▄ ◁◁ ◀◀ ☀☀ ☁☁̿̿̿̿ ̿̿̿̿☂☂☃☃ ▷▷ ▶▶☌☌☍☍☑☑ ☒☒ ☢☢↕ ↕ ♂♂ ♀♀ ؟ ؟ ¿ ¿ ☠ ◎◎ ⊙⊙ ☏☏ ☎☎‹‹ ‹‹ ♥♥ » » ◄ ◄ ► ► ↓ ↓ ↑ ↑ → → ← ←° ° • • ○ ○ ● ● ♪ ♪ ♫ ♫ ☼ ☼ ♣ ♣ ♦ ♦ ♠ ♠εїз εїз χ χ ×× ‡ ‡ ™ ™ © © ® ® • •₪ ₪ ø ø † † ╬ ╬ Δ Δ ◘◘ ☻☻☺ ☺ Ж ███▓▒░░ ¶ ¶ ۩ ۩ ۞ ۞ ஐ ஐ Ξ Ξ ღ ღ☀☀ 凸凸 ≧≧ △△ UPSIDE DOWN ? = ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ QUETION MARK (?) = ؟ ؟ ؟ ؟ ؟ ؟ ؟ ؟ ؟ ؟ BOY & GRIRL = ♂♂♂♂♂♂ ♀♀♀♀♀♀ ARROW = ↕ ↕ ↕ ↕ ↕ ↕ ↕ ↕ ↕ ↕ ↕ ↕ ↕ ARROW = ← ← ← ← ← ← ← ← ← ← ← ← ARROW = → → → → → → → → → → → → ARROW = ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ARROW = ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ARROW = ► ► ► ► ► ► ► ► ► ► ARROW = ◄ ◄ ◄ ◄ ◄ ◄ ◄ ◄ ◄ ◄ ARROW = « « « « « « « « « « « « ARROW = » » » » » » » » » » » » ARROW = ‹‹ ‹‹ ‹‹ ‹‹ ‹‹ ‹‹ ‹‹ ‹‹ HEART = ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ SPADE = ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ DIAMOND = ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ CLOVER/CLUB = ♣ ♣ ♣ ♣ ♣ ♣ ♣ ♣ ♣ ♣ SUN = ☼ ☼ ☼ ☼ ☼ ☼ ☼ ☼ ☼ ☼ NOTE = ♫ ♫ ♫ ♫ ♫ ♫ ♫ ♫ ♫ ♫ ♫ ♫ ♫ NOTE = ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ ♪ DOT = ● ● ● ● ● ● ● ● ● ● ● ● ● ● DOT = ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ SMALL DOT = • • • • • • • • • • • • SMALL DOT = ° ° ° ° ° ° ° ° ° ° ° ° ° ° SMALL DOT = · · · · · · · · · · · · · · REGISTERED TRADEMARK = ® ® ® ® ® ® ® ® ® ® ® ® COPYRIGHT = © © © © © © © © © © © © TRADEMARK = ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ FENCE = ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ CROSS = × × × × × × × × × × × × × × × × CROSS = χ χ χ χ χ χ χ χ χ χ χ χ χ χ χ χ CROSS = Ж Ж Ж Ж Ж Ж Ж Ж Ж Ж Ж Ж Ж Ж HEART = ღ ღ ღ ღ ღ ღ ღ ღ ღ ღ ღ ღ ღ ღ ღ ღ ღ ღ BUTTERFLIES = εїз εїз εїз εїз εїз εїз εїз εїз FACE = ☺ ☺ ☺ ☺ ☺ ☺ ☺ ☺ ☺ ☺ ☺ ☺ ☺ ☺ ☺ FACE = ☻ ☻ ☻ ☻ ☻ ☻ ☻ ☻ ☻ ☻ ☻ ☻ ☻ ☻ ☻ BOX = ◘ ◘ ◘ ◘ ◘ ◘ ◘ ◘ ◘ ◘ ◘ ◘ ◘ ◘ ◘ ◘ TRIANGLE = Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ RANDOM = ╬ ╬ ╬ ╬ ╬ ╬ ╬ ╬ ╬ ╬ ╬ ╬ ╬ RANDOM = † † † † † † † † † † † † † RANDOM = ₪ ₪ ₪ ₪ ₪ ₪ ₪ ₪ ₪ ₪ ₪ ₪ ₪ RANDOM = ø ø ø ø ø ø ø ø ø ø ø ø ø RANDOM = Ξ Ξ Ξ Ξ Ξ Ξ Ξ Ξ Ξ Ξ Ξ Ξ Ξ Ξ RANDOM = ஐ ஐ ஐ ஐ ஐ ஐ ஐ ஐ ஐ ஐ ஐ RANDOM = ۞ ۞ ۞ ۞ ۞ ۞ ۞ ۞ ۞ ۞ ۞ ۞ ۞ RANDOM = ۩ ۩ ۩ ۩ ۩ ۩ ۩ ۩ ۩ ۩ ۩ ۩ ۩ ۩ ۩ RANDOM = ¶ ¶ ¶ ¶ ¶ ¶ ¶ ¶ ¶ ¶ ¶ ¶ ¶ ¶ ███▓▒░░._____.░░▒▓███► ♧ ღ ♂ ♀ ♥ ♡ ☜ ☞ ☎☏⊙ ◎ ▨ ♨ ◐ ◑ ↔ ↕ ☏℡™№◈⊙◈♨§ξ∮¥£♠ ♣♥ ●•۰•♡•۰•● ◐◑。๑∞•◦♀◎♨ ◊ ▣▤▥▦▩▧▨♬ ♪♩♭♧∏۩۞ юЮ ღㄨ※Ψ彡乀∑ ⌒⌒@▓↑↓←→↘↙↔↕ω‰ Ω ж べあぃ∈ ┣┓┏┫▄ █ ▌▒『』〖〗◢ ◣◥ ◤ △ ▲▄ █ ▌▒◊→♡๑۩۞۩๑ ♠▲▼↑↓→←◊→♡๑۩۞●☆★〓۩๑ ⊙▽⊙ ◑▂◐◑0◐◑︿◐◑ω◐◑﹏◐◑△◐◑▽◐●﹏●●△● ●▽● ⊙▂⊙ ⊙0⊙⊙︿⊙ω⊙⊙﹏⊙⊙△⊙●▂●●0●●︿●●ω ° •ิ . • ஐ இ * × ○ ▫ ♦♂ • ♀ ◊ © ¤ ▲ ↔ ™ ® ◊ ♥ ╠ ═ ╝▫ ■ □ ۩ ۞ ๑ » « ¶ ஐ † εïз ♪ ღ ♣ ♠ • ± җ ۝♥ิ.•ัﻬஐ ■ ▓ 回 □ 〓≡ ╝╚ ♪๑Θ ●○♠« ° • ˊˇ▂ˇˇ0ˇˇ︿ˇˇωˇˇ﹏ˇˇ△ˇˇ▽˙▂˙˙0˙˙︿˙˙ω˙˙﹏ ˙˙△ ˙˙▽˙ ˋ▂ˊˋ0ˊˋ︿ˊˋωˊˋ﹏ˊˋ△ˊˋ▽ •.★*... ...*★.• •*.:【】ψ▓ ► ◄ ▒ ░ ♀♂ √ ╮╭ ╯╰ ァ♧ ღ ♂ ♀ ♥ ♡ ☜ ☞ ☎☏⊙ ◎ ▨ ♨ ◐ ◑ ↔ ↕ ♣ ★ じ ▒ ...¤¸¸.•´¯`•.¸•..>>--» [[]] «----»◈¯`•.☆__)ҳ̸Ҳ̸ҳ۞۩๑[sՖศДקקツ| ██ 39% ███ 49% ████ 76% █████ 89% ██████ 100% LOADING... ██████████████]99% ╚» «╝ ♥║ ║ ╚══╝ ╔═.♥.══════╗ ╚══════.♥.═╝ .,¡i|¹i¡¡i¹|i¡,. `"¹li¡|¡|¡il¹"` ´*•.¸(*•.¸♥¸.•*´)¸.•*´ ♥«´¨`•°..NAME..°•´¨`»♥ .¸.•*(¸.•*´♥`*•.¸)`*•. ┊┊┊┊ ┊┊┊☆ ┊┊♥ ┊εїз :█║▌│█│║▌║││█║▌│║▌║© ██ 20% *___* ███ 40% *___* ████ 60% *___* █████ 80% *___* ██████ 100% *___* ━═★[̲̅̅H̲̅][̲̅̅A̲̅][̲̅̅P̲̅][̲̅̅P̲̅][̲̅̅Y̲̅] [̲̅̅B̲̅][̲̅̅I̲̅][̲̅̅R̲̅][̲̅̅T̲̅][̲̅̅H̲̅][̲̅̅D̲̅][̲̅̅A̲̅][̲̅̅Y̲̅]★═━ ¸.✿¨¯`✿´¸¸.✿¨¯`✿ A= |̶̿ ̶̿ ̶̿ ̶̿| b= |̶͇̿ ̶͇̿ ̶͇̿) C= |͇̿ ͇̿ ͇̿ ͇̿ D= |͇̿ ͇̿ ͇̿ ͇̿) E= |̶͇̿ ̶͇̿ ͇̿ F= |̶̿ ̶̿ ̶̿ ̶̿ g= |͇̿ ͇̿ ͇̿ ̶͇̿ι H= |̶ ̶ ̶ ̶| i= [b]|[/b] J= ͇ ͇͇͇͇| K= | L= |͇ ͇ ͇ ͇ M= |̿ V ̿| N= |̿ \͇| o= |͇̿ ͇̿ ͇̿| P= |̶̿ ̶̿ ̶̿ ̶̿' Q= |͇̿ ͇̿ ͇̿ ͇͇̿|͇ R= |̿ ̿ ̿ S= ͇ ͇\̿ ̿ T= ̿ ̿|̿ ̿ U= |͇ ͇ ͇ ͇ ͇| v= [b]\ ͇ /[/b] W= [b]|͇ Λ ͇|[/b] o [b]\͇ Λ ͇/[/b] z= ̿ ̿/ ͇ ͇ = ̿|̿ ̿ |̶͇̿ ̶͇̿ ͇̿ |͇̿ ͇̿ ͇̿ ͇͇̿|͇ |͇ ͇_͇| | |̶͇̿ ̶͇̿ ͇̿ |̿ ̿ ̿ |͇̿ ͇̿ ͇̿ ͇̿| = ̿ ̿|̿ ̿|̶͇̿ ̶͇̿ ͇̿ |̶̿ ̶̿ ̶̿ ̶̿||̿ V ̿| |͇̿ ͇̿ ͇̿| |̶͇̿ ̶͇̿ ̶͇̿)|̶͇̿ ̶͇̿ ͇̿ |̶͇̿ ̶͇̿ ̶͇̿)|̶͇̿ ̶͇̿ ͇̿ = |̶ ̶ ̶ ̶||͇̿ ͇̿ ͇̿| |͇ ͇ |̶̿ ̶̿ ̶̿ ̶̿| = ̿ ̿|̿ ̿ |͇̿ ͇̿ ͇̿ ͇͇̿|͇ ||̿ V ̿| := |͇̿ ͇̿ ͇̿ ͇̿ |͇̿ ͇̿ ͇̿| |̿ ̿ ̿ |̶̿ ̶̿ ̶̿ ̶̿| ̿ ̿/ ͇ ͇ |͇̿ ͇̿ ͇̿ ͇̿| |̿ \͇| 凸 (^_^)凸 /̵͇̿̿/̿̿"̿̿̿̿̿ ̿̿̿̿ (............) ̿̿̿̿̿̿̿'̿̿̿̿̿'\̵͇̿̿\ \ ҳ̸Ҳ̸ҳ (888888888888) ҳ̸Ҳ̸ҳ ๑۩۞۩๑ (999999999999999) ๑۩۞۩๑ ıllıllı (ooooooo) ıllıllı ε[-ิิ_�ิ]з 888888 ε[-ิิ_�ิ]з |̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡ ̡͌l̡ ̴̡ı̴̴̡ (77777) ̡l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲| ( ̲̅:̲̅:̲̅:̲̅[̲̅ ̲̅]̲̅:̲̅:̲̅:̲̅ ) (Word) ( ̲̅:̲̅:̲̅:̲̅[̲̅ ̲̅]̲̅:̲̅:̲̅:̲̅ ) ۞۞ (Word) ۞۞ ★★ (Word) ★★ ㋛㋛ (,,,......) ㋛㋛ ◣_◢ (Word) ◣_◢ ●���● (****************) ●���● ︻┳═一 Word ︻┳═一 ●๋� (Word) ●๋� [̲̅ə̲̅٨̲̅٥̲̅٦̲̅] (Word) [̲̅ə̲̅٨̲̅٥̲̅٦̲̅] (̅_̅_̅(̲̲̲̲̲̅̅̅̅̅̅(̅_̅_̲̲̲̅̅̅Word_̅_̅_̅() ڪے ۰۪۪۫۫●۪۫۰ (Word) ۰۪۪۫۫●۪۫۰ |̲̅̅●̲̅̅|̲̅̅=̲̅̅|̲̅̅●̲̅̅| |̲̅̅●̲̅̅|̲̅̅=̲̅̅|̲̅̅●̲̅̅| ۩ ๑ ۞ ♥ ஐ • @ ღ ● ₪ √ ™ № ╬ ~ ξ € ﺕ ≍ ॐ ♪ ® ♂ ♀ û â î ♣ ♠ ◊ εїз ^ + * & % # ¨ o 0 »-> ø ¤ ? ¿ © † ♡ <- data-blogger-escaped-x=""> <╝❤♫ ♬ ♪ ♩ ♭ ♪☀ ஐღ♂♀♥♡☜☞☎☏♠♣▣▤▥▦▩♬♪♩♭♪の☆→あⓛⓞⓥⓔ。°º¤•εïз╬㊈㊉㊊㊋㊌㊍㊎㊏㊐㊑㊒㊓㊔㊕㊖㊗⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉㊊のஐღ♂ ♀ ♥ ♠ ♣ ♪ の ☆→ あⓛⓞⓥⓔ 。°º¤•εïз ╬㊈㊉㊊㊋㊌㊍㊎㊏ ㊐㊑㊒㊓㊔㊕㊖ ◊① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ™ ╬ ღ ♂ ♀ ♥ ↔ ↕ → ← ▪ ๑ ▄ █ ▌ ✄ © ® ⁂ ░ ▒ ▒ ▓ ◊ ◦ ♠ ♣ ♪ の → ° ■ ♀ Ψ № ← ∑ ξ ζ ω ∏ √ ∩ ¤ ∞ ≡ ▄ ≠ ^_^ ─ = » « ﺴ ۩ ๑ ๑ ۩ ۞ ۩ ๑ ▲ γ ō ◊♥╠═╝▫■□۩۞๑»«ஐҳ̸Ҳ̸ҳ©†εïз♪ღ♣♠•±җ۝°• ോ ൌ ് ൗ ൠ ാ ി ീ ു ൂ ൃ ಂ ಃ ಅ ಆ ಇ ಈ ಉ ಊ ಋ ಌ ಎ ಏ ಐ ಒ ಓ ಔ ಕ ಖ ಗ ಘ ಙ ಚ ಛ ೠ ೡ ೦ ೧ ೨ ೩ ೪ ೫ ೬ ೭ ೮ ೯ ௩ ௪ ௫ ௬ ௭ ௮ ௯ ௰ ௱ ௲ ભ મ ય ર લ ળ વ શ ४ ५ ६ ७ ८ ९॑ ॒ ॓ ॔ क़ ख़ ग़ ज़ ड़ ढ़ फ़ य़ ॠ ॡ ॢ ॣ । ॥ ० १ा ि ी ु ू ृ ँ ं ः ॄ ॅ ॆ े ै ॉ ॊ ो ौ ् ़ॐ २ ڧ ڨ ை३ ஹ ஸ ್ರ" ಳ್௮ ಆ ಕ್ಷ್ ఋ ன ಠ್ ಳ್ ப ம உ ஊ ఊ ௌ ொ இ ౖ ௲ ூ ஃ ஊ ஏ ஐ ஒ ஓ ஔ ஜ ஞ ి ಔ ృ ూ ప ௯ ௮ ி ஞ ஜ ಋ ౡౠౖ ಱ ಯ ಮ ಭ ಬ  ҈ لّـّـّّا ® © җ ♥ ♂ ♀ ♥ ↔ ↕ ▪ ๑ ಕ▄ █ °¹²³∙ ▒ ◊ ◦ ♠ ♣ ♪ の →°■♀ Ψ №← ∑ ξ ζ ω ∏ √ ∩¤ ∞≡ ▄ ≠ ^_^ ─ = ≍≌ ﺴ۩๑ ๑۩۞۩๑ ▓ ▲ γ ō ╦ ╩ ε ┘ ┌ ╬ ω § Θ I ™ ۣ۞ ۝ ù ν ώ x ч ž ۩₪۩ﺴ۩๑ ೪.೫ ๑۩۞۩๑ »»--> ભ મ ય ર લ ળ વ શ ષ સ હ ઼ ઽ ા િ ી ુ ૂ ૃ ૄ ૅ ે ૈ ૉ ો ૌ ્ড ঢ ণ ত থ দ ধ ন প ফ ব ভ ম য র ল শ ষ স ঁ ং ঃ অ আ ই ঈ উ ঊ ঋ ঌ এ ঐ ও ঔ ক খ গহ ಐ ಓ ಔ ಕ ಖ ಗ ಘ ಙ ಝ ಞ ಲ ಶ ಹ ೀ ಾ ಿ ಧಿ ೈ ೋ ೌ ೬ ೂ ೄ .:。✿*゚‘゚・✿.。.:* *.:。✿*゚’゚・✿.。.:* *.:。✿*゚¨゚✎・ ✿.。.:* *.:。✿*゚¨゚✎・✿.。.:*【】√ ¤ ∞ ㊝ ≡ ✖ ™ 乀 の♈ ◖◗♋ 灬 ≍ ◈Ш ǎ ☃ ☎ ☏ ☺ ☻ ▧ ▨ ♨ ◐ ค ๒ ς ๔ є Ŧ ﻮ ђ เ ן к l ๓ ภ ๏ ק ợ г ร t ย ש ฬ ץ א z α в c ∂ ε ғ g н ι נ к ℓ м η σ ρ q я s т υ v ω x ү z ά в ς đ έ ғģ ħ ί ј ķ Ļ м ή ό ρ q ŕ ş ţ ù ν ώ x ч ž

2014년 11월 4일 화요일

사자와 가젤의 아침처럼 - 아프리카 명언


Every morning in Africa,a gazelle wakes up.
매일 아침 아프리카에선 가젤이 잠에서 깨어난다.

It knows that it must run faster than the fastest lion or it will be killed.
가젤은 가장 빠른 사자 보다 더 빨리 달리지 않으면 먹이가 된다는걸 안다.

Every morning a lion also wakes up.
아침마다 사자도 잠에서 깨어난다.

It knows that it must outrun the slowest gazelle or it will starve to death.
사자는 가장 느린 가젤 보다 더 빨리 달리지 않으면 굶어 죽는다는걸 안다.

It doesn't matter whether you're a lion or a gazelle
당신이 사자인지 가젤인지는 중요하지 않다.

When the sun comes up,you better be running
태양이 떠오르면 당신은 달려야 한다.

에드 세이코타 - 휩소 송


The Whipsaw Song - Ed Seykota

You get a whip and I get a saw, honey
넌 속임수치고 난 그걸 보았네 허니
You get a whip and I get a saw, babe
넌 속임수치고 난 그걸 보았네 베이비
You get a whip and I get a saw
넌 속임수치고 난 그걸 보았어
One good trend pays for ‘em all.
좋은 추세 하나가 모든걸 보상해주지
Honey, trader, baby mine.
허니,트레이더,베이비~ 다 내꺼야

Banjo (Ride Your Winners): 오르는 말에 올라타
Now What do we do when we catch a trend, honey
지금 우리가 추세를 잡았는데 어쩜좋지, 허니
What do we do when we catch a trend, babe
우리가 추세를 잡았을 때 우리는 뭘해야해, 베이비
What do we do when we catch a trend
우리가 추세를 잡았을 때 우리는 뭘해야 하는거야
We ride that trend right to the end
우리는 추세를 타고 오른쪽 끝까지 가는거야
Honey, trader, baby mine
허니,트레이더,베이비 다 내꺼야

Mandolin (Cut Your Losses): 손절하라
Well What do we do when we show a loss, honey
그런데 우리가 손실을 보고 있을때 어떻게 하지, 허니
What do we do when we show a loss, babe
우리가 손실을 볼때 우리는 뭘해야해, 베이비
What do we do when we show a loss
우리가 손실을 볼때 우리는 뭘해야 하는거야
We give that dag-gone loss a toss.
재빨리 토스해서 손실을 딴놈한테 떠넘겨야지
Honey, trader, baby mine.
허니,트레이더,베이비 다 내꺼야

Fiddle (Manage Your Risk): 리스크를 관리해라
Hey How do we know when our risk is right, honey
헤이 주식이 떨어질지 오를지 어떻게 알지, 허니
How do we know when our risk is right, babe
주식이 떨어질지 오를지 어떻게 알아, 베이비
How do we know when our risk is right
주식이 떨어질지 오를지 어떻게 아냐고
We make a lot of money and we sleep at night.
재빨리 팔고, 밤에 꿀잠 자면 되지
Honey, trader, baby mine.
허니,트레이더,베이비 다 내꺼야

Guitar (Use Stops): 그대로 멈춰라
What do we do when the price breaks through, honey
주가가 횡보하는데 어떻게 하지, 허니
What do we do when the price breaks through, babe
주가가 횡보하는데 뭘 해야해, 베이비
What do we do when the price breaks through,
주가가 횡보하는데 어떻게 해야되지
Our stops are in so there’s nothing to do.
가만히 멈춰서, 아무것도 하지마
Honey, trader, baby mine.
허니,트레이더,베이비 다 내꺼야

Bass (Stick to the System): 기계적으로 매매하라
What do we do when a draw down comes, honey
주가가 아래로 떨어질때 우리는 뭘하면 되지, 허니
What do we do when it gets real big, babe
주가가 엄청 오르는데 우리는 뭘해야해, 베이비
What do we do when it’s even bigger
주가가 최고가로 올랐을때 우리는 어떻게 해야야
We stick to the plan and pull the trigger.
우린 계획대로 방아쇠를 당겨야지
Honey, trader, baby mine.
허니,트레이더,베이비 다 내꺼야

Banjo (File the News):
Now What do we do with a hot news flash, honey
이제 뉴스가 터질때 우린 뭘해야해, 허니
What do we do with a hot news flash, babe
뉴스 속보가 나올때 우린 어떻게하지, 베이비
What do we do with a hot news flash,
뉴스가 나올때 우린 뭘해야 하냐고
We stash that flash right in the trash
뉴스 따윈 쓰레기통에 버려
Honey, trader, baby mine.
허니,트레이더,베이비 다 내꺼야

출처 : http://www.seykota.com/tt

2014년 11월 1일 토요일

일본 에도시대 삽화에 나타난 UFO 우츠로부네(うつろ舟) 1편

うつろ舟 = 우츠로부네 = 텅 빈 배
蛮女 = 반죠 = 이방인 여자


어떻게 보아도 UFO 라고 밖에 생각되지 않는 이 그림.
그림이 그려진건 1825년 일본의 에도시대. 게다가 작자는 일본 고전 문학인 <겐지모노가타리(源氏物語)>와 함께 널리 알려진 <난소사토미핫켄덴(南総里見八犬伝)> 의 극작가 교쿠테이 바킨(曲亭 馬琴) 이라고 합니다만, 그 또한 뭔가 있을꺼야 라는 기대감을 일으키지 않을 수 가 없는데요. 옛날에 그려졌다라고는 믿겨지지 않는 이상한 그림. 과연 이것은 작자의 상상력으로만 그렸던 걸까요? 아니면 UFO와 직접 만났었던걸까요?

우츠로부네의 수상한 여자

마치 UFO 와 같은 이 그림에 등장하는 것은, 바킨의 소설(전14권)에 수록되어있는 "우츠로부네노 반죠(うつろ舟の蛮女)" 라는 짧은 이야기로, 일본 해안에 표착한 수수께끼의 우츠로부네와 그것에 타고있던 수상한 이방인 여자에 관한 이야기 입니다.

배 치곤 상당히 이상한 모양이고, 그 안에 타고 있었던 여성의 모습 또한 신비하고 낯선 모습인데요. 단지 표착사건을 소설화 한것으로 치부하기에 더욱 흥미로운 점이 있었으니

그것은 바킨의 소설 뿐만 아니라, 다른 문헌에서도 이와 비슷한 이야기가 8곳에서나 나타난다는 것입니다.


  • 兎園小説「虚(うつろ)舟の蛮女」(토엔쇼세츠, 우츠로부네노 반죠) - 曲亭馬琴(교쿠테이 바킨), 天理大学附属天理図書(텐리대학 부속 텐리 도서관 소장)
  • 「弘賢随筆」- 屋代弘賢(야시로 히로카타), 국립공문서관 소장
  • 梅の塵「空(うつぼ)船の事」(우메노치리, 우츠보부네노 코토) -長橋亦次郎(나가사키 히토시지로)、無窮会(무궁회) 전문 도서관 소장
  • 木版摺物 (모쿠한스리모노, 목판인쇄물) - 작자불명, 船橋市(후나바시시) 西도서관 소장
  • 「鶯宿雑記」(오슈쿠잡기) - 駒井乗邨(코마이 노리무라), 국회도서관 소장
  • 「漂流記集」(효류기슈, 표류기집) - 작자불명, 西尾市(니시오시) 岩瀬文庫(이와세 문고) 소장
  • 2010년, 이바라키현(茨城県) 미토시시(水戸市)에서 발견된 고문서 - 개인 소장
  • 2012년, 이바라키현(茨城県) 히타치시(日立市)에서 발견된 고문서 - 개인 소장


*개인소장 고문서도 감정결과 그 시대의 것이 틀림없다라고 밝혀져 정식인증되었습니다.

문헌마다 세부사항의 차이가 있지만, 기본적인 스토리는 비슷하여...일부를 살펴보면

『享和三年(1803)、常陸の国、原舎浜というところに「うつろ舟」が漂着した。
その中には美しい女がひとり乗っており、異国の言葉を話し、舟には見たことのない文字が書かれていた。
舟には水や食料らしきものがあり、女は手に何か箱のようなものを持っていたが、決してそれを離そうとしなかった。
人々は漂着したその女を気の毒に思いながらも、へたに関わってお上に知れては大変と、大事になることを恐れて女を助けず、再び舟に戻して沖に返してしまった。』 
"쿄와3년(에도후기 光格天皇 코우카쿠 텐노 1803년), 히타치노 쿠니, 하라토노하마 라는 곳에 '우츠로부네'가 표착했다. 그 안에는 아름다운 여자가 한명 타고 있었고, 이국의 말을 하며, 배에는 본적도 없는 문자가 적혀 있었다. 배에는 물과 음식 같은것이 있었고, 여자는 손에 어떤 상자와 같은것을 들고 있었지만, 결코 그것을 손에서 놓지 않았다. 사람들은 표착한 그 여자를 안타깝게 생각하면서도, 섣불리 나섰다가 윗사람에게 알려지면 곤란한 큰일이 나는것을 두려워하여 여자를 도와주지 않고, 다시 배를 돌려 돌아가버렸다." ... 계속
대충 이런 줄거리입니다.
그림마다 미묘한 차이는 있지만, 상자를 들고 있는 여자와 배가 그려져있고, 이야기도 비슷한 공통점이 있습니다. 하나의 이야기가 다른 문헌에 다시 실리는 경우가 드문일은 아니지만, 이렇게나 많은 문헌에서 발견되는것은 대체 무엇때문일까요?

고대로 부터 전해지는 우츠로부네의 전설

사실 이 '우츠로부네'의 이야기는 바킨이 상상하여 적은 글이 아닌,  당시 에도시대에 기묘한 이야기로서 널리 구전으로 알려진 이야기 인것같습니다.

민속학자 야나기타 쿠니오(柳田 国男, 1875~1962)에 의하면 '우츠로부네'의 전설은 일본 각지에서 아주 오래전부터 구전으로 전래되어 오던 이야기로서, 사실은 아니며 허구이다. 라고 일축하였었습니다. 하지만, 아니땐 굴뚝에 연기가 날까? 라는 속담처럼 많은 문헌에서 비슷한 이야기가 수록되어 있으니, 비록 그것이 UFO 와의 조우가 아니라고 하더라도 어떤 역사적으로 큰 사건이 실제로 있었던것은 아닐까 라는 생각이 듭니다.

그런데, 이 '우츠로부네'의 이야기는 실제로 있었던 일이었을까요? 아니면 민속학자의 말처럼 도시전설같은 창작물 이었을까요?

다시 바킨의 소설에서 그 단서를 찾아보도록 하죠.

2편에서 계속...

출처 http://www.yaji-kita.com/category/ufo
참고 http://kochizu.gsi.go.jp/HistoricalMap

2014년 10월 21일 화요일

요즘 빠져있는 해외 드라마와 장단점

한동안 일뽕이라 일드를 많이 봤었는데, 요즘은 미국뽕을 맞았는지, 미드를 많이 보게된다.

일본에 가서 살수 있었지만, 여러가지 문제들로 인해 자의적으로 일본에 가지않게되어 

일본에대한 관심이 많이 줄어든 이유도 있지만,

일드 덕분에 일본어 실력이 많이 향상되고 다듬어진 것처럼

미드 덕분에 미국어 영어 실력이 많이 향상되기를 바라는 마음도 있다.

일드건 미드건 영드건 확실한건, 한국 드라마보다 재밌다는거다. ㅋㅋ 

하지만, 무조건 다 100% 좋은것만은 아니었으니, 마음에 들지 않는 부분이 있다는 것.

국가별 드라마의 특징이 있으니 그것부터 나열해볼까?

* 한국 드라마
폄하하긴 싫지만, 공중파부터 최근 케이블TV 에서 하고 있는 드라마까지 보면, 태생의 한계라 할까? 어쩔수없이 한국은 이런 컨텐츠밖에 못만드는구나 하는 안타까운 마음이다.
- 2000년 초반. 영화에 대거 등장하던 조폭,폭력배 소재가 드라마에 까지 진출했다.
- 재벌,사랑,불륜,이혼,삼각관계,고부갈등,의처증.. 다행이 요즘은 불치병은 나오지 않는다.
- 평범한 주제나 소재를 드라마화 하는 능력?이 부족하여, 늘상 재벌과의 사랑이 주요 소재
- 덕분에 된장녀, 김치녀, 초식남을 대거 양산하는 결과를 낳는데 큰 공을 쌓은 한드이다.
- 재미,교훈보다 특출난 집안과의 관계,가족애,끈끈한 정을 강제 주입하며 뻔한 결말을 냄
- 대놓고 상표 간접 광고하는 기업 협찬을 하면서도 아무런 관련이 없다는듯 뻔뻔하게 발뺌
- 휴대폰 뒷면 상표와 자동차 로고는 가리면서, 스폰받은 치킨집 상호와 가게까지 버저시ㅋ
- 인기 좀 있다 싶으면 회차 늘려가며 질질 끄는 스토리. 6개월 이상... 1년까지도 끌며방영
- 재밌는 부분에서 끊어버리며, 정말 중요한 부분에서는 다음주 예고편을 안보여줌
- 일본 드라마 리메이크 작품이 너무 많다. 휴......... 정말 짜증나는 부분이다.
- 시트콤 재밌는데 왜 안해주는지 모르겠다.

* 일본 드라마
어떠한 드라마든 매회 교훈을 꼭 남긴다. 
드라마에서 다루는 소재가 너무도 다양하다. 
드라마 대부분이 만화가 원작인데, 만화가 발달한 일본답다는 생각이 든다.
대하 사극 드라마,TV소설 같은 일일 연속극을 제외하면 대부분 10화 내외로 끝나는 
짧은 구성으로 어떠한 드라마든 부담없이 완주하여 드라마를 볼 수 있다.
사극같은 경우 철저한 고증 검증을 한 경우가 많다.
재미있고 교훈도 있는 일본 드라마지만, 단점도 있기 마련
- 과장해서 오버 연기(물론 극중 재미를 위한것이라 지만, 현실감이 상당히 떨어짐)
- 1,2회는 상당히 진중하고 무게감있는 드라마이지만, 회차가 갈수록 극중 인물들의 오고가는 대화속에 부담감이 사라지는것이 장점이자 단점.
- 단순한 재미만을 위한 SF 만화같은 드라마가 꽤 많으며, 1화는 커녕 10분도 보기 힘들다.
- 드라마를 영화화하여, 극장판으로 개봉. 딱히 재밌는것도 아니고...
- 드라마 속에서 도저히 화합할 수 없을것같은 관계마저도 화합으로 결과를 이끌어낸다.
- 웃기기위해 만든 드라마랄까? 웃음을 쥐어짜내는 시트콤이 없다.

* 미국 드라마(영국,캐나다 등 영미권 드라마를 통칭하여 미드로 부르기로 함)
미드에 이제 갓 빠지기 시작하여, 판단을 내리기 어려운 부분도 있지만, 나름 정리해보면
- 미드 대부분이 CSI 같은 범죄 수사물이 위주이다. 한드의 사랑타령같은 느낌이랄까?
- 시즌(후속편)이 너무 길어진다. 보통 시즌5까지 연재하며, 종종 시즌 9, 시즌 10까지 있는걸보면 정주행의 두려움이 몰려온다.
- 시즌간의 텀이 너무 길다. 시즌2 끝나고 시즌3을 보려면 1년을 넘게 기다려야 한다...그러므로 완결난 미드를 한번에 몰아서 정주행하여 보는것이 좋다.
- 셜록(홈즈) 같은 경우 한시즌당 3편이 끝인데, 시즌이 끝나고 1년을 기다려야 했다...ㄷㄷ
- 이유는 모르겠지만, 시즌 주행중 스토리가 빨리 진행되지 않고 루즈하게 느슨해져 등장인물들이 아무것도 안하는 장면들이 더러 있다. 
- 특수분장효과,3D그래픽효과가 정말 뛰어나다.
- 미국드라마에서 특히 흑백논리, 선과 악의 구분이 강하다. 나쁜놈은 끝까지 그냥 나쁜놈.
- 개개인 연기자들의 연기가 뛰어나며 스토리구성도 탄탄하여 정서적 몰입감이 강하고, 정말 실제 사건이며, 실존하는 인물인듯한 느낌을 강하게 받는다.
- 미국드라마에서는 주인공도 주인공이지만, 주변의 인물들과의 팀업,협동심을 강조한다.
- 서양과 동양이라는 정서적,문화적 차이 때문에 공감가지 않는 내용이 더러 있다.


요즘 빠져있는 미드는 Agents of SHIELD 이다. 

마블 코믹스 원작으로, 영화 아이언맨,토르,캡틴아메리카의 스토리와 연계되는것이 특징.
영화와 드라마 모두 보아야만 스토리가 이해되는것이 더 재밌는점이라 할 수 있다.

짧게 소개하자면~
영화 어벤저스에서 토르 동생 로키에게 심장이 뚫려 죽은, 콜슨 요원이 되살아나 쉴드를 이끌어가는 내용이다. 영화 스토리와 연계되므로 ~ 영화를 재밌게 봤다면 꼭 봐야할 미드~

영화 어벤저스는 마블 코믹스의 영웅들이 모두 나오는 영화이므로, 어벤저스를 보기전에
아이언맨,토르,캡틴아메리카,헐크를 모두 보고난 후 보는것이 맞다.

그러므로 개별 영웅 영화를 모두 보고, 어벤저스1을 본 후에
에이전트 오브 쉴드 미드를 봐야한다. 곧 개봉할 어벤저스2를 위해서라도 ㅎㅎ
어쩌면 엑스맨까지 섭렵해야 할 수도 있다. 어벤저스2에는 엑스맨의 영웅도 등장하므로

미드 만세 !

2014년 10월 12일 일요일

킹덤러쉬, 킹덤러쉬 프론티어 핵 버전

타워를 지을 수록 돈이 늘어나는 핵 버전 입니다. ㅋㅋ

프론티어 핵버전의 경우, 유료버전에서만 즐길 수 있는 영웅까지 무료로 즐길 수 있습니다.

해킹된 버전이라 불똥이나 용병의 시간제한도 없고,

돈걱정없이 마구마구 업그레이드를 할 수 있지만, 재미는 반감되네요.ㅎㅎ




http://www.hackedarcadegames.com/game/9843/Kingdom-Rush.html

http://www.hackedonlinegames.com/game/1629/kingdom-rush-frontiers-rise-of-heroes

Kingdom Rush Frontiers(킹덤 러쉬 프론티어) 간략 리뷰

킹덤 러쉬의 후속작인
킹덤 러쉬 프론티어 입니다.

1편보다 나아진 이야기 전개와 훨씬 강력해진 그래픽 효과
1편의 단점이었던 영웅 시스템이 개편되었는데요.
별15개 따위는 없어지고, 처음부터 영웅이 게임속에 함께 등장하며,
모은 별로 영웅의 스킬을 올릴 수 있도록 바뀌었습니다.
1편의 레벨 초기화와는 달리, 영웅의 레벨도 계속 유지됩니다.

프론티어 = 미지의 개척지 라는 타이틀 답게
게임상에 사막, 정글, 외계 생명체 까지도 나오며
1편과 다른 타워 업그레이드 형태로 게임이 1편보다 재밌어 졌습니다.

그리고 곧 후속작 킹덤러쉬 오리진이 나올거라는데, 역시나 기대가 되네요~

아래 주소의 콩그레게이트 사이트에서 플래쉬 게임으로 할 수 있고,
아이패드나 스마트폰으로도 할 수 있습니다.

www.kongregate.com/games/Ironhidegames/kingdom-rush-frontiers

캡쳐 화면으로 게임을 살펴보겠습니다.


게임을 시작하면 기본 난이도를 정할 수 있는데요.
CASUAL 캐주얼로 하는게 좋습니다.
베타랑으로 해도 특별한 혜택이 있는건 아니네요.


전작에 비해 모을 수 있는 별의 갯수도 77개로 늘었습니다.
START HERE! 로 게임을 시작하기전에 HERO ROOM 
달라진 영웅 시스템부터 살펴보겠습니다.


처음엔 ALRIC 알릭(전사) 하나만 고를 수 있는데요.
계속 게임을 진행하다보면, 그 옆의 
MIRAGE 미라지 (암살자)와 CRONAN 크로난 (소환술사)도 고를 수 있습니다.
나머지 6개 영웅은 유료 결제를 해야 고를 수 있네요. 
가격은 영웅 하나당 1달러~5달러(1000원~5000원 정도) 입니다.


별이 모자랐던 1편과는 달리
2편에서는 영웅과 타워 업그레이드를 모두 하고도
별이 10개나 남습니다. 좋아졌네요!


게임을 시작하면 캠페인 모드부터 할 수 있습니다.
첼린지 모드는 캠페인 모드를 모두 클리어 한 후 하는게 
정신적 평화를 가져다 줄겁니다.


캠페인 모드를 시작하면,
미국 코믹풍의 만화 이야기 전개가 펼쳐집니다.
흥미진진하니 이야기 전개를 모두 보는걸 추천합니다.
영어사전 필수!?


난이도는 쉬운걸로 했어도, 1편보다 조금 어려워졌습니다.


옵션화면입니다. 
RESUME (리쥼) 계속하기
QUIT (큍) 빠져나오기
RESTART (리스타트) 재시작하기 


게임에 이기게 되면 별을 받게됩니다.
적의 통과를 허용하게되면, 별 1개~2개를 받게되니 주의!


2편의 최종보스 입니다.
1편의 최종보스는 극강 HP 체력의 악마였는데,
2편의 최종보스는 우주괴물입니다.
금방 죽을것처럼 HP 체력이 약하게 보이지만,
몇번이고 다시 살아납니다. 한 10번은 부활한것 같네요.
타워를 막 없애버리는 녀석이므로
돈을 많이 모아놓고 있다가 재빨리 다시 지어야 합니다.


게임이 끝나면 역시나 미국풍의 만화가 등장!
스포가 있을 수 있어 스토리는 말하지 않겠습니다.
후속편이 기대되는 이야기 전개네요.


2편에서 주의사항입니다.
2편의 사막, 정글, 해적선은 할만합니다만... 우주동굴 맵으로 오게되면
상당히 난이도가 어려워집니다.
순간이동하는 몬스터와 공격을 받으면 투명해지는 몬스터가 있는데
으...; 용병 스킬을 잘 활용해야 하겠습니다.

끝으로 공식 동영상을 보고, 리뷰를 마칩니다.
후속작 킹덤 러쉬 오리진이 나오면 그때 또 만나요~

Kingdom Rush(킹덤 러쉬) 간략 리뷰

아기자기한 그림체가 예쁜
디펜스 타입의 플래시 게임입니다.

아래 주소의 콩그레게이트 사이트에서 게임할수있으며,
아이패드나 스마트폰으로도 가능합니다.


캡쳐 화면로 게임을 살펴보겠습니다.


스타트 버튼을 누르면 게임저장 슬롯이 3개가 나옵니다.


NEW GAME 을 선택하면 지도가 나오는데요.
START HERE! 에서 하나씩 클리어 할때마다 별을 줍니다.
62개까지 모을 수 있는데요.
이렇게 모은 별로 게임에 영웅을 추가하거나
타워 및 게임 스킬 업그레이드를 할 수 있습니다.


프리미엄 콘텐츠를 이용하려면, 페이팔 결제를 해야합니다.
새로운 맵이 추가되고, 영웅을 고를 수 있다고 하네요.


유료든 무료든 영웅은 별을 15개 모아야 선택가능합니다.
무료버전에선 상단의 3개 영웅만 선택할 수 있네요.


업그레이드 가능한 타워 및 스킬 목록입니다.
레벨에 따라 별1개부터 4개 까지 소모되며,
62개 전체를 모으면 모두 업그레이드 가능하지만
영웅은 고를 수 없습니다. 
타워,스킬을 모두 마스터 하든지
영웅을 선택하고, 타워 업그레이드는 부분만 하든지
택1 해야 합니다.


지도화면에서 사전 아이콘을 누르면 뜨는 화면입니다.
게임에 나오는 타워,몬스터,팁 등의 백과사전 형식입니다.


타워를 살펴보면, 초반에 건설가능한 4개의 티워만 보이며
나머지 업그레이드 했을때의 타워는 자물쇠로 잠겨져있네요.
데미지와 공격속도, 공격범위, 특이사항 등이 나옵니다.


지도맵에서 순차적으로 퀘스트를 깰때마다 추가되는 
몬스터 목록입니다. 역시나 자물쇠로 잠겨져 있네요.
HP, 공격력, 저항력 등을 확인할 수 있네요.


팁과 힌트화면인데, 영어라서 잘


게임을 클리어 할때, 숨겨진 미션같은것으로
미션 조건에 맞으면, 뱃지를 획득하게 됩니다.
뱃지를 획득한다고 해서, 특별히 달라지는건 없나봅니다.


지도에서 START HERE! 버튼을 누르면 이런 화면이 나옵니다.
게임모드를 설정할 수 있는데요.

캠페인(이야기) 모드 : 별1~3개 획득
히로익 첼린지(용감한 도전) 모드 : 별1개 획득
아이론 첼린지(강한 도전) 모드 : 별1개 획득
이렇게 3종류가 있습니다. 

캠페인 모드를 클리어해야 첼린지 모드를 할 수 있네요.



게임난이도를 선택할 수 있습니다.

EASY 이지(쉬운) 모드
NORMAL 노말(보통) 모드
HARD 하드(어려운) 모드

3종류가 있는데요. 모두 EASY 모드로 클리어하는게 좋습니다.
HARD 모드로 했다해서 특별히 혜택이 있는건 아니네요.


게임 모드를 고르고 시작을 하면, INSTRUCTIONS 인스트럭션
게임 설명이 나옵니다. 귀찮으므로 SKIP 스킵합니다.
하다보면 저절로 다 알게되어 있으니까욬ㅋ


그래도 하나씩 NEXT 를 눌러 봅니다.
병력이 나오는 타워는 랠리포인트를 찍을 수 있고
타워마다 범위가 있으므로 지도모양에 따라 잘 선택합니다.


게임이 시작되면 돈과 하트가 주어집니다.
WAVE 0/7 은 적들이 7번 몰려온다는 겁니다.

지도상의 타워를 놓을 수 있는 곳에다, 타워를 건설 합니다.
꼭 BUILD HERE! 에 안해도 됩니다. 최대한 많이 타워를 세우고, 
빨간 동그라미의 해골바가지를 누르면 적들이 몰려 나옵니다. 
오른쪽 하단의 START BATTLE! 을 눌러도 되고요.


잠시 볼일이 있어 마우스로 다른 화면을 보게되면,
자동으로 게임이 일시중단됩니다.
화면을 누르면 다시 게임이 이어지니까 걱정 노노~


새로운 적들이 나오면, NEW ENEMY ! 하고 정보를 알려줍니다.
고블린은 LOW HEALTH 낮은 체력과 AVERAGE SPEED 보통 속도
네요. OK! 를 누르면 몰려나오기 시작합니다.
NEW ENEMY! 는 꼭 안봐도 됩니당.


적들이 몰려오는 동안, 또 해골바가지가 뜹니다.
해골을 빨리 누르면 누를수록 추가로 보너스 돈이 오릅니다.
하지만, 몬스터들이 쉴세없이 쏟아져 몰려온다는..
일정시간이 지나면 자동으로 해골이 없어지고 몰려오긴하지만;


그리고 게임상의 스킬(능력)이 2개 있는데
하나는 용병 2개를 소환하는것이고
또 다른 하나는 메테오(불의 비?) 입니다.
레인 오브 파이어라고 나오는데, 적당한 번역이 생각이 안나네요.

두 스킬 모두 한번 쓰고나면, 일정시간 후에 다시 쓸 수 있습니다.
용병 2마리는 몇초있다가 금방 사라지니 주의!
모은 별로 스킬 업그레이드시 용병이나 메테오 업그레이드도 가능.


왼쪽 하단에 칼 모양 버튼을 누르고, 소환할 곳을 누르면
용병이 소환됩니다. 다시 쓰는데 10초 걸린다고 나오네요.


이런식으로 용병이 2,4,6 계속 늘어나지만
일정시간 후에는 모두 사라진다는...


NEW ENEMY! 뉴 에너미! 새로운 적입니다. ORCS 오크
스피드는 느리지만, LIGHT ARMOR 라이트 아머를 가지고 있어
아처(궁수)와 솔저(전사)의 공격에 데미지를 조금 받는다네요.


힌트를 보면 ARMORED ENEMIES 아머를 가진 몬스터는
아처(궁수), 솔저(전사), 머크스맨(포병) 에게 최소의 공격만 받네요.
3개의 타워에 RESISTS (레지스트) 저항이 있는 몬스터므로
마법 타워를 써서 공격을 하는것이 좋습니다.


게임을 하다보면 계속 힌트와 적의 정보를 알려주는데요.
다 볼 필요는 없습니다. 
요번 힌트는 랠리포인트를 찍을 수 있다는 정보인데요.
타워를 선택후 파란깃발을 누르고, 타워 범위안에서 한곳을 찍으면
그곳으로 타워 안의 전사가 이동을 합니다. 유용한 정보이니 꼭 활용을!


레인 오브 파이어(불의 비) 라는 스킬입니다.
재사용 텀 시간이 길어서 자주는 못쓰며, 공격력이 강합니다.
스킬 업그레이드를 하면, 굉장한 화력을 지원합니다.
불똥이 떨어지는 시간차가 있으므로, 적의 이동거리를 생각해
스킬을 써야합니다. 이동경로상 몇발자국 앞에다가 사용하세요.


VICTORY 빅토리
몬스터 WAVE(이동)을 완벽하게 방어 클리어 했을 경우
별 3개가 주어지고요.
2~3마리 이상 통과시켰다면, 별2개나 1개만 받을 수 있네요.
한번 했던 맵이라도, 게임을 다시할 수 있으니까 
꼭 별3개를 받습니다.  


맵 클리어를 하면, 그 다음 맵으로 진행할 수 있습니다.
물론 한번했던 맵을 다시 진행할 수 도 있고요.
진행전에 모은별로 스킬 업그레이드는 하는게 좋겠죠!


스킬은 골고루 업그레이드 하기보단, 자주 쓰는 
특정 타워를 중점으로 업그레이드 하는게 좋습니다.


맵을 클리어 했을경우엔, 이렇게
첼린지 모드를 또 할 수 있는데요.
하트1개에 난이도가 상당히 어려우므로,
캠페인 모드를 모두 클리어한 후 
스킬업그레이드를 모두 마치고 하는것이 좋습니다. 


캠페인을 모두 클리어하면,
유료결제를 유도하는 자물쇠가 걸린 숨겨진 맵이 보이네요.
캠페인 모드를 클리어하고, 첼린지모드까지 클리어하면
지도상의 맵에 별과 날개가 표시됩니다.
분명 전부 클리어 했는데 2개가 모자라요;

끝으로, 영웅 이야길 하자면
게임상에서 상당히 강하긴 한데 안하는게 좋습니다.
레벨 10까지 몬스터와 혼자서 알아서 싸웁니다.
죽어도 몇초 있다가 다시 살아나구요.
그런데,
새로운 맵을 시작할때마다 영웅의 레벨이 1로 초기화 됩니다.
이게 뭔가요;;
그냥 타워 업그레이드만 하는게 더 이득이라는

이상~ 킹덤러쉬 게임의 간략한 리뷰였습니다.


공식 사이트에 가면, 공략 동영상도 있으니 참고하세요.


플러터 단축키

1. 위젯 감싸기/벗기기 비주얼 스튜디오 :   Cmd + . 안드로이드 스튜디오 : Alt + Enter 2. 코드 정렬 비주얼 스튜디오 : Ctrl + S 안드로이드 스튜디오 : Ctlr + Alt + L 3. StatelessWidget ->...