开发日志
文章平均质量分 89
恺风
我思故我在,如果一个人无法独立思考,即使熟习各种工具,实质只是工具的一部分,永远无法创造工具。
展开
-
【Developing Log】数据库连接权限非动态
在一个项目中,我为程序连接的数据库用户设置了权限,特别地不使用root的用户,这属于常识。在新增一个功能(链接一次有效),在使用后,需要update数据库表格进行某些表示,而原来并没有提供这个权限。我在开发环境(使用root)中完成代码,并部署到预生产环境中,也没留意。今天因其他问题查看log,发现有ERROR,显示没有update权限,无法执行sql。故此,在数据库中通过grant加入该原创 2015-07-06 11:11:49 · 1171 阅读 · 1 评论 -
了解和使用keystone(二)安装keystone
在14.04和16.04下安装keystone,都能支持v3的api,区别前者版本0.7.1.后者2.3.1,主要是后者数据库中表格增加,换言之,增加了元素,提供了更丰富的关联逻辑。如果我们要基于keystone的开源开发自己的东西,那就通过源码安装,但是我的目标是用,所以通过系统安装的方式。安装keystone$ sudo apt-get install keystone安装之后运原创 2016-09-10 20:13:12 · 11004 阅读 · 0 评论 -
了解和使用keystone(一)keystone的基本认知
为啥想起要求了解keystone想起keystone,并不是因为openstack,我目前没有参与涉及DC的项目。但是作为openstack的管理身份验证、服务规则和服务令牌功能的模块,可以对中性以上的项目给予帮助。因此就花了点时间来看keystone,目标是了解并在项目中使用keystone,这和在keystone开源的基础上开发自己数据中心的原创 2016-09-10 19:04:38 · 7567 阅读 · 0 评论 -
了解和使用keystone(三)创建admin用户
admin用户可以用来创建domain,project,user。在keystone.conf中,通过设定admin_token,提供了一个初始的管理员令牌,假定为ADMIN,我们用这个令牌来创建admin用户。这是个管理的问题,如果分配给不同的人员,应该要使用不同的username/password。配置环境变量$ openstack --os-token=ADMIN --os-url=原创 2016-09-10 21:16:31 · 12708 阅读 · 0 评论 -
了解和使用keystone(四)创建普通用户
创建domain$ openstack --os-username=adminUser --os-password=admin123 --os-url=http://localhost:35357/v3 --os-identity-api-version=3 domain create --description "Demo Domain" demo-domain +------------原创 2016-09-10 21:37:19 · 6175 阅读 · 0 评论 -
了解和使用keystone(五)获取token
创建一个json文件,作为HTTP消息的内容$ cat token-request.json { "auth": { "identity": { "methods": [ "password" ], "password": { "us原创 2016-09-10 21:55:50 · 9889 阅读 · 2 评论 -
【Developer Log】Thread-safe
在web中采用多线程,多线程读写某个Collection,就会涉及thread-safe的问题,如果collection在操作的使用采用synchronize,那么这就是线程安全,但这是要付出性能代价的,也可以不适用thread-safe,但需要根据需求自己考虑是否加上同步。在http://www.asjava.com/core-java/thread-safe-hash-map-in-jav原创 2016-04-01 14:29:23 · 1150 阅读 · 0 评论 -
【Developer Log】SimpleDateFormat的parse问题、ISO-8601格式
在并发处理时,SimpleDateFormat进行时间格式转换会出现问题。本博将就问题情况以及如何进行时间转换作为讨论。SimpleDateFormate并发parse()问题小实验下面是一个简单的观察小例子,同时提供ISO-8601时间格式的人工处理:public class ParseTest { private final static SimpleDateFormat原创 2016-12-01 09:31:12 · 3936 阅读 · 0 评论 -
【Developer Log】开发日志
Java开发Log4j v2 2015.8.27Java VM的不明机制 2015.8.27Java的内存使用、垃圾回收和内存泄漏 2015.8.24Web开发PHP的coding环境安装 2015.7.21PHP开发环境安装 2015.7.17数据库数据库连接权限非动态 2015.7.6AndroidART:Android RunTime 2015.7.20原创 2015-09-11 14:37:10 · 5954 阅读 · 0 评论 -
【Developer Log】提高数据库写性能
提高数据库写性能总结。对于单条数据写操作对于写单条数据INSERT table1(`a`,`b`......) VALUES(......);的效率比INSERT table1 VALUES(......)要低,尽量采用后者。对于自动增加的id,可以采用INSERT table VALUES(default,......)。尽可能一次写多条数据一次写多条数据(批处理)比写n原创 2017-02-27 16:30:05 · 577 阅读 · 0 评论 -
Java for Web学习笔记(七八):Validation(2)验证标记
已定义的限制标记Bean Validation v2.0的限制标记Validation v2.0规范中已经定义了22个常用的标记。标记说明@Null @NotNull @AssertTrue用于boolean或者Boolean,如果为null,认为是合法的,下同。当然我们可以和@NotNull同时使用。@Min原创 2017-10-02 10:14:23 · 10982 阅读 · 0 评论 -
【Developer Log】javax.ws.rs实现Restful
javax.ws.rs实现Restfuljavaxwsrs实现Restful如何使用RestFulJava中使用RestFulpom关联的jar包webxmlGET的小例子textjsonxml三种输出格式POSTPUTDELETE如何使用RestFul下表来自wiki说得很清楚,GET一般用于查询,POST一般用于创建,PUT用于update(如无则创建),DELETE用户删除。PO原创 2016-08-15 16:30:43 · 25010 阅读 · 3 评论 -
【Developer Log】ProGuard扰码可执行JAR包
在项目上线之前需要通过ProGuard来对java的class进行混淆,以避免反编译方式,来保护自己的代码。ProGuard网上有很多资料,可以参考:http://blog.csdn.net/zhangdaiscott/article/details/45368261。在此,记录扰码可执行JAR包出现的问题,已经相关的解决方式。1、引用第三方库的处理方式引用第三方库,应避免修改第三方库的类原创 2016-02-19 11:41:26 · 2286 阅读 · 0 评论 -
【Developing Log】PHP开发环境安装
最近分布在Windows和Ubuntu上安装PHP开发环境,也碰得到一些小问题,现将安装过程记录下来。安装httpd一、在阿土上安装httpd可以直接apt-get的方式安装httpd。从http://httpd.apache.org中获得httpd最新版本的source code,然后解压安装。安装的缺省目录位于/usr/local/apache2,由于这是个人的开发环境,因此想原创 2015-07-17 14:34:08 · 1789 阅读 · 0 评论 -
【Developing Log】PHP的coding环境安装
之前安装的httpd和php作为开发环境,现在要安装coding环境。作为在运行时使用编译器的脚本方式,找个text文档编辑就可以。但是,最好还是能够更方便,特别是对项目的管理。SubLimeText在网上的视频中,很多使用SublimeText,可以在阿土和windows环境。跟风安装了一个。先到官网中下载最新版本,SublimeText 2,不知道为何国内的破解版有ve原创 2015-07-21 12:52:29 · 1340 阅读 · 1 评论 -
【Developer Log】web的版本管理
如果是jar包,通常在jar包中带上version版本,例如myproject-.jar。在部署时通过ln –s myproject-1.1.jar myproject.jar的链接方式来确保脚本使用正确的jar包,同时也方便版本升级和版本回退。在web方便,包括servlet和web app(web前端)则利用tomcat或者apache的部署目录指向。例如,我们有两个版本1.0和1.1原创 2015-09-11 17:02:01 · 1194 阅读 · 0 评论 -
【Developer Log】MySQL远程连接时间长的原因和解决方式
在Java中使用JDBC连接MYSQL,当然也使用了MYSQL提供的jar包(mysql-connector-java-.jar)。连接代码很简单,发现下面的情况:1、在使用本地数据库的时候,localhost或者127.0.0.1,马上就能连上2、在使用局域网其他机器的时候,连接时间要10秒。当然,我自己写了一个MYSQL连接池,只需连接一次,在使用非本机数据块时,只会导致服务初始化原创 2015-09-11 15:50:00 · 2765 阅读 · 1 评论 -
【Developer Log】部署安全:隐藏Apache的版本信息
在Apache - PHP的部署中,Apache响应消息header中的Server带有Apache的版本信息,如下:这在生产环境中是有潜在危险的,可以被扫描出所使用的版本,如果这个版本具有已知的漏洞,别人很容易进行攻击,因此要隐藏Apache的相关信息。同样在Apache的错误返回页面中,也包含同样的信息。除了Apache的信息外,还包括ip地址和端口,对于通过Nginx或者代理的生原创 2015-10-08 17:32:02 · 2671 阅读 · 0 评论 -
【Developer Log】J2EE Eclipse从JRE1.7升级到JRE1.8
我已经在project -》Properties的Java Build Path中的libraies的JRE从1.7改到1.8,也将Java Compiler从1.7改到1.8,但是仍然报错说:Description Resource Path Location Type Java compiler level does not match the version of原创 2015-11-02 17:22:02 · 4060 阅读 · 0 评论 -
【Developer Log】Java1.8在J2EE中疑似leak的修正
在Java 8的Eclipse开发环境环境中,如果我们停止Tomcat 8(例如修改代码,保存,会引发tomcat的自动重启)。在停止过程过程中,我们可能会看到下面的一些错误。Thread.sleep()的疑似内存泄漏这个问题其实倒不是很关键,不会真的有泄漏,只是代码洁癖。下面是代码片段:private boolean isRunning; public void close(){原创 2015-12-04 16:45:53 · 3501 阅读 · 0 评论 -
【Developer Log】ProGuard扰码:ClassFormatError
在一个web项目,扰码后运行发现tomcat回复500,而且给出了java.lang.ClassFormatError的错误。然后给了某个类某行(1042),而那个类也就大概一百行,根本无法定位。如果不进行扰码,是没有问题。这说明不是代码逻辑问题,而在于扰码问题。代码有异常捕获,没有捕获到这个异常。在代码中加入log,看看代码的执行情况,发现语句在user.getPhone(),而且返回的50原创 2016-04-01 13:11:14 · 1777 阅读 · 0 评论 -
【Developer Log】ProGuard扰码web项目(WAR)
先阅读一下http://proguard.sourceforge.net/manual/troubleshooting.html#unexpectedclass,内容如下:Warning: class file ... unexpectedly contains class ...The given class file contains a definition for the原创 2016-02-25 10:36:54 · 8364 阅读 · 1 评论 -
【Developer Log】tomcat安装的记录
最近很忙,所以上blog也少了。在virtualBox上安装ubuntu server 16.04,然后安装所需,当中出现了一些问题。安装的事情还是要记录下来,以便以后安装方便,因此修订了【Developing Log】PHP开发环境安装,另外一些tomcat安装的问题也在此记录:tomcat安装本不应该存在任何问题。但是在ubuntu server中安装了openjdk 9,启动serv原创 2016-05-31 22:08:50 · 676 阅读 · 0 评论 -
【Developer Log】通过Host-Only方式提供主机和虚机之间的相互访问
由于安装了Eclipse Che,虽然没怎么用,但是提供了Virtual Host-Only Network和Virtual Host-Only Network#2,分别是192.168.55.1/24和192.168.99.1/24。在virtualbox的配置如下:现在,我们需要在虚机中设置好网卡2。通过 ifconfig -a,可以查看网卡2对应的网口,为enp0s8原创 2016-06-03 22:06:59 · 868 阅读 · 0 评论 -
【杂谈】对代码的一些建议:从单模块到多模块
对于产品,一般来讲,从单模块,到负载均衡的多模块,最后到有服务治理的规模化集群(例如微服务),逐步发展和演进。本文并不打算涉及框架或者架构,也不讲什么大道理,仅从代码编写的角度,看看开发人员需要注意什么。单模块开发的一些注意事项单模块并不是指单体方式,根据功能进行模块划分,每个模块在生产环境中是单模块运行(主备方式)。单模块阶段开发人员仍是有要求,在我的实践中,从code review看,...原创 2019-05-16 17:21:08 · 1807 阅读 · 0 评论