• Крутые часы на адресных диодах

    Большие часы на адресной ленте. Часть 1.

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

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

    Читать далее: часть 1.
  • Полная домашняя автоматизация в новостройке

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


    Панель управления квартирой в феврале 2020 года (Home Assistant)

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


    Строительство нашего дома в процессе — ноябрь 2016 года
    Умный дом в самом соку...
  • Безумный дом

    • Tutorial

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

    Под катом - подробный гайд по настройке системы умного дома: сделаем возможным работу устройств ZWave и кастомных MQTT-устройств на базе ESP8266, настроим управление домом при помощи HomeKit и Яндекс Алисы.

    Читать далее
  • Умный дом с нуля своими руками или путешествие длиною в год

    Данную статью пишу для думающих, стоит оно того или нет и начинающих построение своего умного дома, надеюсь она поможет сделать вам свой выбор. Для тех кто думает я не программист у меня ничего не получится, я тоже, хотя имею техническое (теплоэнергетик) образование, но никогда не работал в IT, не знаю не одного языка программирования. Дорогу осилит идущий. Начнем с рассуждений что такое умный дом, поверьте на слово он не решит все ваших бытовых и семейных проблем, но точно сделает жизнь немного комфортней. Что такое умный дом в моем представлении год назад: 1. Красивый планшет со схемой дома весящий на стане в прихожей с которого можно управлять всем в доме; 2. Управление всем чем можно голосом. Откровение через год планшет не нужен, так как бегать со второго этажа на первый что бы по управлять неудобно. Что бы хорошо работало голосовое управление, требуется установка умной колонки в каждую комнату, когда их две это одно. А когда значительно больше вопрос. Сейчас для меня умный дом это то, что работает само без моего участия, и не требует управления. Все о чем пойдет речь далее сделано мною лично, может можно сделать по другому, может проще и лучше. Но таков путь.

    Читать далее
  • Микросервисы на Java: практическое руководство

    • Translation

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


    Примечание: Статья ~ 7000 слов, вероятно, не стоит читать ее на мобильном устройстве. Добавьте ее в закладки и вернитесь позже.


    Содержание


    Читать дальше →
    • +7
    • 26.3k
    • 7
  • Обзор англоязычных сайтов для поиска постоянной удаленной IT работы

      Для удаленной работы есть миллион причин. Торчать по 8-9 часов в офисе вовсе не так здорово, как это показано в сериалах. В один прекрасный день, летом 2018-го, я просто решила, что мне нужно больше личного пространства и собралась увольняться, тем более на моей должности в то время я доросла до максимума и дальнейших перспектив не предвиделось.

      image

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

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

      Я решила сосредоточиться на ресурсах, предлагающих постоянную удаленную работу в компаниях, с которыми можно было связаться напрямую. Идея была заманчива, так как очень импонировало работать на иностранного работодателя без цепочки менеджеров-начальников.
      Наиболее полезными с точки зрения количества и качества вакансий, а также удобства пользования, выглядели следующие сайты:
      Читать дальше →
    • Как стать Java разработчиком за 1,5 года

        Меня зовут Сергей, мне 40 лет и сейчас я работаю Java разработчиком в немецкой компании. Мы занимаемся разработкой программного обеспечения для пивоварен оценки финансовых и кредитных рисков. Это моя первая работа в качестве разработчика. До этого я работал в сфере IT-поддержки и системной интеграции. Первого февраля 2019 г. закончился мой шестимесячный испытательный срок, и у меня на руках бессрочный контракт. Я хочу поделиться своим опытом, как можно самостоятельно выучить Java так, чтобы получить работу.



        Это мой рабочий стол. Пить пиво в рабочее время у нас разрешено, мы же в Германии.


        Моя первая статья: «IT-эмиграция с семьей. И особенности поиска работы в маленьком городе Германии, когда ты уже там»

        Читать дальше →
      • Стажёр Вася и его истории об идемпотентности API

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


          Меня зовут Денис Исаев, и я руковожу одной из бэкенд групп в Яндекс.Такси. Сегодня я поделюсь с читателями Хабра описанием проблем, которые могут возникнуть, если не учитывать идемпотентность распределенных систем в своем проекте. Для этого я выбрал формат вымышленных историй о стажёре Васе, который только-только учится работать с API. Так будет нагляднее и полезнее. Поехали.


          image

          Читать дальше →
        • Пишем гибкий код, используя SOLID



            От переводчика: опубликовали для вас статью Северина Переса об использовании принципов SOLID в программировании. Информация из статьи будет полезна как новичкам, так и программистам с опытом.

            Если вы занимаетесь разработкой, то, скорее всего, слышали о принципах SOLID. Они дают возможность программисту писать чистый, хорошо структурированный и легко обслуживаемый код. Стоит отметить, что в программировании есть несколько подходов к тому, как правильно выполнять ту либо иную работу. У разных специалистов — разные идеи и понимание «правильного пути», все зависит от опыта каждого. Тем не менее, идеи, провозглашенные в SOLID, принимаются практически всеми представителями ИТ-сообщества. Они стали отправной точкой для появления и развития множества хороших методов управления разработкой.

            Давайте разберемся с тем, что такое принципы SOLID и как они помогают нам.
            Читать дальше →
          • Путь запроса по внутренностям Spring Security

            Большинство разработчиков имеет только примерное представление о том что происходит внутри Spring Security, что опасно и может привести к появлению уязвимостей.

            В этой статье шаг за шагом пройдемся по пути http запроса, что поможет с пониманием настраивать и решать проблемы Spring Security.

            image

            Читать дальше →
            • +22
            • 50.3k
            • 7
          • [в закладки] PDF-версия руководства по Node.js и новое руководство по JavaScript

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

              image


              PDF-версия документа состоит более чем из 120 страниц, содержит оглавление, немного картинок и всё необходимое форматирование. Просто закидывайте файлик в читалку и готово. Или в папочку с литературой. Или… решать вам.

              Скачать PDF-версию [ 1.8 Мб ]



              Сегодня мы хотим представить вашему вниманию новое руководство того же автора, посвящённое JavaScript.

              Вот краткий перечень вопросов, которые оно раскрывает:
              • Общая характеристика языка и его стандартизация
              • Особенности стандартов ES6, ES7, ES8, ES9
              • Оформление кода, руководства по стилю
              • Лексическая структура языка
              • Переменные
              • Типы данных
              • Выражения
              • Логические выражения
              • Прототипное наследование
              • Классы
              • Исключения
              • Функции и замыкания
              • Массивы
              • Циклы
              • События
              • Асинхронное программирование
              • Таймеры
              • Строгий режим
              • Математические вычисления
              • Модули

              Мы планируем это руководство перевести, но, прежде чем приняться за работу, хотели бы предложить вам поучаствовать в небольшом опросе
              Читать дальше →
            • Как развернуть окружение для разработки приложений на React Native на Windows

              • Tutorial

              Доброго времени суток!


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

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


              Читать дальше →
              • +9
              • 25.4k
              • 9
            • Знакомство с виртуализацией, контейнерами и Kubernetes: 18 материалов о работе в облаке



                В этой подборке команда Kubernetes aaS от Mail.ru объединила статьи и руководства для тех, кто хочет познакомиться с виртуализацией. В материалах под катом — как появилась виртуальная инфраструктура, что такое контейнеризация и чем занимается Cloud DevOps Engineer.
                Читать дальше →
              • Эффективные личные финансы. Уровень 1

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


                  Читать дальше →
                • Как стать React разработчиком в 2018 году

                  • Translation


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

                  Адам Голаб, эксперт по React и JS, составил пошаговый учебный план, который поможет вам стать разработчиком с нуля либо укажет направление для дальнейшего повышения навыков в профессии.

                  План Адама представляет собой список основных пунктов, которые вам нужно изучить самостоятельно. Мы добавили описание, а в некоторых сложных моментах указали ссылки на дополнительные справочные материалы, с помощью которых вы получите ответ на вопрос: «Что я должен узнать как React-разработчик?».
                  Читать дальше →
                • «Мы все стремимся к сложности, а потом с ней боремся»: интервью с Венкатом Субраманиамом



                    «Сколько зрителей придёт на ваш доклад по Java? Зависит от того, выступает ли в то же время в соседнем зале Венкат».

                    Это шутка с изрядной долей правды: в Java-мире Венкат Субраманиам — один из самых известных спикеров, действительно способный на конференциях оттянуть зрителей из других залов. Он неустанно перемещается по всей планете и недавно поставил впечатляющий рекорд, к своему 50-летию выступив за один год перед 50 разными Java User Groups.

                    Каково это, когда твоя Java-карьера — не «сидеть в офисе», а «постоянно перемещаться»? И что Венкат думает об актуальных Java-вопросах? В октябре он доберётся до Петербурга, и в преддверии этого мы (phillennium, olegchir) взяли у него подробное интервью, где начали с «жизни в самолёте» и советов для начинающих спикеров, а затем перешли к технологиям.

                    Читать дальше →
                    • +24
                    • 10.3k
                    • 9
                  • Еще один домашний медиасервер на базе Docker

                    Добрый день Хабр. На написание этой статьи меня сподвигло закрытие довольно известных в UA-IX ресурсов ex.ua и fs.to. Поскольку доблестные правоохранители не озаботились предоставлением какой-либо достойной альтернативы, было принято решение взять процесс в свои руки, к тому же давно хотелось организовать домашнее хранилище/файлопомойку не зависящее от внешних провайдеров. В процессе реализации было перепробовано довольно много разных систем, но в итоге все выстроилось именно так, а не иначе. Мнение субъективное, реализация доступная. Сама статья рассчитана на новичков которым необходимо просто работающее решение, или на тех кто задумался о своем медиасервере, но еще не определился с реализацией.

                    Итак решение принято, начнем.
                    Читать дальше →
                  • Умный дом (Самое начало) — ч.2

                      image
                      Это продолжение статьи: Умный дом (Самое начало) — ч.1

                      В прошлой статье я писал о том что такое умный дом и с чего начать при его создании. Теперь я постараюсь описать техническую часть: железо и ПО. На всякий случай напомню дорогому читателю, что это не HOW to, а обзорный материал, потому конкретных решений и code-вставок для копипаста тут скорей всего не будет. Технологий и методов решения поставленной инженерной задачи очень много и описать все в моих статьях не получится.

                      Вся информация написана с упором на личный опыт, никаких «диванных» домыслов.
                      Читать дальше →
                    • Тяжёлая правда о тяжести обучения

                      • Translation
                      Как можно научиться тому, чему тебя никто не может научить?

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

                      Во время структурированного обучения (такого, как в школе) существуют упражнения, учителя, способные вами руководить, и проторённая дорожка из точки А в точку Я. Самое тяжёлое здесь – ежедневно заниматься работой.

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

                      В реальном мире нет никаких учебников или учебных планов. Нет возможности практиковаться. Нет источника постоянной обратной связи. Нет учителей – есть только вы, и те люди, которых вы можете убедить помогать вам.
                      Читать дальше →
                    • Продвинутое использование Гита или как выйти на пенсию на полгода раньше?

                      • Tutorial


                      Не знаю, на каком языке программирования вы пишете, но уверен, что используете Гит при разработке. Инструментов для сопровождения разработки становится всё больше, но даже самый маленький тестовый проект, я неизменно начинаю с команды git init. А в течение рабочего дня набираю в среднем ещё 80 команд, обращаясь к этой системе контроля версий.


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


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


                      Кому будет полезна эта статья?


                      Вы уже освоили джентльменский набор Гита и готовы двигаться дальше? Существует 2 пути:


                      1. Освоить сокращённые команды – алиасы. Они почти всегда составлены мнемонически и легко запоминаются. Забыть оригиналы команд проблематично, я легко их набираю, когда это требуется. Плюс не сбиваюсь с мысли, проверяя что-то в Гите в процессе написания кода.
                      2. Узнать о дополнительных флагах к командам, а также их объединении между собой. Я понимаю, что кто-то ненавидит сокращения. Для вас тоже есть интересный материал в статье – как повысить полезность и удобство вывода команд, а также как решать не самые тривиальные, но часто встречающиеся на практике задачи.

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


                      Добро пожаловать под кат!

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