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

    sayber
    @sayber
    Да, я программирую на PHP и еще асинхронно!
    Blocs, dreamweaver etc.
    Только зачем дизайнеру такой софт?
    Если дизайнер не знает html/css, то какой из него дизайнер сайтов?
    Ответ написан
  • Из верстальщика во фронт-ендера, какие технологии изучать в дальнейшем?

    Teol
    @Teol
    Мобильный разработчик @OK.ru
    HTML, CSS – база для верстальщика
    Желательно интересоваться UIX частью, тоесть как делать "человекоудобно", что не всегда красиво в коде.

    Переходим во фронтенд:
    JQ (?) - надобность его падает пропорционально написанным велосипедам по работе с домом, анимациями и пониманием Ajax.
    EcmaScript (чистый js, он же "ванилла", но боже упаси произносить это вслух в приличном месте) + паттерны программирования – я бы выделил это все двойным болдом и тройным подчеркиванием. Это база фронтендера.
    Немного bash-а для терминала.
    NodeJS – суть тот же JS, но с привкусом бэкенда, полезно для понимания, как ваши странички вообще доставляются пользователю, какие самые банальные проблемы это в себе таит, и снова понятнее, как работает Ajax.
    Идем дальше и глубже –Stylus | LESS | SASS - препроцессоры, лучше уже хорошо владеть нативным CSS, пониманием атомарного дизайна, модульности и тп. Ощущения от использования словно получил суперсилу для верстальщика, хорошо сочетается с общим пониманием программрования. Есть еще постпроцессоры – их суть в том, что они работают с готовым кодом, когда препроцессоры компилируются в тот самый "готовый" код.
    Шаблонизаторы разметки – Mustache, Handlebars, Jade, EJS, React.

    Упрощаем работу:
    GIT – система версионирвоания – порядок в работе и бекапы. Качественный левелап даже для команды из одного.
    Сборщики Gulp, Grunt, ... и их плагины + пакетные менеджеры (NPM, Bower, ...) - автоматизация тех действий которые набили оскомину, сборка проекта, автоматическая генерация стилей из препроцессора, сборка бандлов, минификация и прочая томуподобная рутина (в которой, однако, не вредно по началу натереть мозолей)

    Чувствуем себя крутым:
    Учим MV* – Ember, Angular, Knockout
    Фреймворки вроде d3.js и работа с канвасом.

    Когда более менее освоетесь с JS:
    Попробовать поучить С++, Java, ... – это не так важно что, к чему душа ляжет. Для общего развития и понмиания программирования.
    Ответ написан
    Комментировать
  • Из верстальщика во фронт-ендера, какие технологии изучать в дальнейшем?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    0) Ванилла js это и есть обычный js.
    1) Начинать надо с одновременного изучения ваниллы и jQuery. По ванилле будете читать книги и всякие статьи, типа как работают замыкания, this, hoisting и так далее. А на jQuery вы собственно будете писать код, который будет что-то, да делать. Никто вам конечно не мешает забить на jQuery и по хардкору угарать только по ванильному жсу, но с огромной вероятностью, вместо того чтобы как то реально практиковаться в написании кода и выполнении каких-то простых задач, вы будете биться головой о стену, ибо для начинающего, работа с DOM (а только и этим можно заниматься поначалу) в ванилле это настоящая пытка. Очень важно пилить много велосипедов.
    2) Параллельно прокачиваете css. Там просто поле непаханных возможностей и фишек. Со временем скорее всего придет понимание того, что чего то в обычном css не хватает. Тогда и начнете юзать препроцессоры. Можно конечно и сейчас сразу начать, но я не уверен что от этого будет хоть какая-та польза (а вот риск начать юзать вложенность в full-retard mode имеется).
    3) Как только начнете писать хоть какой-то вменяемый js или юзать css с препроцессорами, тогда и придет пора автоматизации фронтэнда. Галпы, автопрефиксеры, склеивание/миницирование стилей/js и все такое. Об этом пункте вообще можно будет не париться долгое время, ибо все ваши задачи будут решаться установкой какого-нибудь генератора yeomana с маджонгом и гейшами.
    4) Фрейморвки. Ангулары, реакты, эмберы и так далее. Будете их изучать на основе статей и пет-проджектов, ибо на нормальную работу, где эти самые фрейморвки применяют, с 90% вероятностью не возьмут без опыта владения ими. Учить их все естественно не надо. Достаточно хорошенько покопаться в 1-2, чтобы понять принципы работы основных частей.
    4 пункт может с легкостью идти сразу за вторым, если вас больше интересует копание в жсе, и не особо интересно представление. Параллельно со всем перечисленным изучите стайлгайды, методолгии, модульные системы и все подобные вещи, которые необходимы для написания приличного кода.
    Ответ написан
    Комментировать
  • Куда двигаться в веб-разработке?

    standy
    @standy
    Никакие книги не дадут столько, сколько практика. Просто пишите код.
    Почитайте, например, статью от создателя jquery: Джон Резиг: Пишите код каждый день
    Ответ написан
    Комментировать
  • Что учить дальше?

    anthonybrend
    @anthonybrend
    1. HTML + CSS
    2. JavaScript
    Вы должны понять кем в большей мере вы хотите стать, т.е Front-end разработчиком или же Back end. В любом случае JavaScript надо учить, зная основы html + css. зная JS Вы легко освоите PHP или другой серверный язык. А jQuery - это лишь библиотека на JS. И следовательно этой библиотекой можно пользоваться, зная как все это устроенно. Если же вы хотите быть хорошим разработчиком.
    Ответ написан
    Комментировать
  • Как реализовать mysql выборку "соседей" одинаковых по неизвестному значению?

    @IgoNsk
    backend web developer
    Кто такие "соседи"? Записи с таким же значением поля "id_param"? Тогда как то так:
    select
      NeighbourData.*
    
    from
      Data as NeighbourData
      join Data as NodeData
        on NeighbourData.id_param = NodeData.id_param
    
    where
      NodeData.id_item = 1100
    Ответ написан
    1 комментарий
  • Вложенный в цикл SQL запрос, решения по оптимизации?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    SELECT `cat`.`id` AS `catId`, `cat`.`title` AS `catTitle`, `subcat`.`title` AS `subcatTitle` 
        FROM `categories` AS `cat` 
            LEFT JOIN `subcategories` AS `subcat` ON `cat`.`id` = `subcat`.`cat_id` 
        ORDER BY `cat`.`id`

    <?php
    $cat = -1;
    foreach ($result as $row) {
        if ($row['catId'] != $cat) {
            echo ($cat == -1 ? "" : "<\li>")."<li><p class='categories'>{$row['catTitle']}</p>";
            $cat = $row['catId'];
        }
        echo "<p class='subcats'>{$row['subcatTitle']}</p>";
    }
    if ($cat != -1)
        echo "</li>";
    ?>
    Ответ написан
    Комментировать
  • Как очистить кеш у пользователей, которые были на сайте ранее определенной даты и видели "старый" дизайн?

    aen
    @aen
    Keep calm and 'use strict';
    Разметка не кешируется, картинки тоже придут новые, если вы имена меняли.
    Для стилей и скриптов (+спрайтов картинок) нужно просто добавить в url хвост с параметром
    style.css?v=12345

    Версию можно менять как угодно. У нас обычно версия делится на несколько значений, которые соответствуют спринту и итерации.
    Ответ написан
    3 комментария
  • Правильный ли алгоритм авторизации на Session и Cookies?

    Предложенный Вами алгоритм ошибочен в плане безопасности.

    Обычно делают так:
    1) Новый пользователь при регистрации задаёт пароль, который шифруется со случайной «солью». Пользователь отправляется в виде кук его ID(для ускорения запросов), login и шифрованный пароль. В базу записывается ID, login, соль и шифрованный пароль.
    2) При авторизации проверяется куки, если они верные, то создаём сессию и помещаем в нее нужные данные. Если в кукак что-то не так, то удаляем их на сервере и на клиенте при помощи JS и перекидываем на форму авторизации.
    3) При обновлении страницы сверяем данные кук и сессии, если всё верно, то работаем. Если нет, то очищаем сессию и авторизуемся через куки. Пароль в сессии не храним.
    Ответ написан
    2 комментария
  • Перенос option между двумя select?

    @IlVin
    Нужно option писать и в правом селекте и в левом.
    Только в одном селекте они style=«display:none».
    При переносе пункта в одном селекте делаем jQuery('').hide(), а в другом jQuery('').show().
    И работать оно будет гораздо быстрее, так как не нужно будет DOM насиловать.
    Ответ написан
    1 комментарий
  • Выборка записей из базы по списку меток, заданных в другой таблице?

    @0xE0
    select Запись from ТаблицаСзаписями where idЗаписи in (select idЗаписи from ТаблицаСТегами where idТега = 'нужный тэг')
    Ответ написан
    1 комментарий