Pull to refresh
51
0
Send message

Основные принципы маскирования в CSS

Level of difficultyMedium
Reading time8 min
Views27K

В мире дизайна маскирование является популярной техникой реализации уникальных эффектов. Будучи дизайнером, я сам использовал эту технику много раз, но не очень часто в веб-среде. Думаю, что от её применения на сайтах меня удерживала недостаточная поддержка браузерами. Полноценно этот функционал поддерживается в Safari и Firefox, а вот в браузерах на движке Blink (Chrome и Edge) — лишь частично.

Радует то, что тема CSS маскирования будет частью Interop 2023, а значит, вскоре можно ожидать кросс-браузерную поддержку этой возможности (Вау!).

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

Поехали!
Читать дальше →

Как на самом деле работает Async/Await в C# (Часть 1)

Level of difficultyHard
Reading time12 min
Views64K

Несколько недель назад в блоге «.NET Blog» появилась статья «Что такое .NET, и почему вы должны выбрать его?». В нем был представлен высокоуровневый обзор платформы, кратко описаны различные компоненты и архитектурные решения, а также обещаны более подробные посты по затронутым темам. Этот пост является первым таким продолжением, в котором подробно рассматривается история создания, архитектурные решения и детали реализации async/await в C# и .NET.

Читать далее

6 новых возможностей CSS, которые должен знать каждый front-end разработчик в 2023 году

Level of difficultyEasy
Reading time2 min
Views27K

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

Я считаю, что каждый front-end разработчик должен знать, как использовать container query, создавать привязку к прокрутке, избегать position: absolute с помощью grid, быстро создавать круг, использовать каскадные слои и достигать большего с помощью логических свойств. Эта статья — описание каждой из 6 новых возможностей CSS.

Читать далее

Обучаем нейросеть распознавать цифры на выборке от MNIST. Реализация алгоритма обратного распространения на C#

Reading time17 min
Views25K

Привет!

Будем обучать нейросеть распознавать рукописные цифры

Читать далее

DIY Zigbee датчик температуры

Reading time6 min
Views32K

Приветствую читателей Habr! В этой статье расскажу вам о своём очередном zigbee проекте беспроводного датчика. Проект называется Efekta THP_LR \ THP, это небольшой датчик измерения температуры и влажности воздуха на чипе СС2530. Есть несколько модификаций датчика, в одном из вариантов датчик дополнительно измеряет атмосферное давление. Ещё в одном варианте датчик работает на радиомодуле СС2530 с усилителем сигнала. В этом варианте возможна установка радиомодуля с печатной антенной или с выносной. Все модификации датчика работают на батарейках ААА, это обеспечивает длительный срок работы на одном комплекте батареек. Датчик предназначен для работы в сетях Zigbee. Проект с открытым исходным кодом.
Читать дальше →

Чем дальше живёшь — тем меньше получаешь? Абсурд в условиях удалёнки

Reading time6 min
Views37K

Корпорации FAANG платят выше рынка, если учесть все премии, бонусы, стартовые и «оживляющие» опционы. Но оптимальные условия действуют только в Bay Area (на фото)

В прошлом году Facebook подвергся критике за дискриминацию в оплате труда программистов после перехода на удалёнку. Если сотрудник принимает решение уехать из Калифорнии на время карантина — ему сокращают зарплату. Мол, в провинции жить дешевле, чем в Сан-Франциско, поэтому «себестоимость труда» там ниже. Следовательно, компания имеет право платить меньше.

Многие российские компании делают так же. Например, в Москве айтишникам предлагают одну зарплату, а за пределами МКАД — гораздо меньше за такую же работу. То есть человек получает «штраф» просто по факту, что переехал в другой город.

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

В одной лодке с «ублюдком»: 11 продвинутых советов по использованию Git

Reading time11 min
Views52K

*"ублюдок" — вольный перевод слова "git" — "an unpleasant or contemptible person", "неприятный или презренный человек".



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


Давайте посмотрим, что можно использовать, чтобы улучшить себе жизнь. Статья предполагает, что читатель умеет пользоваться основными возможностями git и понимает что делает, когда, скажем, вводит в консоль git rebase --merge --autostash.

Читать дальше →

5 экспериментов с WiFi на ESP32

Reading time11 min
Views120K
Привет Хабр.

Платы ESP32 весьма популярны в виду низкой цены, неплохой вычислительной мощности (процессор 200МГц), развитого SDK с поддержкой как MicroPython так и Arduino IDE, наличием GPIO c поддержкой периферии (SPI, I2C и пр) и беспроводной связи (WiFi, Bluetooth). Сегодня мы посмотрим, что можно сделать на такой плате ценой всего лишь около 12$.



Мы рассмотрим разные варианты использования WiFi, от простого коннекта к сети до WiFi-сниффера. Для тестов понадобится любая плата с ESP32 (лучше с OLED-экраном, как на картинке) и Arduino IDE.

Для тех кому интересно как это работает, продолжение под катом.
Читать дальше →

Angular без zone.js: максимум производительности

Reading time12 min
Views19K
Angular-разработчики в большом долгу перед библиотекой zone.js. Она, например, помогает достичь в работе с Angular почти волшебной лёгкости. На самом деле, практически всегда, когда нужно просто поменять какое-нибудь свойство, и мы меняем его, ни о чём не задумываясь, Angular производит повторный рендеринг соответствующих компонентов. В результате то, что видит пользователь, всегда содержит самую свежую информацию. Это просто замечательно.

Здесь мне хотелось бы исследовать некоторые аспекты того, как применение нового компилятора Ivy (он появился в Angular 9) способно значительно облегчить отказ от использования zone.js.



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

Обратите внимание на то, что подход к оптимизации Angular-приложений, представленный в этом материале, возможен лишь благодаря тому, что Angular Ivy и AOT включены по умолчанию. Эта статья написана в учебных целях, она не направлена на пропаганду представленного в ней подхода к разработке Angular-проектов.
Читать дальше →

Чистим код в Angular. Готовим ESLint, codelyzer, stylelint, husky, lint-staged и Prettier

Reading time8 min
Views25K

Если вам не приходилось работать в команде, то, возможно, вы еще не используете эти вещи, а кто-то даже не знает про них. Работая один, вы сами себе хозяин.


Как только начали работать в команде  —  ситуация резко меняется. Если нет договоренностей, то каждый начинает писать код в таком стиле, в каком умеет. И даже если вы все же собрались и обсудили на словах codestyle на проекте и даже записали где-то, это, скорее всего, не поможет решить проблему, и вот почему.


Читать дальше →

Переносим Angular проект на ESLint, с Prettier, Husky и lint-staged

Reading time8 min
Views33K
Привет, Хабр! Меня зовут Богдан, я работаю в ПИК Digital Front-End тимлидом. Большую часть проектов мы разрабатываем на Angular и недавно я решил пересмотреть наши стайл гайды, а также добавить новые инструменты для более удобной работы.

В качестве линтера я решил использовать ESLint, так как в скором времени на него планируют перевести Angular. И в этой статье я хочу поделиться инструкцией по переходу с TSLint на ESLint, а заодно рассказать, как запускать Prettier из ESLint, как добавить правила стайл гайда AirBnB, и как сделать линтинг удобным и незаметным с помощью настройки VS Code и Git хуков.
Читать дальше →

Единственно верный способ загружать и скачивать файлы в Selenium тестах

Reading time4 min
Views60K

image


Selenium WebDriver создавался как кросс-платформенный инструмент для управления веб браузерами. И вот уже почти 14 лет он делает эту работу очень и очень хорошо. Впрочем, автотесты из реального мира создают ситуации, в которых Selenium бессилен. Например, по сценарию нужно загрузить или скачать какой-либо файл. После нажатия кнопки "Загрузить" или "Скачать", поверх окна браузера появляется окно файлового менеджера операционной системы к которому Selenium уже не имеет доступа. Тест останавливается.


Я слышал рекомендации использовать утилиты типа AutoIt или Sikuli для работы с такими системными окнами. Мой совет — никогда так не делайте, это порочная практика, которая приводит к нестабильным тестам:


  • Такое решение не кросс-платформенное. Приходится изобретать свой велосипед для каждой новой операционной системы.
  • Хрупкое. Нет гарантии, что скрипт будет работать корректно если на машине открыто несколько браузеров.
  • Это делает невозможным использование headless режима браузера

Меня зовут Ярослав Пернеровский. Я уже 15 лет в тестировании и около 8 лет в автоматизации. Сейчас я расскажу как нужно правильно обрабатывать такие ситуации.

Читать дальше →

Как наблюдать Луну и планеты

Reading time12 min
Views29K
Наблюдение за Луной и планетами очень интересно. Наблюдению планет не мешает световая засветка и их можно наблюдать прям из города. Для наблюдения планет не требуются окуляры с большим полем зрения. Даже недорогие окуляры Плёссла могут обеспечить продуктивный результат визуальных наблюдений.

image

Юпитер, Сатурн и Марс являются, пожалуй, самыми доступными планетами, для астрономических наблюдений. Я до сих пор помню трепет и удивление от первого взгляда на Сатурн, который я увидел более 20 лет назад, в 80мм «Большом Школьном Рефракторе». Однако часто поступают сообщения от начинающих любителей, о первых наблюдениях, в частности Юпитера и Марса, в которых присутствует доля разочарования. «Я просто вижу шар света без деталей», или «Я вижу маленький диск, на котором не могу полностью сфокусироваться». «Мой телескоп неисправен?» Именно дня начинающих любителей астрономии может быть полезной данная статья. В ней подробно описываются тонкости и особенности визуальных наблюдений планет Солнечной системы.
Читать дальше →

Особенности работы в интернациональной команде. Индия

Reading time5 min
Views14K


Встречаются однажды индиец, японец и русский… Звучит, как начало бородатого анекдота. На самом деле все намного ближе к жизни, чем может показаться на первый взгляд. Наверное многие знают, что Parallels – это международная компания с интернациональной командой. Сегодня у нас 13 офисов по всему миру. И если разработка сконцентрирована в основном в России, Эстонии и на Мальте, продажи в Северной Америке и Европе, то техническая поддержка распределена сразу между несколькими странами. Под катом рассказ о том, как живут и работают наши саппорт-гуру.
Читать дальше →

Текстовый редактор — это вам не высшая математика, тут думать надо

Reading time17 min
Views98K
Современные текстовые редакторы умеют не только бибикать и не давать выйти из программы. Оказывается, внутри них кипит очень сложный метаболизм. Хотите узнать, какие ухищрения предпринимаются для быстрого пересчета координат, как к тексту приделываются стили, фолдинги и софтврапы и как это всё обновляется, при чем тут функциональные структуры данных и очереди с приоритетами, а также как обманывать пользователя — добро пожаловать под кат!



В основе статьи — доклад Алексея Кудрявцева с Joker 2017. Алексей уже лет 10 пишет Intellij IDEA в JetBrains. Под катом вы найдете видео и текстовую расшифровку доклада.
Читать дальше →

Малоизвестные Git-команды

Reading time4 min
Views74K


У Git есть строгие обязательства по обратной совместимости: многие продвинутые возможности скрыты за разнообразными опциями, а не применяются как поведение по умолчанию. К счастью, Git также поддерживает и алиасы, так что вы можете создавать свои собственные команды, которые делают всю характерную для Git магию. Под катом — подборка полезных (или как минимум забавных) алиасов, определённых в моём .gitconfig.
Читать дальше →

FAQ по программированию под Android от новичка, и для новичков

Reading time16 min
Views158K
Предисловие к FAQ.

Программирование является моим хобби уже давно (правда на других языках и платформах), но до андроида руки дотянулись совсем недавно. Прошло несколько этапов, прежде чем я добрался до написания программ.
Сначала была пара месяцев посвященных Java, на сайте с «Сгибателем».
После, долгие попытки подружится с Eclipse, закончившиеся побегом на Android Studio.
На данный момент выпущено 7 программ и две находятся в разработке.
Данная подборка возникла как попытка структурирования и оптимизации полученной в процессе информации.
Заранее извиняюсь за возможно некорректную терминологию – так как практикую обучение через создание, и в теоретической части есть пробелы.

Надеюсь, что приведенные примеры окажутся полезными.
Читать дальше →

Запуск Android-приложений под Windows, OS X, Linux в Chrome

Reading time1 min
Views75K
archon

Корпорация Google довольно давно добавила Android-приложения в каталог Chrome Web Store, позволяя запускать ряд таких приложений на Chromebook или Chromebox. Не так давно несколько разработчиков сообщили, что есть возможность запускать и другие Android-приложения, не из каталога Chrome Web Store. Правда, перед запуском такие приложения нужно специальным образом подготовить.

Благодаря такой подготовке Android-приложения можно запускать не только на Chromebook, но и работать с ними в Windows, OS X, и Linux. Причем приложения запускаются, как нативные.

Читать дальше →

RecyclerView и CardView. Новые виджеты в Android L

Reading time4 min
Views121K
Как известно, в июне проходила очередная конференция Google I/O, в ходе которой было вкратце рассказано о двух новых виджетах. И поскольку на хабре об этих виджетах пока ничего не написано, я решил написать эту статью с простенькой демонстрацией.

Демо приложение доступно на гитхабе по ссылке.

Собственно, под катом можно прочесть пару слов о RecyclerView, CardView и о подключении соответствующих библиотек в Gradle. Также, можно посмотреть коротенькое видео, демонстрирующее стандартную анимацию операций со списком в RecyclerView.
Читать дальше →

Серия из 24 лабораторных работ по разработке, тестированию и управлению жизненным циклом ПО для Visual Studio 2013

Reading time5 min
Views28K
Многим разработчикам и тестеровщикам, использующим Visual Studio, известен Брайан Келлер (http://blogs.msdn.com/b/briankel/ ) с его регулярно обновляемой виртуальной машиной, которая содержит последнюю версию Visual Studio и всю необходимую инфраструктуру для изучения и оценки всех возможностей средств разработки. Эта виртуальная машина сопровождается набором лабораторных работ aka.ms/VS13ALMVM, которые уже помогают оценить возможности средств разработки или даже научиться использовать новые возможности о которых вы либо не знали, либо не пользовались раньше.

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

О 4-х лабораторных я уже писал на habr: habrahabr.ru/company/microsoft/blog/235157. Сегодня мы рады сообщить, что благодаря ahriman, мы успешно выполнили проект по локализации этих лабораторных работ. Встречайте — полный набор из 24-х локализованых лабораторных работ, которые покрывают темы эффективной разработки, тестирования, совместной разработки и управления жизненным циклом ПО для Visual Studio 2013!
Подробности
1

Information

Rating
Does not participate
Location
Wien, Wien, Австрия
Registered
Activity