首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Fish

    Netty中ctx.writeAndFlush与ctx.channel().writeAndFlush的区别

    最近在写netty相关代码,发现writeAndFlush这个方法既可以在ctx上调用,也可以在channel上调用,这两者有什么区别呢,于是就做了一个小实验。 extends ChannelInboundHandlerAdapter{ @Override public void channelRead(ChannelHandlerContext ctx 然后,连接建立之后,in接收到一个数1,选择ctx的writeAndFlush,那么这个数,就会直接从圆形的out出去,因为我们的结论说了,就是从当前的handler直接发出去这个消息。 如果使用ctx.channel().writeAndFlush()呢,就会让这个数从红色的2开始发送,经过红色1,再发出去。 让我们看一看另一种情况: ? ctx.channel().writeAndFlush()就会从pipline的尾部,也就是红色2开始,经过红色1发出去。

    4.6K90发布于 2018-01-09
  • 来自专栏全栈程序员必看

    search的意思(ctx700停产)

    我看官方示例和您之前的博客都是用ctx,请问 ctx 和 doc, params,params._source之间有什么区别吗? 3、 从应用层面解读:ctx、doc、_source 的区别? ": { "if": """ctx.href.url! _source.tags.contains(params.tag)) { ctx.op = 'delete' } else { ctx.op = 'none' }", "lang": "painless _source.foo == 'bar') {ctx._source.views++; ctx.

    83210编辑于 2022-07-25
  • 来自专栏自动化、性能测试

    Jmeter系列(65)- BeanShell 内置变量 ctx

    前提 BeanShell 有的内置变量,JSR223 也会有对应的变量,这里 JSR223 效率更高,所以以它为栗子 简单介绍 ctx 变量是JMeter JSR223功能最强大的内置变量之一 通过它可以轻松的访问当前线程的上下文 在 JMeter 内部,ctx 映射为 org.apache.jmeter.threads 的 JMeterContext 类 由于JMeterContext 不具有线程安全性,故仅适用于在单线程中使用 官方文档: https://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterContext.html ctx 常用方法 getVariables

    1.6K30发布于 2020-08-28
  • 来自专栏poslua

    也谈 ngx.ctx 继承问题

    () local ctx_ref = ref_in_table(memo, ngx.ctx) return ctx_ref end function _M.apply_ngx_ctx( return end do local ctx_ref = ngx.var.ctx_ref if not ctx_ref or ctx_ref ~= "" then end local ctx_ref = ngx.var.ctx_ref if not ctx_ref or ctx_ref == "" then return end ctx_ref = tonumber(ctx_ref) if not ctx_ref then return end local orig_ctx = registry.ngx_lua_ctx_tables [ctx_ref] if not orig_ctx then ngx.log(ngx.WARN, "could not apply ngx.ctx: no ctx found") return

    1.4K30发布于 2019-08-19
  • 来自专栏沈唁志

    Nginx 配置证书时报错:SSL_CTX_use_PrivateKey failed

    在配置 Nginx SSL 证书时,如果遇到以下错误:nginx: [emerg] SSL_CTX_use_PrivateKey failed (SSL: error:0B080074:x509 certificate

    2.1K10编辑于 2024-12-16
  • 来自专栏铭毅天下

    探究 | Elasticsearch Painless 脚本 ctx、doc、_source 的区别是什么?

    我看官方示例和您之前的博客都是用ctx,请问 ctx 和 doc, params,params._source之间有什么区别吗? 3、 从应用层面解读:ctx、doc、_source 的区别? ": { "if": """ctx.href.url! _source.tags.contains(params.tag)) { ctx.op = 'delete' } else { ctx.op = 'none' }", "lang": "painless _source.foo == 'bar') {ctx._source.views++; ctx.

    4.7K21编辑于 2021-12-09
  • 来自专栏前端人人

    React第三方组件2(状态管理之Refast的使用③扩展ctx)

    简单使用)---2018.01.29 2、React第三方组件2(状态管理之Refast的使用②异步修改state)---2018.01.30 3、React第三方组件2(状态管理之Refast的使用③扩展ctx Refast的使用⑤LogicRender使用)---2018.02.02 开发环境:Windows 8,node v8.9.1,npm 5.5.1,WebStorm 2017.2.2 我们今天讲下扩展ctx 为什么要扩展ctx? 比如说你异步请求会有个加载提示,或者说请求成功给个提示! 我们今天要做的就是请求成功后给个提示,失败也会给个提示!

    1.2K40发布于 2018-04-11
  • 来自专栏高端IT

    关于使用 koa路由与mysql模块, ctx.body获取不到值的问题

    , res) { if (err) throw err; }) } resolve(json) } }); }) } // 使用第一类封装 router.get( ‘/csdnurl’, async(ctx , next) => { var sql = “select * from csdnurl”; let results = await query(sql); ctx.body=results });

    1K10编辑于 2022-06-14
  • 来自专栏CQ品势

    HTML5+CSS3+JavaScript从入门到精通-05

    ctx.moveTo(300, 30); ctx.lineTo(300, 180); ctx.lineTo(500, 180); ctx.stroke ctx.beginPath();//开始新的路径 ctx.lineWidth = 6; ctx.strokeStyle = "red"; ctx.rect ctx.stroke(); ctx.beginPath(); //绘制同心圆弧 ctx.lineWidth = 5; ctx.strokeStyle = * 1.5, true); ctx.fill(); ctx.stroke(); ctx.beginPath(); ctx.fillStyle 1.5, false); ctx.fill(); ctx.stroke(); ctx.beginPath(); ctx.moveTo(400

    1.4K20编辑于 2021-12-03
  • 来自专栏前端之攻略

    canvas绘制闹钟-方法1 原

    ctx.lineCap = "round" //小时刻度 ctx.save(); ctx.strokeStyle = "#666" ctx.lineWidth = "#444" ctx.lineWidth = 8; ctx.beginPath(); ctx.moveTo(-20, 0); ctx.lineTo ctx.strokeStyle = "#444" ctx.lineWidth = 6; ctx.beginPath(); ctx.moveTo(-28, 0); ctx.lineTo(80, 0); ctx.stroke(); ctx.restore() //秒针 ctx.save ctx.fill(); ctx.restore(); //外面的圆环 ctx.beginPath(); ctx.lineWidth =

    1.2K10发布于 2019-04-04
  • 来自专栏vue+ArcGis

    canvas绘制时钟 光明 | 黑暗主题

    '; // 阴影颜色 ctx.save(); ctx.beginPath(); ctx.shadowOffsetX = OffsetX; // 阴影Y轴偏移 ctx.shadowOffsetY ctx.beginPath(); ctx.lineWidth = 20; ctx.shadowColor = shadowColor; ctx.shadowBlur = 30; / ctx.arc(x, y, r + 20/2 + 1, 0, 2*Math.PI); ctx.stroke(); // 取消阴影 ctx.shadowBlur = 0; ctx.restore - Math.PI / 2) ctx.beginPath(); ctx.moveTo(-10, 0); ctx.lineTo(180, 0); ctx.lineWidth = 8; ctx.lineWidth = 5; // 设置线宽 ctx.lineCap="round"; ctx.strokeStyle = 'blue'; ctx.stroke(); ctx.closePath

    90220编辑于 2021-12-09
  • 来自专栏计算机图形学 前端可视化 WebGL

    canvas可视化效果之内阴影效果

    = 20; ctx.shadowOffsetX = 0; ctx.shadowOffsetY = 0; ctx.shadowColor="red"; ctx.lineCap ctx.beginPath(); ctx.moveTo(300,300); ctx.lineTo(750,300); ctx.quadraticCurveTo ctx.moveTo(300,300); ctx.lineTo(750,300); ctx.quadraticCurveTo(800,300,800,350); ctx.lineTo "; ctx.shadowBlur =15; ctx.lineWidth = 20; ctx.shadowColor="blue"; ctx.fillStyle ctx.lineJoin = "round"; ctx.lineWidth = 10; ctx.strokeStyle = "blue"; ctx.beginPath(); ctx.moveTo

    1.3K40发布于 2020-12-31
  • 来自专栏学编程的GISer

    canvas详细教程! ( 近1万字吐血总结)

    ctx.lineTo(400, 200) ctx.lineTo(400, 300) ctx.lineTo(500, 300) ctx.stroke() // 绘制第二条: ctx.lineTo(500, 500) ctx.closePath() ctx.strokeStyle = 'skyblue' ctx.lineWidth = 20 ctx.stroke ctx.lineTo(500, 450) ctx.lineTo(200, 450) ctx.lineTo(200, 150) ctx.stroke() ctx.closePath ] * 360) ctx.fillStyle = '#cfa500' ctx.closePath() ctx.fill() ctx.beginPath() ctx.arc ctx.moveTo(200, 200) ctx.lineTo(500, 200) ctx.setLineDash([10]) ctx.stroke() ctx.beginPath

    5.3K23编辑于 2022-12-22
  • 来自专栏前端之攻略

    canvas绘制闹钟-方法2 原

    () ctx.beginPath(); ctx.translate(r,r); ctx.strokeStyle = "#257cc0"; ctx.lineWidth = 8*rem rad+mrad) ctx.lineWidth = 6*rem; ctx.lineCap ="round"; ctx.moveTo(0,10*rem); ctx.lineTo(0,-r/ 2) ctx.stroke(); ctx.restore(); } function drawMinute(minute){ ctx.save(); ctx.beginPath(); ctx.rotate(rad) ctx.moveTo(-2*rem,20*rem); ctx.lineTo(2*rem,20*rem); ctx.lineTo(1,-r+18*rem) ctx.lineTo(-1,-r+18*rem); ctx.fill() ctx.restore(); } function drawDot(){ ctx.beginPath

    79250发布于 2019-04-04
  • 来自专栏计算机图形学 前端可视化 WebGL

    canvas可视化效果之内阴影效果

    = 20; ctx.shadowOffsetX = 0; ctx.shadowOffsetY = 0; ctx.shadowColor="red"; ctx.lineCap ctx.beginPath(); ctx.moveTo(300,300); ctx.lineTo(750,300); ctx.quadraticCurveTo ctx.moveTo(300,300); ctx.lineTo(750,300); ctx.quadraticCurveTo(800,300,800,350); ctx.lineTo "; ctx.shadowBlur =15; ctx.lineWidth = 20; ctx.shadowColor="blue"; ctx.fillStyle ctx.lineJoin = "round"; ctx.lineWidth = 10; ctx.strokeStyle = "blue"; ctx.beginPath(); ctx.moveTo

    1.6K10发布于 2020-12-22
  • 来自专栏游戏杂谈

    基于Canvas的时钟

    (); ctx.save(); ctx.translate(200, 200); ctx.font = "bold 10px Arial"; ctx.textAlign , 0); ctx.fillText("6", 0, 88); ctx.fillText("9", -88, 0); ctx.stroke(); ctx.restore( (); ctx.beginPath(); ctx.translate(200, 200); ctx.strokeStyle = "blue"; ctx.moveTo(0, ctx.stroke(); ctx.restore(); //绘制秒针 长度为90 ctx.save(); ctx.translate(200 , 200); ctx.strokeStyle = "red"; ctx.beginPath(); ctx.moveTo(0, 0); ctx.lineTo(secondsWidth

    82720发布于 2019-02-25
  • 来自专栏函数式编程语言及工具

    SDP(4):ScalikeJDBC- JDBC-Engine:Updating

    ctx.batch && ctx.statements.size == 1) ctx.copy(preAction = action) else throw ctx.batch && ctx.statements.size == 1) ctx.copy(postAction = action) else throw ctx.statements.head) .tags(ctx.queryTags: _*) .batch(ctx.parameters: _*) , ctx.parameters, ctx.queryTags)(None) Try { NamedDB(ctx.dbName) localTx { ctx = JDBCContext('h2) try { ctx = ctx.setUpdateCommand(JDBCContext.RETURN_GENERATED_KEYVALUE,

    1.6K30发布于 2018-03-16
  • 来自专栏计算机图形学 前端可视化 WebGL

    利用canvas阴影功能与双线技巧绘制轨道交通大屏项目效果

    ctx.lineWidth = lineWidth; ctx.strokeStyle = color; ctx.lineCap = "round"; ctx.lineJoin = "round "; // 利用阴影 ctx.shadowColor = color; ctx.shadowOffsetX = 0; ctx.shadowOffsetY = 0; ctx.shadowBlur ctx.lineCap = "round"; ctx.lineJoin = "round"; // 利用阴影 ctx.shadowColor = color; ctx.shadowOffsetX = 0; ctx.shadowOffsetY = 0; ctx.shadowBlur = shadowBlur; ctx.stroke(); ctx.globalCompositeOperation round"; ctx.lineJoin = "round"; paintLine(ctx, points); ctx.lineWidth = innerWidth; ctx.shadowOffsetX

    1.1K20发布于 2020-12-31
  • 来自专栏呱牛笔记

    从KMIP编解码库libkmip的代码学到的编解码代码框架

    (ctx, result);     }          uint8 *curr_index = ctx->index;     ctx->index = length_index;           result = kmip_encode_length(ctx, curr_index - value_index);     CHECK_RESULT(ctx, result);     ctx-> uint8 *curr_index = ctx->index;     ctx->index = length_index;     result = kmip_encode_length(ctx,  ;         break;     };     CHECK_RESULT(ctx, result);          uint8 *curr_index = ctx->index;     ctx     CHECK_RESULT(ctx, result);          uint8 *length_index = ctx->index;     uint8 *value_index = ctx

    73430编辑于 2023-05-02
  • 来自专栏centosDai

    HTML5(五)——Canvas API

    2.1 绘制路径 ctx.beginPath - 开始绘制路径 ctx.moveTo( x,y ) - 设置路径起点 ctx.lineTo( x,y ) - 绘制一条线到(x,y)点 ctx.closePath ("mycanvas"); var ctx = canvas.getContext("2d") ctx.beginPath(); ctx.moveTo(0,0) ctx.lineTo(400,400) ("mycanvas"); var ctx = canvas.getContext("2d") ctx.beginPath(); ctx.moveTo(0,0) ctx.lineTo(400,400) ctx.lineTo(0,400) ctx.closePath() ctx.lineWidth = 5 ctx.strokeStyle = "red" ctx.stroke() ctx.fillStyle ctx.save(); ctx.shadowOffsetX = 10; ctx.shadowOffsetY = 10; ctx.shadowBlur = 5; ctx.shadowColor = "rgba

    76430发布于 2021-11-26
领券