update:2020-02-28:按道理来说这个功能在前后端分离的时候应该不怎么用的上,基本到现在我还是没遇到过有这样的需求,不过也是一种方法就是.th:href="@{/{role}/login/{userName}(userName=${session.user},role=${session.role})}" 基本流程 1.问题场景:简单描述整个问题实现的流程 2.相关配置:就是整个问题中涉及到的最关键的属性,或者某些配置方式 3.解决过程:围绕这个问题,从开头到结尾解析这个问…
目录 5.共享标签 6.删除标签 7.修改标签指定提交的代码 8.标签在.git目录中的位置 9.本文中所使用到的命令 提示:接上一篇文章内容. 5.共享标签 默认情况下,git push 命令并不会传送标签到远程仓库服务器上. 在创建完标签后,你必须显式地(手动)推送标签到远程服务器上. 需要将标签推送到远程版本库作为一个发行版本,可以通过以下两种方式: (1)推送本地的指定标签 这个过程就像共享远程分支一样,你可以执行命令: git push origin <tagname>. $ git…
爬虫的抓取方式有好几种,正则表达式,Lxml(xpath)与BeautifulSoup,我在网上查了一下资料,了解到三者之间的使用难度与性能 三种爬虫方式的对比. 这样一比较我我选择了Lxml(xpath)的方式了,虽然有三种方式,但肯定是要选择最好的方式来爬虫,这个道理大家都懂,另外有兴趣的朋友也可以去了解另外两种爬虫方式! 好了现在来讲讲xpath 由于Xpath属于lxml模块,所以首先需要安装lxml库,老办法直接在file-->setting---project interpreter…
说明:我是先上手做一些简单的例子,然后在尝试的过程中理解Django的原理,笔记也是按这个思路来的. 一.Django结构与基本文件介绍 1. django-admin.py 工程管理工具,主要用于创建项目和app等.例:django-admin.py startproject project_example会创建一个名为project_example的工程,目录结构如下:|-- project_example|    |--project_example|        |-- __init_…
这是java高并发系列第27篇文章. 开发环境:jdk1.8. 案例讲解 电商app都有用过吧,商品详情页,需要给他们提供一个接口获取商品相关信息: 商品基本信息(名称.价格.库存.会员价格等) 商品图片列表 商品描述信息(描述信息一般是由富文本编辑的大文本信息) 数据库中我们用了3张表存储上面的信息: 商品基本信息表:t_goods(字段:id[商品id].名称.价格.库存.会员价格等) 商品图片信息表:t_goods_imgs(字段:id.goods_id[商品id].图片路径),一个商品会…
http://blog.csdn.net/u010019717/article/details/77510066?ref=myread http://blog.csdn.NET/u010019717 推荐一下这个国人弄的基于IntelliJ IDE 弄得插件 EmmyLua .  他的QQ群: 29850775 github: https://github.com/tangzx/IntelliJ-EmmyLua oschina: http://git.oschina.net/tangzx/Int…
目录 1.标签介绍 2.列出标签 3.创建标签 (1)标签的分类 (2)附注标签 (3)轻量标签 4.后期打标签 1.标签介绍 软件的某个发行版本所对应的,其实就是软件开发过程中,某一个阶段的最后一次git commit提交.我们知道每一个提交操作,对应的都会生成一个commit-id,而标签就是与某一个commit-id绑定的名称.一个标签一旦与某一个commit-id绑定,那么该标签就不能修改绑定到其它commit-id了,除非将该标签删除后才可以与其commit-id绑定. 标签对象(ta…
Keil uVision 使用教程 1.如果有旧的工程在,先关闭旧工程.Project -> Close Project2.新建工程.Project -> New uVision Project...找个地方保存工程.点击确定后,弹出如下图对话框.Intel -> 8051AH -> OK点击确定后,弹出如下图对话框.选择否.工程建立完毕.3.新建文件.File -> New (Ctrl + N) 可以先写代码,也可以过后再写.Ctrl+S保存在工程目录下(随便,能找到就行)…
VS2013 C#测试 首先安装Unit Test Generator.方法为:工具->扩展和更新->联机->搜索“Unit Test Generator”,图标为装有蓝色液体的小试管. 建立C#控制台程序.方法为:文件->新建项目->Visual C#->控制台应用程序. 自动生成的代码如图所示. 编写代码,生成一个新的类,编写构造函数 与 add()函数.代码如下. using System; using System.Collections.Generic; us…
最近有一个小项目需求,需要用spring mvc + mybatis实现一个复杂的配置系统.其中遇到了很多不太常见的问题,在这里特意记录下: 主要涉及的内容有 事务 多表删除 插入并返回主键 1 spring mvc + mybatis的事务 背景 大概就是有ABC三张表,A表跟B表是一对多关系,B表跟C表是一对多关系.在创建的时候提交了一个大的json,需要先暴力删除A中某行关联的所有B和所有C,然后分别创建B,再创建C.这些操作要在一个事务中进行,不能删完,插入失败. 结构长得如下: { "…
1.给小表弟汇总一个院校列表,想来想去可以写一个小爬虫爬下来方便些,所以就看了看怎么用python写,到了基本能用的程度,没有什么特别的技巧,大多都是百度搜的,遇事不决问百度啦 2.基本流程就是: 用request爬取一个页面之后用BeautifulSoup4对爬到的页面进行处理, 然后需要的东西进行预处理之后存到桌面上的.txt文件里, 之后再对.txt文件里的字符串进行分割, 最后把数据存到excel表里 3.准备:需要下载安装requests库,以及BeautifulSoup4的库,还有x…
目录 1.Tree对象介绍 2.Tree对象说明 (1)初始化一个新的本地版本库 (2)创建一个树对象(重点) (3)创建第二个文件(重点) (4)将第一个树对象加入暂存区,使其成为新的树对 3.总结 (1)分析每个树对象的存储结构 (2)blob对象和tree对象(重点) (3)总结(重点) 4.问题 5.本文用到的命令总结 1.Tree对象介绍 接下来要探讨的 Git 对象类型是树对象(tree object),它能解决文件名保存的问题.tree对象可以存储文件名,也允许我们将多个文件组织到…
目录 1.云计算的概念 2.示例说明云计算 3.小故事说明云计算 "云计算"这个词,相信大家都非常熟悉. 作为信息科技发展的主流趋势,它频繁地出现在我们的眼前.伴随它一起出现的,还有这些概念名词--OpenStack.Hypervisor.KVM.Docker.K8S等. 这些名词概念,全部都属于云计算技术领域的范畴. 对于初学者来说,理解这些概念的具体含义并不是一件容易的事情. 1.云计算的概念 所谓云计算,核心需要理解的是到底什么是云. 企业各自搭建服务耗费巨大,于是就出有人想到能…
目录 1.最底层的,就是IaaS 2.再往上,就是PaaS 3.继续往上,就是SaaS 4.IaaS.SaaS.PaaS三者之间的关系 上一篇文章详细介绍了什么是云计算: 云是一种服务,可以像使用水.电.煤那样按需使用.灵活付费,使用者只需关注服务本身. 云计算的资源是动态扩展且虚拟化的,通过互联网提供,终端用户不需要了解云中基础设施的细节,不必具有专业的云技术知识,也无须直接进行控制,只要关注自身真正需要什么样的资源,以及如何通过网络来获得相应的服务即可. 按照服务划分,云计算可以分为IaaS…
目录 13.进入正在运行的容器并以命令行交互 (1)方式一 (2)方式二 (3)attach和exec的区别 14.从容器内拷贝文件到主机上 15.Docker常用命令小结 (1)容器生命周期管理 (2)容器操作 (3)镜像仓库 (4)容器rootfs命令 (5)本地镜像管理 (6)info|version 13.进入正在运行的容器并以命令行交互 我们通常使用容器的方式都是后台运行模式,如果需要进入容器,则有两种方式. docker attach 容器ID docker exec -it 容器I…
目录 步骤1:搜索镜像 步骤2:下载Nginx镜像 步骤3:运行Nginx镜像 步骤4:进行本机测试 步骤5:进入容器内操作 步骤6:测试外网访问容器 步骤1:搜索镜像 使用docker search命令进行搜索. 建议大家去Docker官方镜像仓库去搜索,地址https://hub.docker.com/,可以看到详细的帮助文档,和镜像的仓库源所支持的版本. 步骤2:下载Nginx镜像 使用docker pull命令,从Docker镜像库中拉取镜像. [root@192 ~]# docker…
目录 1.什么是Docker容器数据卷 2.数据卷的作用 3.数据卷的使用 1.什么是Docker容器数据卷 Docker容器数据卷,即Docker Volume(卷). 当Docker容器运行的时候,会产生一系列的数据文件,这些数据文件会在关闭Docker容器时,直接消失的.但是其中产生部分的数据内容,我们是希望能够把它给保存起来,另作它用的. 所以我们期望: 将应用与运行的环境打包形成容器运行,伴随着容器运行产生的数据,我们希望这些数据能够持久化. 希望容器之间也能够实现数据的共享. 根据我…
目录 1.DockerFile文件说明 2.Dockerfile构建过程解析 (1)Docker容器构建三步骤 (2)Dockerfile文件的基本结构 (3)Dockerfile注意事项 (4)Docker执行Dockerfile的大致流程 3.总结 4.DockerFile保留字指令 1.DockerFile文件说明 (1)DockerFile文件是什么 Dockerfile是用来构建Docker镜像的文本文件,文本内容包含了一条条构建镜像所需的指令.参数和说明. 即:Dockerfile仅…
目录 (一)Git对象的存放目录 (二)Git中对象类型 (三)blob对象 1.blob对象说明 (1)blob对象定义 (2)blob对象说明 (3)blob对象存储的方式 (4)查看blob对象内容 (5)查看Git对象的类型 (6)Git管理文件 (7)Git管理修改过的文件 2.blob对象总结 3.问题 4.本文用到的命令总结 Git 是一套内容寻址文件系统.什么意思呢? 就是Git的核心部分是一个简单的键值数据库(key-value data store).你可以向该数据库插入任意…
目录 1.git diff 命令说明 2.比较工作区与暂存区中文件的差别 3.比较暂存区与本地库中文件的差别 4.总结git diff命令常见用法 5.总结 1.git diff 命令说明 在commit操作之前,我们通常要确定一下自己在什么地方更改了代码,看看有没有误操作代码,这个时候git status命令的显示就比较简单了,仅仅是列出了修改过的文件,如果要查看具体修改了什么地方,就可以使用git diff命令. 比较有用的选项:--stat:显示有多少行发生变化,简洁的展示差异. 2.比较…
目录 1.用学过的命令进行文件重命名 2.使用git mv命令进行文件重命名 我们这篇文章来说说在Git中如何进行文件重命名. 提示一下,下面所说明的是对已经被Git管理的文件进行重命名,未被Git追踪的文件,直接修改文件名称就可以了. 1.用学过的命令进行文件重命名 (1)准备一个需要修改文件名的文件. # 1.准备一个干净的Git仓库 L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master) $ git status On b…
目录 1.git log命令说明 2.git log命令参数 (1)不带参数 (2)常用显示参数 (3)--pretty参数 (4)--date=参数 (5)筛选参数 git log命令主要用于查看Git版本演变历史(也就是提交历史),同时根据追加的参数和选项不同,也会有不同的展示效果. 但默认git log命令显示出的x效果实在太丑,不好好打扮一下根本没法见人,打扮好了用alias命令拍个照片,就正式出道了! 1.git log命令说明 git log用于查询版本的历史,命令形式如下: git…
目录 1.Git的三种后悔药 2.revert命令原理 3.revert命令的使用 (1)移除某次提交的修改 (2)revert命令说明 1.Git的三种后悔药 在Git中后悔药有三种:amend.revert.reset. git commit --amend:新的提交覆盖上一次提交的内容. git revert:提交一个新的commit,来撤销之前的commit. git reset:直接回滚到指定的commit. --soft:只回退版本库,工作区和暂存区的内容不回退. --mixed(默…
目录 1.Git对象之间的关系 2.提交对象与分支的关系 (1)提交对象与分支的关系 (2)分支说明 (3)HEAD与分支的关系 1.Git对象之间的关系 我们之前学了Git的三个对象:提交对象.树对象.数据对象. 我们假设现在有一个工作目录,里面进行了三次提交,包括一次新增文件和两次对文件的修改. 每次一把工作区中的文件添加到暂存区时,暂存操作会为每一个文件计算校验和,然后会把当前版本的文件快照(即文件的内容)保存到 Git 仓库中 (Git 使用 blob 对象来保存它们),最后将校验和加入…
Markdown 是一种轻量级的标记语言,它的的优点很多,在这就不重复说了,最吸引人的应该是它清新简洁的界面,并且语法简单易学.最为常用的语法不会很多,用多了便自然而然的记住了. 可选工具 网上说如果Mac OS X系统的话,强烈建议选用Mou编辑器,它支持实时预览,并可定制多种主题.鉴于我未碰过几次苹果电脑,所以就不谈这酷爽的体验了.最近我刚在自己的win系统上安装了Mou,使用的是免费版,像一些导出PDF等功能仍无法使用,但是也能体验到其便利.在Linux系统下还没有找到非常实用的编辑器,但…
angularjs的双向数据绑定是个重要的特性,它让我们的代码简洁了许多,然而它又是如何知道数据发生了变化并改变页面的呢.最近看了一篇介绍觉得十分有用 首先,在angularjs中是有$watch事件的,他的作用就是用来监听数据的变化,并且其有一个参数为回调函数,在发生变化时会执行该函数,而$digest()则是一个循环程式,当其被调用的时候就会循环遍历并触发所有model发生变化了的$watch.再说到$apply(),他就是angularjs用来调用$digest的,一般情况下它都会根据上下…
目录 1.IaaS服务模式 2.PaaS服务模式 (1)何时使用PaaS (2)PaaS的特点 (3)PaaS优势 3.SaaS服务模式 云计算通俗来说就是输入/输出和计算不在一个主机上.计算要用到计算设备,计算设备一般是指CPU.内存和硬盘,输入/输出设备一般是指键盘.鼠标.显示器.耳机.音响.话筒等外设.而我们的个人计算机是使用主板将这些东西连接到一起来协调工作. 一个软件在执行以完成某项任务的时候,如果用到的计算设备和输入/输出设备不是通过主板连接,而是通过网络连接,那么这个过程就叫云计算…
目录 1.虚拟化的概念 2.为什么出现虚拟化 3.虚拟化技术 1.虚拟化的概念 虚拟化是指通过虚拟化技术将计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率. 2.为什么出现虚拟化 由于x86服务器的限制,许多IT组织必须部署多个服务器,每个服务器只能以其容量的一小部分运行,以满足当今的高存储和处理需求.其结果是:效率极低,运维成本过高. 采用虚拟化技术来模拟硬件功…
目录 1.按照虚拟化的程度分类 (1)完全虚拟化技术 (2)半虚拟化技术 (3)完全虚拟化与半虚拟化优缺点 2.从虚拟化架构分类 (1)寄居架构 (2)裸金属架构 虚拟化是一个广义的术语,是指计算元件在虚拟的基础上而不是真实的基础上运行,是一个为了简化管理,优化资源的解决方案.如同空旷.通透的写字楼,整个楼层没有固定的墙壁,用户可以用同样的成本构建出更加自主适用的办公空间,进而节省成本,发挥空间最大利用率.这种把有限的固定的资源根据不同需求进行重新规划以达到最大利用率的思路,在IT领域就叫做虚拟…