一.前言: LCD ( Liquid Crystal Display 的简称)液晶显示器,已经逐渐替代CRT成为主流的显示设备之一,因此也成为了单片机发烧友绕不过的话题之一:而LCD1602更是很多单片机发烧友最早接触的字符型液晶显示器.笔者经过一段时间的深入学习,对其驱动有了些许心得,特地记录于此,以备以后查阅. LCD1602,也叫1602液晶,是一种专门用来显示字母.数字.符号等的点阵型液晶模块,工业字符型液晶的一种,能够同时显示16x02即32个字符.主控芯片是HD44780或者其它兼容…
一.前言: 上文中,笔者系统的阐述了1602的两种驱动方式,并简单的提到了Arduino的LiquidCrystal库.本文紧接上文,对以下两个问题进行更加深入的探讨:如何能够使1602对Arduino的端口占用降到最少?LiquidCrystal库到底应该如何学习?闲话少说,下面开始进入正文. 二.减少1602对Arduino的端口占用 <1>不使用I2C 在上文中,笔者分别介绍八线和四线驱动的使用方法,给出了两种接线方式.接线图分别如下: 在八线驱动模式下,总共占掉了Arduino 16个…
每次讲到unittest测试框架的时候,经常有同学在群里反映,为啥我的运行不是按照我往suite里添加的用例顺序执行的,为什么别人的能跑出来报告,我的就不行... 当然,首先确认代码是OK的,如果代码没有问题,那多半就是执行方式不太对了,我们分别来看看两种执行方式. 01 unittest 执行方式 这种执行方式是pycharm自带的,首先看一下下面这段测试代码: import unittest class TestCase(unittest.TestCase): def setUp(self)…
一.前言: 很多应用都会用到ListView,当然如果是iOS就会用UITableViewController,这两个控件在不同的OS上,功能是一样的,只是有些细微的不同(iOS的UITableViewController支持静态与动态两种),不过,大多数应用都用的是动态属性,那么,这里就涉及到一个问题:刷新及加载更多内容. 目前网上流行的有两种方式: 1. 通用的方法,即将ListView, GridView和ScrollView当成ChildView,在这顶部及底部各加一个Layout,但是…
对长期奋战在一线的后端开发人员来说,都知道redis有两种持久化方式RDB和AOF,虽说大家都知道这两种方式大概运作方式,但想必有实操的人不会太多. 这里是自己实操两种持久化方式的一点点记录. 先看以下摘录自redis官网原文解释(原文是English,这里用google翻译.) Redis持久性 Redis提供了不同的持久性选项范围: RDB持久性按指定的时间间隔执行数据集的时间点快照. AOF持久性会记录服务器接收的每个写入操作,这些操作将在服务器启动时再次播放,以重建原始数据集. 使用与R…
切面(aspects)应用 DI能够让你的软件组件间保持松耦合,而面向切面编程(AOP)能够让你捕获到在整个应用中可重用的组件功能.在软件系统中,AOP通常被定义为提升关注点分离的一个技术.系统由很多的组件组成,每个组件负责一部分的功能.但是这些组件往往除了核心功能外,还有些额外的责任.比如像日志,事务管理和安全这些系统服务会被引进到组件中.这些服务通常被称为横切关注点(cross-cutting-concerns),因为它们常常贯穿于多个组件中. 在多个组件中传播这些概念,会有两个复杂层面内容…
一.业务场景 公司的样本检测报告以React页面的形式生成,已调整为A4大小的样式并已实现分页,业务上需要将这个网页生成PDF文件,并上传到服务器,后续会将这个文件发送给客户(这里不考虑). 二.原来的实现形式 浏览器原生方法:window.print()可以将网页保存为PDF文件,由于检测报告的网页已经调整为A4的样式,所以保存下来后即是一个标准的PDF文档,然后将保存下来的PDF文件上传到服务器,即可实现需求. 三.存在的问题 调用window.print()方法后需要手动保存PDF到本地,…
[]如何区分是需要使用SFTP还是FTP? []我觉得: 1.看是否已知私钥. SFTP 和 FTP 最主要的区别就是 SFTP 有私钥,也就是在创建连接对象时,SFTP 除了用户名和密码外还需要知道私钥 privateKey  ,如果有 私钥 那么就用 SFTP,否则 就是用 FTP. 2.看端口号. 如果端口号是,那么就用FTP,否则就用 SFTP =============== 转: Java使用SFTP和FTP两种连接方式实现对服务器的上传下载 版权声明:本文为原创文章,如有不足之处可以…
软件公司的两种管理方式 一个简单的回答应该是——“因为在我们的社会里,我们总是会认为薪水和会和职位的层次绑在一起”.但是,这个答案同时也折射出一个事实——我们的薪资是基于我们的所理解的价值,但这并没有解释 为什么PM(Project Manager)和BA(Business Analysts)在很多软件公司里在组织的上层? 为什么软件项目团队总是在最底层? 这两个问题真是非常地值得我们去问,去思考. 总体来说,这个世界上存在两种不同的软件公司的组织结构.我把他们叫做 Widget Factory…
现如今DDD越来越流行,园子里漫天都是介绍关于它的文章.说到DDD就不能不提Repository模式了,有的地方也叫它仓储模式. 很多时候我们对Repository都还停留在Copy然后使用的阶段, 我注意到Repository模式有两种流行的设计方式. 今天我就是想跟大家讨论下这两种设计方式之间的区别,同时弄清楚哪种方式更合理(无需纠结代码细节),见下图: 左右两边代码比较: 1.左边的Repository代码在实际使用中是最常见的,右边的使用更少一些. 2.左边代码的更难理解一些,右边的代码…