Pull to refresh
0
0
Send message

Как достичь производительного рендеринга в браузере

Reading time10 min
Views5.6K

Один великий китайский философ сказал: «каждый разработчик должен понимать, как исполняется его программа». Что ж, давайте разбираться. Говорить будем про рендеринг и его производительность.

Меня зовут Глеб Михеев, я CTO Skillbox Holding, а также руководитель программного комитета FrontendConf. Уже как 19 лет работаю в коммерческой разработке. Сегодня я расскажу, как устроен браузерный конвейер поставки кадров на экран и что нужно знать каждому разработчику, чтобы его интерфейсы были отзывчивыми, не лагали, а анимации были плавными и выдавали 60fps даже при высокой вычислительной нагрузке на main thread.

Читать далее
Total votes 14: ↑13 and ↓1+15
Comments1

Джанет Джексон, разрушительница ноутбуков

Reading time1 min
Views27K

Как-то раз коллега поделился с автором этой статьи одной байкой со времен поддержки Windows XP. Крупный производитель компьютеров обнаружил, что, если включить композицию “Rhythm Nation” Джанет Джексон, то некоторые модели ноутбуков выходят из строя. Не хотелось бы оказаться в той лаборатории, которую, должно быть, обустроили для исследования этой проблемы. Это вам не художественная критика.

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

А затем выяснилось кое-что крайне причудливое: при воспроизведении этого видео с одного ноутбука можно было сломать ноутбук, стоящий рядом – на котором, однако, эта запись не играла!

Что же там творилось?

Читать далее
Total votes 32: ↑27 and ↓5+34
Comments56

Apple Event. Текстовая трансляция (пост обновляется)

Reading time6 min
Views20K

Здравствуйте, уважаемые поклонники и ненавистники техники Apple. С вами Сергей Вильянов, который снимал SIM-lock еще у первых iPhone, когда работал в "Компьютерре", а теперь покупает айфоны для издевательств строго за свои.

Сейчас мы вместе посмотрим презентацию Apple и узнаем - за что эти обаятельные парни в Купертино опять хотят много денег. И, скорее всего, получат.

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

И да, если вам померещились ирония и сарказм, ВАМ НЕ ПОМЕРЕЩИЛОСЬ.

Погнали.

Читать далее
Total votes 53: ↑43 and ↓10+58
Comments34

Фрактальная шизофрения

Reading time21 min
Views52K


Нет, я не болен. По крайней мере так говорит голос в моей голове. Я наркоман. Вот уже более 15 лет я сижу на игле. Употребляю много, жёстко, до обморочного состояния. Докатился до того, что в последнее время не стесняюсь ни друзей, ни жены, ни детей… Двоих детей! Не люблю бадяженый, люблю чистый, без примесей. За годы перепробовал многое, но в последнее время остановился в поисках. Забавно осознавать, что от одного и того же получаешь одновременно и боль, и радость. Мне бы в лечебку, я даже хочу, я даже знаю в какую. Знаете такие, где продолжаешь употреблять, но под присмотром?

Читать дальше →
Total votes 72: ↑64 and ↓8+78
Comments63

Разбор демки на 128 байт из архива 1997 года

Reading time15 min
Views45K
Очень приятно осуществлять свои желания, особенно из далёкого прошлого, такого далёкого что уже и забыл что этого когда-то хотел. Я мало знаю о демосцене и уж точно никогда не следил ни за авторами ни за их работами, мне просто нравилось смотреть то что получалось. Иногда мне хотелось в этом разобраться, но тогда мне не хватало знаний и опыта, позже усидчивости, а потом и вовсе у меня пропал к этому интерес. Но недавно мой друг, с кем мы учились в то время и который поставлял нам все новинки, включая демки, с BBS и Fidonet, потому что у него чуть ли ни у единственного был и телефон и модем и компьютер одновременно, посетил CAFePARTY со своими работами, что заставило меня открыть архив моего первого компьютера, выбрать демку и разобраться.

pentagra.com

Объективно оценивая свои силы я взял 128 байтовое интро которое мне понравилось визуально. Файл pentagra.com за подписью Mcm, 128 байт, последнее изменение 24.09.1996 18:10:14, шестнадцатеричный дамп:

000000: b0 13 cd 10 68 00 a0 07 06 1f ac ba c8 03 ee 42
000010: b1 40 ee 40 6e 6e e2 fa b8 3f 3f bb 40 01 bf 40
000020: 05 57 b1 78 ab 03 fb e2 fb 5f b1 60 88 01 aa 03
000030: fb 03 fb e2 f7 b1 61 88 01 aa 2b fb 2b fb e2 f7
000040: bf d1 99 57 b1 78 ab 2b fb e2 fb 5f b1 8f f3 ab
000050: 81 fe 00 fa 73 12 ac 0a c0 74 0d 48 88 44 fe 88
000060: 04 88 40 ff 88 84 bf fe 03 f2 42 75 e3 e4 60 3c
000070: 01 75 a5 b8 03 00 cd 10 c3 00 00 00 00 4d 63 6d
Читать дальше →
Total votes 169: ↑169 and ↓0+169
Comments81

Из чего сделан JavaScript?

Reading time13 min
Views49K
В течение первых нескольких лет использования JavaScript я чувствовал себя чуть ли не самозванцем. Даже хотя я и мог создавать веб-сайты с помощью фреймворков, я ощущал, что мне чего-то не хватает. Собеседования по JavaScript внушали мне страх из-за того, что у меня не было чёткого понимания основ этого языка.



За многие годы я сформировал ментальную модель JavaScript, которая дала мне ощущение уверенности. Здесь я собираюсь поделиться с вами весьма сжатым вариантом этой модели. Её структура напоминает словарь. Каждое понятие описано в нескольких предложениях.

По мере того, как вы будете читать этот материал, попробуйте мысленно оценить то, насколько вы уверенно чувствуете себя по отношению к каждому рассматриваемому здесь вопросу. И если окажется так, что многое отсюда покажется вам не особенно знакомым, я вас за это не осужу. Но если это и правда так — в конце материала есть то, что поможет вам исправить ситуацию.
Читать дальше →
Total votes 42: ↑32 and ↓10+37
Comments35

Y-метод — действительно простой способ собрать кубик Рубика

Reading time7 min
Views327K

Введение


В статье рассматривается «Y-метод» сборки кубика Рубика — его легко понять и запомнить. Он основан всего на одной последовательности, которая называется «Y-движение». Поняв этот алгоритм, вы навряд ли забудете как собрать кубик самостоятельно.
Читать дальше →
Total votes 86: ↑85 and ↓1+116
Comments78

Введение в Git

Reading time17 min
Views151K

Оглавление


Предисловие
1. Настройка git
....1.1 Конфигурационные файлы
....1.2 Настройки по умолчанию
....1.3 Псевдонимы (aliases)
2. Основы git
....2.1 Создание репозитория
....2.2 Состояние файлов
....2.3 Работа с индексом
....2.4 Работа с коммитами
....2.5 Просмотр истории
....2.6 Работа с удалённым репозиторием
3. Ветвление в git
....3.1 Базовые операций
....3.2 Слияние веток
....3.3 Rerere
4. Указатели в git
....4.1 Перемещение указателей
5. Рекомендуемая литература

Предисловие


Git — самая популярная распределённая система контроля версиями.[1][2]

Основное предназначение Git – это сохранение снимков последовательно улучшающихся состояний вашего проекта (Pro git, 2019).
Читать дальше →
Total votes 40: ↑34 and ↓6+28
Comments27

Angular. Понимание @Input, @Output и EventEmitter

Reading time3 min
Views66K
Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding @Input, @Output and EventEmitter in Angular» автора foolishneo.

Приветствую всех желающих накапливать информацию о тонкостях работы фреймворка Angular.

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

Надеюсь найдутся те, для кого перевод статьи с Medium будет полезен.

Давно имея желание начать переводить полезные статьи с английского, решил начать с простенькой, весьма не объемной, но возможно, дополняющей имеющиеся знания статейки. К Вашему вниманию, господа…
Читать дальше →
Total votes 27: ↑20 and ↓7+13
Comments14

Toolbox для исследователей — выпуск первый: самоорганизация и визуализация данных

Reading time4 min
Views6.1K
Сегодня мы открываем новую рубрику, в которой будем рассказывать о наиболее популярных и доступных сервисах, библиотеках и утилитах для студентов, ученых и специалистов.

В первом выпуске поговорим о базовых подходах, которые помогут работать эффективнее, и соответствующих SaaS-сервисах. Еще — поделимся инструментами для визуализации данных.

Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments0

IBM Integration Bus и с чем его едят

Reading time2 min
Views24K
image

Добрый день, уважаемый читатель.

Существует такой класс продуктов как ESB. Как упоминается в Википедии это — связующее программное обеспечение, обеспечивающее централизованный и унифицированный событийно-ориентированный обмен сообщениями между… и далее по тексту. Примеров таких ESB не так много и применяются они достаточно узко. Одним из таких ESB является IBM Integration Bus (IIB), до 9 версии именовался IBM Message Broker.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments16

Руководство по Node.js, часть 1: общие сведения и начало работы

Reading time10 min
Views336K
Мы начинаем публикацию серии материалов, которые представляют собой поэтапный перевод руководства по Node.js для начинающих. А именно, в данном случае «начинающий» — это тот, кто обладает некоторыми познаниями в области браузерного JavaScript. Он слышал о том, что существует серверная платформа, программы для которой тоже пишут на JS, и хотел бы эту платформу освоить. Возможно, вы найдёте здесь что-то полезное для себя и в том случае, если уже знакомы с Node.js.

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



Сегодня мы обсудим особенности Node.js, начнём знакомство с экосистемой этой платформы и напишем серверный «Hello World».

Читать дальше →
Total votes 47: ↑39 and ↓8+31
Comments25

Изменение собственных генов всего лишь одной инъекциeй – если, конечно, вы везучи

Reading time6 min
Views44K
image

Биохакер Джошуа Зайнер хочет создать мир, в котором любой человек способен и в праве экспериментировать со своей ДНК.

«У нас здесь немного ДНК и шприц», – говорит Джошуа Зайнер в комнате, полной синтетических биологов и других исследователей. Он наполняет иглу и вонзает её в кожу. «Это изменит мои мышечные гены, и даст мне больше мышечной массы».
Читать дальше →
Total votes 38: ↑31 and ↓7+24
Comments261

Как я перестал любить Angular

Reading time21 min
Views115K

Вступление


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


На дворе 2017ый год и для каждого нового продукта/проекта встает вопрос выбора фреймворка для разработки. Долгое время я был уверен, что новый Angular 2/4 (далее просто Angular) станет главным трендом enterprise разработки еще на несколько лет вперед и даже не сомневался что буду работать только с ним.


Сегодня я сам отказываюсь использовать его в своем следующем проекте.


Дисклеймер: данная статья строго субъективна, но таков мой личный взгляд на происходящее и касается разработки enterprise-level приложений.

Читать дальше →
Total votes 118: ↑112 and ↓6+106
Comments519

«Умный дом» на практике: сравнение двух контроллеров Z-Wave

Reading time9 min
Views31K

 
Мы решили сравнить два контроллера Z-Wave разных ценовых диапазонов и реализовать на них несколько тестовых сценариев умного дома с использованием набора самых ходовых датчиков и устройств.
Читать дальше →
Total votes 14: ↑11 and ↓3+8
Comments23

Про жиры с точки зрения химика

Reading time18 min
Views117K
КДПВ Витязь на распутье


Приветствую всех! Статью про взгляд на проблему жиров с моей, химической точки зрения я обещал написать уже давно, да больно уж вопрос непонятен. Однако, попробуем разобраться. Хотя на эту тему существует громадное количество публикаций — ясности они не приносят — так как часто противоречат и друг другу и здравому смыслу. Так что, собравшись с духом, решил рыться в материалах до момента понимания. Вас же приглашаю ознакомиться с моими изысканиями. Нам придётся копать несколько глубже обычного, постараемся разобраться с этим вопросом «с точки зрения банальной эрудиции»… в смысле — логики. На вход — факты, только факты. Причём, моя цель просто выяснить для себя этот вопрос, каких-либо других целей не имею. Меня интересует — какие жиры более полезны, какие вредны, сколько их употреблять и каких, на чём жарить, как сохраняются, разъяснить странности с маргариновыми транс-жирами(для меня объяснения изготовителей выглядят туманными и неполными). Всё это в рамках официальных рекомендаций ВОЗ и российских уполномоченных органов — то есть никакой конспирологии. Если Вам это интересно — прошу под кат.
Читать дальше →
Total votes 63: ↑61 and ↓2+59
Comments242

Мир без работы

Reading time30 min
Views49K

Сотни лет эксперты предсказывали, что машины сделают рабочих ненужными. И вот этот момент настаёт. Хорошо это или плохо?




1. Янгстаун, США [город на северо-востоке США, в штате Огайо]


Исчезновение работы — пока ещё футуристическая концепция для большинства жителей США, но для города Янгстаун это понятие уже стало историей, и поворотный момент его жители могут назвать с уверенностью: 19 сентября 1977 года.

Большую часть 20-го века сталелитейные заводы города процветали настолько, что город являл собой модель американской мечты, мог похвастаться рекордной величиной медианного дохода, а процент домов, находящихся в собственности, был одним из самых высоких по стране. Но после перемещения производства за океан после Второй мировой город начал сдавать позиции, и в серый сентябрьский день 1977 года компания Youngstown Sheet and Tube объявила о закрытии сталелитейного завода Campbell Works. За пять лет в городе число рабочих мест уменьшилось на 50 000, а фонд заработной платы в промышленности упал на $1,3 миллиарда. Это произвело настолько ощутимый эффект, что родился даже особый термин для его описания: региональная депрессия.

Янгстаун изменился не только из-за сбоя в экономике, но и из-за культурного и психологического упадка. Резко возросло количество депрессий, семейных проблем и самоубийств. Загрузка регионального центра психологического здоровья за десять лет утроилась. В городе в 1990-е годы было построено четыре тюрьмы – редкий пример роста в этой области. Одним из немногих проектов пригородного строительства стал музей, посвящённый упадку производства стали.

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

«История Янгстауна — это история Америки, поскольку она показывает, что когда работа исчезает, культурное единство местности уничтожается,- говорит Джон Руссо, профессор, специалист по изучению труда в Янгстаунском государственном университете. – Упадок культуры значит больше, чем упадок экономики».
Читать дальше →
Total votes 38: ↑27 and ↓11+16
Comments237

Как случайно не разбился «Аполлон-11»

Reading time5 min
Views36K

На днях в обычном офисном разговоре я сказал: «То, что у нас тут склад костылей — это нормально, во всех ИТ-проектах так. Наверное, из всего софта, который сделало человечество, только в программах посадки на Луну было все красиво». Сказав это, я полез в интернет, найти дополнительные факты к краткому научно-популярному рассказу для коллег о компьютерах и программах лунного модуля. Но одной из первых попалась ссылка, из которой выяснилось, что костыли, и, страшно сказать, баги были и в отшлифованном программном обеспечении, которое позволило человеку высадиться на Луну. А «Аполлоны» -11 и -12 смогли сесть, оказывается, только по счастливой случайности.
Читать дальше →
Total votes 58: ↑58 and ↓0+58
Comments58

Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 2 из 6

Reading time7 min
Views143K

Содержание курса



Улучшение кода






Official translation (with a bit of polishing) is available here.




Update:


Внимание, статья 4в даёт новую, более простую версию растеризатора.

Давайте знакомиться, это я.



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

В прошлый раз мы нарисовали проволочную сетку трёхмерной модели, в этот раз мы зальём полигоны. Точнее, треугольники, так как OpenGL практически любой полигон триангулирует, поэтому ни к чему разбирать сложный случай. Напоминаю, что этот цикл статей создан для самостоятельного программирования. Время, которое я здесь привожу — это не время чтения моего кода. Это время написания вашего кода с нуля. Мой код здесь только для того, чтобы сравнить ваш (рабочий) код с моим. Я совсем не являюсь хорошим программистом, поэтому ваш код может быть существенно лучше моего. Любая критика приветствуется, любым вопросам рад.

Пожалуйста, если вы следуете этому туториалу и пишете свой код, выкладывайте его на github.com/code.google.com и им подобные и давайте ссылки в комментариях! Это может хорошо помочь как и вам (другие люди могут чего посоветовать), так и будущим читателям.
Читать дальше →
Total votes 119: ↑116 and ↓3+113
Comments122

Information

Rating
Does not participate
Registered
Activity