Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 4440 сообщений
Cообщения с меткой

веб - Самое интересное в блогах

Следующие 30  »
Alek_YelGor

25 лет Всемирной Паутине.

Вторник, 23 Августа 2016 г. 12:27 (ссылка)

Это цитата сообщения lj_dolboeb Оригинальное сообщение

25 лет Всемирной Паутине: как запрещали в США и как запрещают в России



25 лет назад, 23 августа 1991 года, изобретатель WWW, британский физик Тим Бернерс-Ли открыл публичный доступ к первому в мире веб-серверу. Физически сервер был запущен на базе Европейского центра ядерных исследований (CERN) около Женевы, где Бернерс-Ли в ту пору трудился, и где он вместе с коллегами разработал серверный софт, получивший название CERN httpd.

Дальнейшее развитие веба вполне описывается формулой, ошибочно приписываемой Махатме Ганди:

Сначала тебя не замечают, потом над тобой смеются, потом с тобой борются, потом ты побеждаешь

В России, у которой особенный путь развития, мы в последние годы наблюдаем как раз третью фазу: активной борьбы государства против Интернета, который объявляют то спецпроектом ЦРУ США, то рассадником убийственных для человеческого сознания идей, то прибежищем террористов всех мастей

В Америке такая фаза тоже была: 20 лет назад обе палаты Конгресса США приняли Communications Decency Act, прообраз российского 139-ФЗ о блокировке сайтов. 8 февраля 1996 года закон подписал президент Клинтон. В июне того же года федеральный суд в Филадельфии признал часть этого законодательства незаконной. Следом такое же решение принял федеральный суд в Нью-Йорке. 26 июня 1997 года точку в споре поставил Верховный Суд США, постановивший, что цензура сайтов в Интернете противоречит Конституции. Конгрессменам пришлось переписать закон, вычеркнув из него те положения, которые забраковали суды. Это не значит, что сайт в США нельзя заблокировать: на недостаток инструментов для борьбы с киберпреступностью в Интернете зарубежные правоохранители не жалуются. Этих инструментов хватает для борьбы со спамом, педофилами, наркоторговцами, вирусописателями — но никакую страницу там нельзя заблокировать просто за критику деятельности госчиновника, за разоблачение коррупции или просто по прихоти замгенпрокурора, без объяснения причин.

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

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

http://dolboeb.livejournal.com/3033063.html

Метки:   Комментарии (7)КомментироватьВ цитатник или сообщество
lj_dolboeb

25 лет Всемирной Паутине: как запрещали в США и как запрещают в России

Вторник, 23 Августа 2016 г. 11:35 (ссылка)

25 лет назад, 23 августа 1991 года, изобретатель WWW, британский физик Тим Бернерс-Ли открыл публичный доступ к первому в мире веб-серверу. Физически сервер был запущен на базе Европейского центра ядерных исследований (CERN) около Женевы, где Бернерс-Ли в ту пору трудился, и где он вместе с коллегами разработал серверный софт, получивший название CERN httpd.

Дальнейшее развитие веба вполне описывается формулой, ошибочно приписываемой Махатме Ганди:

Сначала тебя не замечают, потом над тобой смеются, потом с тобой борются, потом ты побеждаешь

В России, у которой особенный путь развития, мы в последние годы наблюдаем как раз третью фазу: активной борьбы государства против Интернета, который объявляют то спецпроектом ЦРУ США, то рассадником убийственных для человеческого сознания идей, то прибежищем террористов всех мастей

В Америке такая фаза тоже была: 20 лет назад обе палаты Конгресса США приняли Communications Decency Act, прообраз российского 139-ФЗ о блокировке сайтов. 8 февраля 1996 года закон подписал президент Клинтон. В июне того же года федеральный суд в Филадельфии признал часть этого законодательства незаконной. Следом такое же решение принял федеральный суд в Нью-Йорке. 26 июня 1997 года точку в споре поставил Верховный Суд США, постановивший, что цензура сайтов в Интернете противоречит Конституции. Конгрессменам пришлось переписать закон, вычеркнув из него те положения, которые забраковали суды. Это не значит, что сайт в США нельзя заблокировать: на недостаток инструментов для борьбы с киберпреступностью в Интернете зарубежные правоохранители не жалуются. Этих инструментов хватает для борьбы со спамом, педофилами, наркоторговцами, вирусописателями — но никакую страницу там нельзя заблокировать просто за критику деятельности госчиновника, за разоблачение коррупции или просто по прихоти замгенпрокурора, без объяснения причин.

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

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

http://dolboeb.livejournal.com/3033063.html

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
KtoNaNovenkogo

Платные и бесплатные CMS — какой движок выбрать

Пятница, 22 Июля 2016 г. 11:18 (ссылка)
ktonanovenkogo.ru/seo/dvizh...sajta.html

Движок для сайта (CMS) — обзор, сравнение и выбор платных или бесплатных систем управления контентом | KtoNaNovenkogo.ru - создание, продвижение и заработок на сайте


  1. Платные и бесплатные CMS — какой движок выбрать

  2. Рейтинг и каталог платных и бесплатных ЦМС

  3. Обзор бесплатных систем управления контентом (CMS)

  4. Какие из платных движков являются наиболее интересными

Движок для сайта

Используемый вами движок сайта может быть платным или бесплатным, но главное, чтобы эта CMS (система управления контентом) была вам понятна и удобна
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
kiev2376393

Вышел новый клиент Skype для Linux (+веб-клиент)

Понедельник, 18 Июля 2016 г. 13:00 (ссылка)

Клиент Skype для Linux долгое время не разрабатывался и застрял на версии 4.3.0.37, выпущенной в июне 2014 года. Для сравнения, под Windows клиент постоянно обновляется и уже достиг версии 7.24. Но компания Microsoft всё-таки не забыла про линуксоидов,

Читать далее...
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Хобби-проекты: chip-in.me — кто, кому и сколько

Воскресенье, 03 Июля 2016 г. 20:43 (ссылка)





Меня зовут Александр Кашеверов (@kashesandr), я занимаюсь веб-разработкой в DataArt с 2011 года. Люблю веб, игру «любоеслово точка JS», спонтанные вылазки с друзьями на природу. И с этими вылазками часто возникала одна и та же проблема: когда скидывались на еду для 14 – 15 человек, бывало сложно понять, кто и кому сколько денег потом должен…



Практикуясь в новой для себя технологии, я заодно написал небольшую утилиту, задача которой — упрощать жизнь в таких случаях. Так появился крохотный сайт chip-in.me. Все предельно просто: вписываем людей, их вклад в общую покупку (только с равным долями!), нажимаем кнопку и получаем результат — кто, кому и сколько должен отдать денег, с именами и суммами. Результатом можно поделиться с друзьями.







Технические детали



Выбор был сделан в пользу Polymer. И вот почему:




  • Это Google. Т.е. скорее всего продукт качественный и будет продвигаться на рынке. Быть на волне — полезно.

  • Polymer — надстройка над веб-компонентами, значит, вероятно, это будет востребовано в ближайшем будущем, хорошо к тому моменту уже иметь опыт.

  • Продукт на тот момент обновился до стабильной версии 1.0.0 — можно смело пользоваться.





Подробнее про Polymer можно почитать в моей статье здесь.



Приложение chip-in.me — набор независимых компонент с изолированными логикой, версткой и стилями. Технически получаются три разных файла в папке для отдельного компонента. Сборщик компонует все части в два файла: html и js. Далее эти файлы подключаются в index.html. Конечно, предварительно в приложение подключается библиотека Polymer.



К слову, в Google позаботились о юнит-тестировании и создали удобную утилиту Web Component Tester.



Трудности в реализации




  • К логике стоит привыкнуть. Работа two-way binding для массивов очевидна не сразу. Но понимание приходит достаточно быстро.

  • Изначально для меня было неочевидно, почему Polymer и polyfills подключаются именно таким образом.

  • Когда писалась программа, для Gulp еще не было обертки Vulcanize (утилита Polymer для минификации кода). Пришлось написать самому, оказалось просто.

  • Увы, у меня так и не получилось запустить приложение на старом Android. Polymer построен на основе веб-компонентов, которые не поддерживаются старыми браузерами. И даже полифиллами.

  • Возникали проблемы с blur и focus для input-элементов.

  • В качестве хранилища данных используется Parse.com, который закроется в конце 2016. Придется искать новое хранилище или делать локально. Но это совсем другая история.





Конечное приложение chip-in.me представляет из себя:




  • Основной index.html.

  • Html-файл для всех компонент (там же все стили).

  • JavaScript-файл для всей логики всех компонент.

  • Приложение зависит от Polymer-компонентов и самой библиотеки, это все лежит в отдельной папке.





С момента запуска (лето 2015) сайт приложения посетили около 800 человек. Среднее время, проводимое пользователем на сайте — около двух минут.



С Polymer познакомиться было приятно, да и с задачей он справился великолепно. Слоган Polymer звучит, как «There is an element for that» («Для этого есть компонент»). И выбран он был явно неслучайно. Все достаточно легко и просто, хоть в библиотеке и есть небольшие баги и слепые места.



Код приложения можно посмотреть здесь:

https://github.com/DataArt/chip-in-calculator
Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/304384/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
kiev2376393

Паранойя. Цукерберг заклеил веб-камеру ноутбука

Среда, 29 Июня 2016 г. 17:22 (ссылка)

Основателя Facebook выдал снимок, опубликованный на странице в сети.

Читать далее...
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Важные аспекты работы браузера для разработчиков

Воскресенье, 26 Июня 2016 г. 17:00 (ссылка)



Автор: Антон Реймер



Статья основана на вебинаре, который я проводил некоторое время назад. Рассчитана она, в первую очередь на тех, кто не знает, как работают браузеры, или тех, у кого есть пробелы в знаниях. Вероятно, здесь будет много очевидного для тех кто не первый день в веб-разработке. Статью я решил разделить на две части. В первой рассмотрим общие принципы работы браузера. Во второй части я акцентирую внимание на некоторых важных моментах: reflow и repaint, event loop.



Что такое браузер?




Браузер — программа, работающая в операционной системе. Большинство браузеров написано на языке C++. Основное предназначение браузера — воспроизводить контент с веб-ресурсов. В качестве веб-ресурса в большинстве случаев выступает html-страница. Это также может быть pdf-файл, png, jpeg, xml-файлы и другие типы. Среди огромного количества браузеров можно выделить самые популярные: Chrome, Safari, Firefox, Opera и Internet Explorer. Мы рассмотрим браузеры с открытым исходным кодом: Chrome, Firefox, Safari.



Из чего состоит и как работает браузер?






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



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



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



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



Когда мы говорим о браузерных движках, таких как Webkit или Gecko (первый находится «под капотом» у Safari и до 2013 года был у Chrome, второй у Firefox), в первую очередь имеем в виду модуль отображения. Далее мы подробно рассмотрим модуль отображения и более детально разберем, как он работает.



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



Модуль JS Interpreter отвечает за интерпретацию скрипта, и его выполнение. Существует несколько JS-движков. Самые известные это V8 и JavaScriptCore. Важно не путать движок браузера и JS-движок, который работает в модуле JS Interpreter.



Следующий модуль — исполнительная часть пользовательского интерфейса (UI backend). Она отвечает за отрисовку всего на экране и работу пользовательского интерфейса.



Последний модуль — хранилище данных. Браузеру нужно где-то хранить данные, обычно для этого используется оперативная память. Какие данные нужно хранить? Например, кэш, собственные настройки. Также к хранилищу данных можно отнести indexedDB, который появился в стандарте html5 — собственные базы данных браузера.



Модуль отображения






Модуль отображения получает данные от сетевого модуля. Данные поступают пакетами по 8 Кб. Что важно — модуль отображения не ждет, пока придут все данные, он начинает обрабатывать и выводить их на экран по мере поступления. В случае с html-страницами, он начинает их анализировать, происходит парсинг html (это отдельная большая тема, я на ней останавливаться не буду). Главное, что нужно понимать: в результате парсинга у нас появляется DOM-дерево. Также по окончании парсинга срабатывает событие load, которое можно обрабатывать в скрипте. Это значит, что документ готов и скрипт может с ним работать.



DOM-дерево — document object model. По большому счету, «интерфейс», который предоставляет браузер JS-движку для работы с тем или иным html-документом. На основе DOM-дерева происходит конструирование дерева отображения (render tree). Дерево отображения — тоже важная часть модуля отображения. По большому счету, два этих дерева — DOM-дерево и дерево отображения — наиболее важные элементы для разработчика. Дерево отображения во многом повторяет структуру DOM-дерева (далее будет пример, где это будет представлено нагляднее), но имеет некоторые отличия:




  1. Дерево отображения не содержит скрытых элементов. Если у нас есть html-элемент, у которого прописан display:none, в дереве отображения он присутствовать не будет. При этом, если visibility:hidden, то в дереве отображения он будет. Некоторые DOM-узлы, которые в DOM-дереве представлены как единый узел, в дереве отображения могут быть представлены в виде нескольких. Яркий пример — составной тэг select. Если в DOM-дереве это один узел, в дереве отображение он преобразовывается в минимум три узла. Первый узел отвечает за отображение выбранного элемента. Второй — за выпадающий список с возможными пунктами. И, наконец, третий блок отвечает за стрелочку.

  2. Текст в DOM-дереве представлен как простая node. DOM-дереву нет никакого дела до того, что там написано, сколько строк этот текст занимает. В то время, как для дерева отображения — это важно, и текст трансформируется в несколько узлов, в зависимости от того сколько строк он занимает. Это нагляднее рассмотрим чуть позже.





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



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



Предлагаю рассмотреть два браузерных движка: Webkit и Gecko.





Webkit. Модуль отображения получает html и стили. В результате парсинга html возникает DOM-дерево. В результате парсинга CSS возникает дерево правил таблиц стилей (Style Rules). Далее идет важный этап, который называется Attachment, можно перевести, как «совмещение». На этом этапе CSS-стили накладываются на DOM-дерево, в результате чего появляется Render Tree. После чего происходит компоновка дерева. Называется она здесь Layout. И в завершении происходит отрисовка (Painting).





Если посмотреть на Gecko, можно заметить, что схемы очень похожи. Главные отличия — в терминологии. Здесь тоже парсятся HTML, CSS. В результате чего создается DOM-дерево, которое здесь называется Content Model. Парсятся стили, образуется дерево стилей. Этап Attachment здесь называется Frame Constructor, но, по сути, это тоже самое. В результате совмещения образуется дерево отображения, здесь оно называется Frame Tree. Компоновка здесь называется Reflow. А отрисовка называется Painting, так же, как и в Webkit.



Для простоты приравняем некоторые термины:


  • Attachment = Frame constructor = Совмещение

  • Render Tree = Frame Tree = Дерево отображения

  • Layout= Reflow = Компоновка





Пример








Здесь у нас есть теги:
, 

, есть

и ещё один
”…”/>








Модуль отображения строит DOM-дерево. В данном случае оно будет выглядеть следующим образом. Есть корневой элемент (он всегда присутствует), называется он documentElement и соответствует тегу html. В этом дереве присутствуют все теги. И заметим, что текст представлен, как [text node]. И DOM-дереву больше ничего о тексте знать не нужно. На основе этого DOM-дерева строится Render Tree.



Пример








Дерево отображения. У него также есть корневой элемент (RenderView), но уже можно увидеть отличия между DOM-деревом и деревом отображения. Во-первых, нет тега head, т. к. он не отображается на экране. Нет
, есть только

”…”/>



Текст в дереве отображения разделился на две строки и представляет собой два элемента: line 1 и line2. Как я писал выше, узлы дерева отображения мы будем называть прямоугольниками. Для наглядности я так и отобразил их на иллюстрации.



Пример








Каждый прямоугольник имеет своего «родителя», кроме корневого элемента root.



Модуль отображения также занимается обработкой скриптов.



Порядок обработки скриптов и таблиц стилей




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
















...









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



Но при этом браузер продолжает выполнять ориентировочный синтаксический анализ. Что это значит? Браузер все равно смотрит, что следует за скриптом. Если находятся ссылки на внешние ресурсы, которые нужно скачать и загрузить, он подгрузит эти данные, пока выполняется скрипт 1. Сделано это для оптимизации.



При этом скрипт 3 все равно не будет выполняться, пока не выполнится скрипт 1. К моменту, когда скрипт 1 уже выполнится, скрипт 3 уже может быть полностью загружен. Скрипты можно вставлять в теги head и body. Разница в том, что в скрипте 2, в отличии от скрипта 1, практически весь документ уже будет проанализирован.

У скрипта могут быть атрибуты, такие как deffer и async. Они похожи, но у них есть отличия:




  • Атрибут deffer сообщает браузеру, чтобы тот не ждал окончания выполнения скрипта, а продолжал парсинг html-страницы. При этом скрипт 4 выполнится только после того, как весь html-документ будет проанализирован и построено DOM-дерево.

  • Атрибут async тоже говорит браузеру, что дальнейший html-документ может быть проанализирован, пока скрипт выполняется. Но при этом он выполняется в параллельном потоке, т. е. он на самом деле выполняется асинхронно. Это означает, что он может быть выполнен раньше, чем скрипт1. Если в скрипте 1 у нас 1000 строк, а в скрипте 5 – 10, скрипт 5 вероятно будет выполнен раньше. Т. е. порядок подключения в этом случае не соблюдается.





В случае с defer скрипт 4 всегда выполняется после скрипта 1. С атрибутом async неизвестно, когда он будет выполнен и какая часть документа уже будет проанализирована к этому моменту.



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



При этом есть небольшой нюанс. Например, скрипт 1 может работать с теми или иными стилям, и может потребоваться доступ к ним. Т.е. если мы хотим поменять (или узнать) какие-то стили, но при выполнении скрипта 1 они ещё не подгружены — может случиться ошибка.



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



Компоновка окон








Окно = Прямоугольник = Узел дерева отображения



Способ компоновки окна определяется следующими факторами:


  • Тип окна (свойство display).

  • Схема позиционирования (свойства position и float).

  • Размеры окна.

  • Внешняя информация (размеры изображения, размер экрана).





Компоновка окон — это этап компоновки дерева отображения. Я думаю многим верстальщикам знакома эта схема, она называется “Box model”. Я не буду подробно на ней останавливаться.



При компоновке окон учитываются следующее факторы:



CSS-свойство display. Два основных типа — inline и block. Другие, такие как inline-block table и прочие, появились уже позже. Отличие в том, что display:block, указывает, что ширина прямоугольника будет вычисляться в зависимости от ширины «родителя». А display:inline указывает, что ширина прямоугольника будет вычисляться в зависимости от его содержимого. Если в элементе два слова, ширина прямоугольника будет равна ширине, необходимой для вывода этих слов. Inline-элементы выстраиваются друг за другом. А блочные элементы — друг под другом.



Следующее, что влияет на компоновку элемента, — свойства position и float. Position по умолчанию static, при этом прямоугольник идет в стандартном потоке компоновки. Также есть position:relative и position:absolute. Position:relative указывает, что прямоугольнику выделяется место в стандартном потоке компоновки. При этом позиция элемента может быть сдвинута относительно этого места: влево, вправо, вверх, вниз с помощью соответствующего свойства.



Абсолютное позиционирование, к которому относится position:absolute и position:fixed, указывает, что элемент выходит за пределы своего прямоугольника из общего потока компоновки. Остальные прямоугольники его не учитывают. Он также не учитывает соседние элементы. Координаты его вычисляются относительно корневого элемента страницы, либо относительно предка, у которого position не static. Размеры же вычисляются тоже относительно родителя. Также на позиционирование влияет свойство float. Оно указывает, что наш прямоугольник идет в стандартном потоке, но при этом занимает либо крайнюю левую, либо крайнюю правую позиции. При этом все остальные прямоугольники «обтекают» этот элемент.



В заключение этой части стоит сказать что, основной поток браузера представляет собой бесконечный цикл, поддерживающий рабочие процессы. Он ожидает отправки событий, таких как reflow и repaint. Эти события ему приходят от модуля отображения. Получив их, он выполняет соответствующие действия.



В Firefox модуль отображения работает в одном потоке. Он един на весь браузер. В Chrome все немного иначе: модуль отображения и поток выполнения у каждой вкладки свои.



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



В следующей части мы детально рассмотрим события reflow и repaint и попытаемся понять как грамотная работа с ними может повысить скорость работы приложения.
Original source: habrahabr.ru.

https://habrahabr.ru/post/304138/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Муся54

Google перестанет обновлять Nexus 5X и Nexus 6P в сентябре 2017 года - Сделать сайт. Студия 8 GN - Разработка сайтов, продвижение web-ресурса

Среда, 22 Июня 2016 г. 23:36 (ссылка)
8gn.ru/novosti-it-industrii...-2017-goda


Сделать сайт, заказ сайтов, интернет-магазина. Разработка сайтов, создание сайта, продвижение web-ресурса (сайт, интернет-магазин)

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Madlen_Russ

Разработка и создание сайта по медицинской теме - Сделать сайт. Студия 8 GN - Разработка сайтов, продвижение web-ресурса

Понедельник, 06 Июня 2016 г. 21:58 (ссылка)
8gn.ru/internet-magazin-saj...nskoj-teme


Сделать сайт, заказ сайтов, интернет-магазина. Разработка сайтов, создание сайта, продвижение web-ресурса (сайт, интернет-магазин)

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Chizz_TecTeP

Веб-камера с эффектами

Понедельник, 06 Июня 2016 г. 17:38 (ссылка)
altercam.com/rus/


http://splitcamera.com/russian/



 

Метки:   Комментарии (3)КомментироватьВ цитатник или сообщество

Следующие 30  »

<веб - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda