Обновить
66
Андрей@DistortNeo

Математик, программист

24
Подписчики
Отправить сообщение
Я бы не стал мешать JS и .NET.
В JS очень велики накладные расходы от включения в код неиспользуемых функций на стороне клиента, тогда как в Java и .NET я не вижу проблемы включения в зависимости довольно большой сборки с точки зрения производительности.
Впрочем, чужие библиотеки я тоже стараюсь использовать как можно реже, а если и использую, то просто включая их код в свой проект, а не создавая зависимость.
Из последних извращений:
  1. Потратил 2.5 дня на попытку подключить C++ MySQL адаптер и заставить его работать без глюков. Успеха не добился.
  2. Потратил 1.5 дня на написание собственного адаптера на C++, используя документацию с описанием сетевого протокола.
  3. Потом ещё пару дней на перевод написанного на C# с полной асинхронной реализацией написанного кода.
  4. Допиливание сторонней библиотеки, реализующей LinqToMySql, для использования с асинхронным кодом.
Резюме: микромодули помогают избавиться от включения неиспользуемого кода в JavaScript, тем самым уменьшив размер файла. Но иногда это может привести к проблемам.
Есть люди, которые занимаются написанием, вылизыванием и поддержкой стандартных библиотек. Это их основная задача. Их код можно и нужно использовать.
А когда дело касается модулей, которые представляют из себя точно такие же самописные велосипеды, только выложенные в репозиторий, в качестве кода возникают сомнения. Но всегда находятся программисты, которые считают, что пусть и плохой, но выложенный в репозиторий код — это благо.
  1. Автор модуля пулл-реквест может не принять или принять не сразу, а изменения нужно внести прямо сейчас, что делать?
  2. Проблема в том, что миллионам разработчиков придётся переправлять зависимости на новый форк.
Предполагаю, что оба дома были полуразрушены ураганом, поэтому сработал фактор «ага, дом есть, разрушения есть — значит, его и надо ломать».
Посмотрел сейчас на свой дом на гугле. Оказалось не менее весело: на дом хаотично набросаны вторым слоем ранее находившиеся там дома, а от соседнего дома есть только его номер без контура самого дома. Нет, не доедут до моего дома по гуглонавигатору.
А делов-то: нужно всего-навсего написать программу, которая будет выбрасывать неиспользуемый код, как это делают линкеры компилируемых языков.
Но, боюсь, для JS это будет совсем нереально из-за особенностей саомго языка.
Я бы не был настолько уверен насчёт качества тестов. Программист написал какие-то тесты и забыл. А миллионы программистов смотрят на модуль: код есть, тесты есть, можно пользоваться.
Народ обратил внимание на это только после привлечения внимания к этому модулю. Из-за чего у меня сразу возникают вопросы:
  1. Что мешало грамотному чуваку это сделать на год-два раньше?
  2. Почему все бездумно используют модули, но не смотрят, что у них находится под капотом?
  3. Почему принято считать, что велосипед всегда будет хуже, чем ранее написанный код? Кстати, в велосипеде проблемы нет: ведь тесты-то уже написаны!
  4. Что делать, если автор умер и не больше не поддерживает свои библиотеки?
Именно так. Приведённая функция leftpad крайне неоптимальна: она имеет сложность O(N^2). Но на это обратили внимание только сейчас, когда поднялась шумиха:
github.com/azer/left-pad/issues/15
То есть автор написал функцию для своих нужд. Возможно, ему требовалось быстрое и надёжное решение для строк небольшой длины, а оптимизацию для длинных строк он решил оставить на потом, о чём благополучно забыл. А другие взяли и стали его функцию использовать, не особо вникая в то, как эта функция работает.
При 14-16 градусах в детской влажность составляет обычно около 60% даже когда за окном лютый минус. А вот летом при 25 градусах и выше уровень влажности часто ниже 40% опускается.
К сожалению, большинство подобных решений предназначены для больших помещений. В случае небольших квартир всё становится сильно сложнее, начиная от отсутствия хорошего выбора решений и заканчивая техническими трудностями. Одна из таких трудностей — размещение воздуховодов, ещё и с нахлёстом по вертикали. Другая — вытяжка может быть сделана только в общую вентшахту (нельзя выбрасывать воздух рядом с воздухозаборником). Третья — размещение приточной установки, рекуператора в пределах квартиры. И т.д.
Такие лампы в большинстве своём нужно искать в специализованных магазинах, т.к. они относятся к категории не бытовых, а офисных и промышленных. Сегодня как раз купил в кабинет подобные лампы, скоро оценю их в действии (5 ламп 650 лм на 7 м2).
Интересно, почему возможность горячей замены аккумулятора в телефоне пока не получила особого распространения. У меня в ноутбуке пятилетнего возраста две батареи, из которых одновременно используется (заряжается или разряжается) только одна. Помимо огромной ёмкости (3.5 часа штатная + 6.5 дополнительная при прогинге или просмотре фильмов), я могу при работающем ноуте отцепить внешнюю батарею и поставить её на зарядку. И это очень удобно.

Сам использую Highscreen Boost 2 SE (он же Innos D10, как уже писали). И мне не нравится то, что:
1. Телефон надо иногда ставить на зарядку.
2. Нельзя поменять аккумулятор без отключения телефона.

Так что когда он сломается — буду искать не просто телефон с большим аккумулятором, а с модульным.
12 ...
426

Информация

В рейтинге
Не участвует
Откуда
Сербия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик
Старший