반응형

javascript에서는 함수를 3가지 방법으로 정의할 수 있습니다.

1. Function 생성자 함수 이용

let add = Function('a', 'b', 'return a + b;');

console.log(add(10, 20));

가장 일반적이지 않은 방법으로서 실무적으로는 사용할 일이 거의 없을 것 같습니다. 다만 다른 함수정의 방식으로 함수를 생성하더라도 내부적으로는 생성자 함수를 통해서 함수가 만들어지게 됩니다. 때문에 javascript에서 모든 함수는 그 자체로 객체 입니다.

2. 함수 선언문 이용

function add(a, b)
{
  return a + b;
}

console.log(add(10, 20));

function 다음에 함수명을 반드시 포함해야 하며, 이 이름으로 함수를 호출할 수 있습니다. 함수 선언문을 이용해 함수를 정의하면 함수 호이스팅(function hoisting)이 일어납니다. 함수 호이스팅은 함수 정의를 소스 유효범위 내 가장 위로 끌어 올리는 것을 말합니다.
그래서 다음과 같이 함수 정의를 하기 전에 함수를 사용하더라도 오류가 발생하지 않습니다.

console.log(add(10, 20));

function add(a, b)
{
  return a + b;
}

3. 함수 표현식 이용

let add = function (a, b)
{
  return a + b;
}

console.log(add(10, 20));

function 다음에 함수명이 없는 익명 함수 리터럴을 사용할 수 있으며 이를 변수에 할당하여 함수를 생성 합니다.
할당된 변수이름 뒤에 괄호를 붙여서 함수 호출을 할 수 있습니다.
이 경우에는 함수 호이스팅이 일어나지 않아서 만약 함수 정의 전에 함수를 사용하면 오류가 발생 합니다.

일반적으로는 익명 함수 형태로 사용하며 함수 내에서 재귀 호출이 필요한 경우에는 다음과 같이 함수명을 사용할 수도 있습니다. 다만 이때의 함수명은 함수 정의 밖에서는 사용할 수 없습니다.

let factorial = function _factorial (num)
{
  if (num > 1)
  {
    return num * _factorial(num - 1);
  }
  else
  {
    return 1;
  }
}

console.log(factorial(5));  // 120
console.log(_factorial(5)); // not defined 에러

 

반응형
반응형

자바스크립트에는 !를 두 개 붙인 !! 연산자가 있는데 !! 다음의 값(피연산자)에 대하여 불린값을 반환한다.

console.log(!!0);
console.log(!!1);
console.log(!!'');
console.log(!!'hello');
console.log(!!false);
console.log(!!true);
console.log(!!null);
console.log(!!undefined);
console.log(!!{});
console.log(!![]);

null 과 undefined는 모두 false 이고, 빈 배열 및 빈 객체는 모두 true 인 점을 주의할 필요가 있다.

당연하겠지만 not 연산자인 !와 함께 !!!를 사용하면 반대되는 불린값을 얻게 된다.

console.log(!!!0);
console.log(!!!1);
console.log(!!!'');
console.log(!!!'hello');
console.log(!!!false);
console.log(!!!true);
console.log(!!!null);
console.log(!!!undefined);
console.log(!!!{});
console.log(!!![]);

false를 다음과 같이 Boolean 객체로 만들면

console.log(!!(new Boolean(false)));

값(valueOf())이 false 라도 객체이기 때문에 true가 된다.

 

반응형
반응형

간혹 디스크의 할당 단위를 확인 해야할 때가 있는데 다음과 같이 가능 합니다.

cmd 창에서 'diskpart' 명령을 입력합니다.

그러면 별도의 창에 diskpart 프롬프트가 나타납니다.

SEL VOL 드라이브명 을 입력 합니다.

이어서 FILESYSTEM 명령어를 입력 합니다.
그러면 현재 선택된 드라이브의 할당 단위 크기가 나타납니다.

diskpart를 끝내려면 EXIT 를 입력 합니다.

반응형
반응형

엠지텍에서 2017년에 출시한 MB-1100X 는 최근 까지도 온라인 쇼핑몰에서 판매를 하고 있는 무선(블루투스) 헤드폰 입니다. 10만원 미만의 가격대에 노이즈캔슬링 기능을 갖추고 있다고 광고를 해서 저도 호기심에 2020년 2월에 쿠팡에서 구매를 했습니다.

사운드는 광고처럼 엄청나게 좋지는 않았지만 부스터 기능을 켜면 괜찮은 편이었습니다.
그런데 얼마 후 다른 블루투스 이어폰을 구매하게 되니까 상대적으로 사이즈도 크고 땀이 차는 헤드폰은 사실 잘 사용을 안하게 되었고 이따금 한두시간 정도 지금까지 누적 30시간 정도의 사용만 했습니다.
그리고 사용 안할 때는 제품 박스에 잘 넣어서 보관해서 먼지나 기스도 거의 없이 새것 마냥 유지 했습니다.

그런데 일주일 전에 오랫만에 MB-1100X로 30분쯤 음악을 듣고 있는데 갑자기 헐거워진 느낌이 들어서 벗어서 확인 해보니 왼쪽 플라스틱 이음부가 부러져 있었습니다. 떨어 트리거나 충격을 준 적도 없었고 깨끗이 잘 보관하다가 모처럼 듣는데 허무하게도 연결부위가 부러져 버린 것 이었습니다.

엠지텍 홈페이지에서 회원가입 후 수리가능한 지 게시판에 문의해보니 가능 하다고 해서 홈페이지에 안내된 대로 왕복 택배비 5천원 동봉해서 보냈습니다.

그런데 택배 보낸지 3일이 되도 따로 안내가 없어서 다시 문의 해보니 다음 주까지 수리가 된다고 답변이 달렸습니다.

그래서 다행이다 생각하고 이때만 해도 기분좋게 기다렸는데 갑자기 이날 오후에 문자가 하나 왔습니다.

좀 황당 했습니다. 불과 몇 시간 전에 다음주까지 수리해서 보내준다고 해 놓고 갑자기 수리가 안되고 제품을 통채로 교체해야 하니 돈을 보내라는 문자가 온 거였습니다. 분명히 처음부터 부러진 부위를 알려 줬고 수리가 된다고 해서 왕복 택배비까지 부담하며 보냈는데 느닷없이 유상 교체를 해야 한다고 하는 거였습니다.

고객센터에 전화해서 위 내용을 전달하니 담당자는 녹음기 마냥 똑같은 말만 반복하고 유상교체 하기 싫으면 자기들이 폐기할 지 다시 돌려 받을지를 결정하라고만 했습니다. 제대로된 사과 한번 없었고 원래 헤드폰 A/S는 수리가 아니라 교체를 해야 되는 거라고만 했습니다. 사전에 한번도 그런 얘기를 들은적도 없었습니다. 그랬다면 애초에 A/S를 보내지도 않았을 겁니다. 화가 치밀어 올랐지만 기계적인 답변에 더이상 어떻게 할 수가 없어서 그냥 다시 보내달라고 했습니다.

이후 구매했던 쇼핑몰의 상품평을 살펴 봤습니다. 놀랍게도 저만 문제가 있는게 아니었습니다. 많은 구매자들이 동일한 문제를 겪고 있었습니다. 제품 자체의 불량임에 틀림이 없었습니다.

이 정도면 분명히 제조사 엠지텍에서 충분히 내용을 알고 있었을테고 내가 A/S 요청했을 때도 동일 문제라는 것을 분명히 알았을 것입니다. 그런데도 모른척 수리가 된다고 하다가 유상교체 입금 문자만 보낸 것이었습니다.

특히 마지막 구매자 사례는 저와 완전 복사판이라고 할 정도로 상황이 똑같습니다. 일단 저질 불량 제품을 팔아 놓고
부러짐 증상 생기면 A/S 된다고 보내라고 했다가 유상교체 문자 보내고. 항의전화하면 전화응대 방법까지 거의 매뉴얼 수준 입니다. 엠지텍에서 불량으로 생산된 특정 제조번호를 인지하고는 그냥 폐기하기는 아까 우니까 일단 판매한 다음, 문제 생긴 고객은 또 돈 받고 다른 정상 제조번호의 품목으로 교체 해주는 얄팍한 상술을 하고 있다는 합리적인 의심이 생깁니다. 실제로 과거(작년까지의) 상품평에는 부러졌다는 얘기가 거의 없고 대부분 올해 이후 구입한 구매자들에게서 특히 많이 나오는 것으로 봐서 매우 수상합니다. 

만약 사실이라면 정말 괘씸하고 나쁜 회사라고 느껴집니다. 이 정도로 열악한 내구성의 제품을 만들어 놓고 버젓히 팔고는 부러지면 돈 받고 다시 교체해 준다고나 하고. 정상적인 품질을 보증하는 회사라면 전량 리콜한 후 구매액 환불을 하든지 문제가 없는 새 제품으로 무상 교체를 해줘야 마땅합니다. 만약 회사에서 공식적으로 이런 제품 불량을 모르고 있었다면 그건 더 큰 문제 입니다. 이렇게나 동일한 결함 사례가 많은데 회사에서 인지를 못 하고 있었다면 이 회사는 품질과 고객 만족에 관심이 없다고 봐야 합니다.

이 따위 제품을 팔면서 회사 홈페지에는 20년 연속 판매 1위 라는 타이틀을 달고 있습니다.

무슨 기준과 근거로 연속 판매 1위라고 주장하는 건지 구체적인 내용도 없습니다. 수많은 구매자들이 동일한 문제로 원성인데도 눈도 깜짝하지 않고 모르쇠로 일관하는 회사가 무슨 혁신이 어쩌고 장인 기업 어쩌고 하는 지 모르겠습니다.
중국산 저가 헤드폰에서도 찾기 힘든 최악의 내구성으로 제품을 만들고 거창하게 광고만 하여 소비자를 기만하는 이런 회사는 더 이상 대한민국에서 없어 졌으면 좋겠습니다.

참 불쾌한 경험 이었습니다. 저와 같은 피해자가 더이상은 나오지 않기를 바라는 마음에 남깁니다.

 

[2020.11.16 추가]
 
이후 약간의 반전(?) 사건이 발생하여 추가 포스팅 합니다.
엠지텍 제품의 부실함을 이곳에 포스팅 하고 엠지텍 Q&A 게시판에도 리콜 요청의 글을 두 차례 올렸습니다.
두번째 게시물을 올린 당일 관리자 댓글이 달렸습니다.

제품 결함을 인정하지 않고 고객의 사용상 부주의라고 하면서 유상교체만 된다고 하더니 갑자기 태도를 바꿔서 무상으로 교환처리 해주기로 결정 했다고 합니다. 굳이 사람을 이렇게 힘들게 하고 시끄러워질거 같으니까 마지못해서 무상으로 교체해 주겠다고 하니 만감이 교차 했습니다.

그러나 교체한 제품에서도 언제든지 동일 문제가 또 발생할 수 있으므로 결함이 확실히 없는 생산품으로 교체 해달라고 하니 다시 답변이 달렸습니다.

MB-1100X가 아닌 상위 모델로 제공해 준다고 합니다. 결과적으로 엠지텍에서도 MB-1100X 모델의 결함을 인정한 것이나 다름 없는 것으로 보입니다. 그래서 1100X를 엠지텍으로 택배로 다시 보냈고 며칠 후 실제로 MB-2000X 모델이 교환되어 도착 했습니다.

일단 육안상 기존 모델보다 더 튼튼해 보이기는 한데, 부디 이 제품은 동일 문제가 발생하지 않기를 고대하고 있습니다. 

그리고 저와 동일한 결함이 발생한 MB-1100X 사용자분은 엠지텍에 A/S 신청하셔서 새 제품으로 무상교체 받으시기 바라면서 힘들었던 A/S 기를 마칩니다. 그래도 해피엔딩이라 다행스럽게 생각 합니다^^

반응형

'생각' 카테고리의 다른 글

프린트 한 장 하자고...  (0) 2019.01.24
델파이의 상승세  (2) 2017.03.10
Microsoft 사의 Wunderlist 인수를 보며  (0) 2015.06.04
IT업체선정의 중요성  (0) 2011.02.10
JD Edwards의 문제점  (4) 2010.04.09

+ Recent posts