Pull to refresh
1
0
Send message

Блокчейн на JavaScript

Reading time7 min
Views26K
В последнее время криптовалюты и блокчейн-технологии стали невероятно популярными. Сегодня я расскажу о моём подходе к созданию блокчейн-платформы на JavaScript с использованием всего 60 строк кода. Я — начинающий блокчейн-разработчик, поэтому если я в чём-то ошибаюсь — поправьте меня в комментариях.


Читать дальше →
Total votes 41: ↑41 and ↓0+41
Comments11

За что получает деньги наемный работник? Не понимаете? Сейчас поймете

Reading time4 min
Views152K
«За что я плачу тебе деньги?» — обычный вопрос работодателя работнику, причем саркастический, как правило.

«За что я тут корячусь на тебя?» — столь же обычный вопрос работника к работодателю.
Разобраться, за что же действительно работодатель платит деньги наемному работнику, поможет моя собственная теория, закодированная в десять букв – «ПЗП – ПЗС – ПЗПИ»

Читать дальше →
Total votes 178: ↑174 and ↓4+226
Comments888

Зачем нужна выделенная Frontend Core команда и как мы внедряли дизайн систему

Reading time9 min
Views10K


Всем привет, меня зовут Ростислав, я занимаю должность Front Lead в компании ДомКлик. Хочу поделиться с вами опытом создания Web Core команды и сразу ответить на следующие вопросы:


  • Необходима ли такая команда в компании?

После года существования команды Web Core, у всех сложилось понимание, что в больших компаниях это необходимо, а в стартапах — не обязательно.


  • Выгодно ли внедрять такую команду?

Безусловно. Изначально было сложно измерить и спрогнозировать выгоду от её создания, все расчеты, P&L были на словах, в цифрах — только примерные предположения. Спустя год мы можем посчитать сэкономленное время, профиты, и все расчеты говорят о том, что это было не зря.


  • На долгую перспективу ли эта команда?

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


  • Чем эта команда занимается?

Основное направление — дизайн система, но по ходу её разработки у нас появилось еще много интересных задач.

Читать далее
Total votes 28: ↑28 and ↓0+28
Comments16

TeX в SVG: опенсорс-решение в помощь веб-разработчикам образовательных проектов

Reading time4 min
Views9K

Привет! Меня зовут Костя Мамаев, я занимаюсь фронтенд-разработкой в поиске Яндекса. Некоторое время назад мы вместе с другими ребятами из команды помогали образовательным проектам компании. Среди прочего пришлось решить, казалось бы, простую задачку: отображать на экране и распечатывать на бумаге формулы, закодированные в популярном формате TeX. Звучит, как дело пяти минут, но в результате трёх подходов к снаряду появился полноценный микросервис для серверного рендеринга формул в svg и png. В статье расскажу, зачем мы пошли этим путём и почему ни один из существующих проектов не подошёл «из коробки».

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

Подробнее про три подхода к снаряду
Total votes 42: ↑40 and ↓2+54
Comments23

Как запустить продукт на рынок, чтобы быстро получить первых клиентов?

Reading time11 min
Views9.6K

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

Читать далее
Total votes 5: ↑2 and ↓3+1
Comments1

И снова о Legacy. Вечная боль техдира

Reading time10 min
Views28K

Жил-был технический директор. Он жил долго и счастливо. И пригласили его на интересный и перспективный проект. Владельцы бизнеса размахивали руками, поднимая сквозняк в помещении — и рисовали маркерами прямо на оконных стёклах счастливое будущее, масштабность задачи, нули после первой цифры в зарплате. Звучит, как сказка.


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


Техдир пришёл к ним, поздоровался и спросил: «Ребята, скажите честно, какой аццкий зверь меня ждёт в этом проекте? Потому что стейкхолдеры рассказали только о единорогах с радужными хвостами и розовых пони? Legacy, да?»


«Legacy, ...», — грустно ответили разработчики.


Сказка закончилась. Началась работа — и непростые решения.


Читать дальше →
Total votes 62: ↑50 and ↓12+52
Comments111

Шесть задачек для Front-End разработчика

Reading time2 min
Views46K

1. Форма кредитной карты


Клёвая форма кредитной карты с гладкими и приятными микровзаимодействиями. Включает форматирование чисел, проверку и автоматическое определение типа карты. Она построена на Vue.js, а также полностью адаптивная. (Посмотреть можно здесь.)

image

credit-card-form

Чему научитесь:

  • Обрабатывать и валидировать формы
  • Обрабатывать события (например, при изменении полей)
  • Разберетесь как отображать и размещать элементы на странице, особенно данные кредитной карты, которая поверх формы
Читать дальше →
Total votes 46: ↑41 and ↓5+36
Comments43

CSS-функции min(), max() и clamp()

Reading time12 min
Views68K
Поддержка CSS-функций сравнения min(), max() и clamp() появилась в Firefox 8 апреля 2020 года. Это означает, что данные функции теперь поддерживаются во всех основных браузерах. Эти CSS-функции расширяют наши возможности по созданию динамических макетов и по проектированию более гибких, чем раньше, компонентов. Их можно использовать для настройки размеров элементов-контейнеров, шрифтов, отступов и многого другого. Правда, веб-дизайнеру, создающему макеты страниц с учётом возможности использования этих восхитительных функций, может понадобиться научиться думать по-новому.



Сегодня я хочу рассказать об особенностях этих функций, объяснить всё то, что может оказаться в них непонятным, и привести практические примеры их использования.
Читать дальше →
Total votes 24: ↑23 and ↓1+35
Comments11

User flow: как создаются популярные приложения и сайты

Reading time9 min
Views156K
Всем привет!

Я – Максим Скворцов, UX/UI-дизайнер Omega-R, международной компании по разработке и интеграции IT-решений. Я занимаюсь проектированием и визуализацией интерфейсов мобильных и веб-приложений.

На базе своего опыта в сфере информационных технологий и экспертизы компании хочу поделиться своим видением и подходом к применению одного из инструментов проектирования дизайна – user flow. Почему его используют и почему он является ценным помощником для дизайнера? Как может выглядеть user flow и как его создать?

image
Читать дальше →
Total votes 5: ↑4 and ↓1+7
Comments0

Проба еще 5 платформ для вебинаров

Reading time7 min
Views10K
В предыдущей статье про платформы упор был сделан на конференции. В этот раз мы сосредоточились на вебинарных платформах, где есть специальные инструменты для взаимодействия с аудиторией. Мы зарегистрировались в пяти сервисах и провели несколько тестовых сессий.



Как оказалось, почти везде реализованы такие функции, как общий чат, возможность демонстрации экрана, инструменты для рисования, голосования и опросы. Но в конечном итоге на выбор больше влияет не количество функций, а удобство работы: насколько конкретное UI-решение тебе зашло.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments0

Веселее. Я серьёзно

Reading time5 min
Views13K
В конце есть краткое содержание, если что.

Я много лет занимаюсь эффективностью работы программистов. Испробовал кучу методов, и вычитанных из книг, и выдуманных, составил несколько кейсов и написал тысячи строк кода, чтобы всё это автоматизировать. И всё вроде ничего, но чего-то всё время в моем уравнении не хватало.

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

Поначалу думал, что дело во мне. Ну, такой вот я дурак, не могу стабильно работать. Потом стали бросаться в глаза скачки в работе команды, которой руковожу – опять же, дикие, в 2-3 раза. Не говоря уже о перепадах эффективности отдельных программистов.

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

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

Ответ пришел случайно. Всё дело в настроении.
Читать дальше →
Total votes 57: ↑41 and ↓16+40
Comments28

Понимание CSS Grid (2 часть): Grid-линии

Reading time8 min
Views15K

Перевод Understanding CSS Grid: Grid Lines» Rachel Andrew


Понимание CSS Grid (2 часть): Grid-линии


В первой статье из серии "Понимание CSS Grid" мы рассмотрели, как создавать родительский grid-контейнер и различные свойства, применяемые к данному элементу. Когда сетка создана, в нашем распоряжении оказывается набор grid-линий. В этой статье вы узнаете, как располагать элементы вдоль данных линий путём добавления свойств к дочерним элементам grid-контейнера.


Мы охватим следующие моменты:


  1. Свойства размещения элементов grid-column-start, grid-column-end, grid-row-start, grid-row-end и их краткие формы записи grid-column and grid-row
  2. Как использовать grid-area для размещения элементов по номерам grid-линий
  3. Как располагать элементы с помощью именованных линий
  4. Отличие в размещении элементов в явной и неявной сетке
  5. Использование ключевого слова span с небольшим бонусом subgrid
  6. Чего следует остерегаться при одновременном использовании ручного и автоматического размещения элементов
Total votes 8: ↑8 and ↓0+8
Comments4

Angular без zone.js: максимум производительности

Reading time12 min
Views19K
Angular-разработчики в большом долгу перед библиотекой zone.js. Она, например, помогает достичь в работе с Angular почти волшебной лёгкости. На самом деле, практически всегда, когда нужно просто поменять какое-нибудь свойство, и мы меняем его, ни о чём не задумываясь, Angular производит повторный рендеринг соответствующих компонентов. В результате то, что видит пользователь, всегда содержит самую свежую информацию. Это просто замечательно.

Здесь мне хотелось бы исследовать некоторые аспекты того, как применение нового компилятора Ivy (он появился в Angular 9) способно значительно облегчить отказ от использования zone.js.



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

Обратите внимание на то, что подход к оптимизации Angular-приложений, представленный в этом материале, возможен лишь благодаря тому, что Angular Ivy и AOT включены по умолчанию. Эта статья написана в учебных целях, она не направлена на пропаганду представленного в ней подхода к разработке Angular-проектов.
Читать дальше →
Total votes 48: ↑46 and ↓2+44
Comments16

API Тиньков.Инвестиции. Первые шаги

Reading time5 min
Views154K
Практически с первых дней я стал клиентом Тиньков.Инвестиции.

И с этого же момента меня терзают смутные сомнения — отражает ли личный кабинет объективную реальность?

Дело в том, что я покупаю ценные бумаги, номинированные в долларах, но в ЛК цены всех активов отображаются в долларах, а итоговая стоимость портфеля в рублях.

И мне непонятно, это доллар вырос или я такой результативный инвестор?

А как же комиссии, налоги и прочие дивиденды?

Вот бы взять все мои сделки и расписать по ФИФО, как в складском учете… А сверху положить полученные дивиденды, а потом вычесть налоги.

Вот тогда я и увижу понятный мне результат.

Оказалось, у Тинькова есть API, которое позволяет писать торговых роботов (мне это совсем не интересно), а также загружать данные по своему портфелю и операциям.

У этого API есть официальное описание, но мне не все было понятно, пришлось разбираться.
Результаты этих разборок представляю вашему вниманию.

Полезные ссылки:

Описание API
Еще описание
Читать дальше →
Total votes 15: ↑13 and ↓2+19
Comments64

Неочевидная разница между лидером и менеджером

Reading time7 min
Views17K


Кто вы: лидер или менеджер?


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

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

У лидера — видение, у менеджера — краткосрочные цели


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

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

Переведено в Alconost
Читать дальше →
Total votes 9: ↑7 and ↓2+10
Comments1

Пишем простой WYSIWYG-редактор с помощью ProseMirror

Reading time7 min
Views9.1K
Когда в Sports.ru понадобился свой WYSIWYG-редактор, мы решили сделать его на основе библиотеки ProseMirror. Одной из ключевых особенностей этого инструмента является модульность и широкие возможности кастомизации, поэтому с его помощью можно очень тонко подогнать редактор под любой проект. В частности, ProseMirror уже используют в The New York Times и The Guardian. В этой статье мы расскажем о том, как с помощью ProseMirror написать свой WYSIWYG-редактор.

Пишем простой WYSIWYG-редактор с помощью ProseMirror
Читать дальше →
Total votes 11: ↑9 and ↓2+10
Comments3

Психологические профили биржевых инвесторов: как это работает

Reading time5 min
Views8.3K


Изображение: Unsplash

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

По мнению экспертов, у инвесторов присутствует разнообразная эмоциональная палитра, на основании которой они принимают решения. Эмоции или импульсы могут существенно повлиять на результаты инвестирования. Психологические профили инвесторов определяют то, как они будут работать с портфелем, потому что все их решения напрямую связаны с эмоциями.
Читать дальше →
Total votes 10: ↑6 and ↓4+6
Comments1

Типизированные запросы OData в TypeScript

Reading time8 min
Views4.5K


Традиционно запросы OData к данным выражаются в виде простых строк без проверки типов при компиляции или без поддержки IntelliSense, кроме того, разработчику приходится изучать синтаксис языка запросов. Данная статья описывает библиотеку TsToOdata, которая превращает запросы в удобную языковую конструкцию и применяется аналогично классам и методам. Вы создаете типизированные запросы с помощью ключевых слов языка TypeScript и знакомых операторов.

Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments2

Чистый код для TypeScript — Часть 2

Reading time6 min
Views12K

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


Читать дальше →
Total votes 12: ↑11 and ↓1+12
Comments24

Интерфейсы для устройства качания детской кроватки – от брелока до Web

Reading time6 min
Views17K


Прошло чуть больше года с момента написания моей первой статьи про устройство для качания детской кроватки. За это время мною был разработан новый пульт управления с экраном, а затем и web-интерфейс к этому устройству. Если интересно узнать подробности — добро пожаловать под кат.

Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments53

Information

Rating
Does not participate
Registered
Activity