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

24-26 мая в Санкт-Петербурге, при активной поддержке портала Айти-Событие.рф, пройдет HackDay#27 — хакатон, мероприятие, на котором вы сможете за 48 часов превратить свою идею в рабочий прототип и продемонстрировать ее широкой аудитории коллег, инвесторов, менторов и экспертов рынка.

HackDay#27 в Санкт Петербурге

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

Code School — это проект от Envy Labs, в рамках которого реализовано уже около 30 онлайн-курсов по различным технологиям и языкам программирования.

Rails for Zombies
Процесс обучения сводится к просмотру видеороликов и повторению изученного, при этом все упражнения выполняются непосредственно в браузере. Обучение достаточно сильно геймифицировано: для перехода к следующему уровню нужно обязательно выполнить упражнения из предыдущего, причём за выполнение упражнений начисляются очки, а на вашу публичную страницу добавляются значки (badges).
Читать полностью »

В сети легко находится множество источников, где приводится современная статистика использования языков программирования в мире. Одним из самых известных индикаторов является TIOBE Programming Community Index. Однако все это в большинстве — общемировая статистика, а как обстоит дело в России? Отличается ли Россия от остального мира, и если да, то как?

Для того, чтобы оценить популярность того либо иного языка, необходима выборка, количественно показывающая использование одного языка сравнительно с другими. Для этого подходят, например:

  • продажи или наименования книг
  • предложения вакансий
  • проекты с открытым кодом в GitHub
  • группы и форумы

Основой для предлагаемой читателям оценки являются темы на сайтах вопросов и ответов по программированию универсальной направленности (независимо от языка или платформы) в мире и в России, а именно StackOverflow.com и HashCode.ru. Почему взяты именно эти сайты?

Stackoverflow.com — это оригинальный сайт, где на высоком профессиональном уровне спрашиваются и отвечаются вопросы, связанные с разработкой программного обеспечения. Сайт содержит более 2 миллионов вопросов, из них 81% отвечено (согласно критериям принятым на сайте).

HashCode.ru — это наиболее успешная попытка в России из известных автору (самый популярный сайт подобного рода) перенести оригинальную идею на местную почву: сайт содержит порядка 30 тысяч вопросов, из них 80% отвечено. На форуме общаются более 12 тысяч профессиональных программистов.

Популярность языка программирования будет оцениваться по количеству вопросов, отмеченных ярлыком, соответствующим какому-либо языку.

  1. Считается общее количество вопросов
  2. Считается количество вопросов по метке
  3. Считается удельный вес (доля) вопросов по ярлыку на сайте
  4. Языки ранжируются в соответствии с удельным весом на сайте

Полученная оценка будет отражать популярность языка программирования, в случае StackOverflow — в мире, в случае ХэшКода — в России. Эта оценка будет достаточно грубой, поскольку заранее неизвестно насколько статистически представительна взятая выборка (так же как трудно оценить результаты голосования в целом по стране, зная результаты выборов в отдельном поселке).
Читать полностью »

По мотивам вчерашнего поста про оптимизацию условных переходов при расчете x=sign(a,b)*min(abs(a), abs(b)) якобы в 10 раз. Краткая сводка:

  • оптимизация налицо, но размер мнимый: не в 10 раз, а 2.5 раза;
  • бенчмарки надо делать правильно: не надо мерить CPU stalls, RAM bandwidth итп вместо целевой функции;
  • бенчмарки надо делать правильно: иначе могут дико дрожать;
  • выставлять только приоритет прикольно, но на коротких бенчмарках зря: +0.5% скорости, -15% дрожания;
  • нужно мерить целевую функцию, только так получаешь корректные данные;
  • нужно греть проц, нужно считать минимум из N прогонов/секунд, только так побеждаешь дрожание;
  • нужно пользовать SSE, с ним получилось 8.6 раз, причем код… читается.

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

Игра Жизнь и преобразование ФурьеМногие слышали о великом и ужасном быстром преобразовании Фурье (БПФ / FFT — fast fourier transform) — но как его можно применять для решения практических задач за исключением JPEG/MPEG сжатия — зачастую остается неясным вопросом.

Недавно я наткнулся на интересную реализацию игры «Жизнь» Конвея, использующую быстрое преобразование Фурье(!!!) — и надеюсь, оно поможет вам понять всю силу и универсальность этого алгоритма.Читать полностью »

Сегодня разработчики находятся в состоянии постоянного давления. Желание добиться высокого уровня владения новыми языками и инструментами, боязнь однажды выпасть из информационного потока может затмевать всё. Действительно, с риском потери конкурентоспособности сталкиваются как программисты, не следящие за тенденциями и движениями индустрии, так и постоянно читающие технические новости для ориентации: какие навыки выучить при наличии времени, какие игнорировать, какие методы следует использовать.

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

Видел я и других разработчиков, склонных учиться в иной манере. Они также немного читают (обычно документацию продукта и краткое руководство) и сразу переключаются на более практический подход. Как только они приобретают базовое понимание языка или инструмента, они пытаются что-нибудь создать.
Читать полностью »

Зачем?

В любой Windows 8/RT прилижении требуется отображать определенное количество графики. Ресурсы можно черпать повсеместно: напрямую из Web и постоянно выкачивать файлы; единажды получив файлы работать с ними через IsolatedStorage и так далее. Все хорошо до таго момента, пока загрузка этой графики не начинает занимать продолжнительное время (даже секунда это много). В этот момент требуется визуально «обнадежить» пользователя, и занять пустое место, на котором через мгновение появится изображение. Тут нам на помощь приходит ProgressRing и, естественно, удобнее всего написать один раз контрол и забыть об это надолго.

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

При оптимизации времени выполнения алгоритма, использующего LDPC декодер, профайлер привел к функции, вычисляющей следующее значение:
image
где a и b — целые числа. Количество вызовов шло на миллионы, а реализация ее была достаточно Читать полностью »

При разработке одного небольшого проекта на Delphi с использованием FastScript, столкнулись с одной неочевидной особенностью.
Надеюсь, кому-то найденная особенность будет полезной и сэкономит время разработки.
Читать полностью »

Скоро лето, и каникулы или отпуск — не за горами. Для тех, у кого появится свободное время, Роберт Диана вместо обычного бездельничества предлагает выучить новый язык программирования.

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


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