Как скачать файл порциями?

Иногда требуется скачивать файл порциями. Причины бывают разные, например слишком “большой” объем файла, ширина канала не достаточна или сервер ограничивает объем данных для скачивания. В этой статье опишу каким образом реализовать скачивание файла небольшими порциями на языке Java по протоколу HTTP. Об HTTP Для таких целей HTTP предоставляет заголовок Range …

[Перевод] Создаем Gatling скрипты с помощью VS Code

Перевод статьи подготовлен в преддверии старта курса «Нагрузочное тестирование». Предисловие Недавно, благодаря комментарию одного из студентов, изучающих мой курс Gatling Fundamentals, я узнал о том, что вы можете создавать Gatling скрипты с помощью Visual Studio Code. Я, честно говоря, понятия не имел, что это возможно, — но был приятно удивлен, …

«Я бросил свой бизнес и стал разработчиком в 43 года»

Интернет пестрит захватывающими историями о людях, которые бросили наёмную работу ради собственного бизнеса. У Сергея Парахина, разработчика из московского офиса EPAM, ситуация другая. Он больше 20 лет развивал свой собственный бизнес, который всегда был связан с IT. По иронии судьбы именно стремительное развитие информационных технологий в корне изменило его компанию, …

Spring Integration — динамические потоки данных

Салют Хабр! Сегодня мы разберем достаточно специфичную область — потоковая обработка данных, с помощью Spring Integration фреймворка и как сделать эти потоки в runtime без предварительной инициализации в контексте приложения. Полный пример приложения лежит в Гите. Введение Spring Integration — фреймворк корпоративной интеграции (EIP), использующий под капотом механизмы обмена сообщениями …

JPoint 2020: новый формат, новые возможности

С 29 июня по 3 июля 2020 года в онлайн-формате прошла Java-конференция JPoint 2020. Информация о докладах, спикерах, особенностях проведения, впечатления от конференции — всё это можно прочитать далее. Читать дальше → from Java – Объектно-ориентированный язык программирования https://ift.tt/3f30eBG

JetBrains Technology Day for Java

В мае языку Java исполнилось 25 лет. Такое событие нельзя пропустить! Давайте праздновать вместе с JetBrains 10 июля на первом в мире виртуальном митапе для Java энтузиастов — JetBrains Technology Day for Java. Мы с интересом тестируем новый онлайн-формат и приглашаем всех желающих поучаствовать бесплатно. В течение дня наши эксперты …

Можете написать Deadlock на Camunda BPM? А я могу

Некоторое время назад я писал про успешную миграцию с IBM BPM на Camunda, и теперь наша жизнь полна счастья и приятных впечатлений. Camunda не разочаровала, и мы продолжаем дружбу с этим BPM-движком. Но, увы, Camunda может преподносить и неприятные сюрпризы, из-за которых иногда получаются не самые очевидные результаты. В этой …

[Из песочницы] Блокировка двойного клика. Велосипед?

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

[Перевод] Вероятно, хватит рекомендовать «Чистый код»

Возможно, мы никогда не сможем прийти к эмпирическому определению «хорошего кода» или «чистого кода». Это означает, что мнение одного человека о мнении другого человека о «чистом коде» обязательно очень субъективно. Я не могу рассматривать книгу Роберта Мартина «Чистый код» 2008 года с чужой точки зрения, только со своей. Тем не …

Подключение к session в Java и Python. HttpURLConnection и CookieManager (Java). Requests(Python)

Допустим, что нам надо подключиться к серверу, авторизоваться и поддерживать сессию. В браузере это выглядит следующим образом: На адрес http://localhost:8080/login отправляется пустой GET запрос. Сервер присылает формочку для заполнения логина и пароля, а также присылает Cookie вида «JSESSIONID=094BC0A489335CF8EE58C8E7846FE49B». Заполнив логин и пароль, на сервер отправляется POST запрос с полученной ранее …

Weapon wheel в Doom 1993

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

[recovery mode] Понятнее о S.O.L.I.D

Большинство разработчиков с разговорами о принципах архитектурного дизайна, да и принципах чистой архитектуры вообще, обычно сталкивается разве что на очередном собеседовании. А зря. Мне приходилось работать с командами, которые ничего не слышали о S.O.L.I.D, и команды эти пролетали по срокам разработки на многие месяцы. Другие же команды, которые следовали принципам …

27 июня, стрим-конференция «Кодинг будущего»

Привет! Если вы читали наши предыдущие посты, то уже знаете про Alfa Battle для Java-разработчиков. Послезавтра в прямом эфире можно будет посмотреть финал чемпионата, с 12.00 до 18.00. Параллельно стриму с финалом мы запустим стрим-конференцию под названием «Кодинг будущего», где с партнерами чемпионата (Билайн и X5 Retail Group) поговорим о …

Используем Xtend для прикладной кодогенерации: сеанс чёрной магии с разоблачением

Привет Хабр! Меня зовут Когунь Андрей. В КРОК я руковожу группой разработчиков Java (у нас большая распределённая по всей стране команда). Ещё я провожу встречи московского сообщества Java разработчиков JUG.MSK. Делаю это исключительно в корыстных целях: фотографируюсь там со всеми докладчиками, и однажды открою галерею с самыми интересными людьми в …

[Перевод] Kotlin vs Java

И снова здравствуйте. В преддверии старта нового курса «Backend-разработка на Kotlin», мы подготовили для вас перевод статьи, в которой рассказывается о том, чем же Kotlin отличается от Java. «Kotlin – новый язык программирования, который заставит вас отказаться от Java». На европейской конференции Zebra APPFORUM 2017 в Праге наш Android-разработчик Питер …

[Перевод] Управление несколькими JDK в Mac OS, Linux и Windows WSL2

И снова здравствуйте. В преддверии старта курса «Разработчик Java» подготовили для вас перевод интересной статьи. Если вам, как и мне, приходится одновременно работать с несколькими проектами (как с легаси, так и с современными), а возможно, вы разрабатываете какую-то библиотеку или утилиту для пользователей с разными версиями Java, то вы поймете …

[Перевод] Как устроен Selenium: Эпизоды 3 — 5

Салют, хабровчане. Сегодня мы продолжаем серию переводов, приуроченных к запуску курса «Java QA Engineer». Эпизод 3 — isDisplayed В результате диалога, произошедшего в последние выходные января 2020 года, который был посвящен одной из проблем в Selenium, где кто-то сказал мне «почему ты просто не сделаешь так…» в ответ на объяснение …

[Перевод] Как научиться программировать на java: почему стоит и где начать

Определитесь со своими карьерными целями и выберите язык. Это пожалуй самый важный совет для тех, кто не имеет опыта программирования и стремится присоединиться к сообществу разработчиков. Но как сделать выбор, не зная, какой язык больше всего подходит для ваших целей? Было бы проще, если бы среди всех языков программирования был …

Тестирование горизонтального масштабирования SELECT запросов на реплику

Тестирование горизонтального масштабирования SELECT запросов на реплику Цель данного поста протестировать горизонтальное масштабирование SELECT запросов на реплику. Схема горизонтального масштабирования примерно такая. Читать дальше → from Java – Объектно-ориентированный язык программирования https://ift.tt/3hVzXHg

FlexCube — внедрение революционной бэк-офисной платформы в Росбанке

Друзья, привет! Я — Никита Климов, Platform Owner Oracle FlexCube (FCUBS) для процессинга операций корпоративных депозитов, межбанковских кредитов, валютных операций и деривативов в Росбанке. Сегодня я расскажу, как мы внедряли платформу FCUBS и в чем уникальность этого проекта для российского рынка. Все подробности под катом. Читать дальше → from Java …