科幻影迷,书虫,硬核玩家,译者 互联网分布式系统稳定性建设,容量规划,压测,监控,容灾多活系统。 SRE, DevOps 微信公众号:麦芽面包
Redmine的账号支持跟LDAP集成,以下是在WINDOWS AD账号的集成配置过程。 首先下载一个微软的dsquery.exe工具,用来查询自己的账户信息。
Tacacs作为一个验证工具,其网站上资料较少,只有一些缺省配置,并且没有提到如果在应用中与其自带的Group功能做集成, 这里使用免费的windows 版的TACACS.
https://code.google.com/p/google-authenticator/ 是google提供的OTP解决方案。 http://www.multiotp.net/ 是一个开源otp验证解决方案,继承了google的OTP方案, 可以通过pam模块与Radius验证服务器集成,安装包已经包括了Radius和Google OTP 模块。
Enterprise Architect有一个很实用的共享,在设计UML图的时候,可以连接到一个数据库服务器,将所有的画图数据共享在上面,所有连到这个server的人,都可以看到 别人的图,图中的元素也可以共享,跟svn的效果差不多, 花了点时间研究了一下,设置好了这个respository。
最近在帮公司招聘一批很fresh的应届毕业生, 0-1年内的人。很多毕业生看到每年报纸上的报道: “xx年毕业就失业” , “今年就业大军xx万”, 估计就吓躺了。
由于ORM工具的缘故,我们调试程序的时候远没有直接在程序里直接写个string的SQL简单,想当年查个sql是有多么的幸福,一行sql = "select * from ..."找找就行了, 现在用了hibernate, 就算在JPA中开了show_sql=true, 打出来的还是一串 "name = ? and id = ? " 好在找到一个工具, p6spy, 作为真正JDBC的一个代理, 截获了所有sql, 让我们看到一个真实sql的机会。
很多人对JSSE组成部分的Key Tool 工具不太明白,希望本文能有帮助 科班出身的同学应该学过课程“密码学”, 这门课详细解释了现代对称加密的算法原理, 当时学的我云里雾里。
近期看了一下JVM对监控的支持,除了常规的JMX外居然还有SNMP, 有点意思, 这个网管协议适配的地方还真多,那么就先测试一下。 先随便找一个能在后台持续运行的java小程序,如我手头的BIO的socket服务器。
公司用web代理,NTLM验证的,这样在普通CMD下无法使用mvn命令访问网上的maven库,使用CNTLM工具解决。 下载CNTLM工具,安装,修改安装路径下的cntlm.ini,改成实际的ntlm proxy地址,CNTLM会起一个proxy service监听3128端口。
今天碰到个问题,jetty系统跑的时候点击页面突然报 internal server error 错,翻了一下日志,发现很多jsp not found的错误: 2013-11-28 04:29:16,500 WARN [SymmetricDS]...
linux遇到一个Postgresql的问题,在调用pg_restore时: ./pg_restore -h 127.0.0.1 -p 5432 -U postgres -v -d dbname /usr/local/backup.
小米3这次抢购,比较无聊,整天让人排队, 所以看了下抢购页面的脚本。 当年小米1抢购的时候页面不是这样的, 代码都比较直接, 这次看页面发现页面对js加了密, 其实也就是增加点对新手的难度,想看代码还是挺容易, 还没有研究完,先开个头,记在这。
最近改InstallAnyWhere脚本,其提供的action中可以调用系统的command或script,windows下就是CMD命令和BAT,有些实用命令记录一下。
今天遇到SVN 的 repository 被一哥们提交搞坏了,这个目录任何操作都是显示: E160004: Corrupt node-revision 'lx-249.
公司的网络环境是通过代理上网,用python url2lib普通的代理验证不能通过,示例代码: url = 'www.python.org' username = 'user' password = 'pass' password_mgr = urllib2.
最近项目被第三方工具扫描出来有一个Http head xss cross scripting漏洞,为了修复这个,顺便研究了一下跨站脚本攻击的原理, 跨站脚本攻击基本上就是sql注入的html版, 核心内容就是把一段精心设计的脚本通过网页中的html漏洞由HTTP GET/POST传给服务器并执行. XSS主要有两种,一种是注入的链接需要骗人来点击,目的是劫持用户的cookie; 一种是该脚本已经通过此方法注入了DB,每次有人浏览正常的该网站链接都会执行该脚本,理论上java script能做的都可以做。
以XmlBeanFactory为例,最简单的取bean方式是: BeanFactory factory = new XmlBeanFactory(new FileSystemResource("D:\\workspace\\JavaApplication2\\src\\javaapplication2\\spring\\beans.
new Test()的过程基本等于: Class clazz = Class.forName("Test"); clazz.newInstance(); 第一步由类加载器查找类路径下的目标类,并加载类实例,对应到JVM就是加载到了方法区。
今天在调试一个脚本的时候遇到这个错误: dropdb: could not connect to database postgres: could not connect to server: 这个脚本调用了postgresql的dropdb命令。
最近装一个linux应用遇到空间不够,遇到以下提示: /tmp does not have enough disk space! 我是用虚拟机的,所以给虚拟机增加一个新的disk,这里我是virtual box的vdi文件。
ArrayList是JDK提供的一个数组list,其实现基于java的数组, elementData是声明在该类里面的实际保存数组的变量: private transient Object[] elementData; 删除: remove的时候,需要遍历整个数组,找到匹配的元素, 然后调用内部私有方法,进行快速删除(fastRemove),这个删除方法不检查数组下标长度等。
windows系统的根证书放置在注册表中:KEY_LOCAL_MACHINE-SOFTWARE-Microsoft-SystemCertificate-ROOT-Certificate java信任的根证书放置位置在: D:\Program Files\Java\jdk1.
SSL通道能解决用户验证,指纹防篡改,数据加密。 用户验证通过双方的证书链来进行, 防篡改有证书的数字签名,数据加密则由SSL握手协商后的对称密码来对socket包进行加密。
Jetty是个servlet容器,要理解servlet容器的class loader,要先看 JSR315 servlet 3 中对web application class loader的要求,比较重要的地方加了中文解释。
安装包是jdk-7u25-linux-i586.gz,解压: tar -xvzf jdk-7u25-linux-i586.gz 拷贝到/usr/lib/jvm下: sudo cp -rf jdk1.
最近在看hibernate在load entity过程中的操作, 包括为实体类做增强,自动flush,一级缓存,在这里记录一下,慢慢会继续更新。 DefaultLoadEventListener: final PersistenceContext persistenceContext = event.
在web.xml中加入listerner来将ehcache注册到MBean,Listener代码内容如下: CacheManager manager = CacheManager.
以tomcat为例,加入一个listner监听容器启动: ServletContextListener com.
SymmetricDS的同步机制是定时周期性同步,我们项目根据业务需要,只需要客户在UI激活一次replication时候才开始同步,所以这里我们的设计是每次激活时,用symmetric自己的deploy/undeploy机制让其在启动时候自动跑replication任务。
本文直接展示servlet的测试结果。 servlet的代码中使用sendRedirect: public class SessionTest extends HttpServlet { protected void...
要想知道如何传送这些二进制,先来点二进制文件的背景知识 文件魔数 magic number: 操作系统的文件,其起始的几个字节的内容是固定的。
@echo on if not defined JAVA_HOME ( echo JAVA_HOME environment variable must be set exit /b 1 ) setlocal enabledelayedexp...
装了WireShark想看看协议分析的东西, 结果在WIN7装装了之后第二次启动就报这个莫名其妙的错误, NPF driver not running. 查了点资料,用以下命令解决: 用admin权限的cmd下输入sc qc npf , 查看该NPF的状态。
查了一下,我这个版本的ezFAQ中需要IFPDF类在Redmine1.x里没了,要把插件脚本IFPDF改成引用ITCPDF,就可以了。 插件安装目录下找 app/controllers/ezfaq_controller.
1、停掉所有服务(manager-windows.exe程序中可以操作此步骤); 2、复制BitNami Redmine Stack安装目录到新服务器相同路径; 3、cmd下cd到BitNami Redmine Stack目录,执行“serviceinstall.bat INSTALL”(INSTALL必须大写,参见serviceinstall.bat文件内容); 4、打开manager-windows.exe,如果看到服务项,则正常,启动即可。
把插件解压出来拷到C:\Program Files\BitNami Redmine Stack\apps\redmine\vendor\plugins目录, C:\Program Files\BitNami Redmine Stack\apps\re...
Redmine与SVN结合进行版本管理,SVN默认连接方式为HTTPS;但是在这种连接方式下,Redmine会出现404错误,很多人因此舍弃安全性而转向HTTP协议,其实并不是没有解决办法,解决方法如下: 1. 打开cmd , 输入: cd svn --config-dir webserverRedmine co https:// (文件夹名随意,该文件夹会生成在cmd的当前工作目录,是从svn服务器上同步下来的内容,可以删除)。
最近遇到 Class.newInstance 时候抛出ExceptionInInitializerError 异常, 这种异常一般是类初始化时遇到问题,样例代码: static { try { Loader.
这个问题比较隐蔽, 正常我们在object标签中标识了该activeX控件的版本号,由浏览器在运行时比较版本并自动下载,我的例子:
通过API取得当前Runtime环境, 反射调用Runtime的addShutdownhook方法。感觉为什么不直接调用却用反射,用意何在 Thread t = new Thread(this); t.
Proxool是常用开源连接池,最近遇到点该连接池销毁时的问题, 记录下来。 项目中使用JPA的hibernate实现, persistence.xml中hibernate配置的连接池是proxool. 遇到的问题是项目中有很多后台运行的service, 这些service在servlet 容器做shutdown操作时候会先被关闭,最后在contextDestroy方法中做clean操作。
String japChar = "オン"; String japGetFromOther : japGetFromOther.equals(japChar); 之前遇到一个问题, 在一个日文系统里, 由JDK返回的一个日文的值,在做equals对比时无法与java代码中已经写好的日文进行比较, 一直都是返回false。
根据symmetricDS的guide文档,想要加密symmetric.properties中的db.password,需要跑以下命令: sym -p E:\someplace\symmetric.properties -e dbpassword 中文版的JDK会出现"Illegal Key Size" 错误, 这是由于美国对加密的进出口限制,不允许高于56位的加密, 可以从ORACLE网站下一个无限制的JCE版本, 覆盖原JDK中security目录下的文件。
开发中经常遇到要使用第三方类库, 查看类库的协议保证要求闭源的商业软件的利益是必备基本功,下面也是参考了网上的文章。 BSD开源协议(original BSD license、FreeBSD license、Original BSD license) BSD开源协议是一个给于使用者很大自由的协议。
Could not determine type for: java.util.Collection, at table: 该错误有可能的原因是: 在实体类的属性中的annotation, 要么就全写在属性上,要么就全写在get方法上,不能混用。
By default, WebSphere didn't enable remote debug service, we need do follow step to active service 1.
http://localhost:4848进入admin console 资源->连接池->新建 数据源类名称:com.mysql.jdbc.jdbc2.
过程式语言与面向对象语言,到底有什么区别?可能是初学者常碰到的问题。简单来说,过程式语言整个是构建在动词上的语言。比如,最常见的经典过程式语言- C语言,打印一条语句的语法是printf(), 这个方法的名字本身就是一个动词,这个动词强调了一个动作的过程,所谓过程式就是这个意思。
org.hibernate.HibernateException: No CurrentSessionContext configured! 错误,解决方法: hibernate.
看看编辑们都推荐看什么 http://www.infoq.com/articles/recommended_reading_list