Задать вопрос
  • Как стартовать в Руби для веба?

    Само по себе "руби для вэба" бессполезно, нужно стартовать отдельно вэб-сервер - Unicorn, Passanger, Brick ... что угодно и запускать там ваш "index.rb".

    Советую начать хотя бы с вот этого.
    И глянуть codecademy.
    Ответ написан
    Комментировать
  • Обращение к несуществующему элементу массива. Правильно VS Лаконично?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Правильный вариант:
    $isDisplayErrors = isset($debug['enabled']) && $debug['enabled'];
    // или более понятно
    $isDisplayErrors = isset($debug['enabled']) ? 
                                        $debug['enabled'] : false;
    Ответ написан
    4 комментария
  • Почему slim framework неправильно отдает кириллицу?

    VasiliyIsaichkin
    @VasiliyIsaichkin
    Web front/back-end (JS-full stack) app developer
    Дык, так это в PHP json_encode так работает, это же юникод последовательности.
    Костыль: если у вас новый PHP (начиная с PHP 5.4.0.) найдите в фреймворке где используется json_encode и используйте json_encode($data, JSON_UNESCAPED_UNICODE);
    Если PHP старый то можно использовать свой кодер:
    public function to_json($data) {
            if ($data === null) {
                $data = [];
            }
            $isArray = true;
            $keys = array_keys($data);
            $prevKey = -1;
            foreach ($keys as $key)
                if (!is_numeric($key) || $prevKey + 1 != $key) {
                    $isArray = false;
                    break;
                } else
                    $prevKey++;
            unset($keys);
            $items = array();
            foreach ($data as $key => $value) {
                $item = (!$isArray ? "\"$key\":" : '');
                if (is_array($value))
                    $item .= $this->to_json($value);
                elseif (is_null($value))
                    $item .= 'null';
                elseif (is_bool($value))
                    $item .= $value ? 'true' : 'false';
                elseif (is_string($value))
                    $item .= '"' . preg_replace('%([\\x00-\\x1f\\x22\\x5c])%e', 'sprintf("\\\\u%04X", ord("$1"))', $value) . '"';
                elseif (is_numeric($value))
                    $item .= $value;
                else
                    throw new Exception('Wrong argument.');
                $items[] = $item;
            }
            return ($isArray ? '[' : '{') . implode(',', $items) . ($isArray ? ']' : '}');
        }
    Ответ написан
    2 комментария
  • Каким программистом стать?

    О боги, ну что за вопросы пошли. Занимайтесь тем, что больше нравится. Я вот осознаю, что на программистов Java и 1С сейчас спрос гигантский. И при этом платят хорошие деньги. Но вот не моя сфера и все.
    Программирование - такая штука, которая должна доставлять удовольствие. А работая только ради денег, хорошим программистом стать затруднительно.
    Пробуйте себя в разном. Все равно ограничиться одним языком не выйдет.
    И да, насчет 1С. За рубежом эта штука не котируется. Если в долгосрочной перспективе есть желание куда-то вдруг уехать за пределы стран СНГ, и при этом планируется делать упор только на одной технологии, 1С стоит слать лесом.
    Если хотите спрос и деньги, идите в сторону Java. Сейчас все лавры достаются джавистам.
    А чтобы быть, как вы выразились, вроде программиста-бога, надо брать С без плюсов. Ассемблер, ладно уж, сейчас отошел в этом плане немного в сторону, и без него можно прожить.
    Ответ написан
    Комментировать
  • Как программировать галерею?

    nd0ut
    @nd0ut
    Вы у элементов карусели width и height не поставили, ну или скрипт их не видит (я не проверял)
    Uncaught Error: jCarousel: No width/height set for items. This will cause an infinite loop. Aborting...

    В качестве dirty-fix добавьте параметр itemFallbackDimension: 300

    jQuery('#mycarousel-1').jcarousel({
    				horisontal: true,
    				wrap:'circular',
    				scroll:1,
    				easing:'easeInOutBack',
                                    itemFallbackDimension: 300


    В будущем используйте js-консоль для отладки. В хроме вызывается по f12.
    Ответ написан
    1 комментарий
  • Название таба на jquery?

    @happyserge
    Как по мне кошернее всего будет заверстать и закодить на jQuery самому, чем рыть сотни готовых решений в поисках максимально подходящего.
    Ответ написан
    Комментировать
  • Какую выбрать систему контроля версий для небольшой команды программистов?

    @GDApsy
    программирование на python;linux
    Это надо вам смотреть в сторону софта по управлению проектами, а не самих по себе систем контроля версий, например Trac. Он может быть и бактрекером, и поддерживать так сказать "календарь" разработки и т.д., да придется его настраивать и адаптировать под ваши задачи. Статейка с хабра:habrahabr.ru/post/20309 А есть и коммерческая JIRA:ru.wikipedia.org/wiki/Atlassian_JIRA
    Ответ написан
    Комментировать
  • Как выполнить функцию из строки в PHP?

    Stillborn
    @Stillborn
    web-developer, web-designer
    Вы зря пришли к такой реализации, пересмотрите все в корне. Это как минимум неудобно.
    Ответ написан
    Комментировать
  • Как передать данные в js файл?

    conf
    @conf
    Ruby developer
    Еще можно использовать data-атрибуты, например:
    <ul class="products">
    <li data-product-id="55">Toster</li>
    </ul>


    Из js к ним можно получить доступ с помощью функции .data:
    $('.products li').on('click', function() { 
          console.log($(this).data('product-id'));  // 55
    });
    Ответ написан
    Комментировать
  • Как передать данные в js файл?

    Никак, потому что статику принято отдавать не через php, а напрямую nginx'ом. Если гнать все js через php вы себе сервер просадите.

    Варианты:
    1) выводите в теле
    <script type="text/javascript">
    var id = <?=$id?>
    operation(id);
    </script>
    В этом ничего страшного нет.

    2) сделайте отдельный config.php.js который будет отдавать Json объект который будет содержать необходимое состояние\настоойки.
    Ответ написан
    2 комментария
  • Какой есть IDE HTML5\JS\PHP\CSS?

    iproger
    @iproger
    Безответственный гений
    На счет 2го пункта - 2й монитор.

    Попробуйте NetBeans.
    Ответ написан
    Комментировать
  • Какой есть IDE HTML5\JS\PHP\CSS?

    Bandicoot
    @Bandicoot
    Вась-программист
    Не совсем то, что вы хотите, но очень добротная IDE: www.jetbrains.com/phpstorm
    Ответ написан
    1 комментарий
  • Как вам способ ускорить веб?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    эм... что?

    конкатенация стилей/скриптов и их последующая минификация - это нормальная практика. Для этого ненужно никаких стандартов. Делайте хоть на лету, хоть собирайте один раз при деплое (что было бы логично) а еще лучше сразу же ложите рядом уже сжатый в gzip вариант ваших скомпиленых файлов. Опять же смысла сделать из двух файлов один я не вижу как минимум по следующей причине: стили должны загрузиться раньше скриптов. Во всяком случае в большинстве случаев. Загрузка скриптов не должна блокировать загрузку страницы.

    Что касается SPDY - то тут вы вообще ни капельки не попали. Там профит в том что используется одно tcp-соединение с сервером и мультиплексирование данных. Это позволяет снизить нагрузку на сервер, не тратить время на подключение к серверу по новой для загрузки следующих файлов и т.д. По сути при использовании этого протокола конкатенация файлов стилей и скриптов не должна приносить существенного профита, ибо соединение все равно будет одно и то же.

    p.s. приведенная вами статья не даром находится в хабе "ненормальное программирование".
    Ответ написан
    Комментировать
  • Защищает ли приведение к типу данных int от sql инъекций?

    @link_irk
    Лучше работу с БД вынести в отдельный класс. И при вызове метода, который производит запрос к БД, делать фильтрацию входных данных.
    Ответ написан
    Комментировать
  • Какой выбрать язык для создания сайтов?

    nazarpc
    @nazarpc
    Open Source enthusiast
    А ещё в интернете много информации о старых версиях PHP.
    Текущие версии 5.4 и 5.5 очень даже хороши.
    Слабые стороны есть в любом языке, главное уметь использовать сильные.
    PHP достаточно зрелый язык, на котором можно писать качественные и современные сайты.
    Ответ написан
    Комментировать
  • Как отследить вызов JS на сайте?

    maxaon
    @maxaon
    Ctrl+Shift+F (в ChromeDevTools) и ищите по тексту или регуляркам. Но лучший способ IDE.
    Если нет IDE - тогда ищите по файлам руками, или с помощью поиска текста в файлах.
    Ответ написан
    4 комментария
  • html5 inputы, submit и javascript. Как подружить?

    Вешайте скрипт отправки формы не на клик, а на submit формы, тогда заработает стандартная валидация по html5 атрибутам type=emal, required и т.п.

    В вашем случае сначала происходит отправка, потом валидация. В этом способе наоборот, сначала нативная валидация, потом submit.

    document.subscribe.onsubmit = function (e){
         sendMail();
         e.preventDefault();
        }
    Ответ написан
    1 комментарий
  • Может ли NodeJS использоваться как основа для крупного проекта?

    @kazmiruk
    @d00mko видимо не потрудился прочитать статью, прежде чем посоветовать ее Вам. В статье как раз пытаются избавиться от мифов вокруг ноды.
    По сути вопроса - нода вполне подходит для проекта любого размера и сложности (как и пхп, раби, питон, ява и т.п.) Никогда в жизни не сталкивался с ситуацией, что язык становился узким местом в веб приложении. Если Вы с этим столкнетесь, то значит Ваша архитектура уже идеальна, у вас миллионы пользователей и у Вас миллиарды денег, чтобы взять и переписать все с нуля где-нибудь на побережье океана попивая мохито, принесенное личным барменом.
    Ява - готовьтесь к тому, что Вам надо МНОГО оперативной памяти. Разработка будет вестись долго, но большинство глупых ошибок Вы избежите в силу особенностей языка.
    ПХП - готовьтесь к тому, что в Вашем коде будут появляться какашки, так как из всех пхп кодеров лишь доли процента могут написать хороший код. Это действительно очень трудно, когда язык сам манит писать все больше и больше какашек ) Лишь просветленные могут удержаться )
    Нода - Вас ждет мир непонятного асинхронного кода, но как только наступит просветление, то Вы будете писать намного более эффективные приложения, чем Ваши товарищи пхпщники ) Наилучшее применение - чаты, кометы и т.п. Но и в качестве веб-сервера чувствует себя замечательно.
    Питон - можно использовать и асинхронный подход и синхронный. Памяти жрет намного меньше, чем Java (личный опыт. разница была почти в 7 раз). По скорости работы практически не уступает яве. По скорости разработки разрывает ее в клочья
    Раби - ничего не могу сказать дельного, но синтаксис мне не нравится.
    Эрланг - если Вы действительно суровы и Вам нужна максимальная производительность - это Ваш выбор. Столько боли и страдания Вам не доставит ни один язык. Вы можете часами сидеть и тупить над одной строчкой кода, но каждый раз после написания такой строчки Вы будете впадать в экстаз ) Да и пока вы часами тупили над одной строчкой в эрланге на другом языке вам бы пришлось написать 200 строчек. Хардкор вариант, есть много тестов, уроков и примеров, но сам бы я не рискнул начинать проект на нем, так как моих знаний не достаточно, а найти разработчика - нереально.
    Вообще, не пишите серьезные проекты на том, что хотите изучить или то, что модно. Пишите на языке, который лучше всего знаете.
    Ответ написан
    7 комментариев