Как стать автором
Обновить
71
0
Азат Разетдинов @razetdinov

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

Отправить сообщение

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

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



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

Читать дальше →
Всего голосов 31: ↑24 и ↓7+17
Комментарии40

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

Время на прочтение2 мин
Количество просмотров3K
Как справляются браузеры с параллельной загрузкой скриптов?

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

HTTP-запросы

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

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

Читать дальше →
Всего голосов 34: ↑30 и ↓4+26
Комментарии63

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

Время на прочтение1 мин
Количество просмотров519
Письмо 27 625 631 пользователю Nav4All

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

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

Читать дальше →
Всего голосов 70: ↑57 и ↓13+44
Комментарии54

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

Время на прочтение2 мин
Количество просмотров13K
С одной стороны, в языке XPath используются знакомые каждому программисту операторы сравнения «равно», «не равно», «меньше», «больше» и другие. С другой стороны, эти операторы умеют работать не только с примитивными типами, но и с целыми наборами узлов. Незнание правил сравнения наборов узлов может привести к некоторым сюрпризам.

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

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

Если ваш ответ — false, автор предлагает
Читать дальше →
Всего голосов 58: ↑52 и ↓6+46
Комментарии52

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

Время на прочтение2 мин
Количество просмотров80K
Основная мощь языка XPath заключается в осях, позволяющих добраться до любого элемента в исходном документе. Рассмотрим применение таких редкоиспользуемых осей, как ancestor, descendant и self.

ancestor


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

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

../../../@id

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

ancestor::foo[1]/@id

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии24

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность