• Умная фитолампа на Arduino

      Создание прототипа адаптивной фитолампы на Arduino


      Эта статья будет посвящена созданию прототипа светодиодной лампы для досветки растений. Конечно, это не просто лампа иначе зачем писать об этом на geektimes? Фитолампа управляется с помощью контроллера Arduino и имеет на борту датчик освещенности ( для адаптивной регулировки яркостью), LED драйвер для управления яркостью по средствам ШИМ, радиомодуль 433 Mhz и конечно bluetooth ( по тому что с ним все становится круче...) на самом деле для управления с телефона из разработанного приложения под Android. Также я немного затрону вопрос побора годных светодиодов, источников питания и как они себя показали на протяжении 6 месяцев эксплуатации. С момента зарождения идеи меня интересовал вопрос создания мелкосерийного производства, но об этом ниже.


      Читать дальше →
    • Игра «Ну, погоди!» на Arduino

        Наверняка многим из вас известна популярная советская электронная игра «Электроника ИМ-02» производимая с 1984 года, в которой волк из мультфильма «Ну, погоди!» ловит яйца в корзину. Так вот, наткнулся я на статью, в которой описан процесс создания такой игры на Arduino и решил повторить проект со своими изменениями. Что у меня получилось, смотрите ниже.


        Читать дальше →
      • Веб-приложение на Kotlin + Spring Boot + Vue.js

        Добрый день, дорогие обитатели Хабра!

        Не так давно мне представилась возможность реализовать небольшой проект без особых требований по технической части. То есть, я был волен выбирать стек технологий на своё усмотрение. Потому не преминул возможностью как следует «пощупать» модные, молодёжные многообещающие, но малознакомые мне на практике Kotlin и Vue.js, добавив туда уже знакомый Spring Boot и примерив всё это на незамысловатое веб-приложение.
        Посмотреть, что из этого вышло
      • Как создать игру, если ты ни разу не художник


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

        И не надо…
        Читать дальше →
      • Подборка обучалок по AR/VR

          image

          • Виртуальная реальность будет генерировать 25 миллиардов дохода в год к 2021 (Source: Statistica)
          • Зарплата в области VR будет от $75k/год до $200k/год. (Source: MediaJobs.com)
          • Понятие искусственной реальности было впервые введено Майроном Крюгером (англ. Myron Krueger) в конце 1960-х.
          • В 1964 году Станислав Лем в своей книге «Сумма Технологии» под термином «Фантомология» описывает задачи и суть ответа на вопрос «как создать действительность, которая для разумных существ, живущих в ней, ничем не отличалась бы от нормальной действительности, но подчинялась бы другим законам?».
          • Первая система виртуальной реальности появилась в 1962 году, когда Мортон Хейлиг (англ. Morton Heilig) представил первый прототип мультисенсорного симулятора, который он называл «Сенсорама» (Sensorama).
          • В 1967 году Айвен Сазерленд (англ. Ivan Sutherland) описал и сконструировал первый шлем, изображение на который генерировалось при помощи компьютера. Шлем Сазерленда позволял изменять изображения соответственно движениям головы (зрительная обратная связь).
          • В 1970-х годах компьютерная графика полностью заменила видеосъёмку, до того использовавшуюся в симуляторах. Графика была крайне примитивной, однако важным было то, что тренажёры (это были симуляторы полётов) работали в режиме реального времени.
          • Первой реализацией виртуальной реальности считается «Кинокарта Аспена» (Aspen Movie Map), созданная в Массачусетском Технологическом Институте в 1977 году. Эта компьютерная программа симулировала прогулку по городу Аспен, штат Колорадо, давая возможность выбрать между разными способами отображения местности. Летний и зимний варианты были основаны на реальных фотографиях. [Wikipedia]
          Где можно поучиться
          • +8
          • 22.7k
          • 1
        • Пишем бота-кликера на Python для Lineage 2


          Предисловие


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


          Когда-то в школьные годы был увлечен одной из популярных MMORPG — Lineage 2. В игре можно объединяться в кланы, группы, заводить друзей и сражаться с соперниками, но в общем игра наполнена однообразными действиями: выполнением квестов и фармом (сбор ресурсов, получение опыта).


          В итоге решил, что бот должен решать одну задачу: фарм. Для управления будут использоваться эмулированные клики мыши и нажатия клавиш клавиатуры, а для ориентирования в пространстве — компьютерное зрение, язык программирования — Python.

          Читать дальше →
        • Создаём собственный блокчейн на Ethereum

          • Translation

          Как создать приватный блокчейн Ethereum с нуля?


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

          Инструкция включает в себя следующее:

          • Создание приватного блокчейна Ethereum с помощью geth.
          • Создание кошелька MetaMask для работы с приватным блокчейном.
          • Перевод средств между несколькими аккаунтами.
          • Создание, развёртывание и вызов смарт-контракта в приватном блокчейне с помощью remix.
          • Создание обозревателя блоков Ethereum поверх приватного блокчейна.
          Читать дальше →
          • +22
          • 46.3k
          • 5
        • Kotlin DSL: Теория и Практика

          • Tutorial

          Sql, RegExp, Gradle — что их объединяет? Всё это примеры использования проблемно-ориентированных языков или DSL (domain-specific language). Каждый такой язык решает свою узконаправленную задачу, например, запрос данных из БД, поиск совпадений в тексте или описание процесса сборки приложения. Язык Kotlin предоставляет большое количество возможностей для создания собственного проблемно-ориентированного языка. В ходе статьи мы разберемся, какие инструменты есть в арсенале программиста, и реализуем DSL для предложенной предметной области.


          Весь синтаксис, представленный в статье, я объясню максимально просто, однако, материал рассчитан на практикующих инженеров, которые рассматривают Kotlin, как язык для построения проблемно-ориентированных языков. В конце статьи будут приведены недостатки, к которым нужно быть готовым. Используемый в статье код актуален для Kotlin версии 1.1.4-3 и доступен на GitHub.


          Читать дальше →
        • «Чтение на выходных»: 22 независимых блога о разработке, ИБ, тестировании и геймдеве

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

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

            Читать дальше →
            • +10
            • 22.3k
            • 3
          • Пошаговый план старта на Upwork

            • Tutorial
            image

            Рано или поздно разработчик всерьез задумывается о фрилансе. В этот момент большинство идут на биржи. Выбор бирж огромен. В СНГ: fl.ru, weblancer и прочие. Но когда доходишь до дела начинаешь понимать в каком все упадке. Единственным местом где водятся более-менее нормальные заказы можно назвать fl.ru и еще одну-две биржы. Но на fl.ru нужен pro аккаунт, ведь оказывается чтобы взять заказ нужно заплатить бирже, и далеко не факт что тебе что-то светит. Поэтому было решено идти на Upwork.
            Читать дальше →
          • Что нового в IntelliJ IDEA 2017.2

              Привет, Хабр! Мы рады сообщить о выходе крупного обновления IDE – IntelliJ IDEA 2017.2. Поскольку далеко не все следят за новостями в нашем официальном блоге (а также потому, что многим удобнее будет прочитать об этом на русском), в этом посте я расскажу что ждать от новой версии IDE. Кто спешит попробовать обновление самостоятельно, качайте с сайта JetBrains, либо из Toolbox App. Все остальные, добро пожаловать под кат.


              Читать дальше →
            • Как писать на Spring в 2017

              • Tutorial

              В одной из классических статей для новичков, мелькавших недавно на Хабре, рассказывалось про создание базового Web приложения на Java. Все начиналось с сервлета, потом создания JSP страницы и, наконец, деплоймента в контейнер. Посмотрев на это свежим взглядом я понял, что для как раз для новичков это, наверняка, выглядит совершенно жутко — на фоне простых и понятных PHP или Node.js, где все просто — написал контроллер, вернул объект, он стал JSON или HTML. Чтобы немного развеять это ощущение, я решил написать "Гайд для новичков в Spring". Цель это статьи — показать, что создание Web приложений на Java, более того — на Spring Framework это не боль и мучительное продирание через web.xml, persistence.xml, beans.xml, и собирание приложения как карточного домика по кусочкам, а вполне себе быстрый и комфортный процесс. Аудитория — начинающие разработчики, разработчики на других языках, ну и те, кто видел Спринг в его не самые лучше времена.

              Читать дальше →
            • MMO с нуля. С помощью Netty и Unreal Engine. Часть 1

              • Tutorial
              Всем привет! В нескольких статьях я хотел бы поделиться опытом создания подобия ММО игры используя Unreal Engine и Netty. Возможно архитектура и мой опыт кому-то пригодится и поможет начать создавать свой игровой сервер в противовес unreal dedicated server, который слегка прожорлив или заменить собой фреймворки для разработки многопользовательских игр такие как Photon.

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

              Часть 1. Общая картина, сборка библиотек, подготовка клиента и сервера к обмену сообщениями
              Часть 2. Наращивание игрового функционала + алгоритм Diamond Square


              Читать дальше →
              • +15
              • 41.4k
              • 9
            • FloatingActionMode — панель контекстных действий для Android

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


                В Android-приложениях для этого может использоваться ActionMode, который позволяет отобразить доступные действия над выделенными элементами поверх Toolbar. Там же можно показывать пользователю сколько элементов выделено в текущий момент или другую полезную информацию. Это удобно и хорошо смотрится, но в некоторых случаях информация, отображаемая на самом Toolbar, может быть важна и скрывать ее не хотелось бы. К примеру, там может быть имя и фото пользователя, список сообщений с которым отображается в списке. При выделении некоторых сообщений полезно было бы видеть имя пользователя, которому эти сообщения адресованы.


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


                Разрабатываемый CustomView — панель контекстных действий я назвал FloatingActionMode или просто FAM.


                Art
                FloatingActionMode во время работы (Зафиксирован снизу)


                Видео — пример работы с FloatingActionMode (Зафиксирован снизу)

                Читать дальше →
              • Пишем, собираем и запускаем HelloWorld для Android в блокноте. Java 8 и Android N

                • Tutorial

                Два с половиной года назад я опубликовал статью Пишем, собираем и запускаем HelloWorld для Android в блокноте. Она стала пользоваться огромной популярностью и набрала около 80 000 просмотров. С появлением новых инструментов, таких как Jack ToolChain, возникла необходимость переиздания и обновления статьи.

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

                Используя только блокнот, мы напишем совсем маленькое учебное Android-приложение. А затем скомпилируем его, соберём и запустим на устройстве — и всё через командную строку. Заинтересовало? Тогда прошу.
                Читать дальше →
              • Изучаем OpenGL ES2 для Android Урок №4. Текстуры

                  Перед тем как начать

                  » Если вы новичок в OpenGL ES, рекомендую сначала изучить предыдущие 3 урока: раз / два / три
                  » Основы кода, используемого в этой статье, взяты отсюда и отсюда.

                  Результатом данного урока будет дельфин прыгающий над поверхностью моря.


                  Читать дальше →
                  • +16
                  • 16.9k
                  • 2
                • Android: выдвигающийся экран снизу

                  Данная статья является переводом статьи Emrullah Luleci, а также её продолжения.

                  Нижний экран (Здесь и далее под «нижним экраном/слоем» будет подразумеваться элемент bottom sheet — прим. пер.) — компонент, выезжающий снизу экрана, который используется для отображения дополнительного контента. Подробнее об этом элементе можно узнать на официальной сайте посвященном материальному дизайну.

                  image

                  Читать дальше →
                  • +18
                  • 69.9k
                  • 8