Pull to refresh
4
0
Vamp @Vamp

User

Send message

Приточная вентиляция совмещенная с канальным кондиционером (часть 1 — электрическая)

Reading time11 min
Views87K

схема_малая


Хочу поделиться опытом проектирования, монтажа и эксплуатации своей системы приточной вентиляции совмещенной с канальным кондиционером. Система
собиралась в 2012-2013 годах и с тех пор находится в постоянной эксплуатации.


Статью разделил на две части:


  • в первой части описана классическая схема приточная вентиляции с использованием электрического канального подогревателя
  • во второй части рассказано про неоднозначный опыт переработки системы под водяной калорифер с питанием от общедомовой системы отопления
Читать дальше →

Более безопасное подключение к SSH с помощью DNSSEC

Reading time6 min
Views17K

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

В реальной жизни почти никто не проверяет отпечаток SSH-ключа сервера не особенно задумываясь о возможности MiTM-атаках. С появлением DNS-записи SSHFP отпечаток ключа сервера можно хранить в DNS и проверять его подлинность с помощью DNSSEC. При этом не нужно даже подтверждать ключ при первом подключении. В статье разберем, как настроить запись SSHFP для своего SSH-сервера.
Читать дальше →

Полная домашняя автоматизация в новостройке. Продолжение

Reading time9 min
Views93K
Неожиданно статья про мой опыт автоматизации однокомнатной квартиры площадью 41 кв. м. в новостройке, опубликованная две недели назад, стала популярна и на 10 марта её добавил в закладки 781 image человек, просмотрели 123 921 раз и Хабр даже запилил рекламный блок в разделе «Рекомендуем» с пометкой «Интересно».


1500 метров проложенных кабелей после окончания ремонта не видны. На фото спальня

Перед вами продолжение истории, где я отвечу на комментарии, приведу фотографии квартиры с мебелью, получившиеся электрические щиты, а также расскажу о тех сложностях, с которыми я столкнулся после того, как перешёл c openHAB в другую систему домашней автоматизации — Home Assistant.
Самая умная однушка ...

Kubernetes tips & tricks: особенности выполнения graceful shutdown в NGINX и PHP-FPM

Reading time8 min
Views20K
Типовое условие при реализации CI/CD в Kubernetes: приложение должно уметь перед полной остановкой не принимать новые клиентские запросы, а самое главное — успешно завершать уже существующие.



Соблюдение такого условия позволяет достичь нулевого простоя во время деплоя. Однако, даже при использовании очень популярных связок (вроде NGINX и PHP-FPM) можно столкнуться со сложностями, которые приведут к всплеску ошибок при каждом деплое…
Читать дальше →

Как я 1000 дней пользовался OpenHAB, а затем перешел на Home Assistant

Reading time3 min
Views67K

Однажды в 2016 году мне потребовалось настроить удаленный сбор показаний счетчиков в квартире. К текущему моменту (январь 2020 года) там внедрена комплексная домашняя автоматизация с возможностью перекрытия воды и полного удаленного обесточивания (и обратного включения) электроэнергии.



В статье расскажу об опыте управления OpenHAB 1.х и 2.х и Home Assistant, а также приведу свои конфигурации.

OpenHAB vs Home Assistant

Нормализация девиантности. Как неправильные практики становятся нормой в нашей отрасли

Reading time17 min
Views22K
У вас когда-нибудь бывало такое, что вы говорите нечто совершенно нормальное для вас, но все остальные очень удивлены? Со мной такое случается постоянно, когда я описываю то, что считали нормальным в фирме, где я работал. По какой-то причине лицо собеседника постепенно переходит из приятной улыбки в гримасу крайнего изумления. Вот несколько характерных примеров.

Есть одна очень хорошая компания, одно из самых приятных мест, где я когда-либо работал, сочетание всех вкусностей Valve и Netflix. Люди здесь удивительные, а вам дают почти полную свободу делать всё, что вы хотите. Но как побочный эффект такой культуры, в первый год от них уходит примерно 50% новых сотрудников, некоторые добровольно, а некоторые нет. Абсолютно нормально, да?

Есть компания, которая невероятно скрытно относится к своей инфраструктуре. Например, боится сообщать о багах поставщику оборудования, потому что тогда ошибки будут исправлены, а конкуренты смогут использовать исправления. Этого нельзя допустить. Решение: запросить прошивку и исправить баги самостоятельно! Нормально.
Читать дальше →

Простой зомби-шутер на Unity

Reading time24 min
Views66K
Всем привет! Скоро стартуют занятия в первой группе курса «Разработчик игр на Unity». В преддверии начала курса прошел открытый урок по созданию зомби-шутера на Unity. Вебинар провёл Николай Запольнов, Senior Game Developer из Rovio Entertainment Corporation. Он также написал подробную статью, которую мы и предлагаем вашему вниманию.



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



Дисклеймер №1: данная статья рассчитана на новичков. Если вы собаку съели в Unity, то она может показаться вам скучной.

Дисклеймер №2: для прочтения этой статьи вам потребуется хотя-бы базовое знание программирования. Как минимум, слова «класс» и «метод» не должны вас пугать.

Осторожно, под катом трафик!
Читать дальше →

15 лучших и крупнейших библиотек иконок

Reading time3 min
Views40K


В этой статье ознакомимся с 15 лучшими и крупнейшими доступными библиотеками иконок для веб-сайтов. Многие из них предлагают тысячи, а то и миллионы пиктограмм, так что обязательно найдётся именно то, что нужно.

Сразу уточняем: это не 15 самых лучших библиотек, а 15 из лучших. Разумеется, есть и другие, не менее замечательные, о которых я не упомянул или не знаю.
И, нет, это не рейтинг — список маркированный, а не нумерованный.
Читать дальше →

Вентиляция с рекуперацией в квартире. Без воздуховодов и СМС

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


Это КДПВ блок рекуперации/регенерации. Надеюсь, ни у кого нет трипофобии?

Итак, всё началось с духоты. Точнее, с утепления квартиры слоем экструзионного пенополистирола по всему периметру (панельная 9-этажка родом из 80-х, с кучей сквозящих углов). В результате чего, квартира стала условно герметичной и вопрос свежего воздуха встал в полный рост.
Читать дальше →

Как я чуть не выкинул 150к на ветер или история установки приточной вентиляции в квартире

Reading time19 min
Views707K

Как я пришел к покупке приточной вентиляции для квартиры с готовым ремонтом. Как купил ее за 150к и чуть не потратил деньги зря. Статья будет полезна тем, кто планирует купить очиститель воздуха, бризер или приточку.


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

Сказ о том, как по закону потерять готовый бизнес

Reading time4 min
Views36K
Жила-была одна компания, одним из ее родичей был большой уважаемой компанией, уставный капитал сверкал в выписке семью цифрами до запятой и жила она в волшебной стране Сколково. И работали в компании три сотрудничка, и несли службу сладкую, да не пыльную.

Так бы я начала эту историю, если бы это была сказка, только вот продолжение у этой истории оказалось совсем не сказочное, но уж очень поучительное — прямо «добрым молодцам урок».

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

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

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

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

Здесь и далее я не буду указывать название нужного документа- не в названии суть, указывать буду условия, которые должны быть отражены на бумаге и заверены ответственными лицами.
Читать дальше →

Code style как стандарт разработки

Reading time15 min
Views46K
Давайте сразу, это не про скобочки. Здесь речь пойдет о том, как работает наш мозг и почему code style помогает обеспечивать линейное развитие проекта, значительно ускоряет адаптацию новых сотрудников и, в целом, формирует и воспитывает культуру разработки. Я постарался собрать в одной статье несколько исследований и принципов, посвященных работе мозга разработчика, и тому, как программисты читают код, а также поделился результатами личного эксперимента.

Интересно? Добро пожаловать под кат.


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

Чтение на лето: книги для технарей

Reading time5 min
Views57K
Мы собрали книги, которые рекомендуют своим коллегам по цеху резиденты Hacker News. Здесь нет справочников или руководств по программированию, зато есть любопытные издания о криптографии и теоретической информатике, об основателях IT-компаний, есть и научная фантастика, написанная разработчиками и о разработчиках — как раз то, что можно взять в отпуск.

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

Как мы учились эксплуатировать Java в Docker

Reading time13 min
Views51K
Под капотом hh.ru — большое количество Java-сервисов, запущенных в докер-контейнерах. За время их эксплуатации мы столкнулись с большим количеством нетривиальных проблем. Во многих случаях чтобы докопаться до решения приходилось долго гуглить, читать исходники OpenJDK и даже профилировать сервисы на продакшене. В этой статье я постараюсь передать квинтэссенцию полученного в процессе знания.


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

HTTP-заголовки для ответственного разработчика

Reading time15 min
Views106K

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

Разработчики соединяют людей.
Разработчики помогают людям.
Разработчики дают людям возможности.

Разработчики могут создать сеть для всех, но эту способность необходимо использовать ответственно. В конце концов, важно создавать вещи, которые помогают людям и расширяют их возможности. В этой статье я хочу рассказать о том, как HTTP-заголовки могут помочь вам создавать лучшие продукты для лучшей работы всех пользователей в интернете.
Читать дальше →

Откуда растут ноги у Java Memory Model

Reading time19 min
Views78K
Современное железо и компиляторы готовы перевернуть с ног на голову наш код, лишь бы он работал быстрее. А их производители тщательно скрывают свою внутреннюю кухню. И все прекрасно, пока код выполняется в одном потоке.

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

Но все уже осознали, ведь жить с этим как-то надо. А Java программисты даже неплохо живут. Потому что в Java есть модель памяти — Java Memory Model (JMM), которая предоставляет достаточно простые правила для написания корректного многопоточного кода.

И правил этих достаточно для большинства программ. Если вы их не знаете, но пишите или хотите писать многопоточные программы на Java, то лучше как можно скорее ознакомиться с ними. А если знаете, но вам не хватает контекста или интересно узнать откуда растут ноги у JMM, тогда статья может вам помочь.
Читать дальше →

Как усилить защищенность веб-приложений при помощи HTTP заголовков

Reading time18 min
Views33K
image

Это третья часть серии по веб-безопасности: вторая часть была «Web Security: введение в HTTP», первая "Как работают браузеры — введение в безопасность веб-приложений".

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

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

Статический анализ PHP-кода на примере PHPStan, Phan и Psalm

Reading time20 min
Views68K


Компания Badoo существует уже более 12 лет. У нас очень много PHP-кода (миллионы строк) и наверняка даже сохранились строки, написанные 12 лет назад. У нас есть код, написанный ещё во времена PHP 4 и PHP 5. Мы выкладываем код два раза в день, и каждая выкладка содержит примерно 10—20 задач. Помимо этого, программисты могут выкладывать срочные патчи — небольшие изменения. И в день таких патчей у нас набирается пара десятков. В общем, наш код меняется очень активно.

Мы постоянно ищем возможности как для ускорения разработки, так и для повышения качества кода. И вот однажды мы решили внедрить статический анализ кода. Что из этого получилось, читайте под катом.
Читать дальше →

MTA-STS для Postfix

Reading time5 min
Views12K
MTA-STS — это предложенный стандарт RFC8461, вышедший из статуса черновика и официально опубликованный 26 сентября 2018 года. Этот стандарт предлагает механизм обнаружения возможности для использования полноценного TLS между почтовыми серверами, с шифрованием данных и аутентификацией сервера. То есть, этот стандарт практически полностью защищает от вмешательства в почтовый трафик между серверами.

Упрощённо, суть стандарта в следующем:

  1. Поддерживающие его почтовые сервисы публикуют политику (1 TXT-запись и 1 HTTPS-ресурс для каждого домена).
  2. Почтовые сервисы при отправке почты в другие домены производят обнаружение политики домена-получателя.
  3. Почтовые сервисы соединяются с почтовым сервером домена-получателя, применяя ограничения к TLS, задаваемые обнаруженной политикой, если таковая нашлась.

Существуют неплохие статьи (например), рассказывающие про сам стандарт и для чего он нужен, сравнивающие MTA-STS с другими аналогичными инициативами, и даже показывающие как составить и опубликовать политику. Но найти, как продвинуться дальше первого шага, оказалось не так-то просто.
Читать дальше →

Использование Consul для масштабирования stateful-сервисов

Reading time12 min
Views19K
22 сентября провели наш первый нестандартный митап для разработчиков высоконагруженных систем. Было очень круто, много позитивного фидбека по докладам и поэтому решил не только их выложить, но и расшифровать для Хабра. Сегодня публикуем выступление Ивана Бубнова, DevOps из компании BIT.GAMES. Он рассказал о внедрении дискавери-сервиса Consul в уже рабочий высоконагруженный проект для возможности быстрого масштабирования и failover`а stateful-сервисов. А также об организации гибкого пространства имен для бэкэнд-приложения и подводных камнях. Теперь слово Ивану.


Я администрирую продакшн-инфраструктуру в студии BIT.GAMES и расскажу историю внедрения консула от Hashicorp в наш проект «Гильдия Героев» — fantasy RPG с асинхронным pvp для мобильных устройств. Выпускаемся на Google Play, App Store, Samsung, Amazon. DAU около 100 000, online от 10 до 13 тысяч. Игру делаем на Unity, поэтому клиент пишем на С# и используем свой собственный скриптовый язык BHL для игровой логики. Серверную часть пишем на Golang (перешли на него с PHP). Дальше — схематичная архитектура нашего проекта.

Information

Rating
4,756-th
Registered
Activity