Как-то в одной социальной сети наткнулся на игру балда с нестандартными правилами (большие поля и узелки). Программы-подбиралки в основном работают по классическим правилам и на полях 5х5. Поэтому у меня появился спортивный интерес написать свою подбиралку полностью адаптированную под нестандартные правила. Причем не просто написать подбиралку, а реализовать максимально быстрый алгоритм поиска слов.
Рубрика «c++» - 209
Алгоритм быстрого поиска слов в игре балда
2013-12-29 в 11:59, admin, рубрики: c++, Алгоритмы, Балда, поиск слов, слова, метки: Алгоритмы, Балда, поиск слов, словаБалансировочный стенд своими руками на отладочной плате SiLabs C8051F120-TB
2013-12-26 в 12:28, admin, рубрики: c++, rs-232, Программинг микроконтроллеров, Программирование, метки: .com, c++, rs-232
Если вы задумали отбалансировать что-то вращающееся, будь то колесо, винт самолета или летающая тарелка. Или Вам интересна история, как проходят рабочие будни программиста. Увлекательная история по созданию балансировочного стенда…
Читать полностью »
Поздравляем победителей конкурса «Мессенджер Вконтакте для Tizen»!
2013-12-26 в 10:48, admin, рубрики: c++, html5, javascript, mobile development, Samsung, tizen, tizen sdk, vk.com, Блог компании Samsung, Вконтакте, конкурс, мобильная разработка, метки: c++, html5, javascript, mobile development, Samsung, tizen, tizen sdk, vk.com, Вконтакте, конкурс, мобильная разработкаПривет!
Настало время подвести итоги двух месяцев напряженной работы конкурса Samsung: «Мессенджер ВКонтакте для Tizen». Жюри оценило все созданные приложения и определило победителей.
Сравнение производительности языков программирования
2013-12-26 в 10:40, admin, рубрики: c++, java, быстрая сортировка, метки: c++, java, быстрая сортировка
Привет тебе, дорогой %UserName%.
Многие из нас задумывались, какой язык более производительный. Услышав очередной разговор о том, что Java медленная, мне стало интересно посмотреть сравнение производительности Java, C++ и С#. Очевидно, что С++ будет самым производительным, но мне интереснее узнать, какова разница в производительности у С# и Java, и сколько они проигрывают С++. Всем, кому интересно прошу под кат.
Читать полностью »
Бенчмарк HTTP-серверов (С/C++) в FreeBSD
2013-12-26 в 9:02, admin, рубрики: c++, c++ библиотеки, freebsd, высокая производительность, Сетевые технологии, метки: benchmark, c++ библиотеки, freebsd, http server
Проведено сравнение производительности ядер HTTP-серверов, построенных с использованием семи C/C++ библиотек, а также (в познавательных целях) — других готовых решений в этой области (nginx и node.js).
HTTP-сервер — это сложный и интересный механизм. Есть мнение, что плох программист, не написавший свой компилятор, я бы заменил «компилятор» на «HTTP-сервер»: это и парсер, и работа с сетью, и асинхронность с многопоточностью и много чего еще....
Тесты по всем возможным параметрам (отдача статики, динамики, всевозможные модули шифрования, прокси и т.п.) — задача не одного месяца кропотливой работы, поэтому задача упрощена: будем сравнивать производительность ядер. Ядро HTTP-сервера (как и любого сетевого приложения) — это диспетчер событий сокетов и некий первичный механизм их обработки (реализованный в виде пула потоков, процессов и т.п.). Сюда же можно отнести парсер HTTP-пакетов и генератор ответов. На первый взгляд, все должно свестись к тестированию возможностей того или иного системного механизма обработки асинхронных событий (select, epoll и т.п.), их мета-обёрток (libev, boost.asio и др.) и ядра ОС, однако конкретная реализация в виде готового решения дает существенную разницу в производительности.
Был реализован свой вариант HTTP-сервера на libev. Конечно, реализована поддержка небольшого подмножества требований пресловутого rfc2616 (вряд ли ее полностью реализует хоть один HTTP-сервер), лишь необходимый минимум для соответствия требованиям, предъявляемым к участникам данного тестирования,
Читать полностью »
Хотите получить представление о том, как устроен boost::function, boost::any “под капотом”? Узнать или освежить в памяти, что скрывается за непонятной фразой “стирание типа”? В этой статье я постараюсь кратко изложить мотивацию, стоящую за этой идиомой и ключевые элементы реализации.
Читать полностью »
Предновогодняя проверка PostgreSQL
2013-12-24 в 6:06, admin, рубрики: c++, code review, memcmp, postgresql, pvs-studio, Блог компании PVS-Studio, статический анализ кода, метки: c++, code review, memcmp, postgresql, pvs-studio, статический анализ кода
Год заканчивается, а я давно не писал заметок о проверке открытых проектов. Мне уже неоднократно предлагали проверить проект PostgreSQL Database Management System. Этим я и занялся. К сожалению, грандиозной и интересной статьи не получится. Я заметил только несколько типовых ошибок. Так что в этот раз получилась совсем небольшая статья.
Табличные вычисления
2013-12-23 в 9:07, admin, рубрики: c++, быстродействие, криптография, массивы, С++, таблицы, теги никто не читает, метки: быстродействие, криптография, массивы, С++, таблицы, теги никто не читаетВступление
Сегодня все больше людей занимаются программированием. Новички, которые клепают тонны «красивого» кода на Java, или языках высокого уровня, или главные архитекторы приложений, у которых все строится красиво по паттернам и максимально применяя рефакторинг, или простые «средненькие» программисты который выполняют задания – все гонятся за ресурсами вычислительной техники.
Читать полностью »
C++ трюки и советы из Boost на каждый день
2013-12-19 в 16:57, admin, рубрики: boost, c++, c++11, Программирование, метки: boost, c++, c++11
В недавнем постее проголосовали за то, чтобы главы из книги были переведены на русский. Немного подумав я решил схитрить, и вместо перевода глав из открытого доступа, рассказать о том, что есть в закрытых.
Дабы не нарушать прав издательства, это будет не дословный перевод, а выжимка из тех техник, что могут показаться интересными даже людям не работающим с Boost.
Что вас ждёт под катом:
- Избегаем вызовов макросов вместо функций, на примере max/min.
- Вызываем оптимальную функцию, на примере std::swap и её специализации в разных пространствах имен.
- Ускоряем вставку в std::vector.
- Деструкторы в C++11.
Доступ к контенту Modern-приложения на HTML\JS из Desktop-приложения под Windows 8
2013-12-19 в 13:13, admin, рубрики: c++, modern ui, windows, Windows 8, Программирование, метки: modern ui, Windows 8Иногда бывает нужно из одной программы добраться до содержимого другой программы. Ну, например, получить из неё какой-нибудь контент, или автоматизировать действия. В случае классических приложений Windows эта проблема решается весьма просто — находим родительское окно через FindWindow, далее, зная его HWND, можем перечислить дочерние окна и элементы управления на них. А тут уже полная свобода — можем получить текст, написанный на этих элементах, изменить их размеры и положение, отправить сообщения для эмуляции клика мышью или набора текста с клавиатуры, даже удалить имеющиеся элементы и создать новые.
Но для Modern-приложений всё иначе. Давайте возьмём, к примеру, приложение «Погода» из стандартного набора Windows8. Допустим, мы открыли его в боковой панели и хотим как-то узнать из нашего обычного (Desktop) приложения, а какую же оно показывает температуру. Если посмотреть на окно «Погоды» с помощью Spy++ мы увидим родительское окно типа Windows.UI.Core.CoreWindow и вложенное в него окно Web Platform Embedding. А значит перед нами Modern-приложение написанное на HTMLJs и живущее внутри встроенного компонента браузера. То есть вышеописанные манипуляции с Windows-контролами не имеют смысла — их в этом окне попросту нет, поскольку всё его содержимое рендерится целиком.
Но давайте же всё-таки попробуем вытащить из него текущую температуру.
Читать полностью »