定义 在面向对象的设计中有很多流行的思想,比如说 "所有的成员变量都应该设置为私有(Private)","要避免使用全局变量(Global Variables)","使用运行时类型识别(RTTI:Run Time Type Identification,例如 dynamic_cast)是危险的" 等等。那么,这些思想的源泉是什么?为什么它们要这样定义?这些思想总是正确的吗?本篇文章将介绍这些思想的基础:开放封闭原则(Open Closed Principl…
定义 在面向对象的设计中有很多流行的思想,比如说 "所有的成员变量都应该设置为私有(Private)","要避免使用全局变量(Global Variables)","使用运行时类型识别(RTTI:Run Time Type Identification,例如 dynamic_cast)是危险的" 等等。那么,这些思想的源泉是什么?为什么它们要这样定义?这些思想总是正确的吗?本篇文章将介绍这些思想的基础:开放封闭原则(Open Closed Principl…
定义 最少知识原则(Least Knowledge Principle),或者称迪米特法则(Law of Demeter),是一种面向对象程序设计的指导原则,它描述了一种保持代码松耦合的策略。其可简单的归纳为: Each unit should have only limited knowledge about other units: only units "closely" related to the current unit. 应用到面向对象的程序设计中时,可描述为: "类应该…
前言 最近文艺复兴了在搞LDA主题模型,然而做可视化的时候发现一堆问题,说的就是pyLDAvis这个包。要做lda肯定绕不过的,这玩意可视化是真好看,六七年前的设计现在依然能打。 然而由于lda热度不在,pyLDAvis的新版接口几乎没人说明怎么用…我参照之前的教程搞一堆报错出来,找遍网上也没最新的资料…好在最后终于摸索出来了,因此就在这总结一下,希望大家少走弯路。 我使用的环境是 报错1:AttributeError: module 'pyLDAvis' has no attribute …
最近捯饬捯饬,终于搞出了自己的博客站,兴奋之余将建站的方法记录了下来,作为第一篇文章发布在自己的网站上。但是随后就是两三天的沉默与纠结…因为不知道自己该写点什么到博客上比较好了。 技术和编程? 像之前我学习python,总会一边学习一边记录,然后再整理整理就会成为某种教程,然后就能发布到网上。但是现在亲眼见识到ai的超强编程力后(我文心3.5和gtp4都用过),这个赛道无疑有点问题。毕竟一般的问题ai能当场给你解决,而且还能循序渐进debug,而且还能针对你给出的特定环境进行分析,完全客制化的万能代码文档,个人技术…
2024年11月20日 前言 本篇文章适宜有一定IT技术基础的童鞋,力求用不折磨的方式快速部署wordpres,技术小白或者大佬也可以选择性食用。 环境配置: 之后是一个非常长的前言,主要讲为什么选择用这套方案部署wordpress,如果不感兴趣可以直接跳过,看下面的部署过程~ 1、为何选用wordpress? 最近很不满自己的的streamlit弄的web,本来想打通前后端,然后自己写个博客站出来,还能部署一些自己的服务之类的。但是学完了flask之后,衡量一下利弊,决定还是重操旧业,使用wordpress(简称…
2024.11.20 一 之前了解到了一个python库叫Streamlit,那真是集成度高的可怕,十几行代码就能实现一个能web上访问的app,如果部署在服务器上,可以直接当一个建站工具。因此我在透彻地学习完Streamlit后,用这玩意捏了个简单的主页。 但是问题还是出现了,因为是博客站,首先Streamlit不支持路由,所有的文章由后台的python函数计算直接给到前端,那这样基本做不到实时的文章分享。另外Streamlit也不给处理request的api,那么访客记录,cookie缓存之类的也全都做不了。 …