Обновить
512K+

Веб-разработка *

Делаем веб лучше

334,66
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Исследование глубин аннотаций типов в Python. Часть 1

Время на прочтение8 мин
Охват и читатели9.9K
C 2014 года, когда в Python появилась поддержка аннотаций типов, программисты работают над их внедрением в свой код. Автор материала, первую часть перевода которого мы публикуем сегодня, говорит, что по её оценке, довольно смелой, сейчас аннотации типов (иногда их называют «подсказками») используются примерно в 20-30% кода, написанного на Python 3. Вот результаты опроса, который она, в мае 2019, провела в Twitter.

Как оказалось, аннотации используют 29% респондентов. По словам автора статьи, в последние годы она всё чаще натыкается на аннотации типов в различных книгах и учебных руководствах.

Вторая часть



В документации по Python термины «type hint» («подсказка типа») и «type annotation» («аннотация типа») используются как взаимозаменяемые. Автор статьи пользуется, в основном, термином «type hint», мы — термином «аннотация типа».

В этом материале будет рассмотрен широкий спектр вопросов, касающихся использования аннотаций типов в Python. Если вы хотите обсудить оригинал статьи с автором — можете воспользоваться механизмом pull-запросов.
Читать дальше →

.container больше не нужен

Время на прочтение7 мин
Охват и читатели145K
Все верстальщики в своих проектах используют div.container для центрирования контента и этот способ имеет некоторые особенности, от которых можно избавиться. Прочитав эту статью, Вы узнаете про способ, который позволит полностью отказаться от контейнера. Я попытаюсь рассказать о плюсах и минусах использования контейнера и альтернативного способа центрирования контента средствами только лишь css.
Читать дальше →

К чему приводит лень или как докатиться до написания парсера psd и что из этого может получиться

Время на прочтение3 мин
Охват и читатели16K
Доброго времени суток!

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

Кто использует протокол аутентификации SAML 2.0

Время на прочтение3 мин
Охват и читатели9.5K
У себя в блоге мы часто затрагиваем вопросы защиты данных и авторизации. Например, мы рассказывали о новом стандарте для беспарольной авторизации WebAuthn и даже брали интервью у одного из его разработчиков. Также обсуждали технологию DANE для аутентификации доменных имен по DNS. Сегодня поговорим о протоколе SAML 2.0 и о тех, кто его использует.

Читать дальше →

Apollo Client. Теперь — с хуками React

Время на прочтение5 мин
Охват и читатели13K
Автор материала, перевод которого мы публикуем сегодня, говорит, что миссия разработчиков Apollo Client заключается в том, чтобы сделать этот инструмент самым современным и удобным решением для управления состоянием React-приложений. Сообщество React развивается и осваивает новые эффективные способы разработки пользовательских интерфейсов. Создатели Apollo Client стремятся к тому, чтобы их проект поддерживал бы всё самое актуальное из мира React. Следуя этой традиции, разработчики Apollo Client представляют новую версию системы, оснащённую поддержкой хуков React.

image

Хуки были представлены в React 16.8. Это — новый механизм, позволяющий создавать компоненты, обладающие состоянием, и при этом не сталкиваться с проблемами, характерными для компонентов, основанных на классах. Сейчас Apollo Client включает в себя три хука, которые можно использовать в приложениях — во всех тех местах, где используются компоненты высшего порядка или механизмы render props. Речь идёт о хуках useQuery, useMutation и useSubscription. Эти хуки просты в освоении, они обладают множеством преимуществ перед ранее существовавшим API. В частности, это касается уменьшения размеров бандла приложения и сокращение объёма шаблонного кода.
Читать дальше →

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

Время на прочтение5 мин
Охват и читатели13K
В одном банке внедрили новую систему для рабочих мест операторов. Это для нас любой новый интерфейс — простой. А у некоторых людей даже сдвиг кнопки вызывает панику. Тут же новым было всё. В итоге работа встала. Как часто бывает, люди самостоятельно штудировать мануалы не хотели. Чаще звонили в техподдержку и просили коллег показать, на какие кнопочки нажимать. Да и создание инструкций отнимало массу времени.

Когда-то с такой же проблемой столкнулись и создатели сервиса, о котором мы сегодня расскажем. Они задумали перенести инструкции в форму интерактивных подсказок прямо в системе. Знаете, как когда вы первый раз запускаете приложение или игру, вам показывают: вот это — кнопка стрельбы, вот так — бегать, нажмите «присесть», чтобы присесть, и так далее.

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



Вот так они это сделали.
Читать дальше →

Видео и доклады со SmartMail Meetup: Frontend

Время на прочтение2 мин
Охват и читатели2.1K


Лето выдалось холодным, а это хороший повод потратить дождливые деньки на просмотр пары-тройки лекций по frontend-разработке. 27 июня прошел первый SmartMail Meetup, посвященный фронтенду. С техническими докладами выступили сотрудники команды frontend-разработки Почты. Вместе с ними и еще 300 участниками мы обсудили, чем живут фронтендеры Mail.ru Group и каково это, работать с высоконагруженными сервисами.

Рождение одного проекта или как написать свою CMS

Время на прочтение6 мин
Охват и читатели13K
Приветствую вас, уважаемые Хабравчане. Я очень долго шел к тому чтобы написать статью здесь о себе и своем проекте. В этой статье я хотел бы рассказать Вам мою историю зарождения идеи проекта. А также написать свою историю развития взглядов на разработку ПО в целом. Возможно даже, мне удастся передать часть знаний основанных на моем многолетнем опыте работы программистом. Поехали!

Использование Immer для управления состоянием React-приложений

Время на прочтение8 мин
Охват и читатели13K
Состояние используется для организации наблюдения за данными React-приложений. Состояния меняются по мере того, как пользователи взаимодействуют с приложениями. Когда пользователь выполняет некое действие — нам нужно обновить состояние, представляющее собой набор данных, на основе которых формируется то, что пользователь видит на экране. Обновляют состояния React-приложений с помощью метода setState.



Так как состояния не должны обновляться напрямую (в React состояние должно быть иммутабельным), при усложнении структуры состояний работа с ними превращается в весьма нетривиальную задачу. А именно, программисту становится непросто ориентироваться в состоянии и пользоваться его данными в приложении.
Читать дальше →

Зачем современную веб-разработку так усложнили? Часть 1

Время на прочтение7 мин
Охват и читатели72K
Современная фронтенд-разработка оставляет полярные впечатления: одни её любят, другие презирают.

Я большая поклонница современной веб-разработки, хотя она мне напоминает некую «магию», со своими плюсами и минусами:

  • Когда вы поймёте, как использовать волшебные инструменты (babel! бандлеры! вотчеры! и так далее!), ваш рабочий процесс становится быстрым, мощным и восхитительным
  • Если вы не понимаете волшебные инструменты, всё ужасно запутанно
  • …и попытки освоить магию слишком часто неудачны, если вам кто-нибудь не поможет продраться через джунгли жаргона, преувеличений и устаревшей информации в интернете
Читать дальше →

Разработка динамических древовидных диаграмм с использованием SVG и Vue.js

Время на прочтение12 мин
Охват и читатели12K
Материал, перевод которого мы сегодня публикуем, посвящён процессу разработки системы визуализации динамических древовидных диаграмм. Для рисования кубических кривых Безье здесь используется технология SVG (Scalable Vector Graphics, масштабируемая векторная графика). Реактивная работа с данными организована средствами Vue.js.

Вот демо-версия системы, с которой можно поэкспериментировать.


Интерактивная древовидная диаграмма
Читать дальше →

JMeter — швейцарский нож тестировщика (Часть 2)

Время на прочтение5 мин
Охват и читатели8.3K
Сегодня расскажу, как мы с помощью JMeter’а наладили процесс кэширования продуктовых страниц, проверили работу мобильного приложения без самого приложения и создали 2000 юзеров в системе без доступа к базе данных.

Кто не в курсе, что здесь происходит, читайте первую часть статьи — в ней я рассказал, как JMeter помог нам «поймать» проблему с падением сайта у части пользователей.
Читать дальше →

Vue.js: 3 анти-паттерна

Время на прочтение9 мин
Охват и читатели21K
Вероятно, Vue.js — это один из приятнейших JavaScript-фреймворков. У него имеется интуитивно понятный API, он быстрый, гибкий, им легко пользоваться. Однако гибкость Vue.js соседствует с определёнными опасностями. Некоторые разработчики, работающие с этим фреймворком, склонны к небольшим оплошностям. Это может плохо влиять на производительность приложений, или, в долгосрочной перспективе, на возможность их поддержки.



Автор материала, перевод которого мы сегодня публикуем, предлагает разобрать некоторые распространённые ошибки, совершаемые теми, кто разрабатывает приложения на Vue.js.
Читать дальше →

Ближайшие события

PHP-Дайджест № 162 (1 – 12 августа 2019)

Время на прочтение4 мин
Охват и читатели16K

Свежая подборка со ссылками на новости и материалы. В выпуске: О будущем PHP: P++ или PHP2020, принят PSR-12, PHP 7.4 beta 2, Slim 4, и другие релизы, порция полезных инструментов, и многое другое.

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


Blazor + MVVM = Silverlight наносит ответный удар, потому что древнее зло непобедимо

Время на прочтение12 мин
Охват и читатели18K
Привет, Хабр!

Таки да, скоро выходит net core 3.0 и там будет шаблон проекта с Blazor как один из дефолтных. Название у фреймворка, по-моему, похоже на название какого-нибудь покемона. Блазор вступает в бой! Решил я значит глянуть что за зверь такой и с чем его едят поэтому сделал на нем Todo лист. Ну и на Vue.js тоже, для сравнения с сабжем потому что по моему они похожи система компонентов в обоих и реактивность и вот это все. Больше тудушек богу тудушек! По факту это Гайд для юных, не окрепших умов которым лень TypeScript или JavaScript учить а кнопочки и инпуты на сайте сделать хочется. Как в том меме -«Технарь хотел написать книгу но получилась инструкция». Кому интересны мои похождения в фронт энде или узнать что за Blazor такой добро пожаловать под кат.
Читать дальше →

Задание для саморазвития: HTML-форма со списком случайных строк и отбором по ним

Время на прочтение3 мин
Охват и читатели4.3K
Предлагаю вниманию хабровчан и гостей Хабра задание для саморазвития во frontend-стороне разработки. Задание ориентировано на исполнителей, начинающих разбираться с frontend-программированием и настроенных тесно познакомиться с базовыми механизмами программирования в браузере. Необходимые технологии: HTML, CSS, JavaScript (Vanilla).

image

Задание специально составлено так, чтобы как можно больше разобраться в базовых технологиях при минимальном подключении каких-либо дополнительных средств. По сути, требуется только браузер и редактор кода; никаких предварительных манипуляций, без необходимости обработки на backend-стороне. Кому интересно ознакомиться с постановкой — Добро пожаловать под кат!
Читать дальше →

Дайджест свежих материалов из мира фронтенда за последнюю неделю №375 (5 — 11 августа 2019)

Время на прочтение4 мин
Охват и читатели11K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.


Читать дальше →

Тяжёлое бремя времени. Доклад Яндекса о типичных ошибках в работе со временем

Время на прочтение12 мин
Охват и читатели22K
В коде самых разных проектов нередко приходится оперировать временем — например, чтобы завязать логику работы приложения на текущее время у пользователя. Старший разработчик интерфейсов Виктор Хомяков victor-homyakov описал типичные ошибки, которые встречались ему в проектах на языках Java, C# и JavaScript от разных авторов. Перед ними вставали одни и те же задачи: получить текущую дату и время, измерить интервалы или выполнить код асинхронно.



— До Яндекса я работал в других продуктовых компаниях. Это не как фрилансер — написал, сдал и забыл. Приходится очень долго работать с одной кодовой базой. И я, собственно, смотрел, читал, писал много кода на разных языках и увидел много чего интересного. В итоге у меня родилась тема этого рассказа.

Читать дальше →

Сначала фронт, а потом бэк (когда-нибудь)

Время на прочтение14 мин
Охват и читатели54K

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


Разработка сложного функционала требует тонкой координации усилий коллектива инженеров.


И одним из важнейших моментов является вопрос распараллеливания задач.


Возможно ли избавить фронтовиков от необходимости ждать реализацию бэка? Есть ли способ распараллелить разработку отдельных фрагментов UI?


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


Читать дальше →

Figma — простое решение для дизайнера, сложное решение для верстальщика

Время на прочтение6 мин
Охват и читатели257K

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