• Как указать исключения mod_rewrite?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    Если я правильно понял задачу, то Вы преобразуете не первое во второе, а как раз-таки наоборот — преобразуете контекст /value в передачу GET-параметра type со значением value скрипту index.php

    Для отдельно взятых value (в данном случае) можно написать вот так:
    RewriteEngine On
    
    RewriteRule ^contacts$ contacts.php [L]
    RewriteRule ^about$ about.php [L]
    RewriteRule ^([a-zA-Z0-9_/-]+)$ index.php?type=$1 [L]


    То есть, всё, что передано после первого слеша и попадает под маску [a-zA-Z0-9_/-]+, будет передано в качестве type на index.php, кроме значений contacts и about — они будут перенаправлены на другие скрипты.

    Примечание: очень важно соблюдать порядок следования правил, так как выполняется первое правило RewriteRule, под которое попадает запрашиваемый URL. Учитывая, что и contacts и about попадают под маску [a-zA-Z0-9_/-]+, то, будь их обработчики указаны ниже, отработало бы правило, перенаправляющее их на index.php?type=contacts и index.php?type=about
    Ответ написан
    Комментировать
  • Как изменить цвет класса в NetBeans 8?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    Решение как-то рассматривалось тут.

    Вкратце: class и id — CSS-селекторы, которые имеют иную цветовую схему, нежели остальные атрибуты HTML-тегов. Поэтому нужно искать настройку их цвета не в HTML, а в CSS (Cascade Style Sheets) -> Selector.
    Ответ написан
  • Номер строки в Firebug?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    Никак. Firebug отображает структуру HTML-документа в текущий момент времени, которая может отличаться от той, которую изначально отдал веб-сервер. Номера строк можно посмотреть только в просмотре исходного кода страницы. Но и в этом случае от этого будет мало толку, так как отображаемый HTML-код — это только лишь то, что сгенерировал и отдал Ваш серверный код, и номера строк, соответственно, совпадать не будут.
    Ответ написан
    Комментировать
  • Как называется расширение, "выпрямляющее" ссылки в выдаче Google?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    Для Firefox, например:
    Google Redirects Fixer & Tracking Remover
    Ответ написан
    Комментировать
  • В чем можно вести разработку сайта (запись багов, перспектив для развития и т.п.)?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    Да, в принципе, масса инструментов по управлению проектами и задачами. От простых до продвинутых, от бесплатных до платных. От Trello, Redbooth и Asana до JIRA, Primavera. Ну и отечественные аналоги, вроде Мегаплана и Битрикс 24.
    Ответ написан
    Комментировать
  • Как сделать выполнение кода на js?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    Если по простому, с использованием глобальной переменной, то как-то так:

    var dark = false;
    
    function KlickMoon() {
     document.body.style.background = dark ? 'rgb(255, 255, 255)' : 'rgb(23, 23, 23)';
     dark = !dark;
    }


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

    var colors = [
    				'rgb(22, 22, 22)',
    				'rgb(88, 88, 88)',
    				'rgb(200, 200, 200)',
    				'rgb(255, 255, 255)'
    				];
    var color_index = 0;
    
    function KlickMoon() {
     document.body.style.background = colors[color_index++];
     if(color_index == colors.length) 
     	color_index = 0;
    }
    Ответ написан
    2 комментария
  • Как сократить дробную часть?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    С помощью функции round(). Второй аргумент отвечает за количество знаков после нуля.

    $a = 3.12345;
    $b = round($a, 2);
    //Out: 3.12
    Ответ написан
    Комментировать
  • Зачем нужны предупреждения о использовании cookie?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    Да, законодательные органы некоторых стран обязали предупреждать пользователя в том случае, если вы что-либо собираетесь сохранить в cookies. В противном случае это расценивается, как нарушение конфиденциальности и скрытое использование личных данных пользователей в собственных целях.
    Ответ написан
    Комментировать
  • Как избавиться от навязчивой рекламы, постоянно вылезающей на страничку?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    Поставьте AdBlock Plus :)
    Ответ написан
    Комментировать
  • Каким решением вы пользуетесь для реализации прогрессбара?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    Да каким угодно расширяемым плагином. По большому счету, такой компонентик написать руками без сторонних плагинов — не такая уж проблема.

    Но если уж хочется совсем чего-нибудь такого-эдакого, то добро пожаловать в экспериментальный цех Codrops :)

    elasticprogress.gif
    Ответ написан
    1 комментарий
  • Почему с данным кодом PHP скрипт зависает?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    Потому-что при первом проходе цикла count($games_list) == 1; $a == 0;. Условие неравенства выполняется.

    При втором проходе (поскольку массив уменьшился) будет так: count($games_list) == 0; $a == 1;, то есть условие неравенства выполняется опять. Ну и так далее.
    Ответ написан
    Комментировать
  • Как применить с помощью * стили ко всем элементам которые лежат внутри класса?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    Всё правильно у Вас написано, и должно работать для абсолютно всех элементов, обёрнутых блоком с классом .class-name

    Другой вопрос — какова задача? Применить ко всем элементам, или же только к потомкам первого уровня. В таком случае следует писать .class-name > * { ... }
    Ответ написан
  • Babel - Uncaught ReferenceError: ... is not defined?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    Всё дело в области видимости переменных. Обычный <script></script> работает в контексте глобального объекта window, ровно как и содержимое аттрибута onClick внутри HTML-тегов.

    В свою очередь, скрипты <script type="text/babel" ></script>, которые в дальнейшем обрабатываются браузерным препроцессором babel/browser.js, помещаются в иную область видимости, что и приводит к ошибке starter() is not defined

    Исправить ситуацию в данном случае просто — нужно привязать обработчик onclick к кнопке не с помощью аттрибутов тега, а из тела babel-скрипта:

    <!DOCTYPE html>
    <html>
    <head>
        <script type="text/babel" >
            'use strict';
            
            var starter = function (){ alert("It works!") }
    
            document.getElementById("btn").onclick = starter;
        </script>
    </head>
    <body>
    	<button id="btn">start</button>	
    	<script src="https://js.cx/babel-core/browser.min.js"></script>	
    </body>
    </html>


    Ну а в целом, браузерные препроцессоры имеют ряд недостатков и неудобств в использовании, особенно, когда дело доходит до продакшна. Именно поэтому браузерная версия препроцессора Babel более недоступна на официальном сайте, где указано, что babel-browser has been removed.

    Такая же участь постигла браузерный JSXTransformer для обработки синтаксиса JSX в React.js

    И для первого, и для второго случаев теперь рекомендуется использовать Babel, как модуль одной из систем сборки проектов, будь то Gulp, Grunt, Webpack или что-либо еще. Отчасти обусловлено это тем, что современный ES2015 имеет множество фич и плагинов, которые Вы врядли будете в полном объёме использовать в своём проекте, а в рамках систем сборки необходимый набор инструментов гибко настраивается в babelrc (например, если из всех прелестей нового EcmaScript нам нужны только стрелочные функции, нужно подключить только плагин transform-es2015-arrow-functions).

    При этом конфигурация файла .babelrc будет выглядеть так:
    {
      "plugins": ["transform-es2015-arrow-functions"]
    }
    Ответ написан
    Комментировать
  • Чем/как лучше анимировать svg?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    Я себе, честно говоря, довольно смутно представляю полноценную анимацию SVG средствами CSS3. Да и чем не угодил JS? Тем, что нужно подгружать дополнительные библиотеки? Так у нас вроде как век скоростного интернета настал. Dial-Up давно позади, да и ADSL уже остался у единичных пользователей. Да и те, возможно, не являются целевой аудиторией проекта, который требует каких-то особых изысков в данной области.

    Используйте, например, Snap.svg, ну или любую другую библиотеку для полноценной работы с SVG-анимациями и маниуляциями. И будет Вам счастье :)
    Ответ написан
    Комментировать
  • Как исправить ошибку верстки в ie11?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    Скажу больше: в Edge на Windows 10 это смотрится еще ужаснее :)

    Могу предположить, что кроссбраузерно эта проблема решается следующим образом: оба инпута (text и submit) оборачиваются отдельным <div/> (хотя они уже обёрнуты формой, поэтому такая манипуляция может быть избыточным кодом), и каждому присваивается CSS-свойство display: inine-block, с предварительным указанием абсолютных размеров. Возможно, понадобятся некоторые манимуляции у input type=submit с margin-left: -5px (например) или { position:relative; left:-5px; }. Но это уже детали.
    Ответ написан
    Комментировать
  • Как написать валидацию регуляркой на символы, которые не должны присутствовать?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    Зачем же для этого регулярка? Используйте родную функцию для PHP — strpbrk()

    Как пример:
    $illegal = "#$%^&*()+=-[]';,./{}|:<>?~";
    $my_string = "Hello & World";
    echo (false === strpbrk($my_string, $illegal)) ? 'Allowed' : "Disallowed";


    Ну или, если очень хочется регуляркой, то так:
    return preg_match('/[#$%^&*()+=\-\[\]\';,.\/{}|":<>?~\\\\]/', $string);
    Ответ написан
    1 комментарий
  • Как искать готовые "проекты" gulp?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    Ну а в чем проблема «повыбрасывать» всё, что в проекте не будет использоваться?
    Есть много шаблонов gulp-проектов, которые опубликованы разработчиками, как «starter kit», по их мнению, для начала разработки чего-то нового. И у всех разный подход к архитектуре проекта.

    Вот, например, один из многочисленных паттернов.

    Но, в целом, нужно просто гуглить, хотя я почти уверен, что в любом из готовых решений будет как излишний "груз", так и недостающие для конкретно взятых целей модули/компоненты/таски и так далее.
    Ответ написан
    Комментировать
  • Как исправить кодировку MySQL и PHP?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    Если файл с PHP-скриптом в UTF-8, а также HTML-страница, из формы которой, вероятно, передаются параметры для записи в таблицу, тоже в UTF-8, то, скорее всего, дело в настройках самого PhpMyAdmin, а именно — в опции Server connection collation.

    Обычно эта опция доступна на главной странице PhpMyAdmin.
    Ответ написан
  • Как сгладить шрифт в браузере?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    Проблема может быть не в настройках NVidia, а в настройках браузера или же производительности Windows. В последнем есть такое понятие, как «сглаживание системных шрифтов».
    Ответ написан
    Комментировать