Рубрика «Разработка веб-сайтов» - 99

Всем, кому приходилось вставлять HTML содержимое в DOM в Angular, доводилось видеть это сообщение. Конечно, все мы получаем проверенное содержимое с нашего же сервера и просто хотим застилизовать сообщение об ошибке. Или вставляем HTML из наших же констант, инлайним наши SVG иконки, ведь нам всего лишь нужно покрасить их в цвет текста. Ведь ничего плохого не случится, если мы просто скажем Angular`у — не дрейфь, там всё чисто.

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

«WARNING: sanitizing HTML stripped some content» и как с ним правильно бороться - 1

Читать полностью »

Технология 5G — это уже реальность. Соответствующий значок начинает появляться в верхних частях экранов телефонов по всему миру. Если вы подключены к 5G-сети, то вы могли заметить, что такая сеть не кажется намного более быстрой, чем 4G-сеть. Я вполне это понимаю. Говорят, что сейчас, в дни становления новых сетей, настоящим 5G-скоростям мешает процесс миграции инфраструктуры. Но после того как технология 5G, во всех смыслах, повзрослеет, ожидается, что скорость сетей очень сильно возрастёт. Так, по некоторым сведениям, средние скорости загрузки данных в 5G-сетях в 2019 году могут составить от 100 Мбит до 1 Гбит в секунду. Это означает, что можно будет загрузить всю дискографию Friends, а потом — торжественно перетащить её мышью в корзину, сделав это примерно за то же время, которое сейчас занимает загрузка обычной веб-страницы. Я не пытаюсь сейчас выходить на какие-то конкретные цифры. Я говорю лишь о том, что, возможно, работа в 5G сетях может выглядеть именно так. Такое будущее иначе как «прекрасным» и не назовёшь.

5G — технология, которая, видимо, замедлит веб - 1

Да, не стоит забывать о том, что в 5G-сетях улучшится не только полоса пропускания. Ожидается и уменьшение сетевых задержек. А задержки — это одно из давно и печально известных узких мест производительности веба. Снижение задержек означает, что время, которое тратится на подключение к веб-сайту, может, по ощущениям пользователей, упасть практически до нуля. Опять же — выглядит это просто замечательно.

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

Должно-то оно должно, но автор материала, перевод которого мы сегодня публикуем, не ждёт, что 5G действительно ускорит веб. Как минимум — ускорит, но далеко не сразу. Он полагает, что если современные тренды веб-разработки не изменятся, то широкое внедрение 5G-сетей приведёт к тому, что среднестатистическому пользователю будет работаться в вебе не лучше, а хуже.
Читать полностью »

Сегодня публикуем вторую часть перевода материала о том, как в Dropbox организовывали контроль типов нескольких миллионов строк Python-кода.

Путь к проверке типов 4 миллионов строк Python-кода. Часть 2 - 1

Читать первую часть
Читать полностью »

Это и последующие руководства проведут вас через процесс создания решения на основе проекта Discovery.js. Наша цель — создать инспектор NPM-зависимостей, то есть интерфейс для исследования структуры node_modules.

Руководство по Discovery.js: быстрый старт - 1

Примечание: Discovery.js находится на ранней стадии разработки, поэтому со временем что-то будет упрощаться и становиться полезнее. Если у вас есть идеи, как можно что-то улучшить, напишите нам.

Аннотация

Ниже вы найдёте обзор ключевых концепций Discovery.js. Изучить весь код руководства можно в репозитории на GitHub, или можете попробовать как это работает онлайн.

Читать полностью »

Привет! Это пост-отчёт с митапа Moscow SPA 5, серии встреч для фронтенд-разработчиков, которым интересна тематика веб-приложений (Single Page Application). Вместе с докладчиками из Mail.Ru, Яндекса, ВКонтакте, Тинькофф и Авито мы говорили об интеграции Jest с QA-инфраструктурой, DI в качестве способа масштабирования, росте библиотек компонентов, платформенной команде. А также обсуждали, может ли UIKit быть максимально гибким и подходящим для всего.

Заходите под кат, если вам интересны эти темы. Внутри вы найдёте материалы встречи: видеозаписи докладов, презентации спикеров, отзывы гостей митапа и ссылки на фотоотчёт.

SPA Meetup 5: интеграция Jest с QA, мощный UIKit, библиотеки компонентов, DI для масштабирования, платформенные команды - 1

Читать полностью »

Сегодня мы предлагаем вашему вниманию первую часть перевода материала о том, как в Dropbox занимаются контролем типов Python-кода.

Путь к проверке типов 4 миллионов строк Python-кода. Часть 1 - 1

В Dropbox много пишут на Python. Это — язык, который мы используем чрезвычайно широко — как для бэкенд-сервисов, так и для настольных клиентских приложений. Ещё мы в больших объёмах применяем Go, TypeScript и Rust, но Python — это наш главный язык. Если учитывать наши масштабы, а речь идёт о миллионах строк Python-кода, оказалось, что динамическая типизация такого кода неоправданно усложнила его понимание и начала серьёзно влиять на продуктивность труда. Для смягчения этой проблемы мы приступили к постепенному переводу нашего кода на статическую проверку типов с использованием mypy. Это, вероятно, самая популярная самостоятельная система проверки типов для Python. Mypy — это опенсорсный проект, его основные разработчики трудятся в Dropbox.

Dropbox оказалась одной из первых компаний, которая внедрила статическую проверку типов в Python-коде в подобном масштабе. В наши дни mypy используется в тысячах проектов. Этот инструмент бесчисленное количество раз, что называется, «проверен в бою». Нам, для того, чтобы добраться туда, где мы находимся сейчас, пришлось проделать долгий путь. На этом пути было немало неудачных начинаний и провалившихся экспериментов. Этот материал повествует об истории статической проверки типов в Python — с самого её непростого начала, которое было частью моего научного исследовательского проекта, до сегодняшнего дня, когда проверки типов и подсказки по типам стали привычными для бесчисленного количества разработчиков, которые пишут на Python. Эти механизмы теперь поддерживаются множеством инструментов — таких, как IDE и анализаторы кода.
Читать полностью »

Делаем свой Google Call Screening на основе Voximplant и Dialogflow - 1


Возможно, вы слышали или читали про функцию Call Screening, которую Google выкатил для своих телефонов Pixel в США. Идея отличная – когда вам поступает входящий звонок, то виртуальный ассистент начинает общаться, в то время как вы видите этот разговор в виде чата и в любой момент можете начать говорить вместо ассистента. Это очень полезно в наши дни, когда почти половина звонков – это спам, но при этом вы не хотите пропускать важные звонки от кого-то не из вашего списка контактов. Единственная загвоздка – эта функциональность доступна только на телефоне Pixel и только в США. Что ж, препятствия существуют, чтобы их преодолевать, верно? Поэтому мы решили рассказать, как сделать подобное решение, используя Voximplant и Dialogflow. Прошу под кат.
Читать полностью »

Если ваша компания делает несколько продуктов в едином стиле, однажды вам в голову придет идея сделать библиотеку с общим кодом. Например, с UI-компонентами, сервисом авторизации или для работы со сторонними API. Возможно, вы зададитесь вопросами: кто должен поддерживать этот код? Как доносить изменения до пользователей? В конце концов, как вообще заставить их пользоваться вашей библиотекой?

С 2015 года я работаю в Тинькофф в отделе сервисов для бизнеса. За это время наша команда выросла с 3 до 60+ разработчиков, а экосистема Тинькофф Бизнес — с 3 до 50 веб-приложений. На разных этапах нашего развития мы подходили к работе с общим кодом по-разному, об этом я и хочу рассказать в этой статье.

image
Читать полностью »

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

Сервис-воркеры в клиенте Slack: об ускорении загрузки и оффлайн-режиме - 1
Читать полностью »

If you want to start your career in web development then learning Bootstrap is the way to go. Bootstrap is basically a framework used for front-end development of web apps. Its front-end component library is widely used to create interactive and responsive web apps and websites that we are used to today.

If you don’t already know, you must be wondering what responsive websites are? In simple terms, the responsiveness of a website means that when the size of the screen on which the website is being seen changes, the layout of the website responds to that and change. This makes the websites look good no matter what screen size it is being viewed on.

How does Bootstrap work?

There are two ways you can use Bootstrap. You can either import the Bootstrap into your code or you can download a sample Bootstrap project and build your website on that.

Bootstrap uses a 12-column model for website display, which is called a Bootstrap grid. On this grid, you can define different breakpoints to layout different components like headings, paragraphs, and buttons to make your website look visually appealing. When the screen size scales down, the components on the grid change layout to fit the smaller screen. This means that viewing the same website looks great on a normal size screen of your laptop and a smaller screen of your smartphone.

Bootstrap has become one of the most popular front-end development frameworks today. If you are a beginner who wants to start learning Bootstrap then you are on the right blog. Because here are the top 10 tips to learn and master Bootstrap!
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js