入门指南

SpringBoot零基础入门指南2--在idea中用tomcat发布项目

会有一股神秘感。 提交于 2020-04-04 19:48:29
在idea中用tomcat发布项目 使用SpringBoot启动程序,虽然速度快,但是不易调试,因此在开发中还是使用tomcat进行程序发布 1、修改pom.xml文件 <packaging>jar</packaging> ——》<packaging>war</packaging> 并添加热部署依赖 <!--开发人员工具--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId>        <scope>runtime</scope> </dependency> 重新导入 另外还可以添加一些编译配置,以便控制编译的JDK版本,减少版本的兼容的问题,此处不是必须。 在<properties>内部添加 <plugin.mybatis.generator>1.3.1</plugin.mybatis.generator> <plugin.maven-compiler>3.1</plugin.maven-compiler> <plugin.maven-surefire>2.18.1</plugin.maven-surefire> <skipTests>true</skipTests> 在<plugins>内部添加 <plugin>

webgl (原生)基础入门指南【一】

北城余情 提交于 2020-03-18 12:29:19
来看这篇文章的同学一定是被近来的3D场景效果所震撼,抱着‘这TM怎么做的!’的来心态来学习webgl的吧。 也行你已经有threejs或其他3d场景开发框架的使用经验,却不知道webgl原生到底怎么写。本系列将从最简单最基础的原生API入手,手把手教你写webgl 准备webgl上下文 同二维场景一样,我们需要一个画布来绘制,在html中建立一个 canvas 元素。代码如下: // index.html <!DOCTYPE html> <html lang="en"> <head> <!-- Meta --> <meta charset="UTF-8" /> <title>Webgl Hello world!</title> </head> <body onload="start()"> <canvas id='main' width=500 height=400></canvas> <script src="./index.js"></script> </body> </html> start() 函数将会在文档加载完成之后被调用。它的任务是设置 WebGL 上下文并开始渲染内容。 // index.js function start() { var canvas = document.getElementById("main"); // 初始化 WebGL 上下文 var

RFID Hacking②:PM3入门指南

不打扰是莪最后的温柔 提交于 2020-03-10 17:12:36
0×00 前言 Proxmark3是由Jonathan Westhues在做硕士论文中研究Mifare Classic时设计、开发的一款开源硬件,可以用于RFID中嗅探、读取以及克隆等相关操作,如:PM3可以在水卡、公交卡、门禁卡等一系列RFID\NFC卡片和与其相对应的机器读取、数据交换的时候进行嗅探攻击,并利用嗅探到的数据通过XOR校验工具把扇区的密钥计算出来,当然PM3也能用于破解门禁实施物理入侵。 0×01 环境搭建 1.1 windows环境 PM3的固件和软件通常是配套使用,也就是说每个固件版本都有一个硬件的elf固件和与它对应的软件。 在RadioWar购买的PM3默认使用r486版本的固件( 固件&App下载地址 ), 第一次使用需要在PC上安装PM3的驱动: 设备管理 更新驱动 信任驱动 安装成功 1.1.1硬件测试 在r486\Win32\目录中找到proxmark3.exe,将其拉入cmd窗口中,回车确认便进入了PM3的工作终端: hw tune //测量天线的调谐 hw ver //打印显示Proxmark3的固件版本信息 hw reset //重置PM3 1.1.2 Bug 经测试,PM3兼容性、稳定性存在问题,导致经常崩溃,问题的原因个人猜测可能是r486版本固件问题,导致经常在windows平台崩溃。解决方案:升级固件、使用Linux平台

ASP.NET SignalR 2.0入门指南

三世轮回 提交于 2020-03-10 10:30:46
介绍SignalR ASP.NET SignalR 是一个为 ASP.NET 开发人员的库,简化了将实时 web 功能添加到应用程序的过程。实时Web功能使服务端代码推送内容到链接可客服端并立即应用成为可能,而不需要服务端等待客户端去请求数据。 SignalR可用于任何你想添加实时Web功能到ASP.NET应用程序的情形,聊天室是一个常用的例子,用户可以刷新Web页面来获得新的数据,或者页面使用一个长轮询来取回数据,这都是SignalR可以应用的场景。比如说仪表盘和监视系统,实时游戏等。 SignalR支持以一种简单的API来创建服务器到客户端的远程调用客户端的Javascript方法,SignalR还包括用于用于连接管理的API和分组连接。 SignalR自动的处理连接管理,并允许你像一个聊天室那样同时向所有连接的客户端广播消息,你也可以向特定的客户端发送消息,在客户端和服务器之间的连接是持久的,不需要像传统的HTTP连接那样重建每一个连接。 SignalR支持服务器推送功能,在服务器中可以调用在浏览器中的客户端代码,而不是像当今的“请求-响应”模式。 SignalR可以通过服务总线扩展到数以千计的客户端,同时SignalR是开源的,可以用过 Github 访问到。 SignalR和WebSocket SignalR当WebSocket可用时优先使用新式的WebSocket传输

Babel插件开发入门指南

五迷三道 提交于 2020-03-07 08:27:10
文章概览 主要包括:Babel如何进行转码、插件编写的入门基础、实例讲解如何编写插件。 阅读本文前,需要读者对Babel插件如何使用、配置有一定了解,可以参考笔者 之前的文章 。 本文所有例子可以在 笔者的github 找到,欢迎访问 笔者博客 获取更多相关文章。 Babel运行阶段 首先来了解Babel转码的过程分三个阶段:分析(parse)、转换(transform)、生成(generate)。 其中,分析、生成阶段由Babel核心完成,而转换阶段,则由Babel插件完成,这也是本文的重点。 分析 Babel读入源代码,经过词法分析、语法分析后,生成 抽象语法树(AST) 。 parse(sourceCode) => AST 转换 经过前一阶段的代码分析,Babel得到了AST。在原始AST的基础上,Babel通过插件,对其进行修改,比如新增、删除、修改后,得到新的AST。 transform(AST, BabelPlugins) => newAST 生成 通过前一阶段的转换,Babel得到了新的AST,然后就可以逆向操作,生成新的代码。 generate(newAST) => newSourceCode 插件基础入门 典型的Babel插件结构,如下代码所示。 export default function({ types: babelTypes }) { return {

Nginx 30分钟入门指南

扶醉桌前 提交于 2020-03-06 05:13:53
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。 为什么要用Nginx? 目前 Nginx 的主力竞争对手莫过于 Apache ,在这里小编对两者做一个简单的对比,帮助大家更好的理解 Nginx 的优势。 1、作为 Web 服务器: 相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。在高连接并发的情况下,Nginx是Apache服务器不错的替代品: Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一,能够支持高达 50000 个并发连接数的响应, 感谢Nginx 为我们选择了 epoll and kqueue 作为开发模型。 Nginx作为负载均衡服务器: Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务, 也可以支持作为 HTTP代理 服务器对外进行服务。Nginx采用C进行编写, 不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。 2、Nginx 配置简洁, Apache 复杂: Nginx

Android SELinux开发入门指南之SELinux基础知识

我们两清 提交于 2020-02-28 07:02:51
   Android SELinux开发入门指南之SELinux基础知识 前言    SEAndroid是在Android系统中基于SELinux推出的强制访问控制模型,来完善自主访问模型中只要取得root权限就可以为所欲为的情况。 SELinux是一种基于域-类型(domain-type)模型的强制访问控制(MAC)安全系统,其原则是任何进程想在SELinux系统中干任何事,都必须先在安全策略的配置文件中赋予权限。凡是没有在安全策略中配置的权限,进程就没有该项操作的权限。在SELinux出现之前,Linux的安全模型是DAC(DiscretionaryAccess Control),译为自主访问控制。其核心思想是进程理论上所拥有的权限与运行它的用户权限相同。比如,以root用户启动shell,那么shell就有root用户的权限,在Linux系统上能干任何事。这种管理显然比较松散。在SELinux中,如果需要访问资源,系统会先进行DAC检查,不通过则访问失败,然后再进行MAC权限检查。 一. SELinux基础知识 SELinux涉及的基本知识比较多,下面让我们来一一细说。 1.1 SELinux的三种模式 SELinux分为三种模式,下面我们看看究竟是那三种模式: Disable模式 此种模式关闭SELinux检测,不进行任何SELinux权限检查,畅通无阻。

Redis 入门指南及基础搭建

不羁岁月 提交于 2020-02-26 12:44:51
Redis 简介 什么是 Redis Redis 的全称是 Remote Dictionary Server,它是一款 开源的 高性能的 NoSQL 数据库,它可以用作 数据库、缓存 和 消息队列。 什么是 NoSQL NoSQL 最常见的解释是 non-relational,非关系型数据库,还有一种说法是 Not Only SQL,不仅仅是 SQL,NoSQL 仅仅是一个概念,泛指非关系型的数据库,区别于关系数据库,它们不保证关系数据的 ACID 特性。ACID 即 A (Atomicity) 原子性 C (Consistency) 一致性 I (Isolation) 独立性 D (Durability) 持久性 Redis 通过提供多种键值对的数据类型来适应不同场景下的存储需求。 NoSQL 的代表 作为 NoSQL 的代表主要有 MongoDB Redis Memcached NoSQL 的优点 Redis 相较于关系型数据库模型,它还是具有很多优点的 易扩展 NoSQL 数据库种类繁多,但是一个共同的特点就是去掉关系数据库的关系型特性,数据之间无关系,这样就非常容易扩展。 大数据量,高性能 NoSQL 数据库都具有非常高的读写性能,尤其在大数据量下,同样表现很优秀。 灵活的数据模型 NoSQL 无需事先建立字段,这省去了关系型数据库一旦建立字段,可扩展性非常差的不利局面

Pi币挖矿入门指南

青春壹個敷衍的年華 提交于 2020-02-26 10:49:02
由于比特币将会在今年5月份再次减半,意味着数字货币即将再次迎来一次狂欢。很多人说数字货币是一场庞氏骗局,狂欢的假象下隐藏着巨大的风险,你看着别人的收益,别人却看着你的本金,想想都有点不寒而栗。但是我们今天介绍的Pi币,不需要付出任何的本金,只需要每天在手机App上签到就可以领到Pi币,App本身并不会消耗CPU或是网络流量。采用签到方式挖币的目的有两个:一是防止机器人自动挖币;二是在起步阶段提升用户量。但是说实话,Pi币目前之所以得到很多人认可,大部分原因是创始团队出自斯坦福大学,但是未来如何谁也无法预料。所以挖币也只是玩玩而已,大家无需太在意。 1. 下载&安装App 打开 https://minepi.com/#download 进入下载页面,目前有安卓和苹果两个版本,但是实测后发现在国内无法正常安装苹果App,所以建议大家安装安卓版本,单击 这里 下载最新安卓App。 2. 注册&登录 打开App后进入如下界面, 单击“Continue with phone number”按钮, 上方下拉框选择“China(+86)”(选项列表按字母排序),下方输入框填入手机号,然后单击“Go”按钮,如果提示出错,可以再次单击重试, 输入至少8位密码,必须包含数字、小写字母和大写字母,然后单击“SUBMIT”按钮,如果提示系统错误,再次单击按钮重试, 在上方输入真实姓名和用户名,需要提醒的是

JSON 入门指南

非 Y 不嫁゛ 提交于 2020-02-18 14:36:13
什么是JSON?   JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于 C语言 家族的习惯(包括C, C++ , C# , Java , JavaScript, Perl , Python 等)。这些特性使JSON成为理想的数据交换语言。 JSON构建的结构:   1. “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct), 字典 (dictionary), 哈希表 (hash table),有键列表(keyed list),或者关联 数组 (associative array)。   2. 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。   这些都是常见的 数据结构 。事实上大部分现代 计算机 语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的 编程 语言之间交换成为可能。 JSON的具体形式   1