• Python. От теории к практике?

    aRegius
    @aRegius
    Python Enthusiast
    Если тянет в сторону веба - значит Django/Flask вам в руки (что касается лично меня, я работаю с Django). И оптимальный вариант своего собственного, первого, интересного, полноценного и актуального проекта - свой сайт/блог.

    Для того, чтобы нагрузить себя максимально полезно и сделать все это с нуля, более-менее презентабельно, но без готовых шаблонов а-ля Wordpress, рекомендую дополнительно изучить HTML и CSS.

    Для того, чтобы все это реализовать, вам понадобятся 4 книги, желание и самодисциплина. По времени - все очень индивидуально и будет зависеть от того, сколько оного у вас имеется для этой работы, плюс степень вашей обучаемости.

    Книги:
    1. Django. Подробное руководство Адриан Головатый, Джейкоб Каплан-Мосс
    Да, книга реально 2009 года издания (оригинал). Но пусть вас это не смущает. Ее ценность превышает факт устаревания некоторой информации, в ней изложенной. Тем более, она написана непосредственными создателями Django - информация из первых рук.
    2. Django Girls Tutorial Django Girls non-profit organization
    Можно читать онлайн, можно скачать PDF.
    3. HTML5. Недостающее руководство Мэтью Мак-Дональд
    4. Большая книга CSS3 Дэвид Макфарланд

    Всё вышеперечисленное есть и на русском, и на английском языках в свободном доступе.

    Книга 1 познакомит вас с Django.
    Книга 2 покажет, step-by-step, как с помощью Django создать свой блог/сайт.
    Книги 3 и 4 нужны для того, чтобы привести внешний вид ресурса в более-менее благородный вид.

    Для начала вполне достаточно. В качестве оперативного справочника используйте официальное руководство (или djbook.ru - если с английским пока никак).

    P.S.
    Если ваш выбор Flask - не подскажу.
    Если вы владеете английским на уровне чтения литературы - обратите внимание на эту книгу (после первой, вместо второй).
    Ответ написан
    Комментировать
  • Какие существуют правила хорошего дизайна?

    @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 комментариев
  • Как использовать Json данные в jade ?

    @beliberda
    Посмотрите мой пример: https://github.com/kulakowka/kulakowka.com/blob/ma...

    Конкретно вот в это место. Переменная config передается в jade шаблонизатор.

    // Templates
    gulp.task('templates', function() {
      
      var config = {
        revision: new Date().getTime()
      };    
    
      gulp.src('./assets/views/**/*.jade')
        .pipe(jade({
          locals: config
        }))
        .pipe(gulp.dest('./public/'))
        .pipe(notify({ message: 'Templates task complete' }));
    });


    Ничего не запрещает вам сделать так:

    // Templates
    gulp.task('templates', function() {
      
      var config = require('./config.json');
    
      gulp.src('./assets/views/**/*.jade')
        .pipe(jade({
          locals: config
        }))
        .pipe(gulp.dest('./public/'))
        .pipe(notify({ message: 'Templates task complete' }));
    });


    Ну а в файле config.json положить уже нужные данные.

    {
      "param1":"мои данные 1",
      "param2":"мои данные 2"
    }


    Ну а вообще, ответ элементарно ищется поисковиком по запросу Gulp Jade.

    Если вам лень искать, то я сделал это за вас.

    https://www.npmjs.org/package/gulp-jade
    jade-lang.com

    Там есть примеры :) думаю должно быть понятно.
    Ответ написан
    4 комментария
  • Как понять принципы ООП?

    onqu
    @onqu
    weasy
    Чтобы понять принципы ООП, книги не требуются. Взгляните вокруг себя. Всмотритесь в любой объект в реальном мире, опишите его наиболее подробно (материал, размер, цвет, вес, плотность, составные части и т.д.), это будут его свойства. Опишите, что и каким образом этот объект умеет делать (включаться, складываться, кушать электроэнергию, взаимодействовать с другими объектами или окружающей средой и т.д.), это будут его методы. Подумайте, для чего используется этот объект, что ему нужно изменить или добавить, чтобы использовать в других условиях или целях, и на основе всех собранных знаний создать более удобный экземпляр, это будет наследование и полиморфизм. Теперь немедленно забудьте обо всем, используйте объект по назначению, это будет инкапсуляция. Дальше останутся только тонкости выбранного Вами языка, шаблоны, методологии и прочаяие ересь тренды.
    Ответ написан
    2 комментария