用户接口

antd pro of vue学习使用

时光毁灭记忆、已成空白 提交于 2019-12-19 05:11:09
一、安装 在安装antd之前,请确保已安装node,git,yarn以及开发工具vscode。 下载:git clone --depth=1 https://github.com/sendya/ant-design-pro-vue.git my-project 安装:yarn install 运行:yarn run serve 二、vscode设置 安装中文简体插件和eslint插件,eslint用于规范代码格式。 在vscode中选择文件-》首选项-》设置,搜索eslint,建议添加如下配置到setting.json中,添加之后可以自动格式化代码和进行错误提示。 { "vetur.format.defaultFormatter.js": "prettier-eslint", "vetur.format.defaultFormatter.html": "js-beautify-html", "vetur.format.defaultFormatterOptions": { "wrap_attributes": "force-aligned" }, "editor.detectIndentation": false, // 重新设定tabsize "editor.tabSize": 2, // "editor.formatOnSave": true, // 保存时自动格式化 -

开发人员建议阅读:Spring Boot 架构中的国际化支持实践

…衆ロ難τιáo~ 提交于 2019-12-19 04:21:16
pring Boot 主要通过 Maven 或 Gradle 这样的构建系统以继承方式添加依赖,同时继承了 Spring 框架中的优秀元素,减少了 Spring MVC 架构中的复杂配置,内置 Tomcat,Jetty 容器,使用 Java application 运行程序,而不是传统地把 WAR 包置于 Tomcat 等容器中运行,从而简化加速开发流程。此外,Spring Boot 学习简单、轻量级、容易扩展。基于这些优秀的特点,Spring Boot 成为了蓬勃发展的快速应用开发领域的领导者。 在互联网日益发展的当今时代,一个应用程序需要在全球范围内使用势在必然。传统的程序设计方法将可翻译信息如菜单按钮的标签、提示信息、帮助文档等文字信息硬编码在程序代码中,但这些已经不能很好的适应全球化发展,而且程序的扩展性差,维护成本高。一个能支持全球化的应用程序,必须实现单一可执行的程序,动态地使用资源(Single Source Single Executable)。 对于一个能支持全球化的应用程序来说,需要考虑下面三方面的设计,如图 1 所示。 图 1. 多语言应用程序模型 区域模型的定制化(Locale Model):Locale 模型是一个多语言应用程序的基础,用来确定界面语言以及日期时间等的格式化方式,通常包括语言环境(Language Locale)和文化环境(Cultural

系统调用

痞子三分冷 提交于 2019-12-18 22:57:29
由前2篇文章做基础,现在可以理解系统调用了。 用户空间栈&系统空间栈 中断&异常 系统调用定义 系统调用是内核提供的一系列强大的函数。它们在内核中实现,然后通过一定的方式(X86是软中断,也即门陷入)呈现给用户,是用户程序与内核交互的接口。 注意,我们在程序中用调用read、write函数时,这些不是系统调用函数,而是glibc库包装后,进行一些处理,然后再调用系统调用。如果想在程序中直接调用 的 话,需要调用_syscall()函数。 上下文(context) 上下文简单说来就是一个环境,相对于进程而言,就是进程执行时的环境。具体来说就是各个变量和数据,包括所有的寄存器变量、进程打开的文件、内存信息等。 一个进程的上下文可以分为三个部分:用户级上下文、寄存器上下文以及系统级上下文。 用户级上下文: 正文、数据、用户堆栈以及共享存储区; 寄存器上下文: 通用寄存器、程序寄存器(IP)、处理器状态寄存器(EFLAGS)、栈指针(ESP); 系统级上下文: 进程控制块task_struct、内存管理信息(mm_struct、vm_area_struct、pgd、pte)、内核栈。 当发生进程调度时,进行进程切换就是上下文切换(context switch).操作系统必须对上面提到的全部信息进行切换,新调度的进程才能运行。而系统调用进行的模式 切换(mode switch)

mybatis_plus

对着背影说爱祢 提交于 2019-12-18 12:31:59
1.1 什么是Mybatis-Plus MyBatis-Plus (简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上 只做增强不做改变 ,为简化开发、提高效率而生。 1.2 为什么要学习Mybatis-Plus 我们已经学习过Mybatis这个框架,我们只需要在dao层定义抽象接口,基于Mybatis零实现的特性,就可以实现对数据库的crud操作。 如下两个接口: UserMapper接口 public interface UserMapper { int deleteByPrimaryKey(Long id); int insert(User user); List<User> selectList(); User selectByPrimaryKey(Long id); } OrderMapper接口 public interface OrderMapper { int deleteByPrimaryKey(Long id); int insert(Order order); List<Order> selectList(); User selectByPrimaryKey(Long id); } 在上面两个业务接口中,我们发现:它们定义了一组类似的crud方法。 在业务类型比较多的时候,我们需要重复的定义这组功能类似的接口方法。 如何解决这个问题呢

JAVA设计模式之观察者模式

被刻印的时光 ゝ 提交于 2019-12-18 09:55:07
设计模式学习04:观察者模式 本文转载: https://www.cnblogs.com/luohanguo/p/7825656.html 作者: 神仙果 JAVA设计模式之观察者模式 1、初步认识 观察者模式的定义:   在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。 大白话:   其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。 2、这个模式的结构图 3、可以看到,该模式包含四个角色 抽象被观察者角色 :也就是一个抽象主题,它把所有对观察者对象的引用保存在一个集合中,每个主题都可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察者角色。一般用一个抽象类和接口来实现。 抽象观察者角色 :为所有的具体观察者定义一个接口,在得到主题通知时更新自己。 具体被观察者角色 :也就是一个具体的主题,在集体主题的内部状态改变时,所有登记过的观察者发出通知。 具体观察者角色 :实现抽象观察者角色所需要的更新接口,一边使本身的状态与制图的状态相协调。 4、使用场景例子   有一个微信公众号服务,不定时发布一些消息,关注公众号就可以收到推送消息,取消关注就收不到推送消息。 5、观察者模式具体实现 1、定义一个抽象被观察者接口 package com.jstao.observer; /*** *

微信公众平台开发——群发信息

家住魔仙堡 提交于 2019-12-18 05:36:19
1、目的   完成在微信公众号中群发消息。这里只是完成简单的 文字发送 。也可以发送语音图片等,只是发送数据格式不同而已,下面有链接,可以查询数据类型的数据发送格式。 2、群发短信的流程 获取测试公众账号(有账号的可以不用测试账号,不过正式的账号限制比较多) 用户关注上面的公众账号 通过appid和appsecret获取我们的access_token 通过access_token群发短信 3、获取测试公众账号 + 关注公众号 1)、公众测试账号获取   访问上面的连接,选择“接口测试号申请”获得直接打开 http://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index 通过微信客户端扫码登录即可登录。   登录完即可获取到一个测试公众账号的信息。主要有appId和appsecret两个参数,这将唯一标示一个公众号,并且需要将他们作为参数获取用户的信息。、 2)、配置接口信息 这一步可以参照 微信接入说明 ,该页提供一个php的实例下载,很简单基本上修改一下自定义的TOKEN就好了,然后把验证页面放到自己的服务器上。 这里我提供我做的一个例子: 准备资源: 域名+空间(我的是sae空间+万网域名)、仅作验证的php文件 域名指向的空间根目录我创建了一个wx_sample.php wx

路由器开发

最后都变了- 提交于 2019-12-18 01:28:01
宽 带上网已经不是什么新鲜事情,人们对相关的网络器件已经不再陌生,比如说常见的路由器。对于一般的网络用户,他们能知道怎样使用路由器来上网、玩游戏等就 已经感到很满足了,通常情况下对路由器的深层技术很少去过问研究,但做为兴趣广泛的技术爱好者,对这方面的知识是非常感兴趣的。但限于各种条件的制约,这 些爱好者都非开发者,很大程度上无法深入了解真正的技术实现过程以及相关的核心内幕。正是基于此点,笔者凭借自身的知识沉淀,尽最大努力为爱好技术的读者 架设一坐能通向深层核心的桥梁,为大家揭开路由器的神秘面纱,剖开其核心内脏。为使读者能清晰明白的理解掌握,笔者尽量将专业的技术内容转化为容易接受的 知识讲解,其中可能有不足偏颇之处,还请大家多见谅。 概述 什么是路由器? 互联网是依靠路由器连接起来的,路由器是互联网或者说IP网络的核心设备。宽带接入的不断增长,带动了路由器的需求不断增加。 路由器究竟是什么样的技术产物? 谈到路由器的开发,我们就不免要谈到“嵌入式”设备的开发,没错,通俗的说,路由器就是一种嵌入式产品。那么究竟什么是嵌入式设备呢?    其实就目前而言,嵌入式设备已经不断深入我们的日常生活方方面面。通俗的讲,嵌入式设备是指具有计算机功能,但又不称为计算机的设备或器材,它几乎包括 了我们周围的所有电器设备 PDA、手机、机顶盒、汽车、微波炉、电梯、安全系统、自动售货机、医疗仪器、立体音响

PHP面向对象(下)

旧城冷巷雨未停 提交于 2019-12-17 08:31:14
单例模式 避免多人开发过程,实例化过多导致资源浪费, 限制只实例化一次的模式 构造方法不能执行则实例化失败 思路 : 1、 保护或私有构造函数,房子外部实例化 2、 内部开发一个公共的静态方法,负责实例化 3、 类有一个静态属性存放对象 <?php class Single { //设置私有,保存实例状态 static protected $ins = NULL; //设置为私有,限制类外实例化,若没有子类可去掉final final protected function __construct() { echo '实例化成功!'; } //设置为静态方法,类外能调用,实例化 static public function getinstance() { //self代表当前类,判断是否实例化 if (self::$ins instanceof self) { return self::$ins; } self::$ins = new self(); return self::$ins; } } $s1 = Single::getinstance(); $s2 = Single::getinstance(); //子类继承父类若还要单例,要用final修饰父类构造方法, //阻止子类重写构造方法自己去new的问题 class Single2 extends Single { }

面向接口编程详解(三)——模式研究

喜欢而已 提交于 2019-12-16 15:04:22
通过前面两篇,我想各位朋友对“面向接口编程”的思想有了一定认识,并通过第二篇的例子,获得了一定的直观印象。但是,第二篇中的例子旨在展示面向接口编程的实现方法,比较简单,不能体现出面向接口编程的优势和这种思想的内涵。那么,这一篇作为本系列的终结篇,将通过分析几个比较有深度的模式或架构,解析隐藏其背后的面向接口思想。这篇我将要分析的分别是MVC模式和.NET平台的分层架构。 这篇的内容可能会比较抽象,望谅解。 1.从MVC开始 MVC简介: 本文不打算详细解释MVC架构,而是把重点放在其中的面向接口思想上。所以在这里,只对MVC做一个简略的介绍。 MVC是一种用于表示层设计的复合设计模式。M、V、C分别表示模型(Model)、View(视图)、Controller(控制器)。它们的职责如下: 模型:用于存储应用中的数据及运行逻辑,是应用的实体。 视图:负责可视部分,用于与用户交互及呈现数据。视图只负责显示,不负责将用户的操作行为解释给模型。 控制器:负责将用户的行为解释给模型。根据指定的策略和用户的操作,调用模型的逻辑。 关于三者的关系,我画了一张图,大家请看: 图3.1 MVC模式示意 它们之间的交互有以下几种: 1.当用户在视图上做任何需要调用模型的操作时,它的请求将被控制器 截获。 2.控制器按照自身指定的策略,将用户行为翻译成模型操作,调用模型相应逻辑实现。 3

H5手把手教微信授权分享

别说谁变了你拦得住时间么 提交于 2019-12-16 14:04:58
导语 使用微信分享,可以获得更好的传播效果。那如何利用微信公众号向好友进行信息分享呢? 这里以分享 微信红包 为例,手把手教大家实现微信授权与分享。 步骤一. 用户信息获取 1. 注册测试公众号 我们在 https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 可以申请一个测试账号,在测试号管理的页面中能够看到我们appId等信息,这里有个接口配置信息修改的选项需要我们去填写 这里就要麻烦后端的同学为我们提供URL和Token(URL是开发者用来接收微信消息和事件的接口URL。Token可由开发者任意填写,用作生成签名) 该Token会和接口URL中包含的Token进行比对,从而验证安全性。 2. 微信网页授权 在项目中需要获取用户个人信息,比如手机号和微信头像等,这里我们需要微信网页授权才可以实现,首先在微信测试号管理中找到体验接口权限表 点击修改进入: 将你网页的域名添加进去,配置完成后我们对这个路径进行访问 https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect 即可拿到