学习是一种快乐, 学习是一种未来, 学习带给你未来竞争力

人生路上, 工作路上跑第一,第一梯队, 才有竞争力! 如何办到,合理抢跑是诀窍, 抢跑还得合理才行, 若能在小学或者初中阶段让孩子学会大学毕业后工作中要用的知识和技能, 就可以达到合理抢跑的目标,我们开辟了0基础java编程培训系列课程, 邀请您免费试听, 满意再报名。先到先跑,领先更多!人生路上跑第一?容易?看下面合理抢跑 是秘诀

20年开发经验一线程序员 专注6-16岁青少年编程培训

讲故事学编程,让孩子爱上编程

 

少儿编程时代已经到来

为什么要学编程?
222 333 555 666
提升逻辑思维能力
了解程序思维
了解计算机工作原理
为未来埋下种子
面向过程分析
提升问题分析能力
面向未来
提高未来竞争力

 

循序渐进螺旋式课程体系

自然进阶,效果更出众 999

20年互联网开发工程师授课,讲故事方式教授,交互式指导

实战派讲师授课,想学不会都难!

成果展示

小学员真实案例作品
  

我们的优势

为什么选择快乐成长?

55 22 33
讲故事式授课
讲授基础原理
20年专业开发经验
从未来从业方向讲授
交互式
分阶段教学

优惠活动     课程体系    详细信息
 

儿童计算机编程

孩子是我们的希望, 他们的未来就是我们的未来
让他们有竞争力, 才是自己有竞争力, 那么编程从孩子抓起,也许是个好主意, 很多地方都已经在行动了, 都在孩子阶段开始学习了编程, 我们绝对不能落后!
我们说不要孩子输在起跑线上, 我们要合理抢跑,赢在起跑线

Eclipse 运行命令行参数大全

  categories:资料  tags:  author:

包括英文版本和中文版本两种的说明, 特别需要值得一提的是那个 -nl 参数, 可以指定程序启动时所使用的语言. 例如:

eclipse -nl en_US
将启动英文语言, 这个特性在安装了国际化语言包以后特别有用, 可以方便的切换各个语言的版本. 注意 IBM WSAD v5.1 也支持这个功能.

运行 Eclipse

将 Eclipse 驱动程序安装(解压缩)到某个目录(例如,c:\eclipse)中之后,通过运行顶级安装目录中的 Eclipse 可执行文件来启动”工作台”。在 Windows 系统上,该可执行文件称为 eclipse.exe,而在 Linux 系统上称为 eclipse。注意:下列讨论描述 Windows 系统上的设置。Linux 上的设置是相似的。

如果您没有另行指定,则平台将缺省工作区目录创建为可执行文件的兄弟目录(例如 c:\eclipse\workspace)。此工作区目录用作项目的缺省内容区,还用于保存任何必需的元数据。要进行共享安装或多工作区安装,应明确指出工作区的位置而不是使用缺省值。有两种控制工作区位置的方法:使用当前工作目录或使用 -data 命令行自变量。

将工作区位置设置为在当前工作目录内

阅读全文

儿童计算机编程

  categories:培训, 资料  tags:, ,   author:

20年开发经验一线程序员 专注9-16岁青少年编程培训

讲故事学编程,让孩子爱上编程

 

少儿编程时代已经到来

为什么要学编程?

222 333 555 666
提升逻辑思维能力
了解程序思维
了解计算机工作原理
为未来埋下种子
面向过程分析
提升问题分析能力
面向未来
提高未来竞争力

 

循序渐进螺旋式课程体系

自然进阶,效果更出众

999

20年互联网开发工程师授课,讲故事方式教授,交互式指导

实战派讲师授课,想学不会都难!

成果展示

小学员真实案例作品

  

我们的优势

为什么选择快乐成长?

55 22 33
讲故事式授课
讲授基础原理
20年专业开发经验
从未来从业方向讲授
交互式
分阶段教学

优惠活动     课程体系    详细信息

 

阅读全文

儿童编程:让孩子学会将来有用的编程

  categories:培训, 资料  author:

qq一次试听,让孩子爱上编程

什么是未来有用的编程, 下面是一个编程语言的排行榜的情况的历史数据, 能充分说明

java和c语言是两个非常重要的, 非常靠前的排名的语言

   2019年编程语言流行程度情况

    这个是2017年java语言和c语言的排名情况

 2020年1月语言排行情况

语言发展的历史趋势

上面 几张图  能够非常充分说明编程语言的情况, 因此可以看出学好java语言非常非常重要

也是未来非常有需求的和市场的,因此若是能在现在学习中就能学好c语言和java语言对将来及其重要的

下面是一幅程序员工作需求情况的图表:

2017年程序员需求情况

上面说了c语言和java语言排名情况, 而刚刚这幅图说明了java语言在工作职位需求上的独占位置

 

因此java语言是最重要的!  其次C语言也是我们必须学好的。

本人毕业20年一直从事java和c语言开发工作, 目前阶段推出针对儿童的java零基础培训,这样孩子就可以在没有进入大学前合理的提前学会将来有用的东西,达到合理抢跑的目的:

 

循序渐进教学理念

无缝衔接课程体系

 

快乐成长的儿童计算机编程学习理念旨在从本质出发,让孩子将编程当做感知编程的过程,了解计算机的工作原理。循序渐进地引领学生一层一层突破学习难关,
在潜移默化中形成编程思维,实现独立编写代码、调试代码,排除问题,

阅读全文

Hazelcast数据分发和集群平台管理中心

  categories:资料  author:

Hazelcast简介

是Hazelcast公司开源的一款分布式内存数据库产品,提供弹性可扩展、高性能的分布式内存计算。基于Apache v2许可证发布,可用于实现分布式数据存储、数据缓存、消息代理器以及分布式计算平台。Hazelcast强调高速访问分布式数据(通常是分布式的缓存)、分布式计算和分布式消息。
Github地址:https://github.com/hazelcast/hazelcast
官方网站:https://hazelcast.org/
API文档:https://docs.hazelcast.org/docs/latest/manual/html-single/index.html

Hazelcast特性:

1.强大的分布式计算:允许任意业务逻辑执行位置引用,并支持跨集群的分布式扩展。作为完全内存数据存储,Hazelcast IMDG可以在几微秒内转换和提取数据,提供吞吐量和查询。在Hazelcast里所有的数据结构都是分布式的,把多个节点当作一个节点使用,最常用的是map,其它的有Queue(队列),MultiMap,Set,List,跟java里的是一样的,因为实现了java里的泛型接口。
2.支持多种语言:Java, C++, .NET/C#, Python, Scala, and NodeJs
3.持久化:Hazelcast主要是解决访问分布式数据和进行分布式计算时保持低延迟。默认情况下,Hazelcast不涉及磁盘或其它持久化的存储。
4.简易性: Hazelcast 功能只需引用一个jar包,除此之外,不依赖任何第三方包。因此可以非常便捷高效的将其嵌入到各种应用服务器中,而不必担心带来额外的问题(jar包冲突、类型冲突等等)。他仅仅提供一系列分布式功能,而不需要绑定任何框架来使用,因此适用于任何场景。扩展,故障处理和恢复都是自动化的,以便于操作管理
5.自治集群(无中心化):Hazelcast 没有任何中心节点,在运行的过程中,它自己选定集群中的某个节点作为中心点来管理所有的节点

Hazelcast客户端(管理中心)下载

下载地址:https://hazelcast.org/download/

 

下载完解压即可,双击start.bat即可启动

 

这个是管理中心的登录URL

需要先设置账户密码,密码需要字母大小写还有数字

 

登录页面

与springboot进行集成

SpringBoot官方明确表示支持Hazelcast

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-hazelcast.html
引入依赖

<dependency>
       <groupId>com.hazelcast</
阅读全文

Java中使用AntiSamy开源项目防御XSS攻击

  categories:资料  author:

之前公司有接了一个国土的项目,虽然是内部小项目,但是可能是zhengfu项目竟然找软件测试公司大概测了一下。。。然后出现了以下三种问题:sql注入,XSS攻击,接口访问频率。下面是解决XSS攻击。

研究:

一开始的想法是,弄个过滤器把那些关键字过滤掉不就好了,例如script、eval、document等等,确实网上也有这些例子。可参考此博客https://www.cnblogs.com/myyBlog/p/8890365.html

但是人家可是请专业的软件测试工程师测试的,我这么混过去肯定是不行滴,上面的主要只是简单地过滤掉用户的输入参数,而且过滤得非常的不全面,可能还有很多方面的攻击呢?然后继续的百度找找有没有此方面的开源项目。结果真的找到了一个,就是AntiSamy,OWASP的一个开源项目,通过对用户输入的 HTML / CSS / JavaScript 等内容进行检验和清理,确保输入符合应用规范。AntiSamy被广泛应用于Web服务对存储型和反射型XSS的防御中。这个就相当的强大了啊。

方案:

参考上面的博客的做法:弄一个过滤器XSSFilter,拦截所有路径。再使用HttpServletRequestWrapper来装饰一下HttpServletRequest,已达到XSS清洗来防御XSS攻击。嗯,就这么大概了,网友真强大~

开工:

1、引入Maven依赖:

<!– OWASP AntiSamy 防止XSS攻击–>
<dependency>
<groupId>org.owasp.antisamy</groupId>
<artifactId>antisamy</artifactId>
<version>1.5.5</version>
</dependency>
2、策略文件:

Maven下载下来的依赖里面是带有策略文件,之前试过前一点的版本例如1.5.3好像是没有的。下面我使用的策略文件将是antisamy-ebay.xml,毕竟eBay 是当下最流行的在线拍卖网站之一,防御策略肯定是非常好的。关于AntiSamy的策略文件的详解大家可以去搜一下,毕竟可能以后要改里面的处理规则呢。

3、怎么使用AntiSamy:

想当的简单,首先要指定策略文件生成Policy,然后新建AntiSamy,再对需要进行XSS清洗的内容进行扫面即可。

String xsshtml = “hyf<script>alert(1)</script>”;
Policy policy = Policy.getInstance(“antiSamyPath”);
AntiSamy antiSamy = new … 阅读全文

antisamy的策略文件使用详解

  categories:资料  author:

1 前言

Antisamy是OWASP(open web application security project)的一个开源项目,其能够对用户输入的html/css/javascript 脚本进行过滤,确保输入满足规范,无法提交恶意脚本。Antisamy被应用在web服务中对存储型和反射性的xss防御,尤其是在存在富文本输入的场景,antisamy能够很好的解决用户输入体验和安全要求之间的冲突。

  • Antisamy的对包含非法字符的用户输入的过滤依赖于策略文件,策略文件规定了antisamy对各个标签、属性的处理方法。策略文件定义的严格与否,决定了antisamy对xss漏洞的防御效果。
  • OWASP中antisamy有java和.net两个项目,这篇文档中仅对java项目进行介绍。从安装、使用及策略文件的定制几个方面讲解如何将antisamy应用到实际项目当中。

2 工具安装

  •  Antisamy的官方下载路径:++https://code.google.com/archive/p/owaspantisamy/downloads++。下载列表中包含antisamy的jar包,同时也包含了几个常用的策略文件。官方下载的链接需要翻墙,为方便使用,将最新版本的antisamy和策略文件放到文档的附件中(见附件1)。
  • Antisamy直接导入到java的工程即可,但是其运行依赖另外三个库:

xercesImpl.jar    http://xerces.apache.org/mirrors.cgi#binary

batik.jar              http://xmlgraphics.apache.org/batik/download.cgi

nekohtml.jar       http://sourceforge.net/projects/nekohtml/

  • 可以通过链接下载,也可以从marven中直接下载。测试过程中使用的是从marven中下载,使用的版本信息如下:

 <orderEntry type=”library” name=”xerces:xercesImpl:2.11.0″ level=”project” />

<orderEntry type=”library” name=”com.nrinaudo:kantan.xpath-nekohtml_2.12:0.1.9″ level=”project” />

<orderEntry type=”library” name=”org.apache.xmlgraphics:batik-script:1.8″ level=”project” />

  • 在导入完成后,在java工程中新建一个类,输入如下代码进行测试,确认安装是否正确。
    1. public
阅读全文

XSS的防御

  categories:资料  author:

简介

XSS 的防御很复杂,并不是一套防御机制就能就解决的问题,它需要具体业务具体实现。

目前来说,流行的浏览器内都内置了一些 XSS 过滤器,但是这只能防御一部分常见的 XSS,而对于网站来说,也应该一直寻求优秀的解决方案,保护网站及用户的安全,我将阐述一下网站在设计上该如何避免 XSS 的攻击。

HttpOnly

HttpOnly 最早是由微软提出,并在 IE 6 中实现的,至今已经逐渐成为一个标准,各大浏览器都支持此标准。具体含义就是,如果某个 Cookie 带有 HttpOnly 属性,那么这一条 Cookie 将被禁止读取,也就是说,JavaScript 读取不到此条 Cookie,不过在与服务端交互的时候,Http Request 包中仍然会带上这个 Cookie 信息,即我们的正常交互不受影响。

Cookie 是通过 http response header 种到浏览器的,我们来看看设置 Cookie 的语法:

阅读全文

XSS 防御方法总结

  categories:资料  author:
1. XSS攻击原理

XSS原称为CSS(Cross-Site Scripting),因为和层叠样式表(Cascading Style Sheets)重名,所以改称为XSS(X一般有未知的含义,还有扩展的含义)。XSS攻击涉及到三方:攻击者,用户,web server。用户是通过浏览器来访问web server上的网页,XSS攻击就是攻击者通过各种办法,在用户访问的网页中插入自己的脚本,让其在用户访问网页时在其浏览器中进行执行。攻击者通过插入的脚本的执行,来获得用户的信息,比如cookie,发送到攻击者自己的网站(跨站了)。所以称为跨站脚本攻击。XSS可以分为反射型XSS和持久性XSS,还有DOM Based XSS。(一句话,XSS就是在用户的浏览器中执行攻击者自己定制的脚本。)

1.1 反射型XSS

反射性XSS,也就是非持久性XSS。用户点击攻击链接,服务器解析后响应,在返回的响应内容中出现攻击者的XSS代码,被浏览器执行。一来一去,XSS攻击脚本被web server反射回来给浏览器执行,所以称为反射型XSS。

特点:

1> XSS攻击代码非持久性,也就是没有保存在web server中,而是出现在URL地址中;

2> 非持久性,那么攻击方式就不同了。一般是攻击者通过邮件,聊天软件等等方式发送攻击URL,然后用户点击来达到攻击的;

1.2 持久型XSS

区别就是XSS恶意代码存储在web server中,这样,每一个访问特定网页的用户,都会被攻击。

特点:

1> XSS攻击代码存储于web server上;

2> 攻击者,一般是通过网站的留言、评论、博客、日志等等功能(所有能够向web server输入内容的地方),将攻击代码存储到web server上的;

有时持久性XSS和反射型XSS是同时使用的,比如先通过对一个攻击url进行编码(来绕过xss filter),然后提交该web

阅读全文

微服务核心研究之–编排

  categories:资料  author:

目录:

一、微服务编排的必要性
二:3种常见的微服务编排方式
1、Orchestration(编制)
2、Choreography(编排)
3、API网关
三、微服务编排的框架(Orchestration方式)
1、流程编排的思路
2、流程编排的模型
3、适配参数
4、流水号
5、调用链分析
四、微服务编排的事务一致性
五、微服务编排的监控工具支撑

一、微服务编排的必要性

微服务是目前流行的一种新兴的软件架构风格,在微服务体系结构中,可以将应用分解为多个更小颗粒度的服务, 各个服务可以由不同的团队并行独立开发、部署。

 

(图片来源:https://www.nginx.com/blog/introduction-to-microservices/)

以一个出租车调度软件为例,最开始是一个单体应用,应用核心是业务逻辑,由定义服务、域对象和事件的模块完成。尽管也是模块化逻辑,但是最终它还是会打包并部署为单体式应用。随着时间增加,功能逐渐增多,代码越来越多,这个软件就会越来越难维护。这时使用微服务架构就是不错的选择。一个微服务一般完成某个特定的功能,比如定单管理、客户管理等等。每一个微服务都有自己的业务逻辑和适配器。一些微服务还会发布API给其它微服务和应用客户端使用。其它微服务完成一个Web UI,运行时,每一个微服务实例可能是一个Docker容器。

《The Art of Scalability》(中文书名:架构即未来) 一书介绍了一个应用横向扩展所需要遵守的AKF扩展模型。根据AKF扩展模型,横向扩展实际上包含了三个维度,而横向扩展解决方案则是这三个维度上所做工作的结合。X轴表示水平复制,Y轴表示应用功能拆解,Z轴表示按数据拆分。微服务架构模式对应于代表可扩展模型的Y轴。

当一个系统采用了微服务架构后,原有的业务可能并没有发生变化,但系统已被拆分成了很多新的微服务,与传统架构相比,微服务架构下会更依赖通过各微服务之间的协作来实现一个完整的业务流程,这种协作就是服务编排。编排涉及到RPC、分布式事务等,需要有完善的编排框架来支撑。

二:3种常见的微服务编排方式

目前有3种常见的微服务编排方式,实现微服务的组合与协调,可根据开发项目的实际情况进行选择。

1、Orchestration(编制)

Orchestration面向可执行的流程:通过一个可执行的流程来协同内部及外部的服务交互,通过流程来控制总体的目标、涉及的操作、服务调用顺序。

Orchestration和BPM、ESB的思想很相似,首先要有一个流程控制服务,该服务接收请求,依照业务逻辑规则,依次调用各个微服务,并最终完成处理逻辑。可以把控制服务视作BPM、ESB引擎,微服务视作BPM、ESB的各种组件。

Orchestration实现方案多是同步的。

优点

阅读全文

DNS BIND主辅同步之TSIG加密

  categories:资料  author:

Transaction signatures(TSIG)通常是一种确保DNS消息安全,并提供安全的服务器与服务器之间通讯(通常是在主从服务器之间)的机制。TSIG可以保护以下类型的DNS服务器:Zone转换、Notify、动态升级更新、递归查询邮件。TSIG适用于BIND v8.2及以上版本。TSIG使用共享秘密和单向散列函数来验证的DNS信息。 TSIG是易于使用的轻便解析器和命名机制。TSIG是一个安全的访问控制机制,保护信息在传输的过程中不会被改变。
一、工作原理
1、每个域名服务器增加了一个TSIG记录DNS服务器间的查询和信息的数据块
2、TSIG中记录了DNS消息签名,证明该邮件发件人与收件人共有一个共享密钥,并且在消息发送后不可被修改。
3、TSIG使用单向散列函数来验证身份和判断数据完整性。
要求:时间必须是准确的。

二、生成TSIG

使用bind提供的工具dnsssec-kengen生成共享密钥。

/home/slim/bind/sbin/dnssec-keygen -a HMAC-MD5 -b 128 -n HOST “test_key”

生成Ktest_key.+157+45410.key公用和Ktest_key.+157+45410.private私钥文件

# cat Ktest_key.+157+45410.private
Private-key-format: v1.3
Algorithm: 157 (HMAC_MD5)
Key: epYaIl5VMJGRSG4WMeFW5g==
Bits: AAA=
Created: 20150418165400
Publish: 20150418165400
Activate: 20150418165400

将生成的key写到secret文件中
vi … 阅读全文




快乐成长 每天进步一点点      京ICP备18032580号-1