Задать вопрос
  • Возможно ли создать программу сортировщик ютуба?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    так вроде он ща так и делает....
    Ответ написан
  • Как реализовать смену фона SVG?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Самое простое - сделать такой эффект через спрайт-анимацию.
    https://www.kirupa.com/html5/sprite_sheet_animatio...
    Ответ написан
    Комментировать
  • Старт проекта в регионе или по всей России?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Тут только 3-й путь:
    1. на всю страну и сразу с сегментацией по населённым пунктам и с возможностью их дальнейшего добавления пользователями (название, положение на карте и узнаваемый графический образ: герб города, чем славится место: культурное место/сооружение/постройка (башня, кремль, монастырь и т.п.)/мануфактура/и т.д. в "шапку").
    2. Возможность указания разных типов зон, где была утеря вещи:
    • площадь (многоугольник),
    • вдоль заданного пути на местности с коридором шириной N метров,
    • в метро на перегоне от станции A до станции B.

    3. Возможность гео-позиционирования для удобного выбора ближайшего населённого пункта к месту утери и самой точки утери.
    Ответ написан
    Комментировать
  • Почему происходит Refresh?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Заменить
    "index?p=$id_q"
    на
    "?p=$id_q"
    Ответ написан
  • Как максимально обезопасить от взлома переписку по Email с контрагентами?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Защита от "взлома" почтового аккаунта:
    1. Разрешите вход только с подсетей Вашего провайдера, где Вы снимаете почту.
    2. "Сильный" пароль
    3. Используйте двухфакторную аутентификацию
    4. Если сервер Ваш - можете использовать авторизацию по сертификату.

    Шифрование переписки:
    1. Свой почтовый сервер с поддержкой SSL/TLS
    2. Web-"морда" с почтовым интерфейсом и SSL/TLS шифрованием трафика.
    Сервис проверки: www.checktls.com
    Ответ написан
    1 комментарий
  • Как выбрать все классы, которые содержат определенное свойство?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Ответ в "лоб": regex.
    1. Если заменить интервал - можно обычной заменой по всему файлу.
    2. Если что-то еще - нужен уже итеративный подход: поиск+редактирование.
    Ответ написан
    2 комментария
  • Почему я не могу подключится к IRC серверу?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Ответ написан
    Комментировать
  • Система контроля входящего трафика на Windows?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    но - как я узнаю эти IP, какие есть программы для мониторинга входящего трафика.
    вопрос был про поведенческий фильтр, однако никто этого не понял.
    Действительно, найти хороший и бесплатный поведенческий фильтр под винду - сейчас проблема.
    1. Однако, есть схема "зеркалирования" порта на выделенную машину-арбитр для оценки трафика и "отбивки" сигнала блокировки/разблокировки на iptables на серверную машину (установка правил соединений).
    Т.е. эта система будет выступать в роли "охранника" для Вашего сервера.
    2. Если речь идёт ТОЛЬКО о OpenServer-портах, то можно настроить ту же систему на самой windows, мониторя лог обращений к web-серверу, анализируя его и прописав определенные правила, открывать или закрывать доступы.
    3. Можно делать мониторинг на основе prepend_file=... через php.ini, чтобы наиболее удобно записывать все обращения и затем анализировать их.

    Самый простой триггер:
    1. IP не является из диапазона подсетей поисковых роботов (или одним из их IP)
    И
    2. IP не находится в Вашей стране
    И
    3. Запросы к первым 3-м разным страницам происходят с интервалом менее 3-х секунд =>можно сразу блокировать по выделенному диапазону сети провайдера перманентно (не забудьте про сервисы анализа web-страниц, которыми Вы возможно будете пользоваться - они должны быть в белом списке).
    Ответ написан
    Комментировать
  • Как сделать скриншот с помощью JavaScript?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    мне нужно заскриншотить img без изменения и выложить на этой же странице
    что мешает по событию onload взять копию объекта и отобразить в другом img на этой же странице?
    Ответ написан
    Комментировать
  • Как расшифровать файл javascript?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    /** @type {Array} */
    var _0x6e0a = ["random", "floor", "\n", "URL GOTO=http://ad-social.org/in/earn?soc=in&type=like", "SET !TIMEOUT_STEP 0", "TAG POS=1 TYPE=A ATTR=CLASS:openTask<SP>btn&&ONCLICK:openTask*;&&HREF:javascript:;", "WAIT SECONDS=5", 'SEARCH SOURCE=TXT:"404 Not Found"', "TAB CLOSE", 'SEARCH SOURCE=TXT:"\u0417\u0430\u043a\u0430\u0437 \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d... \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043e\u043d \u0443\u0436\u0435 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d, \u043b\u0438\u0431\u043e \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d \u0438\u0437-\u0437\u0430 \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u0439, \u043b\u0438\u0431\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d \u0438\u043c\u0435\u043d\u043d\u043e \u0412\u0430\u043c\u0438. "',
        "ONDIALOG POS=1 BUTTON=OK CONTENT=", "WAIT SECONDS=1", "TAG POS=1 TYPE=A ATTR=CLASS:skip-task-btn&&HREF:javascript:;", "WAIT SECONDS=2", "SET !TIMEOUT_STEP 15", 'SEARCH SOURCE=TXT:"\u00a9 2016 Instagram"', 'SEARCH SOURCE=TXT:"\u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0434\u0430\u043d\u043d\u0430\u044f \u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430."', "TAG POS=1 TYPE=A ATTR=TXT:\u041d\u0440\u0430\u0432\u0438\u0442\u0441\u044f",
        "WAIT SECONDS=", "URL GOTO=http://ad-social.org/in/earn?soc=in&type=follower", "TAG POS=1 TYPE=BUTTON ATTR=TXT:\u041f\u043e\u0434\u043f\u0438\u0441\u0430\u0442\u044c\u0441\u044f"
    ];
    /**
     * @param {number} opt_attributes
     * @param {number} expectedNumberOfNonCommentArgs
     * @return {?}
     */
    function getRandomInRange(opt_attributes, expectedNumberOfNonCommentArgs) {
        return Math[_0x6e0a[1]](Math[_0x6e0a[0]]() * (expectedNumberOfNonCommentArgs - opt_attributes + 1)) + opt_attributes;
    }
    var n = _0x6e0a[2];
    for (;;) {
        iimPlayCode(_0x6e0a[3]);
        /** @type {number} */
        i = 0;
        for (; i < 6; i++) {
            e = iimPlayCode(_0x6e0a[4] + n + _0x6e0a[5]);
            if (e < 0) {
                iimPlayCode(_0x6e0a[6]);
                break;
            }
            z0 = iimPlayCode(_0x6e0a[4] + n + _0x6e0a[7]);
            if (z0 > 0) {
                iimPlayCode(_0x6e0a[8]);
                iimPlayCode(_0x6e0a[3]);
            }
            z = iimPlayCode(_0x6e0a[4] + n + _0x6e0a[9]);
            if (z > 0) {
                iimPlayCode(_0x6e0a[8]);
                iimPlayCode(_0x6e0a[10] + n + _0x6e0a[11] + n + _0x6e0a[12] + n + _0x6e0a[13]);
                iimPlayCode(_0x6e0a[3]);
            } else {
                iimPlayCode(_0x6e0a[14] + n + _0x6e0a[15]);
                z1 = iimPlayCode(_0x6e0a[4] + n + _0x6e0a[16]);
                if (z1 > 0) {
                    iimPlayCode(_0x6e0a[8]);
                    iimPlayCode(_0x6e0a[10] + n + _0x6e0a[11] + n + _0x6e0a[12] + n + _0x6e0a[13]);
                    iimPlayCode(_0x6e0a[3]);
                }
                iimPlayCode(_0x6e0a[4] + n + _0x6e0a[17]);
                iimPlayCode(_0x6e0a[18] + getRandomInRange(3, 5));
                iimPlayCode(_0x6e0a[8]);
                iimPlayCode(_0x6e0a[18] + getRandomInRange(15, 20));
                iimPlayCode(_0x6e0a[3]);
            }
        }
        iimPlayCode(_0x6e0a[19]);
        /** @type {number} */
        i = 0;
        for (; i < 6; i++) {
            e = iimPlayCode(_0x6e0a[4] + n + _0x6e0a[5]);
            if (e < 0) {
                iimPlayCode(_0x6e0a[13]);
                break;
            }
            z0 = iimPlayCode(_0x6e0a[4] + n + _0x6e0a[7]);
            if (z0 > 0) {
                iimPlayCode(_0x6e0a[8]);
                iimPlayCode(_0x6e0a[19]);
            }
            z = iimPlayCode(_0x6e0a[4] + n + _0x6e0a[9]);
            if (z > 0) {
                iimPlayCode(_0x6e0a[8]);
                iimPlayCode(_0x6e0a[10] + n + _0x6e0a[11] + n + _0x6e0a[12] + n + _0x6e0a[13]);
                iimPlayCode(_0x6e0a[19]);
            } else {
                iimPlayCode(_0x6e0a[14] + n + _0x6e0a[15]);
                z1 = iimPlayCode(_0x6e0a[4] + n + _0x6e0a[16]);
                if (z1 > 0) {
                    iimPlayCode(_0x6e0a[8]);
                    iimPlayCode(_0x6e0a[10] + n + _0x6e0a[11] + n + _0x6e0a[12] + n + _0x6e0a[13]);
                    iimPlayCode(_0x6e0a[19]);
                }
                iimPlayCode(_0x6e0a[4] + n + _0x6e0a[20]);
                iimPlayCode(_0x6e0a[18] + getRandomInRange(3, 5));
                iimPlayCode(_0x6e0a[8]);
                iimPlayCode(_0x6e0a[18] + getRandomInRange(15, 20));
                iimPlayCode(_0x6e0a[19]);
            }
        }
    };
    Ответ написан
  • Как сверстать нестандартные tab`ы?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Сами вкладки сделать через широкие ("перекрывающиеся") изображения (возможно, с применением css clip-path; хотя, вроде можно и обойтись без этого) и использовать отрицательный z-index для всех неактивных вкладок с позиционированием ниже активной (по Y-оси, т.е. активную - "поднимаем" через JS).
    Ответ написан
    2 комментария
  • Как написать формулу для датчика псевдослучайных чисел, как это сделать?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Любое число проще сгенерировать так:
    1. Создаём строку целой части полного диапазона из массива цифр [0,1,2,3,4,5,6,7,8,9].
    2. Создаём строку дробной части [0,1,2,3,4,5,6,7,8,9].
    3. Конкатенируем через точку "." и преобразуем строку в число
    4. Сдвигаем: вычитаем из полученного половину диапазона (или же просто рандомим знак).
    Ответ написан
    Комментировать
  • Куки или сессию использовать в данном случае?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Хранить лучше в куках у пользователя даже не только "просмотры", но и "корзину" (только ID-товаров и их кол-во; расчет цены - ТОЛЬКО через серверную сессию).
    2. Если Вам информация нужна на сервере - записывайте её при запросе страницы и при добавлении товара в корзину на серверной стороне в сессию.
    Ответ написан
    Комментировать
  • Зачем тестировать код?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Здесь нужно тестировать два важных момента:
    1. Насколько корректно работает валидация данных в контроллере? (кода валидации здесь не преведено)
    2. Насколько стабильно отрабатывается непосредственно добавление материалов в БД при параллельных запросах, высокой нагрузке и одинаковых материалах? (проверка стабильности соединения с БД под нагрузкой и проверка отсутствия ложных срабатываний исключений, а при их наличии - корректная дальнейшая обработка)
    Ответ написан
    4 комментария
  • Как отследить изменение содержимого объекта подгружаемого с помощью ajax?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    А что мешает триггер повесить в complete ?
    или вызвать нужную функцию внутри секции complete?
    Ответ написан
    Комментировать
  • SEO принципы при создании сайта?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Ответ прост: читайте требования ПС к сайтам и выполняйте их по-максимуму.

    Основные:
    1. Валидная разметка HTML4(5)
    2. Страницы без переадресаций (возврат контента с кодом 200 при запросе).
    3. META и обычные тэги: title, description, keywords, H1, H2, H3, p
    4. sitemap.xml + robots.txt
    5. Все визуальные элементы, ведущие на другую страницу, должны иметь линк href даже тогда, когда они обрабатываются через JS.

    Неосновные:
    1. Микроразметка (желательно сразу все 3 схемы, см. требования ПС)
    2. META-тэги соц.сетей, авторства, рейтинга материала и прочего.
    3. RSS/ATOM
    4. BackPing (оповещение ПС о новых материалах на сайте)
    5. Корректные настройки языка страниц и канонических урлов (при необходимости).
    Ответ написан
    4 комментария
  • Какова правильная логика обновления клиента игры?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Есть версия и есть хеш-сумма текущей версии всех данных приложения (файлы + БД).
    При запуске - проверяются оба значения.
    При несоответствии - выполняется операция синхронизации:
    1. Выявление различий
    2. Подготовка списка изменений относительно текущей версии у пользователя
    3. Резервирование текущей версии пользователя
    4. Загрузка всех необходимых файлов на устройство пользователя. (с возможностью докачки при разрыве соединения)
    5. Выполнение изменений.
    6. Проверка сделанных изменений (п.1)
    7. Удаление резервной копии (созданную в п.3)
    При прерывании любого из пунктов (сел аккумулятор у ПК или смартфона и прочее) - всегда должна быть возможность продолжить обновление с прерванного шага.
    Ответ написан
    Комментировать
  • Как подготовить чистый VDS к продакшену?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Есть какой то обучающий мануал, в котором коротко и доступно изложена настройка сервера с нуля?
    Нет.
    Т.к. конфигурация ОС и конфигурация модулей ОС и ПО - у всех уникальна.
    Поэтому, есть отдельные мануалы по настройке каждого компонента на сайтах их производителей: отдельно установка ОС, отдельно апач, отдельно nginx и т.д.
    Ответ написан
    4 комментария