Математика и алгоритмы для программиста
Вставка
- Опубліковано 20 сер 2024
- Месяц хостинга в подарок от Beget: bit.ly/2zABjpG
Учись в LoftSchool со скидкой bit.ly/2MvLDFP Промокод loft-dima
Сегодня в гостях у LoftBlog программист-математик Стас Капулкин. Мы поговорим про методологии проектирования IT продуктов, про то, почему просто невозможно создать хорошую архитектуру программы без глубоких знаний в математике. Вы узнаете, что такое теория категорий, при чем тут когнитивная психология, как и где применяются big data, что такое Motion Learning и почему рядовые веб-разработчики рискуют в будущем остаться без работы, если всерьез не возьмутся за изучение алгоритмов и математики.
Ссылки и замечания от Стаса
(тайминг может быть немного сдвинут после добавления рекламных вставок):
- 12:27 говорю про Julia, старая статья про основную идею Julia тут habr.com/ru/po...
- 19:41 вот ссылка на доклад • Станислав Капулкин, Вл... и слайды docs.google.co...
его анонс spbdotnet.time...
- 25:16 говорю про теорию групп в АУ. Сейчас теорию групп дают и в ИТМО. И теорию категорий тоже.
- 31:04 называю проект Viete, его сайт viete.io . Проект можно обсуждать в группе в telegram t.me/vieteio
- 36:51 называю второй проект, его сайт broccole.co
- 38:35 начал рассказывать подход, который есть в лекции, про которую говорю позже scout-academy....
- 43:25 говорю про ЛКШ, вот ее сайт, вот видеолекции sis.khashaev.ru/. Там три уровня сложности, начинать, конечно, с C' sis.khashaev.r...
- 45:09 литература по теории категорий
"Розеттский камень" в гугл-док docs.google.co...
- MacLane, подойдет тем, кто знает теорию групп www.maths.ed.ac...
- Awodey, лучше для программистов citeseerx.ist.p...
- Целый курс от Bartosz Milewski's
bartoszmilewsk...
теория категорйи изложена неплохо, но опять без привязки к широкому применению в архитектуре
- David Spivak, здесь изложение теории категорий адаптировано под шировкий круг ученых и специалистов, не только программистов math.mit.edu/~...
- Лекция от меня из п.12, которая обращает на самые базовое и сильное применение теории категорий, которое обычно не видят. Лекция на 3 часа в 2х частях:
• Теория категорий для A...
• Теория категорий для A...
- 49:35 - замечаю, что в Политехе давали теорию категорий моему поколению. Сейчас ее дают и в ИТМО.
______________________________
АУДИОВЕРСИЯ
podcast...
/ matematika-v-programmi...
______________________________
LOFTTEAM
Ковальчук Дмитрий - автор программы
Основатель LoftBlog и LoftSchool
Пишите, если хотите поработать с нашей командой, а также, если у вас есть интересные идеи по сотрудничеству или творчеству
t.me/kovaldn
kovalch...
/ kovaldn
koval@loftschool.com
Я ищу авторов курсов, наставников, гостей на интервью.
______________________________
Понравилось?
ГДЕ С НАМИ ПООБЩАТЬСЯ
⚡️Школа онлайн-образования: loftschool.com/
⚡️Telegram Loftblog: t-do.ru/loftblog
⚡️Telegram IT-обучение: t-do.ru/it_loft
⚡️Группа вконтакте: loftblog
Поставь лайк! Больше лайков - лучше выпуски :)
Учись в LoftSchool со скидкой bit.ly/2MvLDFP Промокод loft-dima
У меня будет такая-же прическа когда я осилю с с++.😁
Варламов на максималках, это у него все там мозг занимает.
Орнул 😂
Варламов не имеет права носить такую шапку... под математика закосил... пойду этому самозванцу дизов навтыкаю:)
Алгоритмы используются не только в математике, но и во всех областях человеческой деятельности, даже часть творческой работы, например, создания скульптуры или картины, может быть алгоритмизирована. Математика - это легко )) В освоении математики есть два уровня понимания. Первый уровень - идейный. Это осознание того, для чего нужны определенные объекты, какая задача решается и где это используется. Второй уровень понимания - детальный. Это подробное изучение подробностей решения задачи. Иногда нужно разобраться в задаче на детальном уровня понимания, но в большинстве случаев - достаточно идейного. Невероятное интервью.
Преподователи по матану с тобой не согласять, и попросят дать точное определение теоремы или определение. А потом на каждом шаге доказательства придеруться.
Вижу говорит ваш опыт )) У меня другие преподаватели были )))
Моя химичка говорила так не объяснять, как вы объяснили, хотя сама так объясняю а потому склоняюсь к мнению, что в чем-то вы правы ))
Стас сильно похож на моего препода по математике... особенно своей богатой шевелюрой:)
подозреваю, что способности (в т.ч. математические) закладываются генетически... ибо не зря это сходство
Интересная тема, спасибо👍🏻! Образ гостя 🤩👍🏻! Мне кажется, сын Альберта Эйнштейн и Фриды Кало выглядел бы именно так, как гость программы🦁💭...
Я в интервью везде говорю "строго-типизированный". Везде имею в виду "статически-типизированный".
Я с JS (вообще я знаю кучу языков) работаю больше 10 лет, все это время я мучился, все было неудобно и не логично (не в плане языка а в плане взаимодействия языка с DOM), в какой-то момент начал придумывать свой фреймворк и параллельно изучал все что есть на рынке (Meteor, Angular, Polymer, Vue все это далеко от истины) пока в один момент не взялся за React и тут я понял что придумываю нечто очень близкое к этому. React хорошо, но и с ним я не чувствовал себя свободно, не хватало остальных пазлов. И где-то пол года назад картинка сложилась. Я сэкономлю тебе время (10 лет моей жизни) и всем кто это прочитает и поделюсь.
1. React естественно
2. Create React App, я не люблю заморачиваться со сборщиками
3. Вместо SSR - пререндеринг, тут пазла не хватает но можно prerender.io (когда-нибудь руки доберутся)
4. SCSS модули встроены в CRA (react-html-classes пока что не опубликовал, надо документацию написать но это закроет все вопросы по CSS)
5. TypeScript, CRA включает template c TS (ни какого JS, все прекрасно описывается, абсолютно весь код я пишу на классах кроме декораторов и утилит)
6. MobX - закроет все вопросы по бизнес логике. Забудь про подписки, отписки это прошлый век (господи спасибо теске за это)
7. react-mobx-routing - закроет все вопросы по роутингу, не путать с другими npm пакетами (ох как я намучился с react-router-dom)
8. async-mobx для работы с api и всего асинхронного
Стас, ты так востаргаешься статическо типизацией, но Julia же не обладает этим критерием.Почему же тебе нравится Julia?
@@glebkresh Глеб, в Julia, как и в Python (о чем я упоминаю) есть аннотации типов. Хотя вызов метода с несоответствующими типами в Julia ведет к Runtime ошибке, с информацией о типах все же становится возможным написать статический анализатор, который предупредит о многих ошибках в программе еще до ее компиляции и запуска.
Нравится мне Julia ее идеей динамического полиморфизма)
Не нравится - нумерацией массивов с 1(
Интересно, а где можно документацию по iOS взять на время почитать.
@@user-gt7rz5uw5z Официальная документация developer.apple.com
После видео случайно смотрел в стену и перед глазами появился белый круглый пятно думал что то с моими глазами и вдруг заметил что это пятно потихоночку превратился перческу.
Интересный гость! хорошее интервью)
Ух, я сейчас учусь в школе, очень мотивирует изучать математику )
Стильный чувак)
Делайте таймкоды, пожалуйста
Напишите ему алгоритм по удалению моноброви...
Напиши себе алгоритм на генерацию мозга
@@toxichell вы сторонник бодипозитива? Стиль нужно уважать, любой стиль, но монобровь трудно назвать стилем. Она есть абсолютно у всех и все её убирают.
@@egebotator2111 с хера ли? Есть монорельс, монопод, монозвук и т.д. С чего это вдруг монобровь не имеет право на существование? К тому же- это вещь , созданная природой.
Волосяной алгоритм слегка запутан, но выглядит эффектно
Парикмахер-программист
Венедиктович Варлам Перельманов, не иначе как.
Вся жизнь человека сложный алгоритм.
Ну вообще программирование может пойти в абстракцыю, где все алгоритмы знает компютер, а мы их используем даже не зная, но понимая что нам нужно на выходе. А ещё если учесть последнюю разработку нейролинк - становится ясно что общение с компьютером переходит на новый уровень.
У меня первая мысль,как у мотоциклиста: Блин как он шлем одевать будет?
С 5 класса думал что и без математики легко быть стать программистом но сейчас я совсем запутался куда пойти кем работать в целом п**зда
Чувак, учи математику. Я забивал и сейчас прогером работаю, делаю игры и реально мучаюсь. Приходится заново все учить.
@@alexkardone3809 Мучаешься потому что математику не учил? А чьто если мне математика сложно даётся а английский отлично?
@@sunflover1385 Стань переводчиком или преподом по английскому, очевидно же)
@@sunflover1385 Это значит, что либо тебе на данный момент интереснее изучать английский, чем математику, либо ты неправильно изучаешь математику (например, пытаешься решать только сложные для тебя задачи)
Чуваки решил выбрать карьеру интернет макретолога так что математику в жопу
Волосы на его голове символизируют фракталы...
спасибо большое
крутое интервью
Не думал что Феллайни между играми в клубе пишет коды и математик
Можно таймкод
и швец, и жнец, и на дуде игрец, и еще танцор...яснопонятно 🤦🏻♂️
Какой алгоритм использует парикмахер Стаса ?
когда наступает момент знания языка? явно не через 4 дня) топовые девелоперы с опытом 10+ не говорят так уверено, что знают тот или иной язык.
чем больше ты знаешь - тем меньше ты знаешь)
крч чсв
Я освоил Swift и iOS достаточно для того, чтобы начать разработку нужного мне прототипа. Два дня - это было на хакатоне VK, где я программировал в паре с iOS разработчиком в команде. После этого я посмотрел nanodegree на Udacity по iOS и видео по нужным мне framework-ам от Apple с WWDC - еще 2 дня.
У меня был уже небольшой опыт разработки на Objective C в 2011-году.
@@stas8kap "освоил достаточно для своей задачи" - это правильное формулирование
@@dimidrolllsss в целом да, но немножко больше.
Пока я погружался в разработку под iOS, я сделал для себя несколько выводов:
1. у Apple в целом хорошая документация, есть хорошие объяснения, не пропущены мелочи. Есть пробелы, которые закрываются, см. п.3
2. у Apple хороший SDK - если в framework-е задумано, что можно делать такой-то сценарий, то API для него позволяет реализовать сценарий удобно
3. если в документации чего-то нет, то это хорошо объяснено в видео с конференции WWDC. А так же по многим тонким случаям удавалось находить хорошие ответы на stackoverflow
В итоге я решил, что получается понятный pipeline разработки - читаешь документацию, если что-то непонятно, смотришь видео с WWDC, гуглишь stackoverflow. В таком ключе решил несколько задач, и ни разу не возникло stopper-а. Кажется, это можно назвать "овладел iOS-разработкой".
Звук тяжело было выровнить? Ведущего плохо слышно
Нужны ли будут математики? Если ?
Каждую секунду не покидает ощущение что перед нами индюк-понторез, а я очень много общаюсь с людьми и видел сотни интервью.
Да так и есть
Еще про viete появился вопрос. Есть ли продукты которые использовали viete и описали бы свой опыт? На сайте написано про blockchain проекты, а на каких еще проектах это можно было применить?
Глеб - теория категорий - это общий язык для описания архитектуры - все равно, IT-проекта или сложного организационного, инфраструктурного или инженерного проекта. Поэтому на сайте и предлагается позиционирование в блокчейне - где бизнес-сценарии непосредственно встречаются с кодом. Такая общность обычно оборачивается громоздкостью языка, но не в случае с теорией категорий) В этом ее сила и причина ползучего роста популярности.
Пока есть проекты в стадии пилота, для которых делается опсиание в viete. Не из блокчейна. Глеб, если у тебя есть IT или организационный проект, давай рассмотрим его с помощью viete.
Чел везде и нигде одновременно
спасибо
Тема не соответсвует названию !
Похож на Маруана Феллаини хд
Вот это мозговатый дядя!
На протяжении всего видео смотрел на руки...
Где математика и где алгоритмы ?
Sorry for Party Rocking!
19:14 разве DDD стоит в одном ряду с BDD и TDD?
Аббревиатуры ставят их в один ряд)
Детальнее не задумывался об этом. Мне кажется, что BDD и DDD можно сравнивать, так каждый из них предлагает подход к описанию функционала будущей программы.
тоже хотел бы разбираться в математике. спасибо.
Заодно и бабосы на стрижке сэкономишь
Блин! Какой трешак, лохматый математик-программист-танцор, надеюсь хоть не гей! А то стереотип сработает на 100%.
угу
Омг, 300 просмотров, 30 лайков и 3 дизлайка
Ну ка не трогайте чувака
Какое гнездо.
КаУКазкий ДядюшкЭ Ау!
пещерный человек
Парень, ну руки то побрей, ну стремно же
Ты зацени как он мыслит! У него код в крови! О каких волосатых руках речь мэн)) кто вообще руки бреет, ты ошибся каналом про депиляцию)ахах
@@billymilligan5305 как я могу его слушать, когда я пялюсь весь выпуск на его брови и руки. ну несложно же ухаживать за собой при всей его гениальности
Та руки еще норм, но брови...
Не брови, а бровь. Но в том-то и прелесть быть мужиком. Если ты профессионал в программировании и умеешь танцевать, пофиг какие у тебя руки и бровь - все девицы твои.
Alex Kardone ахахахах нет