Понедельничка

Погугли

«Всё уже изобретено до нас»  — это простая мысль безотказна как автомат Калашникова и универсальна как зелёнка. Каждый раз когда мне нужно решить задачу я сначала гуглю. В большинстве случаев задача уже кем-то решена.

Работает это везде, где можно чётко описать необходимый результат. В технике, дизайне, программировании, психологии и т. п. Сел писать программу, погоди, вдруг её уже написали — погугли. Не знаешь почему собака грызёт всё подряд — погугли. Из выхлопной трубы идёт сизый дым — погугли. Программист говорит: «Решение задачи займёт два месяца», прежде чем с ним соглашаться — погугли.

Ещё один лайфхак это разделять задачу на куски и гуглить их по отдельности. А уже из этих кусков собрать необходимое решение. В не очевидных ситуациях все мигом начинают изобретать велосипеды. Например программисты всегда уверены, что им заказывают летающий утюг, несмотря на то, что вокруг летают наковальни.

В большинстве случаев нужная программа уже написана, машина починиться за 300 рублей, а программист будет очень удивлён. Сомневаешься — погули!

2017   хаки

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

Делайте больше одинаковых элементов, внутри тайла. Разнообразие одинаковых, но стоящих под разным углом, элементов сбивает ритм повторений. Отсюда правило: «Если не удаётся добиться приемлемого результата — добавьте элементов в таил». Чем больше элементов внутри тайла тем лучше. Не забывайте поворачивать элементы после копирования, стоящие под одним углом элементы будут бросаться в глаза. Это правило одинаково работает для монотонных и разноцветных паттернов.

Если делаете монотонный паттерн то попробуйте покрасить часть однотипных элементов. Так будет лучше видно косяки распределения:

Почему русские фильмы и сериалы — говно

Потому, что у нас всё происходит «по щучьему велению». Херакс! И произошло невозможное, хрен знает как, хрен знает почему и всё подают так, что вильча, всё ок — так и должно быть.

Если посмотреть из-за угла — у них всё по другому. Сначала нам невзначай покажут какую-то способность героя, и только в будущем, он её применит. Или например: в начале будет какое-то событие, которое обязательно повлияет на сюжет.

А сейчас будет спойлер
Взять сериал Sinse 8. В эпизоде What’s Going On? герой будет вскрывать наручники иголкой. Если бы это был плохой фильм, то он бы их вскрыл и всё ок, в конце концов он полицейский — должен уметь. Но фильм хороший и нам в одном из сюжетов, задолго до этого, совсем невзначай, покажут как он этому научился. И ведь даже не подумаешь, что это специально. И в этом весь кайф, смотреть дальше после такой «подводки» — приятно.

У нас так не умеют, у нас всё как по волшебству — хуяк хуяк и в продакшин. Ты такой сидишь не понимаешь как это возможно? Почему так произошло?  — А вот так, нет у нас времени на ваши, никому не нужные детали, нам проект сдавать.

И так во всём в этой стране, срать всем на детали, поэтому продукты на выходе — говно.

Почему ссылки должны быть ссылками

Когда кнопка открывает новую станицу, самое тупое, что может быть, это сделать её через <button> или <input>. Если меню состоит из таких кнопок, то страницы нельзя открыть в новой вкладке.
Делайте кнопки, открывающие новые страницы, ссылками через <a>, не лишайте пользователей возможности плодить табы — они это очень любят.

Как правильно писать кириллицей

У некоторых товарищей принято писать иностранные слова кириллицей. Это хорошо, но бывает не очень. Сейчас расскажу, почему бывает не очень и как правильно.

Я пишу заметку, в которой указываю название сайта. Если это фэйсбук — все хорошо. Он у всех на слуху и проблем не возникнет. Но вдруг это «афроузлэйпс», вы знаете этот сайт? Это сайт?! Как на него попасть? — Проблема, да?

В этом случае лучше написать полное название сайта латиницей, его будет проще найти. Второй вариант — оставить название кириллицей, но завернуть в ссылку.
Но, оба этих варианта ломают один довод:

Писать кириллицей удобно, потому что не нужно переключать раскладку клавиатуры.
Кто-то в интернете

Задумайтесь, что важнее: удобство написания или простота восприятия? — Важнее второе.

Способ оборачивать название в ссылку подойдёт не всегда. Чтобы разгадать непонятное название, читателю нужно перейти по ссылке. Если нет замысла уводить читателя со страницы, просто напишите сайт латиницей. Или оставьте подсказку на полях, напротив спорного слова.

В чем смысл писать английские слова кириллицей? — Чтобы глаз не спотыкался о слова. Осторожно, это может не сработать.

Читая слово «Уантутрипе» я сломал язык. Тут все работает точно наоборот. Это название сайта onetwotrip.com в предложном падеже, — догадались? Я нет. В таких случаях нужно писать латиницей, строя предложение так, чтобы не приходилось склонять спорное слово.

Пишите в мире читателя. Люди понимают контекст исходя из своих знаний. Аббревиатуру: «КМС», человек связанный со спортом, прочитает как: «кандидат в мастера спорта». Люди, связанные с сайтостроением, споткнутся. Они привыкли видеть в тексте латинское cms.

Имея в виду content management system лучше писать латиницей — спортсмен загуглит cms, а девелоперы легко прочтут привычную аббревиатуру. Не забывайте оставлять подсказки в текстах для широкой аудитории.

Используйте кириллицу правильно. Ответьте на вопросы:

  • кто будет читать этот текст?
  • правильно поймут написанное?
  • это слово можно безболезненно склонять?
  • это распространенное слово среди целевой аудитории?

Я вывел несколько правил:

  1. Слова, распространённые среди целевой аудитории, писать кириллицей. Например: фэйсбук, инстаграмм, гугл, Хром.
    Эти слова почти орусели. У читателей не возникнет с ними проблем.
  2. Сайты и названия программ — писать латиницей, если они не попадают под правило 1.
    Так читатель поймёт, о чём речь или легко загуглит.
  3. Аббревиатуры писать латиницей. Даже если они попадают под правило 1.
    Например: html, cms, npm.
    Как правило они адресованы людям, которые понимают предмет статьи. А если не понимают, английская аббревиатура, написанная кириллицей, их запутает.
  4. Слова кириллицей писать по правилам произношения в русском языке, например: Микрософт, Адоб, Найк.
    Чтобы легче читалось

Про аутлайны

Я думаю, что логично для начала разделить проблему на две сущности.

Первая, это поведение аутлайна. Аутлайн не должен появляться везде, где ты кликнул мышкой. Это тупой подход. Браузеры его реализуют потому, что в виду зоопарка технологий они не могут угадать где в вашем интерфейсе должно быть выделение при клике. И они никогда не смогут это сделать. Поэтому для начала научитесь отключать выделение там, где оно не нужно.

Посмотрите как это делают ребята из Эппла у себя на сайте:

Аутлайн можно увидеть только при фокусе табом, но не по клику.

Вторая сущность — визуальная. Синяя рамка не назойливый элемент. Когда решена первая сущность, то вторая уже почти не раздражает. Если по задумке подсветка фокуса должна выглядеть иначе — просто сделайте как нужно. Тупо ожидать от браузера, что он угадает ваши пожелания.

Я пользуюсь решением Олега Корсунского — скрипт Фокус фикс
Вот что он сам пишет о проблеме у себя в блоге: Про аутлайны

Это часть заметки с гита

Всем срать на то, что внутри, кроме тех, кто сделал то, что внутри

Этот текст посвящается господам девелоперам.

Такая штука, ребята. На ваши холивары по поводу плохого кода всем насрать, кроме вас.

Смотрите: дизайнеру важно, чтобы всё работало и выглядело как задумано. Менеджеру — чтобы проект был сдан в срок. Пользователю — чтобы приложение не тупило и выполняло свои функции. Заказчику важно все это вместе. Заметьте, тут нет ни слова про код. Все эти люди не увидят как всё устроено внутри.

Подумайте сами, вы никогда не заморачиваетесь над тем как устроен Фэйсбук. Как девочка с тортом не думает о том, из чего он сделан, главное, — торт вкусный. Студенту не важно как работает его микроволновка. Никто не думает о том как едет электричка.

Можно поспорить. Например, когда вы покупаете себе новую плиту, вы спрашиваете у продавца как работает эта штука? Это может быть газовая, электрическая, керамическая или индукционная плита. Вам на самом деле это важно, потому что это влияет на процесс готовки. Но, задумайтесь на секунду, вам не важно какие чипы и архитектуру использует ваша плита, и есть ли там вообще чипы.

Люди никогда не увидят того, чего они не увидят. Поэтому не порите дуру.
Если есть способ сделать быстрее и лучше не в угоду фэншую — делайте!
Тут не по БЭМу, но уже работает — похер на БЭМ — продолжайте. Вы испекли торт, но он отличается от рецепта — торт вкусный? Отлично! Остальное не важно.

Тут подтянулись ребята со стены и говорят, что «такой говнокод тяжело поддерживать». Что же, учитесь сразу писать хорошо, а пока учитесь пусть ваше приложение решает задачи пользователей, а не фей разработки.

А вдруг получится

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

Ребята, не ссыте, всё получится, нужно только начать делать. И возможно первая девушка вас отшила, экзамен вы завалили, а шеф сказал, что ты «суёшь нос не в своё дело», — от этого никто не умер. С каждый подходом к снаряду вы будете лучше понимать ситуацию, людей и свои действия. Ваша идея начнёт обретать ясные очертания, и вы сможете лучше донести её до других. Где-то на десятый раз вам уже не смогут отказать.

Как посчитать пропорциональный ресайз без фотошопа

Перед дизайнерами часто встаёт задача подсчитать соотношение сторон при ресайзе. Каждый раз открывать фотошоп — неудобно. Вручную гораздо быстрее. Например, у меня есть размер 167 × 155. Если пропорционально уменьшить 167 до 150, сколько получится у 155?

Делим неизвестную сторону на известную — получаем их соотношение:
155 / 167 = 0.92814

Соотношение умножаем на известный размер — получаем неизвестный и округляем до целых:
0.92814 × 150 = 139
Округление делается к ближайшему целому.

А наоборот? Пожалуйста:
167 / 155 × 139 = 150

«Мне ваши формулы никогда в жизни не понадобятся!» 😫

Что делать дизайнеру когда не прёт

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

Как верстают сайт на cms

Когда я был маленьким, я тоже не понимал как устроен сайт на кмс.

Cms — это система управления содержанием сайта. Базовый смысл в том, что некоторую часть текстов и картинок у сайта, работающего на cms, можно добавить или поменять, не вмешиваясь в код страницы. Делают это из специального раздела, доступного администратору сайта. Тексты и картинки, из этого раздела попадают в базу данных — большую таблицу похожую на эксэль.

Но как всё все эти данные попадают на сайт?

Вот простой пример — вывод заголовка новости из базы данных.
Внутри тэга заголовка h2 будет не статичный текст, а код запроса к базе данных.

<h2><?=$arResult["NAME"]?></h2>

Когда вы заходите на сайт, движок подменяет код запроса на данные из базы и собирает статичную страницу:

<h2>Мы сдали проект</h2>

Эту страницу загрузит браузер и вы увидите заголовок:

Мы сдали проект

Делая сайт на cms, сначала верстают статичные html страницы. Затем страницы подключают к движку сайта и везде, где контент должен браться из базы данных, ставят код запроса. Всё как в примере выше, только глобально. Помимо этого существуют переменные, условия и специальные функции, которые тоже управляют содержанием сайта. У разных cms —
разный подход к организации структуры папок и хранению кода, но базовый принцип, описанный выше, всегда сохраняется.

Зум на Виндовс

Илья Бирман написал заметку про зум на маке.
Мало кто знает, что Виндовс тоже так умеет, win + = — делает зум на позиции курсора.
Очень удобно смотреть косяки в svg и заниматься прочим перфекционизмом.
Правда каждый раз будет открываться дурацкий магнифиер — это вам не Мак.

Вставка текста без форматирования в фотошопе

update:
В версии фотошопа 2018 появилась вставка текста без форматирования.

Вставляя текст, вы сохраняете стили его форматирования:

Вставить скопированный текст без стилей можно, зажав ctrl + shift + v. Но в фотошопе так не сработает, он упорно будет вставлять текст со стилями. Это напрягает, но есть хак, маленькая программка — PureText, она сидит в трее и чистит стили скопированного текста. Её можно настроить на привычное сочетание клавиш для вставки текста без стилей:

После этого привычный ctrl + shift + v будет вставлять текст без форматирования.

Уверен для мака тоже есть что-то похожее, кто найдёт — отпишитесь.

Прыгающее меню

В мобильном хроме если скролить страницу вниз, то адресная строка пропадает, а при скроле в верх — появляется.
Это бесит. Некоторые ребята подхватили идею и заставили меню сайта вести себя точно так.
Теперь это бесит² × на высоту шапки.

Не надо страдать хернёй — сделайте гамбургер и успокойтесь.