Pull to refresh
0
0
Send message

10 советов схемотехнику

Reading time 20 min
Views 114K
Недавно один мой знакомый, начавший интересоваться электроникой и схемотехникой, обратился ко мне с просьбой дать ему какие-то практические советы по разработке электронных устройств. Поначалу этот вопрос немного озадачил меня: как-то так получилось, что для себя я никогда не выделял какие-то перечни обязательных правил проектирования, всё это было у меня где-то на уровне подсознания. Но этот вопрос послужил хорошим толчком для того, чтобы сесть и сформулировать хотя бы небольшой список таких рекомендаций. Когда все было готово, я подумал, что, возможно, это будет интересно почитать кому-то еще, таким образом и получилась данная статья.


Читать дальше →
Total votes 212: ↑210 and ↓2 +208
Comments 244

Защита устройств от неправильной подачи полярности питания

Reading time 3 min
Views 211K
image
При проектировании промышленных приборов, к которым предъявляются повышенные требования по надёжности, я не раз сталкивался с проблемой защиты устройства от неправильной полярности подключения питания. Даже опытные монтажники порой умудряются перепутать плюс с минусом. Наверно ещё более остро подобные проблемы стоят в ходе экспериментов начинающих электронщиков. В данной статье рассмотрим простейшие решения проблемы — как традиционные так и редко применяемые на практике методы защиты.
Читать дальше →
Total votes 41: ↑41 and ↓0 +41
Comments 71

Солнечная электростанция на дом 200 м2 своими руками

Reading time 15 min
Views 164K
Частенько в сети проскакивают сообщения о борьбе за экологию, развитие альтернативных источников энергии. Иногда даже проводят репортажи о том, как в заброшенной деревне сделали солнечную электростанцию, чтобы местные жители могли пользоваться благами цивилизации не 2-3 часа в сутки, пока работает генератор, а постоянно. Но это всё как-то далеко от нашей жизни, поэтому я решил на своем примере показать и рассказать, как устроена и как работает солнечная электростанция для частного дома. Расскажу обо всех этапах: от идеи до включения всех приборов, а также поделюсь опытом эксплуатации. Статья получится немаленькая, поэтому кто не любит много букв могут посмотреть ролик. Там я постарался рассказать то же самое, но будет видно, как я все это сам собираю.


Total votes 90: ↑90 and ↓0 +90
Comments 525

UX/UI дизайн новой VS 2019

Reading time 3 min
Views 40K
Мы рады поделиться с вами сегодня тем, что в рамках разработки Visual Studio 2019 мы обновим нашу тему, обновим значок продукта и заставку. Эти изменения в рамках UX/UI дизайна поможет быстрее приступать к работе. Мы бы очень хотели, чтобы вы высказали свое мнение об этих обновлениях. Каждый комментарий влияет на будущий продукт.

В качестве КДПВ у нас сегодня первое изменение: Значок Visual Studio 2017 (слева) и новый значок Visual Studio 2019 (справа)

Эта статья — перевод статьи из нашего Vusial Studio Blog.

Читать дальше →
Total votes 30: ↑17 and ↓13 +4
Comments 105

.NET Standard 2.1

Reading time 2 min
Views 17K
С тех пор как мы выпустили .NET Standard 2.0 около года назад, мы дважды обновили .NET Core 2.1 и готовимся к релизу .NET Core 2.2. Пора бы обновить и Standard: включить некоторые из новых концепций, а также ряд небольших улучшений, которые облегчат вашу жизнь в работе со многими продуктами .NET.

Читать дальше →
Total votes 18: ↑18 and ↓0 +18
Comments 11

Углекислый газ на МКС

Reading time 13 min
Views 59K
В октябре на МКС была установлена новая (принципиально) система регенерации воздуха, которая повысит замкнутость воздушного цикла вдвое.

Реактор Сабатье, вид сверху и снизу

Однако если с технологическим прогрессом все будет хорошо, то этот вариант просуществует недолго, — и нас ждет откат к системе предыдущего типа. А вот если прогресс будет буксовать, то новая система станет золотым стандартом на десятилетия.
Почему все так перепуталось?
Total votes 141: ↑141 and ↓0 +141
Comments 124

F# меня испортил, или почему я больше не хочу писать на C#

Reading time 13 min
Views 65K

Раньше я очень любил C#


Это был мой основной язык программирования, и каждый раз, когда я сравнивал его с другими, я радовался тому, что в свое время случайно выбрал именно его. Python и Javascript сразу проигрывают динамической типизацией (если к джаваскрипту понятие типизации вообще имеет смысл применять), Java уступает дженериками, отстутствием ивентов, value-типов, вытекающей из этого карусели с разделением примитивов и объектов на два лагеря и зеркальными классами-обертками вроде Integer, отсутствием пропертей и так далее. Одним словом — C# клевый.


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


А потом я из любопытства попробовал F#.

Читать дальше →
Total votes 82: ↑79 and ↓3 +76
Comments 327

Лучший Способ Программирования (Better way To Code)

Reading time 16 min
Views 35K
От переводчика:
Я не являюсь ни профессиональным программистом ни профессиональным переводчиком, но появление описанного в статье инструмента от создателя популярной библиотеки D3.js произвело на меня сильное впечатление.

С удивлением обнаружил, что на Хабре, да и вообще в русскоязычном интернете, более года несправедливо игнорируют данный инструмент. Поэтому решил, что просто обязан внести свой вклад в развитие искусства программирования, в JavaScript в частности.

Знакомьтесь, d3.express, интегрированная исследовательская среда.
(с 31 января 2018г d3.express зовется Observable и живет на beta.observablehq.com)

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

Последние лет восемь я разрабатывал инструменты для визуализации информации. Самым удачным результатом моих усилий стала js-библиотека D3. Однако опасность столь долгой разработки инструментария в том, что ты забываешь зачем ты это делаешь: инструмент становится самоцелью, польза от его применения уходит на второй план.

Предназначение инструмента визуализации — построение визуализаций. Но в чем же цель визуализации? Слово Бену Шнейдерману(Per Ben Shneiderman):
«Результат визуализации — это
Читать дальше →
Total votes 50: ↑46 and ↓4 +42
Comments 20

Как наконец-то начать писать тесты и не пожалеть об этом

Reading time 19 min
Views 37K


Приходя на новый проект, я регулярно сталкиваюсь с одной из следующих ситуаций:

  1. Тестов нет совсем.
  2. Тестов мало, их редко пишут и не запускают на постоянной основе.
  3. Тесты присутствуют и включены в CI (Continuous Integration), но приносят больше вреда, чем пользы.

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

Что можно сделать, чтобы изменить сложившуюся ситуацию? Идея использования тестов не нова. При этом большинство туториалов напоминают знаменитую картинку про то, как нарисовать сову: подключаем JUnit, пишем первый тест, используем первый мок — и вперед! Такие статьи не отвечают на вопросы о том, какие тесты нужно писать, на что стоит обращать внимание и как со всем этим жить. Отсюда и родилась идея данной статьи. Я постарался кратко обобщить свой опыт внедрения тестов в разных проектах, чтобы облегчить этот путь для всех желающих.
Читать дальше →
Total votes 25: ↑23 and ↓2 +21
Comments 43

Что происходит за кулисами С#: основы работы со стеком

Reading time 6 min
Views 14K
Предлагаю посмотреть все то, что стоит за простыми строками инициализации объектов, вызова методов и передачи параметров. Ну и, разумеется, использование этих сведений на практике — вычитывание стека вызывающего метода.

Дисклеймер


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

Весь код, кроющийся за высокоуровневым, представлен для режима отладки, именно он показывают концептуальную основу. Также все изложенное рассмотрено для 32 битной платформы. JIT оптимизации — это отдельная и большая тема, которая здесь рассматриваться не будет.

Также хотелось бы предупредить, что данная статья не содержит материал, который стоит применять в реальных проектах.

Начинаем с теории


Любой код в конечном итоге становится набором машинных комманд. Наиболее понятно их представление в виде инструкций языка Ассемблера, прямо соответсвующих одной (или нескольким) машинным инструкциям.

Читать дальше →
Total votes 22: ↑22 and ↓0 +22
Comments 11

Разворачиваем и демонизируем ASP.NET Core приложение под Linux в виде фонового сервиса

Reading time 5 min
Views 73K
Доброго дня, господа. Сегодня мы затронем тему, за обсуждение которой ещё два года назад сожгли бы на костре — запуск ASP.NET приложения под linux. В данной статье будет использоваться Ubuntu 16.04
Читать дальше →
Total votes 24: ↑21 and ↓3 +18
Comments 26

Очередные умные часы своими руками

Reading time 18 min
Views 89K


Вдохновившись некоторое время назад статьей «Умные часы своими руками за 1500р.», я тоже решил попробовать сделать подобный девайс.


Эта статья не позиционируется как руководство к действию или инструкция, скорее как указание на ключевые моменты, с которыми мне пришлось столкнуться. Быть может, кому-то она послужит источником вдохновения и полезной информации.


Подбор компонентов, разводка платы, пайка в суровых условиях, 3D-печатный корпус и JavaScript на часах — под катом. Welcome!

Total votes 145: ↑144 and ↓1 +143
Comments 214

Солнечная батарея на балконе, опыт использования

Reading time 5 min
Views 106K
Привет Geektimes. Данная статья является продолжением предыдущей части, про туристическое зарядное устройство "Anker Solar 21Вт". Идея использования солнечной батареи для зарядки разных гаджетов мне показалась весьма перспективной, но конечно, 21Вт в качестве универсальной зарядки мало — хочется иметь возможность заряда не только в солнечную погоду, а для этого нужен запас по мощности. Поэтому были куплены полноценные солнечные панели и начаты эксперименты с ними.


Что из этого получилось, подробности под катом.
Читать дальше →
Total votes 42: ↑36 and ↓6 +30
Comments 153

Бесплатное программное обеспечение для IP-камер

Reading time 5 min
Views 691K
За 11 лет работы на рынке видеонаблюдения, нам пришлось столкнутся с множеством программ для управления системами видеонаблюдения, с какими-то мы работали, какие то тестировали, какие хотели потестировать, но так и не успели этого сделать, про какое-то просто читали в обзорах подобных тому, что читаете вы.

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

Все программное обеспечение разбито на три группы:

  • Программное с открытым исходным кодом
  • Бесплатное программное обеспечение с ограниченным функционалом
  • Программное обеспечение бесплатное в течении пробного периода

image
Читать дальше →
Total votes 40: ↑39 and ↓1 +38
Comments 30

История мировых эпидемий, часть 1

Reading time 8 min
Views 83K
Эпидемия (греч. ἐπιδημία — повальная болезнь, от ἐπι — на, среди и δῆμος — народ) в переводе с греческого означает «повальная болезнь среди народа». Так с давних времён называют заболевания, которые прогрессируют во времени и пространстве и превышают обычный уровень заболеваемости на данной территории. Но мы сегодня поговорим о пандемиях — таких эпидемиях, которые распространяются на территории целой страны, нескольких стран или иногда даже за пределы одного континента. Это болезни, принявшие массовый характер и поражающие значительную долю населения.


Читать дальше →
Total votes 36: ↑34 and ↓2 +32
Comments 163

История мировых эпидемий, часть 2

Reading time 9 min
Views 68K
В первой части Истории мировых эпидемий мы поговорили о чуме и оспе. Сегодня мы будем вспоминать те ужасы, которые нам «подарили» холера — её вспышки наблюдались 7 раз менее чем за 200 лет, и тиф — только во время Первой мировой в России и Польше от него умерли 3,5 миллиона человек.


Иллюстрация 1866 года. Источник
Читать дальше →
Total votes 30: ↑28 and ↓2 +26
Comments 21

Сенсорная кнопка с подсветкой из Китая для DIY поделок

Reading time 1 min
Views 36K


Девай-с, приобрел на Китайском сайте, так ради интереса. Сенсорная кнопка представляет собой полностью законченное устройство, построенное на специализированной микросхеме фирмы atmel AT42QT1012. Представляющая из себя одноканальный емкостной сенсор.
Читать дальше →
Total votes 23: ↑18 and ↓5 +13
Comments 32

Управление кондиционером через Wi-Fi

Reading time 2 min
Views 35K
Тема уже неоднократно поднималась, и даже есть варианты решения, но я Вам расскажу о еще одном. Просматривая одну из популярных онлайн площадок я наткнулся на устройство, до этого мне не известное, Broadlink RM Mini 3. Цена на тот момент была 9,90 $. Что значительно дешевле аналогов. Но были и свои недостатки о которых ниже.
Читать дальше →
Total votes 18: ↑17 and ↓1 +16
Comments 61

Перехват функций .NET/CLR

Reading time 16 min
Views 19K
Иногда при разработке программного обеспечения требуется встроить дополнительную функциональность в уже существующие приложения без модификации исходного текста приложений. Более того, зачастую сами приложения существуют только в скомпилированном бинарном виде без наличия исходного текста. Широко известным способом решения указанной задачи является т.н. “сплайсинг” – метод перехвата функций путем изменения кода целевой функции. Обычно при сплайсинге первые байты целевой функции перемещаются по другим адресам, а на их исходное место записывается команда безусловного перехода (jmp) на замещающую функцию. Поскольку сплайсинг требует низкоуровневых операций с памятью, то он осуществляется с использованием языка ассемблера и С/C++, что также накладывает определенные ограничения на реализацию замещающих функций – они обычно также реализованы на С/C++ (реже на ассемблере).

Метод сплайсинга для перехвата API-функций в Windows широко описан в Интернете и в различных литературных источниках. Простота указанного перехвата определяется следующими факторами:
  1. целевая функция является статической – она сразу присутствует в памяти загруженного модуля;
  2. адрес целевой функции легко определить (через таблицу экспорта модуля или функцию GetProcAddress).

Реализация замещающих функций на C/C++ при перехвате API-функций является оптимальным вариантом, поскольку Windows API реализовано, как известно, на языке C, и замещающие функции могут оперировать теми же понятиями, что и заменяемые.
Читать дальше →
Total votes 48: ↑48 and ↓0 +48
Comments 26

Климатическая система в квартире своими руками

Reading time 21 min
Views 107K
Кто-то в детстве мечтает изобрести лекарство от рака, кто-то — стать космонавтом или владельцем свечного заводика. А я мечтал о том, что у меня появится климатическая система, и в квартире, наконец, не будет душно, вечная простуда от сквозняков исчезнет, а горло перестанет першить от сухости. И теперь мечта исполнена!

Примерно с декабря 2015 по июнь 2016 года я читал форумы, катался по строительным магазинам, собирал систему в квартире и на балконе, паял контроллер и писал прошивку — и добился своего.

В этой статье я собираюсь похвастаться результатом и рассказать, как устроена моя установка. Полностью описать процесс сборки в одной статье невозможно, но, надеюсь, краткое описание окажется интересным для тех, кто хочет дышать свежим тёплым воздухом. Если кратко, то моя установка устроена так:

Схема установки
А если чуть подробнее, то...
Total votes 87: ↑84 and ↓3 +81
Comments 290

Information

Rating
Does not participate
Registered
Activity