Pull to refresh
71
0
Азат Разетдинов @razetdinov

Разработка программного обеспечения

Send message

Разработка в монорепозитории. Доклад Яндекса

Reading time11 min
Views23K
Моё имя Азат Разетдинов, я в Яндексе уже 12 лет, руковожу службой разработки интерфейсов в Я.Недвижимости. Сегодня я хотел бы поговорить про монорепозиторий. Если у вас всего один репозиторий в работе — поздравляю, вы уже живете в монорепозитории. Теперь о том, зачем он нужен другим.



Как сказала руководитель службы разработки API Яндекс.Карт Марина Перескокова — посадил дед монорепу, выросла монорепа большая-пребольшая.

Читать дальше →
Total votes 31: ↑24 and ↓7+17
Comments40

Загрузка скриптов браузерами: вести с полей

Reading time2 min
Views2.9K
Как справляются браузеры с параллельной загрузкой скриптов?

Во времена IE7 и Firefox 2.0 ни один браузер не загружал скрипты параллельно с другими ресурсами. Вместо этого старые браузеры блокировали все последующие запросы до полной загрузки, парсинга и выполнения скрипта. Вот так выглядел лог HTTP-запросов при подобной блокировке в старых браузерах:

HTTP-запросы

На тестовой странице, по которой была сгенерирована данная диаграмма, есть шесть HTTP-запросов:
  • HTML-документ;
  • первый скрипт — 2 секунды на скачивание, 2 секунды на выполнение;
  • второй скрипт — 2 секунды на скачивание, 2 секунды на выполнение;
  • картинка — 1 секунда на скачивание;
  • стилевой файл — 1 секунда на скачивание;
  • iframe — 1 секунда на скачивание.

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

Читать дальше →
Total votes 34: ↑30 and ↓4+26
Comments63

Nokia начала закрывать своих конкурентов

Reading time1 min
Views506
Письмо 27 625 631 пользователю Nav4All

Дорогие клиенты!

С большим сожалением уведомляем вас, что системы глобальной навигации Nav4All и Tracking & Tracing уйдут в офлайн в течение 3 дней. Причина — лицензионное соглашение на данные с Navteq (100% дочерняя фирма Nokia) совершенно неожиданно не было продлено. Перейти на другого поставщика в кратчайшие сроки невозможно. Системы Nav4All были разработаны для данных Navteq. Следовательно, Nav4All вынуждена приостановить работу.

Читать дальше →
Total votes 70: ↑57 and ↓13+44
Comments54

Проверка равенства, неравенства, идентичности узлов в XPath

Reading time2 min
Views12K
С одной стороны, в языке XPath используются знакомые каждому программисту операторы сравнения «равно», «не равно», «меньше», «больше» и другие. С другой стороны, эти операторы умеют работать не только с примитивными типами, но и с целыми наборами узлов. Незнание правил сравнения наборов узлов может привести к некоторым сюрпризам.

Попробуйте быстро ответить на вопрос, чему равно следующее выражение:

foo = 'bar' and foo != 'bar'

Если ваш ответ — false, автор предлагает
Читать дальше →
Total votes 58: ↑52 and ↓6+46
Comments52

Три редкоиспользуемые оси в XPath

Reading time2 min
Views78K
Основная мощь языка XPath заключается в осях, позволяющих добраться до любого элемента в исходном документе. Рассмотрим применение таких редкоиспользуемых осей, как ancestor, descendant и self.

ancestor


Задача: получить атрибут id элемента-«прадеда» foo.

Обычно в таких случаях начинают рисовать лестницы:

../../../@id

Такая запись плоха тем, что малопонятна без знания исходного xml. Автор рекомендует в подобных случаях использовать более информативное выражение:

ancestor::foo[1]/@id

Эта запись не только даёт представление об искомом элементе, но и продолжает работать даже в том случае, когда текущий элемент изменил своё положение в дереве.
Читать дальше →
Total votes 63: ↑61 and ↓2+59
Comments16

Subversion: cлияние переименований файлов

Reading time3 min
Views3.4K
— Зачем ты, Белка, летишь за мной, Кабаном?
— Не знаю, Кабан! Приказ Хорька. Как понял? Приём.
— Ни хера не понял! Какого Хорька, Белка? Я Кабан. Кто такой Хорёк? Кто это? Приём.
— Кабан, ты дятел! Как понял? Приём.
— Понял тебя, Белка. Я — Дятел. Повторяю вопрос про хорька. Кто это?
— Кабан, сука, ты всех заманал, лети вперёд молча! Конец связи.
Виктор Шендерович

Как известно, Subversion не умеет отслеживать переименования файлов. Согласно документации, команда svn move равносильна svn copy с последующим svn delete. Такое поведение вызывает большие проблемы при слиянии веток. Рассмотрим способы их решения.
Читать дальше →
Total votes 55: ↑52 and ↓3+49
Comments21

Управление вкладками в разных браузерах

Reading time3 min
Views11K
Вкладочный интерфейс поддерживают всё больше программ: браузеры, мессенджеры, текстовые редакторы. В целом поведение вкладок реализовано однотипно, но встречаются и различия. Это создаёт трудности для пользователей, т. к. одни и те же операции производятся в разных приложениях по-разному.

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

Не имея возможности сравнить все существующие программы, автор ограничился анализом реализации 1) браузерами 2) для Windows 3) следующих операций:
— создание вкладки;
— закрытие вкладки;
— отмена закрытия вкладки;
— навигация по вкладкам;
— открытие адреса/ссылки во вкладке.
Читать дальше →
Total votes 43: ↑32 and ↓11+21
Comments92

Контрол-навигация

Reading time2 min
Views1.7K
Нельзя не заметить, что в рунете всё бóльшую популярность набирает т. н. контрол-навигация: перемещение по страницам одного уровня с помощью сочетаний Ctrl + ← и Ctrl + →. Некоторые товарищи даже неуютно себя чувствуют, когда попадают на сайт, не поддерживающий листание страниц с клавиатуры.

Почему эта функциональность до сих пор не реализована в самих браузерах?
Читать дальше →
Total votes 44: ↑36 and ↓8+28
Comments48

guid как средство от дубликатов в RSS

Reading time1 min
Views4.2K
Читающие Хабр через RSS наверняка замечали, что иногда один и тот же топик дублируется в ленте. Это происходит, когда пост перемещается из одного блога в другой. Меняется ссылка, и RSS-ридеры воспринимают её как новый топик. Это поведение легко исправить.

Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments24

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity