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

Резултати

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

Търсене: #mysql

当前筛选 #mysql清除筛选
infosecurity

@tg_infosec · Post #3311 · 20.06.2025 г., 12:31

💻 Бесплатный мини-курс: MySQL для новичков. • Еще один бесплатный курс от Selectel для новичков, который описывает установку и настройку базы данных MySQL и как ими управлять, Вы научитесь работать с таблицами и разными типами данных, создавать ключи и настраивать права доступа. В конце курса — подборка полезных книг, которые точно пригодятся в начале пути. - Как установить MySQL на Windows; - Как установить и настроить MySQL в Ubuntu 20.04; - Создание базы данных в MySQL; - Типы данных в MySQL; - Как создавать таблицы в MySQL (Create Table); - Создание нового пользователя и настройка прав в MySQL; - Сброс пароля root в MySQL; - ALTER TABLE — изменение таблицы в SQL; - Insert в MySQL — добавление данных в таблицу; - Работа с командой UPDATE — как обновить данные в таблице MySQL; - Как установить и использовать MySQL Workbench; - Как создать первичные и внешние ключи MySQL; - Книги по MySQL: пособия для начинающих и продолжающих. #MySQL

Hashtags

#mysql IT周瑜-MySQL源码课(手写MySQL+MySQL源码)滴滴~ https://www.processon.com/view/link/66d3e5320b95cb781b9aaf44 售后吹水群https://t.me/e9999dd_qun 频道机器人(无法私聊我的可以这里联系我)https://t.me/e9999dd_Bot 会员免费看 回收正版课 招收代理 课程咨询客服https://t.me/e9999dd

Hashtags

djangoproject

@djangoproject · Post #548 · 14.01.2018 г., 21:49

https://www.tutorialspoint.com/python/python_database_access.htm Python - #MySQL#Database Access The Python standard for database interfaces is the Python DB-API. Most Python database interfaces adhere to this standard. You can choose the right database for your application. Python Database API supports a wide range of database servers such as

Repositorio data science

@repo_science · Post #3513 · 12.08.2023 г., 21:31

#python#django#MySQL 🐍 The Ultimate Django Series Part 3 Description This course is the 3 part of a series. Build production-grade backends with industry best practices.A comprehensive, fun and highly-practical course that prepares you for the job • Building an API to upload files • Sending emails • Running background tasks with Celery • Scheduling periodic tasks • Monitoring scheduled tasks • Writing automated tests with PyTest • Running performance tests with Locust • Profiling with Silk • Implementing caching with Redis • Managing static assets • Logging • Managing development and production configuration • Deploying to Heroku • Django best practices • And much, much more! Author: Mosh Hamedani Language: English Duration: 4h+ 🔗Link ----- Main channel:@repo_science Coupons: @freecoupons_reposcience -----

Repositorio data science

@repo_science · Post #3512 · 12.08.2023 г., 14:45

#python#django#MySQL 🐍 The Ultimate Django Series Part2 Description This course is the second part of a series. The first part covers the fundamentals of building websites with Python and Django. In this part, you'll learn: • Fundamentals of RESTful APIs • Working with class-based views • Creating serializers • Using mixins and generic views • Generating routes with routers • Filtering, searching, sorting, and pagination • Django authentication system • Creating custom User models • Securing APIs with JSON Web Tokens (JWT) • Using signals to decouple apps • Troubleshooting common errors • Applying best practices • And much, much more! Author: Mosh Hamedani Language: English Duration: 5h 41m 🔗Link ----- Main channel:@repo_science Coupons: @freecoupons_reposcience -----

Repositorio data science

@repo_science · Post #3510 · 11.08.2023 г., 14:19

#python#django#MySQL 🐍 The Ultimate Django Series Description Master Django to Build Awesome Backends! This course is the first part of a series. In this part, you'll learn • The fundamentals of web development • Installing Django • Creating and understanding Django projects • Building reusable Django apps • Building a data model for an e-commerce application • Implementing generic relationships using Content Types Framework • Setting up and using MySQL in your Django projects • Creating and updating database tables using Django migrations • Populating your database dummy data • Querying and manipulating data using Django ORM • Managing your application data using Django admin • Django best practices • And much, much more! Author: Mosh Hamedani Language: English Duration: 4h 48m Subtitle: Included 🔗Link ----- Main channel:@repo_science Coupons: @freecoupons_reposcience -----

Python操作三大主流数据库 #Python数据库编程#MySQL#Redis#MongoDB 本书系统讲解Python操作MySQL、Redis和MongoDB三大数据库,涵盖连接、增删改查及实战案例,助你快速掌握数据库交互核心技能,提升数据处理效率。 💾 获取资源请点击:👉 点我获取Python操作三大主流数据库👈

#极客#极客大学#人工智能#产品经理#mysql#aigc 极客 MySQL https://u.geekbang.org/subject/mysql/1008017?utm_source=undefined&utm_medium=menu&utm_term=timewebmenu_h5 极客产品经理 https://u.geekbang.org/subject/pmai?utm_source=undefined&utm_medium=menu&utm_term=timewebmenu_h5 极客aigc https://u.geekbang.org/subject/aigc?utm_source=undefined&utm_medium=menu&utm_term=timewebmenu_h5 极客agents https://u.geekbang.org/?utm_source=undefined&utm_medium=menu&utm_term=timewebmenu_h5 售后吹水群https://t.me/e9999dd_qun 频道机器人(无法私聊我的可以这里联系我)https://t.me/e9999dd_Bot 会员免费看 回收正版课 招收代理 课程咨询客服https://t.me/e9999dd

djangoproject

@djangoproject · Post #167 · 22.09.2016 г., 14:01

https://github.com/aio-libs/aiomysql #aiomysql is a "driver" for accessing a #MySQL database from the #asyncio (PEP-3156/tulip) framework. It depends on and reuses most parts of #PyMySQL . aiomysql tries to be like awesome #aiopg library and preserve same api, look and feel. Internally aiomysql is copy of PyMySQL, underlying io calls switched to async, basically yield from and asyncio.coroutine added in proper places)). sqlalchemy support ported from aiopg.

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