Viktor
ладно, все это не к месту
Viktor
я считаю, есть огромная разница (в программировании) в том, чтобы придерживаться фундаментальных технологических абстракций, которые будут жить долго, потому что они наиболее приближены к базовым синтаксическим конструкциям языка, или очень старым и надежным паттернам (rxjs, xml), и придерживанием чего-то более "декорирующего" (для меня яркий пример - vuejs, если знакомо)
Viktor
для многих было очевидно, что coffescript уйдет
Viktor
ежели мы говорим об утилитарных библиотеках, то утрировать тут нельзя
Viktor
тонкии абстракции не так страшны, я бы сказал, совершенно не страшны
Viktor
что тогда говорить о тяжелых фреймворках или библиотеках
Viktor
к их качеству тоже могут быть вопросы, поскольку все эти вещи пишутся одними и теми же сообществами
Viktor
ты знаешь, сколько в JS способов имитации наследования?
Anonymous
тонкии абстракции не так страшны, я бы сказал, совершенно не страшны
Вопрос не в том страшны они или нет. Вопрос в том необходимы ли они здесь и сейчас для этой конкретной задачи? Я часто видел код рамбистов которые делели оверинжиниринг ну просто элементарнейших вещей. Проблема в том, что любая либа накладывает свои паттерны мышления и человек уже не может мыслить иначе вне рамок привычной среды, он просто делает так как все, не задумываясь а так ли это подходит для его задачи?
Viktor
некоторые из них прожорливы, но Дуглас Крокфорд все равно говорит, что классы не нужны
Viktor
(aka прототипная делегация)
Viktor
что если необходимы? допустим, я решил, что мне нужна какая-то диковинная утилита из ramda
Viktor
или генератор рандомных строк
Viktor
или deep clone
Viktor
по твоей логике - любая библиотека, стремясь быть универсальной, принесет оверхед
Viktor
я согласен, ну дальше что
Anonymous
В 99% случаев deepClone тебе не понадобиться, а если понадобиться, то стоит задуматься, что не так с твоим решением? deepClone-а нету в js не просто так
Viktor
я его выпилю из фронта при помощи сборщика, на бэкенде не буду использовать весь функционал. Да, там будут обертки, делающие лишние с точки зрения моих нужд вещи. Зато это будет кем-то поддерживаться и тестироваться. Таким образом, я смогу абстрагироваться ценой малых жертв
Viktor
В 99% случаев deepClone тебе не понадобиться, а если понадобиться, то стоит задуматься, что не так с твоим решением? deepClone-а нету в js не просто так
ну я к примеру, давай не будем о вероятностях, потому что к твоим тезисам тоже можно придираться с вероятностной оценкой)
Viktor
если расплываться в рамках темы, мы до утра будем печатать)
Anonymous
я его выпилю из фронта при помощи сборщика, на бэкенде не буду использовать весь функционал. Да, там будут обертки, делающие лишние с точки зрения моих нужд вещи. Зато это будет кем-то поддерживаться и тестироваться. Таким образом, я смогу абстрагироваться ценой малых жертв
Я думаю мы просто недопоняли друг друга. Если тебе нужна утилита - пользуйся ею. Я про то, что многие кто подсел на раму только в ее семантике и только ее методами и пользуются везде. К месту это или не к месту
Viktor
Конечно, тут я полностью согласен!
Anonymous
И в конечном счете все это превращается в какой то функциональный ад, что то подобное как у Java Enterprice с ее паттернами, Вот кстати минимальный hello world для Java Enterprice (шутка, но с большой долей правды): https://gist.github.com/lolzballs/2152bc0f31ee0286b722
Viktor
Когда я начинал ею пользоваться, то стремился пихать повсеместно. В этот период я ей пользоваться даже не умел, просто мыслил так, что все, что я сделаю при помощи Ramda, будет профессиональным. Сейчас Ramda мной не используется почти никогда, я не вижу в ней надобности, совершенно. Простота и доступность синтаксических коснтрукций - главный приоритет
Viktor
да, код прежде всего - средство коммуникации людей
Viktor
но это не снимает вопрос выбора инструментов, которые не всегда очевидно просты
Viktor
к примеру, мне очень нравится rxjs для фронтенд задач
Viktor
но большинство людей, работы которых я видел, пишут дикое говно
Viktor
совершенно вне рамок философии потоков
Viktor
rxjs - по сути, тот же lodash, но технология настолько фундаментальная, что, выучив лишь один инструмент, я могу применять его на огромном спектре задач
Viktor
на нем я могу написать весь фронт (локальный и глобальный стест менеджмент, роутинг, отменяемые запросы, сложные событийные сценарии), при этом мне не нужен тот же redux совершенно
Viktor
мне даже не нужны будут реально свински толстые библиотеки для работы с формами (одна из сложнейший областей в управлении состоянием)
Anonymous
rxjs - по сути, тот же lodash, но технология настолько фундаментальная, что, выучив лишь один инструмент, я могу применять его на огромном спектре задач
А теперь представь, есть проект который уже живет и сопровождается 5 лет. Сначала он был написан одним программистом использую jQuery. Потом он уволился и на его место взяли нового человека, который сказал, что все это гавно и нужно переписываться на underscore. Потом пришел следующий и переписал все это на lodash, потом наняли еще одного и он подключил ramda и наконец, наши дни... берут нового программиста, которому нужно просто дописать кое что и он подключает rxjs =) А потом нанимают тебя и тебе приходиться иметь дело со всем этим зоопарком) А у проекта уже 200,000 строк к примеру) И времени рефакторить нету)
Viktor
такие проекты не масштабируются)
Viktor
они обычно только обрастают костылями
Viktor
я тебе скажу свое мнение, можешь не соглашаться
Viktor
но в проекте, где за архитектурой следят, и все слои разделены (абстракции не перетекают друг в друга) проводить демонтаж отдельных модулей или даже слоев - сказка
Viktor
тут я согласен с тобой на все 200%, что многие* библиотеки навязывают стиль мышления
Viktor
и это в принципе проблема, но это проблема неопытности исполнителей работы, не более
Viktor
я считаю, что не должно быть react или vue приложений
Viktor
но это фантастика, потому что завтрашний человек вставит сука костыль, чтобы закрыть таск, просто потому, что ему так позволяет библиотека
Viktor
а библиотека - это проститутка, стремящаяся ублажить всех в их проблемах. Именно потому разработчики DJango из него ушли, и работают почти что с чистым javascript с библиотеками, которые "стремятся делать одну вещь" проблем меньше, но чем шире пространство решаемых задач, тем выше шанс накосячить в руках того, кто не знает множество путей решения
Kot
A java кто нибудь изучал? Есть какие нибудь бесплатные самоучители? Кругом все платно либо демо
Anonymous
Приветствую. Нахожусь в поиске тестировщиков официального ПО. Как разово, так и на постоянной основе. В среднем тест занимает 5-7 дней, за это время нужно найти все возможные баги, опечатки и прочие недочеты, мотивация 100$, оплата на карту, либо криптовалютой. Подробности в личке.
Kot
https://t.me/javaebooks
Благодарствую
Anonymous
привет
Artem
Привет парни! Прошу годного совета по best тутору на d3 js.
Anonymous
ищу ментора
Олег
потерялся?
Viktor
😄
Anonymous
😂😂
🗡
Всем доброго дня! Кто-нибудь знает команду, чтобы запустить хром так, чтобы он разрешал действия как с https, но без него на локали
🗡
--allow-insecure-localhost думал это но нет
Andrew
https://superuser.com/questions/487748/how-to-allow-chrome-browser-to-load-insecure-content
🗡
--allow-running-insecure-content
Вс равно не дает разрешение на запрос пушей
Andrew
Попробуй все хромы вырубить, и запустить с командой
🗡
Вообще никаких ошибок, буду искать, может еще в чем то дело
Andrew
Вс равно не дает разрешение на запрос пушей
Мб ты залочил пуши просто в браузере?
Andrew
Случайно там
🗡
Мб ты залочил пуши просто в браузере?
на tproger и других ресурсах работают. На локальном даже нет выбора разрешить)
Andrew
Проверь права на локальный) мб там стоит deny)
🗡
Проверь права на локальный) мб там стоит deny)
Нет, попробую установить самоподписанный сертификат и отключить проверку подлинности
🗡
Даже без отключения сработало. Ругается на серт, но если разрешишь, то запрос на разрешение пушей срабатывает) Вот такие странности)
Andrew
))
Andrew
Гугл по моему очень не любит самоподписвные
🗡
Не выйдет, летсэнкрипт хочет зайти и считать свой файл в know-hosts или как там она называется, а локальный домен в мир не выброшен. Для боя то там все есть и все нормально, проблема только с локалью, для разработки
Deleted
попробуй этот
🗡
--ignore-certificate-errors
Да, так и сделал для самоподписанного сертификата, но без него не канает. Спасибо
🗡
--ignore-certificate-errors
я понял почему не канает, все эти правила распространяются только на localhost, а у меня локальный домер и работа через докер))) chrome://flags/#allow-insecure-localhost вот тут написано
Anonymous
помогите вывести односвязный список через цикл
Anonymous
var list = { value: 1 }; list.next = { value: 2 }; list.next.next = { value: 3 }; list.next.next.next = { value: 4 };