IT공간 18

Spread Operator (전개 연산자)

javascript ES6에서는 세개의 점 (...) 으로 이루어진 스프레드 연산자를 제공한다. 스프레드 연산자를 사용하면 배열이나 객체를 원하는 만큼 빠르게 복사, 병합, 분해할 수 있다. 1. 복사 (Copy) 값에 의한 복사로, 기존 배열이나 객체의 값은 바뀌지 않는다. /* 배열복사 */ const numbers = [1, 2, 3, 4, 5]; const copy = [...numbers]; console.log(copy); // [1, 2, 3, 4, 5] /* 값에 의한 복사 확인 */ numbers[0] = 9; console.log(numbers); // [9, 2, 3, 4, 5] console.log(copy); // [1, 2, 3, 4, 5] /* 객체복사 */ const user..

IT공간/JavaScript 2022.05.19

비구조화 할당

객체 비구조화 할당 const ironMan = { alias: '아이언맨', name: '토니 스타크', actor: '로버트 다우니 주니어' }; const captainAmerica = { alias: '캡틴 아메리카', name: '스티븐 로저스', actor: '크리스 에반스' }; function print(hero) { const { alias, name, actor } = hero; const text = `${alias}(${name}) 역할을 맡은 배우는 ${actor} 입니다.`; console.log(text); } print(ironMan); // 아이언맨(토니 스타크) 역할을 맡은 배우는 로버트 다우니 주니어 입니다. print(captainAmerica); // 캡틴 아메리카(..

IT공간/JavaScript 2022.05.16

Truthy와 Falsy

Falsy는 null, undefined, 0, '', NaN 이 다섯가지를 뜻한다. Truthy는 Falsy가 아닌 것이니 !Falsy다. console.log(!null); // true console.log(!undefined); // true console.log(!0); // true console.log(!''); // true console.log(!NaN); // true 아래와 같이 truthy, falsy에 대한 검증을 할 수 있다. let value = "트루티한 abc"; console.log(value || "출력값은 falsy 입니다."); // "트루티한 abc" value = null; console.log(value || "출력값은 falsy 입니다."); // "출력값은 ..

IT공간/JavaScript 2022.05.16

현대IT&E

직장명 : 현대IT&E 기간 : 2017.02 ~ 2022.05 현대아이티앤이에서 만 5년 넘게 근무를 했다. 과거에는 현대백화점그룹 IT가 현대그린푸드의 IT사업부 소속이었는데 물적 분할로 2018년에 현대IT&E로 떨어져나왔다. 그린푸드 시절에는 정체성이 모호해서 내 회사소개를 할 때 '저 그린푸드 다녀요' 라고 하면 항상 '캐터링 일 하시는군요' 라는 주변 반응이었고 설명하기도 귀찮아서 나중에는 현대홈쇼핑, 현대백화점에 다닌다고 했다. IT&E가 되면서 정체성은 찾았지만 또 경영적인 측면에서 고충을 계속 안고있는 회사이기도 했다. VR스테이션을 야심차게 오픈했다가 큰 적자를 봤다던가, 전 그룹사 파견이다 보니 부바부 현상도 심했고 IT가 항상 을의 위치에 있다는 느낌도 받았다. 하지만 이건 나중 얘..

[베스트케이스] QR코드 주문 도입 건

[2020년 현대홈쇼핑] 요즘 홈쇼핑 채널을 보면 방송화면 우측상단에 QR코드가 박혀있는걸 흔히 볼 수 있다. 나는 업계 최초로 QR코드 앱 인입부터 결제완료까지 진행되는 내부 프로세스 개발을 했다. 고객담당 현업 : 방송화면 우측상단의 QR코드를 찍으면 현대Hmall 앱이 실행되고, 방송상품 구매페이지로 이동되게 하고싶어요. 이 경로로 인입되면 할인쿠폰도 줄거에요! 코로나 때문에 QR코드에 관심이 많은 시기였는데 업계 최초로 방송쇼핑에 활용하다니 상당히 좋은 아이디어였다고 생각한다. QR코드는 URL을 네모나게 바꾼거다. QR코드 변환 사이트에서 아무나 만들 수 있다. https://ko.online-qrcode-generator.com/ 요즘 폰은 카메라앱을 켜고 QR코드를 찍으면 바로 모바일 브라우..

삼드로이드 - Samsung applied 'FixedAspectPolicy'

2020년 10월, 갤럭시 폴드에서 현대Hmall 안드로이드 앱이 이상하게 보이기 시작했다. 원래 꽉 찬 화면으로 나오는게 정상이다. 그런데 어느날 모든 폴드 폰에서 갑자기 오른쪽처럼 까만 테두리에 긴 비율 화면으로 나오고 있었다. 진짜 이상한 일이 아닐 수 없었다. 앱 수정 배포를 한 것도 아니고, 폴드폰 OS가 업데이트 된 것도 아니었다. 나는 아무것도 하지 않았는데 이렇게 됐다. 처음에는 앱이든 폰이든 내가 잘못 건드린줄 알고 몇 주간 삽질을 했다. 전혀 원인을 알 수 없던 나는 지푸라기라도 잡는 심정으로 삼성SW 개발자에게 다이렉트로 메일을 남기게 된다. (지금은 사라졌는데 samsung developers 커뮤니티에서 외국인 삼성직원한테 문의메일을 보낼 수 있었다. 짧은 영어지만 메일로 이런걸 ..

냉장고 자석 500만원에 팔려던 업체 참교육한 썰

[이전 직장에서] 일부 삼성전기 공장에서는 LOT에 NFC태그를 붙이기도 했다. MES앱이 설치된 폰으로 LOT을 찍으면 NFC 고유번호를 읽어서 스크립트 문자열로 던져주는 방식이었다. 나는 그 데이터를 웹 프론트에서 처리하는 개발을 했었고 단위테스트 때문에 NFC카드에 데이터를 writing 하는건 수도 없이 했었다. [3년 뒤, 2020년 현대홈쇼핑] 마케팅 담당 현업 : IT담당자님, 냉동식품 택배상자에 냉장고용 자석을 넣어 고객들에게 배송할거요. 폰으로 그걸 찍으면 현대Hmall 앱이 실행되면서 식품구매 페이지로 이동되었으면 좋겠어요! 나 : (이거 내가 예전에 하던건데...? 엄청 쉽게 할듯ㅋㅋ) 이거 큰 돈 들이지 마세요. 제가 자체 앱 개발할게요. 냉장고 자석 디자인 이쁘게 해주는 업체만 알..

보급형 폰의 뒷통수

같은 폰이라도 내수용 외수용은 다르다 2016년 미라콤 재직당시, 회사가 삼성 계열사였으니 내가 개발한 MES앱은 당연히 안드로이드용 앱이었다. 베트남 공장에는 대략 50명의 작업자가 있었고, 각각 제공된 갤럭시A5폰에 앱을 설치해야했다. 근로자들은 블루투스로 연결된 바코드 리더기로 LOT을 스캔하는 방식으로 생산공정에 투입될 예정이었다. 이를 담당하는 삼성전기 직원은 이 앱을 가지고 삼성전기 베트남 공장에 사용법을 전파하러 1주간의 출장을 갔다. 며칠 뒤 이 직원한테 긴급전화가 왔다. 베트남 현지 갤럭시A5폰에는 블루투스 기능이 없다고 한다. 한국에서 갤럭시A5로 테스트 할 때에는 블루투스가 분명히 있었는데... 정말 뭐 이런경우가 있나 싶었다. 다행히도 MES앱에는 블루투스 기기 대신 카메라로 바코드..

미라콤아이앤씨

직장명 : 미라콤아이앤씨 기간 : 2015.08 ~ 2017.02 업무 : 삼성전기 MES 모바일 웹 개발 업무스킬 : javascript, jQuery, HTML, CSS, 이클립스, SVN, JIRA 2015년 8월, 미라콤아이앤씨에 입사했다. 미라콤은 MES라는 주력 솔루션이 있는 회사로 어느정도 규모가 있는 공장에서는 이 소프트웨어로 생산공정을 관리한다. MES는 Manufacturing Execution System의 약칭인데 생산관리 시스템이라고 할 수 있다. 회사가 SDS의 자회사라 주 고객은 삼성이었고 나는 수원 삼성전기 사업장에서 파견근무를 시작했다. (삼성전자 버스랑 식당 3끼가 무료라 워라밸이 최상이었다!) 이 시기에는 한창 모바일이 뜨고있을 때라 삼성전기는 기존의 PC버전 MES를 ..

타겟SDK 30 적용기 <2 : 토스트 메시지 UI를 함부로 바꾸지 말 것>

토스트 UI를 커스터마이징 한 안드로이드 앱은 쉽게 찾아보기 어렵다. 내가 본 앱 중에서 이걸 커스터마이징한 앱은 우리앱 밖에 없었다. 타겟SDK를 30으로 올리고 앱을 실행한 순간 null point exception 크래시가 났다. 이유는 간단했다. 타겟SDK 30부터는 토스트 메시지 UI를 함부로 바꿀 수 없기 때문이다. API30에서 Toast의 setView 메소드가 Deprecated 되었다고 한다. 뷰가 없어서 처음에 토스트 메세지를 보여주려다가 null... /** * Set the view to show. * * @see #getView * @deprecated Custom toast views are deprecated. Apps can create a standard text toas..

IT공간/Android 2021.11.05