본문 바로가기

Update Macro

Advanced1 - 프로젝트 빌드하기 안녕하세요 개발자 정씨입니다. 현재 해당 프로그램은 개발지식이 전혀 없는 인원이 사용하고 있습니다. 그래서 npm install이나 npm start 등을 .bat파일로 만들어 주었고 이를 실행하고 있는 상태죠. 저는 여기서 "프로그램을 빌드해서 배포할 수는 없을까?" 라는 생각이 들었습니다. 1. pkg 우선 pkg을 global하게 설치합니다. npm install -g pkg 그리고 package.json에 script에 아래와 같이 build 코드를 추가하였습니다. "scripts": { "start": "node main.js", "build": "pkg main.js --out-path build" }, "npm run build" 명령어를 통해 build를 완료하면 디렉터리와 응용 프로그램들.. 더보기
Chapter3 - 프로젝트 구현 1. 구현 Part1 - Login 로그인 페이지로 이동합니다. 설정파일에 저장되어 있는 아이디와 비밀번호를 입력하여 로그인을 진행합니다. 새 페이지(로그인 완료 후 이동되는 페이지)의 로딩을 기다리고 작업 수행 페이지로 이동합니다. const login = async (page) => { await page.goto('https://domeggook.com/ssl/member/mem_loginForm.php'); await page.type('#idInput', process.env.ID); await page.type('#pwInput', process.env.PW); await page.click('#formLogin > input.formSubmit'); await page.waitForNavig.. 더보기
Chapter2 - 프로젝트 구조 1. 프로젝트 개요 프로젝트는 NodeJS로 구성했습니다. 사용자를 위해 CLI 환경이 아닌 Window OS에서 쉽게 동작할 수 있게끔 구성되어야 합니다. 2. 프로젝트 구조 main.js 실질적인 매크로 작업이 수행되는 스크립트 파일 .env 아이디, 패스워드, 실행 간격 등 main.js을 실행할 때 사용되는 설정값 install.bat node_modules을 설치할 수 없는 사용자를 위해 작성된 batch파일 start.bat main.js 스크립트를 실행할 수 없는 사용자를 위해 작성된 batch파일 read.me 프로젝트 정보 및 사용자를 위한 설명서 3. puppeteer 주요 Class 및 함수 puppteer에서 쓰이는 주요 클래스는 다음과 같습니다. brower puppteer han.. 더보기
Chapter1 - 개요 및 요구사항 안녕하세요 오랜만에 돌아온 정씨입니다. 사실 해당 프로젝트는 꽤나 오래전에 진행되었는데, 이제야 블로그를 통해 회고하게 되네요. 바로 시작해보겠습니다 1. 개요 '도매매'라는 사이트에 가입하면 도매매에 등록된 상품들을 자신의 쇼핑몰에 자동으로 업로드해주는 기능을 제공 하지만 신규 상품 정보를 업데이트하기 위해서는 해당 홈페이지에 접속해 일렬의 작업을 수행 또한 이미 품절된 상품들에 대한 업데이트를 자동으로 해주지 않기 때문에 해당 작업은 수시로 해주어야만 함 이러한 일렬의 작업을 자동으로 반복해줄 수 있는 프로그램을 만드는 것이 해당 프로젝트의 목표 2. 요구사항 분석 상품정보 업데이트 가이드라인을 읽어보았을때, 별도의 open-api를 제공하지 않는 것으로 확인 마우스 클릭 및 URL이동을 반복적으로 .. 더보기