Search
Write a publication
Pull to refresh
0
0
Send message

Обучаемся самостоятельно: подборка видеокурсов по Computer Science

Reading time11 min
Views131K
image

Содержание


  1. Введение в Computer Science
  2. Структуры данных и Алгоритмы
  3. Системное программирование
  4. Распределенные системы
  5. Базы данных
  6. Объектно-ориентированный дизайн и разработка софта
  7. Искусственный интеллект
  8. Машинное обучение
  9. Веб-разработка и интернет-технологии
  10. Concurrency
  11. Компьютерные сети
  12. Разработка мобильных приложений
  13. Математика для программистов
  14. Теория информатики и языки программирования
  15. Архитектура компьютера
  16. Безопасность
  17. Компьютерная графика
  18. Работа с изображениями и компьютерное зрение
  19. Интерфейс Человек-Компьютер
  20. Вычислительная биология
  21. Прочее

Управление микроклиматом на Arduino

Reading time4 min
Views79K
В последнее время на Хабре появилась масса постов про построение мониторов качества воздуха. При этом ни одной попытки управления качеством воздуха не нашел, а ведь как только мы переходим от пассивного наблюдения к активному управлению — возникает масса интересных проблем и решений. Своими скромными наработками в этой области и хочу поделиться.

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

Задача: «Осушить» гараж.

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

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

Консолька в роботе на Ардуине

Reading time10 min
Views12K
Переслать роботу на Ардуине несколько байт через вайфай, блютус, последовательный порт или любой другой канал связи в виде команды, а потом принять несколько байт в качестве ответа труда не составляет: достаточно скачать скетч с примером обмена данными «здравствуй мир» и вставить в него несколько строк своего кода, который будет выполнять желаемые действия.

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

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

Исходная задача: упростить процесс создания прошивки для роботов, которые будут работать в режиме «вопрос-ответ». Главный скетч должен содержать полезный код (что, собственно, должен делать робот) и минимальное количество вспомогательных конструкций. Все вспомогательные транспортно-протокольные блоки окуклить в библиотеку и вынести за пределы внимания инженера.

В качестве побочного эффекта получилась своеобразная командная строка, работающая внутри Ардуины, если подключиться к ней через монитор последовательного порта и отправлять команды вручную:

image

Сигнализация для холодильника. Не жизнь, а «малина» c RaspberryPi 3

Reading time11 min
Views21K
Запылилась за месяц у меня на полке Raspberry Pi 3 со встроенным Wi-Fi. Ресурсов процессора и объема памяти уже достаточно для запуска ресурсоемких программ. Как же быстро разработать и запустить на ней свою программу состоящую всего из одного небольшого файла с отправкой фото на почту и веб сервером мониторинга?



Соберем простую систему для охраны холодильника от незаконного проникновения с фото регистрацией и интеграцией в интернет через smtp. Устроим у себя настоящий интернет вещей на кухне!
Читать дальше →

«Хардкор» и его технологии

Reading time10 min
Views36K
Главного героя реанимируют в помещениях научно-фантастической лаборатории. На экране дорогая аниматроника создаёт иллюзию того, что человека собирают по частям. Персонаж не помнит ничего, но приводящая его в чувство красотка представляется женой. За этим следуют её похищение, демонстрация отрицательных персонажей, постановка цели и череда кровавых сцен с большой долей насилия.

В принципе, подобное вполне могло быть боевиком конца восьмидесятых за авторством Пола Верховена. Киборги были в «Робокопе», потерянные воспоминания — в «Вспомнить всё». Разница с «Хардкором» лишь в том, что всё происходит с точки зрения главного героя. Все прыжки, удары и перестрелки выглядят на экране так, будто зритель смотрит глазами главного героя и действует его руками.

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


JetBrains Night в Москве. Видео. Kotlin как первый шаг к JVM

Reading time1 min
Views7.4K
29 сентября в Москве прошла мини-конференция JetBrains Night: 7 часов разработчики из JetBrains рассказывали разработчикам из других компаний о том, что компания делает, зачем, и что будет делать дальше, а потом отвечали на вопросы, обсуждали общие проблемы и вообще делились опытом (т.е. слушали, как разработчики из других компаний рассказывают им о том, что они делают и почему им удобно или пока еще не очень удобно делать это с помощью того, что делает JetBrains).

На Хабре мы публикуем видео всех докладов, по одному на пост, чтобы можно было в комментариях обсудить то, что не успели обсудить на JetBrains Night, особенно с теми, кто не смог приехать лично.

Сегодня — видео доклада Дмитрия Жемерова, ведущего разработчика в команде Kotlin. Встречайте, Дмитрий Жемеров, Kotlin как первый шаг к JVM:

Нюансы эксплуатации лазеров на недорогих DIY CNC machine (ЧПУ станки) и 3D-принтерах

Reading time2 min
Views29K
Привет всем, кто увлекается гравировкой и резкой с помощью полупроводниковых лазеров!

Уже второй год я гравирую и режу с помощью лазерных диодов. Предвосхищая комментарии, сразу скажу, что это не CO2-лазеры мощностью от 25 Вт, а лазерные диоды с эффективной мощностью до 10 Вт. Поэтому входной билет на них ниже. Я накопил опыт использования разных китайских граверов (об этом здесь), с диодами разной мощности (от 0.3 до 5.6 Вт), и самое главное побывал в разных ситуациях в процессе эксплуатации всего перечисленного. Сейчас хочу поделиться ситуациями, чтобы вы избежали ошибок с нежелательными последствиями.

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


50 оттенков Go: ловушки, подводные камни и распространённые ошибки новичков

Reading time44 min
Views238K


Go — простой и забавный язык. Но в нём, как и в любых других языках, есть свои подводные камни. И во многих из них сам Go не виноват. Одни — это естественное следствие прихода программистов из других языков, другие возникают из-за ложных представлений и нехватки подробностей. Если вы найдёте время и почитаете официальные спецификации, вики, почтовые рассылки, публикации в блогах и исходный код, то многие из подводных камней станут для вас очевидны. Но далеко не каждый так начинает, и это нормально. Если вы новичок в Go, статья поможет сэкономить немало часов, которые вы бы потратили на отладку кода. Мы будем рассматривать версии Go 1.5 и ниже.
Читать дальше →

Rust в деталях: пишем масштабируемый чат с нуля, часть 1

Reading time31 min
Views68K

Часть 1: Реализуем WebSocket. Введение.


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

В первой части мы рассмотрим начальную настройку окружения и реализацию простейшего WebSocket-сервера. Чтобы понять технические детали статьи вам не потребуется опыта работы с языком Rust, хотя знание основ системных API (POSIX) и C/C++ лишним не будет. Прежде чем начинать чтение, заготовьте немного времени (и кофе) — статья описывает все максимально подробно и поэтому довольно длинная.

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

IoT за копейки: делаем устройство с веб-интерфейсом

Reading time6 min
Views50K

Автор: Николай Хабаров, Senior Embedded Developer, DataArt

В этой статье мы расскажем, как создать собственное устройство с веб-интерфейсом в домашней сети, используя новейшую версию 0.5 прошивки DeviceHive для микросхемы ESP8266. Но для начала, давайте разберем, что нового появилось в самой прошивке: основные нововведения связаны с возможностью автономной работы в локальной сети.

Беспроводная отладка STM32

Reading time3 min
Views11K
Хочу рассказать о необычном использовании ESP8266 в качестве посредника между STM32 и openOCD. У этого способа довольно много недостатков и его применение может быть вызвано только невозможностью использования обычного (проводного) средства отладки.

Плюс у этого способа один и он очевиден, поэтому перейду сразу к недостаткам:

  1. Требуется патчить openOCD
  2. Необходимо изменить прошивку в ESP8266
  3. Низкая скорость работы
Если все еще интересно

Руководство по созданию механических щупальцев в домашних условиях, часть 3

Reading time6 min
Views11K

Часть 1
Часть 2

В последней части я опишу все инструменты и техники для финальной сборки щупальцев. Как и обещалось, в посте присутствуют бонусы.

» Файлы-схемы.

1. Всемогущий список материалов
2. Векторные рисунки для лазерного резака.
a. Файлы DXF со сдвигом в 0,003 "
b. Оригинальные файлы DFX
3. STL-модели для 3D принтера
4. Оригинальные CAD-модели щупалец
5. Оригинальные CAD-модели контроллера

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

Обзор платформы для разработчиков ST Nucleo на примере Nucleo-F401RE

Reading time5 min
Views89K
Оценочные платы ST Nucleo:

image

Это открытая, недорогая и легко расширяемая отладочная платформа для разработки с широким выбором специальных плат расширения, для всей линейки 32-х битных микроконтроллеров STM32 архитектуры ARM Cortex-M3 и Cortex-M4.

image

Платы «ST Nucleo» дают возможность выбирать из различных сочетаний производительность, энергопотребление, и архитектурные особенности микроконтроллера. Платформа позволяет быстро, удобно и легко изучить особенности архитектуры и программирования микроконтроллера, опробовать свои идеи, создать прототипы с любым микроконтроллером семейства STM32.
Читать дальше →

Несколько Gradle фишек для вашего Android приложения

Reading time4 min
Views20K


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

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

Выключатель Gira + Z-Wave. 4-кнопочный радио выключатель на базе Z-Uno

Reading time5 min
Views14K


Какие задачи решает радио выключатель:

  • В комнате с готовым ремонтом переместили мебель, шкафом закрыли выключатель
  • На этапе ремонта не продумали удобный выключатель около кровати
  • В доме из бруса не эстетично тянуть наружную проводку, требуются радио выключатели, но с конкретным дизайном
  • Интеграция с существующей системой автоматизации

На данный момент существуют Z-Wave выключатели на батарейках, например Z-Wave.Me Wall Controller, но эти выключатели идут с определенным дизайном клавиш. Если вы хотите использовать выключатели Legrand, Gira и др., то тут на помощь приходит Z-Wave плата Z-Uno.

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

Протокол Z-Wave становится открытым

Reading time3 min
Views20K
Недавно были опубликованы в открытом доступе спецификации протокола Z-Wave, одного из самых популярных протоколов в домашней автоматизации. Нет, это не утечка, а осознанный шаг компании Sigma Designs, владельца протокола Z-Wave. На сегодняшний день Z-Wave используется внутри десятков миллионов умных домов, и открытие спецификации стандарта явно пойдёт на пользу популярности Z-Wave.


Давайте разберёмся, что же они там открыли...

Умный дом или игрушка для мужчин: контроль электричества

Reading time7 min
Views49K
Вслед за статёй о контроле температуры, хочется еще немного рассказать о контроле электричества. Конечно, его интереснее контролировать, когда у Вас 3 фазы.

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

Автор статьи не является электриком и не претендует на профессиональную подачу информации. Хотя с ПУЭ и оборудованием заземляющего контура пришлось плотно ознакомиться.

В моем случае (так уж вышло), сделана не совсем правильная схема TN-C-S, я разбил PEN на PE и N уже после счетчика (он на опоре). Но, несмотря на это, все же очень интересно, куда и как ходит электричество по 3-м фазам и 5 проводам. Эту систему можно даже использовать как учебное пособие для начинающих, наблюдая за поведением нуля при загрузке разных фаз. В частности, интересно, что в нулевом проводе всегда есть напряжение (относительно земли). Думаю, в садоводстве, а также в квартирах, полного нуля на рабочем нулевом проводнике вообще не может быть. Соответственно, с нуля в контур заземления практически всегда уходит часть электричества. Начинаешь понимать, что зануление в квартирах и на садовых участках опасно для жизни.



Подробнее тут

Умный дом или игрушка для мужчин: контроль температур

Reading time6 min
Views40K
Хотел продолжить цикл статей про умный дом выбором системы отопления, т.к. впереди зима, и опрос в одной из предыдущих моих статей показал, что 32% читателей интересна эта тема. Но, подготовив статью, задумался, что сначала нужно договориться о базовых вещах, таких как контроль температур, как он устроен, с какой точностью и скоростью его следует вести, а также контроль электричества и зачем он нужен.

Контроль температур в загородном доме точно нужен тем, кто часто приезжает туда по выходным и праздникам. Также тем, кто не опускает там температуру ниже +5°C. А нужен ли он тем, кто постоянно там проживает или тем, у кого есть возможность поддержания там температуры в районе +20°C?

На вопрос, нужен ли вам умный дом, часто получаешь ответ: у меня котел, температура постоянная, живу в доме постоянно, зачем мне умный дом?

И правда, думаешь, зачем ему еще что-то? Но в глубине сознания гложет мысль, что не может котел с теплыми полами и/или радиаторами дать постоянную температуру в доме из-за высокой инерции. Но ведь человек же говорит, что температура постоянная и нет оснований не доверять ему. Ведь он смотрит на метеостанцию, по его словам. Как тут не поверить?



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

Дешевая STM32 плата + Arduino IDE UPD 17.08.2017

Reading time7 min
Views389K
image

Хотите прокачать ваши Arduino проекты? Заставить их работать быстрее, измерения и регулировку сделать точнее, ну и добавить баги(с новыми девайсами они неизбежны). Тогда эта статья для Вас.

Arduino тема всё больше захватывает умы человечества, но рано или поздно мы встречаемся с тем, что нам чего-то не хватает, например бюджета/размеров/пиновпортов/разрядности/производительности… Как говорил один мудрый человек — «Кто хочет, тот ищет возможности, кто не хочет — ищет причины».

Хорошие люди это понимают, и потихоньку начинают приобщать STM32 к ардуино теме, ибо восьмибитные AVR микроконтроллеры, на которых основано немало ардуино плат, не всегда могут справиться с поставленными задачами.

Краткое изложение данной статьи в видео формате:


Тыц

Краткий обзор производителей расходных материалов для FDM 3D-принтеров

Reading time7 min
Views52K

Вместо предисловия


На сегодняшний день развитие технологий 3D-печати сделало возможным не только коммерческое применение 3d принтеров, но и приобретение их частными лицами для домашнего использования. Многие китайские, европейские и американские компании предлагают достаточно широкий спектр принтеров, ценами от нескольких десятков тысяч до миллионов рублей. Я уверен, что пройдет не так много времени, и 3D-принтеры появятся почти в каждом доме! Уже сегодня многие используют домашние 3D-принтеры для эффективного воплощения своих идей в реальность.
На сегодняшний день существует множество технологий 3д печати, и Вы можете найти принтер для любых своих целей, однако самое широкое распространение на сегодняшний день получила технология послойного нанесения расплавленной пластиковой нити (FDM). Такие принтеры можно встретить практически повсеместно, где говорится о «3D-печати». Метод отличает относительная простота и дешевизна, как принтеров, так и расходных материалов для них. Ниже мы поговорим о расходных материалах для FDM 3D-принтеров.
Читать дальше →

Information

Rating
Does not participate
Location
Минская обл., Беларусь
Date of birth
Registered
Activity

Specialization

Backend Developer, Application Developer
Senior
Git
SQL
OOP
Java
Docker
Spring Boot
Java EE
Intellij IDEA
Hibernate
Java Spring Framework