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

Разработка

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Работа с фоновыми задачами в Android 12: переезжаем с foreground service на expedited jobs

Блог компании FunCorpРазработка мобильных приложенийРазработка под AndroidKotlin

С релизом Android 12 приложения, где новая версия операционки будет указана в targetSdkVersion, получат запрет на запуск foreground-сервисов в бэкграунде. В качестве альтернативы Google предлагает WorkManager, который с появлением expedited jobs станет предпочтительным вариантом для запуска высокоприоритетных фоновых задач. 

О нём и пойдёт речь в статье — под катом обсудим новые возможности инструмента, подключим его к приложению и реализуем миграцию с foreground-сервиса.

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Просмотры799
Комментарии 4

Новости

Показать еще

Как сделать DIY-термостат с веб-интерфейсом, чтобы отапливать дом дистанционно

Блог компании SkillFactoryPythonПрограммированиеDIY или Сделай самЭлектроника для начинающих
Перевод

Разработка на фронтенде не ограничивается интернет-ресурсами, а бекенд может оказаться неожиданным. К старту курса о Fullstack-разработке на Python делимся переводом статьи, автор которой в условиях Великобритании, где центрального отопления в привычном нам смысле этого слова нет, столкнулся с неудобствами отопления в новом доме и самостоятельно собрал электронный термостат, для управления прибором написав веб-интерфейс, а также бекенд на Flask.

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Просмотры1K
Комментарии 4

КСВ разъёма и перехода на плату

Разработка систем связиПрототипированиеПроизводство и разработка электроникиНаучно-популярное

СВЧ устройство не может быть исполнено без приспособления ввода/вывода сигнала. Чаще всего сигналы подаются с помощью коаксиальных кабелей, на конце которых установлены коаксиальные разъёмы. Соответственно, на устройстве (корпусе или печатной плате) должны быть установлены ответные разъёмы.

К сожалению, очень часто инженеры разработчики не уделяют должного внимания переходу, тщательно настраивают все узлы изделия, но разъёмы просто покупают в духе "написано до 18 ГГц" и подойдёт значит.

В данной мини-статье будет рассмотрен только разъём типа SMA, так как это — один из наиболее часто применяемых интерфейсов в электронике СВЧ.

почему плата на обложке "плохая" ?
Всего голосов 19: ↑18 и ↓1+17
Просмотры1.9K
Комментарии 22

Можно ли использовать декларативный и императивный стили написания программ одновременно?

Блог компании TimewebНенормальное программированиеПрограммированиеC++Prolog


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

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

Но сейчас я думаю, что это не верно. Императивный и декларативный стили программирования не являются взаимоисключающими, а писать программы только в одной из указанных парадигм подталкивают правила синтаксиса, реализованные в языке!

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

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

Читать дальше →
Всего голосов 4: ↑2 и ↓20
Просмотры1.3K
Комментарии 16

Security Week 30: SeriousSAM — эскалация привилегий в Windows

Блог компании «Лаборатория Касперского»Информационная безопасность
Месяц нетривиальных уязвимостей в Windows продолжается. На прошлой неделе сразу несколько исследователей раскрыли детали уязвимости SeriousSAM (по аналогии с недавними уязвимостями PrintNightmare в службе печати, было также предложено название HiveNightmare). Еще 19 июля исследователь Джонас Лик (Jonas Lyk) заметил, что доступ к файлам системы Security Account Manager открыт пользователям с минимальными привилегиями. Уязвимыми, впрочем, оказались не исходные данные, а их бэкап, создающийся при помощи функции Volume Shadow Copy.



Начиная с версии Windows 10 v1809 (выпущенной, соответственно, осенью 2018 года) приоткрылся доступ к чувствительным данным, включая захешированные пароли. 20 июля исследователь Кевин Бомонт показал работающий эксплойт для данной уязвимости. По сути proof of concept просто копирует системные файлы в пользовательскую директорию. Хеши паролей затем используются для получения наивысших привилегий в Windows 10.
Читать дальше →
Всего голосов 5: ↑4 и ↓1+3
Просмотры759
Комментарии 0

Разбираемся с AsyncImage в SwiftUI

Блог компании OTUSРазработка под iOSSwift
Перевод

На протяжении нашей профессиональной деятельности мы в основном создаем приложения, которые так или иначе обмениваются данными с веб-сервисами. Изображения на удаленных серверах — это как раз один из таких типов данных, которые нам необходимо загружать и отображать в нашем приложении. SwiftUI предоставляет нам тип AsyncImage, который является представлением для загрузки и отображения изображений по URL-адресу. В этой статье вы узнаете, как использовать и кастомизировать AsyncImage в SwiftUI.

Читать далее
Рейтинг0
Просмотры227
Комментарии 0

DevDays: студенческий хакатон на магистерской программе JetBrains&ITMO

Блог компании Образовательные проекты JetBrainsХакатоныУчебный процесс в IT

«Увлекательное испытание себя» – так описывают студенты участие в хакатоне, который проходит каждый семестр у первокурсников магистерской программы JetBrains&ITMO. DevDays – это три дня и три ночи интенсивной работы и горячих митингов, знакомство с новыми технологиями и множество строк кода. Ребята работают в небольших командах и проходят все этапы разработки: от возникновения идеи проекта до работающего решения. А прошедшей весной студенты наконец поработали друг с другом вживую после почти года удаленки. 

В этом посте рассказываем подробнее об идеях проектов: два плагина для Intellij IDEA,  приложение для тиктокеров, эмулятор мыши для механических клавиатур и чатбот-органайзер.

Читать далее
Рейтинг0
Просмотры271
Комментарии 0

Диаграммы Фейнмана в первом классе

МатематикаФизика
Из песочницы

Старшая дочь, 7 лет отроду, учится во втором классе бразильской школы (здесь дети идут в первый класс в 6 лет). Времена нынче трудные, школы уже 3 полугодия закрыты. Поэтому по сути в школу она так и не ходила. Справедливости ради надо сказать, что в 3 года в садике она выучила португальский в объеме достаточном для жизни, в 4 года ее обучили буквам и счету, в 5 лет она ходила в подготовишку к первому классу в Томске и тоже чему-то научилась. Сейчас у нее каникулы. И мы решили записаться в русскую онлайн школу. Там как раз есть тестовые 2 недели. Пошли в первый класс. И вот, на первом занятии по русскому языку я вижу диаграммы Фейнмана! Я чуть со стула не свалился...

После этого лирического отступления идет высоконагруженный технический пост про диаграммную технику Фейнмана и ее народно-хозяйственное значение.

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Просмотры2.9K
Комментарии 2

Пятёрочка — Интегрируй меня полностью

Блог компании KTSJavaScriptПроектирование и рефакторингReactJS

Мы в KTS делаем проект для Пятерочки – новый личный кабинет сотрудника. Продукт объединяет уже существующие сервисы и автоматизирует бизнес-процессы, которые раньше выполнялись вручную.

Над личным кабинетом работает много команд, поэтому нужен удобный механизм параллельной разработки модулей-микрофронтендов. Мы попробовали три способа встраивания: iframe, NPM-пакеты и Webpack Module Federation. В статье анализируем преимущества и недостатки каждого из них и рассказываем, почему переходили от одной технологии к другой.

Поехали!
Всего голосов 7: ↑7 и ↓0+7
Просмотры1.6K
Комментарии 1

@Once: однократные замыкания

Блог компании OTUSРазработка под iOSSwift
Перевод

В Swift 5.5 появилась возможность использовать обертки свойств на параметрах функций и замыканий. Это наконец позволило мне реализовать то, что я и многие другие люди всегда хотели видеть в Swift — способ каким-либо образом обеспечить, чтобы замыкание (closure) вызывалось ровно один раз.

Чтобы понять, зачем, вот вам простой пример.

Читать далее
Рейтинг0
Просмотры621
Комментарии 1

Отправка доменных событий в модульном монолите

Блог компании ispringPHPПрограммированиеАнализ и проектирование системПроектирование и рефакторинг

Всем привет! В этой статье хочу поделиться опытом построения системы доменных событий (domain events) в нашем модульном монолите и микросервисах, рассказать о том, как мы гарантируем их доставку, следим за консистентностью в рамках транзакций, используя transactional outbox, чем доменные события отличаются от интеграционных и всё это в рамках multi tenant приложения. Подробнее под катом.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Просмотры720
Комментарии 6

В JS-функциях «побеждает» последний оператор return

Блог компании RUVDS.comРазработка веб-сайтовJavaScript
Перевод
Вот — JavaScript-функция. Какой из операторов return, имеющихся в ней, «победит» при вызове этой функции?

function test() {
  return 'one';
  return 'two';
  return 'three';
}

Вероятно, вы скажете, что это — первый return. А вот я хочу попытаться убедить вас в том, что «победителем» окажется return последний.



Будьте спокойны: эта функция, определённо, возвращает 'one'. Но в данном случае первый return не даёт выполняться остальным. В результате «последний return» — это и есть return 'one', именно он и «побеждает» другие операторы return. Конечно, это — и самый первый такой оператор, но при этом то, что я заявил выше, остаётся истинным (я, говоря это, с самодовольным видом скрещиваю руки на груди).

Знаю, в вашей голове сейчас проносится примерно такая мысль: «Да заткнись уже!». Но я, всё же, прошу вас ещё немного меня потерпеть…
Читать дальше →
Всего голосов 36: ↑29 и ↓7+22
Просмотры4.8K
Комментарии 14

Yappa: запускаем python web-приложения. Просто. Бессерверно. В Яндекс Облаке

PythonDjangoFlaskServerless
Из песочницы

$ yappa deploy

Все. 

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

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Просмотры1.9K
Комментарии 6

Построение процессов в QA: проблемы и решения

Блог компании Social QuantumРазработка игрТестирование игр

Каждый тестировщик в моем окружении хоть раз попадал в ситуацию, когда на проекте требуется построить процесс с нуля. Многие наверняка задавались вопросом «С чего начать?». За последние 5 лет у меня было несколько проектов с таким опытом в разных студиях.

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

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Просмотры889
Комментарии 0

Установка дополнительных версий PHP в VestaCP с помощью Docker

Блог компании TimewebНастройка LinuxPHP*nixСерверное администрирование
Tutorial

Наверное, многие сталкивались с ситуацией, когда среди проектов работающих на современном ПО, остается пара полузабытых, а держать отдельную машину под них не хочется. Вариантов решения масса, но в службе поддержки хостинг-компании данная проблема не теряет своей актуальности м моими коллегами был разработан скрипт, помогающий добавить нужную версию php в VestaCP буквально за пару минут. Данный метод уже зарекомендовал себя с хорошей стороны и продолжает радовать сотрудников поддержки. Самое время его опубликовать и помочь всем, кто столкнулся с подобной проблемой.

Читать далее
Рейтинг0
Просмотры403
Комментарии 0

Часто задаваемые вопросы о ClickHouse Kafka Engine

Блог компании OTUSТестирование веб-сервисов
Перевод

Kafka — это популярный способ потоковой загрузки данных в ClickHouse. ClickHouse имеет встроенный коннектор для этой цели — движок Kafka. Наши друзья из Cloudfare первоначально создали этот движок для ClickHouse. С тех пор движок Kafka был значительно переработан и теперь поддерживается разработчиками Altinity. Однако не всегда очевидно, как использовать его наиболее эффективным образом. Мы попытались восполнить этот пробел, проведя вебинар по Kafka, который прошел успешно. В этой статье мы собрали типичные вопросы, которые мы получаем по поводу использования движка Kafka. Надеемся, что наши рекомендации помогут избежать распространенных проблем.

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Просмотры616
Комментарии 0

PHP 8.1: до и после

Разработка веб-сайтовPHP
Перевод

PHP 8.1 выйдет через несколько месяцев и я в восторге от множества нововведений! Хочу поделиться реальным влиянием PHP 8.1 на мой собственный код.

Читать далее
Всего голосов 7: ↑5 и ↓2+3
Просмотры3.1K
Комментарии 14

Не очень известные возможности Chrome Devtools

JavaScriptGoogle Chrome

Chrome Devtools, безусловно, мощнейший инструмент для разработки, дебага, профайлинга и тестирования в браузере. С каждым релизом в него завозят всё новые и новые фичи. И время от времени на хабре выходят посты типа "10 крутых фишек Devtools". Но факт - то ли копирайтовый мир победил, то ли это не слишком интересная тема, но в большинстве случаев авторы описывают одни и те же возможности, которые существуют уже года 4. Мне кажется только ленивый сейчас не знает о console.time, о манипуляциях с анимациями, и о том что ветки DOM-дерева можно drag&drop-ать, и т. д.

Поэтому, позвольте же рассказать, какие интересные фичи знаю я. Вряд ли все они станут откровением, но знают о них точно не все.

Ну, рассказывай
Всего голосов 8: ↑7 и ↓1+6
Просмотры3.5K
Комментарии 8

Программа PyCon Russia: чем живет python-сообщество в 2021

Блог компании IT-PeoplePythonDjangoКонференции

8-й по счету PyCon Russia пройдет 5-6 сентября в Клязьма Резорт. Как всегда, встречаемся старой и новой тусовкой питонистов, отдыхаем на природе, поем песни под гитару и пиво, слушаем, какие проекты и как пилят в разных компаниях, и прокачиваемся на мастер-классах.

В этом году программу разделили на 2 тематики: разработка на python и ML& Data Science. 

Смотрите, чем живет и куда двигается python-сообщество.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Просмотры862
Комментарии 0