Pull to refresh
8
0
Алексей @uadeveloper

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

Send message

Монитор качества воздуха в помещении

Reading time6 min
Views63K
image

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

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

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

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

Но этого недостаточно. Нужен прибор которым вы могли-бы непосредственно померять качество воздуха в вашем доме. Что бы Вам было понятно и очевидно чем Вы дышите. Как температура на градуснике.
Читать дальше →
Total votes 48: ↑44 and ↓4+40
Comments92

10 вещей, которых вы не знали о Java

Reading time8 min
Views105K
Итак, вы работаете на Java с самого её появления? Вы помните те дни, когда она называлась «Oak», когда про ООП говорили на каждом углу, когда сиплюсплюсники думали, что у Java нет шансов, а апплеты считались крутой штукой?

Держу пари, что вы не знали как минимум половину из того, что я собираюсь вам рассказать. Давайте откроем для себя несколько удивительных фактов о внутренних особенностях Java.
Читать дальше →
Total votes 93: ↑91 and ↓2+89
Comments55

Spring — Hibernate: ассоциация один ко многим

Reading time28 min
Views56K
Продолжаем цикл статей — переводов по Spring и Hibernate, от krams.

Предыдущая статья:
«Spring MVC 3, Аннотации Hibernate, MySQL. Туториал по интеграции».

Введение.
В этом уроке мы познакомимся с использованием отношения один ко многим, используя аннотации Hibernate и Spring MVC 3. Мы будем использовать аннотоцию @OneToMany для указания отношений между нашими объектами. Мы не будем использовать каскадные типы или fetch-стратегии, вместо этого мы воспользуемся стандартными настройками @OneToMany.

Что такое ассоциация один-ко-многим?
Ассоциация один-ко-многим возникает тогда, когда каждой записи в таблице А, соответствует множество записей в таблице Б, но каждая запись в таблице Б имеет лишь одну соответствующую запись в таблице А.

Спецификация нашего приложения.

Приложение является простой CRUD системой управления списком записей. Каждая запись соответствует одному лицу, она содержит персональные данные и данные о кредитной карте. Каждое лицо может владеть несколькими кредитками. Так же мы добавим систему редактирования лиц и кредиток.

Ниже приведены скриншоты из будущего приложения:


Читать дальше →
Total votes 14: ↑10 and ↓4+6
Comments8

Введение в топологические пространства. Программирование конечных топологий на Java

Reading time10 min
Views32K

Введение


Я долго думал о том, чтобы выбрать какой-либо математический объект, интересный не только с точки зрения дискретной математики, но и функционального анализа, и попытаться запрограммировать его.

Этим объектом стали так называемые топологические пространства. Естественно, конечный объём представления объектов в памяти компьютера не позволяет с абсолютной точностью смоделировать имеющиеся в математике топологические пространства, а значит, остаётся довольствоваться конечными топологиями.

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

Но обо всём по порядку.
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments20

Предупреждён — значит, вооружён. Часть 1

Reading time7 min
Views64K

Фотосинтез, пистолет, яйца, хлеб и газировка


Пистолет (пневматический), это не только оружие для поражения цели. У него есть одна общая с человеком черта — выпускать диоксид углерода (он же углекислый газ, двуокись углерода, угольный ангидрид, а также сухой лед в твердом состоянии). Люди не пришли к окончательному выводу об оптимальном количестве углекислого газа: одни считают, что его надо много и без него невозможно существование человека, другие утверждают, что чем его меньше, тем лучше.
Кто рассудит их спор?

image

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

В статье показаны примеры практического использования измерителя уровня углекислого газа МТ8057: изучение фотосинтеза растений и дыхания яиц, исследование обстановки в офисе, и выяснение причины, почему Маяковский пытался искоренить все заседания.
Измеритель испытал шок под дулом пистолета и у стакана газировки, побывал на кухне, в ведре с картофелем и пакете с хлебом, опускался в погреб и прокатился в автомобиле.

Статья получилась объемная и для улучшения восприятия разбита на три части.

Далее: судя по показаниям приборов, больному значительно лучше, его кардиограмма уже выпрямилась
Total votes 44: ↑41 and ↓3+38
Comments47

Spring MVC 3, Аннотации Hibernate, MySQL. Туториал по интеграции

Reading time19 min
Views124K
Не так давно я начал изучать фреймворк Spring и понял, что количество материала на русском языке ограниченно буквально парой стоящих статей. По быстрому пробежав, я захотел сделать что-то более интересное, но с наскоку взять не удалось. Пришлось погуглить по поводу нескольких вопросов касательно взаимодействия Spring и Hibernate. Неожиданно я наткнулся на блог достаточно интересного разработчика Mark Serrano aka krams. Теперь вместе с вами я хотел бы начать цикл статей-переводов, а так же свое обучение в мире Spring.
Spring — Hibernate: ассоциация один ко многим
Приступим…
Читать дальше →
Total votes 19: ↑13 and ↓6+7
Comments11

Несколько интересных особенностей MySQL

Reading time8 min
Views63K
В не очень далеком прошлом мне пришлось покопаться немного в исходном коде MySQL, и разобраться в некоторых аспектах его работы. В ходе работы лопаткой, и эксперимeнтов, я наткнулся на несколько очень интересных особенностей, часть из которых просто забавна, а в случае некоторых бывает очень интересно понять, чем руководствовался программист, который принимал решение сделать именно так.

Начнем с такого интересного типа, как ENUM.

mysql> CREATE TABLE enums(a ENUM('c', 'a', 'b'), b INT, KEY(a));
Query OK, 0 rows affected (0.36 sec)

mysql> INSERT INTO enums VALUES('a', 1), ('b', 1), ('c', 1);
Query OK, 3 rows affected (0.05 sec)
Records: 3  Duplicates: 0  Warnings: 0


Итак, у нас есть таблица, в ней есть два столбца. У первого, a, тип ENUM, у второго, b, INT. В таблице три строки, у всех трех значение b равно 1. Интересно, чему равны минимальный и максимальный элементы в столбце a?

mysql> SELECT MIN(a), MAX(a) FROM enums;
+--------+--------+
| MIN(a) | MAX(a) |
+--------+--------+
| c      | b      |
+--------+--------+
1 row in set (0.00 sec)


Кажется странным, было бы разумно, если бы самым маленьким был 'a', а самым большим — 'c'.
А что если выбрать минимум и максимум только среди тех строк, где b = 1? То есть, среди всех строк?

mysql> SELECT MIN(a), MAX(a) FROM enums WHERE b = 1;
+--------+--------+
| MIN(a) | MAX(a) |
+--------+--------+
| a      | c      |
+--------+--------+
1 row in set (0.00 sec)


Вот так мы заставили MySQL поменять свое мнение о том, как сравнивать поля в ENUM, просто добавив предикат.
Разгадка такого поведения заключается в том, что в первом случае MySQL использует индекс, а во втором нет. Это, конечно, не объясняет, почему MySQL сравнивает ENUMы по разному для сортировки в индексе, и при обычном сравнении.

Второй пример проще и лаконичнее:

mysql> (SELECT * FROM moo LIMIT 1) LIMIT 2;
+------+
| a    |
+------+
|    1 |
|    2 |
+------+
2 rows in set (0.00 sec)


Когда я показал этот запрос своему коллеге, который занимается разработкой парсера SQL, его вопрос был не «почему этот запрос возвращает две строки», а «как надо написать SQL парсер так, чтобы такой запрос был валидным, без того, чтобы написать правило, специально разрешающее такой запрос».

Интересно, что далеко не любой SELECT в скобках сработает, в частности, UNION в скобках — это синтаксическая ошибка:

mysql> (SELECT * FROM moo UNION ALL SELECT * FROM hru) LIMIT 2;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UNION ALL SELECT * FROM hru) LIMIT 2' at line 1


Еще несколько интересных примеров под катом
Читать дальше →
Total votes 113: ↑110 and ↓3+107
Comments95

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

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

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

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

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

Arduino, два датчика DHT22 изнутри и снаружи, релейный модуль на вентилятор и начинаются действительно интересные проблемы.
Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments32

Ардуино на службе здоровья

Reading time10 min
Views119K
В статье описан путь от идеи до создания домашнего портативного анализатора качества воздуха (CO2, влажность, температура, давление).

Вступление


В сети много гуляет разных кошмаров про безжалостную черную плесень, которая убивает людей, а плесень любит влажные помещения. Бороться с плесенью тяжело, но самое первое, за чем нужно следить – это влажность воздуха. Еще о влажности стоит вспомнить с наступлением зимы, так как нагревая холодный воздух мы тем самым понижаем его влажность, а слишком сухой воздух негативно сказывается на слизистых оболочках, резко снижая иммунитет.
Читать дальше →
Total votes 57: ↑52 and ↓5+47
Comments37

Береги зрение, используй f.lux

Reading time1 min
Views448K
Почти четыре года прошло с момента упоминания на Хабре программы f.lux, настоящего лекарства для тех, у кого устают глаза из-за монитора.



Программа изменяет цветовой профиль монитора, в зависимости от времени суток. Ночью глаза меньше устают от тёплых цветовых тонов (3400 K), днём — от холодных (6500 K), которые больше соответствуют дневному свету.
Читать дальше →
Total votes 113: ↑94 and ↓19+75
Comments110

Очень быстрый и эффективный способ расслабления глаз

Reading time4 min
Views414K

Предисловие


imageНе знаю, все ли программисты всесторонне любознательные люди, но я всегда пытаюсь получить фундаментальные знания во всех областях, которые могут быть практически полезны. В то время, когда мне в голову пришла эта идея я изучал анатомию и физиологию по журналам «Тело человека. Снаружи и внутри», ну а по работе я занимался стерео-варио фотографиями (для тех кто не знает — были такие советские календарики с ребристой поверхностью, где картинка либо казалась объемной, либо менялась). Так вот, в один из вечеров мне пришла в голову замечательная идея, которую я на протяжении уже 4х лет использую для поддержания своего зрения.
Обещаю, что эффект почувствуете сразу!
Читать дальше →
Total votes 246: ↑238 and ↓8+230
Comments207

Почему я ушел из Google

Reading time5 min
Views61K
Ну хорошо, я сдаюсь: все хотят знать почему я ушел. А так как ответить каждому отдельно невозможно, вот вам изложение в длинной форме. Прочтите немного (я дойду в кульминации в 3-м абзаце) или прочтите всё. Но начну с предупреждения: здесь нет ни драмы, ни сверхинтересных деталей, ни избиения бывших коллег, и вообще нет ничего, о чем вы не могли бы догадаться сами из того, что ходит в прессе вокруг Google и ее отношения к разработчикам программ и конфиденциальности пользовательских данных. Это просто мой личный рассказ.

Покинуть Google было непростым решением. За время моей работы там я стал довольно страстным поклонником компании. Я выступал на четырех Google Developer Day, на двух Google Test Automation Conferences и был плодовитым участником блога Google Test. Рекрутеры часто просили меня помочь уговорить очень перспективных кандидатов на работу в компании. Меня никто не должен был просить дважды для поддержки Google, и никто более меня не удивился тому, что я не смог это продолжать. На самом деле последние три месяца работы в Google были вихрем отчаяния в тщетной попытке вернуть прошлую страсть.
Читать дальше →
Total votes 396: ↑370 and ↓26+344
Comments442

Привет от NASA: необычная куртка с термометром

Reading time4 min
Views53K
Тема одежды с дополненным функционалом поднималась на Хабре уже несколько раз. Зачастую, такие гаджеты, как майка с барабанами, футболка с зарядкой для телефона, LED-белье, кепка с определением сети Wi-Fi или кроссовки со светодиодами обладают дополнительными возможностями, но скорее являются объектами for fun.

Владение ими не предполагает серьёзного использования встроенного допфункционала. Как правило, такие арт-гаджеты рассчитаны на любителя.

Да, да, именно так я думал, пока не встретил героя своей статьи, вернее героиню =)

Фото работы с tombanwell.blogspot.com
Читать дальше →
Total votes 85: ↑77 and ↓8+69
Comments111

Бюджетный неттоп в качестве HTPC

Reading time5 min
Views60K
У каждого любителя посмотреть хорошее и качественное кино несомненно встает вопрос: как и чем это кино воспроизводить. Сейчас на рынке присутствует огромное количество мультимедийных плееров разной ценовой категории, с разным дизайном, количеством поддерживаемых форматов и других “плюшек” в виде встроенного торрент-клиента и т.д. Но, как правило, достойные плееры выходят за рамки бюджетных устройств и при этом всем они все же не отличаются гибкостью в настройке системы. Но как же тогда поступить? Мы плавно подошли к разговору о HTPC.


Читать дальше →
Total votes 49: ↑44 and ↓5+39
Comments98

Программирование на Android для web разработчика или быстрый старт для самых маленьких. Часть 1

Reading time3 min
Views87K
Доброго времени суток.

Данный hello world ориентирован на публику которая проявляет интерес к данной теме (Android), но страх перед java не позволяет взяться за разработку. Существует возможность создавать приложения для Android на html5 (phonegap), или php (PFA), но полноценное приложение возможно написать только на Java.

О приложении


Приложение которое будет описано умеет следующее:

1. Запуск из «меню приложений» вашего смартфона
2. Регистрация используя удаленный сервер
3. Авторизация
4. Листинг данных получаемых с сервера
Читать дальше →
Total votes 45: ↑28 and ↓17+11
Comments4

Выдуманная история открытия собственного дела с печальным концом

Reading time13 min
Views3.6K
Вечер, пятница. Почему бы не почитать одну историю с печальным концом? На Хабре ведь не приняты такие?

На днях мной был оставлен комментарий, в котором я в двух словах написал, что мой бизнес уничтожили в зачаточном состоянии. Судя по вопросам в личку на Хабре и в vk тема актуальная. Что-ж, попробую написать о том, как все было, хотя точности не обещаю. Писать о том, что я Д'Артаньян, а все негодяи — не буду, ведь вам нужна поучительная история, а не история-оправдание еще одного неудачника.

Сразу оговорюсь, я не помню о каком городе/районе идет речь, и в каком государстве это происходило, если было. Также не могу вспомнить имен и точных должностей. А потому любые совпадения случайны и не имеют никакого отношения ни к какой власти — официальной и неофициальной.
Читать дальше →
Total votes 167: ↑151 and ↓16+135
Comments157

Идеальное собеседование айтишника

Reading time6 min
Views84K
– Папа, а идеальное собеседование существует?
– Нет, сынок, это фантастика.
(с)

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

Читать дальше →
Total votes 130: ↑102 and ↓28+74
Comments133

Поиск работы за рубежом

Reading time6 min
Views104K
Судя по отзывам на мою предыдущую статью о процессе прохождения интервью, многие хаброколлеги интересуются, как лучше подготовиться к поиску работы на западе. Хочу поделиться моим опытом и дать ссылки, которые будут полезны тем, кто думает о переезде или просто хочет узнать, как это работает в другом мире. Статья ориентирована на среднестатистического разработчика ПО, так что если у вас блестящие навыки разговорного языка и превосходные знания нужных технологий и языков программирования, то многие советы можно пропустить.

Итак, вы задумались о поиске новой работы.
Читать дальше →
Total votes 86: ↑78 and ↓8+70
Comments21

Как найти работу в Германии

Reading time4 min
Views146K

Для всех, кто просил описать как искать работу программистом в Германии, а так же для тех, кто в комментариях бездоказательно писал, что Германия далеко не лучшее место для работы, ну и для всех интересующихся написан этот пост.
Читать дальше →
Total votes 103: ↑95 and ↓8+87
Comments283

Поддержка OAuth 2.0 платформой ВКонтакте

Reading time2 min
Views39K
Вчера во ВКонтакте появилась поддержка открытого стандарта авторизации OAuth 2.0. Теперь интегрировать сайты и клиентские приложения с социальной сетью стало значительно проще.

Читать дальше →
Total votes 129: ↑114 and ↓15+99
Comments89
1
23 ...

Information

Rating
Does not participate
Location
Харьковская обл., Украина
Date of birth
Registered
Activity