Ilia
Viktor
Ilia
давай зайдем издалека, какая у тебя архитектура?
Ilia
типа запросы ты в компоненте пишешь или в условном миддлваре стейтменеджера
Aleksandr
мидлваре
Aleksandr
потом селектором беру в компоненте
Ilia
ну вот перед сохранением в стейт тебе и делать это
Роман
Aleksandr
понял) спасибо всем)
Captcha bot
Gshsgshs, если ты не бот, нажми "пять". Удалено: 0.
Captcha bot
Gshsgshs, если ты не бот, нажми "пять". Удалено: 0.
Captcha bot
M D, если ты не бот, нажми "два". Удалено: 0.
Captcha bot
Gshsgshs, если ты не бот, нажми "пять". Удалено: 0.
Captcha bot
Fhdhdg, если ты не бот, нажми "три". Удалено: 0.
Sergei
Viktor
печалька. 🌮 себе всё заграбастал.
Captcha bot
hrud, если ты не бот, нажми "три". Удалено: 0.
Dmitrii
Всем привет! Наведите на мысль, как и с помощью какого подхода решать подобного типа задачи:
Есть количество товара n, которое нужно заказать у разных поставщиков. У поставщиков разные цены (price, в массиве перечислены цены каждого поставщика), разное количество товара в партии (amount), разное количество партий count и цена доставки от поставщика в магазин delivery. Нужно выбрать оптимальный порядок закупки: сначала покупаем у 0-го поставщика 4*50 продукции, затем у 1-го 5*100, остальное покупаем у 3-го
n=1000
price=[100, 200, 300, 400]
amount=[50, 100, 500, 100]
count=[4, 5, 7, 3]
delivery=[0, 100, 5000, 1000]
Ilia
Жадным алгоритмом по идее идти можно
Ilia
Закупаемся у поставщика с минимальной финальной ценой и доставкой, пока у него не кончится товар
Ilia
Пока в голове не могу придумать чтобы это не работало
Ilia
Хотя не, не сработает, поэтому мой вариант плохой )
Viktor
Можно попробовать бектрекингом, напомнило вот эту задачку (https://leetcode.com/problems/shopping-offers/), но только n в данном случае, кажется, очень большой.
Viktor
рекурсия захлебнётся.
Viktor
а, не. я не про тот n подумал. какая может быть максимальная длина поставщиков?
Viktor
то есть длина массивов
Viktor
если не больше 10 — то попрёт.
Dmitrii
Captcha bot
Y C, код неверный, обратись к админу.
Captcha bot
Yu, если ты не бот, нажми "три". Удалено: 0.
Viktor
Привет, а никто случаем не ищет удалённую работу из «страны проживания» в https://automattic.com/? А то до меня дошёл рекрутер, с которой мы даже 40 минут поговорили, могу сказать заранее как у них устроен собес, никаких алгосиков. Я в любом случае к ним пойти не могу потому что тогда меня выпрут из страны 🤣
Viktor
Если интересно, пишите в лс. Я отправлю все это рекрутеру.
Viktor
В кор-тим вордпресса, на реакта его переписывать.
Gennady
Омг, вордпрес на реакте ) Это хотя бы про админка речь? )
Viktor
Да мне кажется они все на реакт переделали, и даже бекенд на ноду.
Viktor
У них есть и другие продукты, например, тамблер. Помню был на слуху когда-то, хз что с ним сейчас, правда.
Viktor
Собес у них интересный. Они добавляют тебя в слак, в специальный канал, в репо, и дают относительно реальное тестовое задание на 40 часов, можно делать месяц. Ты делаешь и общаешься в канале будто это реальная задача и ты уже работаешь. Они платят за это, по какой-то ставке в час.
Viktor
И после вы решаете подходите друг другу или нет.
Viktor
Если нет, то ок, тебе оплатили время.
Viktor
Если да, то заключаете договор.
Viktor
И продолжаешь работать уже с открытыми всеми каналами и внутренними тулзами
Viktor
Это прикольно. Помогает понять как реальная работа выглядит у них, общение, все такое.
Viktor
Я рассказал рекрутеру как выглядят собесы в фаанге, она сказала, что это безумие 🤣
Volodymyr
Volodymyr
Viktor
Но единственное что они не делают визы. Так что надо жить где живешь легально и открывать ИП
Viktor
Так что для переезда это не вариант.
Viktor
Раз в год собираются на попойку, и на этом все. Остальное время все удалённо и асинхронно.
Viktor
Поэтому видимо и собес такой, в том числе проверка можешь ли ты работать полностью самостоятельно
Captcha bot
Ghghhh, код неверный, обратись к админу.
Captcha bot
Hk, код неверный, обратись к админу.
Captcha bot
Peter, если ты не бот, нажми "три". Удалено: 0.
Sergei
Wordpress активно двигается в направлении реакта, год назад где-то анонсировали headless версию, чтобы статику генерить на gatsby/next и тп
Sergei
Viktor
Sergei
Закину сюда рассылку, которая вскоре станет платным курсом по компиляторам, вдруг кому-то будет интересно https://www.compilersforhumans.com/
🤍❤️🤍🇺🇦
подскажите, пожалуйста, как такое реализовать, может есть примеры где.
нужно сделать 2 хука
const process = useProcess();
const send = useSend();
send(to, value)() - возвращает промис
нужно, чтобы можно было так вызвать process(send(to, value), 'test')
process внутри себя вызывает send(to, value)()
и записывает в какой-нибудь контекст данные в виде [{ name: 'test', status: 'pending' }] и в зависимости от результата промиса меняет 'pending' на 'resolved' или 'rejected'
как такое можно сделать? Буду благодарен за любой пример.
Ilia
подскажите, пожалуйста, как такое реализовать, может есть примеры где.
нужно сделать 2 хука
const process = useProcess();
const send = useSend();
send(to, value)() - возвращает промис
нужно, чтобы можно было так вызвать process(send(to, value), 'test')
process внутри себя вызывает send(to, value)()
и записывает в какой-нибудь контекст данные в виде [{ name: 'test', status: 'pending' }] и в зависимости от результата промиса меняет 'pending' на 'resolved' или 'rejected'
как такое можно сделать? Буду благодарен за любой пример.
если я правильно понял, нужно что-то типа такого
const send = (to: string, value: object) => () => fetch(to, {
body: JSON.stringify(value)
});
const processRequest = async () => {
const [data, setData] = React.useState({});
return [(callback: () => Promise<unknown>, data: object) => {
setData({...data, [name]: 'pending'})
callback().then(
() => {
setData({...data, [name]: 'resolved'})
},
() => {
setData({...data, [name]: 'rejected'})
}
)
},
data
];
}
ну там промис только написать нормальный, данные обработать и типизацию(если тс нужен)
🤍❤️🤍🇺🇦
если я правильно понял, нужно что-то типа такого
const send = (to: string, value: object) => () => fetch(to, {
body: JSON.stringify(value)
});
const processRequest = async () => {
const [data, setData] = React.useState({});
return [(callback: () => Promise<unknown>, data: object) => {
setData({...data, [name]: 'pending'})
callback().then(
() => {
setData({...data, [name]: 'resolved'})
},
() => {
setData({...data, [name]: 'rejected'})
}
)
},
data
];
}
ну там промис только написать нормальный, данные обработать и типизацию(если тс нужен)
а как можно сделать, чтобы send и proccess были хуками?
Ilia
🤍❤️🤍🇺🇦
https://ru.reactjs.org/docs/hooks-overview.html
грубо говоря кастомные хуки выглядят как-то так
export const useSend = (to: string, value: object) => {
...
return что-нибудь;
};
в хуках можно использовать тоже самое, что и в компонентах (стейт и т.д., у них есть lifecyrcle)
Ilia
Ilia
И какой хук возможен в первом варианте? Что там сохранять?
Bartsev
🤍❤️🤍🇺🇦
понял, затупил, спасибо
Captcha bot
John, если ты не бот, нажми "пять". Удалено: 0.
Captcha bot
Yt Ui, если ты не бот, нажми "три". Удалено: 0.
Captcha bot
Sm, код неверный, обратись к админу.
Порридж В Ко-ливинге
Хотите неьольшую загадку по JS? Конечно хотите! 😃🤣
Обычно если вы хотите вставить между каждым символом и по бокам строки какую-то другую строку, вы делаете так:
var base = '123'.split('').join('a');
var str = 'a' + base + 'a'; //expect 'a1a2a3a'
Но это можно сделать всего лишь одним методом строки! Как?)
Viktor
Порридж В Ко-ливинге
Viktor
Даже с ES5 можно
Я б делал как и ты, только в массив бы после сплита вставил ещё две буковки, а потом сразу джоин
Порридж В Ко-ливинге
Bartsev
Ага
только если регулярка
Порридж В Ко-ливинге
только если регулярка
Там через // регулярку не получится собрать, надо будет через конструктор
Порридж В Ко-ливинге
В ES6 можно уже без регулярки
Порридж В Ко-ливинге
Отчет через 10 минут запощу, пойдёт?)