TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #721 · 26.12

Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev

Hashtags

Резултати

Намерени 36 подобни публикации

Търсене: #part1fall2020

当前筛选 #part1fall2020清除筛选
DLS — новости

@deep_learning_school_news · Post #249 · 07.02.2021 г., 10:38

#part1fall2020 Решили продлить дедлайн по проектам первой и второй частей на неделю (раз мы все равно пока проверяем домашки) Деллайны скоро обновятся и на Степике. Если вы уже послали проект в форму, согласуйте с руководителем проекта формат досдачи.

DLS — новости

@deep_learning_school_news · Post #246 · 04.02.2021 г., 14:40

#part1fall2020 Добрый вечер! Обращаемся к тем, кто сейчас заканчивает первую часть курса. Мы уже делали опрос о промежуточных итогах курса. Теперь, когда все занятия уже выложены, очень просим вас пройти финальный опрос. Напишите ваши самые важные мысли по занятиям в текстовые поля. Нам очень важен ваш фидбек, чтобы сделать курс лучше. Если по некоторым занятиям вам сказать нечего, это не страшно, далеко не все вопросы обязательные. Заранее спасибо!

DLS — новости

@deep_learning_school_news · Post #245 · 27.01.2021 г., 12:42

#part1fall2020 Мы выложили на Степик ещё несколько дополнительных модулей для обоих потоков! Среди прочего там есть лекции от компании Яндекс, а также лекция от Kaggle-мастера Владислава Шахрая о том, как побеждать в конкурсах по анализу данных. Смотрим!

DLS — новости

@deep_learning_school_news · Post #242 · 06.01.2021 г., 23:47

#part1fall2020 Всем привет! Как те, кто был на вебинаре, уже знают, мы решили перенести дедлайн по выбору итоговых проектов на 10 января. Срок выполнения проектов мы продлеваем до 7 февраля, 23:59. Срок выполнения последнего домашнего задания для продвинутого потока продлён до 17 января, 23:59 Кроме того, для тех, кто уже зарегистрировался, мы выкладываем список назначенных проектов. Заходите в соответствующий чат в Slack и начинайте работу! Почти во всех чатах уже появилась вступительная информация к выполнению. Тем, кто ещё не выбирал проекты, советуем поскорее определиться и заполнить форму. Предлагаем вам записываться на один проект и сразу начинать работу по нему, чтобы не ждать результатов распределения

DLS — новости

@deep_learning_school_news · Post #241 · 04.01.2021 г., 16:42

#part1fall2020 Всем привет! Напоминаем, что через 20 минут состоится трансляция с ответами на вопросы о последних занятиях курса и итоговых проектах. Вопросы можно задать в комментариях к предыдущему посту в этом канале, а также во время трансляции в чате youtube. Ссылка на трансляцию

DLS — новости

@deep_learning_school_news · Post #240 · 03.01.2021 г., 14:34

#part1fall2020 Всем привет! Завтра в 20:00 мы проведём вебинар по последним темам курса, а также про выполнение итогового проекта. Ссылка на вебинар появится здесь. Вы можете задать волнующие вас вопросы к вебинару в комментариях к этому посту или на самом мероприятии

DLS — новости

@deep_learning_school_news · Post #238 · 02.01.2021 г., 01:45

#part1fall2020 Всем привет! На Stepik появилось много всего интересного: например, новые модули у базового и продвинутого потоков, которые помогут вам выполнить итоговые проекты, а также сама новость об итоговом проекте (в последнем модуле курса) Кроме того, мы создали в Slack чаты для выполнения проектов. После регистрации на проекты обязательно выбирайте чат с вашей тематикой и вступайте. Напоминаем, что дедлайн по регистрации на проекты — вечер 5 января

DLS — новости

@deep_learning_school_news · Post #234 · 24.12.2020 г., 10:52

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

DLS — новости

@deep_learning_school_news · Post #230 · 13.12.2020 г., 02:14

#part1fall2020 Всем привет! Хотим рассказать о том, как будет устроено окончание семестра для базового и продвинутого потоков. — У базового потока появилось новое домашнее задание. Дедлайн по нему: 31 декабря 23:59:) — У продвинутого потока появился новый модуль по детекции. Впереди у базового и продвинутого потоков будет ещё по одному домашнему заданию, дедлайн у которого будет уже в январе. Также обоим потокам предстоит выполнение итогового проекта. Темы проектов будут известны в ближайшее время: мы надеемся, что успеем сфорировать полный список в середине следующей недели. После публикации списка тем у вас будет чуть больше недели, чттобы выбрать тему проекта. Выполнение проектов продлится до второй половины января. Всем хорошего окончания курса! Скоро мы напишем о предварительных порогах для получения дипломов.

DLS — новости

@deep_learning_school_news · Post #223 · 30.11.2020 г., 22:34

#part1fall2020 Позади осталась большая часть курса! В связи с этим мы хотели бы спросить ваше мнение о пройденном материале: что вам понравилось, что не понравилось, какие темы были легкими, какие — сложными. Пожалуйста, заполните анкету по ссылке. Это очень поможет нам сделать курс лучше в следующие запуски. В том числе нам ценно мнение тех, кто по какой-то причине курс не закончил.

DLS — новости

@deep_learning_school_news · Post #218 · 24.11.2020 г., 12:48

#part1fall2020 В связи с событиями во Владивостоке (полгорода без света), решили подвинуть дедлайн по домашнему заданию "Решение ML-задачи и Kaggle" на базовом потоке слегка вперёд. Теперь мягкий дедлайн — 28.11, жёсткий — 01.12.

DLS — новости

@deep_learning_school_news · Post #212 · 18.11.2020 г., 09:53

#part1fall2020 Всем привет! Выложили новые модули для базового и продвинутого потока, а также домашнее задание для продвинутого потока. Дедлайн домашнего задания — 3 декабря. Задание снова представляет собой контест на Kaggle.com. Советуем приступать к выполнению заранее. Для базового потока на этой неделе домашнего задания не будет, зато будет на следующей неделе.

ПредишнаСтр. 1 от 3Следваща