Fran
Ленден из зе капитал оф Грейт Брутцен
Anonymous
ребята, я хочу сделать юай либу в реакте и мне надо понимать как протасиквать правильно дефолтную тему для всех компонентов
Anonymous
@hitmaker @igorz
Puck
можно ли window.locDomain, document.domain подменить? Суть проблемы в том, что я ретранслирую VK А он JSom проверяет window.locDomain, document.domain window.locDomain = vk.host.match(/[a-zA-Z]+\.[a-zA-Z]+\.?$/)[0]; if (/opera/i.test(_ua) || !/msie 6/i.test(_ua) || document.domain != locDomain) document.domain = locDomain;
Вадим
как удалить массив если он пустой?
Вадим
пасибо
Ilya
как удалить массив если он пустой?
Зачем вам это? В JS памятью вам управлять не надо, вообще оператор delete это неизбежное наследие, лучше его не использовать
Ivan
if(!arr.length) delete(arr);
if (!arr.length) arr = undefined; Гыы
Vladislav
if (!arr.length) arr = undefined; Гыы
Андефайнд принято не присваивать
Vladislav
Для этого есть null
Ivan
Андефайнд принято не присваивать
И delete тоже не стоит юзать )
Ivan
Не null?
Ну тип нул - это пустые данные, а андефанд - не установленный объект
Вадим
Да я уже сделал по вашим рекомендациям спасибо
Зачем вам это? В JS памятью вам управлять не надо, вообще оператор delete это неизбежное наследие, лучше его не использовать
Иногда GC занимает много времени, в теории должно спасать принудительное удаление ненужного
Хотя наверное это решается выпрямлением рук=)))
Ilya
Иногда GC занимает много времени, в теории должно спасать принудительное удаление ненужного
эта "теория" применима разве что к написанию кода на C/C++ ну и языках подобного уровня близости к "ручному управлению памятью", даже для Java принято оставлять это на волю Garbage Collector а уж в JS и подавно По крайней мере для попсовых сред интерпритации JS (v8, spider/ion monkey) использование оператора delete - наоборот предотвращает некоторые полезные оптимизации, и кстати иногда приводит к запуску GC over loop, чаще чем планировалось, выгода от предотвращенных оптимизаций - многократно больше чем от той работы которую вы хотите сделать за GC, если это вообще имеет смысл с точки зрения производительности, если даже наоборот не вредит ей
В основном длительные GC были с DOM (Angular)
Ilya
Значит руки выпрямлять просто, бить контексты и не оставлять связности скоупов
Ну и сейчас, по крайней мере в Chrome DevTools доступны весьма мощные инструменты профилирования, и "бороться" стоит в том случае если проблема реально есть, так как в большинстве случаев это "ДонКихотство с ветряными мельницами", в JS зачастую проблемы с избыточным циклами, кучей проходов по массивам (вместо одного разворачивания в hash-map и дальнейшего прямого доступа за On) да и вообще с разного рода избыточностью композиции - существенно важнее чем оптимизации по памяти heap.
Anonymous
Друзья, а как нибудь можно получить доступ к базе сайта?
Игорь
Всем привет Ребят, подскажите плиз, не могу разобраться почему в edge тут ошибка, по коду, выдаёт ошибку в компоненте, который находится в node_modules в моей библиотеке, я в том компоненте обращаюсь к vuex И название самой ошибки на этой строчке: 0: Expected identifier, string or number
katitu
/theme@cris_highlight_bot
Anonymous
Можно, зная URL и логин + пароль/ключ
Т.е. если человек имеет свой аккаунт на сайте, то потенциально он может получить доступ к базе? К данным других аккаунтов?
Igor
Но на нормальных сайтах база даже не видна наружу
Anonymous
Если он имеет логин и пароль от базы
Нет конечно же, к базе доступ имеет только админ
Igor
Нет конечно же, к базе доступ имеет только админ
Ну вот админ и может подключиться
Anonymous
Можно ли обойти данное ограничение?
Anonymous
Спасибо, теперь я спокоен
Igor
Но надёжнее всего чтоб к базе в принципе мог подключаться только сервис, по локальной сети
Ilya
Т.е. если человек имеет свой аккаунт на сайте, то потенциально он может получить доступ к базе? К данным других аккаунтов?
Все сильно зависит от 100500 факторов, так что обращайтесь к профессионалу (скорее всего не бесплатно) чтобы он вам аудит на эту тему провел :) иначе спокойствия вам не видать как своих ушей :)
Anonymous
Сначало успокоили, а теперь напугали )
SQLMap поможет проаудитить, сможете сами думаю
Anonymous
Спасибо, попробую
Ilya
Спасибо, попробую
прошу Вас отнестись к далее сказанному с пониманием, я не имею намерения как либо обидеть или уязвить. Вы очевидно не являетесь специалистом по информационным технологиями и в частности по способам обеспечения безопасности (что кстати является отдельной нишей, большая часть разработчиков - вообще слабо понимают в этих вопросах, он лежит на стыке как совокупности исползуемого ПО, так и средств размещения, и даже оборудования) Не имея представления об этой области знаний - использование предлагаемых Вам инструментов - скорее всего для вас бесполезно, так как результаты произведенного (пускай и автоматизированного) аудита, вы просто не в стостоянии адекватно интерпритировать. Если вы заинтересовались этим вопросом - видимо данные для Вас или вашего бизнеса критичные или важные, или же факт такого произвольного доступа недопустим в том числе и по причине что Вы можете понести ответственность в т.ч. и уголовную (н/п по утечке ПД (перс.данных) несут ответственность не только сам нарушитель, но и должн.лицо руководитель, и сама организация как юр.лицо) Так что если вопрос серьезный - то «на коленке» это решать не стоит. Если же это просто для «успокоения души» то ради «собственного развития» стоит для начала посомтреть именно в сторону решений по автоматизированному аудиту безопасности.
Ilya
при этом стоит еще не забывать что, если речь идет о ПД (перс.данных) технического обеспечения безопасности не достаточно, необходимо так же и кучу «бумажной работы» провести: классифицировать обрабатываемые ПД, составить матрицу доступа, обзавестисть соотв. сертифицированными средствами, и в некоторых случаях еще и зарегестрироваться у ФСТЭК как «обработчик персональных данных». Я это конечно «сгущаю краски» исходя из максимальной серьезности - но как говаривал мой дед - «лучше перебздеть, чем недобздеть и потом обделаться» 🙂
Anonymous
Благодарю, я вас понял
Рома
Ребят: Кто знает как организовать такую функцию ? подскажите , описание с верху как должна работать функция
Рома
Или может есть библиотека какся нибудь
Maria
#вакансия Middle JS Developer в международный blockchain / fintech стартап (не ICO) Санкт-Петербург, м.Чернышевская Полный день, офис. З.П. от 140 до 180 т.р. Задачи: - Разработка нагруженных и сложных SPA и SSR приложений. SPA - кросс-платформенные - Наш стэк: React + NodeJS, используем css-modules Требования: - Отличное знание JS - Знание и отличное умение применять любой современный framework Желательно: - Верстка react - Cordova для мобильной разработки Условия: - Комфортная обстановка, мягкие процессы - Все обсуждаемо Компания: EvercodeLab Контакты: тг @MashaSadchikova
Gennady
Товарищи, подскажите, можно ли объединить вычисления в одну функцию, чтобы не писать несколько раз одно и тоже? E.g.: sum.addEventListener('click', function () { result.innerHTML = +a.value + +b.value; }); minus.addEventListener('click', function () { result.innerHTML = a.value - b.value; });
Gennady
[sum, minus].forEach((i, elem) => i == 0 ? elem.innerHTML = a.value + b.value : elem.innerHTML = a.value - b.value);
тут всё хорошо работает для двух действий, а если я захочу добавить умножение и деление? Логический оператор вроде принимает только 3 значения
Dmitry
Ну свич можешь юзать
Gennady
Ну свич можешь юзать
думаю, подойдет!)
Виктория U
тут всё хорошо работает для двух действий, а если я захочу добавить умножение и деление? Логический оператор вроде принимает только 3 значения
Вычитание это частный случай суммирования, а деление частный случай умножения Поэтому можно ограничиться двумя основными функциями Чтобы получить разность, нужно просто второй операнд сделать отрицательным числом В случае с умножением необходимо второй операнд сделать обратной величиной и все
Gennady
Если правильно понимаю, тебе нужна функция фабрика
пока с ней не сталкивался. Просто хочу бахнуть свой калькулятор, чтобы закрепить пройденный материал)
Oleksii
Если правильно понимаю, тебе нужна функция фабрика
та не.. пускай уже сразу DI фреймворк какойто юзает:) зачем мелочиться
Emil
та не.. пускай уже сразу DI фреймворк какойто юзает:) зачем мелочиться
Так а что тут такого необычного, по факту функция со switch
Oleksii
Так а что тут такого необычного, по факту функция со switch
ну да.. человек занимается тем, чем обязан уметь заниматься любой, называющий себя программистом - уметь запилить свой SDL и парсер под него. и в качестве первого такого SDL обычно выбирают арифметические выражения
Oleksii
я к тому что в реализации этого на низком уровне обьекто ориентированный подход и паттерны с него обычно не используются. и как раз там длинные switch-и правят миром
Kirill
Насколько вьюшникам сложнее найти работу по сравнению с реактом?
Kirill
В частности джунам
Evgenii
Добрый день, направьте в нужном направлении, есть массив const arr = ["orders.purchase_orders_summary view","orders.purchase_orders_summary view upload","orders.purchase_orders_summary view export",] как мне его распарсить чтоб получить вот такой вид ? const data = [{ label: 'orders', children: [{ label: 'purchase_orders_summary', children: [{ label: 'view' }, { label: 'view upload' }, { label: 'view export' }] }] }]
Fran
Рекурсивная функция
Evgenii
строки в массиве arr можно преобразовать в другой вид если такой не совсем удобен
Славик
а id как формируется?
Evgenii
id прилетают от бека, на id можно не обращать внимание
Anton K.
Насколько вьюшникам сложнее найти работу по сравнению с реактом?
Строго зависит от региона (если конечно ты уже не матёрый удаленщик)
MaxGraey
Можно ли обойти данное ограничение?
Можно косвенно узнать кое что о соседних записях в БД и тем самым деанонимизировать конкретного пользователя, но это сродни реверс инженирингу) Подробнее об этом и как с этим бороться: https://www.slideshare.net/KrishnaramKenthapadi/privacypreserving-data-mining-in-industry-wsdm-2019-tutorial
Vitalii
привет всем, ребята помогите новичку. задача о размене монет, например нужно дать сдачу 27копеек, в кассе есть 1,2,5,10 монет номинал в неограниченом количестве, нужно вычесть все комбинации и вывести их в консоль(я искал везде находил только решение по количеству комбинаций) а мне нужно выводить в консоль все комбинации которые подходят для размена