Бортовой журнал Ктулху

Программирование

Когда подсаживаешься на C++, очень сложно остановиться. Мне показалось мало просто написать какое-нибудь простое приложение под Linux, я сразу решил его делать и под Windows. 

Итак, задача на данный момент - написать пока что простое оконное приложение с необходимыми элементами управления пока без функционала на чистом WinAPI на языке C++.

Мне нравится классические Windows приложения, такие, как они выглядели в старых Windows 98/2000/XP. В идеале, чтобы мое приложение запускалось на 2000+.

И, конечно же, я пишу приложение, которое смогу использовать в работе. 

Если нужно текстовое поле (text input) только для цифр и с ограничениме длины строки, то есть хорошая и плохая новость.

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

К сожалению, я столкнулся с ситуацией, что не могу установить на input number ограничение длины номера и пришлось использовать input text, не было реакции на maxlenght.

В процессе работы над своим первым проектом в Clion столкнулся с одним неудобством при сборке проекта. Программа после компиляции не запускалась по клику, выводилось сообщение "Для файлов типа 'Разделяемая библиотека' не установлено ни одного...", при этом, через командную строку приложение запускалось.

То есть, при компиляции тип файла устанавливался как "shared library", т.е., "разделяемая библиотека" и что-то с этим нужно делать.

 

После многих лет программирования на РНР захотелось попробовать силы в принципиально другом направлении - в десктопной разработке на C++. Здесь сразу пропускаю вопросы типа "почему (не Python, Java, Go, etc)", просто, захотелось.

Это мой первый учебный проект, но, возможно, кому-то также будет полезно для изучения. Аналогов этой программы, если что,  десятки и сотни, наверное и намного более функциональные. Но, суть не в этом.

Кто-то бухает, кто-то курит, а мне, вот интересно попробовать изучить другой, непохожий язык программирования. Не только, конечно, это, есть и другие интересы, но они не подходят по тематике этой статьи.

Для изучения чего-то желательно не просто сферический проект в вакууме, а нечто более или менее полезное в работе.

Так как я часто разрабатываю различные API, решил сделать клиента для отправки POST запросов. Для начала достаточно, тем более что это первый опыт разработки на C++.

Дополнительно, получу минимальный опыт в разработке интерфейсов.

Да, я написал еще один велосипед (:

Решил написать простой пример тестового приложения на GTK3 и C++. Конечно, это не какое-то новшество, в сети такого навалом, но рабочих примеров с гулькин ... хм, нос.

Будет пример создания простого окна с текстовым вводом и кнопкой.

JavaScript функция, принимающая на вход параметр адресной строки (query string) и меняюща его на указанный.

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

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

Запись в файл на C++. Каждая запись с новой строки.

Base64 - это способ закодировать некие данные при помощи 64-х символов (a-zA-Z0-9) ASCII и дополнительных символов.

Сложность определения состоит в том, что закодированная строка для программы ничем не отличается от любой другой строки. Можно, конечно, пытаться искать по отсутствию пробелов (не сработает для одиночных слов), по наличию кириллицы (не сработает для некириллических строк) или по наличию спецсимволов (актуально только для HTML).

Вместо этого можно использовать вышеперечисленные методы вместе как дополнительный  инструмент определения.