- 博客(25)
- 收藏
- 关注
原创 使用GitHub Actions跨仓库发布Packages
准备两个仓库,A仓库用作管理源代码的提交信息,B仓库用来管理构建后的目标代码的版本。向A仓库提交更改后借助GitHub Actions自动触发构建过程,并自动将构建好的代码提交到B仓库。向B仓库提交更改后同样依靠GitHub Actions的能力自动发布一个GitHub Package。在这其中借助于GitHub社区丰富的Actions插件,实现诸如跨仓库部署、更新Package版本号。使用到四个现成的Github Actions:0、检出仓库:actions/checkout1、设置Node.js
2020-11-25 13:35:44 1920 1
原创 发布与安装Github Packages
在GitHub创建一个新仓库作为测试GitHub Package使用,我创建的仓库地址:airglass/test-github-package。从GitHub Setting,按下图步骤创建“Personal access tokens”(简称PAT)。PAT可作为管理GitHub仓库或其它需要授权才能使用的API的密钥使用,发布GitHub Package对应“Write”操作,安装GitHub Package对应”Read“操作,此两种操作都需明确要设置“读/写”GitHub Package权限。
2020-11-25 13:30:25 2488
原创 Github Actions 学习指南
原文链接:Github Actions 学习指南基于持续继承和持续开发的软件开发的最佳实践,GitHub 推出 Actions 功能。监听围绕代码仓库管理的各种事件,比如 push 和 pull_request 事件,触发提前计划好的一系列步骤,即工作流。这些步骤用 YAML 文档记录。触发工作流包括了构建和测试。这些工作流可以在 GitHub 的服务器上执行,开发者也可以在自己的服务器响应从G...
2020-02-16 12:06:51 1867
原创 Airglass.js最佳实践:优化多边形标注体验
我用airglass.js初步完成了第一个最佳实践:创建和编辑多边形标注区域。做Demo的同时完善Airglass.js。我给渲染器类新增了击中检测实例方法,还增加了链式调用提升开发效率。同时新增多边形Polygon类,它是继矩形圆形后Airglass.js出现的第3个基本形状。接下来是对Demo无止境优化的漫漫长路。画笑脸从上面的演示可以看到,我做了优化的地方是:只显示正在编辑或选中状态的...
2019-09-13 12:43:23 612
原创 Airglass.js最佳实践:标注多边形区域
我打算用Airglass.js重新实现canvas版的LabelImg图像标注切割功能,作为Airglass.js的第一个最佳实践。实现图像的标注和切割,关键不是切割图像,而是如何标注多边形区域,获取标注点信息。为此我为Airglass新增了创建多边形的Polygon类。拖拽多边形和矩形或圆形不同的是,多边形的中心点坐标位置和多边形的边界是通过计算得来的。用户不断的为多边形增加新的控制点,因...
2019-09-12 18:05:39 799
原创 Airglass.js开发笔记:最佳实践的前奏
Airglass,从碰撞的火花中,孕育一个种子,选对语言像选了对的舞台;配置一套构建环境像DNA按预定规则构建出各种蛋白质;不断完善的类继承关系像千丝万缕错综复杂的神经网络,诞生前的痛;添加事件监听器,像婴儿睁开了眼,接收来自这个世界的善意祝福;订阅事件,像身体各器官各细胞沟通协作。他登上了台。继承关系我将Airglass中凡是支持事件的类统一都去继承Event类。Element表示一类抽象...
2019-09-12 18:02:37 596
原创 Airglass.js开发笔记:监听
Airglass要做的是FUI/HUD风格的UI基础组件库,自然少不了对UI交互功能的支持。我利用事件委托,将canvas监听到的事件派发给canvas中绘制的虚拟元素。我甚至让开发者能够订阅虚拟元素触发的各种定制化事件,例如创建和移除事件等。据此实现用户操作画布中虚拟UI的可能。继承性在起步走那一篇想法中,我在最后提到Airglass.js中类的定义以及如何梳理类之间继承关系这件事。对此,我...
2019-09-12 17:58:43 353
原创 图解Gulp使用指南
gulp适合处理小微型任务,比如操作文件系统,包括移动、删除、重命名等操作。除了可以使用gulp插件,开发者还可以自己创建插件。安装必要依赖确保系统中安装了最新版本的node和npm。使用npm命令全局安装gulp-cli,随后在本地项目中使用npm安装gulp。创建配置文件gulp的默认配置文件是gulpfile.js,gulpfile.js中导出一系列任务,这些任务其实...
2019-08-06 23:44:54 344
原创 Github账号授权登录开发博客留言功能
以前用过weibo的开放平台授权登录,自从换了要重新申请,心想何不趁次换GitHub授权方式开发博客网站的评论功能。基于以下原因,我最终选择GitHub授权方式:我使用GitHub的频率远高于使用微博,对娱乐八卦社会新闻不感兴趣; 自己博客网站里的内容编程一类居多,GitHub天生具有这一属性; 因为GitHub是开发者的聚集地,使用GitHub账号留言的用户,方便进一步互相学习。以前看...
2019-07-27 16:47:16 790
原创 Arduino打造LED流水灯
作者:陈帅华-探索技术艺术与国学之美原文链接:http://www.shuaihuajun.com/article/arduino-flow-led/灯红酒绿的城市,瓜果飘香的乡村,视觉与嗅觉灵敏者的贪婪享受,哪种更沉醉;让城市灯红酒绿的工人,让乡村瓜果飘香的农夫,哪个更伟大。优秀的工人是也从枯燥的钉子堆里爬出来的;出色的农夫是从泥土种子的坚硬外壳里钻出来的。从点亮一个LED...
2019-07-25 22:39:33 1882
原创 基于Webpack构建前端页面
原文作者:陈帅华-探索技术艺术与国学之美原文链接:http://www.shuaihuajun.com/article/webpack-build-spa/当前端项目做多了之后,每次开始一个新前端项目,我都会配置几乎和之前无差别的开发和前端代码构建环境,虽说温故而知新,可量变最终是要质变的。为了解决我这一痛点以及喜欢尝试新鲜事物的心态,但又不想直接套用那些对学习具有核心价值的前端知识没多大...
2019-07-23 22:28:49 252
原创 Arduino硬件开发入门点亮LED
原文链接:http://www.shuaihuajun.com/article/arduino-led/我现在手里有一套Ruff开发板套件和一套Arduino开发板套件。把Ruff开发套件中的所有传感器用了一个遍之后没玩够,于是开始把玩Arduino。没有对比就没有伤害真的是,虽然我真正接触Arduino时间不长,但就我自己的感觉来说,Arduino不论从程序角度还是从硬件角度上来讲都比Ruf...
2019-07-20 14:43:35 498
原创 Ruff物联网开发套件轻松入门
原文链接:http://www.shuaihuajun.com/article/ruff-beginner/记得2016年大学刚毕业那个夏天,入手的Arduino开发板,由于对一些电路概念不熟悉在加上对Arduino开发使用的编程语言比较陌生,所以对Arduino的学习暂时搁置了。2016年10月上旬,开始在中科院信工所工作,闲暇时间比较多,有大量时间研究学习,于是入手Ruff开发板。Ru...
2019-07-19 17:28:06 6803 1
原创 JavaScript中bind、call、apply的用法
改变JavaScript中执行函数的this指向,用到call、apply和bind三个函数继承自Function.prototype的方法,三者功能相近又各有不同。在JavaScript中使用typeof关键字检测数据类型存在其局限性,比如无法区分数组、对象和null:typeof [] // -> "object"typeof {} // -> "object"typ...
2019-07-18 12:56:49 182
原创 图解JavaScript对象属性四个特性
JavaScript中的对象属性除了有属性名和属性值,还包括其它有意义的特性,比如可写性、可枚举性和可配置性,还有setter和getter特性,这些特性对开发健壮的库非常有帮助。图解JavaScript对象属性四个特性我在上图中简单模拟了一处疑似重污染工厂的用水与排污系统模型,通过类比可视化帮助我理解JavaScript对象属性的4个特性:索取,代表工厂从大自然中索取洁净水源,水表记录了...
2019-07-12 21:13:39 238
原创 图解JavaScript对象原型与原型链
图解JavaScript对象原型与原型链使用颜色、形状可视化Javascript中抽象的原型链概念:橙黄色实心代表函数,函数是可执行的对象; 橘红色圈圈代表prototype属性,且总是存在于函数对象中; 蓝紫色带箭头线段代表原型链的走向; 蓝绿色实心代表普通对象圈圈+实心组合形式的含义:橘红色圈圈+黄色实心代表prototype属性为函数对象; 橘黄色圈圈+蓝绿色实心...
2019-07-11 18:49:31 241
原创 如何完成网站备案
大约5月中旬,阿里云通过邮件和站内信通知我——大致内容是关于shuaihua.cc域名需完善备案信息或是需要实名认证的事情。6月上旬我才注意到这件事。与此同时,我渐渐的开始不爽.cc这一顶级域名已很久,顺便注册了shuaihuajun.com这一新域名,记录这一过程便于日后查阅。修改备案信息将会重新走一遍备案流程,对于shuaihua.cc域名,需要修改的只是是备案信息中的联系方式;对于备案s...
2019-07-10 14:18:13 391 1
原创 Nodejs搭建前后端分离开发模式下的微信网页项目
原文链接:《Nodejs搭建前后端分离开发模式下的微信网页项目》- 陈帅华本文涉及对前后端分离及微信网页项目中的前端如何在本地环境中开发与调试的思考。主要问题1、如何配置微信公众平台开发环境2、如何配置微信网页项目开发环境3、如何解决前后端分离开发接口调用时的跨域问题4、如何解决微信服务器无法访问本地测试环境问题对于上面第一个关于如何配置微信公众号平台开发环境的介绍在帅华君之前的几...
2018-12-22 20:07:32 659
原创 Nodejs实现微信网页授权及正确配置JS-SDK接口
帅华君将在本文介绍基于Nodejs实现微信网页授权以及如何正确在前后端配置JS-SDK接口。微信网页授权准备工作根据微信公众号接口权限说明,只有认证服务号才有获取用户openid及用户基本信息的权限,因此,开发者需要在微信公众号后台开发者工具找到公众平台测试账号:拿到微信公众平台的测试账号后,进一步设置与网页授权相关的选项,在测试账号页面下方的体验接口权限列表中,找到网页服务-网...
2018-12-22 20:03:49 4196
原创 理解Javascript中的闭包概念也会如此沉重
原文链接:http://shuaihua.cc/article/javascript/closure-of-javascript.php转载请注明出处,谢谢合作。去年10月写了一篇Javascript原型链的文章,反响不错(看评论里有说有其他博主没有注明原文出处还替我打抱不平,哈哈,你们好可爱,也不能怪他们呀,忽然想起了去年野狗复制我的文章到他们的微信平台也没有注明出处
2017-02-12 03:54:39 410
原创 Javascript中的原型链、prototype、__proto__的关系
javascrip中内置的对象共12个,其中10个属于函数类型——String,Number,Boolean,Array,Function,Date,RegExp,Error,Object,Event,其中两个是对象类型——Math,JSON。函数类型拥有__proto__和prototype属性,对象类型只有__proto__属性,prototype和__proto__与原型链是什么关系?一图一文捋清楚。
2016-10-06 16:07:18 2852
原创 webpack其实没那么可怕——官方文档解读
翻译了webpack官方英文文档,整合互联网上对webpack介绍的教程,完整全面的认识使用webpack。
2016-10-04 00:01:07 19637 1
原创 理解Canvas中的transform、setTransform函数
阅读原文:http://shuaihua.cc/article/html5/canvas-transform.php 先用transform坐标系变换绘制一个立方体绘制结果源代码ctx.save(); ctx.translate(win_width/2-50, win_height/2-50); // 后 ctx.save(); ctx.transform(1, -0.05, 0, 1,
2016-10-03 23:56:30 4405
原创 HTML5的canvas画布常用绘图命令总结
原文链接:http://shuaihua.cc/blog/20150311.php阳光美美哒~啊,首先要在HTML中新增一个canvas标签,然后给他一个身份证号,噗~就是id啦~之后在JavaScript中获取canvas这个DOM对象并进行一系列属性操作//首先生命一个变量,我用来存放canvas画布的基本信息var canvas_info = {
2016-02-16 21:22:50 763
原创 理解D3js中的enter,exit方法
在我第一次使用D3js库写第一个图表的时候,就对他绑定数据的方法感到迷惑,当时怎么也不明白为什么要这样写来绑定数据。等到练习的次数多了,多的东西多了之后再回头看,原来一切都是那么理所应当,原来如此。这就像是我们一生中遇到的很多事情一样,第一次无法接受,经过时间的沉淀,慢慢懂了,就不再耿耿于怀,变得释然。
2016-01-19 22:33:39 1675
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人