首页 > 技术文章 > 记录_20190626

syjp 2019-06-26 17:53 原文

 java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result异常的解决方法

原来JAVA中如果用BigDecimal做除法的时候一定要在divide方法中传递第二个参数,定义精确到小数点后几位,否则在不整除的情况下,结果是无限循环小数时,就会抛出以上异常。
解决方法:

BigDecimal reduceUsdt = (num.multiply(Quantity.BIG_DECIMAL_0_POINT_2).divide(hrSetting.getUsdtexchangerate(),4, BigDecimal.ROUND_HALF_UP));

找到pid,杀死进程
ps aux | grep paintingstone-server-1.0-SNAPSHOT.jar

kill -9 10989

nohup: redirecting stderr to stdout
表示把标准错误(stderr)重定向,标准输出(stdout)是1。
=>要在末尾加上“2>&1”,得以解决


尖括号后面可以跟文件名,或者是&1, &2,分别表示重定向到标准输出和标准错误。
2> &1
1> &2
2> stderr.log
1> stdout.log

maven打包时不能,xftp不能占用打包地址--target目录,否则会导致打包失败

D:\Computer Files\File_Storage_Address\Software_Data_Center\Git\paintingstone\paintingstone-server\target\paintingstone-server-1.0-SNAPSHOT.jar


NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。
=》而不是no sql,非sql


java面试宝典
https://www.funtl.com/



四、应用场景分析
1、MongoDB的应用场景
1)表结构不明确且数据不断变大 
MongoDB是非结构化文档数据库,扩展字段很容易且不会影响原有数据。内容管理或者博客平台等,例如圈子系统,存储用户评论之类的。 
2)更高的写入负载 
MongoDB侧重高数据写入的性能,而非事务安全,适合业务系统中有大量“低价值”数据的场景。本身存的就是json格式数据。例如做日志系统。 
3)数据量很大或者将来会变得很大 
Mysql单表数据量达到5-10G时会出现明细的性能降级,需要做数据的水平和垂直拆分、库的拆分完成扩展,MongoDB内建了sharding、很多数据分片的特性,容易水平扩展,比较好的适应大数据量增长的需求。 
4)高可用性 
自带高可用,自动主从切换(副本集)

不适用的场景 
1)MongoDB不支持事务操作,需要用到事务的应用建议不用MongoDB。 
2)MongoDB目前不支持join操作,需要复杂查询的应用也不建议使用MongoDB。

2、关系型数据库和非关系型数据库的应用场景对比
关系型数据库适合存储结构化数据,如用户的帐号、地址: 
1)这些数据通常需要做结构化查询,比如join,这时候,关系型数据库就要胜出一筹 
2)这些数据的规模、增长的速度通常是可以预期的 
3)事务性、一致性 
   
NoSQL适合存储非结构化数据,如文章、评论: 
1)这些数据通常用于模糊处理,如全文搜索、机器学习 
2)这些数据是海量的,而且增长的速度是难以预期的, 
3)根据数据的特点,NoSQL数据库通常具有无限(至少接近)伸缩性 
4)按key获取数据效率很高,但是对join或其他结构化查询的支持就比较差



有用信息:
不适用的场景 
1)MongoDB不支持事务操作,需要用到事务的应用建议不用MongoDB。 
2)MongoDB目前不支持join操作,需要复杂查询的应用也不建议使用MongoDB。


mogodb4.0.2在win10上面安装一直失败,不想再安装了,改成linux安装


Caused by: java.lang.IllegalArgumentException: error at ::0 formal unbound i


sudo service mongod stop  #停止服务
sudo service mongod start  #启动服务
sudo service mongod restart #重新启动服务
sudo service mongod status #查看状态

mkdir /data/db -p
-p, --parents 需要时创建上层目录,如目录早已存在则不当作错误

命令格式:mkdir [-p] DirName

说明:建立一个子目录。

参数:-p 确保目录名称存在,如果目录不存在的就新创建一个。


mongodb好像抽风了,又可以了
=》我用的是mongod,连接成功了--实际上这一步是启动,之前用的是mongo命令
=》之前用status查看是否启动,显示已经启动了,后面又看发现没有启动,乱起八糟的,应该重启一下,然后执行mongod命令,再执行mongo命令



mongod --dbpath c:\data\db(这个db文件存着所有的数据库,如项目1,项目2,以后再启动服务指定这个路径就好,不用再改成其他路径,否则浪费资源)

服务启动后执行mongo就可以连接到上面的db文件操作其中的数据库们了

我记起来了,mongodb默认的数据库路径就是/data/db


tb_product

Error in creating new Collection
Command 'create' failed: a collection 'local.tb_product' already exists (response: { "ok" : 0.0, "errmsg" : "a collection 'local.tb_product' already exists", "code" : 48, "codeName" : "NamespaceExists" })
Type: MongoDB.Driver.MongoCommandException
Stack:    在 MongoDB.Driver.Operations.CommandOperation`1.Execute(MongoConnection connection)
   在 MongoDB.Driver.MongoDatabase.RunCommandAs[TCommandResult](IMongoCommand command, IBsonSerializer resultSerializer, IBsonSerializationOptions resultSerializationOptions)
   在 MongoDB.Driver.MongoDatabase.RunCommandAs[TCommandResult](IMongoCommand command)
   在 MongoDB.Driver.MongoDatabase.CreateCollection(String collectionName, IMongoCollectionOptions options)
   在 MangoUI.MCollections.Create(String db, String col)


Error in creating new Collection异常
mongod --storageEngine mmapv1 --dbpath 数据库路径

mongod --storageEngine mmapv1 --dbpath /data


奇怪,status显示没启动,客户端却可以连接,并且可以创建表了



注:当大于0的时候为升序,小于0的时候则为降序 

注:当等于1的时候,就是查询_id和和等于1的字段;当如果等于0时,就是查询除了等于0的字段之外的所有字段


后期一定要进行各个框架、各个工具的性能对比,亲自用数据去对比


猎链钱包后台管理测试环境
admin
hctwallet123


何迪的这个windows破解工具好像是我用错了,他要连续破解两次才能成功


有的时候项目启动不了,一定要重构一下;当你修复时,也要删掉一段东西,重构一下


JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 [1] 
Sun引入新的JPA ORM规范出于两个原因:其一,简化现有Java EE和Java SE应用开发工作;其二,Sun希望整合ORM技术,实现天下归一。


MySql    MongoDB
数据库    数据库
表    集合
行    文档
记录    字段


数据库连接简写
mysql://root:root123@106.13.90.33:3306/paintingstone_db


sorry, advanced paid-for features are not available for the free edition

purchase

mongo存储引擎字母缩写--wt(WiredTige)

C:\Users\Administrator\Documents\Tencent Files\1461701797\FileRecv

可以看到,我们刚创建的数据库 runoob 并不在数据库的列表中, 要显示它,我们需要向 runoob 数据库插入一些数据。
=》如果数据库中没有表,你去insert数据,那么程序会默认建立一张与数据库同名的表去存储数据


use paintingstone_db
=》建表

show dbs
=》展示所有数据库,如果某张数据库中没有数据-则不会展示

java.lang.IllegalStateException: Could not obtain identifier from com.paintingstone.mod_goods.bean.Goods@566c1e71!

spring中的注解,@Repository用于标注数据访问组件,即DAO组件。


泛型T不能获取到class,只能让集成该类的人去传递class,因此定义了以下方法让他人实现:
protected abstract Class<T> getEntityClass();

别人:
        return Goods.class;

mongodb的_id可以映射到实体类的id属性上

由于mongodb每行的列数都不一样,所以mongodb没有表结构,这就是文档型数据库的好处


一个类如果加了@Repository或者@Componet这类注解,那么就代表这个类会被初始化,于是idea里面这个类的颜色就不是灰色了


难道mongodb自己实现了一套将热数据放在内存的缓存

mongodb做持久化存储数据库,还有必要使用redis再做一层缓存吗?


controller一多,启动速度就变慢了    


如何在thymeleaf中ajax实现模版动态渲染 ajax请求到数据后重新渲染页面

controller的参数非必填项


<cite> 标签通常表示它所包含的文本对某个参考文献的引用,比如书籍或者杂志的标题。

按照惯例,引用的文本将以斜体显示。


三木运算符加强版
(obj.status == 1 ? '启用' : obj.status == 0 ? '禁用' : '删除' )

prop():与attr()方法类似,只不过它是新版本的方法。 


可能每个元素都有onclick属性,li是有的

单选、复选都是checked
下拉是selected

数据库分页中第一页是1,不是0,但是0的话查询的也是第一页


可以看到sessionStorage存储的数据只能是字符串,对于常用的对象和数组是存储不了的,因此我们可以通过JSON对象提供的parse和stringify将其他数据类型

转化成字符串,再存储到storage中就可以了。

JSON.stringify(this.queryParams)
JSON.parse(sessionStorage.getItem('queryParam')


弹出框的文本如何添加多个空格,&nbsp;是不行的


prop()和attr()两个方法有区别的,prop只能获取元素本身自带的属性,如自定义pid属性,则获取为undefined,而attr可以获取到该属性值


js/jquery里面的foreach就是foreach()函数,不像java里面也是for,别搞混了


java.lang.IllegalArgumentException: Cannot generate variable name for non-typed Collection parameter type
=》根据上述判断为我的请求接收参数cartList异常,而后判断是要加泛型,这样请求参数cartList才能完成映射接收关系,否则,其内部元素找不到匹配的类型;


java.lang.NoSuchMethodException: java.util.List.<init>()
=》list需要加上@RequestParam(value = "ids", required = true) 
=》requestparam的required的默认值为true,这要加了这个注解,你前台就得传递这个变量过来
=》Required List parameter 'ids' is not present
=》没传递相应变量的话,前台竟然会报400错误
=》没用requestparam注解就不需要传递过来,程序会自动赋值,但是基本数据类型除string外,都不能自动赋值


在ajax请求后台数据时有时会报 HTTP 400 错误 - 请求无效 (Bad request);出现这个请求无效报错说明请求没有进入到后台服务里;

原因:1)前端提交数据的字段名称或者是字段类型和后台的实体类不一致,导致无法封装;
         2)前端提交的到后台的数据应该是json字符串类型,而前端没有将对象转化为字符串类型;
解决方案:
1)对照字段名称,类型保证一致性
2)使用stringify将前端传递的对象转化为字符串    data: JSON.stringify(param)  ;


spring在控制层接收前台参数时,会自动将string转为list

如果nextPage或者prePage不存在,那么默认就是0


hasNextPage
hasPreviousPage


mongodb中分页,skip是指跳过多少条数据,而不是页码,跟mysql不一样的

mongodb新增时会默认返回主键id的


字符串在做拼接的时候,初始化应该要定义为null,别写"",因为null在修改的时候是不会生效的,而且这样更加明显;
=》updateSelective()


ajax的data定义一个map去赋值比form.serialize()好一些,更加灵活一些,就比如我文件上传的时候会对文件对象做处理;


驻场运维工程师
网络运维工程师
系统运维工程师
Linux运维工程师
实施运维工程师
机房运维工程师
大数据运维工程师
DevOps开发运维工程师
数据库开发运维工程师
DBA运维工程师


文件上传需要用form数据传递:
var formFile = new FormData();

Uncaught TypeError: Illegal invocation
=》ajax上传出错,因为ajax上传需要配置两个参数:processData、contentType
=》加上processData参数,就不会报以上错误
=》如果不加contentType,会抛出以下异常:
org.springframework.web.multipart.MultipartException: Current request is not a multipart request



这个formdata你将他转成json字符串会发现啥也没有,就是个空“{}”






我发现springmvc这个@requestparam注解还是很有作用的,当你用到一些特殊的对象或者特性时需要用该注解进行标注,或者说当你用到基本数据类型或者基本数据类型的包装类时不需要用该注解,而当你用到复杂点的类,如List,你就需要用到该注解
=》List还需要证明


上传文件的file对象的size是指大小,不是指图片数量


push()方法用作向数组添加元素
=》方法有问题


现在竟然不能这样传递list集合到前台了
        formFile.append("testprop[0]", "sdf");
        formFile.append("testprop[1]", "23");
        formFile.append("testprop[2]", "23");
=》傻逼了,是要传递同名的
=》array的方式也可以,但是这种方式只能针对普通数据,MultipartFile这种不行,后台的list大小还是为0


$(":select[name='categoryId']")
=》jquery-1.9.min.js:2 Uncaught Error: Syntax error, unrecognized expression: unsupported pseudo: select

$("select[name='categoryId']")这种才是正确的

而input前面加或不加冒号都可以



select与checkbox、radio取值的不同在于select只有一个元素,不同的是option,而其他两个是由多个name相同的元素组成,所以select获取选中指不要加“:selected”,只需要val()即可,而其他两个还需要加上“checked”


'+(obj.parentId==0 ? "根节点" : obj.parentName)+'


在关系型数据库中,通过连接运算符可以实现多个表联合查询。而非关系型数据库的特点是表之间属于弱关联,Mongodb作为Nosql代表,其本身特性不建议对多Collection关联处理,不过对于有些需要对多表关联处理的需求,Mongodb也可以实现。主要分为两种方式:简单手工关联和DBRef方式关联

前端页面显示如果使用ajax,应该会经常碰到先后顺序加载的问题


图片上传的修改功能,暂未找到解决方案


生产日期:2019年6月5号

{"重量":"1kg"}


后台管理自带的select有问题,不能设置默认选中

oss服务器上的地址,开头没有斜杠,所以前端要手动加上,负责图片出不来

首页分类的箭头是固定在一个位置,当文本过长时,就变形了


从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。


@Bean
@ConditionalOnMissingBean(name = "redisTemplate")
注册一个bean,名称为redisTemplate


String... key
在传递多个参数后,这个key的类型会是怎样的


redis中的get和set方法都取自opsForValue()


### Ubuntu16.04安装Redis ###
sudo apt-get install redis-server

检查Redis服务器系统进程
ps -aux|grep redis

通过启动命令检查Redis服务器状态
netstat -nlt|grep 6379

service redis status
等同于
/etc/init.d/redis-server status

通过命令行客户端访问Redis
直接输入redis-cli

我发现通过apt-get去安装的软件,如mongodb、redis默认都是没有密码的,安装过程非常方便


redisTemplate.opsForList();//操作list

redisTemplate.opsForValue();//操作字符串

redisTemplate.opsForCluster();//集群时使用

redisTemplate.opsForGeo();//地理位置时使用

redisTemplate.opsForHash();//操作hash

redisTemplate.opsForSet();//操作set

redisTemplate.opsForZSet();//操作有序set

StringRedisTemplate继承RedisTemplate。 
它们采用的序列化策略不同:
* StringRedisTemplate默认采用的是String的序列化策略,保存的key和value都是采用此策略序列化保存的。
* RedisTemplate默认采用的是JDK的序列化策略,保存的key和value都是采用此策略序列化保存的。
RedisTemplate和StringRedisTemplate它们存取的数据是相互独立的。



但是注意一点,由于采用了String的序列化策略,所以只接受value值类型为String的参数。 
如果像我一样传递了Integer类型的参数,直接使用toString()方法存入缓存。 


我知道@bean注解是用来干嘛的了,有些bean并没有对应的实体类在你手上,你无法通过@component和@autowired去注入,这个时候@Bean注解就排上用场了


采用这种做法,需要在服务器启动时重新构建排行树,先确定排行战力区间,然后依次插入每个玩家战力等数据。运行期间,玩家战力等改变时,先删除旧的排行,再插入新的排行。

该算法在处理千万数据时依然有效,但再大规模性能会不足,占用空间也可观。如果战力分布不均,同战力玩家过多,性能也会大幅退化,可将ArrayList替换为更高效的数据结构,或变通需求。


缺点:需要对user_score表进行全表扫描,还需要考虑到查询的同时若有积分更新会对表造成锁定,在海量数据规模和高并发的应用中,性能是无法接受的。


二八定律告诉我们,前20%的低分区往往集中了80%的用户,这就是说对于大量低分区用户进行区间内排名查询的性能远不及对少数的高分区用户,所以在一般情况下这种分区方法不会带来实质性的性能提升。
算法特点
优点:注意到了积分区间的存在,并通过预先聚合消除查询的全表扫描。
缺点:积分非均匀分布的特点使得性能提升并不理想。


社会上20%的人占有80%的社会财富,即:财富在人口中的分配是不平衡的。

卧槽,傻逼了,这里竟然可以用线段树解决非均匀性问题
均匀分区查询算法的失败是由于积分分布的非均匀性,那么我们自然就会想,能不能按二八定律,把score_range表设计为非均匀区间呢?比如,把低分区划密集一点,10分一个区间,然后逐渐变成100分,1000分,10000分 … 当然,这不失为一种方法,不过这种分法有一定的随意性,不容易把握好,而且整个系统的积分分布会随着使用而逐渐发生变化,最初的较好的分区方法可能会变得不适应未来的情况了。我们希望找到一种分区方法,既可以适应积分非均匀性,又可以适应系统积分分布的变化,这就是树形分区。

如果排名相同,则随机选择就行

wps根据行文本数量,可以挤压字符宽度的

PERSIST mykey    # 移除 key 的生存时间
当过期时间移除成功时,返回 1 。 如果 key 不存在或 key 没有设置过期时间,返回 0 。

redis添加的key,没有设置过期时间,但是过了一天后被redis自动删除了
=》这是因为redis中maxmemory未设置的原因,redis应该有个默认的内存,检测到内存不足时就会自动删除key
=》今早查看时发现依旧不行
=》就是这个原因,之前是我内存设置的太小了,我以为1M=1000B,忘记了还有个KB


io.lettuce.core.RedisCommandExecutionException: OOM command not allowed when used memory > 'maxmemory'.

info查看内存情况




grep -i 'maxmemory' /etc/redis/redis.conf
sed -i 's/maxmemory 50000/maxmemory 200000/g' /etc/redis/redis.conf


mongodb备份数据库
=》mongodump -h 127.0.0.1 -d paintingstone_db -o /opt/mydata


如果商品被删除,那么订单中的相关记录怎么办?订单有商品id和商品规格组合id


订单表内部统一调用其他表的编号,不用id,因为编号是给用户看的
=》以上言论是错误的,应该用id



state:比较常用,各种状态都可以用它,但是它更着重于一种心理状态或者物理状态。
Status:用在人的身上一般是其身份和地位,作“状态,情形”讲时,多指政治和商业。

state倾向于condition,是一种延续性的状态。status常用于描述一个过程中的某阶段(phase),类似于C语言中枚举型变量某一个固定的值,这个值属于一个已知的集合。 
比如淘宝买家问卖家“我的网购现在是什么状况?”
这个问题的背景是讲话双方都清楚,交易状态有“买家选购”“买家已付款”“卖家已发货”“买家已签收”或者有“买家已
投诉”等等状态。这些状态描述一件事情发展过程中的不同阶段。而且,这些阶段的先后顺序也是双方默许的。
所以在这里可以问“What's the status of my purchase?”,此处用state不太贴切,如果硬用上去从语感上可能听着别扭。


状态字段的取值先后顺序,应该按照使用频率来设置

淘宝退货时,系统会根据商品的类型查询出不同的退款原因

论数据库字段枚举类型值用PUTWAY或0这两种形式的区别

handle_way 把手
handling_way 处理方式
这差别有点大哦~

$(document).on("click", "#thumblist li a", function(){})
on()函数有两种,一种是上面的,一种是没有document的,如果要绑定未来元素,那么就必须得用第一种;

a标签绑定onclick时,href=#/href=javascript:void(0)都行

json格式必须是双引号,我去

通过key获取map,要用map[key],不能是map.key

$(this).find(".sku-line selected").length  错误写法
$(this).find(".sku-line.selected").length  正确写法

如果你弄一个text(undefined),那么文本是不会被覆盖的


51job企业账户,1178邮箱可见,密码123qweasdzxc

今天遇见了一个坑,就是append()方法,始终附加不上内容,后面才发现是tr的原因,我tr里面没有td;
=》搞错了,是没有table的原因


而 ActiveMQ 在去哪儿网已经有很多应用在使用了,但是使用过程中并不一帆风顺:宕机,消息丢失,消息堵塞等问题屡见不鲜,而且 ActiveMQ 发展多年,代码也非常复杂,想要完全把控也不容易

还好,God bless 码农。消息队列横空出世,拯救研发狗于水深火热中。前端系统只需将订单信息发送的 MQ 中,而不用关心都有谁需要接受订单信息。其他所有系统从 MQ 中获取消息,而且前端系统也不用关系其他系统收到消息后是否处理成功,MQ 可以帮助我们处理这些问题,这就是我们所说的系统节藕。


注册之后,从数据库中取出对象放入token中
2~3个字段后台需要做校验,多了的话就不做了
=》不,应该说是重要的字段要做校验,重要的操作步骤要做校验

手机端的登录和注册最好分开    


isdelete
reason  管理员进行退款 


java.lang.RuntimeException: For debugging purposes only (not an error)



/opt/install-path/apache-maven-3.6.1


source /etc/profile

Prelease

mvn -Prelease-all -DskipTests clean install -U



腾讯系对手(虎牙、斗鱼)强大、运营成本高、签约主播太烧钱都是绞杀熊猫直播的重要原因。但,这些都是外因。今天,我们今天只谈内因——王思聪是如何被一群敲经念佛的人给坑死的?


debug那个问题跟拦截器有关,是因为被访问的接口被拦截器拦截掉了,还没有仔细研究
=》反正目前就把这个接口排除拦截就行了

在修改个人信息时为避免usdt、hct这类数据被人篡改,可以定义一个dto去接受只能传递的字段


                .excludePathPatterns("/rest/buyer/**/**");


相对于前台获取app版本更新这种问题,后台写接口怎样才能写的更加好,
第一种思路:返回是否需要更新、最新版本信息
第二种思路:直接一个列表查询,通过id/创建时间倒序,前端获取第一条数据的版本好与当前的进行对比,如果不相等就需要更新


Caused by: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。

一下子请求发多了

我的页面超时

connectionTimeout就是链接超时时间,单位是毫秒,默认就是20秒。

在tomcat中出现这个错误是由于客户端在发送请求后,还没等服务器响应就断开了连接,有可能是因为网络原因,突然网断了,但是如果错误频繁出现的话,可能就是服务端的问题了。

tomcat中配置了一个连接超时时间connectionTimeout,如果在这个时间之后客户端还未得到服务器端的响应的话,就会主动断开连接,这样就会出现上述异常了,tomcat中默认的连接超时时间是20秒,我们一般最好设置为60秒,从而避免后台程序处理时间长导致连接断开。

=》如果你发现改了超时时间后还是不行,那么就是你程序的问题,比如我这里就是查询列表的时候忘记写memberid了,导致全查,而数据库中有十万条数据,于是前端等了4秒就断开了,说请求超时


UUID.randomUUID().toString()
java.util包中的方法



docker=》https://www.bilibili.com/video/av32048704/?p=38

RabbitMQ=》https://www.bilibili.com/video/av18997807/?p=7

SkyWalking=》https://www.bilibili.com/video/av40796154?from=search&seid=6650376246366141047

Kafka=》http://www.iqiyi.com/w_19s0sh3nxt.html



三个经历跟人挂钩,跟简历不挂钩


比如消息如果没有成功消费掉又该怎么处理呢?

如果RabbitMQ服务挂了,那么消息岂不是都丢失了吗?

如何保证消息的可靠性,保证消息的正确消费,等等。


例如要减少库存,为什么不用update,而要另外写一个方法
是因为不知道原来的库存数量

消息如果未消费成功,会一直死循环


消费没成功,项目重启,会继续消费吗
=》会的,因为有监听器,项目一启动就搜到了


消费者的ack方式默认是自动的,也就是说消息一旦被消费(无论是否处理成功),消息都会被确认,然后会从队列中删除。这就意味着当消息处理失败的时候,也会被从队列中删除,这绝对不是我们所期望的。我们希望当消息正确消费时,消息从队列中删除,否则,消息不能删除,该消息应该继续被消费,直到成功消费。
=》这句话乍一看好像是对的,但是我测试的时候发现ready的数量仍为1,unacked为0


前端vue以localhost启动,项目不能以本地域名访问


这个押金的缴纳
在发布页面提示他去支付悬赏押金


就是填好所有信息之后点击发布提示他支付
=》不同于在填写职位信息前让他支付的是,上述步骤考虑了商业因素,这样更加容易促成交易


用session的时候,商业节点和企业用户两个端用的是同一个服务端,那么在同一个浏览器你两个端都登录了,那么后登录的会把前登录的顶掉,因为jsessionid是保存在cookie里面的,这个jsessionid会被覆盖掉;

# 温婉地下停车场BGM
  ->古驰古驰普拉达普拉达
  参考链接:https://music.163.com/#/program?id=1369371170


# 3D音效,左右耳朵高低互换


# 超过21:55(超过5分钟)与超过22:00做某事,仔细体会一下这个时间点



#### WIFI连接
如果电脑连接WIFI后却显示有限的访问权限,只要你把Tcp/Ip协议中的IP地址改成自动获取就可以了。

电影:煎饼侠,夏洛特烦恼

  * 进入百度搜索"考生个人中心"即可查询自考专升本的成绩。

  * 2016年10月份自考科目:《软件产品测试》、《软件开发工具与环境 》、《软件项目管理(一)》、《中国近代史纲要》、《马克思主义理论》,《英语(二)》。
  考试时间:10月21-23

  * .cpp是c++的文件类型,即c plus plus,plus就是加号的意思。

  * .obj程序编译时生成的中间代码文件,目标文件,一般是程序编译后的二进制文件,再通过链接器和资源文件链接就成可执行文件了。

  * bat文件是dos下的批处理文件。批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。

  * ISO文件其实就是光盘的镜像文件,刻录软件可以直接把ISO文件刻录成可安装的系统光盘,ISO文件一般以iso为扩展名,其文件格式为iso9660。

  ISO 9660,也被一些硬件和软件供应商称作CDFS(光盘文件系统),是一个由国际标准化组织(ISO)为光盘媒介发布的文件系统。其目标是能够在不同的操作系统,如Windows,Mac OS以及类Unix系统上交换数据。


  自动售货机(Vending Machine,VEM)
  雅芳公司:化妆品公司,最初以上门销售为主
  可易得自动售货集团
  圣水
  毛利率
  家乐福
  漫游(roaming)
  经销商管理(distributor management,DRM)
  沃尔玛(Walmart)
  戴尔:生产电脑
  英特尔公司(Intel corporation):生产半导体


  Simon Tatham写过一篇名为《如何有效的报告Bug》的出色短文。强力推荐你也读一读。
======
BAT
======
湖畔大学
======
阿里巴巴公益基金
======
贝尔实验室
======
DT技术
======
电脑判断饭菜种类
======
中国30位30岁以下创业者名单
======
b2b
======
JointPoint 获取被增强方法的形参,可以得到该方法的很多信息
======
后置增强 Object obj 参数可以获取被增强方法的返回值 ,在xml中要写returning="result";
======
嫡系
======
js选择器问题:
当class='staffGroup dialog"时,
搜索的时候要用.代替空格
var $ul = $(dialogId).find(".staffGroup.dialog")

最好别写成class='staffGroup.dialog"
======
li.organ_dialog.item_11>ul.organ_dept
ul.organ_dept.item_11

.each(
            function(){
                $(this).addClass("close_hidden");
            }
            );
======
button标签要写type属性,否则会被当作提交按钮
======


文件夹分类整理遵循一个规则:文件比较少就放在一起,不用简历单独的文件夹

空文件夹如果没有意义则删除

文件夹不同名称用下划线区分,文件名用中杠线

软件名称用小写


UPDATE hr_resume, hr_member m
SET hr_resume.email = '222'
WHERE m.id = 1


简历列表 left join 多张表 十万条数据 怎么优化
=》1、使用redis
缺点:
1)第一次请求时压力比较大
2)繁琐,每次简历被更改的时候,都需要更新redis缓存

=》2、拆分请求
1)简历中有三个经历,这三个经历我通过简历id再分别去查询


mapper中foreach中的属性之间要用空格区分,不能写成id="12"name="汝",name前面应该要写个空格

推荐阅读