TechCave

Описание сайта

Основная информация

Java — строго типизированный объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Приложения Java обычно транслируются в специальный байт-код, поэтому они могут работать на любой компьютерной архитектуре, с помощью виртуальной Java-машины. Дата официального выпуска — 23 мая 1995 года.

Рейтинг: 1
Создана 4 года назад
Владелец root

Стена группы

Загрузка...
1 год назад
#

Реформа SQL-ориентированного подхода в DAO



Вводная

Мне часто в проектах приходится сталкиваться с фреймворками по работе с БД. Концептуально, эти фреймворки можно разбить на 2 больших класса:
  • ORM-ориентированные

  • SQL-ориентированные

Некоторые из них хороши, какие-то не очень. Но субъективно могу сказать: SQL-ориентированные уступают в развитии ORM-ориентированным. Подчеркну, в развитии, а не в возможностях. Хоть изменить эту чашу весов и не получится, но предложить необычный взгляд на мир SQL-ориентированного подхода — вполне. Кому интересно, добро пожаловать под кат

Источник
1 год назад
#

Создаём динамическую обложку ВКонтакте



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

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



На примере моего пустого сообщества-песочницы

Источник
1 год назад
#

Русскоязычная спецификация языка Java



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

Источник
1 год назад
#

Клиент-сервер шаг — за — шагом, от однопоточного до многопоточного



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



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



Источник
1 год назад
#

Распределенные структуры данных (часть 2, как это сделано)



В предыдущей статье — часть 1, обзорная — я рассказал о том, зачем нужны распределенные структуры данных (далее — РСД) и разобрал несколько вариантов, предлагаемых распределенным кешем Apache Ignite.



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



Итак:





Источник
2 года назад
#

JavaJoy OpenWebinar Log4jJavaJoy OpenWebinar Log4j


Как подключить логирование в ваш проект?

2 года назад
#

JavaJoy Открытый вебинар — Task Manager


2 года назад
#

Хачим IntegerCache в Java 9

Для многих переход на Java 9 выглядит как нечто абстрактное. Давайте переведем это в практическую плоскость одним коротким победоносным примером, который привел в своей статье Питер Варгас [1].

Это статья в жанре «неправильный перевод» с отсебятиной, потому что я художник, я так вижу smile Ссылки на источники – как всегда, в низу текста.

Пять лет назад Питер опубликовал блогпост на венгерском про то, как хакнуть IntegerCache в JDK. Это просто маленький эксперимент рантаймом, не имеющий никакого практического применения кроме повышения эрудиции, понимания как работает reflection, и как устроен класс Integer.

Источник
2 года назад
#

Сравниваем Java 8, RxJava, Reactor


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

Люди часто спрашивают меня:
Зачем мне вообще использовать RxJava или Reactor, если то же самое можно сделать с помощью Streams, CompletableFutures и Optionals?


image


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


Давайте определим 8 критериев, которые помогут нам понять разницу между этими библиотеками и стандартными возможностями Java:


Источник
2 года назад
#

Скрестить ежа (Marathon) с ужом (Spring Cloud). Эпизод 1


При переходе к распределённым системам с большим количеством инстансов сервисов в полный рост встают проблемы их обнаружения (service discovery) и балансировки запросов (load balancing) между ними. Как правило, для их решения используются такие специализированные инструменты как Consul, Eureka или старый добрый Zookeeper, в сочетании с Nginx, HAProxy и некоторым мостом между ними (см. registrator).


Основная проблема в подобном подходе это большое количество интеграций, и, как следствие, точек где что-то может пойти не так. Ведь помимо вышеупомянутых решений наверняка будет использоваться локальный маленький PaaS (например Mesosphere Marathon или Kubernetes). Последние, к слову, уже хранят необходимую конфигурацию об окружении (ведь через них идёт весь деплоймент). И встаёт вопрос, а можем ли мы отказаться от специализированных инструментов для service discovery и переиспользовать тот же Marathon для этой задачи?


Краткий ответ — можем. Если интересно как — читайте дальше.


Источник
2 года назад
#

Java и isomorphic React


image

Для создания изоморфных приложений на React обычно используется Node.js в качестве серверной части. Но, если сервер пишется на Java, то не стоит отказываться от изоморфного приложения: в Java входит встроенный javascript движок (Nashorn), который вполне справится с серверным рендерингом HTML с помощью React.

Код приложения, демонстрирующего серверный рендеринг React с сервером на Java, находится на GitHub. В статье буду рассмотрены:

  • Сервер на Java в стиле микросервиса на основе Netty и JAX-RS (в реализации Resteasy) для обработки web-запросов, с возможностью запуска в Docker.

  • Dependency Injection с использованием библиотеки CDI (в реализации Weld SE).

  • Сборка javascript бандла с помощью Webpack 2.

  • Настройка редеринга HTML на сервере с помощью React.

  • Запуск отладки с поддержкой «горячей» перезагрузки страниц и стилей с использованием Webpack dev server.


Источник
2 года назад
#

Монадные трансформеры для практикующих программистов


Прикладное введение в монадные трансформеры, от проблемы к решению


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


Всё как обычно: несколько лаконичных однострочных выражений (да, детка, это Scala!), несколько странных ошибок компилятора (о, нет, Scala, нет!), лёгкое сожаление о том, что вы написали такой запутанный код… И вдруг вы сталкиваетесь со странной проблемой: выражение for не компилируется. «Ничего страшного», — думаете вы: «сейчас гляну на StackOverflow», как вы это делаете ежедневно. Как все мы это делаем ежедневно.


Но сегодня, похоже, неудачный день.



Источник
Den
2 года назад
#

Под капотом среды разработки. Базовые модели


Некоторое время назад мне довелось разрабатывать компоненты сред разработки для Netbeans и JDeveloper. Хм..., на самом деле довольно давно, и надо бы написать статью об этом пока не всё забыл и пока ещё облачные среды не захватили мир окончательно. Так вот, мне посчастливилось заглянуть во внутренности тех продуктов, которые мы используем каждый день, в данной статье я расскажу о некоторых аспектах устройства сред разработки и о принципах проектирования моделей используемых внутри джава IDE. В качестве примеров буду использовать Netbeans, но в других средах всё примерно также, ведь одинаковые проблемы порождают сходные решения.

Источник
2 года назад
#

Простой пример JDBC для начинающих

Здравствуйте!
В этой статье я напишу простой пример соединения с базами данных на Java.Эта статья предназначена новичкам.Здесь я опишу каждую строчку объясню что зачем.
Но для начала немного теории.
JDBC (Java DataBase Connectivity — соединение с базами данных на Java)-предназначен для взаимодействия Java-приложения с различными системами управления базами данных(СУБД). Всё движение в JDBC основано на драйверах которые указываются специально описанным URL.
Итак практика.
Для начала создаём maven проект и в pom.xml помещаем зависимость для соединения с СУБД(В моём случае СУБД будет выступать MySQL):
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.38</version>
        </dependency>
    </dependencies>

Должно получится так:
Источник
Den
2 года назад
#

Два сапога Java: как прошли JBreak и JPoint 2017




Новосибирская конференция JBreak и московская JPoint — два сапога пара: обе проходят весной, обе проводятся JUG.ru, обе — главные Java-конференции своего региона. А в этом году мы и вовсе устроили их на одной неделе (и даже выжили после такого). Поэтому рассказы «как всё прошло» для JBreak и JPoint решили объединить в один, скажем так, «breakpoint». Под катом — подробности и о Новосибирске, и о Москве.

Источник
15 16 18 19

Авторизация

Войти с помощью

Пользователи

GeekBrains

КАРКАМ

Нетология