首页 文章 精选 留言 我的

精选列表

搜索[chrome扩展],共10000篇文章
优秀的个人博客,低调大师

GuiLite 3.3 发布:要灵活扩展,还要简单粗暴

本次更新,解决了:定制多样化问题,并优化了软件启动速度。 定制需求: 随着开发群的日益壮大,有想法的开发者层出不穷;倒是群主太过正常,显得跟大家有点格格不入了。大家需求是这样的: 我的硬件,没有framebuffer(这种情况在内存较小的单片机平台很常见),但我也想用GuiLite画出漂亮流畅的效果 我需要一个可以滚动的UI效果,界面上的所有元素(窗口)可以一起上下左右滑动(例如:手机通信录) 我需要一个半透明的窗口,其中窗口的背景是半透明的,文字则是不透明的 我的硬件有2D加速功能,需要GuiLite给与支持 软件方案: 以上任何一个要求都足以推倒原有框架,因为太过底层,一旦修改就是对基础关键部分的手术。如何用最少的代码简单粗暴的解决问题,不伤执行效率,又不伤结构,是对软件架构的一个重大考验。我们的方案如下: 对于有经验的开发者来说,这已经是旧闻了,不仅被解决了,而且已经广泛应用在单片机方案中了;为什么旧事重提,就是因为它与需求2、3、4有很大的相似性,有必要一起做个总结:从c_surface派生一个类c_surface_no_fb,主要的绘制(渲染)接口没有变,只是重新实现draw_pixel, fill_rect(重载虚函数),让其通过条用外部的画点驱动函数,进行具体画点工作,具体见display.cpp::c_surface_no_fb 从c_surface派生一个类c_surface_scroll,扩大surface的高度,宽度,使其能够绘制所有的窗口元素;混动显示的过程,就是设置x,y坐标偏移量的过程,具体见:HelloScroll/UICode/scroll.h 从c_surface派生一个类c_surface_transparent,主要的绘制(渲染)接口没有变,但实现绘制过程中,分析颜色的alpha值,从而达到透明效果(重载虚函数),具体见:HelloTransparent/UICode/surface_transparent.h 从c_surface派生一个类c_surface_2d_acc,重新实现一下draw_pixel,fill_rect接口,在该接口里面使能硬件2D加速功能 优化需求: Linux版本的实例,看到界面的时间较慢,需要优化 STM32版本,由于有调用malloc的地方,所以,在heap size不够的时候会死机,需要手动设置heap size;该操作有些麻烦,影响移植体验,建议优化 优化方案: 去掉一些不必要的同步操作,改为异步执行,保证界面第一时间呈现出来 对实例代码进行几行代码调整,用静态变量代替动态分配 开发者优秀作品展示: (硬件配置:ESP32 + ST7789 + SPI屏幕),由于GIF的原因,画面不能像真实视频那么流畅,更好的效果,可以参看qq群文件。 感谢GuiLite开发群“李子木”同学的分享!虽然这个作品中能看到GuiLite实例的影子,但视觉效果和艺术设计上面,已经完全是暴捶原作的水准了。特别是对SPI屏幕的DMA优化,让画面超出想象的流畅,绝对是SPI屏幕的优化典范。 最后,希望能看到更多优秀的作品,我们会尽力为大家提供一些技术建议,为您的超神之路贡献绵薄之力。

优秀的个人博客,低调大师

扩展Python控制台实现中文反馈信息

"中文编程"知乎专栏原文地址 参考了周蟒的实现, 运行效果如下: $ python3 解释器.py Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 05:52:31) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license" for more information. (ZhPyConsole) >>> 学 Traceback (most recent call last): File "<console>", line 1, in <module> 命名错误: 命名'学'未定义 >>> for i in range(1,4): ... 生 ... Traceback (most recent call last): File "<console>", line 2, in <module> 命名错误: 命名'生'未定义 完整源码在: 解释器.py 相关源码如下, 即改写InteractiveInterpreter.showtraceback方法. 仅为演示之用, 直接用了字符串替换.: def showtraceback(self): sys.last_type, sys.last_value, last_tb = ei = sys.exc_info() sys.last_traceback = last_tb try: 行 = traceback.format_exception(ei[0], ei[1], last_tb.tb_next) 汉化行 = [] if sys.excepthook is sys.__excepthook__: for 某行 in 行: for 英文 in self.字典: 某行 = 某行.replace(英文, self.字典[英文]) 汉化行.append(某行) self.write(''.join(汉化行)) else: # If someone has set sys.excepthook, we let that take precedence # over self.write sys.excepthook(ei[0], ei[1], last_tb) finally: last_tb = ei = None 定制sys.excepthook貌似更为合适, 还需研究如何实现. 参考资料 周蟒-zhpy 2019-02-10

优秀的个人博客,低调大师

微服务架构理论-扩展立方体篇

近几年的的微服务概念大火特火,随之框架也变得大火起来,尤其是spring boot,可能是因为spring cloud火起来的原因 搞得沉寂多年的dubbo也开始更新变得火起来。 说起微服务对于不了解整个系统架构历史的小伙伴可能有些迷惑,怎么就突然一下子就微服务了,有点摸不着头脑,到底咋回事那?听我娓娓道来! 很久很久以前的程序员都很牛逼一不开心就自己写个操作系统自己玩,玩着玩着最后就剩下了几个,比如我们熟知的windows,linux,苹果OS,这是我们使用最底层的 操作系统,在操作系统上面我们还要运行我们的应用软件,这个运行的应用软件就是我们今天重点讲解的,然而这个软件一般指企业级软件。 企业级软件最初只想把那些纸质的数据进行电子化,但是不断的发展,不断的发展,不过也就几十年的时间就出现了如下的架构(原谅我上面墨迹了那么多

优秀的个人博客,低调大师

IBM扩展在华云计算生态系统

IBM日前与中国领先的中立IDC服务提供商世纪互联共同宣布,为进一步推进中国云计算创新发展,基于IBM云平台Bluemix,双方将共同支持区块链、物联网及先进的云数据服务。 IBM区块链技术可通过Bluemix访问,该项技术基于Linux基金会的开源项目“超级账本”,能够为用户提供一套开放的基础架构,帮助用户迅速构建与测试新的区块链应用及行业应用。 在中国推出Bluemix上的Blockchain服务,呼应了IBM此前发布的区块链代码映像,将使中国公司能够在Docker环境中下载、安装并运行Hyperledger Fabric区块链网络。用户可以通过Bluemix在云端获得这些服务。该服务将更好地开启区块链在大型开发者社区中的潜力,有助于在中国推动更多的区块链技术和业务的创新,特别是在金融服务、供应链、物联网、风险管理、数字版权管理和医疗保健领域。 IBM物联网平台能够让开发人员将各种功能构建到他们的应用中,而这些应用能够接入各种新的物联网数据流。同时,IBM物联网平台还能够让开发人员梳理并分析这些信息,形成有价值的洞察,从而创建下一代物联网应用,提供智能化的、互连的设备以及量身打造的用户体验。这些先进技术将对中国那些期待将更多外部数据注入自身应用的行业有着巨大吸引力,例如汽车制造业、电子行业以及医疗设备行业等。 据悉,IBM Bluemix云平台现已迅速发展成为世界上最大的开放公有云之一。基于开放标准,Bluemix上拥有超过150套工具和服务。IBM Bluemix基于开放标准构建而成,这将有助于确保未来云应用在中国的演进中仍具备交互操作性,为中国科技经济提供坚实基础的同时,助力其在未来创新道路上腾飞。此外,除平台上现有包括OpenWhisk和Node.js在内的众多开放型工具和语言以外,IBM Bluemix也将支持接入Go语言。IBM还将为中国企业提供Swift,这将帮助全球最大规模的iOS开发者群体更快地设计与部署手机应用。 本文出处:畅享网 本文来自云栖社区合作伙伴畅享网,了解相关信息可以关注vsharing.com网站。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册