Как математические понятия могут помочь мне В веб-разработке?

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

Таким образом для повторения вопроса, там математические понятия там, которые могут усилить мои навыки веб-разработки? Если существует, что сценарии, они стали преимуществом или необходимый?

7
задан abatishchev 23 July 2010 в 13:43
поделиться

7 ответов

Нет причин, по которым вы не можете использовать свои математические мозговые клетки сегодня в веб-приложении. Вы упоминаете игры, физику и графику, как будто они являются исключительными для веб-программирования. Это не так. Например, сегодня существует довольно много онлайн-игр, реализованных в виде веб-приложений, которые требуют нетривиальной математики (во Flash, Silverlight или даже JavaScript) для того, чтобы пиксели оказались в нужном месте на экране, включая 3D-проекции и трансформации. Добавьте сюда Canvas из HTML 5, и все станет действительно интересным.

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

1
ответ дан 7 December 2019 в 12:13
поделиться

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

1
ответ дан 7 December 2019 в 12:13
поделиться

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

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

Другой уместный пример - обнаружение мошенничества.

1
ответ дан 7 December 2019 в 12:13
поделиться

Есть очень хорошая презентация и предстоящая книга от Грегори Мередита о Монадических паттернах проектирования для Web. (В ближайшие месяцы на Channel9 выйдет серия видеолекций на эту тему от самого Грегори Мередита). Вероятно, нет ничего более математичного, чем монады или теория категорий (откуда взялись монады) в целом.

Другой хороший пример - тот факт, что интерактивное программирование (и особенно паттерн проектирования итераторов) и реактивное программирование (и особенно паттерн проектирования субъект/обсервер) являются теоретико-категориальными двойниками друг друга. Также выяснилось, что паттерн проектирования итератора может быть реализован как экземпляр монады List, а паттерн проектирования субъекта/наблюдателя - как экземпляр монады Continuation. Поскольку и то, и другое - монады, это означает, что вы можете работать с обоими, используя одни и те же инструменты.

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

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

1
ответ дан 7 December 2019 в 12:13
поделиться

Благодаря Silverlight и HTML5 (т.е. тегам canvas и svg) графика находится на постоянном подъеме, и в ближайшем будущем грань между веб и десктопом, вероятно, будет трудно различима.

Звучит как отличная возможность использовать некоторые из этих математических навыков. Навыки работы с Интернетом все равно понадобятся, поскольку на определенном этапе процесса будет задействован сервер.

0
ответ дан 7 December 2019 в 12:13
поделиться

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

0
ответ дан 7 December 2019 в 12:13
поделиться

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

Я думаю, что наибольшую пользу принесло то, что я стал думать как математик при кодировании.

1
ответ дан 7 December 2019 в 12:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: