Как стать автором
Обновить
-4
0

Пользователь

Отправить сообщение
Почему windows после обновления может сломаться, у меня такое было? Почему из facebook утекают миллионы конфиденциальных данных из-за уязвимостей? Про apple сколько смешных историй было, вроде иероглифы ломают iphone, странные вещи с нулевым днем и тп?

Может все они просто не знают о том как все просто, или берут уж совсем-совсем новичков?
А что мешает использовать тот же DI, но отказаться от абстракций


Проект на ноде, главный разработчик пришел из c#. Для программистов c# и java зависеть от абстракций это нечто неоспоримо правильное, ведь гибкость, модульность, и не важно что ни один класс не будет переиспользоваться с какими-то другими зависимостями никогда, потому что в теории по книжкам это единственно верный путь. А для меня вот это вот все чуждо, я хочу обратно свой KISS, но времена такие, cишарперы массово мигрируют на ноду, это не шуточки, серьезно, очень много людей приходит из c# и насаждают свои паттерны.
Забыл упомянуть что проект на ноде, и с тестами без DI проблем ровно 0.
Нашел отличный источник про архитекруту, очень советую ознакомиться всем и опытным и начинающим: github.com/sairyss/domain-driven-hexagon

Особенно радует что автор, который наверняка посвятил много лет изучению темы, явно дает понять вначале, что для небольших и средних проектов практики могут и не подойти, что нужно тщательно взвесить зачем и как это поможет — вот об этом как раз обычно все и забывают.

Я же мучаюсь с DI на проекте, разбитом на кучу маленьких микросервисов. Толку от него в таком масштабе нет вовсе, зато найти нужный класс и метод целая проблема, потому что все зависит от абстракций и прыгнуть не выйдет.
А по-моему, нет, в js все ещё остается полная свобода. В nodejs с одной стороны ООП с DI в лице nest.js, считается ентерпрайзным подходом, с другой стороны функциональщина, а большинство просто пишет код и думает о задаче. Вот взять node best practices — тут первым пунктом компонентный подход, который большинство упорно игнорирует, чем меня раздражает, и тут ни слова ни о парадигмах, паттернах, все только по делу. Даже про точку с запятой пишут «no matter if you use semicolons or not».

В руби, например, невозможно без классов, и ещё все классы в глобальном пространстве имен, и там просто приходится выкручиваться чем только можно, даже фреймворк над фреймворком есть. В java и c# не знаю, вполне возможно что то же самое, паттерны это вынужденная мера и тот кто не прочитал кучу книг рискует сильно испортить проект.

И как в ноде: самый популярный фреймворк express, роутинг + пара утилит = фреймворк по версии javascript. И абсолютно все, каждую мелочь, решает разработчик: как ему параметры валидировать, как с базой работать, как организовать, и главное — мудрить или не мудрить тоже решает сам.
Спасибо за статью, решение интересное и 2мс впечатляет

Возможно оффтопик, мне очень интересно как живется когда все переменные в одну-две буквы, проходит ли такое ревью, можно ли привыкнуть с таким кодом работать? Имею в виду p[0] >= ps[0], src.ps <-> kw.p, dc, T(kw, dt) и тп.

Ещё интересно что побуждает, знаю что математики используют такое именование, или автор печатает медленно и лишняя буква — лишнее время.
В статье в индексах и в самом запросе используют to_tsvector, он и приводит все в инфинитив, именительный падеж и окончания откидывает. В статье используют словарь 'simple', в postgres должны быть словари для разных языков.
Отлично и весело работается под прог-эйсид-рок-джазовое что-нибудь, вроде: Sweet Smoke, Can, Genesis, Camel, Soft Machine, Yes, Traffic, в таком духе

Когда не знаю чего-бы послушать, включаю все подряд из книжки 1001 albums you must hear before you die, много интересного и приятного для себя открыл, большая часть, правда, мимо.

Бывают моменты прохождения диких легаси-джунглей кода, когда психика трещит по швам и в попытках удержать понимание что тут происходит память и генератор мыслей начинают отказывать. Вот в такие моменты включаю ранних Opeth, альбомы или лайв концерты, удивительнейше постоенный дэт-метал вобравший в себя множество других жанров очищает разум и все просто исчезает, превращаясь в единый ритм. Работать не помогает, но лично мне кажется что нервы восстанавливает.
Все что нужно знать о микросервисах: они позволяют не видеть код других разработчиков!

Других может быть много, возможно их код мог бы наносить непоправимый психологический ущерб при прочтении, а с сервисами ты можешь радостно и легко писать с нуля свою задачу и ни о чем не беспокоится!

Для разработчика это счастье
Я не очень давно был ruby бекендером и много лет терзался не зная куда ж этот кусок логики положить — в контроллер ли, в модель, в хелпер, в отдельный класс, трайлблазер операцию… Так что полезно знать что есть такая нода и в ней «Structure your solution by components» (первым пунктом), и код лежит себе спокойно каждый в своем компоненте, открываешь папку компонента — и тут все его запчасти, и модель, и логика, и если нужно то хелперы какие-нибудь.
На других языках может и можно такое сделать, не знаю, согласен что кому-кому а бекендщикам на C node best practices точно не нужны
Значит, все-таки, у PG один формат для передачи по сети, это библиотека libpq на стороне клиента может принимать в разном виде. Используется не в любом драйвере, в node по умолчанию pg без неё работает.
Это как? Можно пример или ссылку?
По сравнению с LuaJIT от скорости Python хочется рыдать, забиться в угол и долго размышлять о своем поведении


Похожее чувство было у меня когда узнал что Torch с Lua (проект развивался 15 лет) закрывают и одновременно facebook радостно продвигает «свой» PyTorch.
У PG только один протокол, я в терминологии не силен — там передаются байты-комманды и си-строки с нулем в конце. Вероятно что бинарный.
А pg и pg-native отличаются тем, что первый полностью на js написан, а второй обращается к сишной библиотеке, второй чуть-чуть быстрее.
Если надо ещё ускорить попробуйте (мой) pg-adapter
Chrome devtools network
Вот правда не могу понять — действительно стоит тратить время на подобные оптимизации?
Тем более если трафик в основном идет на картинки и шрифты.

Ради интереса проверил сколько весит js у первых попавшихся сайтов:
habr — 200k, google поиск — 400kb, youtube — 1.8Mb, gmail — 3.2Mb
Если светила it не сильно обеспокоены оптимизациями, стоит ли нам?
Если важно показать контент до обработки js — используйте next.js, прекрасная и очень простая штука.
Для визуализаций d3, там все что надо. Для DOM элементов React (самый популярный значит самый простой, не так ли), и в нем MobX (не самый популярный, но самый простой и хороший). Сейчас React выглядит как простые функции, принимают параметры, возвращают html, посередине переменные и логика, трудно представить что-то проще.
С другой стороны, не могу не понимать их, так как Electron-приложения в десятки раз хуже нативных. По потреблению ресурсов, по UX, да по многим параметрам.

У меня внезапно slack занимает 350мб, а телеграм 350мб — столько же!
По UX — дискордом не пользовался, но слышал что всем он очень нравится. А мне вот slack нравится — довольно много приятных плюшек в нем. Самый отвратительный UX, с которым я сталкивался — нативный finder. На самом деле UX никак от технологии не зависит — ваш К.О.

У apple, безусловно есть причины блокировать развитие web на своих устройствах. Electron и PWA могут нанести серьезный ущерб их develop коммьюнити, где разработчик вынужден покупать мак и iphone. Может не так сильно, но на 1-2% продажи бы упали, если бы разработчики пилили iphone аппы на своих уютных линях.
А я искренне не понимаю чем цикл не устроил, там хоть и магнитуды автор рандомные указал, но исправить очень легко и работало бы без багов.
Оригинальный вариант с логарифмом ужасен, не настолько как в финале, но все же.
Предлагаю на собеседованиях если человек четко может дать определение логарифма — отсеивать, пусть математики вселенную изучают, а не код пишут.
> Но если твоя программа зависит от двух библиотек, одной нужен stdc++-4, другой stdc++-6

Правильно ли я понял, что при текущем положении дел такую программу невозможно собрать? (я далек от c++)
Выходит, что надо поставить 4, собрать одну либу, проапгрейдить до 6 и тогда собрать вторую?
И это аргумент против того, чтобы в системе могли разные версии жить одновременно?
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность