๐ Uber Eats๊ฐ ๋ด ์ธ์์ ๋ง์ณค์ต๋๋ค - NodeJS๋ก ํด๊ฒฐ
4675 ๋จ์ด javascriptnode
์ ๋ Uber Eats์์ ํ ๋ฌ์ 600๋ฌ๋ฌ ์ด์์ ์ง์ถํ์ต๋๋ค. ๋ด ๋ง์๊ฐ์ง์ "๋ ธ๋ ฅ์ด ๋ ๋๋ ์ผ์ ์๊ฐ์ ๋ ์ฐ๊ณ ๋ด ํ๋ก์ ํธ์ ์ฝ๋ฉ๊ณผ MVP๋ฅผ ๋ง๋๋ ๋ฐ ๋ ๋ง์ ์๊ฐ์ ํฌ์ํ์ธ์"์์ต๋๋ค.
๊ทธ๋์ "Uber eats"์ ๋ค์ด๊ฐ๋ ค๊ณ ํ ๋๋ง๋ค ๋ด ํค ์ ๋ ฅ์ ๋ฃ๊ณ ๋๋ฅผ ๊ดด๋กญํ๋ ์คํฌ๋ฆฝํธ๋ฅผ ๋ง๋๋ ๊ฒ์ด ์ฌ๋ฏธ์๋ ํ๋ก์ ํธ๊ฐ ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.
๋ค์์ ์ ์ฒด ๋ด์ฉ์ ์ค๋ช ํ๋ ๋น ๋ฅธ YouTube ๋์์์ ๋๋ค.
์ผ๋ถ PC์ ๊ฒฝ์ฐ ์ด ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ๋ sudo๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
// Twilio API and a Key logger for mac
const client = require('twilio')(twilio_sid, twilio_token);
const GK = require('global-keypress');
// we start the keylogger for mac-os 10.5
const gk = new GK();
gk.start();
// the word we are looking for
const word = 'uber'
let wordBuilder = ''
// lets find it.
gk.on('press', data => {
if (word[wordBuilder.length] === data.data) {
wordBuilder += data.data;
if (word === wordBuilder) {
client.messages
.create({
body: 'I am about to spend 20$ in uber eats, why the fuck are you letting me do this - https://the-cray-bucket.s3.amazonaws.com/vid.mp4',
from: 'whatsapp:+' + from_number,
to: 'whatsapp:+' + mom,
})
.then(message => console.log(message.sid))
.done();
}
} else {
wordBuilder = ''
}
});
dev.to์ ์ฒซ ๋ฒ์งธ ๊ฒ์๋ฌผ์ ์ฝ์ด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ํผ๋๋ฐฑ์ ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ Uber Eats๊ฐ ๋ด ์ธ์์ ๋ง์ณค์ต๋๋ค - NodeJS๋ก ํด๊ฒฐ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/freddyjd/uber-eats-ruined-my-life-solved-with-nodejs-fun-2548ํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค