Задать вопрос
  • Кто сталкивался с биткоин вымогателями бд?

    sim3x
    @sim3x
    Вас взломали и у вас нет квалификации в расследовании взлома?
    Делаем образ выключенной системы снаружи и бекапим его себе (зачем? Возможно найдете того кто сможет расследовать)
    Берем список софта и убираем из него все, что не требуется для работы сервиса
    - пхпмайадмин, фтп, как раз примеры такого софта

    Сносим ОС (считайте что скомпроментирован рут и все тулзы ОС)
    И ставим по хорошему мануалу с изрядной долей паранои (чаще всего одна статья не поможет - делайте свои заметки при установке)
    Максимально изолируем все от всего
    Наружу смотрит только вебсервер
    ссш по портпиннингу (оно делается в полпинка, как на стороне клиента так и на стороне сервера)
    Ваши цмс и скрипты должны обновляться регулярно
    Следите за логами - часто взлом происходит в течении нескольких дней и простой греп по логам покажет, кого вам нужно забанить по ип и где поставить капчу

    То что у вас есть бекапы делает вашу ситуацию в разы лучше
    Ответ написан
    Комментировать
  • Структура базы данных магазина/каталога для SQL. Как лучше хранить атрибуты и их значения в БД?

    @stratosmi
    Неверно в корне.
    Вы нарисовали по сути EAV (есть такая готовая схема данных под эту задачу - погуглите, примеров много).

    Плюсы:
    Удобно ложиться в реляционную модель, удобно программируется (если вам удобно работать с реляционной моделью), на первый взгляд хорошо подходит под любую реляционную СУБД (MySQL, PostgreSQL, Oracle).

    Минусы:
    Неоправдано малоэффективно по производительности.
    Есть решения на порядок более быстрые.

    Впрочем, если у вас каких то жестких требований на производительность или на минимизацию затрат на сервер - годится.

    По мне так EAV удобен как средство редактирования (ну и хранения первичной информации).

    А вот собственно сам поиск гораздо эффективнее осуществляется на full-text search engines, например:
    SphinxSearch (или его клон Мантикора), ElasticSearch и т.п.

    И чем по большему количеству фильтров идет поиск - тем больше этот разрыв (хотя он и по одному фильтру уже весьма заметен).

    В наиболее развитых full-text search engine поиск по свойствам является "дешевой" операцией, совершенно совместимой с основным полнотекстовый поиском.

    Более того, работа с множественными фильтрами по свойствам в этих движках даже проще полнотекстового поиска (так как фильтры не нужно разбивать на слова, прогонять через алгоритм стемминга с его возможными косяками - они уже "готовы к употреблению" сразу).

    Бонусом практически "бесплатно" получаете т.н. "фасеточные итоги", отвечающие на вопрос "сколько у нас товаров с таким то свойством" (это часто используется в отображении фильтров на сайтах).

    ====================

    Вывод:

    Если вам принципиально на MySQL - просто см. описание схемы данных EAV. Она как раз именно что для этого.
    Если вам нужно чтобы все летало - см. SphinxSearch (он крайне быстр и нетребователен к ресурсам).

    P.S.:
    SphinxSearch
    Умеет выдирать данные из MySQL. На их основании строит уже свой собственный узкоспециализированный но очень быстрый поиск для выборок, в вашем случае, по названию и по свойствам товаров.
    Ответ написан
    4 комментария
  • Можно ли использовать переменные в функцие system?

    Nipheris
    @Nipheris Куратор тега C++
    Сесть и поучить C++, это вам не PHP.
    Используйте std::to_string(i) и сконкатенируйте нужную вам строку, или сделайте замену в исходной строке с помощью метода replace у std::string.
    Ответ написан
    1 комментарий
  • Можно ли как то получить историю поисковых запросов пользователя на своем сайте?

    Нет, это невозможно.
    Ответ написан
    Комментировать
  • На чем зарабатывает Quora, toster или подобные сайты?

    shmatuan
    @shmatuan
    8 year of Web, 5 years of Vue
    Можно просто выключить адблок и увидеть ответ
    5bd0447166cd2277435374.png
    Ответ написан
    Комментировать
  • Что посоветуете для написания сервера под мультиплеерную 3d игру на Unity?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Latency:
    1. client-side prediction server reconciliation (Main article)
    2. client-side prediction (live demo!)
    3. Latency Compensating Methods (Valve wiki)
    4. www.newspeakblog.com/lag-compensation-techniques-g...

    Anti-cheat:
    1. Anti-cheat (Valve wiki)
    2. Hacking in Games (PDF)

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

    Допустимое, определяется через обученную НС на нескольких случайных перемещениях игрока из одной точечной позиции в случайные стороны (и под различными углами, если это 3D) с различными параметрами (грунт, гравитация, прыжок, ходьба/бег и т.д.) между соседними позициями за один игровой кадр ("тик").
    И как только игрок набирает N-штрафных баллов (3-5 достаточно) - фиксируется чит.

    Server (open source):
    1. socketo.me (Ratchet - WebSockets for PHP)
    2. https://heroiclabs.com/

    И как всегда, БОНУС: здесь и почитать.
    Ответ написан
    2 комментария
  • Хочу стать реверс-инженером. Что изучать для этого?

    Adamos
    @Adamos
    "Хочу стать мастером спорта. Посоветуйте, что почитать".
    Ответ написан
    15 комментариев
  • Установка Linux на DVD приставку?

    Radjah
    @Radjah
    Собираешь с помощью кросскомпилятора ядро по конфигу для процессора приставки, собираешь всё окружение и оболочку, упаковываешь собранное в образ, чтобы он помещался на флешку приставки
    Прошиваешь и включаешь.
    Ответ написан
    3 комментария
  • Какую связку веб-сервера использовать?

    Stalker_RED
    @Stalker_RED
    Если вас действительно волнует производительность, то правильно будет сделать и так и эдак, собрать логи, профайлер повключать, тесты погонять нагрузочные, собрать статистику с реальными юзерами, посмотреть где в каком варианте узкие места, подумать можно ли это разрулить настройками, взвесить какой из вариантов предпочтительнее для вашей системы, или может даже половину проекта запустить через апач а другую через nginx.

    Если вас производительность не парит, то делайте как вам удобнее или как там модно в 2018 году.

    долго и упорно настраивать и переписывать и дописывать CMS
    У вас cms зависит от того, какой сервер используется? really?
    Ответ написан
  • Стоит ли брать MacBook Pro 13 128gb 2017 г. для backend и мобильной разработки?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Судя по тому, на сколько часто на Тостере задают подобный вопрос, не стоит.
    Ответ написан
    Комментировать
  • Какой Алгоритм поиска в telegramm?

    sim3x
    @sim3x
    Не использовать данный канал связи для денежных операций

    Требовать от персоны подтверждения аутентичности при каждой транзакции
    Ответ написан
    1 комментарий
  • Хотите задать вопрос администрации Тостера?

    rockon404
    @rockon404
    Frontend Developer
    Сервису не хватает минусов для ответов. Бывает не очень опытный человек публикует плохой ответ, который вроде работает, но является очень плохим решением. Самое интересное, что такие ответы часто набирают плюсы. Если бы была возможность поставить минус, уверен они бы были заминусованы и не сбивали с толку людей столкнувшихся с похожей проблемой.

    UPD: По поводу вкладки Избранное еще в комментариях к вопросу написал.
    Ответ написан
    54 комментария
  • Переводы на киви от 300к каждый месяц?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    В какой то момент можешь получить такое письмо

    Здравствуйте, уважаемый Пользователь!

    Уведомляем Вас о расторжении Договора об оказании услуг осуществления расчётов с использованием Платёжного сервиса "QIWI Кошелек". Договор расторгнут в одностороннем порядке.

    Для того, чтобы распорядиться остатком денежных средств на кошельке, Вам необходимо:

    пройти идентификацию пользователя. Это можно сделать в ближайшем пункте обслуживания наших партнёров:https://qiwi.com/settings/account/identification.a...

    предоставить следующие документы:

    нотариально заверенная копия договора с оператором сотовой связи, который подтверждает то, что Вы являетесь владельцем этого номера;

    нотариально заверенная копия паспорта (все страницы) или выписку из паспорта (страницы 2-5), на который оформлен данный договор;

    копию объяснения экономической сути входящих и исходящих операций (должно быть написано от руки, необходимо также поставить ФИО, номер QIWI Кошелька, дату и подпись).

    заполненное заявление на перевод остатка денежных средств на Ваш банковский счёт (шаблон заявления находится во вложении).

    Обращаем Ваше внимание, что комиссия за перевод денежных средств на счёт другого банка составляет 30 руб.

    Оригиналы документов следует выслать по адресу: 117452, г. Москва, а/я 57.

    Оператор Сервиса рассматривает документы, предоставленные Пользователем в соответствии с п. 6.5. Публичной Оферты, в течение 25 (двадцати пяти) календарных дней с момента их получения. Отсутствие какого-либо из указанных документов будет являться причиной отказа в переводе остатка денежных средств.
    Ответ написан
    6 комментариев
  • Как написать функцию итератор?

    Melkij
    @Melkij
    PostgreSQL DBA
    Это называется не итератором.

    insert into terms (term, freq) values (?, 1) on conflict (term) do update freq = excluded.freq + 1 returning freq;

    В функцию завернуть по желанию. 9.5+
    Ответ написан
    Комментировать
  • С чего начать учить React?

    Krasnodar_etc
    @Krasnodar_etc
    fundraiseup
    У них же просто охренительный официальный туториал
    Ответ написан
    1 комментарий
  • С чего начать учить React?

    1) Сервер нужен, чтобы отдавать те данные (JSON), на основе которых React (лучше - не React) нарисует DOM. Обычно сервер генерит JSON из данных в БД. Но вы верно мыслите, в начале обучения можно положить статические файлы с JSON на любой доступный веб-сервер.
    2) Можем посоветовать лучше: https://ru.vuejs.org/v2/guide/
    Ответ написан
  • Чем Slack лучше Telegram?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Чего навспоминал за 5 минут:
    • Статусы пользователей
    • Ветки комментариев внутри канала
    • Сниппеты
    • Подсветка синтаксиса для кучи языков
    • Поддержка в куче различных проектов без нужды в напильнике, зачастую самими авторами проектов
    • Возможность работы без мыши
    • Гостевые доступы до определённых каналов
    • Настройка уведомлений шире, чем mute channel :)
    Ответ написан
    8 комментариев
  • Составили требований для верстальщика, не перегнули ли палку?

    sim3x
    @sim3x
    1.1. Структура директорий
    mkdir -p  html/{css/fonts,scss/util,js/vendor,i/icons}
    tree html
    spoiler
    html
    ├── css
    │   └── fonts
    ├── i
    │   └── icons
    ├── js
    │   └── vendor
    └── scss
        └── util
    .

    1.2.1. Breakpoints
    Достаточно сказать, что все переменные храним в отдельном файле

    20 Для ID - camelCase. ID нам нужен для JS
    Неправильно. Нужно использовать классы. Если требуется отделить классы для стайлинга и для жс - делаем префикс

    23 Используем Автопрефиксер, он расставит префиксы за нас. Используем автоматизацию — ставим его как пакет и подключаем в процесс обработки стилей. Не используем автоматизацию — есть он-лайн вариант
    Делаете верстку с флексом = не используете старые браузеры = не требуются префиксы = не требуется аутопрефиксер
    Не делать автоматизацию - такого пункта даже в теории быть не может

    2. Используемые решения
    Смешивать общий гайд и стайлгайд - не нужно
    Стайлгайд вообще нужно готовить отдельно для каждого проекта

    Про бем уже все сказали
    Ответ написан
    18 комментариев