草庐IT

设计模式 07 桥接模式

桥接模式(BridgePattern)属于结构型模式概述桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(HandleandBody)模式或接口(Interface)模式。比如需要创建电脑对象,市面上的电脑非常多,品牌有华为、苹果、联想等等,类型有台式、笔记本、平板等等。如果给每个品牌的每个类型的电脑都创建一个对象,那是十分繁琐的,而且非常不方便扩展。试想如果增加了一个品牌或者类型,那就需要增加大量的对象,这无疑是笨重和低效的。这时我们会想,如果给品牌和类型分别设置一个维度,再将这两个维度组合起来就得到了一个对象,这样只需要定义所有的品牌和所有

设计模式 07 桥接模式

桥接模式(BridgePattern)属于结构型模式概述桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(HandleandBody)模式或接口(Interface)模式。比如需要创建电脑对象,市面上的电脑非常多,品牌有华为、苹果、联想等等,类型有台式、笔记本、平板等等。如果给每个品牌的每个类型的电脑都创建一个对象,那是十分繁琐的,而且非常不方便扩展。试想如果增加了一个品牌或者类型,那就需要增加大量的对象,这无疑是笨重和低效的。这时我们会想,如果给品牌和类型分别设置一个维度,再将这两个维度组合起来就得到了一个对象,这样只需要定义所有的品牌和所有

我的Vue之旅 07 Axios + Golang + Sqlite3 实现简单评论机制

第三期·使用Vue3.1+TailWind.CSS+Axios+Golang+Sqlite3实现简单评论机制效果图CommentArea.vue我们需要借助js的Data对象把毫秒时间戳转化成UTCString()。并在模板表达式中使用{{dateConvert(value.date)}}src="@/assets/avater/hamster.jpg"头像目前目前是固定的,也可以将头像资源地址存入数据库中。获取JavaScript时间戳函数的方法和js时间戳转时间方法_半生过往的博客-CSDN博客_js时间戳转时间dateConvert(date:number):string{returnn

我的Vue之旅 07 Axios + Golang + Sqlite3 实现简单评论机制

第三期·使用Vue3.1+TailWind.CSS+Axios+Golang+Sqlite3实现简单评论机制效果图CommentArea.vue我们需要借助js的Data对象把毫秒时间戳转化成UTCString()。并在模板表达式中使用{{dateConvert(value.date)}}src="@/assets/avater/hamster.jpg"头像目前目前是固定的,也可以将头像资源地址存入数据库中。获取JavaScript时间戳函数的方法和js时间戳转时间方法_半生过往的博客-CSDN博客_js时间戳转时间dateConvert(date:number):string{returnn

day07-SpringBoot接收参数相关注解

SpringBoot接收参数相关注解1.基本介绍SpringBoot接收客户端提交数据/参数会使用到相关注解详解@PathVariable、@RequestHeader、@ModelAttribute、@RequestParam、@CookieValue、@RequestBody2.接参数相关注解应用实例演示各种方式提交数据/参数给服务器,服务器如何使用注解接收2.1@PathVariable通过@RequestMapping和@PathVariable,获取映射路径的占位符匹配的参数,并赋给方法形参。index.html@PathVariable-路径变量monster/100/kingPa

day07-SpringBoot接收参数相关注解

SpringBoot接收参数相关注解1.基本介绍SpringBoot接收客户端提交数据/参数会使用到相关注解详解@PathVariable、@RequestHeader、@ModelAttribute、@RequestParam、@CookieValue、@RequestBody2.接参数相关注解应用实例演示各种方式提交数据/参数给服务器,服务器如何使用注解接收2.1@PathVariable通过@RequestMapping和@PathVariable,获取映射路径的占位符匹配的参数,并赋给方法形参。index.html@PathVariable-路径变量monster/100/kingPa

彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-JWT和中间件(Middleware)的使用EP07

前文再续,上一回我们完成了用户的登录逻辑,将之前用户管理模块中添加的用户账号进行账号和密码的校验,过程中使用图形验证码强制进行人机交互,防止账号的密码被暴力破解。本回我们需要为登录成功的用户生成Token,并且通过Iris的中间件(Middleware)进行鉴权操作。Iris模板复用在生成Token之前,首先我们需要对项目的模板进行优化改造,目前存在的页面模板有三块,分别是:首页模板(index.html)、登录页模板(signin.html)、后台用户管理页模板(/admin/user.html),虽然页面并不多,但不难发现,有很多重复的代码,比方说,首页模板和登录页模板都有公共的头部导航菜

彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-JWT和中间件(Middleware)的使用EP07

前文再续,上一回我们完成了用户的登录逻辑,将之前用户管理模块中添加的用户账号进行账号和密码的校验,过程中使用图形验证码强制进行人机交互,防止账号的密码被暴力破解。本回我们需要为登录成功的用户生成Token,并且通过Iris的中间件(Middleware)进行鉴权操作。Iris模板复用在生成Token之前,首先我们需要对项目的模板进行优化改造,目前存在的页面模板有三块,分别是:首页模板(index.html)、登录页模板(signin.html)、后台用户管理页模板(/admin/user.html),虽然页面并不多,但不难发现,有很多重复的代码,比方说,首页模板和登录页模板都有公共的头部导航菜

07-CubeMx+Keil+Proteus仿真STM32 - EXTI

本文例子参考《STM32单片机开发实例——基于Proteus虚拟仿真与HAL/LL库》源代码:https://github.com/LanLinnet/STM32F103R6项目要求同04节,电路常态为流水灯状态,当按下按钮BTN0时,8个LED灯全亮全灭闪烁3次后恢复到常态;当按下按钮BTN1时,8个LED灯间隔交替闪烁3次后恢复常态;当BTN0和BTN1同时按下时,系统优先相应BTN1。硬件设计在第一节的基础上,在Proteus中添加电路如下图所示,其中我们添加了一个排阻RX8、一组8个LED灯、两组由按钮BUTTON构成的按键电路。根据电路图和芯片技术手册,我们知道PB0可用作外部中断0

07-CubeMx+Keil+Proteus仿真STM32 - EXTI

本文例子参考《STM32单片机开发实例——基于Proteus虚拟仿真与HAL/LL库》源代码:https://github.com/LanLinnet/STM32F103R6项目要求同04节,电路常态为流水灯状态,当按下按钮BTN0时,8个LED灯全亮全灭闪烁3次后恢复到常态;当按下按钮BTN1时,8个LED灯间隔交替闪烁3次后恢复常态;当BTN0和BTN1同时按下时,系统优先相应BTN1。硬件设计在第一节的基础上,在Proteus中添加电路如下图所示,其中我们添加了一个排阻RX8、一组8个LED灯、两组由按钮BUTTON构成的按键电路。根据电路图和芯片技术手册,我们知道PB0可用作外部中断0