首页 文章 精选 留言 我的

精选列表

搜索[在线编辑器],共10000篇文章
优秀的个人博客,低调大师

H5 在线客服,1.1 版本更新,优化插件及连接问题

更新说明 优化消息发送与接收的id为32位uuid 修复kefu.init() 中socket建立连接的url问题 代码再次微调优化使用入门的简单程度 删除掉一些不成熟的插件,以免加载一些无用的css看上去有点乱。 增加 kefu.version 版本号标识 懒人极速体验代码 新建一个HTML文件,其内容如下,直接用浏览器打开即可看到效果。适用于懒人。 <!DOCTYPE html> <html lang="zh-cn"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>DEMO</title> </head> <body> <script src="https://res.weiunity.com/wm/wm.js"></script> <script src="https://res.weiunity.com/kefu/dev/h5Pc/h5Pc.js"></script> <button onclick="kefu.ui.chat.entry('365fef747a9e493fb631b621ee36eed1');">打开PC端客服聊天窗口</button> </body> </html>

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

#2020征文-TV# HarmonyOS应用开发项目实战--在线课堂TV(二)

目录: 首页动态效果图展示 组件介绍 动手开发--新建模块(Module) 动手开发--技术栈分析 动手开发--代码编写--添加tabs容器 动手开发--代码编写--修改焦点和tab的默认索引 本章小结 首页模块开发之一 首页动态效果图展示 效果图分解 知识点讲解: 布局说明: JS UI框架中智慧屏以720px(px指逻辑像素,非物理像素)为基准宽度,根据实际屏幕宽度进行缩放,例如当width设为100px时,在宽度为1440物理像素的屏幕上,实际显示的宽度为200物理像素。智能穿戴的基准宽度为454px,换算逻辑同理。 一个页面的基本元素包含标题区域、文本区域、图片区域等,每个基本元素内还可以包含多个子元素,开发者根据需求还可以添加按钮、开关、进度条等组件。在构建页面布局时,需要对每个基本元素思考以下几个问题: 该元素的尺寸和排列位置 是否有重叠的元素 是否需要设置对齐、内间距或者边界 是否包含子元素及其排列位置 是否需要容器组件及其类型 将页面中的元素分解之后再对每个基本元素按顺序实现,可以减少多层嵌套造成的视觉混乱和逻辑混乱,提高代码的可读性,方便对页面做后续的调整。 组件介绍: 组件(Component)是构建页面的核心,每个组件通过对数据和方法的简单封装,实现独立的可视、可交互功能单元。组件之间相互独立,随取随用,也可以在需求相同的地方重复使用。开发者还可以通过组件间合理的搭配定义满足业务需求的新组件,减少开发量,自定义组件的开发方法详见后面的自定义组件。 组件分类 根据组件的功能,可以将组件分为以下四大类: 动手开发--新建模块(Module): 注意:我这里省去了HelloWorld工程的创建,如果不会HelloWorld的请自行查看官网工具使用介绍。为了更好的循序渐进演示项目的迭代成型,我这里用一个Module为一个demo代码进行编写,下一个demo的Module会在前一个的基础上进行开发,直到最后项目成型。 如果您已经创建好了一个TV 版JS UI开发的HelloWorld工程,请参照下面的步骤创建一个Module 给自己模块取个名字,注意名字首个字符为字母,并且不要包含特殊字符,我这里取名为IcollegeTVDemo1,创新好之后的工程结构如下图 项目创建完成之后,推荐大家使用git进行托管起来哦! 动手开发--技术栈分析: 我们已经把布局做好了切割,并且对鸿蒙系统JS UI开发做了简单介绍,下面我们来选取合适的容器和组件进行开发。 首先整个页面时放置在一个根容器div里面,该div采用垂直方向至上而下布局,页面里面的顶部采用div容器水平居右排列,该div内部放置一个搜索框和一张用户图片。然后该div下面放置一个tabs容器,能够通过点击tab切换子页面,并且滑动子页面能够切换tab标签。 思考: 1、div容器如何使用?如何横向排列和纵向排列,如何设置居中、居左、居右,如何设置宽度和高度,如何设置留白空间。 2、tabs容器如何使用,如何添加tabs标签,如何添加子页面,如何让tab标签变化跟随子页面变化? 解决思路:查找鸿蒙官方API手册 div容器api介绍地址:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-container-div-0000000000611484 tabs容器api介绍地址:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-container-tabs-0000000000611572 作为一个开发者,最好的方式就是多阅读官方API,我也是通读了好几遍之后才开始着手这个项目开发的 动手开发--代码编写--添加顶部布局: 编写Module下的index.hml代码: <div class="container"> <div class="top"> <search class="search" focusable="false"></search> <image src="common/image/user.png" class="user" ></image> </div> </div> 重点讲解: 注意该文件后缀是hml,并不是html。它里面的组件是由鸿蒙底层使用c语言编写封装而成的,并不是html中的标签,所以一定不要想着把html里的标签在这里面写,比如<ul>和<li>标签,在hml里面就没有这个组件,具体能使用哪些组件请以鸿蒙官方api手册为准。 <div>是容器组件,一般用来承载组件。 <image>是图片组件,用来添加图片,src指定图片路径,这里指定的本地路径,需要先在common目录下创建image文件夹,并且放置相应图片。 <search>是搜索组件。 编写index.css代码: .container { flex-direction: column; padding-left: 10px; align-items:flex-start; } .top { flex-direction: row; height: 36px; justify-content:flex-end; align-items: center; } .user { height:32px; width: 32px; margin-right: 20px; } .search{ width: 200px; height:32px; padding: 5px; } 重点讲解: JS UI布局方式默认采用的是flex布局,这个布局与web开发中的css3里面的flex基本一致,只是有个别属性在鸿蒙中不存在,具体属性以鸿蒙官网手册为准。 flex-direction是主轴排列方向及内部组件排列方向,column是竖直方向排列,row是水平方向排列。详细了解请看另一篇flex布局详解以及官方api介绍。 align-items是定义子组件如何在交叉轴上对齐 justify-content:定义了子组件如何在主轴上对齐 此时我们来查看下运行效果 当写好代码之后,我们可以在模拟器中运行查看效果,根据效果再来修改代码,注意模拟器是没有像浏览器F12那种直接调试标签和css样式的功能的。 小技巧:如果想调整css细节,可以给组件加上不同颜色的border边框,来观察细节 查看更多章节>>> 作者:软通夏德旺 想了解更多内容,请访问: 51CTO和华为官方战略合作共建的鸿蒙技术社区https://harmonyos.51cto.com

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

在线等……

点击上方蓝字,关注并星标,和我一起学技术。 大家在使用git的过程当中有闯过祸吗? 我闯过,我闯的第一个祸就是使用git rebase造成的,虽然后来最终还是解决了,但是还是给我吓得不轻。当时的事情是这样的。 我们来看下这张图: 简单解释一下这张图当中的内容,C1节点是所有分支的最小公共祖先。可以理解成是最早的master版本,之后我们checkout出来了两个分支,分别是bugFix和feature。其中feature是我们新开发的分支,而bugFix是修复bug的分支。 当我们把bugFix了之后就赶紧merge master发布了,当我们发布了之后发现bugFix当中有一点小问题。比如说把不应该提交的文件提交了上来,再加上我们不是用rebase的形式合并的,所以看起来commit记录有一点点乱。于是我决定使用rebase修复一下提交记录,搞完了之后使用git push -f强行更新了远程分支。 因为我们之前已经push过了,想要用新的commit记录覆盖掉旧的就必须要使用-f强行推送。这些操作都是常规的操作,但是我无意之间犯了一个大问题,差点导致了后面的悲剧。 我先卖个关子,大家先用几秒钟时间想一下,这里藏着的问题是什么? rebase的禁忌 这里藏着的问题就是feature分支,我们从图中可以看到feature分支是merge了C5节点的。但是当我们rebase push -f了之后,C5节点其实就不存在了。我们把图画出来给大家看一下就明白了,这个是rebase之前的依赖树: 我们rebase之后依赖树变成了这样: 由于feature之前曾经merge过master并且依赖了C5节点,而master在rebase强行push之后整个链路当中已经没有C5节点了。也就是说feature分支依赖了一个已经不存在的节点,这个时候还不算太遭,因为feature分支还没有更新,如果feature分支pull一下,那么整个分支会变成这样: 也就是说同样的代码在feature分支当中保存了两个版本,并且如果feature合并进master之后,会发现之前push -f强行抛弃的那些提交又被合并了进来,并且整个commit的log会变得非常非常混乱,难以看懂。 如果这些分支都是自己的,那么自己捏了鼻子也就算了,如果这些分支是团队当中其他人的,那么捅个篓子基本上是避免不了的。如果组里有一个Git大佬知道这种情况该怎么解决还好,否则的话,想要完全复原非常困难,很有可能一通操作完全不知道偏差到哪里去了,也不知道如何找回来。 我当时还好,捅娄子的时候已经学过了这种情况应该怎么处理,虽然还是没能避免踩坑,但好在及时从坑里出来了。在我们来看脱坑的方法之前,先来思考一个问题,对于rebase造成混乱的根源究竟是什么,我们应该怎么避免? 解决rebase的只有rebase 为什么我们刚才在C8节点一旦pull就会导致本地的错乱呢?因为我们之前也介绍过,当我们执行pull的时候,其实是执行了git fetch和git merge两个步骤。所以相当于我们把master分支的改动又merge了一次,我们本地依赖了rebase之前的改动,这样一merge自然就把两个版本的改动merge在一起了。 要解决这个问题,我们就不能在C8节点的时候进行pull操作,因为pull操作包含merge,merge会导致错误。要解决这个问题其实也不难,我们可以rebase到master上。当我们执行rebase的时候,git会找出我们当前分支独有而master分支上没有的改动,将这些改动提取出来应用在master上得到一个新的结果。 这样我们的记录当中就不会把C2和C5带进来了。 发散思考 我们贯通思考一下上面的过程,会得到一个什么结论? 其实结论很简单,就是rebase虽然很好用也很方便,但是它也有适用的条件,其中最大的条件就是如果还有其他分支依赖了当前分支,我们这时候不可以使用rebase,否则一定会引起错乱。 那引起错乱的原因又是什么呢?本质上是我们rebase的时候修改了commit的记录,关于这一点不同的人有不同的观点。有一派人认为git的提交记录是不可以篡改的,它存在的意义就是记录repo当中所有发生过的改动。如果使用rebase等操作进行了篡改,那么我们就不能很好地追溯之前的改动和版本了。还有一派人不这么看,他们觉得如果记录的改动非常混乱非常不方便使用者阅读,这时候使用一些方法对它进行修整就是非常有必要的事情。工具发明出来就是为了使用的。 这两派争论不休,不同的人有不同的看法,可以说是一个价值观问题也不为过。在这个问题上我个人更加偏向后者, 既然有这么好用的工具,自然应该使用的。使用不是滥用,我们需要遵守一定的规范,这样才能保证不会捅出篓子来。比如一定不可以在下游还有其他依赖的情况下使用rebase,否则几乎可以肯定是一定会捅娄子的。 今天的文章就到这里,衷心祝愿大家每天都有所收获。如果还喜欢今天的内容的话,请来一个三连支持吧~(点赞、在看、转发) - END - 本文分享自微信公众号 - TechFlow(techflow2019)。如有侵权,请联系 support@oschina.cn 删除。本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

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

ShowDoc v2.8.0 发布, IT 团队的在线 API 文档、技术文档工具

本次更新: 1,推出调试接口的客户端(类似postman),支持windows和mac平台。开发者在调试接口的同时即可自动生成文档到showdoc,简单好用易上手。 详情请看:https://www.showdoc.cc/runapi 2,修复MAC客户端不能复制粘贴的问题。 3,修复页面编辑锁定的bug 更新步骤请参考请参考手册的升级安装部分:https://www.showdoc.cc/help?page_id=13732 关于Showdoc的详细介绍,请看:https://www.showdoc.cc/help

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

ShowDoc v2.7.1 发布,IT 团队的在线 API 文档、技术文档工具

更新内容: 1、推出Mac客户端,下载链接:https://www.showdoc.cc/clients 2、可以给成员只授权项目的某个目录,适合更精细化的权限控制。 3、当用户编辑页面的时候将自动锁定,防止其他人修改覆盖 4、当markdown的超链接指向本项目的时候,将在当前项目展开(之前是新窗口打开) 5、优化前端代码,拥抱eslint代码规范 更新步骤请参考请参考手册的升级安装部分:https://www.showdoc.cc/help?page_id=13732 关于Showdoc的详细介绍,请看:https://www.showdoc.cc/help

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

Zoom选择Oracle云基础设施支撑其核心在线会议服务

即将开播:4月29日,民生银行郭庆谈商业银行金融科技赋能的探索与实践 美国加利福尼亚州红木城,2020年4月28日 -甲骨文公司今天宣布,Zoom视频通讯有限公司(以下简称“Zoom”)选择了Oracle云基础设施(Oracle Cloud Infrastructure)来满足快速增长与变化中的业务需求,支持创新,为更广大用户提供视频会议服务。 “这段时间我们的业务经历了有史以来最关键的增长,这也考验着我们的服务能力。在探索了多个平台后,我们认为Oracle云基础设施在帮助我们快速扩容和满足新用户需求方面发挥了中流砥柱的作用。”Zoom首席执行官袁征表示,“我们选择Oracle云是因为它具有行业领先的安全性,出色的性能和无与伦比的客户支持。” 随着日用户峰值突破三亿,Zoom迫切需要云上扩容来应对飞速增长的用户需求。凭借在性能、弹性、可靠性和安全上的优势,Oracle云赢得了Zoom的青睐。在部署的几个小时之内,Oracle云基础设施就支撑起数十万用户同时参加Zoom会议。在实现全面运转后,现已支持数百万用户同时参会。Oracle第二代云基础设施将帮助Zoom继续为其客户提供至臻服务,适应快速演变的需求,并领跑视频通讯行业。 “视频通讯已成为我们工作和生活中不可或缺的一部分,Zoom引领了视频通讯的创新。”甲骨文公司首席执行官Safra Catz表示,“作为他们的云基础设施提供商,同时也是他们的客户,我们很荣幸能与Zoom合作,支持他们不断发展,连接世界各地的企业,民众和政府。” 由于甲骨文在网络架构,容量和数据中心分布上的优越性,它在服务Zoom这样创新和快速扩展中的平台方面独具优势。现在Zoom每天向Oracle云基础设施的服务器传输多达7 PB的数据,相当于每天上传93年长度的高清视频。Oracle第二代云基础设施,与甲骨文在数据安全上的领先优势,将为Zoom的企业级视频通讯保驾护航。 【责任编辑: 张燕妮TEL:(010)68476606】

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

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等操作系统。

用户登录
用户注册