「被全球认同的AI初创公司如何利用Django所感受到的优势?」参加报告 #rc_tech

我参加了7月5日(星期三)举办的“世界认可的AI初创公司如何通过使用Django感受其优点?”活动。

“Django的特点和在RevComm中选择它的原因”

本次解説主要介绍了小门照太先生关于RevComm公司所运营的服务「MiiTel」的后端所采用的Django框架的优点。更多详细资料请参考:https://speakerdeck.com/revcomm_inc/djangonote-zheng-torevcommniokeruxuan-ding-li-you

据说RevComm在2019年左右开始使用Django,并且将其微服务化,他们目前有大约40个Django应用程序。

Django的优点如下所述。

    • セキュリティ対策が標準でサポートされている

 

    • O/Rマッパー、マイグレーション管理が便利

 

    • エコシステムの充実

 

    チーム開発のしやすさ

通过默认支持安全措施

据说XSS、CSRF、SQL注入等等,最吸引人的地方在于一开始就有安全措施。这是全栈框架独有的优点对吧?尽管在小型框架中,可以自由组合所喜欢的库来使用,但我认为对于常见的网络服务安全问题,引入Django至少可以采取应急措施,这是一个很大的魅力。

对象/关系映射器(O/R Mapper)和迁移管理功能非常方便。

据强调,与类似的其他O/R映射器相比,SQLAlchemy可以更简洁地编写代码,并且开发起来更轻松。然而,需要强调的是,SQLAlchemy的目标与Django的O/R映射器有所不同,并且具有许多Django的O/R映射器所没有的功能,因此仅仅通过代码的量来决定优劣是不合适的。

此外,还指出了Python manage.py shell具备在交互模式下操作O/R映射器的功能,以及从一开始就提供了迁移机制,这也是其优点之一。

生态系统的完善

只需在INSTALLED_APPS中添加值,即可通过第三方库扩展功能,这是一种快速实现所需功能的优点。
由于Django的一些有用扩展已在awesome-django上公开,所以如果你感兴趣,不妨去查看一下。

在团队开发中的便利程度。

Django项目可以按照应用程序单元进行分离,它的目录结构很容易相似,适合团队开发。此外,默认情况下,测试可以独立处理测试用例之间的数据(每个测试方法都有独立的数据库事务),这也是一个很好的特点。

实现舒适的测试体验,Django的测试理念和创新

资料链接: https://speakerdeck.com/revcomm_inc/kuai-shi-natesutoti-yan-woshi-xian-suru-djangonotesutosutosi-xiang-togong-fu
演讲者是近藤智哉先生。
本次演讲主要介绍了Django测试库的基本思想,以及RevComm先生在测试方面的创意。

首先,关于使用django.test.TestCase进行测试类的执行流程。

由于django.test.TestCase继承自Python官方的unittest.TestCase,所以基本流程与unittest.TestCase相同,但也有自己独特的功能,因此应该了解这些功能在何时被调用。

此外,据说还有在测试执行时使用test命令选项来指定以下内容的安排。

–keepdbで毎回マイグレーションが走らないようにしてDB初期化処理を高速化

–reverse 、 –shuffle オプションで実行順を変える

高テスタビリティなコードを書くことは重要です。テストライブラリの制限によってテストを実行できないようにすることも避ける必要があると言われました。

最后

很久没参加与Django相关的活动了,感觉很开心。
虽然这对于任何框架都是适用的,但是如果设计违背了框架作者的意图和惯例,往往会损害该框架的优势。在开发过程中,我认为重要的是意识到Django的优点,考虑如何避免破坏这些优点。
此外,今年将在10月7日举办一个名为DjangoCongressJP 2023的线下活动,可能会邀请到RevComm的演讲嘉宾!

广告
将在 10 秒后关闭
bannerAds