Блокирующие код и asyncio

Мы знаем, что мы можем сделать много асинхронных операций с помощью asyncio, но, как выполнить блокирующие операции с ним? На самом деле это довольно просто, asyncio позволяет нам запускать код с блокирующими командами с помощью метода BaseEventLoop.run_in_executor. Он будет выполнять наши функции параллельно и предоставит нам объекты Future, через которые…

подробнее

Событие при загрузке страницы

Часто возникает необходимость выполнить некоторый код в момент когда страница загружена. Для этих целей служит  $(document).ready() в библиотеке JQuery, однако если необходимо обойтись чистым JavaScript. В JavaScript есть несколько событий которые возникают при загрузке страницы это: DOMContentLoaded – браузер полностью загрузил HTML и построил DOM-дерево. load – браузер загрузил все ресурсы. beforeunload/unload – уход…

подробнее

Scala работа с файлами

Чтение файла Чтение файлов осуществляется классом scala.io.Source, при помощи которого можно получить поток данных из файла, как то поток строк или поток символов. Source.fromFile(“data.txt”) – вернет scala.io.BufferedSource экземпляр не пустого итератора. Source.fromFile(“data.txt”).mkString – вернет все содержимое файла как единую строку. Source.fromFile(“data.txt”).getLines.foreach { x => println(x) }; – вернет итератор со строками файла…

подробнее

LESS

CSS-препроцессоры — это «программистский» подход к CSS. Они позволяют при написании стилей использовать свойственные языкам программирования приёмы и конструкции: переменные, вложенность, наследуемость, циклы, функции и математические операции. Синтаксис препроцессоров похож на обычный CSS. Код, написанный на языке препроцессора, не используется прямо в браузере, а преобразуется в чистый CSS-код с помощью специальных библиотек.

Три самых известных препроцессора — это LESS, SASS и Stylus. Они во многом похожи между собой, но имеют и ключевые различия. В этом и последующих курсах цикла мы рассмотрим препроцессор LESS.

В курсах по LESS мы будем шаг за шагом строить небольшой фреймворк компонентов. Когда он будет готов, мы сможем собирать из компонентов цельные интерфейсы. Компонентный подход позволяет структурировать большие объемы кода и легко масштабировать проекты. Препроцессор в этом деле — хорошее подспорье.

подробнее

Akka актеры как элементы Akka Stream

Akka Stream состоит из трех элементов источника (Source), поточных элементов (Flow) и приемников (Sink). Соответственно в каждом из этих элементов может использоваться актер Akka. Документация, к сожалению, не пестрит большим количеством примеров как реализовать элементы потока из актеров. Источник Source Начнем с источника данных потока:

В данном примере реализован…

подробнее

Scala Trait

Trait в Scala это что то среднее между интерфейсом java и абстрактным классом. Фактически  Trait  может практически все тоже, что и абстрактный класс, но в тоже время им доступны все роли интерфейсов. В самом простом случае Trait это эквивалент интерфейса java:

В этом случае Trait содержит только публичные и абстрактные методы, при…

подробнее

Примеры

Маска при наведении

В этой серии заданий мы реализуем довольно распространённый интерфейсный приём — появление текстового описания по наведению на блок с картинкой — в необычном виде.

Для начала применим к основным элементам блока с текстом базовый стиль: размер шрифта заголовков и параграфа, цвет фона и текста, общий вид кнопки-ссылки, ведущей к подробной информации. В коде пока что нет ничего необычного, кроме полупрозрачного фонового цвета у текстового блока, заданного с помощью rgba, и свойства border-radius для скруглённых углов у кнопки-ссылки.

подробнее

CSS – Флексбокс

Флексбокс — это первый CSS-механизм, предназначенный для построения сеток и создания сложных раскладок блоков.

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

подробнее

CSS – табличная разметка

У таблиц в истории развития HTML непростая судьба. Они, можно сказать, оказались не в то время, не в том месте: таблицы долгое время использовали не по назначению для разметки каркаса страниц. Но так как таблица — это довольно «тяжёлый» инструмент и предназначена для других целей, табличной разметкой страниц было сложно управлять. Ситуация осложнялась тем, что на заре эпохи интернета, браузеры могли отображать таблицы совсем по-разному, что также усложняло контроль разметки.

С тех пор за таблицами закрепилась нехорошая репутация. Некоторые разработчики до сих пор боятся использовать таблицы в разметке, даже там, где они вполне уместны. Тем более, что сейчас таблицы можно использовать не только в HTML, но и в CSS. Чтобы из любого элемента сделать таблицу в CSS, нужно его свойству display присвоить значение table.  В этом случае блок станет отображаться равнозначно тегу table.

подробнее