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

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

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

Полноценный трехпортовый USB-Serial адаптер на STM32 Blue Pill (STM32F103C8T6)

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

Некоторое время назад мне в очередной раз потребовался USB-Serial адаптер. И не просто адаптер c RX/TX, а чтобы еще присутствовали управляющие сигналы. И не один UART, а несколько. И еще желательно, в виде одного композитного устройства, чтобы все это хозяйство не занимало больше одного USB-порта. Так и началась эта история...

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

Как получить 9В/12В от зарядного с Quick Charge (на примере STM32)

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

Чем может быть полезна быстрая зарядка


С увеличением ёмкости аккумуляторов телефонов потребовалось увеличить и мощность зарядных устройств, чтобы достичь маленького времени зарядки, для чего и нужно было увеличивать выходную мощность: напряжение, ток. Таким образом зарядные с Quick Charge 3.0 кроме 5 В могут выдавать 9В/12В/20В +возможность регулировки с шагом 0.2 В (до 12 В).


image

Ввиду распространенности ЗУ с этой технологией появляется интерес использовать их для получения повышенного напряжения без дополнительных преобразователей.

Читать дальше →
Всего голосов 49: ↑49 и ↓0+49
Комментарии23

Работаем с датчиком CO₂ Xiaomi ClearGrass Air Detector локально, без китайских серверов

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


Давно планировал внедрить в домашнюю автоматизацию датчик углекислого газа CO₂. По соотношению цена/качество/функции/внешний вид лучшим для меня оказался Xiaomi ClearGrass Air Detector. Анализатор качества воздуха содержит датчики:

  1. CO₂
  2. tVOC (летучие органические соединения)
  3. PM2.5
  4. Температуры
  5. Влажности

У ClearGrass качественный экран с большими углами обзора и аккумулятор на 6 часов автономной работы. Цена в районе 130$ за такой девайс переводит его в сегмент маст хэв! Большой обзор можно почитать на mysku.ru.

Анализатор можно добавить в родное приложение qingping+ или MiHome, в обоих случаях данные ходят через китайские сервера, что меня категорически не устраивало. Я решил разобраться, как можно получить данные с датчика локально без использования сторонних удаленных серверов.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии19

Ваш C# уже «функциональный», просто позвольте ему это

Время на прочтение4 мин
Количество просмотров19K
Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи «Your C# is already functional, but only if you let it» автора Igal Tabachnik.

Несколько дней назад я написал в Твиттере фрагмент кода C#, реализующий FizzBuzz, используя некоторые из новых «фичи» в C# 8.0 . Твит “стал вирусным”, несколько человек восхищались его лаконичностью и функциональностью, в то время как другие спрашивали меня, почему я не написал его на F#?

Прошло уже более 4 лет с тех пор, как я в последний раз писал на C#, и то, что я обычно использую функциональное программирование, явно повлияло на то, как я пишу код сегодня. Фрагмент, который я написал, кажется очень аккуратным и естественным, однако некоторые люди выразили опасения, что он не похож на код на C#.
«Он выглядит слишком функциональным.» – писали мне они.
В зависимости от того, кого вы спрашиваете, «функциональное программирование» означает разные вещи для разных людей. Но вместо того, чтобы обсуждать семантику, я хотел бы предложить объяснение того, почему эта реализация FizzBuzz кажется функциональной.
Всего голосов 24: ↑22 и ↓2+20
Комментарии127

Освободи свой Android — алаверды

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

О чём это?


Данная статья написана в качестве продолжения статьи Освободи свой Android. Зачем? Очень просто — та статья очень подробно и хорошо описывает, как перешить смартфон на LineageOS. Но она просто требует продолжения о том, как потом с этим перешитым смартфоном жить. Некий отчёт из реальной жизни просто необходим. Вот такой отчёт я и хочу здесь предоставить.
Читать дальше →
Всего голосов 38: ↑36 и ↓2+34
Комментарии68

Ультразвуковая ванна. Часть 2

Время на прочтение5 мин
Количество просмотров27K
В предыдущей части мы узнали из чего состоит устройство и как его настроить. Научились правильно рассчитывать резонансный дроссель и многие другие тонкости в этом ремесле.

Первая часть



Теперь подаем питание и видим что таймер сразу рисует нули, и тем самым переходит в режим боевой готовности. Поворот ручки энкодера запускает ванну на заданный интервал времени. Мелкий левый переменный резистор осуществляет грубую настройку частоты резонанса о котором можно судить по потреблению тока на амперметре. В моем случае шкала равна трем амперам. Большой правый резистор дает более точную подстройку частоты. Важно следить чтобы ток не превышал больше трех ампер, иначе блок питания пойдет в разнос, по крайней мере мой.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии18

Расстановка точек над датчиками газа серии MQ – глубокое понимание даташита и настройка

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

После покупки копеечного датчика утечки газа появилось желание разобрать все по полочкам и узнать, что происходит внутри. Информации и статей по датчикам очень много, но большинство ограничено распиновкой стандартного китайского модуля, иногда принципов работы. Про относительно точное определение абсолютных значений информации нет. Забегая наперед скажу, что мы попробуем выжать все из даташита, включая: точные функции определения «попугаев», температурно-влажностной коррекции, некоторых возможностей селекции.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии19

DevOps для разработчиков (или против них?!)

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


Подход DevOps качественно изменил процесс разработки. Если раньше программисты только писали код и прогоняли тесты, то теперь они участвуют и в развертывании проектов на продакшен. Звучит так, будто сисадмины решили переложить свои заботы на плечи разработчиков, не так ли? Но не все так просто.


Выяснить это решил Барух Садогурский (jbaruch) из JFrog. Под катом вы найдете расшифровку его доклада, где Барух на примерах покажет, действительно ли DevOps помогает деплоить код чаще и улучшать его качество. Трудно передать харизму спикера текстом, поэтому в статье будут мемы из презентации.


Читать дальше →
Всего голосов 31: ↑27 и ↓4+23
Комментарии7

Пластмассовый выстрел: атипичные патроны

Время на прочтение11 мин
Количество просмотров64K
Полимерные патроны — технология, в которую американские военные вкладывают деньги больше 60 лет. Она породила одни из самых безумных экспериментальных боеприпасов в истории оружия и одни из самых перспективных.

Как были устроены U-образные, плоские и «треугольные» патроны? Почему некоторые, казалось бы, очевидные инженерные решения не удается внедрить более полувека? Ответы на эти вопросы, фотографии и чертежи некогда секретных военных разработок — под катом.
Читать дальше →
Всего голосов 124: ↑122 и ↓2+120
Комментарии114

Как мы обеспечивали рост Ситимобила

Время на прочтение7 мин
Количество просмотров12K
image

Меня зовут Иван, я руководитель серверной разработки в Ситимобил. Сегодня я расскажу о том, что собой представляет эта самая серверная разработка, с какими проблемами мы сталкивались и как планируем развиваться.
Читать дальше →
Всего голосов 42: ↑40 и ↓2+38
Комментарии16

Плагин для мониторинга K8s-приложений DevOpsProdigy KubeGraf v1.3.0: новый релиз и новые фичи

Время на прочтение2 мин
Количество просмотров3.1K
На этой неделе состоялся релиз новой версии нашего плагина для Grafana, предназначенного для мониторинга kubernetes-приложений DevOpsProdigy KubeGraf v1.3.0.

Небольшой дисклеймер: данный плагин является переработанной версией официального плагина от Grafana (который не поддерживается уже около двух лет). Мы разрабатываем его уже больше полугода. Ключевыми особенностями плагина являются:

  • интеграция с k8s-api для построения карты ваших приложений, сгруппированных по неймспейсам / нодам-кластера + привязка к конкретным pod’ам/сервисам;
  • сводная страница со всеми ошибками / предупреждениями о работе нод и приложений кластера;
  • возможность инсталляции плагина с облачными k8s-провайдерами через авторизацию с помощью bearer-tokena.

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

Использование RabbitMQ вместе с MonsterMQ часть 4

Время на прочтение4 мин
Количество просмотров1.1K
В предыдущей статье мы написали простую систему логгирования. В которой мы отсылали сообщения сразу нескольким получателям. В этой статье мы добавим в неё новую функцию, которая позволит получателям получать только определённое подмножество сообщений. Благодаря этому мы сможем, например, отправлять только критические сообщения в лог-файл, в то же время выводя все отосланные сообщения в окно терминала.
Читать дальше →
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Борьба с утечками памяти в веб-приложениях

Время на прочтение13 мин
Количество просмотров14K
Когда мы перешли от разработки веб-сайтов, страницы которых формируются на сервере, к созданию одностраничных веб-приложений, которые рендерятся на клиенте, мы приняли определённые правила игры. Одно из них — аккуратное обращение с ресурсами на устройстве пользователя. Это значит — не блокировать главный поток, не «раскручивать» вентилятор ноутбука, не сажать батарею телефона. Мы обменяли улучшение интерактивности веб-проектов, и то, что их поведение стало больше похоже на поведение обычных приложений, на новый класс проблем, которых не существовало в мире серверного рендеринга.


Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии2

Как избежать простоя в работе Kubernetes-кластера при помощи PodDisruptionBudgets

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


Защита pod’а от выселения при помощи Pod Disruption Budgets в Kubernetes


Это четвертая и заключительная часть нашего пути (прим. пер. — ссылка на первую статью) для достижения нулевого времени простоя при обновлении Kubernetes-кластера. В предыдущих двух частях мы фокусировались на том, как корректно выключить существующие pod’ы в кластере. Мы описали как использовать хуки preStop для корректного выключения pod’ов и почему важно добавлять задержку в процесс удаления, чтобы подождать, пока процесс удаления pod’а применится для всего кластера. Это поможет в отключении одного pod’а, но не защитит нас от выключения настолько большого количества pod’ов, что наш сервис не сможет функционировать. В этой статье мы будем использовать PodDisruptionBudgets (или PDB), для уменьшения этого риска.

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

Как фирма из Эйндховена стала монополистом на рынке современного оборудования для производства микросхем

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

Степпер ASML: ключевое звено в производстве микросхем. На нём производится засветка фоторезиста через маску, как в фотоувеличителе. Стоимость прибора около $170 млн

У всех на слуху компании Intel, Samsung и TSMC — три крупнейших в мире производителя микросхем (последняя выполняет заказы для Apple и AMD).

Однако мало кто слышал об ASML — скромной компании в пригороде Эйндховена, пятого по величине города Нидерландов. Но если посмотреть, эта фирма играет ключевую роль в микроэлектронной промышленности. Это единственный в мире производитель степперов для фотолитографии в глубоком ультрафиолете (EUV), пишет издание The Economist.
Всего голосов 55: ↑53 и ↓2+51
Комментарии111

Лучшие комменты в исходном коде

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

Привет, хабровчане. Я здесь писал еще не очень много, но успел попробовать несколько форматов статей. Здесь были интервью с некоторыми IT специалистами из компании в которой я работаю, переводы, гайды… Что-то зашло, что-то нет. И вот, сегодня я решил попробовать новый для себя формат.


Читать дальше →
Всего голосов 58: ↑46 и ↓12+34
Комментарии51

Особенности сборки и доставки iOS-приложений

Время на прочтение8 мин
Количество просмотров18K
В этой статье Максим Шестаков, DevOps Engineer в студии Plarium Krasnodar, делится опытом сборки и доставки пользователям приложений для iOS, который накопился в процессе отладки CI/CD.

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

Kubernetes в духе пиратства: наш путь к микросервисам и готовый шаблон для внедрения

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


Привет, я Юрий Буйлов, занимаюсь разработкой в CarPrice, а также внедряю практики DevOps, микросервисы и Kubernetes. Хочу рассказать про Kubernetes в духе пиратства — только не про управление большим красивым кораблем на парусах, а, скорее, про флот маленьких неприглядных рыбацких лодочек, местами ржавых, но очень быстрых, шустрых и опасных.

Будет интересно тем, кто разрабатывает или переводит инфраструктуру на микросервисы, внедряет DevOps поверх Kubernetes и всячески идет в cloud native. Расскажу про наш путь, в конце статьи поделюсь нашими наработками окружения для микросервисов — дам ссылку на шаблон, который будет удобен для разработчиков и тестировщиков.

Эта статья — по видео выступления на конференции @Kubernetes Conference by Mail.ru Cloud Solutions, если не хотите читать, можно посмотреть.
Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии2

Мотор! или Что такое игровая физика

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


Разработчикам при создании игры приходится искать баланс не только в механиках, но и в физике. Реализм или аркада? В общем-то, кому что нравится. Главное — фан и удовольствие. Нужно создать фундаментальные законы своего мира, и объяснить, что возможность ходить по потолку — механика, а не баг.

Насколько сложной должна быть игровая физика, какие виды бывают и на какие хитрости идут разработчики при ее реализации — в переводе под катом.
Всего голосов 32: ↑31 и ↓1+30
Комментарии22

Как получать 100 тысяч за код. Полное руководство для начинающих

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

Сохраните в закладки сейчас, скажите спасибо через год. В конце каждого этапа — ссылки для внеклассного чтения.


Что нужно знать, чтобы получать зарплату 100 тысяч

1. Познакомьтесь с веб-разработкой


Ситуация на 1 этапе

Продолжительность этапа: 1 месяц.


Что изучить на этом этапе.


  1. Структуру HTML.
  2. Отличия фронтенда и бэкенда.
  3. Разметку и оформление текста.
  4. Как размечать страницу по макету.
  5. Как ставить ссылки и вставлять изображения.
  6. Основы CSS — правила, селекторы, свойства и каскадирование.
  7. Хотя бы немного понимать, как работает и где применяется JavaScript.

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


Ещё 7 шагов
Всего голосов 52: ↑30 и ↓22+8
Комментарии91
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность