• PlantUML и Draw.io для рисования схем

    За прошедшие несколько лет я дважды вел небольшой курс, посвященный объектно-ориентированному проектированию программ и языку UML. Если кто не знает, UML — это не язык программирования, а язык рисования схем (диаграмм). В UML определено множество диаграмм, каждая из которых отображает определенный аспект в разработке программы.

  • C++: разложение на минимум простых слагаемых

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

    Представьте целое число N в виде суммы минимального количества простых чисел. Слагаемые могут повторяться. Если решений несколько, выведите любое. Гарантируется, что исходное число N находится в диапазоне от 2 до 1’000’000 (включая границы). Программа должна уложиться в 1 секунду и 256 Мб памяти.

  • C++: получение массива простых чисел, часть 2

    В предыдущем посте по этой теме я написал программу на C++, создающую массив простых чисел, опираясь на самые простые алгоритмы (функция проверки простоты числа с помощью перебора делителей вызывается для каждого числа из заданного диапазона). Я старался не использовать каких-либо оптимизаций.

  • C++: получение массива простых чисел

    Само по себе получение массива простых чисел — задача несложная. Но она усложняется, если есть ограничение по времени. В моем случае требуется получить массив простых чисел из диапазона от -1'000'000 до 1'000'000 (включая границы), уложившись в 1 секунду (желательно с запасом) и при использовании не более 256 Мб оперативной памяти.

  • C++: тест простоты числа

    На днях пробовал решать задачки для собеседований в некую контору. Сделал вывод, что нужно освежить в памяти некоторые базовые вещи. Одна из таких вещей — проверка числа на простоту (википедия). Программа будет на языке C++.

  • HTML, CSS, JS: шахматное поле, часть 5: сохранение в файл и загрузка из файла

    В предыдущих постах (1, 2, 3, 4) я описал создание шахматного поля на веб-странице с помощью HTML и CSS. Я добавил на это поле шахматные фигуры и с помощью скрипта на языке JavaScript реализовал возможность перемещения этих фигур мышью. В этом посте я добавлю в проект возможность сохранения позиции в файл и загрузку позиции из файла.

  • HTML, CSS, JS: шахматное поле, часть 4: движение фигур

    В предыдущих трех постах (1, 2, 3) я описал создание шахматного поля на веб-странице с помощью языка разметки HTML и языка описания стилей CSS, с использованием входящей в CSS технологии Flexbox. Кроме этого, я добавил на шахматное поле шахматные фигуры (источник изображений). В этом посте я добавлю в проект возможность передвигать шахматные фигуры мышью с помощью скрипта на языке программирования JavaScript.

  • HTML, CSS: шахматное поле с помощью Flexbox, часть 3

    В предыдущих двух постах этой серии постов я описал создание простого шахматного поля (1) на веб-странице с помощью языка разметки HTML, языка описания стилей CSS и технологии Flexbox, а также добавил в проект не обязательные, но яркие штрихи: текстуры дерева для клеток шахматного поля, буквенно-цифровые обозначения для столбцов и рядов (2). В этом посте я опишу добавление на поле шахматных фигур.

  • HTML, CSS: шахматное поле с помощью Flexbox, часть 2

    В одном из предыдущих постов я описал создание веб-страницы с минималистичной версией шахматного поля. Проект писали со старшеклассниками, потом расширяли в течение нескольких занятий. Пока используем HTML и CSS, включая технологию Flexbox. JavaScript добавим позже. Вот как выглядел результат, скриншот (можно посмотреть и онлайн):

  • Google Test: пример из книги по TDD в обучении

    Предыдущие посты в этой серии постов:

    1. Как начать изучать тестирование программ на C++;
    2. Начало изучения системы сборки программ CMake;
    3. Интеграция модульных тестов в проект на C++.