为了账号安全,请及时绑定邮箱和手机立即绑定

强化学习(一)模型基础

 从今天开始整理强化学习领域的知识,主要参考的资料是Sutton的强化学习书和UCL强化学习的课程。这个系列大概准备写10到20篇,希望写完后自己的强化学习碎片化知识可以得到融会贯通,也希望可以帮到更多的人,毕竟目前系统的讲解强化学习的中文资料不太多。    第一篇会从强化学习的基本概念讲起,对应Sutton书的第一章和UCL课程的第一讲。1.  强化学习在机器学习中的位置...

2226浏览
0推荐
0评论

kafka 消息队列

kafka是使用Java和Scala编写的一个快速可扩展的高吞吐量的分布式消息队列系统。kafka将数据持久化存储到磁盘上,自带分区和副本机制,因而具有较好的持久化保证。但是kafka的消息消费没有确认机制,可能因为consumer崩溃导致消息没有完成处理。因此不建议将kafka用于一致性较高的业务场景,kafka经常被用做日志收集和数据仓库之间的缓存。比如将网站的浏览日志缓存到kafka,然后从kafka中取出批量写入ElasticSearch, Hive或者HBase等数据仓库中。这样做可以极大的减轻离线分析系统的负载。架构简介kafka架构中有下列角色参与:broker: kafka...

4422浏览
5推荐
0评论

基于PhotoView的头像/圆形裁剪控件

常见的图片裁剪有两种,一种是图片固定,裁剪框移动放缩来确定裁剪区域,早期见的比较多,缺点在于不能直接预览裁剪后的效果;还有一种现在比较普遍了,就是裁剪框固定,直接拖动缩放图片,便于预览裁剪结果。     ...

1382浏览
0推荐
0评论

配置Nginx反向代理WebSocket,以代理noVNC为例

什么是NginxNginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like...

1693浏览
0推荐
0评论

响应者链UIResponder-扩大UIButton的点击范围

在开发中,我们经常看到有按钮等的点击,会出现响应事件。按钮->view->ViewController->UIWindow->UIApplication,这就形成了一个响应链。本篇将讲述响应链的具体底层实现,大约花费10-15分钟左右,欢迎点评!!! 一、知识继承UIResponder的对象,我们称之为响应者对象。我们常用到的UIApplication、UIWindow、UIViewController以及所有继承UIView的UIKit都会根继承于UIResponder。UIResponder一般响应触摸事件,点按事件,加速事件以及远程控制事件:触摸事件(touch handlin...

1534浏览
0推荐
0评论

Java编程中获取键盘输入实现方法及注意事项

Java编程中获取键盘输入实现方法及注意事项1. 键盘输入一个数组package com.wen201807.sort;import java.util.Scanner;public class Main {        public static void main(String[] args) {...

1873浏览
0推荐
0评论

【JDK源码分析】深入源码分析CountDownLatch

前言CountDownLatch是一个闭锁实现,它可以使一个或者多个线程等待一组事件发生。它包含一个计数器,用来表示需要等待的事件数量,coutDown方法用于表示一个事件发生,计数器随之递减,而await方法等待计数器为0之前一直阻塞。它是基于AQS的共享锁来实现的,其中使用了较多的AQS的方法,所以在这之前最好阅读过AQS的源码,不嫌弃也可以查看本人之前AQS的源码分析,有些AQS方法没有在之前分析过的这里涉及到了会进行分析。源码我们先看它的属性和构造器,    // Sync为其内部类...

1306浏览
0推荐
0评论

Netty源码—四、事件处理

前面经过channel初始化、注册,所需要的数据结构(epoll_event)基本上准备好了,serverSocket也处于监听状态,可以接收来自客户端的请求了。NioServerSocketChannel注册在了NioEventLoop#selector,在注册过程中启动了NioEventLoop,run方法会循环执行,每次循环都会执行select和执行所有的task。如果select有事件,则会处理收到的事件。private void processSelectedKeys() {    if (selectedKeys !=&nbs...

766浏览
0推荐
0评论

JS异步执行之setTimeout 0的妙用

最近在工作中遇到一些问题,大致是关于js执行问题的。由于没搞清执行顺序,导致出现了一些奇怪的bug。 所以这里整理一些有关异步执行的知识(冰山一角角)...  大家都知道js是单线程的,执行起来是顺序的,在顺序的业务逻辑中当然没有问题。如果遇到可以并发执行的业务逻辑,再排队就很低级了,所以需要异步执行! 1、什么是异步?setTimeout(function(){   console.log(0); },0) console.log(1); // 先打印 1// 再打印 0...

6542浏览
0推荐
0评论

移动端1px边框

 布局方面,css有那么几个比较热衷的问题。其中,移动端1px边框问题的讨论不亚于垂直居中。那么移动端1px边框问题是如何产生的呢?由于现在的手机几乎都是retina屏,css设置的1px会被渲染成2px的物理像素(针对像素比等于2的屏幕),因此看起来会比较粗。既然知道了问题的产生原因,那么我们就开始解决。网上有很多种方案,但实际上我们用的时候只能选一种用,所以那么“不靠谱”的就不详细叙述了...(以下方案推荐指数逐渐提高)  1、直接设置0.5px...

6850浏览
1推荐
0评论

谈谈npm依赖管理

引言现在的前端开发几乎都离不开nodejs的包管理器npm,比如前端在搭建本地开发服务以及打包编译前端代码等都会用到。在前端开发过程中,经常用到npm install来安装所需的依赖,至于其中的技术细节未做过多的理解,下面就来说说node包管理器npm。依赖安装npm install使用npm来管理nodejs的包依赖,需要在项目根目录下提供一个package.json文件,其中与包依赖相关的字段有:dependencies: 指定项目运行时所依赖的模块devDependencies: 指定项目开发时所需要的模块peerDependencies:指定当前模块所在的宿主环境所需要的模块及其版本其中,大家应该都知道:通过命令npm...

1594浏览
0推荐
0评论

聊一个自己写的MVC框架

 也有个一周没有更新博客了,其实我没有偷懒,因为之前一直在看Spring源码,所以想着去写一个类Spring的框架,也没有给自己定什么高的要求,简单实现MVC、AOP、IOC等功能就行。现在这个框架基本上已经成型了,自己也测试过了,因此拿出来和大家分享一下。...

1504浏览
0推荐
0评论

序列化与反序列化

序列化的意义  在考虑系统性能的时候,会考虑序列化。远程通信的时候,就要考虑序列化。序列化和反序列化是每天都会碰到的问题。就我而言,序列化这个概念基本上一直在听到,但是很少有了解。Java对象的传输、分布式架构、大数据量的工程。  Java 平台允许我们在内存中创建可复用的Java 对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,所以这些对象的生命周期不会比JVM 的生命周期更长。但在现实应用中,就可能要求在JVM停止运行之后能够保存(持久化)指定的对象,并在将来重新读取被保存的对象。Java 对象序列化就能够帮助我们实现该功能。...

2371浏览
1推荐
0评论

Zookeeper的前世今生

到底发生了什么?  在电商架构中,早期是单体架构,可以很快的解决交互问题和产品初期的迭代。但是随着架构的发展,后端无法支撑大流量。一开始的解决办法是增加服务器等垂直解决方法,但是这样的效率太低并且成本太高。因此开发者开始考虑水平伸缩来提高整体的性能。...

2597浏览
0推荐
0评论

基于任务的异步编程模式(TAP)的错误处理

前面讲到了《基于任务的异步编程模式(TAP)》,但是如果调用异步方法,没有等待,那么调用异步方法的线程中使用传统的try/catch块是不能捕获到异步方法中的异常。因为在异步方法执行出现异常之前,已经执行完毕。1、没有等待的调用异步方法ThrowAfter方法是在一定延迟后抛出一个异常:private async Task ThrowAfter(int ms,string message) {    await Task.Delay(ms);...

1407浏览
0推荐
0评论

基于任务的异步编程模式(TAP)

异步编程是C#5.0的一个重要改进,提供两个关键字:async和await。使用异步编程,方法的调用是在后台运行(通常在线程或任务的帮助下),但不会阻塞调用线程。异步模式分为3种:异步模式、基于事件的异步模式和基于任务的异步模式(TAP)。TAP是利用关键字async和await实现的,本文将讲解TAP模式。async和await关键字只是编译器的功能。编译器最终会用Task类创建代码。1、创建任务建立一个同步方法Greeting,该方法在等待一段时间后,返回一个字符串。 private string Greeting(int delay, string name)...

1866浏览
0推荐
0评论

进程内部的同步

  在线程里,如果需要共享数据,那么一定需要使用同步技术,确保一次只有一个线程访问和改变共享数据的状态。在.net中,lock语句、Interlocked类和Monitor类可用于进程内部的同步。1、lock语句与线程安全  lock语句是设置锁定和解除锁定的一种简单方式。在使用lock语句之前,先进入另一个争用条件。例如:public class SharedState {    public int State { get; set; } }public class Job {...

897浏览
0推荐
0评论

WebApi Ajax 跨域请求解决方法(CORS实现)

ASP.NET Web API 的好用使用过的都知道,没有复杂的配置文件,一个简单的ApiController加上需要的Action就能工作。但是在使用API的时候总会遇到跨域请求的问题,特别各种APP万花齐放的今天,API的跨域请求是不能避免的。在默认情况下,为了防止CSRF跨站的伪造攻击(或者是 javascript的同源策略(Same-Origin Policy)),一个网页从另外一个域获取数据时就会收到限制。有一些方法可以突破这个限制,那就是大家熟知的JSONP, 当然这只是众多解决方法中一种,由于JSONP只支持GET的请求,如今的复杂业务中已经不能满足需求。而CORS(Cross Origin Resource...

1978浏览
0推荐
0评论

程序员常访问的国外技术交流网站

技术人员经常会在各种技术交流社区游逛,大家互相学习、交流、分享、帮助。互联网拉近了地球人的距离,让全世界的技术人员可以聚集在一起分享交流。当然因为多方面原因,通常最新最权威的技术知识传到国内存在一定“时差”。本文将给大家分享技术人员经常访问的国外技术交流社区网站。1.stackoverflowhttps://stackoverflow.com/众所周知,stackoverflow可以说是全球最为活跃的程序员技术问答交流社区。2.Google+https://plus.google.com/Google+是Google公司推出的社交网站,虽不是专为编程技术人员打造,但在这里你可以搜索并加入到很多技术社群,结交群内好友。3.DZo...

1541浏览
0推荐
0评论

思维体系---技术思维、业务数据思维、产品思维、复合思维

 工作已有四年有余,从最初的亚信 到现在的 阿里。。总结了下思维模式,以个人的视角,供各位干代码的小伙伴们参考,能够深入无论 技术还是业务还是产品的本质。发现其中的规律,更好地把握自己的方向及未来。那么总的来说,我分为四种思维模式:  一、技术思维...

1910浏览
0推荐
0评论
首页上一页1234下一页尾页
意见反馈 帮助中心 APP下载
官方微信