Pull to refresh
0
0

Java programmer

Send message

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

Reading time 4 min
Views 32K

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


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


Total votes 21: ↑20 and ↓1 +19
Comments 79

Компьютер в столе своими руками

Reading time 3 min
Views 141K
Приветствую, Habr! Я фанат ПК в столе, давно ими занимаюсь и сегодня хочу показать вам свой новый проект.

Самый компактный и тонкий Компьютер в столе, что я делал.


Читать дальше →
Total votes 162: ↑159 and ↓3 +156
Comments 139

Игра «Ну, погоди!» на Arduino

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


Читать дальше →
Total votes 21: ↑21 and ↓0 +21
Comments 22

Веб-приложение на Kotlin + Spring Boot + Vue.js

Reading time 40 min
Views 46K
Добрый день, дорогие обитатели Хабра!

Не так давно мне представилась возможность реализовать небольшой проект без особых требований по технической части. То есть, я был волен выбирать стек технологий на своё усмотрение. Потому не преминул возможностью как следует «пощупать» модные, молодёжные многообещающие, но малознакомые мне на практике Kotlin и Vue.js, добавив туда уже знакомый Spring Boot и примерив всё это на незамысловатое веб-приложение.
Посмотреть, что из этого вышло
Total votes 19: ↑18 and ↓1 +17
Comments 21

Как создать игру, если ты ни разу не художник

Reading time 127 min
Views 44K

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

И не надо…
Читать дальше →
Total votes 107: ↑106 and ↓1 +105
Comments 71

Подборка обучалок по AR/VR

Reading time 4 min
Views 28K
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]
Где можно поучиться
Total votes 12: ↑10 and ↓2 +8
Comments 1

Пишем бота-кликера на Python для Lineage 2

Reading time 7 min
Views 164K


Предисловие


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


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


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

Читать дальше →
Total votes 70: ↑67 and ↓3 +64
Comments 76

Создаём собственный блокчейн на Ethereum

Reading time 11 min
Views 62K

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


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

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

  • Создание приватного блокчейна Ethereum с помощью geth.
  • Создание кошелька MetaMask для работы с приватным блокчейном.
  • Перевод средств между несколькими аккаунтами.
  • Создание, развёртывание и вызов смарт-контракта в приватном блокчейне с помощью remix.
  • Создание обозревателя блоков Ethereum поверх приватного блокчейна.
Читать дальше →
Total votes 28: ↑25 and ↓3 +22
Comments 5

Kotlin DSL: Теория и Практика

Reading time 17 min
Views 57K

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


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


Читать дальше →
Total votes 40: ↑35 and ↓5 +30
Comments 12

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

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

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

Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Comments 3

Пошаговый план старта на Upwork

Reading time 3 min
Views 262K
image

Рано или поздно разработчик всерьез задумывается о фрилансе. В этот момент большинство идут на биржи. Выбор бирж огромен. В СНГ: fl.ru, weblancer и прочие. Но когда доходишь до дела начинаешь понимать в каком все упадке. Единственным местом где водятся более-менее нормальные заказы можно назвать fl.ru и еще одну-две биржы. Но на fl.ru нужен pro аккаунт, ведь оказывается чтобы взять заказ нужно заплатить бирже, и далеко не факт что тебе что-то светит. Поэтому было решено идти на Upwork.
Читать дальше →
Total votes 57: ↑51 and ↓6 +45
Comments 99

Что нового в IntelliJ IDEA 2017.2

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


Читать дальше →
Total votes 45: ↑44 and ↓1 +43
Comments 38

Как писать на Spring в 2017

Reading time 10 min
Views 276K

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

Читать дальше →
Total votes 47: ↑44 and ↓3 +41
Comments 110

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

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

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

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


Total votes 17: ↑16 and ↓1 +15
Comments 9

Нужны ли нам нейронные сети?

Reading time 13 min
Views 19K
Или повесть о том, как я сделал распознавания изображений с помощью свёрточной нейронной сети без нейронной сети. Интересно? Тогда прошу под кат.
Читать дальше →
Total votes 54: ↑45 and ↓9 +36
Comments 24

FloatingActionMode — панель контекстных действий для Android

Reading time 8 min
Views 5.9K

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


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


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


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


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


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

Читать дальше →
Total votes 12: ↑10 and ↓2 +8
Comments 8

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

Reading time 11 min
Views 45K

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

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

Используя только блокнот, мы напишем совсем маленькое учебное Android-приложение. А затем скомпилируем его, соберём и запустим на устройстве — и всё через командную строку. Заинтересовало? Тогда прошу.
Читать дальше →
Total votes 67: ↑64 and ↓3 +61
Comments 22

Изучаем OpenGL ES2 для Android Урок №4. Текстуры

Reading time 8 min
Views 20K
Перед тем как начать

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

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


Читать дальше →
Total votes 22: ↑19 and ↓3 +16
Comments 2

Android: выдвигающийся экран снизу

Reading time 5 min
Views 96K
Данная статья является переводом статьи Emrullah Luleci, а также её продолжения.

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

image

Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Comments 8

Information

Rating
Does not participate
Location
Обнинск, Калужская обл., Россия
Date of birth
Registered
Activity