`
落叶留步
  • 浏览: 53234 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论
文章列表
    在mongo3.2以后才可以设置read concern,write concern是很早就有了。这两个concern到底有什么用呢,或者说用默认的预设是不是就可以了。用默认的基本可以满足90以上的场景,另外10就是很严格的场景,比如说:要求数据严格强一 ...
    在mongo的驱动中,默认是primary读,primary写。在最近一次项目中,把readPreference改成secondary,也就是设置成从secondary读,这样就出问题了,最新写入的数据,查询不到,由于副本集同步需要时间,只好改成默认的primary读,这样就没问题了。要改成secondary有个前提就是,基本不会怎么写入数据,或者读的数据跟刚写的数据没有什么关系,但是这个项目,是要检查是不是刚插入过。   Write Concern: Requests acknowledgment that the write operation has propagated ...
        在mongodb中,一般放在内网服务器上,并不需要开启权限认证,但是为了数据安全,有时候也可能用到, 这里记录下开启权限的一些关键点。      1.创建一个admin账号,这一步是为了开启权限认证以后能够连上mongo, ...
    在spring4.x中,全面支持注解开发,可以零xml配置,确实开发方便了很多。其中有两个注解@Bean和@Configuration两个注解,经常会被用到。@Configuration用来标注配置类,就相当于以前写xml配置bean时候,所有bean标签都在xml中写,现在bean全部使用@Bean在@Configuration类中标注。简单来说@Bean就是往IOC容器中放一个bean,@Configuration就是替换xml配置文件。     但是@Bean并不一定要放在@Configuration标注得类中,只要是spring管理的bean中,使用@Bean标注出来的bea ...
    自定义异步任务执行的Executor,默认用的是SimpleAsyncTaskExecutor   // AsyncExecutionInterceptor @Override public Object invoke(final MethodInvocation invocation) throws Throwable { Class<?> targetClass = (invocation.getThis() != null ? AopUtils.getTargetClass(invocation.getThis()) : null); Metho ...
    在java中,一般都会说基本类型的比较相等用==这个比较符;对于引用类型的比较相等一般用equals方法,自定义的类型需要实现equals方法,如果用==则会比较两个对象的地址是否一样。     今天有点时间,就写了个测试,记录==到底是怎么样的。以下是demo代码:   public class Typea { public static void main(String[] args) { Integer x = 1; Integer y = 1; System.out.println(x == y);// 1. true I ...
1 spring-boot + shiro  自定义过滤器 不按filterChain的规则执行   版本:spring-boot 1.5.15.RELEASE  +  shiro 1.4.0   当自定义filter以后,把自定义的filter配置到shiro的filterChain以后,发生了超出预期的效果,本来shiro中filterChain的的原则是从上往下匹配,当有一个规则匹配以后,就不会继续匹配filterChain剩下的规则,也就是filterChain的机制是短路的,只要找到一个filter过滤规则满足就返回。 当与springboot集成以后,自定义的filte ...
    在说rpc之前,先简单说一下java的动态代理。jdk提供了基于接口的动态代理,只需要调用Proxy.newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h),需要传入三个参数,第一个是类加载器,第二个被代理的接口,第三个是InvocationHandler,最关键就在于InvocationHandler接口的invoke方法怎么去实现,当通过代理类调用其实现的接口的某个方法时,内部就是调用invoke方法。 比如定义了一个接口HelloService packag ...
    之前spring是用xml配置,现在可以零xml使用,完全代码的方式来使用的spring的功能。实际上,注解并不重要,xml配置也不重要,重要的是使用spring的ioc和aop提供的功能。现在提供了注解的方式来使用spring的核心功能,那简直不要太舒服了。     1.先建项目导入spring相关依赖 <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1 ...
    dubbo需要一个注册中心,用的是zookeeper。集成spring-boot是为了方便使用注解开发。         1. 安装zoopkker      hadoop01:2181, hadoop02:2181, hadodp03:2181         2. 编写dubbo公共接口     HelloService package com.dubbo.service; import com.dubbo.model.User; public interface HelloService { String sayHello(Stri ...
          新版的tensorflow已经支持windows了,不过python版本不能用2.x, 要用3.x,好像最新的tensorflow支持3.5和3.6这两个python版本,其他3.x的python版本没有测试过。当然电脑要有nvidia的显卡才行,我的电脑比较差,带的是gtx 950,跑起来例子比cpu还是快不少。下面是具体的安装步骤:        1. 安装最新版的tensorflow-gpu pip install tf-nightly-gpu     注意:这个可能会比较慢,最好配置一下国内的pip源,我用的是清华大学的pip源,具体配置参考: ht ...
        在word2vec里面是使用一个简单的两层神经网络来训练的,一个隐层和一个softmax层。里面就有两组权值要训练,但是最后使用的时候只要只要第一组权值,也就是隐层的权值。     输入是一个one-hot的向量,隐层的权值matrix实际上就是每个词的向量,每一行代表一个词的向量,这样,一个ont-hot乘这个权值矩阵的时候,就相当于取了matrix的一行。    输出是一个softmax层,用来表示词典中每个词作为上下文的概率,目标是真正在上下文词出现的那个词的概率的位置接近1,这个位置就是这个上下文词的one-hot为1的那个位置。     举个例子:i love ...
    numpy     1. zeros      用来创建元素全为0的数组,数组的维度根据参数来。      Examples: >>> np.zeros(5) array([ 0., 0., 0., 0., 0.]) >>> np.zeros((5,), dtype=np.int) array([0, 0, 0, 0, 0]) >>> np.zeros((2, 1)) # 这里表示创建一个2维数组(也就是矩阵),其中包含2行1列 array([[ 0.], [ 0.]]) >&g ...
    以前自己写网站玩的时候,真是一点都不考虑安全性,虽然也象征性的md5了一下,然后登陆了也是拿出这个md5值和输入的密码进行md5以后比较,这个方法没什么大问题,除了说md5可能会有冲突之类的情况。但是呢,当时有一个最严重的问题,就是把密码明文也存储了,虽然这个明文对于用户来说永远也使用不到,用户登陆也是和md5以后的密码比较。我也很清楚不应该存储明文的,但是想着存了也无所谓,也不浪费什么空间,完全是在自娱自乐。     前段时间,收到某公司的面试电话,面试官问我,以前是怎么存储用户密码的,我就说原密码加上一个盐值一起hash存储起来的,当然不能说还存储了明文,不然肯定会被喷。但是呢 ...
    在mongodb中有多种方式来存储属性结构的数据。     1 通过子文档关联父文档 { "_id": 1, "name": "子节点", "parents": ["父节点1","父节点2"] }     2 通过父节点关联子节点 { "_id": 1, "name": "父节点", "childs": ["子节点1","子 ...
Global site tag (gtag.js) - Google Analytics