#F

thrift 一个有意思的特性:Class名称无关性

最近开发的一个项目,后端采用thrift框架来提供rpc服务(java语言实现),然后前端采用php语言来生成thriftclient调用后台RPC服务。由于某些原因,上周我把thrift定义文件中一个struct名称修改了,当然也没多想,顺手就把java服务端重新编译部署,而php前端的部署未做任何变化,按常规理解,...

thrift中的超时(timeout)坑

最近在项目中采用thrift作为后台服务rpc框架,总体用下来性能还不错,跨语言特性使用起来也还行,但是也遇到了一些坑,其中之一就是超时问题(timeout),如果服务端些的某些业务场景耗时较长,thriftclient几乎毫无意外的会遇到:Readtimedout,当然解决办法也很容易,thriftclient端手动...
代码星球 ·2020-04-06

mysql : utf8mb4 的问题

微信呢称和QQ呢称上有很多火星文和emoji表情图片,这些数据,如果直接insert到mysql数据库,一般会报错,设置成utf8都不好使,必须改成utf8mb4编码,这二者的区别见:mysqlutf8mb4与emoji表情 ,网上的解决办法大多是修改my.cnf参数,设置mysql的编码为utf8mb4,这...
代码星球 ·2020-04-06

java并发编程学习:如何等待多个线程执行完成后再继续后续处理(synchronized、join、FutureTask、CyclicBarrier)

多线程应用中,经常会遇到这种场景:后面的处理,依赖前面的N个线程的处理结果,必须等前面的线程执行完毕后,后面的代码才允许执行。在我不知道CyclicBarrier之前,最容易想到的就是放置一个公用的static变量,假如有10个线程,每个线程处理完上去累加下结果,然后后面用一个死循环(或类似线程阻塞的方法),去数这个结...

rpc框架之 thrift连接池实现

接前一篇rpc框架之HA/负载均衡构架设计继续,写了一个简单的thrift连接池:先做点准备工作:packageyjmyzz;publicclassServerInfo{publicStringgetHost(){returnhost;}publicvoidsetHost(Stringhost){this.host=h...

rpc框架: thrift/avro/protobuf 之maven插件生成java类

thrift、avro、probobuf这几个rpc框架的基本思想都差不多,先定义IDL文件,然后由各自的编译器(或maven插件)生成目标语言的源代码,但是,根据idl生成源代码这件事,如果每次都要手动敲命令,未免太无聊了,幸好这三种框架都提供了对应的maven插件来完成代码的自动生成,本文演示了这三种框架的mave...

rpc框架之 thrift 学习 2

thrift的基本构架:上图源自:http://jnb.ociweb.com/jnb/jnbJun2009.html底层UnderlyingI/O以上的部分,都是由thrift编译器生成的代码,其中:YourCode这是根据thrift文件中定义的dto及service接口方法FooService.Client及Foo...
代码星球 ·2020-04-06

rpc框架之 thrift 学习 1

thrift是一个facebook开源的高效RPC框架,其主要特点是跨语言及二进制高效传输(当然,除了二进制,也支持json等常用序列化机制),官网地址:http://thrift.apache.org跨语言通常有二种做法,一是将其它语言转换成某种主流的通用语言,比如:delphi.net以前就是先将delphi转换成...
代码星球 ·2020-04-06

BFC的个人理解

BFC是Block Formatting Context (块级格式化上下文)的缩写,是一个独立的渲染区域,这个东西的存在是为了隔绝一些内部子元素对外部元素的影响。例如:我们用overflow:hidden来清除浮动,就是父元素生成了BFC,从而隔绝了内部子元素浮动对外部其他元算的影响,从...
代码星球 ·2020-04-06

浮动和margin-left负值的有趣现象

我将第二个浮动的元素的margin-left的值不断减小:被设置元素左移,后面的元素跟着动当被设置元素的右边界超过了前面元素的左边界,后面边的元素被前面的元素挡在外面了...

transform顺序浅谈

有用过transform的小伙伴们可能都会遇到一些问题,发现transform得到的结果往往不是我们所想的例如scale(2,1)rotate(30deg),我们预想的结果是一个先放大的元素,然后旋转30度,结果应该是一个没有变形的元素,但是显示很残酷:理想:----------------变成------------...
代码星球 ·2020-04-06

js动画最佳实现——requestAnimationFrame

我们经常用setInterval来实现动画,其实这种做法不是太好,因为不同浏览器的刷新频率也不一样(一般认为设置16为最佳,按每秒60帧算,1000/60≈16.67)vardis=0,timer=0;clearInterval(timer);timer=setInterval(function(){div...

BFC、IFC、FFC、GFC

FC(FormattingContext)它是W3CCSS2.1规范中的一个概念,定义的是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。 BFC(blockformattingcontext)直译为“块级格式化上下文”W3C原文:...
代码星球 ·2020-04-06

csrf攻击

csrf是跨站点伪造请求,主要利用发请求,浏览器每次都会自动带上cookie这个特点。下面我们看看例子:例子一:如果博客园有一个关注博主的api是get请求的话,那这里我新建一个恶意页面:<!DOCTYPEhtml><html><head><metacharset="utf-8...
代码星球 ·2020-04-06

<frame>、<iframe>、<embed>、<object> 和 <applet>

frameframe必须在frameset里,而frameset又不能和body共存(就是一旦存在frame,就不能存在body了,因此这个基本每人使用)推荐阅读:https://www.w3school.com.cn/tags/tag_frame.asp<html><framesetcols="25...
代码星球 ·2020-04-06
首页上一页...13421343134413451346...下一页尾页