Как стать автором
Обновить
50
0

Пользователь

Отправить сообщение

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

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров13K

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

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

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

Поехали!
Читать дальше →
Всего голосов 44: ↑44 и ↓0+44
Комментарии1

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

Уровень сложностиСложный
Время на прочтение12 мин
Количество просмотров50K

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

Читать далее
Всего голосов 18: ↑17 и ↓1+16
Комментарии8

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

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров25K

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

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

Читать далее
Всего голосов 19: ↑12 и ↓7+5
Комментарии6

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

Время на прочтение17 мин
Количество просмотров16K

Привет!

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

Читать далее
Всего голосов 18: ↑16 и ↓2+14
Комментарии15

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

Время на прочтение6 мин
Количество просмотров26K

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

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

Время на прочтение6 мин
Количество просмотров37K

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

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

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

Дискриминация в оплате труда в разных регионах сложилась исторически, ещё до интернета. Теперь некоторые компании ссылаются на эту историческую практику и говорят, что таковы законы экономики. Ситуация абсурдная в условиях дистанционной работы.
Всего голосов 78: ↑71 и ↓7+64
Комментарии414

Реверс-инжиниринг исходного кода коронавирусной вакцины от компаний BioNTech/Pfizer

Время на прочтение11 мин
Количество просмотров104K
Добро пожаловать. В данном посте мы посимвольно разберём исходный код вакцины BioNTech/Pfizer SARS-CoV-2 мРНК.

Да, такое заявление может вас удивить. Вакцина – это ведь жидкость, которую вводят человеку в руку. При чём тут какой-то исходный код?

Хороший вопрос. Начнём мы с небольшой части того самого исходного кода вакцины BioNTech/Pfizer, также известной, как BNT162b2, также известной, как Tozinameran, также известной, как Comirnaty.


Первые 500 символов мРНК BNT162b2.

В сердце вакцины находится вот такой цифровой код. Его длина составляет 4284 символа, так что его вполне можно уместить в несколько твитов. В самом начале процесса производства вакцины кто-то закачал этот код в ДНК-принтер (ага), который, в свою очередь, превратил байты с накопителя в реальные молекулы ДНК.
Всего голосов 316: ↑310 и ↓6+304
Комментарии359

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

Время на прочтение11 мин
Количество просмотров51K

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



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


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

Читать дальше →
Всего голосов 105: ↑100 и ↓5+95
Комментарии26

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

Время на прочтение11 мин
Количество просмотров102K
Привет Хабр.

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



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

Для тех кому интересно как это работает, продолжение под катом.
Читать дальше →
Всего голосов 45: ↑43 и ↓2+41
Комментарии43

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

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

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



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

Обратите внимание на то, что подход к оптимизации Angular-приложений, представленный в этом материале, возможен лишь благодаря тому, что Angular Ivy и AOT включены по умолчанию. Эта статья написана в учебных целях, она не направлена на пропаганду представленного в ней подхода к разработке Angular-проектов.
Читать дальше →
Всего голосов 48: ↑46 и ↓2+44
Комментарии16

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

Время на прочтение8 мин
Количество просмотров24K

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


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


Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии1

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

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

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

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

Время на прочтение4 мин
Количество просмотров52K

image


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


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


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

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

Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии17

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

Время на прочтение12 мин
Количество просмотров27K
Наблюдение за Луной и планетами очень интересно. Наблюдению планет не мешает световая засветка и их можно наблюдать прям из города. Для наблюдения планет не требуются окуляры с большим полем зрения. Даже недорогие окуляры Плёссла могут обеспечить продуктивный результат визуальных наблюдений.

image

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

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

Время на прочтение5 мин
Количество просмотров14K


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

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

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



В основе статьи — доклад Алексея Кудрявцева с Joker 2017. Алексей уже лет 10 пишет Intellij IDEA в JetBrains. Под катом вы найдете видео и текстовую расшифровку доклада.
Читать дальше →
Всего голосов 208: ↑206 и ↓2+204
Комментарии189

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

Время на прочтение4 мин
Количество просмотров73K


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

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

Время на прочтение16 мин
Количество просмотров158K
Предисловие к FAQ.

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

Надеюсь, что приведенные примеры окажутся полезными.
Читать дальше →
Всего голосов 114: ↑98 и ↓16+82
Комментарии23

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

Время на прочтение1 мин
Количество просмотров74K
archon

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

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

Читать дальше →
Всего голосов 48: ↑45 и ↓3+42
Комментарии27

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

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

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

Собственно, под катом можно прочесть пару слов о RecyclerView, CardView и о подключении соответствующих библиотек в Gradle. Также, можно посмотреть коротенькое видео, демонстрирующее стандартную анимацию операций со списком в RecyclerView.
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии15
1

Информация

В рейтинге
Не участвует
Откуда
Wien, Wien, Австрия
Зарегистрирован
Активность