vagrantfile配置详解
vagrantfile配置详解1、简介在我们的工作目录下有一个Vagrantfile文件,里面包含有大量的配置信息,通过它可以定义虚拟机的各种配置,如网络、内存、主机名等,主要包括三个方面的配置,虚拟机的配置、SSH配置、Vagrant的一些基础配置。Vagrant是使用Ruby开发的,所以它的配置语法也是Ruby的,每个项目都需要有一个Vagrantfile,在执行vagrant init的目录下可以找到该文件 2、Vagrantfile文件Vagrantfile中有两行配置: 12Vagrant.configure("2") do |config|config.vm.box = "centos7" 这两行就是我们在vagrant init中后面所指定的参数。由此可以看出,vagrant init只是帮我们生成了配置文件而已,换句话说,如果我们写好了Vagrantfile,就不需要vagrant init,只需将准备好的配置文件放入到所需目录中,然后直接执行vagrant up即可。 还有很多注释掉的配置,那些都是一些常用的配置,包括网卡...
Vagrant搭建虚拟环境
Vagrant搭建虚拟环境 Vagrant 是基于 VirtualBox 虚拟机的,通俗的讲,就是用虚拟机的环境运行本地的代码。代码可以在本地直接编辑和调试,你可以在本地浏览器里查看运行中 Web 应用。而这套虚拟机是可以直接导入到其他电脑上的使用的,这样团队其他成员省去了配置时间,更能保证开发环境和生产环境的统一。 Vagrant的强大在于是一个镜像,配置完以后镜像可以放到任何地方去,真正做到了一劳永逸了。 Vagrant的官方网站: http://www.vagrantup.com/ Vagrant镜像 官方镜像:https://app.vagrantup.com/boxes/search 三方镜像:http://www.vagrantbox.es/ 1.安装Virtualbox下载地址:https://www.virtualbox.org/wiki/Downloads 修改配置虚拟机安装路径 2.安装Vagrant下载地址:https://www.vagrantup.com/downloads.html 更改vagrant配置文件的位置 将C:\Users\us...
github搜索技巧
github搜索技巧按仓库名称、说明或自述文件内容搜索通过 in 限定符,您可以将搜索限制为仓库名称、仓库说明、自述文件内容或这些的任意组合。 如果省略此限定符,则只搜索仓库名称和说明。 限定符 示例 in:name 关键字 in:name jquery匹配其名称中含有 "jquery" 的仓库。 in:description 关键字 in:name,description jquery匹配其名称或说明中含有 "jquery" 的仓库。 in:readme 关键字 in:readme jquery匹配其自述文件中提及 "jquery" 的仓库。 repo:owner/name repo:octocat/hello-world 匹配特定仓库名称。 基于仓库的内容搜索您可以使用 in:readme 限定符,通过搜索其自述文件中的内容来查找仓库。 除了使用 in:readme 以外,无法通过搜索仓库内的特定内容来查找仓库。 要搜索仓库内的特定文件或内容,您可以使用查找器或代码特定...
json时间格式化
json时间格式化Gorm JSON 时间格式化JSON 解析与扩展已有类型 Go 语言是没有完整的 OOP 对象模型的,在 Golang 的世界里没有继承,只有组合和接口,并且是松散的接口结构,不强制声明实现接口。通过对结构体的组合对现有对象进行扩展也是很便利的,参考 interface & struct 接口与结构体。 单一继承关系解决了 is-a 也就是定义问题,因此可以把子类当做父类来对待。但对于父类不同但又具有某些共同行为的数据,单一继承就不能解决了,C++ 采取了多继承这种复杂的方式。GO 采取的组合方式更贴近现实世界的网状结构,不同于继承,GO 语言的接口是松散的结构,它不和定义绑定。从这一点上来说,Duck Type 相比传统的 extends 是更加松耦合的方式,可以同时从多个维度对数据进行抽象,找出它们的共同点,使用同一套逻辑来处理。 注意 People.Name 成员首字母大写,否则不会导出,解析 JSON 时不会正确赋值。 如果想在一个包中访问另一个包中结构体的字段,则必须是大写字母开头的变量,即可导出的变量。 12345678910111...
PO BO VO DTO POJO DAO DO概念
PO BO VO DTO POJO DAO DO概念概念PO 是Persistant Object的缩写,用于表示数据库中的一条记录映射成的 java 对象。PO 仅仅用于表示数据,没有任何数据操作。通常遵守 Java Bean 的规范,拥有 getter/setter 方法。 DAO是 Data Access Object的缩写,用于表示一个数据访问对象。使用 DAO 访问数据库,包括插入、更新、删除、查询等操作,与 PO 一起使用。DAO 一般在持久层,完全封装数据库操作,对外暴露的方法使得上层应用不需要关注数据库相关的任何信息。 VO是Value Object的缩写,用于表示一个与前端进行交互的 java 对象。有的朋友也许有疑问,这里可不可以使用 PO 传递数据?实际上,这里的 VO 只包含前端需要展示的数据即可,对于前端不需要的数据,比如数据创建和修改的时间等字段,出于减少传输数据量大小和保护数据库结构不外泄的目的,不应该在 VO 中体现出来。通常遵守 Java Bean 的规范,拥有 getter/setter 方法。 DTO是Data Trans...
N+1优化
N+1优化什么是N+1问题A对象关联B对象,A对象进行列表展示时需显示B对象的关联属性,这样需要先用一条sql将N个A对象查询出来,再用N条sql将这些对象的关联属性查询出来。违背了减少数据库交互原则,影响性能。 解决方法方法一连接查询,在查询A对象的时候,将关联的B对象查询出来。 缺点: 连接的表增加,sql性能下降; 如果N个A对象关联的是同一个B对象,会使结果集非常庞大,返回结果集需要消耗性能,并且影响排序性能。比如100个员工对象都关联ID为1的部门,本来部门的数据只需出现一次,这里为了避免N+1,重复出现100次。 方法二A表中设置冗余字段。 缺点:更新B表需要更新A表。更新A表时需要增加修改B对象属性的逻辑。 方法三性能最佳,1+1查询。 先用sql查出所有员工对象查询出,将他们关联的部门ID放到一个集合中,再发一条sql,将所有部门查出,之后在程序中将部门信息设置到员工对象中。
xorm生成代码
xorm生成代码下载源码1git clone https://gitea.com/xorm/cmd.git 编译12cd ../cmd/xormgo build 生成代码1./xorm reverse mysql "root:123456@tcp(127.0.0.1:3306)/doss" templates/goxorm ./model 配置文件cmd\xorm\templates\goxorm\config 12345678910111213#语言lang=go#生成json tag(0:不生成 1:生成)genJson=1prefix=cos_#当genJson=1时,忽略json字段(数据库字段,逗号隔开)ignoreColumnsJSON=detail#对应数据库字段(逗号隔开)created=created_at#对应数据库字段(逗号隔开)updated=updated_at#对应数据库字段(逗号隔开)deleted=deleted_at 设置created,updated,deleted后,CreatedAt,UpdatedAt会生成cr...
標籤外掛(Tag Plugins)
Tabs出師表圖庫李白臣亮言:先帝創業未半而中道崩殂,今天下三分,益州疲弊,此誠危急存亡之秋也。然侍衞之臣不懈於內,忠志之士忘身於外者,蓋追先帝之殊遇,欲報之於陛下也。誠宜開張聖聽,以光先帝遺德,恢弘志士之氣,不宜妄自菲薄,引喻失義,以塞忠諫之路也。宮中府中,俱為一體;陟罰臧否,不宜異同:若有作奸犯科及為忠善者,宜付有司論其刑賞,以昭陛下平明之理;不宜偏私,使內外異法也。侍中、侍郎郭攸之、費禕、董允等,此皆良實,志慮忠純,是以先帝簡拔以遺陛下:愚以為宮中之事,事無大小,悉以諮之,然後施行,必能裨補闕漏,有所廣益。將軍向寵,性行淑均,曉暢軍事,試用於昔日,先帝稱之曰“能”,是以眾議舉寵為督:愚以為營中之事,悉以諮之,必能使行陣和睦,優劣得所。親賢臣,遠小人,此先漢所以興隆也;親小人,遠賢臣,此後漢所以傾頹也。先帝在時,每與臣論此事,未嘗不歎息痛恨於桓、靈也。侍中、尚書、長史、參軍,此悉貞良死節之臣,願陛下親之、信之,則漢室之隆,可計日而待也。臣本布衣,躬耕於南陽,苟全性命於亂世,不求聞達於諸侯。先帝不以臣卑鄙,猥自枉屈,三顧臣於草廬之中,諮臣以當世之事,由是感激,遂許先帝以驅馳。後...
支付宝沙盒环境搭建
支付宝沙盒环境搭建开发工具在线工具:https://openhome.alipay.com/platform/demoManage.htm#/alipay.trade.wap.pay 密匙生成工具:https://ideservice.alipay.com/ide/getPluginUrl.htm?clientType=assistant&platform=win&channelType=WEB 支付宝开放平台登录蚂蚁金服开放平台:https://open.alipay.com/platform/home.htm 注册开发者账号并登录 安装沙盒版支付宝APP下载地址 使用沙盒账号登陆,支付密码和登陆密码都是111111,可以在该页面给账号充值 生成密钥得到商户应用私钥与商户应用公钥 获取支付宝公钥设置应用公钥 得到支付宝公钥 通知消息订阅 测试代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565...
CAS单点登录原理解析
转载:http://www.sohu.com/a/280937943_756465 CAS单点登录原理解析1、基于Cookie的单点登录的回顾 基于Cookie的单点登录核心原理: 将用户名密码加密之后存于Cookie中,之后访问网站时在过滤器(filter)中校验用户权限,如果没有权限则从Cookie中取出用户名密码进行登录,让用户从某种意义上觉得只登录了一次。 该方式缺点就是多次传送用户名密码,增加被盗风险,以及不能跨域。同时www.qiandu.com与mail.qiandu.com同时拥有登录逻辑的代码,如果涉及到修改操作,则需要修改两处。 2、统一认证中心方案原理在生活中我们也有类似的相关生活经验,例如你去食堂吃饭,食堂打饭的阿姨(www.qiandu.com)告诉你,不收现金。并且告诉你,你去门口找换票的(passport.com)换小票。于是你换完票之后,再去找食堂阿姨,食堂阿姨拿着你的票,问门口换票的,这个票是真的吗?换票的说,是真的,于是给你打饭了。 基于上述生活中的场景,我们将基于Cookie的单点登录改良以后的方案如下: 经过分析,Cookie单点...
CSS display的32种写法
转载:https://segmentfault.com/a/1190000012833458 CSS display的32种写法 inline:无法设置高度,元素在同一行,自动换行 block:可设置高度,元素无法在同一行 inline-block:可设置高度,元素在同一行,自动换行 你知道『回』字有四种写法,但你知道display有32种写法吗?今天我们一一道来,让你一次性完全掌握display,从此再也不用对它发愁。 从大的分类来讲,display的32种写法可以分为6个大类,再加上1个全局类,一共是7大类: 外部值 内部值 列表值 属性值 显示值 混合值 全局值 外部值所谓外部值,就是说这些值只会直接影响一个元素的外部表现,而不影响元素里面的儿子级孙子级元素的表现。 display: block;这个值大家不陌生,我们最熟悉的<div>缺省就是这个值,最基本的块级元素,属于css入门初学者都知道的概念,只要是容器类型的元素基本都是这个值。除<div>之外,还有<h1>到<h6>,<p>,<form&...
Sass中文教程
Sass中文教程Sass 是一款强化 CSS 的辅助工具,它在 CSS 语法的基础上增加了变量 (variables)、嵌套 (nested rules)、混合 (mixins)、导入 (inline imports) 等高级功能,这些拓展令 CSS 更加强大与优雅。使用 Sass 以及 Sass 的样式库(如 Compass)有助于更好地组织管理样式文件,以及更高效地开发项目。 1. 特色功能 (Features) 完全兼容 CSS3 在 CSS 基础上增加变量、嵌套 (nesting)、混合 (mixins) 等功能 通过函数进行颜色值与属性值的运算 提供控制指令 (control directives)等高级功能 自定义输出格式 2. 语法格式 (Syntax)Sass 有两种语法格式。首先是 SCSS (Sassy CSS) —— 也是本文示例所使用的格式 —— 这种格式仅在 CSS3 语法的基础上进行拓展,所有 CSS3 语法在 SCSS 中都是通用的,同时加入 Sass 的特色功能。此外,SCSS 也支持大多数 CSS hacks 写法以及浏览器前缀写法 (...
Prometheus + Grafana监控
转载:https://blog.rj-bai.com/post/158.html 本文包括 Prometheus 概述、部署、配置、监控、告警、之前我做监控用的都是 zabbix,zabbix 也算是一个全面型的监控系统,但是他不太适合容器监控,他对容器监控集成欠缺很多,他比较偏向于非容器监控。 Prometheus 算是一个全能型选手,原生支持容器监控,当然监控传统应用也不是吃干饭的,所以就是容器和非容器他都支持,所有的监控系统都具备这个流程,数据采集→数据处理→数据存储→数据展示→告警,本文就是针对 Prometheus 展开的,所以先看看 Prometheus 概述 Prometheus 概述Prometheus 是什么中文名普罗米修斯,最初在 SoundCloud 上构建的监控系统,自 2012 年成为社区开源项目,用户非常活跃的开发人员和用户社区,2016 年加入 CNCF,成为继 kubernetes 之后的第二个托管项目,官方网站 Prometheus 特点 多维数据模型:由度量名称和键值对标识的时间序列数据 PromSQL: — 种灵活的查询语言,可以利用多维...
5种分布式事务解决方案优缺点对比
5种分布式事务解决方案优缺点对比 原文 背景分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在微服务架构中,几乎可以说是无法避免。 ACID 指数据库事务正确执行的四个基本要素: 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持久性(Durability) CAP CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容忍性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。 一致性:在分布式系统中的所有数据备份,在同一时刻是否同样的值。 可用性:在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。 分区容忍性:以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。 BASE理论 BASE理论是对CAP中的一致性和可用性进行一个权衡的结果,理论的核心思...
cc++
NIM_Duilib_Framework 网易云信Windows应用界面开发框架(基于Duilib) pubg-mobile-esp 刺激战场腾讯模拟器透视+磁性自瞄 easyserverdev 操作系统层面提供的 API socket API QStudioSCADA QStudioSCADA是一款集HMI,数据采集于一体的软件。 EasyLogger 高性能的 C/C++ 日志库 Utils C/C++ 基础功能组件代码 Tachftp Linux下ftp服务器(仿vsftpd) QtFtpServer QtFtpServer 基于QFtpServer QFtpServer QFtpServer - an FTP server written in Qt jpeg_open A hardware MJPEG encoder and RTP transmitter qxmledit QXmlEdit XML editor CycloneTCP Dual IPv4/IPv6 Stack QtCustomControls Qt自定义控件 qn...
Qt
libQt https://gitee.com/drabel InternetFashionedInstaller innosetup打包 QtScrcpy 投屏 scrcpy 投屏 qtcanpool 本项目是根据QtCreator源码结构总结出的一套通用的项目管理模板。核心库为基于QtWidgets的qcanpool,同时,集成常用组件和第三方类库。 Qt5.12-Document-Trans-in-Chinese QT文档部分翻译 QtCreator-Translation-CN qtcreator翻译 [样式]QDarkStyleSheet A dark style sheet for QtWidgets application [painter画图]StockKLine股票K线图 EasyPaint 类似画图软件 QTexEngine [刘典武]GAS 刘典武Qt开发框架 MVS 刘典武Qt开发框架编写的应用 [图表]qwt 6.1.3 文档http://qwt.sourceforge.net/ qwtpolar 文档http://qwtpolar.sourceforg...
algorithms
Algorithms 全面的算法代码仓库 algorithms Algorithms & Data structures in C++. Learn-Algorithms 算法学习笔记 c-algorithms A library of common data structures and algorithms written in C. C All Algorithms implemented in C LearningMasteringAlgorithms-C Mastering Algorithms with C 《算法精解:C语言描述》源码及Xcode工程、Linux工程 Algorithms Efficient Algorithms Algorithms Collection of algorithms in multiple programming languages. algorithms_and_data_structures 180+ Algorithm & Data Structure Problems using C++
architecture
architecture.of.internet-product 互联网公司技术架构,微信/淘宝/微博/腾讯/阿里/美团点评/百度/Google/Facebook/Amazon/eBay的架构 architecture.taobao-alibaba 互联网公司架构: 淘宝技术架构,阿里巴巴技术架构 architecture.wechat-tencent 互联网公司架构: 微信技术架构, 腾讯技术架构 architecture.meituan-dianping 互联网公司架构: 美团点评技术架构 architect-awesome 后端架构师技术图谱
embbeded
[lvgl GUI]lvgl lv_examples lv_drivers pc_simulator lv_projects lv_utils https://littlevgl.com/ PH7 嵌入式php7 c库sod 嵌入式计算机视觉和机器学习库vedis 嵌入式redis库
awesome
awesome 各awesome列表 awesome-awesomeness 各awesome列表 awesome-go Awesome-Windows windows软件和工具列表 awesome-cryptography 各类语言的加密库 awesome-wechat-weapp 微信小程序开发资源汇总 go-hardware go语言操作硬件库 awesome-algorithms Projects golang官方开源项目列表 jobbole 伯乐在线中文awesome awesome-dotnet-cn DotNet 资源大全中文版 awesome-java-cn Java资源大全中文版 awesome-python-cn Python资源大全中文版 awesome-go-cn Go 资源大全中文版 Go-Awesome awesome-c-cn C 资源大全中文版 awesome-sysadmin-cn 系统管理员资源大全中文版 awesome-cpp-cn C++ 资源大全中文版 awesome-php-cn PHP资源大全中文版 awesome-javasc...