Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam

Пикабу Игры +1000 бесплатных онлайн игр

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

Сноуборд

Спорт, Аркады, На ловкость

Играть

Отель Эмили. Пасьянс

Карточные, Казуальные, Головоломки

Играть
Это idle-игра стратегия о рыцарях, исследованиях, крафте и сражениях, которая предоставляет пользователям расслабляющий опыт. Игра не требует концентрации и идеально подходит, когда вам нужно сделать перерыв или отдохнуть.

Герои Мини-Королевства

Кликер, Стратегии, Мидкорные

Играть
Грибные блоки - красочная головоломка, в которой вам предстоит передвигать блоки и заполнять ряды, чтобы собирать грибочки в корзину! Попробуйте продержаться как можно дольше!

Грибные блоки

Головоломки, Расслабляющая, Пазлы

Играть
Стреляйте в преследующих вас врагов!
Оторвитесь от погони, ваш верный АК47 в этом поможет!
Огромный выбор оружия
Миниган, Арбалет, Стационарная пушка, Пулемет
Уничтожайте мотоциклы, квадроциклы, гоночные автомобили, вертолеты
Реалистичное оружие и машины

Погоня на Дороге: Шутер Реалистичное Оружие

Экшены, Аркады, Шутер

Играть

Топ прошлой недели

  • Oskanov Oskanov 8 постов
  • alekseyJHL alekseyJHL 6 постов
  • XpyMy XpyMy 1 пост
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Java книги

973 поста сначала свежее
4
ChooChooLoco
ChooChooLoco
1 год назад
Серия Мемуары говнокодеров

Пейте, дети, молоко! Пользуйтесь стандартной библиотекой И будьте бдительны!⁠⁠

Забавную ситуацию вспомнил: как-то на ревью коллега стал меня убеждать в необходимости своих правок. Обосновывал тем, что "из теста вернули с комментарием — очень долго работает запрос, не можем дождаться ответа и обрубаем". Поэтому он решил изменить способ итерации, чтобы всё ускорилось 🚀

Краткая суть: был метод, возвращавший некие данные за период (12 месяцев с отмоткой назад, endDate = 12 месяцев назад, нижняя граница). Внутри себя - он итерировался по этим месяцам, дергал другой метод для получения помесячных наборов, и агрегировал их. Конструкция была такая:

LocalDate startDate = LocalDate.of(2022, 11, 1);

LocalDate endDate = startDate.minusMonths(12);

for (LocalDate date = endDate; date.isBefore(startDate); date = date.minusMonths(1))

Подобный метод-агрегатор был не один, и на ревью первого из них я коллеге посоветовал генерировать набор дат вызовом библиотечного АПИ datesUntil с шагом в месяц, и дальше сгенерированный набор использовать. Это дело благополучно забылось, даты продолжали создаваться внутри for и кочевали с копипастой, дожив до обсуждаемого момента 🤷🏻‍♂️

Я сильно засомневался, что в совершенно ненагруженном вызове, при итерации по 12 элементам — иной способ итерации даст какую-то заметную разницу. Сделал иллюстративные наброски в JShell (полноценные бенчмарки лень было, да и ни к чему) для сравнения разных способов с исходным. Типа таких:

Пейте, дети, молоко! Пользуйтесь стандартной библиотекой  И будьте бдительны! Программирование, IT, Java, Программист

(копипастабельный текст тут)

Внимательный читатель уже видит суть проблемы. 🕵🏻‍♂️ Самый внимательный - уверен, увидел уже на третьем абзаце!

Результаты, ожидаемо, отличались крайне незначительно:

Dates list for - i => 692

Dates in-place generated for each => 704

Dates list for - each => 708

Dates array for - i => 708

Dates list forEach => 712

Dates list while + iterator => 1060

Разумного объяснения не было 🤯 Стали закрадываться мысли - а не хлопнуть ли нам взяться ли нам за JMeter, профайлер, снять граф... Углубиться, так сказать, до дна.

Не пришлось - взглянул повнимательней и заметил разницу: date = date.minusMonths(1) vs date.plusMonths(1). Вот оно! 🥳 Банальный бесконечный цикл с отмоткой назад от нижней границы периода.

Будь я бдительней - раньше бы заметил, что при копипасте цикла между методами - поменялось назначение границ периода, а итерация осталась старой. В одном методе работало ожидаемо, в другом - 💥.

Используй коллега библиотечный вызов - получал бы единообразно нужный период. И места для ошибки меньше, и проверять проще. И протестировано всё авторами. И оптимизацию бесплатную могут завезти.

Молоко, говорят - просто полезно для здоровья. Его даже за вредность дают. Но не всем 🐱

Показать полностью 1
[моё] Программирование IT Java Программист
2
4
user6389685
1 год назад

Помощь в обучении программированию⁠⁠

Прошу помощи в обучении программированию. Есть основы по Java/kotlin, js, html, css. Получались программы на Spring, Vaadin. Нет систематизации знаний и нормальной практики. Если есть неравнодушные люди, готовые помочь, прошу откликнуться с систематизацией обучения и практикой. Готов бесплатно помогать, писать, всё ради получения знаний и практики.

[моё] Программирование Java Kotlin Текст
14
Bot0FF
1 год назад

Свой собственный mmorpg мир⁠⁠

Всем привет!
Решил сделать на Пикабу небольшой бложек по развитию своей игры в телеграме. Первый пост сделал анонимно почему-то. Там рассказал о том, что я недавно начал изучать язык java и практиковаться решил посредством создания mmorpg игрушки в тг. На тот момент было сделано не так то и много, а именно: карта на 900 локаций, разнообразные противники, вещи. Бои происходили автоматически, нажми одну кнопку и готово. Как и говорил в тот раз, такие игры на любителя (текстовые), но мне нравится.
После первого поста несколько человек зашли все-же посмотреть, что я там сделал и пару даже докачались до 2 уровня, поверьте, радости моей не было предела, даже не считая того, что последний раз они заходили неделю назад.
А это время я по вечерам занимался тем, что писал систему пошагового боя. Сначала хотел выложить небольшие скрины кода, но уже при одной мысли услышал шепот грамотных разрабов с Пикабу: "Етить говнокод какой". Хотя, может что и дельное подсказали бы, но это в следующий раз. Конечно, через несколько лет я гляну на то что писал и подтвержу слова разрабов с Пикабу, но пока так. Стараюсь повышать свой уровень и исправлять написанное по мере изучения языка.
Кстати, для знающих, пишу на спринге, потому как он number one все же для приложений, бд postgres.
Теперь о том что сделано. Как уже говорил, система пошагового боя, то есть, бой по раундам, сначала нажимаешь кнопку куда атаковать, потом что защищать, потом ждешь хода противника и сразу отлетаешь на стартовую локацию, если он сходил и не повезло. На этапе создания этого функционала столкнулся со многими вопросами, которые очень интересно было решать. Даже на внимательность больше: а что если противник сходил, а ты в это время удачно сбежал из боя, что если вы в бою, а в это время кто-то решил напасть на тебя или на него, что если бой закончился, ты улетел на стартовую локацию, а на локации боя в списке игроков ты остался, и вот таких "что если" вагон и тележка маленькая. Не забыть проставить все true и false везде, короче говоря. Теперь я понимаю проблемы игровых студий, которые выпускают обновы, а в итоге проблем еще больше чем было: одно тянет другое, но разбираясь в этом, чувствуешь как серое вещество шевелится и пройдя глазами мимо строчки кода видишь, что тут надо еще подправить.
В общем, буду, по мере сил, делать обновления, учиться и, кто знает, что может из этого получиться.
Игрушка доступна по ссылке https://t.me/vzland_bot. Группы игры пока нет, но в скором времени будет. Так что пока вижу все недовольства игроков только в логах :)

Показать полностью
[моё] MMORPG Telegram Игры Текстовые игры Java Развлечения Текст
11
13
BattyAlesha
1 год назад
Лига программистов

Нужен совет разработчиков⁠⁠

Я сразу хочу извиниться за глупый вопрос. Я задался вопросом изучить kotlin и овладеть мобильной разработкой. Начал читать книгу Head First. Kotlin. По ходу чтения я понимаю, что мне не хватает понимания как устроен андроид. Начинаю читать книгу Книга «Head First. Программирование для Android». Становиться более-менее понятно про активности и начинку андроида. Но там написано на java. И меня немного это смущает, ведь со всех утюгов рисуют статистику, что kotlin намного лучше при мобильной разработке. Прошу опытных людей дать совет, как правильно стоит поступить: изучать андроид под java или несмотря ни на что браться за kotlin? Если я упускаю какие-то вещи, прошу подсказать.

Заранее, огромное спасибо)

[моё] Kotlin Java Разработка Android Android разработка Текст Нужен совет
42
3965
Shawurma
Shawurma
1 год назад
Инкогнито
Серия Лучшее

Это очень печально⁠⁠

Взято из телеграмма - Инкогнито

Это очень печально IT юмор, Программирование, IT, Программист, Юмор, Java, Javascript, Обучение, Переписка, Зашакалено, Скриншот
IT юмор Программирование IT Программист Юмор Java Javascript Обучение Переписка Зашакалено Скриншот
106
11
ChooChooLoco
ChooChooLoco
1 год назад

Git хук для запуска тестов⁠⁠

Есть у меня такой pre-push хук - автоматом прогоняет тесты локально, через maven. Подключается по необходимости через отдельные git конфиги для проектов.

Git хук для запуска тестов IT, Командная оболочка bash, Java, Программирование

Стащил его, судя по всему, отсюда: https://gist.github.com/arnobroekhof/9454645. Потом допиливал немного – чтобы он с многомодульными проектами работал корректно. Может, ещё что-то по мелочи причёсывал.

И он отлично работает (разве что можно через sed попробовать результаты по всем модулям агрегировать).

Но вот проблема – на текущем проекте везде gradle, а под него я что-то не могу найти похожего простого решения

Есть ли оно?

IT Командная оболочка bash Java Программирование
25
8
habba42
habba42
1 год назад
Лига программистов

Telegram client library - Java⁠⁠

Коллеги, а не может кто-то порекомендовать библиотеку для работы с клиентским API телеграма?

Как-то гугление и чтение док не принесло быстрого ответа. То что есть либо старое 3-8 лет, либо там какие-то шаманские пляски с бубном - скачай ZIP, возьми оттуда бинарную библиотеку под линукc.

Вдруг есть что-то простое - добавил как gradle зависимость и пошел работать.

C bot API все прекрасно. А вот с клиентской библиотекой прям беда.

PS: ну или не для Ява а для NodeJS хотя бы или Питона или дотнета. Заверну тогда в микросервис ее.

UPD: По ходу нашлось, как всегда не догуглил 10 минут https://github.com/tdlight-team/tdlight-java

UPD2: Вот еще похоже вариант https://github.com/Telegram4J/Telegram4J

[моё] Telegram Java Программирование Текст
5
17
oleko
1 год назад
Лига программистов

Дайджест Yabed по ИТ и Java, 23-30 июня⁠⁠

Представляем вам подборку очередных новостей из мира ИТ и JVM!

Новости ИТ:
Линус два месяца разрабатывал новое ядро и разработал-таки, встречайте Linux 6.4.
Яндекс научил нейросеть пересказывать содержание лонгридов. Характерно сервис называется 300, не знаем, что имелось в виду.
Теперь сториз будут доставать вас и в телеге.
Android обрёл новый логотип и лишился туловища.
Микрософт сделали аналоговый. Оптический. Компьютер.
А Ростех сделал роутеры.
Вконтакте почивает на лаврах ушедшего тиндера с отдельным приложением для знакомств.
Математики нашли новое, десятое дедекиндово число. На это потратили 32 года и один суперкомпьютер.

Почитать:
Введение в Java Process Memory Model
Глубокое погружение в Java Memory Model
Why I Don't do TDD
9 Simple Rules that will make your Java Code Better
Saga и Event Sourcing с Axon. Первое знакомство
Hibernate — проблема декартова произведения при запросах с пагинацией
Best Practice for Exception Handling In SpringBoot
Вопрос на сертификационном экзамене: применение Threads и Executors
CQRS The Why And How
Connecting Spring Boot Microservices with Kafka
Manifold vs. Lombok: Enhancing Java with Property Support
Интересные разборы аварии RUVDS: Самый длинный простой за нашу историю и Отвечаю на вопросы после аварии
Микроменеджер — горе в команде

Посмотреть:
Bootiful Spring Boot 3
Mob Programming and the Power of Flow • Woody Zuill
Как мы выбирали кеширование Java backend'а
Путь технического руководителя. Александр Ложечкин
Модель памяти Java процесса
Вторая космическая: как преодолеть притяжение внутренней платформы разработки

Послушать:
Бреслав и Ложечкин: Что является продуктом работы руководителя?
Podlodka #273: Оценки не нужны

Митап:
1 июля: Я. Субботник по Java
6 июля: DevOps Meetup
6 июля: RSHB Backend Dev Meetup

Показать полностью
IT Программирование Дайджест Программист Java Kotlin Текст
0
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии