Как стать автором
Обновить

Quadcode meetup (онлайн) про аналитику, дизайн, работу с командой и не только

Блог компании Quadcode Управление персоналом *Карьера в IT-индустрии Финансы в IT IT-компании

7 спикеров разных профессий и с разным опытом поделятся своими кейсами. Объединяет их работа в Quadcode. А рассказывать ребята будут про аналитику, Scrum, работу с людьми и дизайн. Участие бесплатное, но нужно зарегистрироваться.

Детали — под катом.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 552
Комментарии 0

JodaTime — учите матчасть, или важность существительных

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

В моем коде я высчитывал startDate и endDate, и возвращал Duration вот таким образом:
  return new Period(startDate, endDate).toDuration();


Выяснилось, что если startDate и endDate отстояли друг от друга больше, чем на месяц, JodaTime кидал исключение. Решение было найдено быстро:

  return new Interval(startDate, endDate).toDuration();


Починил, и задумался, почему я допустил такой ляп. JodaTime имеет очень богатый набор классов для описания всего, что связано со временем, и мне некогда было разбираться в разнице между Period, Interval, Duration и т.д. И очень зря.
Когда я писал код, в голове вертелось «за отчетный период хлеборобы Кубани убрали и намолотили....». Я, хотя и свободно говорю по-английски, выбрал первый попавшийся класс, похожий на «отчетный период», т.е. Period.

К чему я это все? К тому, как важно правильно называть свои классы/методы/переменные. Почитал я (вовремя, ага, после того, как закончил проект) документацию к JodaTime и позавидовал белой завистью. Ребята приложили кучу усилий к тому, чтобы назвать каждый класс нужным существительным. Interval — это не Period, и понятно почему (ага, теперь понятно). У меня так, к сожалению, получается не всегда. А жаль.
Всего голосов 7: ↑4 и ↓3 +1
Просмотры 317
Комментарии 2

Защитное программирование

Разработка веб-сайтов *Совершенный код *.NET *
Перевод
Один из моих читателей, Барри Гайлз, недавно написал мне и задал достаточно интересный вопрос, который, по моему мнению, достоен обсуждения:

«Недавно я столкнулся с одной интересной ситуацией на работе: я производил ревью кода и вставил защитные проверки – одну для проверки аргумента конструктора на null, одну для проверки на null значения, возвращаемого из свойства. У меня также имелись утверждения для закрытых методов, которые я использовал для того, чтобы явно указать мои предположения.
«Похоже, что преобладающей практикой среди моих коллег по команде является опускание проверок и допущение падений. Если быть честным, я борюсь с этой концепцией, так как я уже привык разрабатывать посредством защитного программирования и считал это хорошей практикой. Я практически уверен, что дело обстоит так же в большей части руководств и записей в блогах.
«Вы не могли бы дать совет относительно того, почему лучше программировать в защитном стиле, вместо того, чтобы позволить коду провалиться и затем проверять трассировку стека?»
Читать дальше →
Всего голосов 47: ↑38 и ↓9 +29
Просмотры 33K
Комментарии 72

Создание Tinkoff Design System. Первые шаги

Блог компании TINKOFF Веб-дизайн *Интерфейсы *
В цикле статей Tinkoff Design System я расскажу, как мы строим нашу дизайн-систему по методологии Atomic Design.

Читать дальше →
Всего голосов 48: ↑40 и ↓8 +32
Просмотры 59K
Комментарии 29

UX-рецепт подтверждения номера телефона и электронной почты

Веб-дизайн *Интерфейсы *Usability *
Из песочницы
В настоящее время интернет пестрит разными сервисами и другими ресурсами, через которые происходит движение денежных средств, размещаются заявки на предоставление различных услуг и многое другое. Эти ресурсы ведут тесную работу с пользователями и доступ, к своему профилю (личному кабинету), является очень важным фактором.
Читать дальше →
Всего голосов 24: ↑15 и ↓9 +6
Просмотры 9.6K
Комментарии 15

Полезное дизайнеру: бесплатные новинки для оптимизации дизайн-процессов. Выпуск 2-й

Веб-дизайн *Разработка веб-сайтов *Разработка мобильных приложений *Интерфейсы *Usability *


За последнее время мне удалось найти множество интересных мини-продуктов и небольших инструментов / утилит, которые призваны ускорить ваш дизайн-процесс. В этом выпуске вы найдете 14 ссылок на разные релизы, авторы которых вносят значительный вклад в развитие профессионального сообщества дизайнеров и разработчиков.
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 12K
Комментарии 9

10 понятий для дизайнера в 2019-м

Веб-дизайн *Интерфейсы *Дизайн мобильных приложений *Графический дизайн *Дизайн
Из песочницы
Среда работы UI/UX дизайнеров стремительно расширяется и растет: появляется уйма новых продуктов и инструментов для разработки интерфейсов, крутых возможностей благодаря развитию гибких языков программирования и, конечно же, в дизайнерскую экосферу внедряется множество новых слов и понятий. Самые актуальные и следует разобрать тщательнее, чтобы не только включить в свой лексикон специалиста, но и взять на вооружение в практическом применении.

01. Мондрианизм


Это направление стало настоящим трендом на просторах Dribbble, в основу которого легли работы голландского художника Пита Мондриана. Суть такого стиля заключается в том, что контент представлен в сетке из блоков прямоугольной и квадратной форм, которые идеально сложены подобно тетрису и позволяют уместить на минимальной площади максимум функциональных блоков в интересном, нетривиальном виде.

image



02. Серендипность


Это слово обозначает какое-либо открытие, совершённое без преднамеренных действий. Однако, это не просто внезапность, а выводы, сделанные на основе глубокого анализа информации. Серендипность состоит из двух главных составляющих: внезапного обнаружения и корректной интерпретации.

В дизайне серендипность возможно осуществить через персонализацию контента, компонент-базированное взаимодействие (например, после прочтения одной статьи в блоге рекомендуемый материал меняется в соответствии с тематикой только что прочитанной статьи), а также при помощи аффордансов (значение этого понятия см. далее).

Вы спросите: зачем нужна серендипность? Здесь все просто. С ее помощью можно сделать пользователя счастливее, а сайт/приложение – эффективнее, представляя пользователю возможность потреблять более релевантный контент и чувствовать себя в своей тарелке.

image
Читать дальше →
Всего голосов 34: ↑28 и ↓6 +22
Просмотры 15K
Комментарии 14

Пространство, сетки и макеты

Веб-дизайн *Графический дизайн *Дизайн
Перевод
Tutorial
В этой статье автор рассказывает о том как подойти к созданию дизайн-системы, рассказывает о её основах и том, как применить описанные методы и понятий в текущем дизайн проекте. Новички смогут узнать базовые понятия, а профессионалы могут освежить или покритиковать содержаний данной статьи.

Организация пространства является ключом к добротному и прекрасному дизайну. Пространственные системы, сетки для вёрстки и макеты фактически предоставляют правила, которые придают вашим проектам постоянный ритм, ограничивают принятие лишних решений и помогают командам оставаться на одном уровне понимания дизайна проекта. Эти фундаментальные понятия являются обязательным требованием для всех дизайн-систем. В этом руководстве мы пройдёмся по основам определения базовых пространственных единиц, создания правил отношений при помощи сеток (grids) и объединения их для создания современных макетов (layout) пользовательского интерфейса.


Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 7.3K
Комментарии 2

Голливудский принцип (IoC)

Программирование *Анализ и проектирование систем *ООП *
Из песочницы
В этой статье я постараюсь рассказать о принципе проектирования, называемом Inversion of Control / Инверсия управления (IoC), называемом еще Голливудским принципом. Покажу, какое отношение это имеет к принципу подстановки Барбары Лисково (LSP), а также внесу свою лепту в священную войну private vs protected.


Читать дальше →
Всего голосов 19: ↑18 и ↓1 +17
Просмотры 5.3K
Комментарии 11

How tests can help you in creating your own UI-kit

JavaScript *ReactJS *
For those who do not like long intros, let’s go straight to the conclusions — write tests for your components. Seriously, this is all that I want to say. But let’s not take this too seriously, imagine that these are the conclusions of a theorem, a frontend theorem. And now, we will need to come up with evidence.
Read more →
Рейтинг 0
Просмотры 903
Комментарии 1

Геймификация в продукте

Блог компании Acronis Дизайн
Перевод

image


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

Читать дальше →
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 2.3K
Комментарии 0

UX Tips for Designing an Online Digital Product Store

Веб-дизайн *Дизайн
The future of business is digital. E-commerce business is gaining popularity with more and more people getting comfortable buying things online. While there are many factors that define the success of an E-commerce business, a major factor is E-Commerce UX, which refers to the overall experience of a user while shopping through an E-commerce platform. For the user experience to be enjoyable, it has to be personalized, relevant, and seamless. Hence there is a need to understand the target audience- their age, culture, level of tech literacy, channels they use, and their trust to online shopping. E-commerce UX should be data-driven, customer-driven, and user-centered. It should be built on research and validation. The main factors that influence the success of an E-commerce business are the quality of the product or service offered, how it is presented to the customer and how approachable is the design of the electronic platform through which sales are being done.
Read More
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 865
Комментарии 0

Иллюстрация как гибкий инструмент коммуникации

Блог компании Россельхозбанк Usability *

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

Одним из ведущих специалистов в области иллюстраций и их использования в коммуникациях является Джейми Кларк.

Кларк считает, что градиенты хоть и были на пике трендов в 2010-х, но к концу десятилетия их стали использовать более изощренно. «Я наблюдаю все больше градиентных иллюстраций – масштабных и соблазнительных. В правильных руках они способны создавать различные настроения – от эйфории до мрачной угрозы», утверждал иллюстратор. Он предлагал рассмотреть иллюстрацию Марли Галлардо  об устойчивом развитии в журнале Barron’s. В статье прослеживается склонность художника к сохранению жесткого контроля над палитрой, которая усиливает влияние на восприятие изображения.

Я же поделюсь своим опытом, как тенденции трансформируются в будущие тренды и меняют индустрию на примере применения градиентов в проектах Экосистемы РСХБ.

Иллюстрации, иконографика и рисованные персонажи уже давно в обиходе у UXD дизайнеров (детально про UXD можно прочитать по ссылке). Но основном способом коммуникации в диджитал до 2020 года были фотографии. Что изменилось?

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

Почему же сейчас все больше иллюстрации замещают фотографии?

Иллюстрация, на текущий момент, самый гибкий, быстрый и выделяющийся на фоне конкурентов, инструмент визуализации.

- Создать иллюстрацию быстрее, чем организовать фотосессию

- Иллюстрация гибкая и может быть детально подстроена под контекст.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 1.3K
Комментарии 8

«Ваш дизайн говно!»: гайд по созданию дизайн-принципов для продуктовой компании

Блог компании Kolesa Group Usability *Управление продуктом *Дизайн
Tutorial

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

Создание принципов нужно в первую очередь дизайнерам, но в сессиях демо участвуют также и продакты, и разработчики, и создатели контента. Вся продуктовая команда должна идти в одном векторе и понимать, почему решения в интерфейсах именно такие или как сделать хорошо, исходя из описанных принципов вместо “личного мнения”. 

Читать далее
Всего голосов 5: ↑2 и ↓3 -1
Просмотры 3K
Комментарии 1

Guide to naming in code

Семантика *Программирование *Проектирование и рефакторинг *Промышленное программирование *Управление разработкой *
Из песочницы

We present a guide to name entities in code based on putting naming in perspectives of semantic space, design, and readability. 

The main idea is that naming should not be considered as creation of tags, but as a fundamental part of design process, which implies integral and consistent vocabulary to be used. We discuss naming process and naming formalism from these perspectives and we provide guidelines for practical use.

The work is based on 15 years of experience in engineering work, coding and development management in high-tech industries.

Read more
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 3.5K
Комментарии 0

Предметно-ориентированное проектирование (DDD) | Эванс Эрик — обзор книги и рекомендации

Анализ и проектирование систем *Проектирование и рефакторинг *Профессиональная литература *

В одном романе для того, чтобы подчеркнуть бесспорную красоту и поразительную сексуальность одной из героинь, автор использовал фразу: "She was a such kind of woman, that every man look at twice". Что в литературном переводе можно понять: "Одна была такой женщиной, что каждый мужчина оборачивался ей в след".

И точно такую же фразу я могу применить к бесподобной книге "Предметно-ориентированное проектирование (DDD)" Эванса Эрика. К ней хочется возвращаться каждый раз, когда ты садишься за проектирование системы в незнакомой тебе области. Словно маяк во время шторма, она помогает вести вашу галеру через сложности, чтобы все гребцы увидели землю, а проект увидел успешный старт.

И в этом обзоре, я расскажу, почему, по моему мнению, это MUSH HAVE книга для каждого middle+ разработчика.

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Просмотры 11K
Комментарии 25

Дзен Nim

Программирование *C++ *Компиляторы *C *
Из песочницы
Перевод

1. Копирование плохого дизайна — плохой дизайн.

2. Если компилятор не может рассуждать о коде, то и программист не может.

3. Не стой на пути у программиста.

4. Перенеси работу на этап компиляции: программы запускаются гораздо чаще, чем компилируются.

5. Настраиваемое управление памятью.

6. Лаконичный код не мешает читабельности, он ей способствует.

7. (Задействовать метапрограммирование, чтобы оставить язык компактным).

8. Оптимизация это специализация: если вам нужно больше скорости, пишите кастомный код.

9. Должен быть только один язык программирования для всего. Этот язык — Nim.

Читать далее
Всего голосов 18: ↑15 и ↓3 +12
Просмотры 6.4K
Комментарии 24

Закон Кёрли: Делай что-то одно

Анализ и проектирование систем *Проектирование и рефакторинг *Читальный зал
Из песочницы
Перевод

В статье "Пережить великую нехватку переменных" (Outliving the Great Variable Shortage) Тим Оттингер формулирует закон Кёрли:

«Переменная должна означать только что-то одно. Она не должна означать "что-то при таких-то условиях" и иметь разный смысл в разных обстоятельствах. Также она не должна иметь два смысла одновременно. "За двумя зайцами погонишься – ни одного не поймаешь". Переменная должна означать что-то одно все время своего существования»

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Просмотры 17K
Комментарии 3

Советы по проектированию интерфейса. Часть 1 — Гештальт

Веб-дизайн *Usability *Дизайн мобильных приложений *Графический дизайн *Дизайн
Tutorial

Если ты часто задаешь себе вопросы вроде: Правильно ли я собрал главную страницу? Каким способом лучше выделить кнопку СТА чтобы она не потерялась во множестве объектов? Как направить пользователя в нужное место и управлять его взглядом? То попробуем разобраться вместе : )

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

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 4.1K
Комментарии 5