Anonymous
скорее раст/кресты
Andrey
скорее раст/кресты
не, если фортран до сих пор юзают, то сям сам бог велел долго существовать )
Anton Standrik
Есть какие-то гайды как правильно писать на реакте? Чтобы не плодить велосипеды на костылях
Oleg
На атомных станциях существует 3 поколения программистов. Старые юзают старые технологии и считают их самыми правильными ибо объективно это так, а остальные ещё пороха не нюхали, оболтусы всякие. Средние считают что старые технологии пора отправлять на покой, нужно использовать современные, но проверенные временем технологии ибо совсем новые они ещё 10 раз умереть успеют также как и появились и вообще не стабильны, но и слишком старые не очень, в них нет современных подходов разработки. А самые молодые программисты считают что всё что есть сейчас это древних хлам, устаревший и не нужный и нужно брать самое новое, самое нужное ибо там всё верно сделано, учтены ошибки прошлого, делается всё в разы быстрее, проще и эффективнее и старый хлам не нужен.
Oleg
И все они правы, но каждый по своему.
Anonymous
кажется такая точка зрения ошибочна, в рамках всех яп, каждый выполняет свою функцию
Nikolay
каждый ЯП вводит свои уровни абстракции
Anonymous
а вот внутриязыковая эволюция должна переступать и не задерживаться на старом, а использовать опыт для новых вещей
Anonymous
консерватизм задерживает всех
Dmytro
на атомных станциях есть свои программеры или им пишут софт стороннии компании?
Nikolay
вообще интересно какой софт используют на АЭС
Dmytro
за тобой уже выехали 😂
Anton Standrik
Как-то профессор по дискретной математике спросил нас: как вы думаете, сколько флоп в системах, контролирующих противоракетные установки
Anton Standrik
на наше молчание он ответил: нисколько, не до того им
Andrey
Nikolay
ох уж эти jquery писатели
if ($(".js-tagForceParent")) {....}
Дима
Он зассал, а автор left-pad нет 😂
Oleg
C leftpad интересно получилось, да
Nikolay
leftpad показатель того до чего мы докатились
Дима
Дима
В суд идти, пикетировать офис нпм?
Vlad
суд?
Vlad
он не попадает под юрисдикцию сша
Vlad
поэтому это странное требование к нему
Дима
Естественно
Дима
История же не про left-pad, а про kik
Дима
Который просто отобрали и все
Дима
А автор в ответ и выбрал для отзыва максимально используемый пакет из своих
Vlad
он не выбирал
Vlad
он просто все удалил
Дима
Бтв, не знаю что ещё заставило бы людей обратить внимание на юридический рэкет в среде open source
Vlad
поэтому хочу, чтобы нпм попал в ноджс файндейшн
Nikolay
Nikolay
но я не понимаю почему так трудно написать одну сраную функцию.
const lpad = (str, len, ch) => new Array(len - str.length).join(String(ch) || ' ') + str;
Дима
Написать не трудно
Nikolay
кстате глянул в оригинал, там жесть на самом деле, while зачем то
Дима
Трудно не писать, когда ничего нет
Nikolay
и все в цикле
Nikolay
:)
Oleg
Скорость вроде как быстрее
Oleg
Был тред на эту тему
Дима
Дима
Так как это отдельный пакет, то можно заморочиться и оптимизировать так, как в обычном коде никогда делать не будешь, в этом и смысл
Oleg
Есть два типа кода - для людей и для машин
Oleg
Вот библиотеки подходят под понятие "для машин"
Oleg
А бизнес-логика - "для людей"
Nikolay
я просто еще видел библиотеки вида isNumber
Nikolay
isArray
Oleg
Это обратная сторона
Дима
Ну до es5.1 нет Array.isArray
Oleg
https://lostechies.com/andrewsiemer/files/2016/01/stateless-authentication-for-microservices-12-6381.jpg
Дима
var toString = {}.toString;
module.exports = Array.isArray || function (arr) {
return toString.call(arr) == '[object Array]';
};
Я каждый раз так писать не хочу)
Viktor
ну да, как - то не комильфо)
Oleg
Кто как борется с ситуацией когда нужно сделать 100500 реквестов в базу и внешние микросервисы, причем в зависимости от результата некоторых запросов некоторые из последующих запросов нужно пропустить или наоборот сделать ещё или вообще поменять очередность запросов?
𝓖0𝓹43𝓡
Сейчас камни полетят в меня, но возможно часть (которые зависят от других )через очередь сделать?
Nikolay
тебе последовательно все это нужно сделать?
𝓖0𝓹43𝓡
100500 не прикольно делать последовательно
Nikolay
ну можно промисами счайнить
Nikolay
+ promise.all
Nikolay
я бы разбил на кучки, и потом чайнил через then()
Nikolay
кучки = async функции
Oleg
Посделовательно большую часть
Oleg
Можно ведь в рамках одной здоровенной многовложенной функции, можно часть, а можно всё разносить по функциям/методам храня стейты в общем замыкании/объекте, или же передавать значения вперед от функции к функции
Дима
Дима
Oleg
Есть шаги, исполняющие по сути одно действие, но резать на 2 нужно ибо в одном случае нужно делать запрос асинхронно, в другом не нужно, а может можно и не резать
Nikolay
@oPavlov а еще ты можешь это сделать генератором
Oleg
Вот с генераторам интересно звучит
Nikolay
кучу yeld'ов натыкать
Viktor
promise.all и молиться, что ошибка не прервет выполнение
Nikolay
и ифами разделять
Дима
С async await вообще будет просто плоский код
Дима
Но тут конечно придётся транспилить)
Nikolay
только в try catch не забудь обернуть )
Дима
Ну естественно)
Nikolay
@oPavlov короче берешь генераторы, приправляешь это async await