ЛЕНТА СОБЫТИЙ
Мультиплатформенное
В процессе работы над проектом потребовалось решить задачу обмена информацией с сервером. Для передачи данных по сети в реальном времени было решено использовать неблокируемый UDP сокет.
В настоящее время код проекта пишется на базе библиотеки SDL2, поэтому для работы с сокетами вначале было опробовано решение стороннего разработчика, связанное c основной библиотекой - SDL2_net. Увы, но некоторые особенности кода, проблемы с типами данных на разных платформах, заставили оказаться от его использования. Положительным моментом оказалось то, что пришлось тщательно изучить работу с... [ продолжение ]
Сервис антиспама
В сети много интересных сервисов. Совершенно случайно нашел сайт, на котором по ссылке можно посмотреть базу данных спамеров по ссылке:
Очень удобно при регистрации новых пользователей посмотреть историю активности адреса электронной почты этого пользователя в Сети. После этого уже не надо сомневаться с какими целями на твоем сайте пытается зарегистрироваться очередной кандидат - спамеров видно сразу.
Компилятор GCC 5.3
На тему разработки мультиплатформенных приложений. Для такой работы логичнее всего использовать мультиплатформенный компилятор/библиотеку. Из имеющихся вариантов довольно популярен “gсс” с библиотеками и утилилитой “make” в составе “mingw-w64”. Для его установки на сайте проекта есть несколько вариантов. Самый простой из них - это скачать готовое окружение в архиве и распаковать его на своем рабочем компьютере в нужном каталоге. Никаких инсталяторов, глюков с прокси и прочих проблем.
Ссылки на архивы с готовым окружением можно найти на... [ продолжение ]
Настройка VIM для работы с C++
Основная машина для разработки у меня под Archlinux. На *nix серверах, с которыми я работаю, на установку и настройку Вима уходит минимальное время, тут все логично - “жизнь диктует”. Но недавно я попробовал “причесать” gVim на домашнем буке под Win-8.1 и неожиданно столкнулся с трудностями.
Я спросил у … Гугля и его коллег. В сети дрейфует огромная масса публикаций о знаменитом редакторе. Вы без труда найдете избитые шуточки, пространные руководства, советы скопировать готовый конфиг (не вникая в суть). Но мне... [ продолжение ]
Индикатор популярности
Ну вот, дождались. Похоже, что мой сайт начал появляться в выдачах поисковых систем. Уж очень активно поперли новые регистрации с бредовыми логинами и тупыми емайлами. Дорогие мои спамеры - вы прямо индикатор популярности ресурса. Вот только фантазия у большинства на новые логины/майлы слишком бедная. Не будет нормальный человек регистрироваться на новом сайте с логином который не только тудно запомнить, но прочитать без тренировки невозможно. Ну право, глупо же!
Но вобще, ссылку на регистрацию я отключу. Незачем она мне пока тут.... [ продолжение ]
Статическая сборка c библиотекой SDL2
Если в проекте на языке С++
используется SDL2
, то обычно исполняемый файл при сборке линкуется с библиотекой динамически. Это не всегда оказывается удобным. Ваше приложение оказывается зависимым от (не)установленных / изменившихся сторонних библиотек, из-за чего в один “прекрасный” момент оно может просто оказаться неработоспособным. В настоящее время лицензия на использование библиотеки SDL2
позволяет без ограничений статически встраивать код библиотеки в Вашу программу. Этим мы сейчас и займемся.
Естественно, размер исполняемого... [ продолжение ]
Придавили шаблоны
Утонул в шаблонах С++. Вторую неделю барахтаюсь. Приходится выделять часть времени на разработку кода, иначе мозг сопротивляется.
В проекте кроме OpenGL графики проявляются дополнительные направления работы - базы данных, сетевые технологии и неблокирующие соединения, шифрование связи. Надо со всем этим разбираться.
В процессе изучения С++
Работа с книгой Страуструпа растянулась по времени намного дольше, чем я ожидал. По стилю изложения руководство по Си от Кернигана и Ритчи сильно отличается от Страуструпа - у них более академичный стиль, материал подается ровно и последовательно. А Страуструп часто “забегает вперед” и использует примеры кода, работа которого непонятна из-за того что в нем применяются методики, описанные гораздо дальше по тексту. Это сильно тормозит процесс, так как заставляет по нескольку раз возвращаться назад и перепрыгивать вперед вслед за автором.
Тем... [ продолжение ]