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

image
Я – офисный сотрудник. Мое рабочее место – кабинет, в котором помимо меня сидит еще 6 человек. Я давно привык, что фоном всегда играет музыка, за исключением тех рабочих процессов, в которых нужна концентрация. Слушать музыку в наушниках как-то неудобно, да и голова начинает болеть вскоре. Поэтому слушал я ее всегда так, что моим «соседям» не услышать ее было невозможно. Они меня ругали… но ругали не за то, что я мешал им самой музыкой, а за то, что слушал я неправильную музыку. Тогда у меня появилось желание угодить всем, чтобы каждый мог, не вставая со своего места, включить любую песню, даже ту, которой нет на компьютере.
Читать полностью »

Зачастую бывает полезно добавить какую-нибудь дополнительную логику в код, которая собирает данные по ходу работы приложения, например подсчет количества вызовов, или обработка ошибок. Но портить существующий компактно написанный код (если конечно у вас есть такое счастье) не очень-то хочется. Решение в виде приемов АОП существует уже давно, и широко применятся. На платформах .NET и Java многие АОП фреймворки ориентируются на применение атрибутов к методам и классам. Выглядит код почти неизмененным, а в распоряжении оказывается достаточно мощный механизм расширения функциональности.

В JavaScript таких фреймворков не так много, и те, которые я успел найти, при расширении функций походили на обыкновенную подписку на события. В общем, не совсем понравился синтаксис, захотелось чего-нибудь простого, и более приближенного к «высоким материям» .NET и Java. Читать полностью »

image

Liberated Pixel Cup: эпический конкурс игровой свободы

Мы рады объявить о запуске Liberated Pixel Cup, соревнования по созданию свободных игр, начатого в сотрудничестве между Creative Commons, Free Software Foundation, Mozilla и OpenGameArt! Liberated Pixel Cup — это соревнование из двух частей: сделать кучу удивительных художественных произведений, лицензированных для свободной культуры, и написать кучу СПО-игр, которые будут их использовать. Надеемся, что может получиться много интересных проектов..., но это произойдет только, если такие люди, как вы включатся в работу! Технически проект будет осуществляться в три этапа. Подробнее.

Всемирный банк анонсирует Политику открытого доступа и запускает Открытый репозиторий знаний с помощью Creative CommonsЧитать полностью »

Фундаментальный поворт к параллелизму в программировании

Автор: Херб Саттер
Перевод: Александр Качанов

The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software
(By Herb Sutter)

Ссылка на оригинал статьи: www.gotw.ca/publications/concurrency-ddj.htm

Примечание переводчика: В данной статье дается обзор современных тенденций развития процессоров, а также, что именно эти тенденции значат для нас — программистов. Автор считает, что тенденции эти имеют фундаментальное значение, и что каждому современному программисту придется кое в чем переучиваться, чтобы не отстать от жизни.

Данная статья достаточно старая. Ей уже 7 лет, если считать с момента ее первой публикации в начале 2005 года. Помните об этом, когда будете читать перевод, так как многие вещи, которые для вас уже стали привычными, для автора статьи в 2005 году были в новинку и только-только появлялись.

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

«Мы работаем для того, чтобы вы не боялись летать»

image
рис 1. Модель Bombardier BD 500 в аэродинамической трубе

Именно такой слоган я как-то придумал для своей работы. Он как нельзя лучше выражает саму суть разработки систем управления самолётом. И, если честно, я бы хотел, чтобы это стало девизом всех разработчиков систем управления современными самолётами по всему миру. Потому что, несмотря на то, что часто можно услышать, что самолёт — один из самых безопасных видов транспорта, тысячи людей по всему миру боятся летать, вцепляются в ручки кресел… А зачастую причина всех страхов — неизвестность. Когда надо доверится такой непрочной конструкции, болтающейся километры над землёй, таким хрупким сплетением проводов и битов кода, скрытой завесой улыбок стюардесс и тайн программного кода. И которую стоит приоткрыть.

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

При разработке или исследовании готовых алгоритмов часто требуется определить качество их работы. Использовать для этой цели данные из реальных источников не всегда возможно, так как их свойства зачастую неизвестны и потому нельзя спрогнозировать результат выполнения исследуемых алгоритмов. В таком случае применяется моделирование данных по одному из хорошо известных законов распределения. Применяя исследуемый алгоритм к модельным данным, можно заранее предположить, каким окажется результат его выполнения. Если он окажется удовлетворительным, можно попробовать применить его и к реальным данным. Естественно, что это относится только к непараметрическим алгоритмам, то есть не зависящим от закона распределения данных.

Чаще всего используется моделирование данных, распределённых по нормальному закону. К сожалению, MS Excel и распространённые статистические пакетаы (SPSS, Statistica) позволяют моделировать только одномерные статистические распределения. Конечно, можно составить многомерное распределение из нескольких одномерных, но только в том случае, если переменные независимы. Если же нужно исследовать данные с зависящими друг от друга переменными, придётся писать программу.
Читать полностью »

Привет, читатель!
Данную статью меня попросил опубликовать мой друг, Евгений, у которого пока нет аккаунта на habrahabr. Поэтому ниже представляю вашему взору его статью.

В последние время, на работе, мне довольно часто приходилось иметь дело с таким семейством микроконтроллеров как PSoC Cypress (http://www.cypress.com). До этого я ни разу не то что не работал с этим семейством МК, я, если честно, даже о них ничего не слышал. Собственно, первым делом, как обычно, я начал с изучения всей документации, чтения статей, поиска примеров и т.п., думаю, так делают все. И я столкнулся с такой проблемой, как катастрофический недостаток русскоязычного материала по этой тематике. На мой взгляд, это довольно серьезный пробел. Именно поэтому хотелось бы попробовать написать статью или даже цикл статей на эту тему. Сразу хотелось бы сказать, что написание статей, это для меня нечто новое, поэтому прошу не серчать за подачу материала и другие огрехи, надеюсь, со временем исправлю это. Итак, поехали…Читать полностью »

В силу частых и неупорядоченных изменений базы данных, большим числом пользователей, часто возникает вопросы о истории изменений. Речь не идет о тотально логирование всех изменений, которые происходят с базой в течение дня. Интерес представляют собой снимки структуры БД каждый день после окончания рабочего дня. С помощью SQL Server Management Studio можно сгенерировать скрипты, но поштучно или все сразу. Полную свободу действий можно получить использовав набор библиотек от SQL Server Management Studio в вашем .NET приложение. Описание программы генерации скриптов: таблиц, представлений, процедур далее.
Читать полностью »

3D модели, медицина и будущее: появление доступных цифровых стереокамер и алгоритмов трехмерной реконструкции по стереоснимкам открывают новые возможности применения построения 3D моделирования в медицине.
Цель школы:

  • Исследование и реализовать алгоритмы вычислителньой геометрии для анализа поверхностей и изменения формы 3D моделей
  • Web-based платформа для визуаилазации и хранения 3D моделей
  • Высоконагрузочная система рассчетов для построения 3D модели тела

Инструменты:

  • С++, OpenCV, PCL, WxWidgets
  • Javascript, HTML 5.0, Chromium, WebGL, Alternativa3d/Away3d
  • Microsoft Azure, Redis, no-SQL db’s

Условия школы:

  • Школа длится с 1 июля и до 10го августа в помещении БИ «Ингрия»
  • Стипендия 5 000 руб участникам школы и до 10 000 руб отличившимся студентам
  • Производится конкурсный отбор в июне: опыт программирования на С++, Javascript, знание вычислительной геометрии и численных методов.

Организаторы летней школы:
Читать полностью »

Основы о бинарных деревьях представлены, в том числе, здесь . Добавлю свои «5 копеек» и данным постом систематизирую материалы, связанные с обходом бинарных деревьев, а именно сравнений возможностей рекурсии и итераций, а также обсуждение возможностей использования указателя на родительский узел.
Читать полностью »


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