这个图标的片商齐商银行是什么银行

##环境信息 源svn库:http://10.205.59.16/svn/repository/    备份svn库:http://10.205.59.14:8000/svn/repository/ ##备份策略 使用svnsync制作镜像库,实现双机实时备份。以下以java_code为例。同步时两边建立一个相同的用户和密码,方便同步,这里为apprun。 ###1、在备份库上建立相同名字的版本库。 ```bash svnadmin create /opt/svn/java_code ``` ###2、在备份库java_code目录下,创建pre-revprop-change钩子脚本,内容只有一行:exit 0 ```bash cp /opt/svn/java_code/hooks/pre-revprop-change.tmpl /opt/svn/java_code/hooks/pre-revprop-change chmod 755 /opt/svn/java_code/hooks/pre-revprop-change #赋予执行权限 ``` ###3、执行初始化 ```bash 在源svn库上执行: svnsync init http://10.205.54.14:8000/svn/java_code http://10.205.54.16/svn/java_code ``` ###4、执行同步 ```bash 在源svn库上执行: svnsync sync --non-interactive http://10.205.54.14:8000/svn/java_code --sync-username apprun --sync-password uWUh2f ``` ###5、更新同步 ```bash 在源svn库中,建立钩子脚本,实时更新至备份库。 cp /opt/svn/java_code/hooks/post-commi...
使用Kotlin为你的APP自定义一个统一的标题栏
一直在用到RecyclerView时都会微微一颤,因为一直都没去了解怎么实现上拉加载,受够了每次去Github找开源引入,因为感觉就为了一个上拉加载功能而去引入一大堆你不知道有多少BUG的代码,不仅增加了项目的冗余程度,而且出现BUG的时候,你却发现很难去改,正因为这样,我就下定决心去了解如何来实现RecyclerView的上拉加载功能,相信大家和我有过同样的情况,但是我相信,只要你给自己几分钟看完这篇文章,你就会发现实现一个上拉加载是非常的简单。
在大数据和开放数据的重要性日益增长的经济体中,为了以精确和可读的格式分析和呈现数据,企业应当采用什么工具? 此文涵盖了有助于解决此问题的一些工具,包括顶级的开源商业智能(BI)工具以及报表工具。如有其它同类优秀项目,欢迎回复补充。 1、BIRT BIRT 是一个开源技术平台,用于创建可视化数据和报表。它源自开源的 Eclipse 项目,于 2004 年首次发布。 BIRT 由多个组件组成,主要组件包括报表设计器和 BIRT 运行时。另外还提供三个额外的组件:报表引擎、报表设计器和报表阅读器。 使用这些组件,可以作为独立解决方案来进行开发和发布报表。 BIRT 是用 Java 编写的,根据 EPL 许可证授权,最新的版本可在 Windows、Linux 和 Mac 上运行。 下载地址 2、JasperReport JasperReport 是广为流行的开源报表工具之一,在数十万个生产环境中使用,分社区和商业支持版本。 JasperReport 同样由多个组件组成,包括 JasperReport Library、JasperReport Studio 和 JasperReport Server。ETL、OLAP 和服务器组件为 JasperReport 提供了良好的企业环境,使其更容易与现有的 IT 体系结构集成。 JasperReport 有优秀的文档、wiki 和一些其他资源的支持,以 Java 编写,可运行在 ...
趁着六月美景正好,OSC源创会带着自由、开放、分享的开源精神,也带着满满的干货主题,邀请杭州的各位来约。
RxJava2 和 Retrofit2 依赖时出现冲突问题
PHP,递归,多维数组,引用
今天在工作中碰到的问题及解决办法!
# 关于项目发布包前后遇到的问题 近期团队就发包的问题,展开了一次讨论性的会议。与其说是一次会议,更确切的说是一次沟通。项目是java人力外包,下面就让我介绍一下团队和本次沟通的内容吧。 ## 团队构成 分工 | 人数 | 程序数量 | 平均工龄 ---|---|---|--- 前端(含后台取数) | 4 | 1 | 2 后台 | 4 | 9 | 2 ## 问题 & 1. 发布包升级手册中脚本及问题验证编写粗心,发布包的验证马虎。 & 2. 需求/bug与现场沟通不够 & 3. 问题修复不完整或改出新问题的现象 & 4. 各程序之间的联合测试问题 & 5. svn使用不当,代码冲突或覆盖 & 6. 程序的版本控制问题 在沟通的过程中,大家都可以说出几个如何改进的点。在大家看来,这些都是项目运行过程中都会遇到的小问题。部分成员又是中途插队,很难再短时间内做好这样的工作。但这不是借口。对于如上问题,我也有自己的一些小建议,或者说小看法。 ## 看法 & 发布包升级手册中脚本及问题验证编写粗心,发布包的验证马虎 这个也不能完完全全说是成员个人的问题。在很多团队中,也并不要求成员对文档的编写有很大的要求。往往“麻雀虽小,但五脏俱全”的小团队反而压抑住成员的主人翁精神。这里我并没有说细分工种是件不好的事情。也由...
本想继续写完代码开发相关的博客,再来写这类纯理论性质的博文, 应很多同事和朋友的要求,就来写一下storm开发环境搭建
添加农历日历,可显示 公历,农历,节假日,及本地时间,还可以用于查选过去和未来的农历日期。
继上一篇博文的基础概念做了大概介绍, 现对Topologies (拓扑)进行详细的介绍,包含生产和本地测试的详细应用
lasticsearch 默认对中文分词是按“字”进行分词的,这是肯定不能达到我们进行分词搜索的要求的。官方有一个 SmartCN 中文分词插件,另外还有一个 IK 分词插件使用也比较广。但这里,我们采用 HanLP 这款 自然语言处理工具 来进行中文分词。
hadoop-Avro笔记 ,文档中所示例的项目的地址 https://git.oschina.net/weiwei02/WHadoop
在黑客和垃圾邮件泛滥的时代,提升网络安全性至关重要。因此,我们需要一些可靠的防火墙工具来保护网络受到攻击。防火墙作为内部和外部网络的安全防护,能够检测计算机流入和流出的网络通信,并控制着网络数据流量。本文整理了一些开源的防火墙,希望能帮助你维护网络安全。 防火墙和路由器软件 pfSense pfSense 是 FreeBSD 下的免费开源的防火墙和路由器软件。 pfSense 源自于 m0n0wall 的操作系统。它使用的技术包括 Packet Filter,FreeBSD 6.x(或 DragonFly BSD,假如 ALTQ 和 CARP 完成了的话)的 ALTQ(以出色地支持分组队列),集成的包管理系统(以为其环境扩展新的特性)。 网络和网关服务器 ClearOS ClearOS 是一个适用于小型企业的网络和网关服务器,基于分布式环境而设计。在ClearOS发现的一些工具包括防病毒,防垃圾邮件,虚拟专用网,内容过滤,带宽管理,SSL的认证,网络日志分 析器,只是名称可用的模块数。其分布提供的免费下载,为18个月的免费安全性更新的包容性。 Linux安全网关模块 Untangle Untangle Gateway 是一个Linux下开源的的网关模块,支持垃圾过滤、URL阻截、反病毒蠕虫等多种功能。 Linux防火墙 IPFire IPFire 是建立在 Linux 源...
java环境安装(JDK)与tomcat部署javaWeb项目 1 安装JDK 1.1 获取安装包 可以选择从网络上下载JDK的安装包,或者使用本文档所在文件夹提供的安装包(jdk-7u7-windows-x64.exe),建议使用本教程所提供的安装包。 注意:需正确选择安装包,本教程提供系统为64位,32位两个安装包。选择不正确会导致无法安装。 系统为64位的请选择(jdk-7u7-windows-x64.exe) 系统为32位的请选择(jdk-7u79-windows-x86.exe) 1.2 安装JDK
JDK安装过程很简单,可以均选择默认设置。具体安装步骤如下 1.2.1 复制安装包到指定环境 根据对应系统的不同版本,选择正确的安装包进行安装,系统为64位的请选择(jdk-7u7-windows-x64.exe),系统为32位的请选择(jdk-7u79-windows-x86.exe),选择完毕将对应的安装包拷贝至对应的环境中。 1.2.2 安装对应的安装包
本教程所在安装环境为32位系统,故本教程演示(jdk-7u79-windows-x86.exe)该安装包的安装过程,64位安装包与32位安装包的过程一致,故不再做出具体演示。
双击安装包,在弹出的安装界面中点击下一步(如下图所示)。 来到该界面可以改变安装路径,和选择一些需要的功能(建议默认,不要修改) 点击下一步(如下图所示) JDK进...
什么是泛型 --- 泛型是jdk5引入的类型机制,就是将类型参数化,它是早在1999年就制定的jsr14的实现。 泛型机制将类型转换时的类型检查从运行时提前到了编译时,使用泛型编写的代码比杂乱的使用object并在需要时再强制类型转换的机制具有更好的可读性和安全性。 泛型程序设计意味着程序可以被不同类型的对象重用,类似c++的模版。 泛型对于集合类尤其有用,如`ArrayList`。这里可能有疑问,既然泛型为了适应不同的对象,`ArrayList`本来就可以操作不同类型的对象呀?那是因为没有泛型之前采用继承机制实现的,实际上它只维护了一个`Object`对象的数组。结果就是对List来说它只操作了一类对象`Object`,而在用户看来却可以保存不同的对象。 泛型提供了更好的解决办法——类型参数,如: ```js List list = new ArrayList(); ``` 这样解决了几个问题: 1 可读性,从字面上就可以判断集合中的内容类型; 2 类型检查,避免插入非法类型。 3 获取数据时不在需要强制类型转换。 泛型类 --- ```java public class Pair{ private T field1; } ``` 其中 `` 是类型参数定义。 使用时:`Pair p = new Pair();` 此时类内部的`field1`就是字符串类型了。 如果引用多个类型,可以使用逗号...
微服务中的常见设计模式 软件开发者对“四人帮”的《设计模式》一书应该都很熟悉,微服务中也会有一些常见的模式: 部署模式 如何部署服务是微服务中的一个重要问题,微服务的部署方式非常灵活,有以下的不同选项可供选择 (参考 http://www./lib/view/open6.html) 多服务共享主机/虚机 单服务部署单一主机/虚机 单服务部署单一容器(Docker) 无服务部署(serverless),例如AWS Lambda 使用服务部署平台 (Kubernetes,Docker Swarm,Mesos, AWS ECS) 不同的部署方式各有优缺点,重点推荐使用容器编排系统的服务部署平台,能够提供各种灵活的部署方案。 横向关注点 微服务的开发过程中常常会花很多时间来处理一些各个服务都会遇到的问题,例如 如何管理配置信息,例如用户名和口令,服务器的网络地址,等等 日志管理 健康检查 业务度量数据(Metrics)的收集和分析 分布服务的追踪 这里推荐使用一个稳定的微服务框架来处理这些问题,例如基于Java的spring boot,基于Golang的Micro等 API网关
API网关类似服务代理,所有的客户端都通过API网关提供的统一服务API来消费服务内容。 下面是几个开源的API Gateway Kong ( ...
方法一(毛玻璃效果):背景图 + 伪类 + flite:blur(3px) 方法二(半透明效果):背景图 + 定位 + background:rgba(255,255,255,0.3)
此处主要简单讲解框架整合的思路。
1、nginx安装 下载Nginx的安装包:下载地址为:http://nginx.org/en/download.html 安装openssl、zlib、pcre包,命令:yum -y install openssl openssl-devel zlib zlib-devel pcre pcre-devel 安装c++包,命令:yum install -y gcc gcc-c++ 解压nginx包,命令:tar -zxvf nginx-1.10.3.tar.gz cd nginx-1.10.3 ./configure make make install 验证是否安装成功:cd /usr/local/nginx/,执行./nginx -t,如下图: 2、一台机器多tomcat部署 下载tomcat 修改server.xml配置文件
第一处: 第二处: 第三处: 分别修改bin下的启动文件(startup.sh) 3、nginx负载均衡集群配置 修改nginx.conf配置文件 配置服务器组,在http{}节点之间添加upstream配置。(注意不要写localhost,不然访问速度会很慢) 修改nginx监听的端口号80,改为8080 在location\{}中,利用proxy_pass配置反向代理地址;此处“http://”不能少,后面的地址要和第一步upstream定义的名称保持一致 4、补充nginx负载均衡策略 1、轮询(默认) 每个web请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
upstream nginxDemo {
server 127.0.0.1:8081;
宏观上: 1.技术广度方面 至少要精通多门开源技术吧,研究过struts\spring等的源码。 2.项目经验方面 从头到尾跟过几个大项目,头是指需求阶段,包括需求调研。 尾是指上线交付之后,包括维护阶段。 3.架构经验方面 有过分布式系统的架构和开发经验。对于跨系统的结构优化,数据存储的性能指标等有丰富经验。什么缓存啊、数据库的垂直切分什么的,业务的抽象和水平拆分啊,这些应该都轻车熟路吧。 4.行业领域方面 最起码得精通一到两门业务吧,所谓精通,就是比如做金融证券业务的,至少等当半个经融分析师。做电力业务的,至少等当半个电力工程师。 5.个人修为 有自己一些独到的见解,不会人云亦云啦。 微观上: 1.你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该十分了解UML,尤其是class,object,interaction以及statediagrams。 2.你需要学习JAVA语言的基础知识以及它的核心类库(collections,serialization,streams,networking, multithreading,reflection,event,handling,NIO,localization,以及其他)。 3.你应该了解JVM,classloaders,classreflect,以及垃圾回收的基本工作机制等。你应该有能力反编译一个类文件并且...
6月10日晚 xxl-job 的作者全权委托开源中国与涉事公司深圳努比亚技术有限公司进行沟通协商处理此问题。委托内容请看原帖:https://my.oschina.net/xuxueli/blog/918201 作者的诉求包括: 努比亚公司向专利局申请撤销专利 以公司名义发布正面声明,客观的描述此事 感谢作者的信任,不敢怠慢。6月11日开源中国与努比亚进行了第一次沟通,主要针对公开声明的内容进行讨论。 开源中国与作者对声明内容的要求是: 详细描述出现使用开源软件申请专利的管理不善问题,如果是在开源软件上做改进,那么应该详细描述改进的内容 在声明中表明将公开宣布主动申请撤销专利 如果专利撤销失败,已经授予,那么公司将发布另外声明,声明该专利基于某某开源项目,并将无偿开源 目前尚无法在声明内容上达成一致。我们将继续积极的协商此事。请大家保持关注。
内核、容器、云计算、虚拟化、分布式存储系统等自带热度的开源技术,已让本届开源盛会未开先火。接下来就先从本土云/容器、区块链、网络编排、嵌入式/物联网、Linux、KubeCon、云、开源业务这八大技术热点入手,带大家领略本届盛会的独特魅力,请各位开源粉们搬上小板凳坐好,先睹为快!
Java就是用来做项目的!Java的主要应用领域就是企业级的项目开发!要想从事企业级的项目开发,你必须掌握如下要点: 1、掌握项目开发的基本步骤 2、具备极强的面向对象的分析与设计技巧 3、掌握用例驱动、以架构为核心的主流开发方法 没有人愿意自己一辈子就满足于掌握了一些代码实现的技巧,别人告诉你要实现什么,你就用代码堆砌来实现别人的要求!你必须学会从整个项目的角度去思考!你必须学会假如你是项目经理,你该如何思考!你必须学会假如你是架构师,你该如何思考!你必须掌握针对某个特定问题领域的分析方法! 关于基础知识:你可以看看这些名词或知识点,看是否能说出个一二三四来。 JavaSE ----基本语法、数据类型、操作符等:int、long、Integer、Long、if、else、for、while ----面向对象:class(类)、Object(对象)、instance(实例)、state(状态)、behavior(行为)、field、method、new、可见性(访问控制)、attribute、property、package、import、static variable、class variable、instance variable、heap、method area、stack、GC(垃圾回收)、override、overload、对象转型(casting)、多态、this、super ----异常处理:理解编译期错误和运行...
1.如何学习程序设计? Java是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于JAVA,对C++等其他程序设计语言也一样管用。有编程高手认为,JAVA也好C也好没什么分别,拿来就用。为什么他们能达到如此境界?我想是因为编程语言之间有共通之处,领会了编程的精髓,自然能够做到一通百通。如何学习程序设计理所当然也有许多共通的地方。 1.1 培养兴趣 兴趣是能够让你坚持下去的动力。如果只是把写程序作为谋生的手段的话,你会活的很累,也太对不起自己了。多关心一些行业趣事,多想想盖茨。不是提倡天天做白日梦,但人要是没有了梦想,你觉得有味道吗?可能像许多深圳本地农民一样,打打麻将,喝喝功夫茶,拜拜财神爷;每个月就有几万十几万甚至更多的进帐,凭空多出个"食利阶层"。你认为,这样有味道吗?有空多到一些程序员论坛转转,你会发现,他们其实很乐观幽默,时不时会冒出智慧的火花。 1.2 慎选程序设计语言 男怕入错行,女怕嫁错郎。初学者选择程序设计语言需要谨慎对待。软件开发不仅仅是掌握一门编程语言了事,它还需要其他很多方面的背景知识。软件开发也不仅仅局限于某几个领域,而是已经渗透到了各行各业几乎每一个角落。 如果你对硬件比较感兴...
以前不理解什么叫回调,天天听人家说加一个回调方法啥的,心里想我草,什么叫回调方法啊?然后自己就在网上找啊找啊找,找了很多也不是很明白,现在知道了,所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法,这样子说你是不是有点晕晕的,其实我刚开始也是这样不理解,看了人家说比较经典的回调方式: Class A实现接口CallBack callback——背景1 class A中包含一个class B的引用b ——背景2 class B有一个参数为callback的方法f(CallBack callback) ——背景3 A的对象a调用B的方法 f(CallBack callback) ——A类调用B类的某个方法 C 然后b就可以在f(CallBack callback)方法中调用A的方法 ——B类调用A类的某个方法D 大家都喜欢用打电话的例子,好吧,为了跟上时代,我也用这个例子好了,我这个例子采用异步加回调 有一天小王遇到一个很难的问题,问题是“1 + 1 = ?”,就打电话问小李,小李一下子也不知道,就跟小王说,等我办完手上的事情,就去想想答案,小王也不会傻傻的拿着电话去等小李的答案吧,于是小王就对小李说,我还要去逛街,你知道了答案就打我电话告诉我,于是挂了电话,自己办自己的事情,过了一个小时...
一、学习J2EE最核心的东西:JDBC、JSP、 servlet和JavaBean,后面三个也是学习SSH的基础(Struts\spring\hibernate的简称).鉴于J2EE的内容太过复杂,建议大家最初只学习:JSP, servlet和JavaBean,等这个基础掌握好再把SSH学习了。
二、接触到比如设计模式的东西,比如工厂模式、桥梁模式、单例模式等等,还要学习建模思想(比如UML建模等等)和软件生命周期等等
三、来看看Sun给出的J2EE 相关技术主要分为几大块。
1. Web Service技术
Java API for XMLProcessing (JAXP)
Java API for XMLRegistries (JAXR)
Java API for XML-based RPC(JAX-RPC)
SOAP with AttachmentsAPI for Java (SAAJ)
2. 组件模型技术(Component Model Technologies)
Java Servlet
JavaServer Pages
JavaServer Faces
Enterprise JavaBeans
Java Message Service
J2EE ConnectorArchitecture
3. 管理技术(Management Technologies)
J2EE DeploymentSpecification
J2EE ManagementSpecification
J2EE Client Provisioning
Java Authoriza...
世间总是一图胜过千万言! 下面的8幅图来自于 Program Creek 的 Java教程 ,目前这是该网站最受欢迎的文章. 希望本文能帮你回顾你已经知道的那些知识。如果图片讲解的不够清晰,你可能需要阅读详细的文章或者进行搜索。 1. String对象不可改变的特性 (详情请点击上面的标题查看) 下图显示了如下代码运行的过程: String s = "abcd";
s = s.concat("ef");
中文参考:Java String 详解
2. equals()与hashCode()方法协作约定 HashCode(哈希编码,散列码)是设计了用来提高性能的.
equals()与hashCode()方法之间的关系可以概括为: 2.1 如果两个对象相等(equal),那么必须拥有相同的哈希码(hash code) 2.2 即使两个对象有相同的哈希值(hash code),他们不一定相等. 中文参考: HashMap的实现原理
3. Java 异常类层次结构 粉红色的是受检查的异常(checked exceptions),其必须被 try{}catch语句块所捕获,或者在方法签名里通过throws子句声明. 另一类异常是运行时异常(runtime exceptions),需要程序员自己分析代码决定是否捕获和处理。 而声明为Error的,则属于严重错误,需要根据业务信息进行特殊处理,Error不需要捕捉。 中文示例: Exception 4. 集合类层次结构关...
学习每一门语言,一般都是从其数据结构开始,JavaScript也是一样,而JavaScript的数据结构中对象(Object)是最基础也是使用最频繁的概念和语法,坊间有言,JavaScript中,一切皆对象,基本可以描述对象在JavaScript中的地位,而且JavaScript中对象的强大也使其地位名副其实,本篇介绍JavaScript对象属性描述器接口及其在数据视图绑定方向的实践,然后对Vue.js的响应式原理进行剖析。
bootstrap table 用 data-url="data.php" 的方式填充的数据 不能增加属性。怎么删除呢? 有办法,先将数据填充了再说,用firefox firedebug,查看bootstrap table生成的表格,鼠标悬停点击。 查看到tr有个data-index的属性,属性的值是json数组的数字升序来的。 这就好办了。 先在jquery的ajax中组织好数据,将json数组,增加一个按升序的值
在前端页面将idx的值返回给ajax作为删除的依据:
function actionFormatter(value, row, index) {
"&button class='btn btn-primary btn-xs like'data-toggle=\"modal\" data-target=\"#viewpw\"&查看密码&/button& ",
"&button class='btn btn-info btn-default btn-xs' data-toggle=\"modal\" data-target=\"#addSource\"&生成密码&/button& ",
"&button class='btn btn-danger btn-xs unlike'data-toggle=\"modal\"
data-target=\"#deleteSource\"&删除资源&/button&",
].join('');
window.actionEvents = {
'click .like': function (e, value, row, index) {
Web前端开发所涉及的内容主要包括W3C标准中的结构、行为和表现,那么这三项中我们需要掌握的核心技能是什么呢? 1.开发语言
HTML发展历史有二十多年,历经多次版本更新,HTML5和CSS3的出现又是一次革新。有些人认为前端开发要掌握的技能简单,不就是制作网页 嘛,其实不然,web前端需要掌握的核心语言xHTML+CSS+JavaScript,JavaScript作为最难的语言之一,许多编程高手也不敢妄 自菲薄自封精通。由于JavaScript与html的差异性,以及静动态分开处理的一些好处。在大公司编写静态效果和动态效果往往是分开由不同的人完成 的。小公司因为需要压缩成本,就要求每个人会的越多越好,如果您想往项目经理发展,能懂一两门后台语言,绝对是锦上添花! 2.浏览器兼容性
互联网目前主流浏览器有IE6\7\8\9,Firefox,Chrome,Opera,Safari,遨游,包括国内主流的搜狗,腾讯 TT,360,the World等等;从内核上讲主要有IE的,遨游版IE,safari,firefox以及opera的,这些都是大家常见的,如果你身边有老网虫喜欢收藏 浏览器,你翻翻他的硬盘,相信几十款肯定是有的(或查看前端社区中的浏览器大全)。每种内核对代码...
  公司招了几个刚毕业的学生,作为重构的新手让我来带。   首先感谢感谢党、感谢国家、感谢公司给了我这样的一个机会,对我工作的肯定和认可,让我带这样的一个重构团队,同时我也明白任务的艰巨,但我一定会将工作做好,不负公司对我的期望。(哈哈,好像从小到大,老师都是教育我们要这样先说的。)   在网站的发展史上,初期的网站建设根本不需要网页重构这个职位,Web 1.0时代的网页,只需要程序员,一堆堆的表格嵌套就完成,或者美工进行配合完成,先由美工负责设计好,再用一些自动化的软件拉伸几下,直接将设计好的图就可以通过软件输出表格的布局了,根本不需要重构这个多余的职位。随着Web 2.0的到来和W3C的规范得到世人的认可,内容和样式的分离更方便进行开发和维护,传统的表格布局和内容混排的方式逐渐地被淘汰,美工已不能完全一手包办越来越复杂的效果和高要求的页面布局了。此因催生了一个新的职位 —— 前端工程师。   鄙人刚好作为一名Web 2.0成长起来的前端工程师,虽然说做的项目不多,但乐于与人分享。虽然分享的也许只是一些很表面甚至有些过时的东西,但也只希望为大家提个醒,最好能起到抛砖引玉的作用。   一、前端工程师的职能和作用。...
  作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们。 一、Java编程入门类   对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java熟悉起来再说。用很短的时间快速过一遍Java语法,连懵带猜多写写代码,要“知其然”。 1、《Java编程思想》 下载地址:/share/p5549681.html   在有了一定的Java编程经验之后,你需要“知其所以然”了。这个时候《Java编程思想》是一本让你知其所以然的好书,它对于基本的面向对象知识有比较清楚的交待,对Java基本语法,基本类库有比较清楚的讲解,可以帮你打一个良好的Java编程基础。这本书的缺点是实在太厚,也比较罗嗦,不适合现代人快节奏学习,因此看这本书要懂得取舍,不是每章每节都值得一看的,挑重点的深入看就可以了。 2、《Agile Java》中文版 下载地址:/share/p2564807.html
Thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 等等编程语言间无缝结合的、高效的服务。 Thrift最初由facebook开发,07年四月开放源码,08年5月进入apache孵化器。thrift允许你定义一个简单的定义文件中的数据类型和服务接口。以作为输入文件,编译器生成代码用来方便地生成RPC客户端和服务器通信的无缝跨编程语言。 本篇博文编写的目的是对Thrfit不同的服务类型进行整理,并结合代码示例进行说明~ 目标 本篇博文编写的目的是对Thrfit不同的服务类型进行整理,并结合代码示例进行说明~ 博文主要包含如下几个部分: 1. 实例代码准备 2. 对不同的服务类型进行介绍说明,并给出示例 3. 异步客户端调用实例 4. Nifty库的使用,包含服务端和客户端代码示例 实例 说明 在这个示例中,我们主要在用户接口中定义三个接口:保存用户,根据name获取用户列表以及删除用户 如:
* 保存用户
* @param user
public boolean save(com.xxx.tutorial.thrift.entity....
  如何快速成为Javascript高手?   之前我拿这个问题问过我的同事,也问过国内的一些Javascript高手。   最近,我一直在拿这个问题问自己。之所以会有这个问题,我基于两个前提:第一、我自认为自己不笨;第二、我学习和使用Javascript也有一段时间了,并且自己学习还算努力。   思来想去,我觉得我应该先回答下这个问题:如何提高自己的学习效率?   想象一下学校的场景,有一些知识,有的人就是学得比你快。为什么?可能他本来就比你聪明;可能他之前学过的、接触过的东西使他对这个知识有启发;可能他背地里比你花的功夫还多。不管哪一种形式,从旁观者的角度来看,他就是学得比你快,也就认为他的学习效率比你高。   排除第一个答案不讨论。我们来讨论下第二个和第三个答案。   答案二:“他之前学过的、接触过的东西使他对这个知识有启发”,我这里简单的归结为积累,关于积累问题,我上一篇博客程序员的学习和积累有谈到。   答案三:“他背地里比你花的功夫还多”,还有现象本身“他花的功夫比你少,学得比你还好”,关键字都落在了“功夫”二字上。如何下功夫、功夫下在什么地方?这又引出了一个新问题。   关于这个问题,纠结了这么多天,我的回...
学习hadoop,首先我们要知道hadoop是什么? 说到底Hadoop只是一项分布式系统的工具,我们在学习的时候要理解分布式系统设计中的原则以及方法,只有这样才能以不变应万变。再一个就是一定要动手,有什么案例,有什么项目一定要亲自动手去敲。 学习的时候不要害怕遇到问题,问题是最好的老师。其实学习的过程就是逐渐解决问题的过程,当你遇到的问题越来越少的时候,就说明已经学的差不多了。
下面说一下hadoop的学习路线。 1.我们要掌握Linux的安装及基本操作、Python安装及编程基础、java基础。 需要学习Linux的常用命令、基本网络配置、进程管理、shell语法;Python的常用语法,能够基于Python搭建一个常用的Server服务器和java的基础知识。 这时候只需要掌握基础即可,后边遇到问题再学习,这样才不会混乱,学的才扎实。 2. 搭建Hadoop分布式环境 我们要做的是在自己的电脑上安装Linux,然后准备环境nat配置,搭建Hadoop集群先让Hadoop在自己的电脑上跑起来。使用VMware来搭建。 这时候我们会Host配置、IP配置、SSH免密登录等。 3.学习HDFS分布式文件系统
这一步要学习架构分析、容灾容错策略、local数据策略、数据块概念、机架感应,功能逻辑实现等。要真正的去敲敲...
1.Web项目开发流程图解
2.Web项目开发的细节(转载) 任何一个项目或者系统开发之前都需要定制一个开发约定和规则,这样有利于项目的整体风格统一、代码维护和扩展。由于Web项目开发的分散性、独立性、整合的交互性等,所以定制一套完整的约定和规则显得尤为重要。本文档将定制一系列约定和规则,他们分别包括组件团队、文件夹命名规则、文件名命名规则、程序代码编程风格、数据库设计约定。这些规则和约定需要与开发人员、设计人员和维护人员共同讨论定制,将来开发都将严格按规则或约定开发。每个团队开发都应有自己的一套规范,一个优良可行的规范可以使我们工作得心应手事半功倍,这些规范都不是唯一的标准不存在对与错,也许有些地方与你当前使用的习惯相驳,很多地方都有争议。比如很多人习惯设计数据库时采用自动增长字段,而有些人(像我这样的人)就坚决反对,各自都有比较充分的理由阐述自己的观点,所以只好根据具体情况来采用相应的策略。   非常明显在Web项目开发中有前后台开发之分,前台开发主要是指非程序编程部分,主要职责是网站AI设计、界面设计、动画设计等。而后台开发主要是编程和网站运行平台搭建,其主要职责是设计网站数据库和网站功能模板的...
某电商平台,某天线上用户报bug说账户余额信息与交易流水对不上。可以认为是数据库并发更新问题,由此定位出具体原因,更进一步了解mysql,并给出解决方案。
在本篇文章中,你会学习到有关ConstraintLayout -- 一种构建于弹性Constraints(约束)系统的新型Android Layout。最终你将会在Android Studio中编辑与构建一个相对复杂的Layout。 收获 新Layout Manager所使用的Constraints系统 创建Constraints来构建弹性高效的Layouts 新Layout编辑器的各种功能
场景一 test1 方法没有事务 test2 方法有事务,包括2个insert方法, test1 调用test2 ,结果,test1 和test2 都没有事务了, ``` public void test1() { test2(); } @Transactional(propagation = Propagation.REQUIRED) public void test2() { Team team = new Team(); team.setPath("t1111"); BigInteger quota = new BigInteger("0"); team.setQuota(quota); commonDao.save(team); Team team2 = new Team(); team.setPath("t222"); team2.setQuota(quota); commonDao.save(team2); } ``` 上面的情况是在a方法 b方法都在同一个service中时 场景二 如果a,b 方法 在不同的service时 a 有事务 b 没事务会回滚 a 没事务 b有事务 b回滚a不回滚 解释: 场景一中test1调用test2,是同一个对象中的方法调用,不会调用spring代理方法,而是直接掉用原始方法。因此test2的事物注解不生效。 最好附上事务用到的注解 spring 事务注解 ``` 默认遇到throw new RuntimeException("...");会回滚 需要捕获的throw new Exception("...");不会回滚 // 指定回滚@Transactional(rollbackFor=Exception.class) public void methodName() { // 不会回滚 throw new Exception("..."); } //指定不回...
从线程锁到通信,到消息服务,再引出mq的介绍
概述 Java语言中关键字 volatile 被称作轻量级的 synchronized,与synchronized相比,volatile编码相对简单且运行的时的开销较少,但能够正确合理的应用好 volatile 并不是那么的容易,因为它比使用锁更容易出错,接下来本文主要介绍 volatile 的使用准则,以及使用过程中需注意的地方。 为何使用volatile? (1)简易性:在某些需要同步的场景下使用volatile变量要比使用锁更加简单 (2)性能:在某些情况下使用volatile同步机制的性能要优于锁 (3)volatile操作不会像锁一样容易造成阻塞 volatile特性 (1)volatile 变量具有 synchronized 的可见性特性,及如果一个字段被声明为volatile,java线程内存模型确保所有的线程看到这个变量的值是一致的 (2)禁止进行指令重排序 (3)不保证原子性 注: ① 重排序:重排序通常是编译器或运行时环境为了优化程序性能而采取的对指令进行重新排序执行的一种手段 ② 原子性:不可中断的一个或一系列操作 ③ 可见性:锁提供了两种主要特性:互斥和可见性,互斥即一次只允许一个线程持有某个特定的锁,因此可使用该特性实现对共享数据的协调访问协议,这样,一次就只有一个线程能够使用该共享数据。可见性要更加复杂一些,它必须确...
IBM Bluemix,包含认知、物联网、大数据分析、安全、DevOps、应用、应用整合、移动、计算、网络、存储等 11 大类共 140 多个服务的云计算平台。
0、背景 最近两天数据仓库中一张核心表遭遇了锁的问题,导致数据插入失败,影响挺大,之前一直没注意到这个问题,借此总结一下这块的知识和遇到的坑。 hive 在 0.7 版本之后开始支持并发,线上的环境默认是用 zookeeper 做 hive 的锁管理,Hive开启并发功能的时候自动开启锁功能。 1、Hive 锁的类型与关系 hive 目前主要有两种锁,SHARED(共享锁 S)和 Exclusive(排他锁 X)。共享锁 S 和
排他锁 X 它们之间的兼容性矩阵关系如下: 总结起来就是: 1)查询操作使用共享锁,共享锁是可以多重、并发使用的 2)修改表操作使用独占锁,它会阻止其他的查询、修改操作 3)可以对分区使用锁。 以下情况会出发锁,以及它的类型和锁定范围如下: Hive Command Locks Acquired select .. T1 partition P1 S on T1, T1.P1 insert into T2(partition P2) select .. T1 partition P1 S on T2, T1, T1.P1 and X on T2.P2 insert into T2(partition P.Q) select .. T1 partition P1 S on T2, T2.P, T1, T1.P1 and X on T2.P.Q alter table T1 rename T2 X on T1 alter table T1 add cols X on T1 alter table T1 replace cols X on T1 alter table T1 change cols X on T1 alter table...
## 请大家理智对待,不要发表过激言论 感谢各位的关注,相关事情已经委托"开源中国"处理,正在和对方沟通中。我们的诉求只有两点: - 1、对方撤销专利。(专利发明人已积极道歉并,且勿网络暴力); - 2、对方正面声明。(给关注的朋友一个交代); **请大家理性对待,不要发表过激言论啊。** ## 声明 - 1、XXL-JOB自始至终是一款开源软件,永远开源免费,社区成员将会持续提供技术支持。 - 2、XXL-JOB一直以来是GPL协议开源,目的是为了禁止各种定制版本变相收费,我们承诺产品免费。 - 3、希望冒名申请国家发明专利的公司和个人正视问题:**尽快撤销申请专利,并且公开声明**。 (请大家就事论事,不要人肉专利上的发明人或其他人信息从而变成网络暴力,也不要偏离主题啊。) &抛开冒名申请国家发明专利不谈,在此我有几个问题: - 开源软件是否能够申请国家知识专利? - 开源软件如何进行保护,开源协议还是专利? - 开源作者的辛苦成果,如何保证不会变成他人的专利工具?(也许你的开源产品已经被申请专利) ## 事件始末 2015年中,我着手设计实现了开源软件 “XXL-JOB”([Github地址](/xuxueli/xxl-job))([码云地址](https://git.oschina.net/x...
Java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍。这一部分的内容,同样适用于一些希望转行到Java的同学。   在大家看之前,我要先声明两点。1、由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和Java后端开发的同学请适当参考其学习思想即可,切勿照搬。2、下面对于【第一部分】的推荐内容,目的是让你尽快成为一个可以参加工作的Java开发者,更适用于处于待业状态,准备转行Java的同学。   如果你是在校学生,务必要在学好基础(比如计算机系统、算法、编译原理等等)的前提下,再考虑去进行下面的学习。第一部分:对于尚未做过Java工作的同学,包括一些在校生以及刚准备转行Java的同学。   一、Java基础首先去找一个Java的基础教程学一下,这里可以推荐一个Java学习交流的QQ群(群号码:)你可以到这个群里找相应的视频教程。学习Java基础的时候,应该尽量多动手,很多时候,你想当然的事情,等你写出来运行一下...
学习的最好途径就是看书 "学习的最好途径就是看书",这是我自己学习并且小有了一定的积累之后的第一体会。个人认为看书有两点好处: 1、能出版出来的书一定是经过反复的思考、雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料 2、对着书上的代码自己敲的时候方便 "看完书之后再次提升自我的最好途径是看一些相关的好博文",我个人认为这是学习的第二步,因为一本书往往有好几百页,好的博文是自己看书学习之后的一些总结和提炼,对于梳理学习的内容很有好处,当然这里不是说自己的学习方法,就不再扯下去了。 很多程序员们往往有看书的冲动,但不知道看哪些书,下面我就给各位Java程序猿们推荐一些好书(每本书的作者会加粗标红),其中绝大多数都是我自己平时在看的书,也算是我对于平时读的书做一个小总结和读后感吧。 目前市面上讲解设计模式的书很多,虽然我前面讲了看书是最好的,但是对设计模式感兴趣的朋友们,我推荐的是这个博客。这位博友的设计模式讲得非常非常好,我认为90%的内容都是没有问题且很值得学习的,其讲解设计模式的大体路线是: 1、开篇点明该设计模式的定义 2、图文并茂讲解该设计模式中的结构 3、以详细的代码形式写一下该种设...
近期看完了《网络是如何连接的》这本书,觉得有收获。但是如果不形成文字的话,印象就不深刻,故有此文,巩固学识的同时,锻炼文笔。此书是日本人所写,旨在展现互联网的全貌,内容详尽,涉及面广,且深入浅出,老少咸宜。。。好吧,这本书确实写得不错,内容涉及软件、硬件,不光解释了how,还解释了why,不难看出作者是个全栈工程师。作者通过“浏览器中输入网址,到屏幕上显示内容”这条线索,逐层解析,透彻讲解各层的功能和作用。下面是我的阅读总结,不当之处,还请斧正。 1,输入网址和敲击enter按键的时候,会有中断事件产生,这里我参考了其他帖子的内容(http://blog.csdn.net/xumingjie1658/article/details/6965176):
当用户按键时,键盘接口会得到一个代表该按键的键盘扫描码,同时产生一个中断请求。中断服务程序通知键盘中断服务程序区处理,键盘中断服务程序先从键盘接口取得按键的扫描码,然后根据其扫描码判断用户所按的键并作相应的处理,最后通知中断控制器本次中断结束并实现中断返回。
键盘中断的大致过程就是这样,当键盘中断完成之后,也即用户敲击“enter”按键之后,就触发了浏览器的操作了,就...
回头看看, 我进入Java 领域已经快15个年头了, 虽然学的也一般, 但是分享下我的心得,估计也能帮大家少走点弯路。 [入门] 我在2001年之前是C/C++阵营, 有C和面向对象的基础, 后来转到Java ,发现没有指针的Java真是好简单, 另外Java 的类库好用的让人哭啊。 后来我就看《Thinking in Java》 ,《 Java 核心技术 》, 感觉也不吃力。 如果我之前没学过别的语言,或者半路出家转到计算机行业, 我不会先看上面那两本, 相反我会选《Head First Java》, 这本书非常适合零基础的小白, 读起来轻松搞笑, 不信你看看第一页 但是光看书也挺无趣的,不妨和视频结合着看, 我觉得传智播客的Java基础视频很不错 (唉, 给传智打了个广告), 网上一搜就有,真搜不到就来我的QQ群里吧(群号码:) 注意:视频的好处就是能看到敲代码的过程, 代码是活的, 这点很爽。 如果视频只是按PPT讲编程, 果断扔掉。 书也有书的好处,能写成书的, 肯定是作者经过系统化思考,梳理才能形成的东西, 所以系统性比较强。 书还有其他优点, 例如可以随便的翻, 找到重点反复的看。 所以混合着看经典书+优秀的视频 应该是最好的入门。 Java 入门, 我不会去上培训班,白白浪费钱 ,自...
开始前准备。操作系统Ubuntu 12 在/etc/sysctl.conf中添加如下配置: fs.file-max = 1048576
net.ipv4.ip_local_port_range =
net.ipv4.tcp_mem =
net.ipv4.tcp_rmem = 777216
net.ipv4.tcp_wmem = 777216
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1 在/etc/security/limits.conf中添加如下配置:
* soft nofile 1048576
* hard nofile 1048576 最后使用ulimit -an查询设置是否生效。 测试主机cpu: 内存: 客户端测试机用VMware创建12台虚拟机。机器性能就不列举了。每台虚拟机可以跑3W链接 1:t-io启动时内存占用率以及链接情况 2:5W链接时内存占用情况 3:10W 4:20W 5:30W ---------------------------------------------------------------------------- java进程统计情况 cpu jvm 2小时后观察内存变化情况如下图 结论如下 1:0-10万连接。内存变化较大。主要是由于内存初始化时jvm会占用一部分内存。 2:10万之后。每增加10万连接 内存占用率上升300M左右。 3:随着连接数增加可以发现cpu性能对连接数影响不大。 4:新生代内存与老生代内存占用率比较合理。 5:并发30W连接在2小时内。...
接上文:https://my.oschina.net/thinkgem/blog/911392 点击图片查看高清图
Java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍。这一部分的内容,同样适用于一些希望转行到Java的同学。   在大家看之前,我要先声明两点。1、由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和Java后端开发的同学请适当参考其学习思想即可,切勿照搬。2、下面对于【第一部分】的推荐内容,目的是让你尽快成为一个可以参加工作的Java开发者,更适用于处于待业状态,准备转行Java的同学。   如果你是在校学生,务必要在学好基础(比如计算机系统、算法、编译原理等等)的前提下,再考虑去进行下面的学习。第一部分:对于尚未做过Java工作的同学,包括一些在校生以及刚准备转行Java的同学。   一、Java基础首先去找一个Java的基础教程学一下,这里可以推荐一个Java学习交流的QQ群(群号码:)你可以到这个群里找相应的视频教程。学习Java基础的时候,应该尽量多动手,很多时候,你想当然的事情,等你写出来运行一下...
【一周源资讯(-)】开开心心过完端午节和儿童节,迎来了码云四周年,不过 Java 9 可能要推迟至 9 月 21 日发布,不过微软为中国政府定制的Windows 10 新版操作系统来了,你怎么看?
在上一篇博文【CentOS上安装Web性能测试工具Siege & 示例】中,给出了CentOS上安装Web性能测试工具Siege的步骤,并给出了一个简单的示例,如 示例 ==& 并发请求指定URL
http://download.joedog.org/ siege -c 5 -r 2 http://download.joedog.org/ 参数说明: -c 是并发量,并发数为5,
-r 是重复次数, 重复2次 某次运行的结果~ Transactions:
## 完成处理数30
Availability:
## 可用,成功率100%
Elapsed time:
## 耗时4.67秒
Data transferred:
## 数据传输0.07MB
Response time:
## 响应时间0.50秒
Transaction rate:
6.42 trans/sec
## 每秒完成6.42个处理
Throughput:
0.01 MB/sec
## 吞吐量,每秒传输0.01MB
Concurrency:
## 实际最高并发连接数
Successful transactions:
## 成功完成处理30次
Failed transactions:
## 失败0次
Longest transaction:
## 每次传输所花最长时间
Shortest transac...
最近遇到一个有趣的问题,重新认识了一下Java传参相关的知识,本文将谈一下Java是如何传参的,以及简单介绍JVM和字节码层面和传参有关的信息
软件周刊(05.28 — 06.03):本周热门软件更新 — Node.js 发布 v8.0.0 正式版;npm v5.0.0 正式发布,改进了稳定性;Qt 5.9 正式发布,长期支持版本;Dotty 0.1.2-RC1 发布,Scala 的下一代编译器;Linux Mint 18.2 Sonya 将于 6 月上旬发布公测版本
面试是我们每个人都要经历的事情,大部分人且不止一次,这里给大家总结最新的2016年面试题,让大家在找工作时候能够事半功倍。 1.Switch能否用string做参数? a.在 Java 7 之前, switch 只能支持byte,short,char,int 或者其对应的封装类以及 Enum 类型。在JAVA 7中,String 支持被加上了。 2.equals与==的区别: a.==是判断两个变量或实例是不是指向同一个内存空间 equals是判断两个变量或实例所指向的内存空间的值是不是相同 3.Object有哪些公用方法? a.方法equals测试的是两个对象是否相等 b.方法clone进行对象拷贝 c.方法getClass返回和当前对象相关的Class对象 d.方法notify,notifyall,wait都是用来对给定对象进行线程同步的 4.Java的四种引用,强弱软虚,用到的场景 a.利用软引用和弱引用解决OOM问题:用一个HashMap来保存图片的路径和相应图片对象关联的软引用之间的映射关系,在内存不足时,JVM会自动回收这些缓存图片对象所占用的空间,从而有效地避免了OOM的问题 b.通过软可及对象重获方法实现Java对象的高速缓存:比如我们创建了一Employee的类,如果每次需要查询一个雇员的信息。哪怕是几秒中之前刚刚查询过的,都要重新构建一个实例,这是需要消耗很多时间的。我...
写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java。   这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE相关的、和Java中各个框架相关的内容。   经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容。 1. JVM相关(包括了各个版本的特性)   对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。不过对于一个有着3年以上Java经验的资深开发者来说,不会JVM几乎是不可接受的。   JVM作为java运行的基础,很难相信对于JVM一点都不了解的人可以把java语言吃得很透。我在面试有超过3年Java经验的开发者的时候, JVM几乎就是一个必问的问题了。当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证java开发能力的高低。   在JVM这个大类中,我认为需要掌握的知识有: JVM内存模型和结构 GC原理,性能调优 调优:Thread Dump, 分析内存结构 ...
最近在研究Zab协议,读了读几篇文章,这里说说自己的总结
JAVA学习路线图,特此声明; 仅希望对热爱JAVA学习有所帮助 如若转载或者使用本图,请注明出处,避免后期出现版权问题,谢谢!!!
JAVA学习路线图 此乃是java攻城狮的学习路线图,由简到繁,由易到难,一步步的学习,最后成为 JAVA攻城狮。希望对大家的学习有所帮助 阶段1
1:学习HTML
3:Javascript
6:Bootstrap
7:JAVAse基础
8:mysql数据库
9:Powerdesigner
11:JAVAWEB
阶段三 12:oracle
13:struts2
14:Hibernate
15:Spring 阶段四 16:Maven
17:SpringMVC
18:MyBatis Java学习交流QQ群:
禁止闲聊,非喜勿进!
本文目录 一、Elasticsearch 基本术语 1.1 文档(Document)、索引(Index)、类型(Type)文档三要素 1.2 集群(Cluster)、节点(Node)、分片(Shard)分布式三要素 二、Elasticsearch 工作原理 2.1 文档存储的路由 2.2 如何健康检查 2.3 如何水平扩容 三、小结
欢迎来 Spring For All , 和我探讨 Spring 相关的分享。
一、Elasticsearch 基本术语 1.1 文档(Document)、索引(Index)、类型(Type)文档三要素 文档(Document) 文档,在面向对象观念就是一个对象。在 ES 里面,是一个大 JSON 对象,是指定了唯一 ID 的最底层或者根对象。文档的位置由 _index、_type 和 _id 唯一标识。 索引(Index) 索引,用于区分文档成组,即分到一组的文档集合。索引,用于存储文档和使文档可被搜索。比如项目存索引 project 里面,交易存索引 sales 等。 类型(Type) 类型,用于区分索引中的文档,即在索引中对数据逻辑分区。比如索引 project 的项目数据,根据项目类型 ui 项目、插画项目等进行区分。 和关系型数据库 MySQL 做个类比: Document 类似于 Record Type 类似于 Table Index 类似于 Database 1.2 集群(Cluster)、节点(Node)、分...
前言 代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,对于代码的运行效率绝对是有提升的。 代码优化的目标是: 1、减小代码的体积 2、提高代码运行的效率 代码优化细节 1、尽量指定类、方法的final修饰符 带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为final,则该类所有的方法都是final的。Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大,具体参见Java运行期优化。此举能够使性能平均提高50%。 2、尽量重用对象 特别是String对象的使...
我得个人博客是:科技爱好者博客 欢迎获取树莓派、Arduino、Linux方面的知识~
这场活动将三场会议的内容整合为一体,是一场面向开发人员、运营专家(架构师、系统管理员和开发运营人员)、以及商业、合规和法律领袖与其他专业人员的技术大会。
前言 关于第三方的抽屉效果有很多,比较实用的有两个RESideMenu和MMDrawerController,但是里面的代码逻辑很复杂,但是有时候需求并不需要如此,所以自己去实现效果也并不难,抽屉效果的逻辑并不复杂。抽屉效果结构,大体上分为3个部分,背景视图、列表视图以及内容视图(在最上面);因此只要把内容视图移动一段距离就可以实现。
实现的关键代码部分,内容视图移动的距离计算公式:containerView手势开始时的起始位置+拖动的距离 = containerView最后的移动距离。即 CGFloat translationOffsetX = [gesture translationInView:gesture.view].x; newFrame.origin.x = [self roundedOriginXForDrawerConstriants:CGRectGetMinX(self.startPanRect) + translationOffsetX];//计算滑动距离 newFrame = CGRectIntegral(newFrame); CGFloat offsetX = newFrame.origin.x; // 这个响应手势的回调是个关键的地方,涉及拖动距离的计算方法,即手势开始时的containerView的origin.x加上手势拖动的位移translationOffsetX(向左拖动值为负数,向右拖动值为正数),滑动的最大位移maximumLeftDrawerWidth可重新制定;手势结束后,通过判断containerView的origin.x是否大于等于maxim...
``` import time from datetime import datetime, timedelta class TimeHandler(object): @classmethod def current_time(cls): return time.strftime('%H.%M.%S', time.localtime(time.time())) @classmethod def crt(cls): """获取当前时间""" return datetime.now().strftime("%Y-%m-%d %H:%M:%S") @classmethod def after_hours(cls, hours=1): """获取当前时间后一个小时""" now = datetime.now() aDay = timedelta(hours=hours) now = now + aDay return now.strftime("%Y-%m-%d %H:%M:%S") @classmethod def after_minutes(cls, minutes=30): now = datetime.now() aDay = timedelta(minutes=minutes) now = now + aDay return now.strftime("%Y-%m-%d %H:%M:%S") ```...
现象: 1、在 VS 的资源编辑器里,点预览对话框,即:Test Dialog(Ctrl+T),字体十分平滑,无锯齿。 2、实际运行 exe 时,却发现对话框上的文字模糊了,字体出现锯齿。
解决过程: 1、怀疑是 DPI 导致,怀疑是程序没有明确声明自己支持高 DPI。 2、用资源编辑器查看了 manifest,和记事本、资源管理器等系统自带应用对比,发现确实有个不一样的: &dpiAwareness xmlns="/SMI/2016/WindowsSettings"&PerMonitorV2&/dpiAwareness& 3、尝试改工程属性 - Manifest Tool - Input and Output - DPI Awareness 为 Per Monitor High DPI Aware,问题解决。
HttpClient4.x可以自带维持会话功能,只要使用同一个HttpClient且未关闭连接,则可以使用相同会话来访问其他要求登录验证的服务(见TestLogin()方法中的“执行get请求”部分)。 如果需要使用HttpClient池,并且想要做到一次登录的会话供多个HttpClient连接使用,就需要自己保存会话信息。因为客户端的会话信息是保存在cookie中的(JSESSIONID),所以只需要将登录成功返回的cookie复制到各个HttpClient使用即可。 使用Cookie的方法有两种,可以自己使用CookieStore来保存(见TestCookieStore()方法),也可以通过HttpClientContext上下文来维持(见TestContext()方法)。 附带HttpClient4.3示例代码 /program/1459749.html 。 ``` package com.sunbin.httpS import java.io.IOE import java.util.ArrayL import java.util.HashM import java.util.I import java.util.L import java.util.M import java.util.Map.E import org.apache.http.HeaderI import org.apache.http.HttpE import org.apache.http.HttpR import org.apache.http.NameValueP import org.apache.htt...
作者: Joey Chen
  文/JoeyChen 工程师该怎样才能突破自己的能力瓶颈?写 blog! 工程师该怎样精进自己在职涯上所需要的能力?写 blog! 工程师该怎样才能保持学习与成长的动能?写 blog! 工程师该怎样才能证明自己的潜力与特质?写 blog! 工程师该怎样才能发挥与养成影响力?写 blog!   本文打算老生常谈,从几个很实务的方面来整理,写 blog 对你有什么好处。如果你不需要这样的好处,或是有更好的方法获得这些好处,Just do it!如果愿意分享让我可以跟着你一起学习,我将感激不尽。   前言   开始本文之前,我想先引用 Jeff Atwood 在2007年一篇文章《How To Achieve Ultimate Blog Success In One Easy Step》中的一段内容: When people ask me for advice on blogging, I always respond with yet another form of the same advice: pick a schedule you can live with, and stick to it. Until you do that, none of the other advice I could give you will matter. I don't care if you suck at writing. I don't care if nobody reads your blog. I don't care if you have nothing interesting t...
& 今天后台同事去温州出差,自己又多了一次远程协作办公的经历-对接口 # 1、背景 我在公司主要做iOS和h5开发,懂点php开发(独立开发过一个完整的项目,写的了SQL、写的了接口、写的了后台)。 对接口的时候前端h5页面已经完成,开始了接口对接工作,但是接口对接并不是那么顺利,负责接口的人是一位“颇有”经验老司机,他看上去28左右的样子(小子我22) # 2、事情经过 我写好ajax去请求数据发现这次对接并不是很友善。 * 起初显示跨域访问,为了方便我让他后端设置运行跨域访问,因为没必要限制访问(加了Access-Control-Allow-Origin:\*\) * 后来发现返回的数据并不和善,里面携带了大量的html标签,设置了“dataType:json"页面回调走入error里面 * 跟他叙述了事情经过居然说他用浏览器测试发现在页面上显示的数据是正常的,肯定是我接收数据解析出错 * 在下不服,我要跟你撕逼(讲道理) * 这是我的观点“接口写好**看的不是浏览器上的结果**,要看**response**,你写的接口是要返回给c端或者b端的人去解析,再去展示,不是直接解析到浏览器上的“ * 再抛出一个我自己写的接口给他举例子 # 3、附图 ![接口1](/FantasticLBP/iOSKonw...
MyBatis Generator中文文档 MyBatis Generator中文文档地址: docs.tk/ 该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置。 本文中所有节点的链接都是对应的中文文档地址,可以点击查看详细信息。 注:本文后面提到的MBG全部指代MyBatis Generator。 MyBatis Generator 1.3.4 扩展,可以设置 Mapper(Dao)后缀 运行MyBatis Generator 有4种运行MBG的方法,具体请看文档 运行 MyBatis Generator MBG下载地址:http://repo1.maven.org/maven2/org/mybatis/generator/mybatis-generator-core/ XML配置详解 在MBG中,最主要也最重要的就是XML配置文件,因此本篇文章主要的内容就是XML配置。 这里按照配置的顺序对配置逐个讲解,更细的内容可以配合中文文档参照。 1. 配置文件头 &?xml version="1.0" encoding="UTF-8"?&
&!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"& 使用最新版的MBG需要使用上面的...
把一条消息分成4份,交给4个人,每人1张纸条。这4人中只要3个人凑齐手中的纸条就可以还原出原来的消息。
原文链接:如何在Win7安装U盘中加入USB3.0的支持 1、准备win7安装盘 软碟通(UltraISO)制作Windown 7安装盘 UltralISO下载链接:http://cn.ultraiso.net/xiazai.html 2、将USB 3.0驱动程序添加到安装盘 英特尔的USB 3.0加载程序:Win7_USB3.0_Creator_v3 /download/25476 在解压缩路径下右键点击Installer_Creator.exe文件,并选择以管理员方式运行: 将制作完毕的Windows 7安装盘插入USB接口,并在USB Driver Path中选择该U盘在电脑中所识别到的盘符,例如 J:/ 点击Create Image,开始往U盘中添加USB 3.0驱动程序,过程会比较长,大约需要等待10-15分钟。 在出现Upadte finished!后创建结束,按Close退出
需要做一个针对企业的识别并根据不同企业实现换肤
背景:目前做的项目在一个虚拟机上开发 虚拟机用的是Linux,需要其他局域网的机子访问虚拟机服务服务,需要做端口映射
在写这篇文章之前,我用搜索引擎搜索了一下,貌似没有搜到和我说要说的内容一样的文章,好吧,那还是可以写一下的。我估计我之前写的文章,应该在内容上很少和其他人写的文章雷同的。 不过,话说回来,观点已经很明确了,说一句话发到朋友圈就可以了,为何要写一篇文章? 其实我也是想借此机会,思考一下这个问题啊,哈哈哈。道理虽然很明白,但是理解还是有深浅之异的。 那么我是怎么想到这个观点的呢? 还是和我的职业有关啊,我真是看到了太多的人找工作时候费劲的样子了。这些人大多数都是顶着总监及以上的Title的。他们可都是受过高等教育,工作经验丰富,往往还独挡一面,身居要职,业绩显赫,这简历拿出来,也可是闪闪发光的。问题是,这样的人一多,谁要换工作都变得不那么轻松。 因为他们能看中的职位,也必然是高端的职位,而这些职位数量是比较少的。 比如你说C某O职位吧,每个公司也就只要一个,不设置C某O职位的公司,那就是每个部门的Leader,不管给的什么Title,通常也就要一个。这样的治理结构,就决定了越往高层的职位,数量就越少。 如果不用Title来区分,用薪资来区分,也是一样的,在一家公司中,高薪资职位比例也一定是最低的。 还有一个原因是外部原...
Unable to preventDefault inside passive event listener due to target being treated as passive. 官方解释 /features/4080 简单的讲就是addEventListener为了手机浏览的性能,主要是滚动的顺畅度,e.preventDefault就没有效果了。 如果仍想继续使用e.preventDefault,需要声明成 addEventListener('click',{passive:false}) 就可以了。 这个新特性逐步会被各在浏览器支持。 如果是jquery添加的事件,目前没有参数定义passive,估计很难等到了。
由于commons-dbcp所用的连接池出现版本升级,因此commons-dbcp2中的数据库池连接配置也发生了变化,具体的参数配置说明如下: 参数
描述 username (用户名) 通过JDBC建立一个连接所需的用户名 password (密码) 通过JDBC建立一个连接所需的密码 url (JDBC连接串) 通过JDBC建立一个连接所需的URL driverClassName (JDBC驱动程序) 所使用的JDBC驱动的类全名 connectionProperties (连接属性) 连接参数是在建立一个新连接时发送给JDBC驱动的 字符串的格式必须是[参数名=参数值;] 提示:用户名和密码属性是需要明确指出的,所以这两个参数不需要包含在这里 参数
描述 defaultAutoCommit (自动提交) JDBC驱动的缺省值 通过这个池创建连接的默认自动提交状态。如果不设置,则setAutoCommit 方法将不被调用。 defaultReadOnly (只读设置) JDBC驱动的缺省值 通过这个池创建连接的默认只读状态。如果不设置,则setReadOnly
方法将不被调用。(部分驱动不支持只读模式,如:Informix) defaultTransactionIsolation (事务隔离级别) ...
一、Lock与Synchronized的区别
Lock是个接口,有如下方法: lock():获取锁 lockInterruptibly():可中断的获取锁,与lock()不同的点是该方法会响应中断(锁获取中,可中断当前县城) tryLock(): 非阻塞获取锁,立即返回结果 tryLock(long time,TimeUnit unit) :超时获取锁,(1)获得锁(2)超时被中断 (3)超时结束,返回false unlock() :释放锁 newCondition(): 获取等待通知组件,线程获得锁,才能调用该组件的wait,调用完,释放锁
而synchronized是个关键字,可以修饰普通方法,静态方法,与同步代码块,是重量级锁。 Lock接口与synchronized 关键字都可实现同步,Lock接口具备Synchronized没有的主要特征如下: (1) 尝试非阻塞获取锁: tryLock() (2) 能被中断的获取锁: lockInterruptibly() ,获取锁的线程能够相应中断,当获取到锁的线程被中断时,中断议程会抛出,并释放锁。 (3) 超时获取锁:tryLock(long time,TimeUnit unit)在指定的截止时间之前获取锁,如果截止时间到了无法获取,则返回。
二、Java锁的实现基石---AbstractQueuedSynchronizer
Java中有各种不同的锁及同步组件(ReentrantLock,ReentrantReadWriteLock),而这些锁是面向使用者的,隐藏了实...
Error: python configed configured for Tk
一、EL表达式 1、EL简介 1)语法结构 ${expression} 2)[]与.运算符 EL 提供.和[]两种运算符来存取数据。 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用 []。例如: ${user.My-Name}应当改为${user[“My-Name”] } 如果要动态取值时,就可以用[]来做,而.无法做到动态取值。例如: ${sessionScope.user[data]}中data 是一个变量 3)变量 EL存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。 因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。 假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传null。 属性范围在EL中的名称 Page
PageScope Request
RequestScope Session
SessionScope Application
ApplicationScope 4) 1–EL表达式用${}表示,可用在所有的HTML和JSP标签中作用是代替JSP页面中复杂的JAVA代码. 2–EL表达式可操作常量 变量 和隐式对象. 最常用的 隐式对象有${param}和${paramValues}. ${param}表示返回请求参数中...
它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的安全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。
也就是说它的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。 HTTPS和HTTP的区别   一、https协议需要到ca申请证书,一般免费证书很少,需要交费。   二、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。   三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryp...
Oracle中的递归查询语句为start with .... connect by prior,为中序遍历算法。 基本语法是: select * from tablename start with 条件1 connect by 条件2 where 条件3 条件1: 是根结点的限定语句,当然可以放宽限定条件,以遍历多个根结点,实际就是多棵树。 条件2:是连接条件,其中用PRIOR表示上一条记录。 比如connect by prior id = parent_id就是说上一条记录的Id 是本条记录的Parent_Id。 条件3:过滤返回的结果集。 PRIOR关键字 运算符PRIOR被放置于等号前后的位置,决定着查询时的检索顺序。 PRIOR被置于CONNECT BY子句中等号的前面时,则强制从根节点到叶节点的顺序检索,为自顶向下查找。 如:connect by prior id = parent_id PIROR运算符被置于CONNECT BY 子句中等号的后面时,则强制从叶节点到根节点的顺序检索,为自底向上的查找。 如:connect by id = prior parent_id PS:当CONNECT BY后指定多个连接条件时,每个条件都应指定prior关键字...
这场活动将三场会议的内容整合为一体,是一场面向开发人员、运营专家(架构师、系统管理员和开发运营人员)、以及商业、合规和法律领袖与其他专业人员的技术大会。
过年不能闲着,一边学习Swift,一边写笔记,相信在有一定其他语言基础的情况下用1.5小时看完该文章即可掌握。然后再花30分钟打开XCode写个Demo. 生命中拿出2小时来认识一门语言,很值吧!
本次分析的是libcpp(`_LIBCPP_VERSION=3700`)的`std::function`这个类。它作为可调用对象的适配器,在C++11及之后的标准库中发挥了巨大的作用。尤其是引入的lambda表达式,如果不通过`std::function`就难以保存在容器中。它的实现利用到了C++的很多特性,在此进行分析。
《素书》里讲“推古验今,所以不惑”,所以我们先回顾一下2015年nodejs的国内外发展,继而展望一下我的2016年关于nodejs的想法和新年祝福
不用SWIG,Go使用C++代码的方式
聚合(Aggregations)提供分组和统计文档的能力。聚合类似关系数据库中group by分组的功能,在Elasticsearch中,对一次的聚合查询中可以同时得到聚合的具体结果再次进行聚合,这是一个非常有用的功能。你可以通过一次操作得到多次聚合的结果,从而避免多次请求,减少网络和服务器的负担。
今天看了下利用Python发送邮件的教程。发现很多教程讲的都不是很清楚,或者根本运行不起。
利用node和phantomjs,在服务器端做网站截图
优美的URL不论实在MVC开发中还是API开发中都是很重要的,它是一套规范能够帮助记忆,虽然phalcon原生的url地址并不友好但是可以通过web容器进行URL重写达到想要的效果,在本节还会对一个很重要的模块进行讲解那就是使用phalcon读取配置文件,那么就开始本节的学习吧!
一年又一年,Code,Build,Run。多少技术人像“孙悟空”一样,日复一日苦练“七十二变”,笑对“八十一难”,最后能“取经成功”。 2016年农历新年最后一期的 [fir.im](http://fir.im/?utm_source=testerhome&utm_medium=link&utm_content=fir_im_weekly160129) Weekly 出炉啦,回家之前再来逛逛 : ) ## 一步步创建自己的iOS框架 来自[@segmentfault](/segmentfault):[BigNerd](/u/bignerd) 的翻译整理。 “在这篇教程中,框架里面会暴露一个名为*RGBUIColor(red:green:blue)*的函数,该函数会返回使用这些参数创建的**UIColor**对象。我们会使用**Swift**语言,并且使用**Carthage**作为依赖项的管理工具,框架将会支持通过**Carthage**、**CocoaPods**或者**git**来使用。” &教程[传送门](/a/8931). & &原文链接,点击[这里](/creating-your-first-ios-framework) ## Xcode重构功能的使用 [@没故事的卓同学](/u/) 分享了Xcode 重构的功能的使用经验。 “Xcode 提供了以下几个重构功能: - Rename - Extract - Create Superclass -...
在一些大型购物网站,我们常会看到一个功能叫“猜你喜欢”(或其它类似的名字),里面列出一些跟你买过商品相关的其它商品。网站的用户越多,或你在网站上购买的东西越多,它往往就猜的越准。在一些音乐网站、书评网站、电影网站也有类似的推荐系统,比如豆瓣上的“豆瓣猜”、百度音乐的“为你推荐”等,推荐结果都不错。 这些推荐系统的具体实现我们无法知晓,但原理是类似的,都是采用基于协同过滤的推荐机制。这里我们探讨一下这个推荐机制的原理。 举例 下图是一个用户对课程评分表。评分从1星到5星,灰色表示该用户没有对该课程评分。由图可知,用户3没有学过《面向对象基础》和《Struts开发框架》。问,如果要给用户3推荐其中一门课程,应该推荐哪一门? 基本概念 相似度 如果一个用户喜欢一种物品,那么他很可能也喜欢类似的物品。如果我们找到了测量物品之间相似程度的方法,也就解决了推荐系统的核心问题。 那如何找出这些方法呢?比如,啤酒与芝麻酱更相似还是与纸尿裤更相似?怎么知道啤酒和纸尿布的相似度是多少? 解决这个问题之前,不妨先考虑一个简单的问题。假设平面上有3个点,坐标分别是A(1,2)、B(1,3)和C(4,7),如图: AB的距离= BC的距离= 很显然B与...
解决.net文档快速搜索问题
mycat是一个的数据库中间件,基于阿里开源的cobar产品而研发,由几个有志之士的牛人共同完成并开源。提供高可用性数据分片集群,自动故障切换,高可用性 ,支持读写分离,支持Mysql双主多从,以及一主多从的模式 ,支持全局表,数据自动分片到多个节点,用于高效表关联查询 ,支持独有的基于E-R 关系的分片策略,实现了高效的表关联查询多平台支持,部署和实施简单。 今天来实践下用mycat实现mysql的读写分离,1.配置mysql端主从数据同步,2.用mycat实现读写分离,配置mysql端主从数据同步不作讲解,这里详细介绍下用mycat实现数据读写分离 新建数据库读库和写库 分别在两个不同主机下新建两个大库,读库r和写库w,在读库r下新建3个数据库分片(db1,db2,db3),在写库w下也新建3个分片(db1,db2,db3)。 1.db1分片脚本
Navicat MySQL Data Transfer
Source Server
Source Server Version : 50527
Source Host
: localhost:3306
Source Database
Target Server Type
Target Server Version : 50527
File Encoding
如果运维工程师手里没有高效的管理工具支持,就很难快速处理故障。市面上有很多运维监控工具,例如商业版的 Solarwinds、ManageEngine以及WhatsUp等,开源的MRTG、Nagios、Cacti、Zabbix、OpenNMS、Ganglia等。
在传统方法中,为了防止外来设备接入企业网可以采用在交换机上设置 IP-MAC绑定的方法使外来设备无法接入网络。目前市面上已经出现了一些上网行为管理和审计类产品,本文介绍本文将介绍几款开源的NAC工具,他们具有更加人性化的管理。
前端体系技术图谱
如今市面上一两百元的双频(2.4G和5G,802.11ac)智能路由,几乎全部都是联发科的MTG+交换机)加上MT7612EN(PCIE接口,5G)的解决方案,软件也几乎千篇一律是OpenWrt(可以看做是一个专门针对路由器做的Linux发行版)定制而成,所以这就大大降低了我们玩机的门槛。国内又有OpenWrt的变种Pandroabox,但可惜的是,很多关键的定制内容并未公开,只提供一个二进制文件(其部分主要贡献者也就职于相关商业公司),所以这里使用OpenWrt官方的源码构建。既然是快速开始,就废话少说,动手为先。这里就以Newifi为例制作固件,其他的做法都是差不多的。 一. 相关准备 1. 电脑:安装有Ubuntu(建议使用14.04 LTS的x64版本;当然,使用Fedora之类的发行版也是可以的,前提是你能解决所有可能遇到的编译问题)发行版的PC,或者安装Windows(或者OSX)的PC(或者Mac)加上安装Ubuntu的虚拟机(VMware、VirtualBox或者Qemu)。并在其中安装有tftp服务(用于路由下载固件),以及串口和SSH工具(如超级终端、minicom、Xshell、SecureCRT、Putty等)。至少准备30G的空余硬盘空间,8G的内存,可以连接国外的互联网。 2. 网络:最好有一个路由器组建一个局域网,将Newif...
ActiveMQ生产环境下,必要的配置
Spark本地开发环境搭建
微信对内置浏览器的定制封装,使得H5的流量入口再次重新被定义。在原生程序中使用H5也成为非常必要的一种搭配。这也得益于H5对于简单的浏览性质的内容可以很好的得到展现和传播。 由于在实际项目中有需要在移动端使用到H5,而大部分H5页面都是来源于网络的,所以这里尝试使用ExMobi+Agile Lite来开发一个内置浏览器的功能。
今天是 Git@OSC 代码托管平台上线 1000 天的日子。目前平台上托管的项目超过 70w,每天有近 10% 的项目提交更新,每天新增项目超过两千。 从最开始跑在云平台,14年底迁到北京独立服务器,15年底迁到无锡独立服务器,Git@OSC 经历了几大波折到如今逐渐成熟。14年初因团队问题无人接手,14年中快速发展遭遇云平台的性能瓶颈,高峰时刻天天宕机。15年遭遇大规模连续三天的 DDOS 攻击,每逢攻击必挂机。另外还包括存储系统改造导致的宕机。 每次宕机我们的团队都顶着着巨大的心理压力,虽然这个时候多数的用户都会给我们耐心的安慰。压力来自我们自己对高质量服务的渴望,同为开发者,我们深知代码是我们的生命,访问不到代码就如同高楼坠空的那一瞬间。 今天是 Git@OSC 上线第 1000 天的日子,我想跟大家说的是:不经历风雨怎么见彩虹,我们挺过来了!从之前朋友们经常在微信里吐槽 Git@OSC 又挂了或者是访问很慢,到整个 2015 年下半年开始,有很多很多的朋友跟我说 Git@OSC 做得真棒,原来你们才是最好的;还有不少大公司希望跟我们交流大规模 Git 仓库建设的经验。真的真的非常感激大家的鼓励和支持,尽管路途还远,前面还有更多的坑在等着我们去填,但为开发者服务的心不...

我要回帖

更多关于 齐商银行待遇怎么样 的文章

 

随机推荐