목록전체 글 (110)
유댕이의 개발공부일지
CLI이란 CLI는 Command Line Interface 줄임말이다. 명령줄 인터페이스라는 이름으로 번역이 가능하다. 사용자는 커맨드 즉 문자열을 통해 컴퓨터에게 명령을 하는데 컴퓨터의 응답도 문자열로 출력해주는 방식을 말한다. 맥에서는 Terminal 환경이 CLI 이다.
사건의 발단 배포는 정상적으로 되었지만 접속하면 서비스 접속하면 오류가 발생함. ( _Reflect$construct is not defined ) 결제,배송등 웹뷰를 통한 모든 서비스가 원활하게 되지 않음. 이미지등은 노출되지만 스크립트 오류로인해 액션이 먹지 않음. 문제 해결 Jenkins 에서 이전 버전으로 원복했지만 그럼에도 불구하도 동일한 문제가 발생. 배포된 스크립트를 체크해보았는데 결과물에는 문제가 없음. 라이브러리에 문제가 있다고 판단해서 캐시를 지웠는데 문제가 해결됨. 소스를 deploy하는 배포서버 (alpha1,2,3,4) 에서 npm cache를 비워주면 해결된다. (npm cache verify) [Node.js] npm cache 해결 [Node.js] npm cache 해결 n..
말 그대로 무한 스크롤이다. 페이지를 클릭하면 다음 페이지 주소로 이동하는 pagination과 달리, 지정해준 페이지 하단에 도달하면 새로운 data가 추가로 로드되는 식이다. 설치 npm install --save react-infinite-scroll-component 사용 import React from 'react'; import InfiniteScroll from 'react-infinite-scroll-component'; import Loading from '../loading'; class SelectForm extends React.Component { state = { limit: 20, // 20개씩 받아오기 itemInfo: [], // 화면에 뿌려줄 data isLoding: f..
Github Desktop Github에서는 소스의 add / commit / push 등의 작업을 보다 편하게 할 수 있는 Github DeskTop 기능을 제공하고 있다. 일종의 통합 Tool인 것이다. 사용이 쉽고 매우 직관적이어서 git 또는 GitHub 입문자에게는 강추이다. 현재 우리 회사에선 Github Desktop을 적극 사용하고 있다. pull, push, 다른 레포로의 merge등을 주로 사용한다.(개인적으로 다를 수 있음) [ 설치 방법 ] GitHub Desktop GitHub Desktop Simple collaboration from your desktop desktop.github.com 브라우저에서 자동 감지해서 맥/윈도우를 나눠주기 때문에 딱히 설정할 부분은 없다. 설치 ..
특정 상품에 대한 api를 호출할때 대부분 itemIdx값이 필요한데 알 수 없을때 linkUrl에서 값을 파싱해서 사용 한다. 웹만이 아니라 광고센터, 웹뷰에도 이런 경우가 많기에, 각 레포에 재사용가능한 함수를 만들어 필요한 곳에서 import해 사용하도록한다. 상품종류엔 일반, 자동차(auto), rc카(rc)가 있다. export const linkToIdx = linkUrl => { const itemIdx = linkUrl.indexOf('/auto') !== -1 ? `${linkUrl.replace('hellomarket://~~~/auto/', '')}` : linkUrl.indexOf('/rc') !== -1 ? `${linkUrl.replace('hellomarket://~~~/rc/..
사건의 발단 Android 4.4 버전을 이용중인 회원에게서 배송예약 버튼이 눌러지지 않는다는 오류가 보고 되었다. 재현 안드로이드 4.4 OS를 탑재한 단말기가 없었기 때문에 에뮬레이터를 돌려서 버그를 재현해 보았다. 확인해보니 2가지 증상이 존재하였다. 화면 진입시 Error: Map is not defined 오류 발생. 버튼클릭 동작 안함. 하단 버튼 Flex 레이아웃이 깨짐. 원인조사 조사결과 헬로마켓 WebView에서는 Polyfill 설정이 들어가 있지 않았고, 그로 인해 ES6문법을 지원하지 않는 구형 단말의 WebView(Chrome 30 이하 버전)에서는 오류가 발생했던 것이다. Default Browser on Android 4.0.x Not Working (Blank) to Acce..
NodeJs의 탄생 배경 및 NodeJs란 뭘까? 모든 새로운 학습을 할 때 그 홈페이지에 간단하게 이 기술을 ~ 입니다 라고 간단히 소개를 한다. 노드는 본인을 'node js is a javascript runtime built on Chrome's V8 Javascript Engine' 라고 소개 한다. 하지만 나는 이렇게 한줄로는 느낌이 오질 않다. 아래 내용을 보도록 하겠다. 옛날 html,css와 같은 정적타이핑 언어로 웹사이트를 구성하던 때가 있었다. 하지만 1995년 자바스 크립트가 나오게 되고, 많은 웹브라우저에서 자바스크립트 엔진을 사용하게 되었다. exploler(chakara Engine), safari(javascript-core-Engine), firefox(spiderMonke..
FCM이란 FCM은 Firebase Cloud Messaging의 약자로, 무료로 메시지를 안정적으로 전송할 수 있는 교차 플랫폼 메시징 솔루션이다. 모든 사용자에게 알림 메시지를 전송할 수도 있고, 그룹을 지어 메시지를 전송할 수도 있다. FCM이 제공하는 주요 기능 FCM을 사용하여 구현할 수 있는 기능에는 총 3가지가 존재한다. 알림 메시지 전송 or 데이터 메시지 전송 기능또는 사용자에게 데이터 메시지를 전송하고 애플리케이션 코드에서 임의로 처리할 수 있다. 앱이나 웹, 게임 등을 이용하는 사용자에게 알림 메시지를 전송할 수 있다. 다양한 메시지를 전송받을 기기 타겟팅 기능 단일 기기, 그룹 기기, 특정 주제를 구독한 기기 등 3가지 타겟팅 방식으로 클라이언트 앱에 메시지를 배포할 수 있다. 클라..