Jul. 22nd, 2019

techquisitor: (sis)
Крайне часто в разговорах с людьми и коллегами (как бывшими, так и нынешними) всплывает вопрос «Зачем учить всякую фундаментальную матчасть?». Мол, это муторно и вообще, кому кроме странных яйцеголовых в Computer Science это надо? Мол, все и так делают и типа много денег гораздо проще проще заработать. Очень часто ссылаются на людей, которые работают в Google/Yandex/Amazon, etc и типа нет у них никакого высшего в ИТ. Как человек, который с такими людми знаком в количестве намного больше одной штуки, могу сказать, что даже если у этих людей нет официального диплома, фундаментальные знания в области CS они чаще всего добирают иными путями. И у них вполне себе университетские познания по различным разделам математики, схемотехнике и так далее.

Каждый раз приходится доказывать, что нет. Требуется это всё изучать, иначе на реально сложных системах будете ловить проблемы. Вот вам хороший пример:

"The solution to this problem has been known since 1968 when Ken Thompson wrote a paper titled “Programming Techniques: Regular expression search algorithm”. The paper describes a mechanism for converting a regular expression into an NFA (non-deterministic finite automata) and then following the state transitions in the NFA using an algorithm that executes in time linear in the size of the string being matched against."

Думаете, очередная абстрактная работа в какой-нибудь лабке? Нет, именно в это влетели Cloudflare, когда случился масштабный сбой 2 июля. Да-да, теория конечных автоматов. Она самая. Кому интересно, можете почитать очень подробный и занимательный постмортем. Для не дружащих с английским есть перевод. Продакшен им сломала всего-то обычная регулярка, но очень хитрая при этом, которая требует понимания вот таких вещей.

Учите фундаменталку, а не очередной хипстерский фреймворк.

Profile

techquisitor: (Default)
techquisitor

June 2024

S M T W T F S
      1
2345678
9101112131415
161718192021 22
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 16th, 2025 11:54 pm
Powered by Dreamwidth Studios