Речь пойдет о DHT на примере ее реализации известной под названием Kademlia. DHT переводится как распределенная хеш таблица и предназначена для построения децентрализованной сети обмена информацией. Все ниже изложенное работает в клиенте для ED2K сетей для платформы Android и в виде демона на линуксе. Детали реализации ниже.
Читать полностью »
Рубрика «java» - 144
Kademlia (DHT) — практическое руководство
2017-04-04 в 11:52, admin, рубрики: DHT, ed2k, edonkey, edonkey2000, emule, file sharing, java, kademlia, Peer-to-Peer, Разработка под android, метки: eMuleНужны ли нам нейронные сети?
2017-04-03 в 11:35, admin, рубрики: Dota2, java, машинное обучение, свёрточная нейросетьИли повесть о том, как я сделал распознавания изображений с помощью свёрточной нейронной сети без нейронной сети. Интересно? Тогда прошу под кат.
Читать полностью »
Как понять и подружиться с транзакциями и JPA
2017-04-03 в 9:16, admin, рубрики: java, javaee, jpa, orm, базы данных, моделирование данных, Программирование, Проектирование и рефакторинг, транзакцииНаверное, все знают о транзакциях в реляционных базах данных, все слышали про ACID. Но тем не менее есть разница между знать и прочувствовать, сам с этим столкнулся, когда пришлось переквалифицироваться в бэкэнд разработчика. Думаю, в тот момент подобная статья здорово бы мне помогла, надеюсь она окажется полезна и вам.
При разработке энтерпрайз приложений зачастую с базами данных взаимодействуют посредством ORM технологии, в мире джавы наиболее известна технология JPA (Java Persistence API) и её реализации — Hibernate и EclipseLink. JPA позволяет взаимодействовать с базой данных в терминах объектов предметной области, предоставляет кэш, репликацию кэша при наличии кластера в middle tier-е.
Как это обычно происходит:
Читать полностью »
Разработка WebRTC видеочата между iOS, Android и браузером
2017-04-03 в 7:43, admin, рубрики: android development, chrome, Conference, html5, ios development, iOS разработка, java, javascript, objective-c, video streaming, WebRTC, Блог компании Flashphoner, видеочат, Программирование, Разработка веб-сайтов, разработка мобильных приложений, стриминг
В предыдущей статье мы описывали принципы разработки видеочата между браузером и Android — устройством. Теперь же попробуем усложнить задачу и заимплементить трехсторонний видеочат на следующих платформах: Google Chrome на десктопе, Android приложение на планшете, и iOS приложение для Apple iPhone.
Читать полностью »
«Хорошие внешние ограничения — основа для творчества»: Олег Чирухин о Сбербанк-Технологиях, Java и Новосибирске
2017-04-03 в 7:24, admin, рубрики: devops, java, jbreak, Блог компании JUG.ru Group, Новосибирск, Олег Чирухин, Сбербанк-Технологии, метки: Олег Чирухин, Сбербанк-Технологии
Если устраиваешь Java-конференцию в Новосибирске, это не значит, что всех интересных спикеров надо откуда-то привозить: в городе есть свои заметные фигуры. Среди них — Олег olegchir Чирухин, чьи последние хабрапосты о Java набрали множество просмотров, и на предстоящем JBreak он выступит с докладом «DevOps: теперь Java не тормозит».
В преддверии JBreak мы расспросили Олега на разные темы: от «Сбербанк-Технологий», где он работает, до того, чем для программиста Новосибирск лучше Москвы, а Java лучше PHP.
Как я создаю базу данных для своих приложений
2017-04-02 в 8:34, admin, рубрики: android, IDE, java, sql, sqlite, Разработка под androidВсем привет! Меня зовут Олег и я программист-любитель под Android. Любитель потому что в данный момент я зарабатываю деньги программированием в совсем другом направлении. А это хобби, которому я посвящаю свое свободное время. К сожалению у меня нет знакомых программистов под Android и все свои базовые знания я черпаю либо из книг, либо из интернета. Во всех тех книжках и статьях в интернете, которые я читал, созданию базы данных для приложения отводится крайне мало места и по сути все описание сводится к созданию класса являющегося наследником SQLiteOpenHelper и последующему внедрению SQL кода в Java код. Если не считать, что мы получаем плохо читаемый код (а если в нашем приложении появляется больше 10 таблиц, то вспоминать все эти взаимосвязи между таблицами тот еще ад), то в принципе жить можно конечно, но как-то совершенно не хочется.
Забыл сказать самое главное, можно сказать что это моя проба пера тут. И так поехали.
Читать полностью »
Избавляемся от ConcurrentModificationException
2017-04-02 в 2:26, admin, рубрики: ConcurrentModificationException, java, коллекции, ПрограммированиеКак известно, ConcurrentModificationException к многопоточности никакого отношения не имеет. Возникает эта гадость, когда мы пытаемся модифицировать коллекцию во время итерирования по ней. Как обычно, это имеет исторические корни: коллекции и итераторы появились в Java 1.2, в те времена избежать явного использования итератора при обходе коллекции было никак нельзя, так что предложение менять коллекцию посредством методов итератора не выглядело совсем ужасным:
Iterator iterator = collection.iterator();
while (iterator.hasNext()) {
Object element = iterator.next();
if (iDontLikeThisElement(element)) {
iterator.remove();
}
}
Мифы о Spark, или Может ли пользоваться Spark обычный Java-разработчик
2017-03-31 в 7:27, admin, рубрики: java, jpoint, jug.ru, scala, spark, Блог компании JUG.ru Group, мифы о spark, ПрограммированиеПродолжаем расшифровывать и местами облагораживать хардкорные доклады спикеров JPoint 2016. Сегодня доклад поменьше, всего час с копейками, соответственно, концентрация пользы и отжига на одну минуту зашкаливает.
Итак, Евгений EvgenyBorisov Борисов о Spark, мифах и немного о том, дествительно ли тексты Pink Floyd адекватнее, чем у Кэти Пэрри.
Это будет необычный доклад о Spark.
Обычно много рассказывают про Spark, какой он крутой, показывают код на Scala. Но у меня немного другая цель. Во-первых, я поговорю о том, что такое Spark и зачем он нужен. Но основная цель — показать, что вы, как Java-девелоперы, можете прекрасно им пользоваться. В этом докладе мы развеем несколько мифов о Spark.
Читать полностью »
Уменьшение размера дистрибутива в Java 9
2017-03-30 в 19:41, admin, рубрики: java, jbreak, Jigsaw, jpoint, modularity, Блог компании JUG.ru GroupЧерез четыре месяца планируется выпустить Java 9 (надеемся, что переносов сроков больше не произойдёт). Ничто не мешает уже сейчас на предварительной версии проверить, насколько соответствует ожиданиям главная возможность новой версии — модульность (проект Jigsaw).
В статье описываются изменения, требуемые для сборки дистрибутива с поддержкой модульности. Сборка дистрибутива производится в операционных системах Windows, macOS и Linux.
Читать полностью »
SEM раз отмерь. Или «как узнать SEM ли ты и что с этим делать дальше?»
2017-03-30 в 7:05, admin, рубрики: .net, challenge, CrossOver, java, ruby, ruby on rails, SEM, software engineering, software engineering manager, tournament, Блог компании Crossover, метки: software engineering managerДа, мы запускаем вторую серию Турниров Кроссовера!
2 апреля в Петербурге — в этот раз мы ищем Software Engineering Managers и Technical Product Managers, а потом 22 апреля в Москве (.NET или Java техлидов).
Но прежде, чем рассказать о том, что будет – давайте посмотрим, как это было в Москве 18 февраля.
Честно говоря, когда мы решили проводить турниры по отбору классных разработчиков, вместо того, чтобы принимать все заявки онлайн – мы отчаянно рисковали.
Читать полностью »