Программирование

Все что связано с программированием

Алгоритм византийских генералов

TweetОписание задачи При создании распределенных систем можно столкнуться с трудностью недоверия результату, полученному каким-то компьютером. Например вы не можете контролировать кто именно установил себе вашу программу и как ее поменял, либо компьютер может начать глючить. Рассмотрим задачу о византийских генералах, которая как раз моделирует такую ситуацию, и алгоритм ее решения. Несколько византийских войск осождают город. […]

Алгоритм получения аудиоспектра

TweetУ нас есть массив (длина массива N), в котором записан аудио файл. Хочется построить спектр аудио. Для этого нужно сделать: Преобразуем массив к нужному виду, тоесть к массиву комплексных чисел. Мнимую часть числа ставим равной нулю. Производим фурье-преобразование массива, в котором записан аудио-файл. Для этого удобно использовать существующие библиотеки, делающие быстрое фурье преобразование(FFT). Считаем для […]

Валидация email адреса на PHP

TweetНаверняка многим из вас приходилось сталкиваться с вопросом валидации email адреса при программировании на PHP. На подавляющем большинстве сайтов, которые выдает поисковик, рекомендуется сделать валидацию с помощью регулярных выражений, например как /^[A-Za-z0-9!#$%&'*+-\/=?^_`{|}~][A-Za-z0-9!#$%&'*+-\/=?^_`{|}~\.]{0,63}$/ Описывается много вариаций, расматривается много функций, сопоставляются их отличия и все в том же духе. Но как говорится, зачем сложно, если можно просто. […]