User
За что получает деньги наемный работник? Не понимаете? Сейчас поймете
«За что я тут корячусь на тебя?» — столь же обычный вопрос работника к работодателю.
Разобраться, за что же действительно работодатель платит деньги наемному работнику, поможет моя собственная теория, закодированная в десять букв – «ПЗП – ПЗС – ПЗПИ»
Зачем нужна выделенная Frontend Core команда и как мы внедряли дизайн систему
Всем привет, меня зовут Ростислав, я занимаю должность Front Lead в компании ДомКлик. Хочу поделиться с вами опытом создания Web Core команды и сразу ответить на следующие вопросы:
- Необходима ли такая команда в компании?
После года существования команды Web Core, у всех сложилось понимание, что в больших компаниях это необходимо, а в стартапах — не обязательно.
- Выгодно ли внедрять такую команду?
Безусловно. Изначально было сложно измерить и спрогнозировать выгоду от её создания, все расчеты, P&L были на словах, в цифрах — только примерные предположения. Спустя год мы можем посчитать сэкономленное время, профиты, и все расчеты говорят о том, что это было не зря.
- На долгую перспективу ли эта команда?
Если у вас одна цель — создать дизайн систему и выпустить библиотеку компонентов под ключ, то возможно. Если же вы хотите это всё динамически развивать и расширять зоны ответственности команды, то это точно надолго.
- Чем эта команда занимается?
Основное направление — дизайн система, но по ходу её разработки у нас появилось еще много интересных задач.
TeX в SVG: опенсорс-решение в помощь веб-разработчикам образовательных проектов
Привет! Меня зовут Костя Мамаев, я занимаюсь фронтенд-разработкой в поиске Яндекса. Некоторое время назад мы вместе с другими ребятами из команды помогали образовательным проектам компании. Среди прочего пришлось решить, казалось бы, простую задачку: отображать на экране и распечатывать на бумаге формулы, закодированные в популярном формате TeX. Звучит, как дело пяти минут, но в результате трёх подходов к снаряду появился полноценный микросервис для серверного рендеринга формул в svg и png. В статье расскажу, зачем мы пошли этим путём и почему ни один из существующих проектов не подошёл «из коробки».
Результаты нашей работы могут быть полезны и другим разработчикам, помогающим школьникам и учителям, поэтому готовый микросервис ждёт вас на гитхабе Яндекса. По ссылке весь джентльменский набор: Docker-контейнер, документация, открытый код.
Как запустить продукт на рынок, чтобы быстро получить первых клиентов?
Техническая реализация нового продукта — половина успеха. История видела немало примеров, когда перспективные проекты проваливались из-за неправильного маркетинга. Чтобы избежать этого, прочитайте подробную статью об основных этапах вывода нового продукта на рынок.
И снова о Legacy. Вечная боль техдира
Жил-был технический директор. Он жил долго и счастливо. И пригласили его на интересный и перспективный проект. Владельцы бизнеса размахивали руками, поднимая сквозняк в помещении — и рисовали маркерами прямо на оконных стёклах счастливое будущее, масштабность задачи, нули после первой цифры в зарплате. Звучит, как сказка.
Но я непросто так отметил, что техдир жил долго и счастливо. Потому что это был опытный техдир — и он знал, во что превращаются сказки, если из светлого зала из слоновой кости стейкхолдеров перейти в помещение, где стучат клавиатуры, кофе-аппарат перегревается от натуги, периодически доносится непереводимая игра слов обсценной лексики и сидят разработчики.
Техдир пришёл к ним, поздоровался и спросил: «Ребята, скажите честно, какой аццкий зверь меня ждёт в этом проекте? Потому что стейкхолдеры рассказали только о единорогах с радужными хвостами и розовых пони? Legacy, да?»
«Legacy, ...», — грустно ответили разработчики.
Сказка закончилась. Началась работа — и непростые решения.
Шесть задачек для Front-End разработчика
1. Форма кредитной карты
Клёвая форма кредитной карты с гладкими и приятными микровзаимодействиями. Включает форматирование чисел, проверку и автоматическое определение типа карты. Она построена на Vue.js, а также полностью адаптивная. (Посмотреть можно здесь.)
credit-card-form
Чему научитесь:
- Обрабатывать и валидировать формы
- Обрабатывать события (например, при изменении полей)
- Разберетесь как отображать и размещать элементы на странице, особенно данные кредитной карты, которая поверх формы
CSS-функции min(), max() и clamp()
min()
, max()
и clamp()
появилась в Firefox 8 апреля 2020 года. Это означает, что данные функции теперь поддерживаются во всех основных браузерах. Эти CSS-функции расширяют наши возможности по созданию динамических макетов и по проектированию более гибких, чем раньше, компонентов. Их можно использовать для настройки размеров элементов-контейнеров, шрифтов, отступов и многого другого. Правда, веб-дизайнеру, создающему макеты страниц с учётом возможности использования этих восхитительных функций, может понадобиться научиться думать по-новому.Сегодня я хочу рассказать об особенностях этих функций, объяснить всё то, что может оказаться в них непонятным, и привести практические примеры их использования.
User flow: как создаются популярные приложения и сайты
Я – Максим Скворцов, UX/UI-дизайнер Omega-R, международной компании по разработке и интеграции IT-решений. Я занимаюсь проектированием и визуализацией интерфейсов мобильных и веб-приложений.
На базе своего опыта в сфере информационных технологий и экспертизы компании хочу поделиться своим видением и подходом к применению одного из инструментов проектирования дизайна – user flow. Почему его используют и почему он является ценным помощником для дизайнера? Как может выглядеть user flow и как его создать?
Проба еще 5 платформ для вебинаров
Как оказалось, почти везде реализованы такие функции, как общий чат, возможность демонстрации экрана, инструменты для рисования, голосования и опросы. Но в конечном итоге на выбор больше влияет не количество функций, а удобство работы: насколько конкретное UI-решение тебе зашло.
Веселее. Я серьёзно
Я много лет занимаюсь эффективностью работы программистов. Испробовал кучу методов, и вычитанных из книг, и выдуманных, составил несколько кейсов и написал тысячи строк кода, чтобы всё это автоматизировать. И всё вроде ничего, но чего-то всё время в моем уравнении не хватало.
Я не мог понять диких скачков этой самой эффективности, в первую очередь у себя самого. Я веду учет своей эффективности на протяжении нескольких лет, в единой системе координат, и все время наблюдаю просто жуткие перепады. Не, ну ладно там скачки при смене места работы, должности, языка программирования – адаптация, время на изучение и т.д. Но почему эффективность скачет при неизменном, казалось бы, контексте?
Поначалу думал, что дело во мне. Ну, такой вот я дурак, не могу стабильно работать. Потом стали бросаться в глаза скачки в работе команды, которой руковожу – опять же, дикие, в 2-3 раза. Не говоря уже о перепадах эффективности отдельных программистов.
Вот вроде всё на месте, без особых изменений. Методы работы не меняются, квалификация только растет, задачи однородные, и по сложности, и по объему. Но вот скачет эффективность и всё.
Потом привел к одной системе координат эффективность разных команд, с которыми работал, и опять вижу существенную разницу – причем, и в абсолютных значениях, и в стабильности. Одни команды всё время тупо росли, другие всё время скакали, по бешеной синусоиде.
Ответ пришел случайно. Всё дело в настроении.
Понимание CSS Grid (2 часть): Grid-линии
Перевод Understanding CSS Grid: Grid Lines» Rachel Andrew
В первой статье из серии "Понимание CSS Grid" мы рассмотрели, как создавать родительский grid-контейнер и различные свойства, применяемые к данному элементу. Когда сетка создана, в нашем распоряжении оказывается набор grid-линий. В этой статье вы узнаете, как располагать элементы вдоль данных линий путём добавления свойств к дочерним элементам grid-контейнера.
Мы охватим следующие моменты:
- Свойства размещения элементов
grid-column-start
,grid-column-end
,grid-row-start
,grid-row-end
и их краткие формы записиgrid-column
andgrid-row
- Как использовать
grid-area
для размещения элементов по номерам grid-линий - Как располагать элементы с помощью именованных линий
- Отличие в размещении элементов в явной и неявной сетке
- Использование ключевого слова
span
с небольшим бонусомsubgrid
- Чего следует остерегаться при одновременном использовании ручного и автоматического размещения элементов
Angular без zone.js: максимум производительности
Здесь мне хотелось бы исследовать некоторые аспекты того, как применение нового компилятора Ivy (он появился в Angular 9) способно значительно облегчить отказ от использования zone.js.
Благодаря отказу от этой библиотеки я смог значительно увеличить производительность Angular-приложения, работающего под высокой нагрузкой. При этом нужные мне механизмы удалось реализовать средствами декораторов TypeScript, что привело к совсем небольшим дополнительным затратам системных ресурсов.
Обратите внимание на то, что подход к оптимизации Angular-приложений, представленный в этом материале, возможен лишь благодаря тому, что Angular Ivy и AOT включены по умолчанию. Эта статья написана в учебных целях, она не направлена на пропаганду представленного в ней подхода к разработке Angular-проектов.
API Тиньков.Инвестиции. Первые шаги
И с этого же момента меня терзают смутные сомнения — отражает ли личный кабинет объективную реальность?
Дело в том, что я покупаю ценные бумаги, номинированные в долларах, но в ЛК цены всех активов отображаются в долларах, а итоговая стоимость портфеля в рублях.
И мне непонятно, это доллар вырос или я такой результативный инвестор?
А как же комиссии, налоги и прочие дивиденды?
Вот бы взять все мои сделки и расписать по ФИФО, как в складском учете… А сверху положить полученные дивиденды, а потом вычесть налоги.
Вот тогда я и увижу понятный мне результат.
Оказалось, у Тинькова есть API, которое позволяет писать торговых роботов (мне это совсем не интересно), а также загружать данные по своему портфелю и операциям.
У этого API есть официальное описание, но мне не все было понятно, пришлось разбираться.
Результаты этих разборок представляю вашему вниманию.
Полезные ссылки:
Описание API
Еще описание
Неочевидная разница между лидером и менеджером
Кто вы: лидер или менеджер?
Некоторые часто принимают лидеров за менеджеров — и наоборот. Однако эти понятия совершенно разные: если вы справляетесь с ролью менеджера, это не значит, что вы можете быть лидером. И наоборот: не все лидеры могут эффективно управлять людьми и ресурсами.
Лидерами называют тех, кто определяет общее видение и заставляет других поверить в него. А вот менеджер — это как раз тот, кто формирует процесс реализации видения, изложенного лидером. В этой статье я подробно объясню разницу между этими ролями и то, каким образом они могут взаимодействовать ради общего блага.
У лидера — видение, у менеджера — краткосрочные цели
Лидер видит самую общую картину — а иногда и является ее автором. Лидеры ставят паруса и задают направления, в которых движется будущее. Они придают остальным энтузиазм и вдохновляют своей идеей, заставляют стремиться реализовать ее. Лидеры разжигают в сердцах людей желание преодолевать трудности и достигать вершин.
Менеджеры же разрабатывают детальный план достижения этого видения и следят за претворением плана в жизнь. Они сосредотачиваются на создании подходящих условий, привлечении нужных специалистов, организации повседневной работы и управленческих аспектах достижения общей цели. Менеджеры следят за организацией и оптимизацией процессов, устанавливают краткосрочные цели, которых, по их представлению, можно достигнуть быстро с теми ресурсами, что есть.
Переведено в Alconost
Пишем простой WYSIWYG-редактор с помощью ProseMirror
Психологические профили биржевых инвесторов: как это работает
Изображение: Unsplash
Несмотря на то, что при инвестировании необходимо проводить фундаментальный анализ и учитывать большое количество показателей, нельзя забывать и о человеческом факторе. Психология и психологические паттерны играют в инвестировании ключевую роль. Но многие инвесторы об этом не задумываются.
По мнению экспертов, у инвесторов присутствует разнообразная эмоциональная палитра, на основании которой они принимают решения. Эмоции или импульсы могут существенно повлиять на результаты инвестирования. Психологические профили инвесторов определяют то, как они будут работать с портфелем, потому что все их решения напрямую связаны с эмоциями.
Типизированные запросы OData в TypeScript
Традиционно запросы OData к данным выражаются в виде простых строк без проверки типов при компиляции или без поддержки IntelliSense, кроме того, разработчику приходится изучать синтаксис языка запросов. Данная статья описывает библиотеку TsToOdata, которая превращает запросы в удобную языковую конструкцию и применяется аналогично классам и методам. Вы создаете типизированные запросы с помощью ключевых слов языка TypeScript и знакомых операторов.
Чистый код для TypeScript — Часть 2
Первая часть, судя по комментариям вызвала неоднозначное мнение, особенно что касалось части enum. Где-то я так же могу не соглашаться, как с автором оригинала, так и с некоторыми комментариями. Но как и указывалось в начальном описании к первой части, чистый код это не догма которую нужно соблюдать, это всего лишь рекомендации, соблюдение которых каждый сам выбирает под свои потребности и взгляды.
Интерфейсы для устройства качания детской кроватки – от брелока до Web
Прошло чуть больше года с момента написания моей первой статьи про устройство для качания детской кроватки. За это время мною был разработан новый пульт управления с экраном, а затем и web-интерфейс к этому устройству. Если интересно узнать подробности — добро пожаловать под кат.
Information
- Rating
- Does not participate
- Registered
- Activity