Pull to refresh
-7
0
Send message

Анализ рендеринга через Skia Debugger: как можно найти самые дорогие для отрисовки элементы

Reading time4 min
Views23K
Доброго дня, недавно я решал проблему притормаживания скролла на страницах Почты Mail.Ru. Особенно эта проблема была заметна на retina-дисплеях. После простого анализа я пришел к выводу, что одна из основных проблем — это медленная отрисовка страницы.

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

Как и многие подобные проблемы оптимизации, данную проблему можно решить множеством способов. Я взялся за оптимизацию рендеринга, так как на нее затрачивалось значительное количество времени. Тем самым, я достаточно быстро смог бы получить прирост производительности и, соответственно, улучшить плавность скролла, ускорив отрисовку.


Читать дальше →
Total votes 76: ↑72 and ↓4+68
Comments8

Перестаньте называть себя программистом и другие карьерные советы

Reading time19 min
Views258K
Есть один курс, который я бы добавил в программу обучения по всякой инженерной специальности, и он не о компиляторах или сложности алгоритмов. Это “Введение в реальность индустрии”, ибо об этом не говорят и это приводит к никому не нужным обломам. Эта статья претендует стать README.txt для молодого инженера в деле построения карьеры. Ее цель — сделать вас счастливее, заполнив пробелы в образовании относительно того, как работает реальный мир. Я не призываю следовать написанному как подробному руководству, но я надеюсь, что эта информация окажется для вас более ценной, чем то ничто, что вам рассказали об этом в университете.
Читать дальше →
Total votes 251: ↑212 and ↓39+173
Comments175

То, что вам никто не говорил о z-index

Reading time3 min
Views358K

Проблема z-index в том, что многие просто не понимают, как он работает.
Всё, описанное ниже, есть в спецификации W3C. К сожалению, не все её читают.

Описание проблемы:


Итак, пусть у нас есть HTML код, состоящий из 3 элементов.
Каждый из них внутри себя содержит по одному . А каждый , в свою очередь, имеет свой фон: красный, зеленый и синий, соответственно. Плюс ко всему, каждый позиционирован абсолютно левого верхнего края документа таким образом, что он немного перекрывает собой следующий за ним . Первый имеет z-index
, равный 1, у остальных двух z-index не задан.
Читать дальше →
Total votes 112: ↑109 and ↓3+106
Comments30

Видеолекции по биоинформатике

Reading time1 min
Views21K
В институте цитологии и генетики ежегодно проводит школу молодых ученых. На школу приглашаются ведущие ученые в области биоинформатики и системной биологии. Мы уже второй год записываем лекции и выкладываем их в публичный доступ.
Вот список лекций:
Total votes 23: ↑23 and ↓0+23
Comments5

Несколько слабо известных эмпирических правил

Reading time6 min
Views10K


По какой-то причине русскоязычные пользователи Интернета не пользуются многими полезными понятиями, законами и эмпирическими правилами, созданными англофонами. Для тех эпоха активного сетевого общения и освоения цифровых технологий началась ещё в начале 90-х, и уже к концу десятилетия были созданы несколько любопытных понятий, которые за редкими исключениями наиболее интересных не настолько распространены. Здесь будет с несколько необычных позиций объяснено, как связаны провал SOPA, сегодняшнее закрытие русскоязычной Википедии и кошачьи, по какой причине анонимы такие злые, почему некоторые хорошие публикации на «Хабрахабре» никогда не имеют комментариев и отчего узкое место безопасности любой системы есть человек.
Читать дальше →
Total votes 108: ↑98 and ↓10+88
Comments46

Уровень сложности Hardcore. Советы по выживанию в «женском» кабинете

Reading time6 min
Views117K


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

Но обо всем по порядку под катом.
Читать дальше →
Total votes 182: ↑141 and ↓41+100
Comments247

Контроль через вину

Reading time4 min
Views90K


Много лет назад я был назначен ответственным за пожарную безопасность в одном офисе IT-компании. Выглядело это так: «Распишись здесь и здесь, всё, твою фамилию на щитке повесим, больше ничего не надо». Проблема была в том, что я нашёл, что же действительно означает такая роспись. И начал «строить» всех в офисе по соблюдению правил безопасности. Если вы не пробовали, сообщаю — зачастую очень сложно делать в обычных условиях. В чём проблема? В том, что большая часть людей считает эту норму условностью. Все нарушают, и мы будем.

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

Знаете, что мы в результате только что сделали внутри компании или отдела? Мы создали ситуацию, в которой виноват каждый человек отдельно, но никто в целом. И это очень важный и жестокий инструмент контроля.
Читать дальше →
Total votes 148: ↑125 and ↓23+102
Comments105

Алгоритмы в биоинформатике, онлайн-курс

Reading time2 min
Views31K
Секвенирование генома человека десять лет назад явилось причиной вычислительной революции в биологии. Оно стало стимулом для создания бо́льшего числа новых алгоритмов, чем в любой другой фундаментальной области науки.

21 октября мы с Филлипом Компо и Павлом Певзнером из Университета Калифорнии запускаем онлайн-курс по алгоритмам в биоинформатике на Coursera. Уже до 21 октября можно посмотреть содержание первой главы курса и порешать задачи на нашем новом образовательном проекте Stepic, над которым работает команда широко известного в узких (биоинформатических) кругах проекта Розалинд.
Читать дальше →
Total votes 66: ↑65 and ↓1+64
Comments42

Открытые онлайн-курсы по Python, Linux и… генетике

Reading time2 min
Views72K
10 ноября стартуют три новых онлайн-курса (MOOC) на русском языке: по программированию на Python, операционной системе Linux, молекулярной биологии и генетике. Курсы созданы преподавателями Санкт-Петербургского Института биоинформатики, чем и обусловлено их разнообразие.

Курсы рассчитаны на неподготовленную аудиторию, ведь в институте Python и Linux изучают биологи, а молекулярную биологию – программисты, чтобы потом всем вместе осваивать биоинформатику. Но, даже если вы прекрасно умеете программировать и свободно чувствуете себя в vim, можете посоветовать эти курсы своим студентам или друзьям, либо просто записаться на биологию.

Курсы совершенно бесплатны и останутся доступны для самостоятельного изучения под Creative Commons после окончания. Но те, кто хочет жарких дискуссий в комментариях, оперативных ответов от преподавателей и сертификатов по окончанию, могут поучаствовать в ближайшем запуске с дедлайнами (10 ноября – 8 декабря).


Читать подробнее о содержании курсов
Total votes 37: ↑37 and ↓0+37
Comments18

Ежедневная работа с Git

Reading time40 min
Views882K
Я совсем не долго изучаю и использую git практически везде, где только можно. Однако, за это время я успел многому научиться и хочу поделиться своим опытом с сообществом.

Я постараюсь донести основные идеи, показать как эта VCS помогает разрабатывать проект. Надеюсь, что после прочтения вы сможете ответить на вопросы:
  • можно ли git «подстроить» под тот процесс разработки, который мне нужен?
  • будет ли менеджер и заказчик удовлетворён этим процессом?
  • будет ли легко работать разработчикам?
  • смогут ли новички быстро включиться в процесс?
  • можно ли процесс относительно легко и быстро изменить?


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

Далее очень много букв случайным образом превратились в пост.
Total votes 200: ↑194 and ↓6+188
Comments44

Аниматор из России работает над созданием 3D версии интро к Futurama

Reading time1 min
Views76K


Аниматор Алексей Захаров, видимо, является поклонником сериала Futurama, поскольку у него много работ, завязанных на сериале. Это рендеры космического корабля из мультика, детальные рисунки сцен из сериала.

Сейчас же аниматор работает над созданием 3D версии интро к сериалу, причем часть работы уже проделана. Это — самое начало вступления, выполненное весьма и весьма тщательно.

Читать дальше →
Total votes 131: ↑122 and ↓9+113
Comments48

Задачи на собеседованиях в Яндексе

Reading time15 min
Views359K
Открытые вакансии на должность разработчика в Яндексе есть всегда. Компания развивается, и хороших программистов не хватает постоянно. И претендентов на эти должности тоже хоть отбавляй. Главная сложность – отобрать действительно подходящих кандидатов. И в этом плане Яндекс мало чем отличается от большинства крупных IT-компаний. Так что базовые принципы, описываемые в этой статье, могут быть применимы не только к Яндексу.

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

image
Читать дальше →
Total votes 221: ↑178 and ↓43+135
Comments329

Приводим в порядок css-код. Опыт Яндекса

Reading time6 min
Views90K
Всем привет!

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

Когда много людей, используя разные инструменты, пишут и редактируют css, со временем этот css может получиться очень запутанным, неконсистентым и в целом начинает выглядеть плохо. Например, кому-то удобнее писать вендорные префиксы в одном порядке, кому-то — в другом, кто-то ставит кавычки вокруг url, кто-то — нет, а кто-нибудь фикся срочную багу к релизу мог бы, к примеру, написать position: relative в начале блока свойств, незаметив что где-нибудь внизу между color и box-shadow, уже есть position: absolute, и долго гадать, почему у него ничего не работает.



Но несмотря на то, что все пишут код по-разному, у нас в репозитории идеальный порядок: css-код полностью консистентен, и прекрасно выглядит. Весь.

Как мы этого добились, можно прочитать под катом.
Читать дальше →
Total votes 174: ↑169 and ↓5+164
Comments70

Как мы делали XVM. Часть первая: начало и сбор команды

Reading time12 min
Views46K



Приветствуем, уважаемое хабрасообщество! По случаю старта конкурса от Wargaming мы решили, во-первых, в нем поучаствовать, а, во-вторых, написать серию статей о том, как мы докатились до создания одной из самых популярных модификаций World of Tanks и как хобби с парой строк говнокода за вечер переросло в то, что мы имеем. В статьях описаны все встреченные (и опробованные на себе) грабли. Еще одним поводом для написания статьи было зарытие топора войны между XVM и Wargaming и выходом наших отношений на новый уровень — мы рады, что эта статья опубликована именно в блоге WG. Надеемся, что само чтиво вышло интересным, а другие конкурсанты смогут почерпнуть для себя что-нибудь полезное.
Читать дальше →
Total votes 47: ↑40 and ↓7+33
Comments45

Голые пятницы #1

Reading time3 min
Views39K
голые пятницы

Всем доброго времени суток. Сегодня мы поговорим о том, как красиво оформить выделенный текст, совладать с отступами в кнопках, прокачать скролл в мобильных браузерах, скрестить цвет текста с цветом границ, а также рассмотрим интересные новые единицы измерения.
Поехали!
Total votes 72: ↑68 and ↓4+64
Comments22

Как мы делали XVM — популярный мод для World of Tanks. Часть вторая: развитие серверной части

Reading time13 min
Views31K


Приветствуем, уважаемое хабрасообщество! Сегодня мы продолжаем начатый в первой части рассказ о создании модификации XVM (eXtended Visualization Mod) для игры World of Tanks. Во второй части вас ждет описание истории развития серверной части мода.
Читать дальше →
Total votes 47: ↑40 and ↓7+33
Comments38

Подборка занимательных CSS рецептов «Голые пятницы #2»

Reading time3 min
Views50K
Привет, Хабр! В этот раз мы поговорим о стилизации инпутов без картинок и JS, особенностях вертикальных отступов, CSS счетчиках, необъятных возможностях в именовании классов, а также расскажем, как улучшить анимацию на слабых устройствах.

голые пятницы
Поехали!
Total votes 50: ↑46 and ↓4+42
Comments39

Аппаратное ускорение в жизни верстальщика. Семинар в Яндексе

Reading time6 min
Views71K

Привет! Меня зовут Александр Завьялов. В Яндексе я занимаюсь разработкой интерфейсов. Недавно я выступил перед коллегами с докладом об аппаратном ускорении в жизни верстальщика, где также коснулся смежных тем. Рассказал о производительности веб-страниц, о том, как она измеряется и к чему она может стремиться.



Ссылка, если видео не отображается

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


Читать дальше →
Total votes 96: ↑95 and ↓1+94
Comments21

Схема лифта на JavaScript

Reading time2 min
Views32K
В этой статье разговор пойдет о том, как выучить релейную схему лифта качественно и быстро. Знакомые с данным вопросом знают, что старые советские лифты, которые многие каждый день наблюдают у себя дома, работают по программе, которая сделана далеко не на C++, не на ассемблере и даже не вшита в интегральную микросхему.

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

Разговор пойдет о том, как выучить эту схему, чтобы иметь возможность искать и устранять поломки в лифте.
Читать дальше →
Total votes 53: ↑43 and ↓10+33
Comments19

JavaScript. Вопросы на собеседовании

Reading time3 min
Views137K
Не так давно озадачился поиском работы, в связи с чем посетил n-нное количество собеседований и услышал много интересных вопросов. По сети гуляет много статей с вопросами по JS, поэтому постараюсь выбрать вопросы, которые ещё не видел. Здесь нет вопросов типа Что такое замыкание?, Наследование в JavaScript или Сделайте ajax запрос на VanillaJS. Кстати советую поискать ответы на эти вопросы, прежде чем читать статью :) Под катом вопросы типа «с подвохом». Вряд ли какой-то из них попадётся вам, но, надеюсь, статья настроит вас на «подвоховое» мышление, и напомнит некоторые скользкие места и подводные камушки javascript.
Читать дальше →
Total votes 93: ↑60 and ↓33+27
Comments158

Information

Rating
Does not participate
Registered
Activity