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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Самый простой способ убрать все пробелы - это комбинация str_replace и trim. Еще одна шпаргалка.

Понадобилось мне заполнять на основе ассоциативного массива выпадающий список <select><option></option></select> используя jQuery. Каких-то готовых решений нет, каждый пишет свой велосипед. Вот я тоже напишу свой, но с бантиками.

Как связать две таблиц через ActiveRecord Yii2, используя промежуточную таблицу.