- Макет должен быть представлен в форматах PSD, цветовое пространство sRGB IEC61966-2.1
- Имя файла должно состоять только из латинских букв, цифр и _ (underscore)
- Если макет дополняет/изменяет уже существующий, то в его имени должен быть суффикс, указывающий версию (например landing_v2.psd)
- В рамках макета должна быть соблюдена сетка
- Rulers должны быть выровнены точностью до одного пикселя. Полпикселя не допустимо
- При разработке дизайна «под разрешение» обязательно отрисовывать в разрешение окна браузера, а не монитора (при 1024 пкс ширина браузера 1000 пкс)
- Должно быть несколько версий макетов, минимум для мобильной и для пк.
| // Use Gists to store code you would like to remember later on | |
| console.log(window); // log the "window" object to the console |
Начнем с того, что надо писать не под «ИЕ», а номера конкретных версий. Каждая версия ИЕ по своим особенностям и багам напоминает отдельный браузер, под который надо подкладывать свои, отдельные костыли. И что хуже, MS иногда выпускает исправления багов, и мы имеем кучу пользователей, с разными версиями, с разными наборами сервис-паков и обновлений. И что еще хуже, в некоторых браузерах есть режимы совместимости, например ИЕ8 может отобразить страницу в режиме совместимости с ИЕ7, и — кто бы ожидал — при этом с другим набором багов, нежели настоящий ИЕ7.
Вот плач тестировщика Яндекса по этому поводу: http://habrahabr.ru/post/201172/ (мне особенно нравится картинка из фильма про хоббитов — она очень хорошо выражает суть ситуации). Можете прочитать статью для осознания масштабов проблемы.
Потому начнем изучение противника с версий.
| const createRequestFunc = (ctx, next) => axios(ctx.options) | |
| .then(response => { | |
| ctx.response = response | |
| next() | |
| }) | |
| if (record.options instanceof Array) { | |
| record.options = merge.all(record.options) | |
| } |
Утилита tree.
Выводит дерево каталогов и файлов (если указана опция -f).
Необходимо реализовать функцию dirTree внутри main.go. Начать можно с https://golang.org/pkg/os/#Open и дальше смотреть какие методы есть у результата.
Код писать в файле main.go
Запускать тесты через go test -v находясь в папке c заданием. После запуска вы должны увидеть такой результат:
| { | |
| "components": { | |
| "callbacks": null, | |
| "examples": null, | |
| "headers": { | |
| "HalJsonContentType": { | |
| "description": "A MIME type of response.", | |
| "example": "A MIME type of response.", | |
| "required": true, | |
| "schema": { |
will-change нужно юзать там, где браузеру нужно подсказать, какие свойства будут меняться (инлайн через js или pure css – не важно). это свойство, как правило, признано облегчить работу браузеру там, где используются дорогие переходы (трансформации например), и они же, в свою очередь, переходы и анимации отрабатывают не всегда гладко. указывание начального значения (если оно !== initial значению) не требуется для браузера (если это не старый хак в виде, например, принудительной 3d-трансформации translate3d(0, 0, 0) to translate3d(10px, 0, -20px) например), оно не дает понять браузеру, что будет переход, поскольку наличие стилевого правила еще не означает, что оно применится (опять же, таких блоков бывает много и сулит перегрузкой в противном случае). нужно использовать там, где операция анимирования / перехода создает доп условия (hardware acceleration, stacking context, etc), или где нужно облегчить скорость (фильтры, тени тоже дорогие операции), подсказать браузеру о том, что мы точно намерены изменить свой
| const readline = require('readline') | |
| const fs = require('fs') | |
| const { format } = require('util') | |
| async function start() { | |
| const rl = readline.createInterface({ | |
| input: fs.createReadStream('./text.html'), | |
| crlfDelay: Infinity | |
| }) | |
| #!/usr/bin/env node | |
| const inquirer = require('inquirer'); | |
| const program = require('commander'); | |
| const changeCase = require('change-case'); | |
| const fs = require('fs'); | |
| const path = require('path'); | |
| const { promisify } = require('util'); | |
| const prettier = require('prettier'); |
| <template> | |
| <Avatar | |
| editMode | |
| :image="avatar" | |
| @changeFile="onFileChange" | |
| @edit="editPhoto" | |
| :size="size" | |
| :color="color" | |
| @remove="removePhoto"/> | |
| </template> |