최근 포토로그


새들이 알을 두 개 씩 낳는 이유

[새들이 알을 두 개씩 낳는 이유]

생명의 신비 중 하나는, 모든 일에 200% 노력을 기울인다는 점이다.
초식동물에게 뜯어 먹힐 것을 대비해 풀은 두 배로 자라고,
새들이 알을 두 개씩 낳는 것도 만약을 대비하기 위함이다.

- 생존경영 연구소 서광원 소장(이국명, ‘해봤어?’에서 인용)


 

누군가가 누군가의 글에서 인용해 놓은 글을 내가 또 인용한다.

자연은 모든 일에 200% 의 노력을 기울인다는 것.
이러한 생각은 한 번도 해 본 적이 없는데, 모든 생명은 살아 남아 자신의 존재를 알리기 위해 두 배의 노력을 기울인다는 것이다.


나도 자연의 일부인데 나는 살아 남기 위해 노력 하였는가?
이게 최선인가? 확실한가?

최선을 다 하지 않고 왜 나의 존재를 알아주지 않는가 남의 탓으로 돌리기만 했던 건 아니었나 하는 생각을 해 본다.

정말 매 순간 최선을 다 하였는가.
오늘은 이 '생각'에 사로잡혀 있다......


NULL 과 Undefined

Javascript 의 기본 데이터 형식은 아래와 같다.

기본 형식 : String, Number, Boolean
합성 형식 : Object, Array
특정 형식 : null, undefined


NULL 과 Undefined

1. NULL
       - null 은 다른 모든 값들과 구분되는 고유한 값이다.
       - null 은 어떠한 객체도 나타내지 않는 값으로 취급한다.
       - 사용자가 고의로 값을 할당하여 값이 없다는 것을 명시하는 경우이다.

즉, 어떤 변수가 null 값을 가지면 그 변수는 기본 형식(String, Number, Boolean)이나 합성 형식(Object, Array)의 값을 담고 있지 않다는 것을 의미한다. 따라서, 어떤 변수의 값을 초기화하고 싶을 경우에는 null 을 사용한다.
null 이 숫자 문맥에서 사용되면 0, 문자열 문맥에서 사용되면 "null", 불리언 문맥에서 사용되면 false 로 변환된다.

// 숫자열에서 사용하는 경우
alert(1 + null); // 1 + 0 = 1
alert(1 - null); // 1 - 0 = 1
alert(1 * null); // 1 * 0 = 0
alert(1 / null); // 1 / 0 = Infinity
alert(1 % null); // 1 % 0 = NaN

// 문자열에서 사용하는 경우
alert("이것은 " + null + "입니다."); // 이것은 null입니다.


// 불리언에서 사용하는 경우
var a = null;
if (!a) alert("null 입니다.");  // null 입니다.


2. Undefined
       - undefined 는 변수 선언은 되었지만 값은 할당된 적이 없는 변수에 접근하거나, 존재하지 않는 객체 프로퍼티에 접근할 경우 반환되는 값이다.
       - 프로그램이 실행하면서 존재하지 않는 값의 변수를 호출하도록 한 경우 나타난다.

var a;
alert(a); // undefined
alert(b); // undefined
alert("hello"); // 실행되지 않는다.


a 는 변수 선언은 되었으나 값이 할당된 적이 없는 경우의 undefined 이고,
b 는 선언되지 않은 변수를 호출한 경우의 undefined 로, 이 경우는 이후의 script 는 모두 실행되지 않는다.
따라서, 이런 경우는 반드시 undefined 에 대한 체크가 선행되어야 한다.

* tip : typeof

typeof 는 Number, String, Boolean, Object, Function, Undefined 중 하나를 문자열로 반환한다.

var objectA = {};
alert(typeof objectA); // object
alert(typeof objectA.a); // undefined
alert(objectA.a); // undefined
alert(typeof null); // object

JSON 객체의 경우는 객체 생성 후 존재하지 않는 값인 경우 자동으로 해당 멤버 변수가 생성되고 그 값은 undefined 가 된다.
즉, JSON 객체의 선언되지 않은 멤버 변수의 호출에 의한 오류는 없다.

* tip : == 과 ===

== (동등 연산자)의 경우는 null 과 undefined 를 같은 것으로 간주한다.
따라서, 정확한 구별을 위해서는 === (일치 연산자) 또는 typeof 를 사용한다.


escape(), encodeURI(), encodeURIComponent() 차이점

1. escape() <--> unescape()
     아래에 열거된 문자가 아니면 모두 변환하며, 1 byte 문자는 %XX 형태로, 2 byte 문자는 %uXXXX 형태로 변환한다.

ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
1234567890
@*-_+./

2. encodeURI() <--> decodeURI()
escape() 과 동일하다. 단, 인터넷 URL 에서 사용되는 특수 문자 ( : ; / = ? &) 는 변환하지 않는다.

3. encodeURIComponent() <--> decodeURIComponent()
escape() 과 동일하다. 인터넷 URL 에서 사용되는 특수 문자도 변환한다.


아래는 위의 세 함수에 대한 예이다.

CODE

RESULT

[아이패드] 미국계정 생성 시 Please contact iTunes... 오류 해결 방안

일시 : 2010년 12월 24일
이슈 : iTunes 에서 미국계정을 생성하려고 하나 Please contact itunes support to complete this transaction 메세지 발생
시도 장비 : 아이패드
해결 : 아래와 같은 방법으로 계정 생성을 해결함 (payment 는 한국 신용카드로는 등록이 안 되더라구요...)
환경 : 아이패드, 갤럭시S

1) 네이버 검색
        1-1) http://search.naver.com/search.naver?where=nexearch&query=itunes
        1_2) 검색어 : 미국계정 만들기
        1_3) "카페" 목록 중 첫번째 글 (제목_[아이폰 사용팁] 아이폰 미국게정 만들기(아이튠즈 계정))

     이 방법대로 하면 깔끔히 생성이 됩니다.

2) 다만, 윗글의 4.해결방법 > 2)2단계입니다 에서 프로그램을 다운 받아 실행하는 대신, 갤럭시S 의 모바일 AP 기능을 시도해 봤습니다.
         2_1) WIFI 를 끄고, 3G 를 켭니다.
         2_2) 갤S : 메인 메뉴 > 환경 설정 > 무선 및 네트워크 > 모바일 AP > 모바일 AP check > 확인
             --> "WPA 입력 창에 XXXXXX 을 입력하세요" 라는 문구가 나옵니다.

3) 아이패드에서 아이디 생성 (keep going)
         --> 계정 생성 과정을 따릅니다.

Apple 에서 한국 IP 로 미국 지역 설정하는 것을 막았다고 합니다. 어떻게 해도 생성이 안 되더니, 이렇게 하니 되네요. 와웃!
고맙습니다~~


눈이 와요~

by hapumee (w/ Galaxy-S)

며칠 전 아침 출근 시간에 눈이 왔다.
사진에서 눈은 잘 안 보이지만, 우리집 가을이가 눈 오는 걸 너무 빤히 쳐다보드구만...


이해관계자 분류

이해관계자의 분류에 따른 의사소통 접근 방법은 아래와 같이 나뉜다고 한다.
* 능동적으로 프로젝트의 계획 수립과 실행에 참여시키는 것이 필요한 부류
* 일반적인 수준에서 정보를 알리는 정도로 충분한 부류
이해관계자를 꼭 두 부류로만 나눌 수는 없겠지만, 프로젝트를 진행하다 보면 능동적으로 참여해야 하는 그룹들은 뒷전이고 그렇지 않은 그룹이 결정과 정보의 주도권을 잡는 경우가 많다.

프로젝트 성공의 민감도와 프로젝트의 영향도에 따른 아래와 같은 그림이 있다.
Involve Proactively 해야 하는 그룹을 방관하는 경우가 많은 것 같다. 이건 그냥 내 생각.

새는 좌우의 날개가 아니라 온 몸으로 난다



* 판화가 이철수님의 집 www.mokpan.com

1