Вот тоже не понимаю этой какой-то привычки чисто экономить место на диске )
Тут важно понимать что дубликат_кода !== дубликат_функционала
И во многих частях проекта может быть дублирующийся одинаковый код служащий разным целям и выносить его в отдельный хелпер - усложнять себе рефакторинг в будущем из-за высокой связности.
Сколько таких Легаси проектов повидал, где почти каждый компонент зависит от пачки из ./Utils/ которые в свою очередь юзают ./Helpers , а тебе надо этот функционал плавно на новый фреймворк перетащить, частями, без переписывания с нуля, и никак не получается вытащить из проекта самодостаточный модуль не потянув за собой все зависимости
К 2025 году искусственный интеллект заменит 85 миллионов рабочих мест, в том числе — творческих. Нейронные сети уже умеют рисовать картины, писать сценарии и создавать музыку, а их произведения продают на аукционах за огромные деньги.
Эти и подобные предсказания ошибочны. У каждой технологии есть свой предел/потолок. Кто-то просто предполагает что темпы повышения качества сохранятся или ускоряться, но так не происходит. Так же мыслили раньше с космосом - раз за 10 лет собрались и на луну слетали - значит через 30 уже во всю будем жить на марсе! До этого были чудесные предсказания развития механики, передвижные дома на рельсах, подвесные города на дирижаблях итп. Увеличивать базу нейросетей и говорить о скорой замене человека, это то же самое что добираться до луны карабкаясь по дереву - можно рапортовать о прогрессе до самого конца дерева )
Интересно как в it-сфере обеспечение своей безопасности переносится на пользователей(компании). Как будто условный wannacrypt обстоятельство непреодолимой силы или какой-то природный катаклизм.
То есть вот как у нас с защитой автомобилей от поджёгов? - спойлер: все очень плохо! А что на счет защищенности супермаркетов от краж? Людей от убийств?
Вот только в других сферах полиция работает и пытается привлечь злоумышленников к ответственности, а не "плачет" о ненадежных замках и припаркованных не в том районе авто, раздавая листовки о безопасном перемещении по городу заполненному преступниками.
Давайте только не применять эти правила если код функции меньше хотя бы 20 строк и от результата ее ничего не зависит )
Ну вот серьезно, что бы вы подумали о вашем сотруднике который реально вместо того чтобы просто вывести разницу во времени, написал 4 функции для этого и тесты на каждую из них? и потратил на это видимо больше времени.
Я считаю что это трата оплачиваемого времени на ерунду, вместо решения задач бизнеса, сотрудник с таким подходом будет выполнять крайне мало задач в месяц. Поддержка его тестов дороже переписывания тестируемых функций.
В примере автора на фронтенде, вообще не страшно если функция ничего не выведет, это не критичный функционал. Не стоит он потраченных усилий.
ну и просто пример нормального рабочего решения без заморочек.
const getWorkDuration = (worktimeFrom, worktimeTo) => {
let diff = new Date('1/1/1 '+worktimeTo).getTime() - new Date('1/1/1 '+worktimeFrom).getTime()
if (diff < 0) diff += 24*60*60*1000
const [hh,mm] = new Date(diff).toISOString().substr(11,5).split(':')
return `${Number(hh)}ч` + (Number(mm) ? ` ${Number(mm)}мин` : '')
}
Такое не нуждается в тестах — потому что тут просто форматирование входящих данных то есть нет никакой логики, никакое состояние не меняется.
Не вижу сожалений. В статье описаны этапы развития автора, и он по сути советует нам последовать его примеру, только пропустить первые этапы и сразу перейти к последнему.
Не справляются, строители, врачи, кто угодно, ошибаются в оценках(иногда в большую сторону). Просто исходя из аксиомы о невозможности точного предсказания будущего, не могут они этого сделать.
Знакомые ситуации, интересные решения, спасибо большое за классный материал!
Вот тоже не понимаю этой какой-то привычки чисто экономить место на диске )
Тут важно понимать что дубликат_кода !== дубликат_функционала
И во многих частях проекта может быть дублирующийся одинаковый код служащий разным целям и выносить его в отдельный хелпер - усложнять себе рефакторинг в будущем из-за высокой связности.
Сколько таких Легаси проектов повидал, где почти каждый компонент зависит от пачки из ./Utils/ которые в свою очередь юзают ./Helpers , а тебе надо этот функционал плавно на новый фреймворк перетащить, частями, без переписывания с нуля, и никак не получается вытащить из проекта самодостаточный модуль не потянув за собой все зависимости
Очень люблю доки на русском за то что там сразу выделяется код/операторы, которые на английском и в идеале термины которые не требуют перевода.
Так же и в коде для русскоязычных проектов, на уровня языка разделяются контент и управляющие конструкции / комментарии.
В использовании пары языков много плюсов
Если ты знаешь несколько языков, зачем ограничиваться одним
IRL https://www.youtube.com/watch?v=T8UEvgVz794
Немного автоматизации для этого всего:
- Сгенерировать набор иконок и файлы манифестов - https://realfavicongenerator.net/
- Скрипт для nodejs - https://www.npmjs.com/package/favicons
- Плагин к webpack - https://www.npmjs.com/package/favicons-webpack-plugin
Эти и подобные предсказания ошибочны. У каждой технологии есть свой предел/потолок. Кто-то просто предполагает что темпы повышения качества сохранятся или ускоряться, но так не происходит. Так же мыслили раньше с космосом - раз за 10 лет собрались и на луну слетали - значит через 30 уже во всю будем жить на марсе! До этого были чудесные предсказания развития механики, передвижные дома на рельсах, подвесные города на дирижаблях итп.
Увеличивать базу нейросетей и говорить о скорой замене человека, это то же самое что добираться до луны карабкаясь по дереву - можно рапортовать о прогрессе до самого конца дерева )
Интересно как в it-сфере обеспечение своей безопасности переносится на пользователей(компании). Как будто условный wannacrypt обстоятельство непреодолимой силы или какой-то природный катаклизм.
То есть вот как у нас с защитой автомобилей от поджёгов? - спойлер: все очень плохо! А что на счет защищенности супермаркетов от краж? Людей от убийств?
Вот только в других сферах полиция работает и пытается привлечь злоумышленников к ответственности, а не "плачет" о ненадежных замках и припаркованных не в том районе авто, раздавая листовки о безопасном перемещении по городу заполненному преступниками.
Для лёгкого старта с indexedDB рекомендую библиотеку dexie.js , несколько лет использую в production , все отлично.
Ещё большой плюс indexedDB её доступность из веб и сервис воркеров в отличии от localStorage
Придумать бы ещё что со спамом на Хабре делать...
Вот пример типичных задач абстрактного мобильного приложения https://habr.com/ru/post/549642/ описанные проблемы и способы их решения это сложно.
После no-code ждал пункта "передать разработку подрядчику" )
Давайте только не применять эти правила если код функции меньше хотя бы 20 строк и от результата ее ничего не зависит )
Ну вот серьезно, что бы вы подумали о вашем сотруднике который реально вместо того чтобы просто вывести разницу во времени, написал 4 функции для этого и тесты на каждую из них? и потратил на это видимо больше времени.
Я считаю что это трата оплачиваемого времени на ерунду, вместо решения задач бизнеса, сотрудник с таким подходом будет выполнять крайне мало задач в месяц. Поддержка его тестов дороже переписывания тестируемых функций.
В примере автора на фронтенде, вообще не страшно если функция ничего не выведет, это не критичный функционал. Не стоит он потраченных усилий.
ну и просто пример нормального рабочего решения без заморочек.
Такое не нуждается в тестах — потому что тут просто форматирование входящих данных то есть нет никакой логики, никакое состояние не меняется.
Тоже понадобилось информацию о доходах отправлять, а у меня по 5-10 поступлений в день по 70-150 руб
Авторизация по логину и паролю работает.
deviceId — просто рандомная строка из 21го символа срабатывает — https://github.com/alexstep/moy-nalog/blob/main/index.js#L51
Вот либу написал — https://www.npmjs.com/package/moy-nalog пользуйтесь, присоединяйтесь к разработке )
Не вижу сожалений. В статье описаны этапы развития автора, и он по сути советует нам последовать его примеру, только пропустить первые этапы и сразу перейти к последнему.
Странно это все очень. Установщики пакетов при наличии локфайлов сверяют хэшсуммы пакета. Неужели их не используют в столь продвинутых компаниях?
На Хабре открылся филиал gq?
Классно что гугл выдали бесплатную либу! Конечно полезный функционал для пользователей вашего мессенджера
Кому обычно присылают адреса не в тамтам, рекомендую включить функцию гугл ассистента "Объекты на экране"
Посмотрите в сторону esbuild и esbuild-loader вместо babel
Храню все в window.DATA={} и проблем не знаю )
ну наймите строителей оценивать сроки )))
Мне ремонт обещали за 3, а делали 4 месяца.
Не справляются, строители, врачи, кто угодно, ошибаются в оценках(иногда в большую сторону). Просто исходя из аксиомы о невозможности точного предсказания будущего, не могут они этого сделать.
первое что нагуглилось https://www.irn.ru/conf/103/