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

    gobananas
    @gobananas
    finishhim.ru
    Делаете ветку master, ветку dev и отдельные ветки под отдельные фичи.
    Делаете 2 сайта - один сам проект (основной) - на него выкатываете master, второй сайт тестовый - на него выкатываете ветку dev. Остальные ветки разрабатываете, сливаете с dev выкатываете на тест, если там всё нормально то dev сливаете с мастером. За ноут просто когда садитесь если мастер новый есть делаете git pull и стягиваете новую версию
    Ответ написан
    11 комментариев
  • Как вы храните закладки на страницы скриптов, статей, программ и прочих интересностей?

    UnoUmo
    @UnoUmo
    • Evernote (https://goo.gl/EGkX16) - позволяет скопировать отдельные элементы или цитаты с web-страницы. Если мобильное приложение, программа, и версия для браузера.
    • Pocket (https://getpocket.com/) - служит для сохранения статей, которые можно потом прочитать даже если сайт-источник перестанет работать. Есть веб-версия, мобильное приложение и программа для Mac OS.
    • Xmarks (https://www.xmarks.com/) - для синхронизации закладок во всех браузерах. Есть возможность восстановить бекап от определенного времени. В веб-интерфейсе можно удалить дубли закладок и т.д.
    • Raindrop (https://raindrop.io/) - отдельное приложение для закладок на все браузеры, есть веб и мобильная версия. Есть функция отложенного чтения как у Pocket.


    Как вараинт, завести собственный сайт для закладок или репозиторий на GitHub (хотя с тем же успехом можно использовать блокноты Evernote).
    Ответ написан
    Комментировать
  • Какие существуют правила хорошего дизайна?

    @xlusv
    Я бы рекомендовал попробовать сверстать собственный макет самостоятельно, к примеру, на том же bootstrap. На своем опыте оцените, есть ли недостатки.

    Из правил:
    1. Дизайн не должен мешать пользователю. Чем меньше шума, тем лучше. В идеале - ничего лишнего на экране. И как можно меньше анимации.
    2. Функциональность превыше эффектов - сначала содержимое, только потом украшения
    3. Мыслить от абстрактного к конкретному, мыслить модульно - чистый холст делим на части (в пропорциях), потом добавляем компоненты в виде сплошных фигур, потом детализируем компоненты. Так мыслит и верстальщик, и программист. Хранить компоненты в отдельных файлах.
    4. Красивый дизайн - логичный дизайн. Все должно быть упорядоченно, иметь обоснованные размеры, отступы, цвета и эффекты
    5. Постоянство - одна цветовая схема, пропорции, типографика, элементы
    6. Стандарты и традиции. Поведение предсказуемо. Стрелка вниз на панели означает, что панель развернется вниз, а не вверх. Красный - опасное действие, зеленый - безопасное. Используйте стандартные иконки, вместо никому не знакомых.
    7. Смотрите на дизайн чужими глазами - наложите черно-белый фильтр или размытие и убедитесь, что содержимое не растворилось, акценты на месте. Продумайте, что случится с колонкой или меню, если текста будет слишком много или мало.
    8. Растровая графика для фотографий и многоцветных изображений. Все что может быть описано в векторе - делается в векторе.
    9. На каждое правило бывают исключения


    Книги и материлаы
    1. Design for Hackers: Reverse Engineering Beauty - технический взгляд на элементы дизайна
    2. Прочие книги по UX и web-design в списках бестселлеров amazon / ozon
    3. behance и dribbble - для анализа лучших практик
    4. Руководства по стилям: Google Material Design, Modern UI, Apple Human Interface Guidelines, ibm design. Тоже для анализа практик и правил для конкретной платформы.
    Ответ написан
    6 комментариев
  • Как назначить событие при изменении класса элемента?

    Вы можете переопределить ф-ю добавления класса, если вы используете jQuery, получится что-то типо этого:
    (function(){
        //Сохраняем ссылку на стандартный метод jQuery
        var originalAddClassMethod = jQuery.fn.addClass;
        //Переопределяем
        $.fn.addClass = function(){
            var result = originalAddClassMethod.apply(this, arguments);
            //Инициализируем событие смены класса
            $(this).trigger('cssClassChanged');
            return result;
        }
    })();
    
    $(function(){
        $("#test").bind('cssClassChanged', function(){ 
            //Отработает, как только сменится класс
        });
    });

    А вообще можно посмотреть в сторону angularjs с его дада-биндингом.
    Ответ написан
    Комментировать