Блог

26.04.2026 AspenForest

Попробовал в действии созданный язык программирования Weekend Game Language. Написал крошечную игрушку. Забавно.


25.04.2026 Interpreter

Доделал интерпретатор, включив в проект оставшиеся задуманные команды. В качестве тестирования написал программу примера использования команд (CommandsDemo.wgl). Это не может считаться серьёзным тестированием, но и интерпретатор, прямо скажу, немного уступает по сложности Java и даже ABAP :-)



19.04.2026 Interpreter

Интерпретатор выводит сообщение "Привет, Мир!".

Свой интерпретируемый язык программирования буду называть Weekend Game Language.


18.04.2026 Interpreter

Интерпретатор делаю как текстовый редактор, у которого появилось меню "Выполнить" с двумя пунктами: "Выполнить" и "Остановить". Центральная часть экрана разбита на две части. В верхней части расположен сам редактор, а в нижней - область, в которой будет отображаться всё, что выводит программа, интерпретируемая интерпретатором. Сегодня сделан только UI.



12.04.2026 CMS

CMS работает! Да, всё очень просто, но это именно то, что мне нужно. Сегодняшний вариант сайта сделан уже при помощи собственной CMS.

Полезно писать описания реализаций программ. Сегодня я решил получше написать раздел "Как программа написана" репозитория BankViewr, и это повлекло необходимость рефакторинга самой программы. Процесс описания показал, что я дал неудобные имена переменным, и их надо изменить.


11.04.2026 CMS

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



05.04.2026 EditorLibrary

Вынес в отдельный модуль пакет game.weekend.editorlibrary. Это облегчит создание текстовых редакторов в других проектах.


04.04.2026 TextEditor

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



29.03.2026 SimpleLibrary, TextEditor

Для SimpleLibrary сгенерировал документацию утилитой javadoc. Конечно, не обошлось без массы корректировок.

Переделываю BankViewer в TextEditor. Для редактирования текста используется JEditorPane. Добавлены пункты меню: "Создать", "Сохранить" и "Сохранить как…". Также добавлены кнопки в инструментальную линейку. При открытии файла проводится проверка наличия изменений в уже открытом файле (если таковой имеется). В меню "Правка" добавлены пункты "Отменить" и "Повторить", активность которых скоординирована с действиями пользователя. Пункт "Вырезать" теперь активизируется, если пользователь выделяет фрагмент редактируемого текста. В меню "Вид" появился пункт "Использовать моноширинный шрифт", "Увеличить шрифт", "Уменьшить шрифт" и "Размер шрифта по умолчанию". Для увеличения шрифта я использую комбинацию Ctrl+Equals, а не Ctrl+Plus, потому что так удобнее на моём ноутбуке. Конечно, не помешало бы сделать возможность искать с заменой. Но на сегодня это всё.


28.03.2026 SimpleLibrary

То, что может понадобиться в других проектах, вынес в библиотеку. Теперь это не просто пакет в проекте, а модуль game.weekend.simplelibrary.



22.03.2026 BankViewer

Ни строчки кода за сегодня. День был посвящен описанию BankViewer.


21.03.2026 BankViewer

Добавил всевозможный сервис, который, как мне кажется, должен быть в любой программе. А именно: открытие файла с помощью технологии Drag and Drop, подсказка в меню «Файл» о последних открытых файлах, установка имеющихся на компьютере Look and Fill, поиск в отображаемой таблице, выбор языка интерфейса, включение или выключение панели инструментов и инструментальной панели. Реализацию сервиса вынес в отдельный пакет game.weekend.simplelibrary. Далее вынесу его в отдельный модуль для использования в будущих проектах.

Думаю, мне будет полезно поупражняться в английском языке. Поэтому теперь комментарии в текстах программы будут на русском в проектах на Gitflic и на английском на GitHub. Вообще-то это трудоемко, но постараюсь придерживаться этого правила, сколько хватит сил.



15.03.2026 BankViewer

Программа готова! Ей присвоена версия 01.00. Да, нет никакого сервиса, даже инструментальная линейка сделана с кнопками без графики, но банковские выписки отображаются!

Для генерации тестовых файлов банковской выписки я создал самостоятельную программу TestGenerator. Она находится в пакете game.weekend.bankviewer.util. В тексте программы можно указать имя файла, количество строк банковской выписки, и она сгенерирует тестовый файл.


14.03.2026 Начнём!

Сегодня создал репозитории weekend-game и weekend-game.github.io.