Pull to refresh
0
0
Петрук Михаил @P0WERMIC

User

Send message

Гибкие таблицы на CSS Grid

Reading time8 min
Views66K

Просмотр списка лидов («холодных» контактов)

Поскольку мы уже запустились, я, наконец, могу рассказать о секретном проекте, над которым работал последние два года. Одна из интересных функций Teamwork CRM — просмотр списка (list view).

Это мощный компонент, который встречается в приложении семь раз. По сути, таблица на стероидах. Я мог бы много рассказать, но не хочу вас утомлять. Сосредоточусь на том, как мы реализовали подобную гибкость с помощью всего нескольких строк CSS (Grid). А именно, как мы выкладываем тяжёлые таблицы данных, как поддерживаем изменение размера столбцов и многое другое.

Во-первых, нужно объяснить контекст, начиная с цели и задачи дизайна этих таблиц. Если это не интересует, не стесняйтесь перейти сразу к технической реализации.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments4

Не ешь аспирин

Reading time13 min
Views79K
Жил на свете такой человек – Стивен Кови. Однажды он решил написать книгу о личной эффективности. Теперь эту книгу знают все, она называется «Семь навыков высокоэффективных людей». Она считается классикой, постоянно переиздается во всех мыслимых странах мира, за годы существования продано несколько десятков миллионов экземпляров. Сам Стивен Кови настолько разобрался в личной эффективности, что его личными консультациями не преминули воспользоваться несколько президентов, в т.ч. США.

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

Но я не про книгу хочу поговорить, а про неожиданное открытие, которое сделал Стивен Кови, когда ее писал. Он это явление назвал «социальный аспирин».
Читать дальше →
Total votes 162: ↑130 and ↓32+98
Comments133

Как подступиться к fullstack-разработке сегодня, если ты проспал десять лет

Reading time26 min
Views148K


Привет, Хабр! Несколько месяцев назад у меня остро встал вопрос смены профиля деятельности и я обнаружил, что для претендента на вакансию web-разработчика сейчас недостаточно навыков десятилетней давности (какая неожиданность!). Пришлось срочно актуализировать свои знания. Заодно я решил составить шпаргалку с описанием большинства современных технологий, чтобы в случае чего кидать жаждущим новых знаний линк на эту статью, да и самому не забывать.
Читать дальше →
Total votes 162: ↑135 and ↓27+108
Comments381

Корпоративные фрукты

Reading time9 min
Views48K
— Прошу внимания, коллеги. – директор постучал карандашом по столу. – Нам предстоит интересное мероприятие.

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

— Мы собрались для проведения кросс-собеседования. – продолжил директор. – И у нас тут – очень интересный экземпляр. Претендует на должность директора по информационным технологиям. Но вот резюме…

— Мда. – улыбнулась HR. – Весьма странный субъект. Подозреваю, это будет что-то… Хотя думаю, на работу мы его не возьмем.

— Почему? – спросил коммерческий.

— Сейчас сам увидишь. Он утверждает, что может какими-то там программистскими, или… — HR подняла со стола бумажку, пробежалась глазами. – Да, вот… Инженерными методами повысить эффективность бизнеса. В том числе, прибыль.

— Откуда такое чудо? – коммерческий удивленно улыбнулся.

— Из деревни какой-то… — HR снова глянула в бумажку. – Написано – Курган. Это где?

— Там, где волки срать боятся. – подхватил общее настроение главный инженер. – Бывал я там, на практике. Еле жив остался, в девяностые дело было…

— Ну что, зовем? – перебил директор.

Внезапно в дверь переговорной постучали и, тут же, не дожидаясь приглашения, вошел Сергей. Почему-то в пуховике и шапке.

— Это, парни. – сказал он извиняющимся тоном. – Простите за беспокойство, я передумал. Мне ваша компания не подходит. До свидания.
Читать дальше →
Total votes 148: ↑118 and ↓30+88
Comments148

Таймтрекер на Google Scripts, Docs и Spreadsheets

Reading time4 min
Views7K


В предыдущей статье речь шла о подходе к техническому заданию в Decart IT-production. Когда мы внедрили эти изменения, проекты велись в облачной Jira, но ее потенциал использовался на минимальном уровне. Для небольшой компании достаточно грамотной постановки задач, таймтрекера, багтрекера и статистики по проекту и команде. Команде было намного удобнее работать с ТЗ, как единым документом, чем с отдельными задачами в Jira, хотя бы из-за простоты навигации в Google Docs(далее — Docs). Еще в самом начале работы по новому ТЗ появились мысли упростить процесс работы, как-то “доделав” Docs, но череда проектов не оставляла времени на погружение в этот вопрос. И вот, когда время все же нашлось, я составил список целей, которых мы хотели достичь:

  1. Учет времени в самом Docs
  2. Составление отчетов по трудозатратам сотрудников
  3. Составление отчетов по работам над проектами
  4. Уменьшение времени на работу с самой системой по ходу реализации проектов
  5. Избежать дублирования одной информации в разных местах
  6. Потратить минимум ресурсов компании

Но для начала давайте поговорим о технологии.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments5

Синхронизация команды со SCRUM

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


Предлагаю зайти к нам в гости и посмотреть как с проблемой синхронизации внутри себя борется команда “Онлайн-ипотеки” компании “Альфа-Банк”.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments12

Почему вам стоит перестать использовать продуктовые роадмапы и попробовать GIST

Reading time7 min
Views21K

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




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

Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments8

Руководство по промисам для тех, кто хочет в них разобраться

Reading time9 min
Views35K
Лес чуден, тёмен — глянь в глубину.
Но прежде я все долги верну…
И много миль, пока я усну,
Так много миль, пока я усну...

Роберт Фрост

image

Промисы — это одно из самых замечательных новшеств ES6. JavaScript поддерживает асинхронное программирование посредством функций обратного вызова и с помощью других механизмов. Однако при использовании функций обратного вызова мы сталкиваемся с некоторыми проблемами. Среди них — «ад коллбэков» и «пирамида ужаса». Промисы — это паттерн, который значительно упрощает асинхронное программирование на JS. Асинхронный код, написанный с использованием промисов, выглядит как синхронный и лишён проблем, связанных с коллбэками.

Материал, перевод которого мы сегодня публикуем, посвящён промисам и их практическому использованию. Он рассчитан на начинающих разработчиков, которым хочется разобраться с промисами.
Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments22

Как я начал любить Vue

Reading time15 min
Views61K

Вступление



Данный пост — это логическое продолжение моего поста/статьи — Как я перестал любить Angular / How I stopped loving Angular.
Рекомендуется к ознакомлению перед прочтением.


Вот уже около года во всех проектах, в которых я участвую, я использую Vue вместо Angular.
В данном посте я поделюсь основными впечатлениями и отличиями после Angular, а также поведаю некоторые вещи из реального опыта использования Vue на боевых проектах.

Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments56

Выстраиваем эффективное взаимодействие инженерной и продуктовой команд

Reading time11 min
Views24K

@innubis

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

Мы в Badoo относительно небольшими силами (в моей команде 30 человек) ежемесячно деплоим порядка сотни новых востребованных фич, при этом не теряя в качестве кода, планирования и поддержки. Каким образом нам удаётся оставаться «на коне» и как у нас построено взаимодействие инженерной команды с продуктовой, я расскажу в этой статье.

Уверен, что наш опыт будет интересен и другим компаниям. И надеюсь, что подход, который мы выработали путём проб и постоянных улучшений, кому-то реально поможет (а в идеале — сэкономит время и силы при выстраивании процессов и даст нужный результат).
Читать дальше →
Total votes 59: ↑58 and ↓1+57
Comments11

Mobile-first indexing — революция в поиске от Google

Reading time4 min
Views17K


Итак, то, что было прогнозируемо и ожидаемо на протяжении последних нескольких лет, наконец случилось. Вслед за постоянно растущим трафиком с мобильных устройств поисковые гиганты меняют алгоритмы поиска, подстраиваясь под интересы своих пользователей. В недавно вышедшем релизе от Google говорится о том, что с 1 июля 2018 года будет запущен механизм, ранжирующий сайты по принципу Mobile-first.
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments12

Не Делисамокатом единым: как мелкие юзабилити-ошибки создают большие проблемы на реальном примере

Reading time9 min
Views11K

Несколько недель назад в Сан-Франциско, я взял в аренду электросамокат, просто стоящий посреди улицы. Время от установки приложения до фактической аренды заняло не более двух минут, из которых половина ушла на загрузку самого приложения. Я даже не заметил, как прошла регистрация. Все было нативно и вело к главной цели – начать движение.


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




Читайте далее: детальный разбор юзабилити-ошибок и рекомендации по их устранению на примере мобильного приложения для широкой аудитории.

Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments20

Сравнение REST и GraphQL

Reading time9 min
Views121K

Перевод статьи Sashko Stubailo GraphQL vs. REST

Два способа отправки данных по протоколу HTTP: в чем разница?


GraphQL часто представляют как революционно новый путь осмысления API. Вместо работы с жестко определенными на сервере конечными точками (endpoints) вы можете с помощью одного запроса получить именно те данные, которые вам нужны. И да — GraphQL гибок при внедрении в организации, он делает совместную работу команд frontend- и backend-разработки гладкой, как никогда раньше. Однако на практике обе эти технологии подразумевают отправку HTTP-запроса и получение какого-то результата, и внутри GraphQL встроено множество элементов из модели REST.


Так в чем же на самом деле разница на техническом уровне? В чем сходства и различия между этими двумя парадигмами API? К концу статьи я покажу вам, что GraphQL и REST отличаются не так уж сильно, но у GraphQL есть небольшие отличия, которые существенно меняют процесс построения и использования API разработчиками.


Так что давайте сразу к делу. Мы определим некоторые свойства API, а затем обсудим, как они реализованы в GraphQL и REST.
Читать дальше →
Total votes 28: ↑23 and ↓5+18
Comments282

Черты великого продакт-менеджера

Reading time8 min
Views25K


Почему у одних людей ничего не получается, а другие доводят любое дело до конца? В чем разница между хорошими и выдающимися профессионалами? Где грань между деспотизмом и верой в результат? Ну и что объединяет прекрасных продакт-менеджеров в клуб настоящих профессионалов? Под катом прекрасный рассказ Лоуренса Рипшера.
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments9

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

Reading time10 min
Views80K
Взаимодействие человека с компьютером во многом опирается на графические элементы интерфейса, и цвет играет в этом процессе не последнюю роль. Как однажды сказал Pierre Bonnard: «Цвет не просто делает дизайн приятным для глаз, но и подкрепляет его».

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


Читать дальше →
Total votes 52: ↑49 and ↓3+46
Comments10

Простая валидация формы без JS

Reading time4 min
Views103K
imageВ данной статье я бы хотел поделиться методом быстрой валидации полей с помощью разметки и стилей. Данный метод не является кроссбраузерным и рекомендуется к использованию только как дополнительная фича. По ходу статьи мы будем уменьшать наши шансы на кроссбраузерность, но повышать функциональность.

Давайте попробуем собрать стандартную форму, которая будет включать в себя: Имя, E-Mail, Телефон, Ссылку на сайт и допустим Ваш рост, чтобы поэксперементировать с числовым полем.
Total votes 38: ↑30 and ↓8+22
Comments42

Как правильно использовать переменные в препроцессорах LESS и SASS

Reading time10 min
Views36K

Правила управления переменными в препроцессорах и методика переопределения настроек


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


Предыстория


В 2014 году в компании начали редизайн проекта и в основу вёрстки мы положили свежий на тот момент Bootstrap 3.0.1. Использовали мы его не как отдельную стороннюю библиотеку, а тесно заинтегрировали с нашим собственным кодом: отредактировали переменные под наш дизайн и компилировали кастомизированный Бутстрап из LESS исходников самостоятельно. Проект оброс собственными модулями, которые использовали бутстраповские переменные и добавляли в файл с настройками свои новые переменные.


В тот момент я думал, что это правильный подход.

Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments13

Знакомство с методологией ITIL в ITSM

Reading time7 min
Views79K
Менеджмент в IT знает несколько подходов. Главное различие между ними — приоритеты. Один метод сконцентрирован на технологиях (IT Systems Management), другой — на услугах (IT Service Management). Последний обозначается аббревиатурой ITSM и часто встречается в сопровождении другого понятия: библиотека инфраструктуры информационных технологий, или ITIL. В этой части серии статей об ITIL мы рассмотрим роль лучших практик в ITSM, а также совершим экскурс в историю зарождения ITIL и проведем краткий обзор методологии.
 
Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments4

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

Reading time6 min
Views62K


Известно, что практически ни одно мобильное приложение не обходится без бэкенда.


Если вы мобильный разработчик, то наверняка сталкивались с такими бородатыми дядями, которые меланхолично тянут логику на перле и вечно что-то пишут в консоли. Или может это был сутулый анимешник с длинными волосами, всосавший php с молоком матери.
Так или иначе, большинство из них ни разу не сталкивалось с мобильной разработкой, а кое-кто считает себя при этом гуру.


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


Приятного чтения.

Читать дальше →
Total votes 64: ↑50 and ↓14+36
Comments117
1
23 ...

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity