Разработка на Java без всего

Снова показываю как можно вести разработку «голыми руками» — без IDE, документации и даже интернета. На этот раз с помощью «пользовательской» Ubuntu Linux и OpenJDK.
Интеллектуальные соревнования
Снова показываю как можно вести разработку «голыми руками» — без IDE, документации и даже интернета. На этот раз с помощью «пользовательской» Ubuntu Linux и OpenJDK.
Для меня спорт - это базовая вещь, которая должна присутствовать в жизни по умолчанию. Особенно у разработчика, который по 10-14 часов в сутки сидит за компьютером и пару недель может не выходить из дома.
Поэтому решил рассказать о том, как я интегрировал спорт в свою повседневную жизнь. Причём интегрировал так, чтобы с минимальными усилиями получать максимум результата при минимальных затратах времени.
В этой статье я коротко опишу один приём, который помогает мне писать код быстрее и с меньшим числом ошибок. Я говорю «приём», но по факту это просто практика, которой я начал следовать с опытом, сам того не замечая.
Когда вы работаете над чем-то сложным, формируйте в уме некое подтверждение, что ваш код будет делать именно то, что вам нужно. Звучит вроде просто, но на деле всё оказывается сложнее. Чтобы начать делать это «на лету», не прерывая рабочий поток, потребуется упорная практика. Зато, когда вы освоите эту технику, то удивитесь, насколько чаще ваш код будет полноценно работать с первой или второй попытки. Невероятно впечатляет.
Добиться этого можно по-разному, и я не хочу давать какие-то категоричные рекомендации. Просто приведу несколько примеров тех вещей, о которых я сам рассуждаю «на лету», чтобы вы могли сформировать общее представление.
Образовательные программы компьютерных наук и информатики обязательно включают курс алгоритмов, это элегантные решения сложных проблем. Например, одна из самых интересных проблем комбинаторной оптимизации — задача коммивояжёра (TSP, travelling salesman problem). Суть в поиске самого выгодного маршрута, проходящего через указанные точки ровно по одному разу. Сложность задачи при точном решении брутфорсом составляет O(n!)
. И для неё тоже придумано несколько элегантных алгоритмов. Хотя поиск самого эффективного продолжается до сих пор.
В реальности уже нет коммивояжёров, путешествующих по городам, профессия ушла в прошлое. Но есть курьеры, таксисты, логисты, грузоперевозчики и просто туристы, которые хотят посетить максимальное количество достопримечательностей. То есть задача по-прежнему актуальна. Как же максимально эффективно настоящие бизнесы решают TSP в реальной жизни?
На Codenrock ежегодно проходит множество IT-соревнований: от хакатонов и ML-соревнований до CTF и турниров по спортивному программированию. Десятки тысяч человек выполняют задания, загружают решения, получают оценки, побеждают. Но до недавнего времени всё это оставалось в тени. А значит, пришло время это исправить.
В очередном обновлении мы добавили:
1. Публичный пользовательский профиль с навыками, достижениями, медалями, сертификатами и графиком активности в соревнованиях.
2. Глобальный рейтинг пользователей Codenrock — агрегирует баллы и медали, полученные во всех соревнованиях на платформе. Он обеспечивает прозрачное сравнение результатов, помогает объективно отслеживать собственный прогресс и мотивирует регулярно участвовать в новых конкурсах.
Всех хабровцев с началом лета! С вами Иван Клюев, я занимаюсь организацией и продвижением соревнований по программированию в России. Сегодняшний пост — репортаж о том, как сборные команды регионов боролись за Кубок России от Федерации Спортивного Программирования. Члены команд, занявших первые 3 места в своих дисциплинах, получили звания КМС (Кандидатов в Мастера спорта России).
Как я уже говорил, я буду продолжать рассказывать о киберспорте и смежных видах спора. Внезапно я узнал о выставке, посвящённой молодым видам спорта, в Государственном музее спорта. Поскольку выставка была связана не только с компьютерным спортом, но и с другими вида спорта: спортивное программирование, гонки дронов, лазертаг.
Интерактивная выставка «Спорт будущего в настоящем» посвящена новым, развивающимся видам спорта. Она демонстрировала, что происходит во время соревнований в каждой дисциплине, и предоставляет посетителям возможность попробовать каждый вид спорта самостоятельно. Выставка работала до 1 мая 2025 года. Поэтому представляю её обзор. Приятного чтения!
Я уже несколько лет готовлю задачи для республиканской и районных олипиад по информатике у себя в стране. Конечно, сложно придумать красивую и оригинальную задачу. Но этот процесс творчесский и приятный. Другое дело - писать тесты для задачи. Это работа нудная и тяжелая. Впрочем, в некоторых случаях, когда проверяются краевые условия, есть немного творчества. Однако, в ряде случаев тесты необходимо просто сгенерировать в соответствии с некоторыми условиями. Вашему вниманию представляется генератор тестов, то есть входных данных, для конкурсных задач по программированию.
В этой статье я расскажу о стеке и задачах в которых он применяется. Включая задачу с заключительного этапа Всероссийской олимпиады школьников по информатике 2025 года.
В 2022 году Чунгин (также использует в качестве прозвища Рой) Ли выпустился из школы Пичтри Ридж, расположенной в округе Гуиннетт штата Джорджия в США. Хотя биографии у Ли пока нет, восстановить многие факты о нём легко. К примеру: обычно американцы заканчивают старшую школу в 18 лет, поэтому вероятно, что молодой человек родился в 2004 году, а имя указывает на корейские корни. А вот характер Роя известен по его академическим успехам.
Рой закончил школу с отличием: он получил признание в программе Student Teacher Achievement Recognition или STAR. Это не общеамериканская программа, она характерна только для штата Джорджия. Критерии STAR строги: двенадцатиклассник должен не только хорошо сдать экзамен SAT, но и находиться в верхних 10 % школы (или быть в десятке лучших — что даёт больше участников) по среднему баллу с 9-го по 11-й классы.
С цифровым переутомлением и пресыщенностью медиаконтентом я сталкивался не раз и здесь поделюсь некоторыми способами защиты нервной системы. Главная цель приведенных техник — оторваться на минуту и продышаться.
Дан массив с числами, в десятичном представлении - из них можно удалить какие-то, а то что осталось конкатенировать. Для N
чисел это даёт 2^N-1
возможных результатов (нельзя удалить все числа) - и нам интересно сколько из этих результатов делятся нацело на 13
.
Для маленьких массивов можно написать простой перебор, но автор предлагает N=400000
- у одного из пользователей это сразу вызвало реакцию "2 в степени 400000 - это невозможно перебрать". Действительно, перебором тут не справиться :)
Задача тут - а под катом, поскольку о ней самой уже говорить нечего, я немножко расскажу про автора - это довольно любопытно (и может когда-то я смогу более подробный пост о нём сделать если получу от него самого больше информации).
В 1993 году в Лас-Вегасе сотня молодых хакеров собралась на «вечеринку для своих». Никто из них не подозревал, что положил начало движению, которое изменит подход к обучению специалистов по информационной безопасности.
За 30 лет формат Capture The Flag прошел путь от неформальных встреч студентов до масштабных шоу с призами и многочисленными спонсорами. Он завоевал мир, но, похоже, скоро снова вернется в аудитории вузов.
Об истории этого движения расскажет директор по развитию Бастиона Алексей Гришин — член оргкомитета VolgaCTF, одного из трех крупнейших российских CTF-соревнований, и организатор более 40 хакерских ивентов.
Привет, Хабр! С вами Иван Клюев и я опять делюсь отчетом об интересном хакатоне. С 27 февраля по 3 марта компания «Большая Тройка» провела онлайн-хакатон Б3, объединивший талантливых разработчиков из России и Беларуси. Это мероприятие дало участникам возможность проявить свои способности и знание программирования на реальной задаче и предложить инновационные решения для корпоративной платформы «Большой Тройки».
Привет, Хабр! Я Дарья Зыкина. Наша команда организует и продвигает лучшие хакатоны на Codenrock для IT-конкурсов любого формата, от ML-соревнований до CTF. В новом обновлении платформы появился календарь событий. Теперь любой организатор бесплатно может разместить на сайте анонс хакатона, который увидят более 100 000 человек. А в статье рассказываем про то, как подготовить классное описание для соревнования, которое привлечет участников.
Привет, Хабр! Меня зовут Дарья Зыкина, и я с командой организую и продвигаю лучшие хакатоны на Codenrock – нашей платформе для IT-конкурсов любого формата, от ML-соревнований до CTF. Мы провели масштабный анализ данных нашей аудитории в 100 000 пользователей, чтобы понять, как меняется мир технологических соревнований. В этой статье – ключевые цифры прошлого года и тренды 2025, которые помогут вам разобраться в возможностях хакатонов и использовать их для личного и профессионального роста.
Свертка подмножеств, это математический аппарат, который позволяет ускорить алгоритмы на множествах и быстро считать функции на подмножествах.
Статья будет интересна тем, кто интересуется нетривиальными, но красивыми алгоритмами!