Pull to refresh
0
0
Chilos Ohh @chilos

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

Send message

Датчик движения для переключения радиостанций — часть II

Reading time7 min
Views21K
Привет, Хабр! Сегодня — продолжение импровизированного цикла подробных постов для начинающих. В прошлом посте мы взяли готовый набор радиоконструктора с Ардуино и ультразвуковой дальномер для того, чтобы не только совместить их, и получить возможность настраивать радио «одной левой», но также чтобы разобраться в «Ардуиностроении» с нуля. Если у вас есть только Ардуино и сам датчик, вы тоже можете попробовать кое-что собрать из этого поста, но, видимо, остановитесь, после того, как настроите неплохую такую ультразвуковую линейку — что тоже хорошо. Мне захотелось пойти дальше и посадить датчик на плату расширения для создания готового устройства. Вот как это у меня вышло.


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

Управление громкостью многозонного усилителя при помощи приложения для Android и Arduino

Reading time7 min
Views30K

Прежде всего хочу поблагодарить 470 читателей проголосовавших за продолжение в статье про многозонный усилитель.

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

Так родилась идея регулятора, который всегда с тобой в кармане, т.е. приложения для телефона которое может управлять усилителем через Wi-Fi сеть.
Подробности

Учебник по языку SQL (DDL, DML) на примере диалекта MS SQL Server. Часть первая

Reading time29 min
Views860K

О чем данный учебник


Данный учебник представляет собой что-то типа «штампа моей памяти» по языку SQL (DDL, DML), т.е. это информация, которая накопилась по ходу профессиональной деятельности и постоянно хранится в моей голове. Это для меня достаточный минимум, который применяется при работе с базами данных наиболее часто. Если встает необходимость применять более полные конструкции SQL, то я обычно обращаюсь за помощью в библиотеку MSDN расположенную в интернет. На мой взгляд, удержать все в голове очень сложно, да и нет особой необходимости в этом. Но знать основные конструкции очень полезно, т.к. они применимы практически в таком же виде во многих реляционных базах данных, таких как Oracle, MySQL, Firebird. Отличия в основном состоят в типах данных, которые могут отличаться в деталях. Основных конструкций языка SQL не так много, и при постоянной практике они быстро запоминаются. Например, для создания объектов (таблиц, ограничений, индексов и т.п.) достаточно иметь под рукой текстовый редактор среды (IDE) для работы с базой данных, и нет надобности изучать визуальный инструментарий заточенный для работы с конкретным типом баз данных (MS SQL, Oracle, MySQL, Firebird, …). Это удобно и тем, что весь текст находится перед глазами, и не нужно бегать по многочисленным вкладкам для того чтобы создать, например, индекс или ограничение. При постоянной работе с базой данных, создать, изменить, а особенно пересоздать объект при помощи скриптов получается в разы быстрее, чем если это делать в визуальном режиме. Так же в скриптовом режиме (соответственно, при должной аккуратности), проще задавать и контролировать правила наименования объектов (мое субъективное мнение). К тому же скрипты удобно использовать в случае, когда изменения, делаемые в одной базе данных (например, тестовой), необходимо перенести в таком же виде в другую базу (продуктивную).
Читать дальше →

Класс дедлоков про дедлок классов

Reading time5 min
Views39K


Знаете ли вы, как избежать дедлоков в своей программе? Да, этому учат, про это спрашивают на собеседованиях… И тем не менее, взаимные блокировки встречаются даже в популярных проектах серьёзных компаний вроде Google. А в Java есть особый класс дедлоков, связанный с инициализацией классов, простите за каламбур. Такие ошибки легко допустить, но трудно поймать, тем более, что сама виртуальная машина вводит программиста в заблуждение.

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

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

Книги по дизайну

Reading time16 min
Views28K
Доброго времени! В этот раз мы здесь опубликуем свои недавно вышедшие книги для творческих людей.

image

1. Скетчи. 50 креативных заданий для дизайнеров. Автор: Уитни Шерман
2. Сожги свое портфолио! То, чему не учат в дизайнерских школах. Автор: Майкл Джанда
3. Я-бренд. Формула успеха. Автор: Марк Эко
Читать дальше →

Material Design: на Луну и обратно

Reading time11 min
Views391K
“Это унылое диалоговое окно действительно нужно?”



В этой статье я изложил главные принципы Material Design и дал советы по их воплощению. Текст написан по следам мастер-класса для разработчиков, который мы, Роботы, устраивали совместно с российским офисом Google (Think Mobile).


Когда-то все продукты Google выглядели по-разному плохо. Даже один продукт на разных платформах выглядел неконсистентно.

Все стало меняться в 2011 году, когда в Google начали усиленно работать над унификацией визуальной части экосистемы своих продуктов и назвали все это Project Kennedy.

При чем тут Кеннеди?
Легенда такова: президент Кеннеди инициировал программу полёта человека на Луну (если верить, что этот полёт когда-либо был). А большой начальник в Google Ларри Пейдж исповедует принцип, что продукты нет смысла улучшать на 10% — они должны быть в 10 раз лучше, чем у конкурентов. Если уж запускать продукт, то сразу на Луну. Вот и здесь было решено круто всё переделать.

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

Как это работает: архитектура тайлового бэкенда карт «Спутника»

Reading time4 min
Views29K
Мы, команда карт «Спутника», разрабатываем карты на основе данных «OpenStreetMap». В этой заметке мы расскажем об архитектуре нашего решения для рендеринга тайлов.


Читать дальше →
12 ...
7

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity