深圳幻海软件技术有限公司 欢迎您!

  • 第三方应用如何调用我们 kubebuilder 生成的自定义资源?

    kubebuilder能否生成类似clie在去年写的系列文章[1]中,我们完整的实现了operator开发过程中涉及到的绝大部分要素,但是在实际的生产应用中我们定义的CR(CustomResource[2])就像k8s自带的deployment、pod等资源一样,会存在其他服务直接调用api-ser

  • 记录--前端性能监控初步实战

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助前言在当下前后端分离的主流环境下,前端部分的优化变得越来越重要。为了提升前端的性能和用户体验,我觉得可能需要从三个维度采集数据进行分析。前端埋点。通过埋点收集和统计网页的UV/PV、设备型号、浏览器等数据进行分析,比如可以有针对性对使用比较

  • 现代 CSS 高阶技巧,不规则边框解决方案

    本文是CSSHoudini之CSSPaintingAPI系列第四篇。现代CSS之高阶图片渐隐消失术现代CSS高阶技巧,像Canvas一样自由绘图构建样式!现代CSS高阶技巧,完美的波浪进度条效果!在上三篇中,我们详细介绍了CSSPaintingAPI是如何一步一步,实现自定义图案甚至实现动画效果的!

  • 现代 CSS 高阶技巧,完美的波浪进度条效果!

    本文是CSSHoudini之CSSPaintingAPI系列第三篇。现代CSS之高阶图片渐隐消失术现代CSS高阶技巧,像Canvas一样自由绘图构建样式!在上两篇中,我们详细介绍了CSSPaintingAPI是如何一步一步,实现自定义图案甚至实现动画效果的!在这一篇中,我们将继续探索,尝试使用CSS

  • 自适应且不可删除的水印蒙层

    1|0canvas自适应文字长度,旋转角度生成水印背景图设置canvas字体大小后,通过ctx.measureText(text).width获取两行文字的宽度text1,text2,取最大宽度为文本框宽度textWidth设置两行文字间距,可得文本框高度:textHeight=2*fontsize

  • 图形编辑器:标尺功能的实现

    大家好,我是前端西瓜哥。今天我们来实现图形编辑器的标尺功能。项目地址:https://github.com/F-star/suika线上体验:https://blog.fstars.wang/app/suika/标尺指的是画布上边和左边的两个有刻度的尺子,作用让用户知道他正在编辑的视口所在位置范围。

  • 图形编辑器:图形和辅助线绘制的坐标问题

    大家好,我是前端西瓜哥。今天看看绘制图形和辅助线时,坐标转换的一些注意点。项目地址,欢迎star:​​https://github.com/F-star/suika​​线上体验:​​https://blog.fstars.wang/app/suika/​​视口转场景:复制functionviewpo

  • 现代 CSS 高阶技巧,不规则边框解决方案

    本文是CSSHoudini之CSSPaintingAPI系列第四篇。现代CSS之高阶图片渐隐消失术[1]现代CSS高阶技巧,像Canvas一样自由绘图构建样式![2]现代CSS高阶技巧,完美的波浪进度条效果![3]在上三篇中,我们详细介绍了CSSPaintingAPI是如何一步一步,实现自定义图案甚

  • 原来 Canvas 也能直接绘制圆角矩形了

    很多时候,在使用Canvas绘制圆角矩形都是一件比较麻烦的事,因为之前并没有直接的方法,只能通过直线和圆弧间接组合而成,下面是一个常规绘制方式。复制ctx.beginPath();ctx.moveTo(x+r,y);ctx.arcTo(x+w,y,x+w,y+h,r);ctx.arcTo(x+w,y

  • 30分钟教你使用NodeJs开发自己的图床应用

    前言本文主要复盘笔者的nodeJS,通过一个线上的实战案例来总结node生态常用的技术点和最佳实践。后面会花费大概一个月的时间输出3篇以实战为主的nodeJs项目,本文是第一篇,主要介绍如何使用nodeJs开发一个图床应用。该项目对于测试和个人服务型网站非常实用,大家可以基于此扩展出更强大的应用。本

  • Go 语言 context 优秀实践

    ​1.介绍Go语言在v1.7引入 context 包,关于它的使用方式,我们在之前的文章中已经介绍过,感兴趣的读者朋友们可以翻阅。本文我们介绍 context 包的最佳实践,包括传值、超时和取消。2.传值我们可以使用 context​ 包的

  • SOLID:开闭原则Go代码实战

    一个软件实体,如类、模块和函数应该对扩展开放,对修改关闭。简单地说:就是当别人要修改软件功能的时候,使得他不能修改我们原有代码,只能新增代码实现软件功能修改的目的。作为程序员先上代码,比如我们想实现一个权限校验的功能。我们可能这样写:复制typePermissionCheckerstruct{}fu

  • JS结合Canvas画运动小球

    ​​想了解更多内容,请访问:​​​​51CTO和华为官方合作共建的鸿蒙技术社区​​​​https://ost.51cto.com​​前言canvas是HTML5新增的元素,也被称为画布,可以结合javascript实现绘制各种图形,制作各种炫酷的动画效果,现在我们也来使用canvas画随机运动小球。

  • 零基础理解 ESLint 核心原理

    概述本文将介绍ESLint的工作原理,内容涉及ESLint如何读取配置、加载配置,检验,修复的全流程。为什么需要ESLintESLint相信大家都不陌生,如今前端工作越来越复杂,一个项目往往是多人参与开发,虽然说每个人的代码风格都不一样,但是如果我们完全不做任何约束,允许开发人员任意发挥,随着项目规

  • 用Canvas让美女沉浸在音符的海洋里

    一、前期准备为了能够实现这个效果,要进行如下准备:一张梦寐以求的美女图片;能够简单使用canvas;准备一些音乐符号;准备编辑器,由于该内容很偏向于实战,边敲边看效果更佳。二、具体实现美女图片仅仅是作为背景使用,所以就不过多的讲述了,直接设置一下background属性即可,下面主要讲述一下音符动画

  • 聊聊使用 Libuv 实现的 Watchdog,你学会了吗?

    watchdog的概念大概是定时去做一些事情,具体的概念可以网上搜索,本文主要是介绍一下使用Libuv实现的watchdog,背景主要是因为Node.js是单线程的,一旦主线程繁忙或者陷入死循环,那么整个进程都无法工作了。虽然Node.js在JS层实现了子线程模块,但是因为子线程持有单独的V8Iso

  • 微服务难点剖析 | 服务拆的挺爽,问题是日志该怎么串联起来呢?

    本文转载自微信公众号「网管叨bi叨」,作者KevinYan11。转载本文请联系网管叨bi叨公众号。现在微服务架构盛行,很多以前的单体应用服务都被拆成了多个分布式的微服务,以解决应用系统发展壮大后的开发周期长、难以扩展、故障隔离等挑战。不过技术领域有个谚语叫--没有银弹,这句话的意思其实跟现实生活中任

  • Go 工程化之如何优雅的写出 Repo 层代码

    上篇文章中我们提到了事务的几种解决方案,可以避免在repo中写很多不同事务的方法,这篇我们看一下怎么让repo层的代码看起来优雅一点还是以获取一篇文章为例,我们在获取文章的时候大部分时候可能都是通过id获取的,但是我们也可能通过标题等其它信息获取文章的数据,这时候我们的repo层代码怎么写呢?最简单

  • Go工程化如何在整洁架构中使用事务?

    回顾先简单回顾一下《Go工程化(九)项目重构实践》如果还没看过之前这篇文章可以先看一下:在我们之前的项目目录分层中,我们主要分为了五个块:cmd/appname是我们服务的入口,只负责启动和依赖注入(使用Wire)domain或者model是我们的实体定义+接口定义server负责实现我们在prot

  • 用Canvas绘制快应用开发工具的logo12.14

    Canvas在Android原生开发和传统HTML5开发的舞台上都扮演着重要的角色,我们通过本文了解如何正确使用canvas画布,以及如何通过canvas绘制复杂的图形及动画。快应用官方文档提供了快应用logo(如下图)的绘制过程:本文我们来学习一下快应用开发工具的logo(如下图)的绘制过程:分析

推荐阅读