Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Три системы мобильной аналитики глазами digital-компаний
Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
evnuh

evnuh

Поиск Гугл помог мне, впусти и ты его в свой дом
  • 562
    вклад
  • 24
    вопроса
  • 661
    ответ
  • 23%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Кто сталкивался с биткоин вымогателями бд?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Вывод:

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

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

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

    hrebet
    Илья Хребет @hrebet
    Нет, это невозможно.
    Ответ написан более двух лет назад
    Комментировать
    Нравится 3 Комментировать
  • В какую технологию уйти после C++?

    Андрей Федосеев @itlen
    Вы протрезвейте. Для начала.
    Потом уже можно будет пошерстить удаленку на плюсах хотя бы на пресловутом hh. И софтскилл прокачать не помешало бы.
    Ответ написан более двух лет назад
    19 комментариев
    Нравится 9 19 комментариев
  • На чем зарабатывает Quora, toster или подобные сайты?

    shmatuan
    shmatuan @shmatuan
    Vue, Node, RoR
    Можно просто выключить адблок и увидеть ответ
    5bd0447166cd2277435374.png
    Ответ написан более двух лет назад
    Комментировать
    Нравится 45 Комментировать
  • Система личных сообщений (шардинг)?

    kawabanga
    Dmitry Bay @kawabanga
    Бью себя по рукам за каждый ответ на глупый вопрос
    https://vk.com/blog?id=653
    Ответ написан более двух лет назад
    4 комментария
    Нравится 12 4 комментария
  • Что посоветуете для написания сервера под мультиплеерную 3d игру на Unity?

    xmoonlight
    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 комментария
    Нравится 6 2 комментария
  • Хочу стать реверс-инженером. Что изучать для этого?

    Adamos
    Adamos @Adamos
    "Хочу стать мастером спорта. Посоветуйте, что почитать".
    Ответ написан более двух лет назад
    16 комментариев
    Нравится 22 16 комментариев
  • Установка Linux на DVD приставку?

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

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

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

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

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

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

    Требовать от персоны подтверждения аутентичности при каждой транзакции
    Ответ написан более двух лет назад
    1 комментарий
    Нравится 2 1 комментарий
  • Даст ли Go преимущества в таком проекте?

    Roman Kitaev @deliro
    Агрессивное программирование
    Нет конечно. Большую часть времени твой скрипт будет качать, разархивировать и ждать БД.
    Ответ написан более двух лет назад
    5 комментариев
    Нравится 9 5 комментариев
  • Хотите задать вопрос администрации Тостера?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Krasnodar_etc
    Егор Живагин @Krasnodar_etc
    little front
    У них же просто охренительный официальный туториал
    Ответ написан более двух лет назад
    1 комментарий
    Нравится 19 1 комментарий
  • С чего начать учить React?

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

    chupasaurus
    chupasaurus @chupasaurus
    Сею рефлекторное, злое, временное
    Чего навспоминал за 5 минут:
    • Статусы пользователей
    • Ветки комментариев внутри канала
    • Сниппеты
    • Подсветка синтаксиса для кучи языков
    • Поддержка в куче различных проектов без нужды в напильнике, зачастую самими авторами проектов
    • Возможность работы без мыши
    • Гостевые доступы до определённых каналов
    • Настройка уведомлений шире, чем mute channel :)
    Ответ написан более двух лет назад
    8 комментариев
    Нравится 16 8 комментариев
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • Следующие →
Самые активные сегодня
  • Василий Банников
    • 8 ответов
    • 0 вопросов
  • Drno
    • 8 ответов
    • 0 вопросов
  • SoreMix
    SoreMix
    • 7 ответов
    • 0 вопросов
  • Dr. Bacon
    • 6 ответов
    • 0 вопросов
  • Sanes
    Sanes
    • 5 ответов
    • 0 вопросов
  • sergiks
    Сергей Соколов
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации