- Макет должен быть представлен в форматах 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> |