Давным-давно, когда трава была зеленее, а деревья выше, жил-был тролль, по имени Xenocephal. Жил он, в принципе, во многих местах, но мне повезло встретить его на одном форуме, где я, в то время, набирался ума-разума. Я уже не вспомню топика, в котором протекала беседа, но суть ее сводилась к тому, что Xenocephal пытался убедить всех окружающих, что Lisp (с его макросами) — всему голова, а C++, с его шаблонами, жалкое подобие левой руки. Также утверждалось, что наметапрограммировать в нем что-то сложнее набившего оскомину факториала не представляется возможным.
Читать полностью »
Метка «c++» - 38
Что-то посложнее факториала
2013-05-08 в 11:28, admin, рубрики: c++, DFA, nfa, templates, КодоБред, ненормальное программирование, ностальгия, метки: c++, DFA, nfa, templates, ностальгияЕдинорог вновь готов к общению с Си++ программистами
2013-05-08 в 6:25, admin, рубрики: c plus plus, c++, c++11, pvs-studio, Блог компании PVS-Studio, Си, си плюс плюс, си программирование, метки: c plus plus, c++, c++11, pvs-studio, Си, си плюс плюс, си программирование
Приглашаю Си/Си++ программистов присоединиться к блогу PVS-Studio. Вы узнаете о разных интересных вещах из мира Си/Си++ и о том, кто, где и как программирует. Расскажу немного о том, что не было опубликовано на Хабре за время нашего отсутствия здесь.
Читать полностью »
OpenGL ES 2.0 обертка для Qt
2013-05-07 в 5:45, admin, рубрики: blackberry 10, c++, game development, Harmattan, opengl es 2.0, qt, Qt Software, wrapper, метки: blackberry 10, c++, Harmattan, opengl es 2.0, Qt, wrapper, десктоп Давным давно, когда я писал игру под адроид, нужно было мне разобраться с OpenGL ES 1.1. Вроде бы ничего сложного, 2D графика, нужно было просто рисовать PNG изображения, с возможностью масштабирования, поворота, добавления прозрачности. Тогда я потратил на это около недели, а может даже и больше, уже не помню. Было сложно, поскольку с OpenGL я никогда дела не имел. Сильно помог исходный код libgdx, в котором, кстати, все низкоуровневые OpenGL функции спрятаны от разработчика.
Времена меняются, на смену OpenGL ES 1.1 приходит версия 2.0, которая довольно сильно отличается. Приходится разбираться, что это за шейдеры, и почему без них никак. На это опять уходит несколько дней. Казалось бы, должно быть легко, ведь 2D, все просто. Например, если использовать QML, это делается вот так:
Image
{
source: "brick.png"
opacity: 0.8
rotation: 90
}
А если писать все на С++, то получается много-много строк кода, которые сложно понять, если не знаком с OpenGL. Я пытался найти какую-нибудь библиотеку, обертку над OpenGL, как libgdx, только для Qt, но безуспешно. Поэтому решил, после того, как у меня все заработает, я напишу небольшую обертку, которая прячет все OpenGL вызовы и позволяет удобно работать с 2D графикой.
Читать полностью »
Обработка и классификация запросов. Часть третья: Исправление опечаток
2013-05-06 в 8:57, admin, рубрики: c++, mail.ru, Блог компании Mail.Ru Group, поиск, Поисковые машины и технологии, поисковые системы, поисковые технологии, метки: c++, mail.ru, поиск, поисковые системы, поисковые технологииОпечатки бывают иногда полезны тем, что веселят читателя. Поисковые системы оценить юмора пока не в состоянии, и слова, набранные с ошибками, приводят их в замешательство, что в результате огорчает пользователя. Для предотвращения этих явлений существуют автоматические «исправляторы» опечаток, они же спеллчекеры.
О различных подходах к исправлению опечаток написано уже более чем достаточно, поэтому в этой статье я не буду повторять уже известное, а покажу, как написать спеллчекер с нуля — простой, но вполне дееспособный. Всё, что для этого нужно — это список правильных слов и немного С++.
Советы и общие рекомендации начинающим программистам-линуксоидам
2013-05-06 в 8:53, admin, рубрики: c/c++, C#., java, python, Программирование, метки: c/c++, c++, java, pythonКому предназначена статья
Думаю, каждый современный программист любит составлять свою собственную библиотеку книжек и видео для чтения и просмотра на ридере иль каком-либо планшете. Подобное занятие необходимо и всякому новичку, чтобы разобраться в том, что ему больше подходит. С этого решил начать в своё время и ваш покорный слуга. Процесс нахождения полезной литературы, настройки IDE и ознакомления с ней занимает уйму времени, поэтому я и решил изложить то, к чему пришёл по данному вопросу. Постараюсь собрать и систематизировать всё в одной статье. Автор данной статьи не является профессионалом и отражает его собственный небольшой опыт в том, как становиться программистом.
С чего стоит начать новичку-хеллоуворлдщику
Первое, с чего стоит начать, так это определиться, в какой области и в каких языках вы собираетесь быть профессионалом. Для этого сначала лучше оценить потребности на рынке труда в том городе, где вы собираетесь работать (хотя расположение не мешает вам фрилансить где и на кого угодно). Это можно проделать самому по hh.ru, career.ru, hantim.ru или воспользоваться соответствующими статьями. Для примера оценка на 2012г: habrahabr.ru/company/hh/blog/156803/ (ссылки в статье не ради рекламы) Но не стоит бросаться на самые популярные языки (php, javascript и прочие языки с низким порогом вхождения). Тем более на то, что изучают в школе (turbo pascal, basic и т.п.), таким путём вы потратите время впустую и не будете представлять какой-либо ценности работодателю.
Читать полностью »
Вывод метаданных модели MVC в динамическую разметку
2013-05-06 в 7:48, admin, рубрики: .net, asp.net mvc, axaj, backbone, javascript, Песочница, метки: .net, asp.net mvc, axaj, backbone, c++, javascriptВ ASP.NET MVC метаданные — атрибуты, описывающие поля модели, используются как при генерации разметки (вывод названия поля, его заполнителя и т.д.), так и при валидации данных (вывод правил валидации). Условно можно выделить 2 вида валидации:
- клиентская валидация
- серверная валидация
Клиентская валидация хороша тем, что пользователь сразу же видит допущенные ошибки в заполнении полей и может внести поправки без необходимости отправлять данные серверу (ненавязчивая валидация). Именно этот тип валидации необходим в нашем случае.
Итак, необходимо реализовать автоматический вывод метаданных модели MVC на клиентскую сторону и ненавязчивую валидацию.
Читать полностью »
Интероперабельность: Фортран и C#
2013-05-04 в 14:49, admin, рубрики: .net, fortran, Программирование, метки: .net, c++, fortran, tutorial, ПрограммированиеКак известно, в мире миллионы и миллионы строк легаси-кода. Первое место в легаси, разумеется, принадлежит Коболу, но и на долю Фортрана досталось немало. Причём, в основном, вычислительных модулей.
Не так давно мне принесли небольшую программку (менее 1000 строк, более четверти — комментарии и пустые строки) с задачей «сделать что-нибудь красивое, например, графики и интерфейс». Хоть программа и небольшая, а переделывать её не хотелось — дядька её ещё два месяца будет старательно обкатывать и вносить коррективы.
Результаты работы в виде нескольких кусков кода и вагона текста старательно изложены под катом.
Читать полностью »
Как я писал Pacman’a и что из этого получилось. Часть 2
2013-05-01 в 6:26, admin, рубрики: Android NDK, c++, game development, jni, Pac-Man, Разработка под android, метки: Android NDK, c++, jni, Pac-Man
Здравствуй! Во второй части статью я продолжу рассказ о том, как я писал клон игры Pacman. Первую часть можно почитать здесь.
С момента, когда я последний раз работал над пакманом прошло порядка трех недель. Прошла большая часть сессии, стало немного больше времени и я решил продолжить. В этот момент появилось желание доделать игру до состояния, когда ее можно будет выложить в Google Play Market, хотя в самом начале разработки я об этом даже не помышлял. Кроме того, доделывание до играбельного состояния – неплохая тренировка. Где-то я слышал, что игры (да и вообще приложения) стоит доделывать.
Напомню, что разработка игры велась с использованием Android NDK (С++) и OpenGL ES 2.0.
Как я научил родителей качать турецкие сериалы одним щелчком
2013-04-30 в 11:46, admin, рубрики: rutracker, Программирование, торренты, метки: c++, rutracker, торренты Добрый день!
У многих из нас есть родители, которые не очень дружат с техникой, и дружить приходится за них. Моя семья в полном составе смотрит сериал "Великолепный век", серии которого выходят раз в неделю. Вроде не так часто, но субботу за субботой слышать «Иди проверь, нет ли серии», искать раздачу, запускать торрент и так далее стало утомительно, и я решил переложить это на цифровые плечи четвертого .NetFramework-а.
Что нам понадобится:
— Visual Studio 2010 или выше
— Консольный торрент-клиент Aria2c.
Читать полностью »
Защита Citrix Web Interface от brute-force атак с помощью CAPTCHA
2013-04-30 в 11:43, admin, рубрики: ASP, captcha, citrix, информационная безопасность, метки: c++, captcha, citrix Программный продукт Web Interface от Citrix используется как для XenApp так и для XenDesktop и представляет собой набор web скриптов, а также, консоль для управления.
Web Interface обеспечивает безопасный доступ к ресурсам XenApp и XenDesktop из любой точки при помощи любого устройства, оснащенного браузером.
Web Interface принимает имя пользователя и пароль на форме сайта и напрямую передает системе аутентификации, в большинстве случаев это Microsoft Active Directory. При настройках по умолчанию, после нескольких попыток с неправильно введенным паролем, учетная запись пользователя блокируется на определенный промежуток времени (обычно от 10 до 30 минут), что довольно надежно защищает от атак типа “brute-force”. Проблема в другом — получается, что зная адрес Web Interface и имя пользователя, можно обычными HTTP запросами, повторяющимися каждые 10-15 минут, полностью блокировать учётную запись.
Решение проблемы очевидно — captcha, однако на данный момент стандартных способов для активации captcha на Web Interface Citrix не предоставляет и придется редактировать код скриптов ручками. К счастью, ничего сложного в этом нет.