老旧的草稿,今儿才发现。还是发了吧

OK,在家呆着无聊,搬家虽然还没弄完,但是一时半会有点不大想动,不如在家折腾一下新申请的域名。
域名早就申请好了,但是被锁定,因为没有做境外网站的申请审核。上传扫描件之后没几天,现在已经解锁。上万网上设置了域名解析。然后就打算在自己的网站空间上再做一个,然后重定向到现在的这个域名。但是,很奇怪的是,我并没有把新的域名对应的程序弄好,然后访问www前缀的域名,就被解析到一个我不知道的网站,看样子是原来别人放的广告网站。可是我已经重新进行域名解析了啊,奇怪。
输入不带www前缀的网站,返回一个404错误,两个都不好理解到底怎么回事。需要问一下万网的客服了。
本来想把自己原来的网站程序也放到一个重新建立的文件夹里,这样分辨起来比较方便,也易于管理(其实主要是怕重建网站把原来数据搞没了,麻烦)。做倒是不麻烦,可是把重定向文件做好,文件移动好之后,网站是能访问了,CSS样式却没能加载上,进入网站看到的只能是黑白的空空的几乎没有任何美化的页面,丑死了。貌似是某些文件里加载cSS文件的路径使用了绝对路径,找了半天没有找到。一怒之下,把原来网站的头文件重命名,然后整个又放回原来跟路径,另外做了一个同名的头文件用作重定向文件。尝试后,OK,原来的网站又能正确运行了。
好,现在又开始重新
这是几天前写的了,今天忽然发现有自动保存草稿的功能还是十分不错的,我当时还以为写的这些已经丢了。。。  哈哈
问题已经解决了。购买的空间可以映射多个域名,但是需要添加附属域名,不能不添加附属域名就直接访问。这个域名因为可能原来被别人注册过但是没有做自己的网站,而是挂起来打算卖了,所以使用了一些方法,在访问这个域名对应IP没有回应的时候就会显示他们当初的广告页。
这个网站是给别人做的,映射好安装完wordpress,设置好用用户就不管了,给要用的那个人,他自己想要搞成啥样就搞成啥样吧。
兄弟来了,去嗨~

js中的大小比较

各种数据的比较在日常工作中见的多的不能再多,可是有时候仍然会犯一些错误。这些错误在大多数情况下并不会出现,甚至运转相当正常,可是碰到一些也是常见但是考虑不到的情况时,我们会很纠结一段子,因为前面运行的很好,逻辑也是正确的,怎么知道到底哪儿出了错。。。
正是由于这种“逻辑正确”的想法,让我们在日常工作中忽略了相当一部分的问题:类型不一致。今天碰到的问题是,在js中查询出了某个单子两个工作节点里人员的数量,当前面某一设定为2的时候,在approve这个节点需要所有人都在才能进行approve 操作。但是当上载人名单总共19个人,其他节点有10个,当前节点有九个时,点击approve竟然能直接通过而没有触发校验!逻辑上讲,19>9,肯定不会有问题啊,那么原因出在那里呢?
仔细观察发现,我们给存储19和9这两个值的变量赋值的时候,是使用数据库查询出的结果集取出后直接赋值,而js中存储数据库查询结果的时候,只有特殊字段,其余字段,如数字和字符串,全部使用的字符串存储。于是乎我们这两个字段也都是用字符串存储的19和9.即,比较时实际上比较的是’19’>’9’,在字符串的比较中,是按字符比较,那么首先比较的是’1’与’9’的大小。于是。。。’19’>’9’这个比较的结果是false而不是true!
出现这种现象的原因并不是说多么高深的问题,其实只是我们日常工作习惯得问题。一般情况下,用字符串存储数字需要比较大小时,最好的方式还是转化成数字。不只是js,数据库中也有很多数字是用字符串来存储的情况,这时候的操作就需要我们尤其小心。否则,就真是南辕北辙了。
解决方式:假设以上两个变量用a和b来进行存储,那么在比较之前,写上如下两个语句:
a = a * 1;
b = b* 1;
这两句看起来毫不起眼,但是将原来的String a和String b全都转化成了 number a 和 number b,这样19与9的比较必然不会出现问题!
细节是魔鬼啊!

Java对数字取整

现实操作中有很多需要取整的地方,取小数位数的地方,比如一个班有n个人,想要4人一组分组,那么组数是多少?n除以4向上取整;比如内部计算时需要小数点后尽可能多的位数,但是财务只需要两位小数,需要截取;比如内部计算的时候为了精确,计算过程中所用数字小数位数至少要比显示位数多,那么显示和存储的时候都需要对数字进行截取。
这些取整和截取的过程可能发生在页面的脚本中或者java程序中或者sql语句中。这段时间就碰到一个问题,就类似于上面提到的班级学生分组的问题。数字的运算自然不是问题,想要通过自己写的代码获得应该有的组数也没问题,但是java已经提供了现成的方法,自己就不要再做一些无用功了。
java里取整的函数有以下三个:
Math.floor();Math.ceil()和BigDecimal。虽然都是取整函数,但是方法的意义和返回值却是不一样的。
用法分别如下:
Math.floor()
通过该函数计算后的返回值是舍去小数点后的数值
如:Math.floor(3.2)返回3
Math.floor(3.9)返回3
Math.floor(3.0)返回3
Math.ceil()
ceil函数只要小数点非0,将返回整数部分+1
如:Math.ceil(3.2)返回4
Math.ceil(3.9)返回4
Math.ceil(3.0)返回3
BigDecimal四舍五入
传统的四舍五入,在Math类中并没有直接提供,必须使用Java.math.BigDecimal类来实现
new BigDecimal(“2.0”).setScale(0, BigDecimal.ROUND_HALF_UP)返回2
new BigDecimal(“2.4”).setScale(0, BigDecimal.ROUND_HALF_UP)返回2
new BigDecimal(“2.5”).setScale(0, BigDecimal.ROUND_HALF_UP)返回3