Рубрика «Программирование» - 875

Что сложнее: отрендерить сцену со взрывающимися вертолётами или нарисовать унылый график функции y=x2? Да, верно, вертолёты взрывать дорого и сложно — но народ справляется, используя для этого такие мощные штуки, как OpenGL или DirectX. А рисовать график, вроде, просто. А если хочется красивый интерактивный график — можно его нарисовать теми же мощными штуками? Раз плюнуть, наверное?

А вот и нет. Чтобы заставить унылые графики вменяемо выглядеть и при этом работать без тормозов, нам пришлось попотеть: едва ли не на каждом шагу подстерегали неожиданные трудности. Читать полностью »

Каждый программист, наверняка, сталкивался с ситуацией, когда в приложении имеется набор классов (возможно, сервисных), которые используются во многих участках программы. И вроде бы всё ничего, но как только появлялась необходимость менять эти классы, это могло негативно влиять и на вызывающий код. Да, как и указано в заголовке, речь в статье пойдет о том самом паттерне «Low Coupling».

Variadic Templates, Low Coupling и немного размышлений

Проблема не нова и давно известна. Путей ее решения может быть несколько, все зависит от предметной области. Я предлагаю читателю возможное решение, которое я нашел, занимаясь прикладной задачей. Как идеалиста, найденное решение меня устроило не полностью. Так же, оно было спроектировано в бОльшей степени от желания воспользоваться новыми возможностями стандарта C++11. Естественно, все написанное подлежит обсуждению, а возможно, кто-то предложит более стройный вариант.
Читать полностью »

Практика программирования игр на python: жизнь

Недавно стало известно, что python признан самым популярным языком для обучения студентов в США. Я, будучи студентом Технопарка, решил не отставать от тренда, поподробнее изучить этот модный язык и заодно написать несколько постов. Для разминки я решил реализовать Conway's Game of Life. Это довольно-таки забавная «игра», в которой мы можем в некотором смысле моделировать развитие группы организмов в окружающей среде. Правила такие: делим пространство на клетки, которые могут быть либо живыми, либо пустымию. А затем на каждом шаге состояние клетки обновляем в зависимости от числа живых соседей. Например, слишком много — клетка умирает, а если нет — рождается. Можно от души экспериментировать с конфигурациями, получаются разные странные вещи, иногда корабли. Корабли (gliders) — отдельная тема, это такие группы клеток, которые изменяются и вместе с тем путешествуют в пространстве. Кроме кораблей могут образовываться и другие группы клеток с хитрыми свойствами, но о них — в Википедии.
Читать полностью »

image

Не знаю, как у вас, но у меня любимая часть интервью — логические задачи.
Довелось пройти немало собеседований на вакансию разработчика, поэтому набралась небольшая коллекция.
Спешу поделиться с вами!

Некоторые задачи проще и широкоизвестные, другие заставляют хорошенько задуматься.
Ответы пока что публиковать не буду, надеюсь, вы сами сможете всё решить.
Предлагаю размять свой мозг...Читать полностью »

За последние пару лет я в качестве хобби провел большое количество хакатонов. В целом, в интернете уже много информации о том, как проходят такие мероприятия, выложены впечатления участников и рассказы организаторов. Тем не менее, при личной агитации разработчиков и дизайнеров на предложение “Приходите, будет круто!” я в подавляющем большинстве случаев получаю вопросы “А что это такое?” и “А что там надо делать?”. Под катом — рассказ о том, как это было и будет, глазами ведущего.

Читать полностью »

Доброго времени суток.

В посте «Harbour — новое лицо xBase family» Александр Кресин рассказал, что такое Harbour.
Проект QtContribs — это расширение Harbour для использования Qt.

Т.е. все, кто знаком с dbase-языками программирования (foxpro, clipper и др.) смогут, используя QtContribs, писать кроссплатформенные приложения с графическим интерфейсом.

Учитывая изложенное в посте «Разработка Qt-приложения с доступом к MySQL под Android», возможности для разработки под Android + mySQL существуют.

Но главный разработчик библиотеки QtContribs (Pritpal Bedi) консервативен и не развивает ту часть, которая связана с QtSql.
Я посчитал это неправильным и немного поучаствовал в развитии этого направления.

Далее покажу пример использования QSqlTableModel и QTableView.
Читать полностью »

Android NDK, Revision 10 поддерживает архитектуру Intel 64 bitХорошая новость для разработчиков приложений под Android: новая, десятая версия Android NDK, вышедшая в июле, содержит целых три новых 64-битных ABI: arm64-v8a, x86_64 и mips64, что благоприятным образом скажется на производительности программ. Нам особенно приятно отметить появившуюся поддержку x86_64Читать полностью »

Будь мужиком, пиши хороший код, б***ть
Как вы знаете производительности хорошего программиста и плохого отличается в 28 раз. Чтобы стать хорошим программистом нужно как минимум следовать указанным ниже пунктам.
Читать полностью »

Недавно написал свой велосипед и выложил его на хабре. Вот он: «Простейший Connection pool без DataSource в Java». Статья не из самых удачных, только прошу больше не минусовать. Итак, чтобы никто не повторял такие ошибки, и, возможно, предостеречь кого-то от таких ошибок, решил перевести статью «Seven Things You Should Never Code Yourself» достаточно известного в среде open-source деятеля IT-области — Andy Lester'а. Итак, кому интересно, прошу под кат.
Читать полностью »

Медаль программисту

Инженер-программист Вивин Палиат (Vivin Paliath) рассказал историю, как он получил медаль армии США за свою работу.

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js