SegmentFault 最新的文章 |
- 高效采集数据,伴随应用业务增长
- 用CSS来撸一只神经猫
- JetBrains 官宣:将成立“ PHP 基金会”!PHP 历时 26 年迎来新的转机
- Rust 审核团队“一夜之间”集体辞职!开源社区治理话题再被热议
Posted: 23 Nov 2021 10:44 PM PST 华为动态标签管理(Dynamic Tag Manager,以下简称"DTM"),是一个动态标签代码管理系统(Tag Manager System),我们可以通过Web页面动态更新跟踪代码,轻松完成特定事件跟踪,它还有助于将数据发送到第三方分析平台和广告归因平台,如HUAWEI Analytics、Google Analytics、Facebook Analytics和AppsFlyer等。 DTM如何驱动应用业务增长? 随着企业数字化转型的到来,数据分析、数据驱动业务增长成为企业工作中的重要一环,但所有的数据分析的基础都来自数据获取。 传统数据获取通常的做法是在web 网站或者app内不同的页面,根据不同产品以及需求在不同位置嵌入的相对应代码来收集数据,俗称埋点,这种编写代码的方式,往往需要会面临相同的问题:沟通成本高,周期长,工作效率低。 DTM可让您快速配置更新测量代码及相关代码片段,您可以基于Web界面轻松地进行分析、测量代码的配置,实现营销活动数据随需监控。 因此,如果要追踪用户在应用上点击、浏览或导航到其他页面等各种事件,我们可以通过DTM动态地进行配置。 例如,某药房应用集成了DTM,用户点击了"收藏药品"按钮,通过配置DTM,当用户点击"收藏药品"按钮后,页面会自动将药品名称、数量、价格等相应信息上报到所选择的分析平台,如果我们在web页面上设置相关条件(如:价格>10元),就可以获得条件内(价格超过10元)的药品的分析数据,从而更好地掌握应用数据,改善业务。集成DTM后,我们可以更轻松地完成特定事件追踪并将数据传送给第三方分析平台,驱动业务增长。 如何集成和配置DTM? 第1步:登录华为开发者联盟网站,点击"管理中心",进入AppGallery Connect页面,配置相关信息 第2步:将HMS Core SDK集成到您的Android Studio项目中 第3步:配置混淆脚本,避免混淆Analytics Kit和DTM而导致功能异常 第4步:登录AppGallery Connect网站,选择"我的项目 > 增长 > 动态标签管理",并启用它。 开通服务需要您首先点击"开启分析服务"按钮,开通分析服务后,再点击"开通服务"按钮来开通DTM服务。 第5步:输入详细信息并单击"确定"以创建 DTM 配置。 第 6 步:配置成功后,将创建配置代码 第 7 步:单击"版本"选项卡并创建"创建版本"。 第 8 步:在"变量"页面,点击右侧的"配置"/"新建"按钮。为事件和标签设置预设/自定义变量。 a) 预设变量:这些是预先定义的变量,可用于配置大部分标签和条件。目前,DTM 提供18 个预设变量。 b)自定义变量:您还可以根据您的项目创建标签和条件的自定义变量。目前有6种类型的自定义变量。 第 9 步:单击条件选项卡并创建条件。在"条件"页面,点击"新建"按钮。 第 10 步:在"代码"页面,点击"新建"按钮创建代码 步骤11:选择"项目设置>华为分析>应用调试",打开"应用调试",获取实时分析数据。 步骤12:要检查实时事件,请使用以下命令启用调试模式。 HUAWEI Analytics模板 开始调试命令:adb shell setprop debug.huawei.hms.analytics.app<package_name> 停用调试命令:adb shell setprop debug.huawei.hms.analytics.app .none. 数据成功上报后,分析服务平台的应用调试上会展示出实时数据,如下图: 点击"事件ID"后的"查看",可以展示出具体信息 技巧和窍门 请使用命令"app shell setprop debug.huawei.hms.analytics.app <package_name>"启用应用程序调试模式。调试模式打开后会保持启用状态,所有事件将实时上报。 结论 在本文中,我们学习了如何通过华为动态标签管理高效采集应用数据,驱动业务增长,我们还可以通过DTM优化广告投放效果、进行反欺诈分析等,以最大程度地提高营销人员的工作效率。 了解更多详情>> 访问华为开发者联盟官网 关注我们,第一时间了解 HMS Core 最新技术资讯~ |
Posted: 24 Nov 2021 10:39 PM PST 前言之前 CSS实现的效果图如下: 虽然不能说一模一样,但至少我觉得屁股的弧度已经有了那个精髓吧(还可以再优化优化) 代码实现头部头部就是一个不太完全圆的圆形,加上两个三角形耳朵,和面部组成。
头部通过宽高不同,加上48%的圆角,来打造一个非全圆的头
耳朵耳朵是个只有边框的三角形,一般我们实现三角形是通过一个0宽高的元素,只设置一条有颜色的边框,相邻的两条边框设为 transparent 的,这样实现出来的三角形是一个完全填充颜色的三角形。想要实现只有边框,可以在三角形上再叠加一个白色的小三角形,这样看起来就像是一个镂空的只有边框的三角形了。
脸部脸部的元素就是眼睛、眉毛、嘴巴,先实现元素,再写样式。
眼睛、眉毛都是很规则的形状,不用多讲。嘴巴可以分解成3条弧形组成,那么就来画个开口向上的弧形。
设置高度是宽度的一半时,就可以画出一条半圆弧,可以修改高度来改变弧形的大小,再去掉上边框,则实现了开口向上弧形。画出三条弧形进行相对定位拼成嘴巴形状。 身体身体只是一个普通的长方形,通过 z-index 来设置元素的层级
右手右手由上臂、下臂、4根手指组成
这里同个 臀部两片丰满的臀部肉,也一样是通过弧线来实现。
尾巴尾巴确实有点难搞,无法直接一条弧线就实现,它能上弯下弯的,最后用了5条弧线来实现。
腿最后的腿也是需要大腿粗,小腿细, 总结一开始看着这神经猫的图,觉得还是不太好用 CSS 画出来的,花了几个小时,也是搞出来了。不能说能完美实现,但还是相似度较高吧。不禁感叹,CSS 真是万能的! |
JetBrains 官宣:将成立“ PHP 基金会”!PHP 历时 26 年迎来新的转机 Posted: 24 Nov 2021 08:29 PM PST 近日,PhpStorm 开发商 JetBrains 在官方博客发文宣布,将与 Automattic、Laravel、Laravel、Acquia 等多家公司共同成立 PHP 基金会。 这也是 PHP 语言发布 26 年以来,终于在 2021 年迎来的崭新发展。 PHP 基金会将作为一个非盈利性组织,通过资助对 PHP 语言有贡献的兼职/全职开发人员,以确保 PHP 语言的繁荣和可持续发展。 事件起因:核心贡献者 Nikita Popov 离开 PHP在这 26 年里,许多人都在积极开发 PHP 语言,如 Rasmus Lerdorf、Zeev Suraski、Andi Gutmans、Nikita Popov 等。 此次 PHP 基金会成立的主要原因,正是由于 PHP 语言的主要贡献者之一 Nikita Popov 的一项计划 —— 将注意力从 PHP 转向 LLVM。 早在 2011 年,Nikita Popov 就开始研究 PHP。当时他还在上高中,他在PHP5.5 中做出了第一个贡献,后来一直在 JetBrains 从事了近 3 年的 PHP 相关工作(后期共在 PHP 领域工作了 10 年),为 PHP7.4、PHP8.0 和 PHP8.1 这些主要版本做出了重要贡献,实现了无数特性、错误修复和对该语言开发过程的改进。 除了 PHP,Nikita 长期以来也一直是 Rust 和 LLVM 的贡献者。与 PHP 一样,当把一种爱好发展成为一份真正的工作时,Nikita 决定将他的专业活动聚焦在 LLVM 上。 据报道,Nikita 将于 12 月 1 日离开 JetBrains,今后他在 PHP 上花费的时间将大大减少。 对于 Nikita 的离开,JetBrains 在官方博客发文中也表达了对他的祝福: "Thank you, Nikita, for everything you've done for PHP! Your work is truly appreciated by millions of PHP developers." 在感到悲伤的同时,JetBrains 官方也表示感谢 Nikita 为 PHP 所做的一切,并希望 Nikita 今后越来越好。 PHP 社区所涉及的"bus factor巴士指数"问题众所周知,因为核心贡献者是许多知识和专业知识的承载者,因此失去主要贡献者对 PHP 编程语言社区来说,打击也是非常大的,也会给网络维护人员带来巨大负担,或会让 78% 的网络置于脆弱境地。 这就是我们常说的 "bus factor(巴士指数)"。 "bus factor(巴士指数)"这个概念,最早是美国硅谷对团队凝聚力能力提炼的一种民间定义,通俗的意思就是"你的团队里的某个成员被巴士撞到了,你的团队还能否照常运行,比方说你的团队里一个成员缺席导致工作无法进行,那么你的团队的巴士指数为 1,也就是比较依赖于某一个人的能力,也就是比较不健康的团队现状。" 今年 2021 年 5 月,受到 IT 工程师 Joe Watkins 发表的一篇《Avoiding Busses》博客文章启示之后,JetBrains 旗下的 PhpStorm 团队便开始讨论成立 PHP 基金会的想法。 通过对 Joe 和 PHP 社区的几个其他成员,包括 Sebastian Bergmann 和 Stefan Priebsch(PHPUngy,PHEP.CC)的采访,JetBrains 团队才意识到原来他们早在 2019 年就已经开始尝试类似的基金会了。 20 多年来,Perforce 的 Zend 一直致力于 PHP,并为 PHP 语言做出了重要贡献,包括 PHP5 对象模型、操作码缓存、PHP7 引擎和 JIT 编译器。通过继续资助 PHP 项目的全职和兼职开发人员,Zend 帮助确保了 PHP 语言的持续繁荣和现代化,并继续将其用于任务关键型应用程序开发。 此前,JetBrains 目前认为问题并不严重,也很从容地进行着。但此次 Nikita 的决定,则迫使 JetBrains 不得不尽快推进基金会相关事宜。 PHP基金会:确保 PHP 语言长寿、繁荣因此,JetBrains 立即着手与社区成员及在 PHP 中拥有既得利益的多家公司进行了多次对话,并宣布了将联手成立 PHP 基金会的公司名单:Automattic、Laravel、Acquia、Zend、Private Packagist、Symfony、Craft CMS、Tideways、PrestaShop、JetBrains。 PHP 基金会将是一个非营利性组织,其使命是确保 PHP 语言的长寿命和繁荣。 为了更快地开始并让基金会获利,JetBrains 官方决定通过开放的集体:OpenCopyVist.COM/PHPFAST 来完成。 据介绍,Open Collective 是一家基金会即服务提供商,负责处理法律和会计方面的事务。OpenCollective 受到包括 Vue.js、OpenWebDocs、webpack、Yii 等许多开源项目的信任。 根据目前所有参与公司的预计募资,JetBrains 团队计划每年将筹集约 30 万美元、每年捐款10万美元,来共同打造该项目。 JetBrains 团队表示,希望能够向 PHP 核心开发人员支付市场工资。因此 JetBrains 收集的信息越多,就有越多的开发人员能够全职使用 PHP。 关于 PHPPHP(外文名:PHP: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。 PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创的语法,可实现比 CGI或 Perl 更快速地执行动态网页。 PHP 最初是 1994 年 Rasmus Lerdorf 创建的,刚刚开始只是一个简单的用Perl语言编写的程序,用来维护个人网页、统计他自己网站的访问者。后来又用C语言重新编写,包括可以访问数据库。他将这些程序和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。 1995 年,Rasmus Lerdorf 以 Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf 写了一些介绍此程序的文档,并且发布了PHP1.0!在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越多的网站使用了 PHP,并且强烈要且增加一些特性,比如循环语句和数组变量等等。 1995 年 6 月 8 日,Rasmus Lerdorf 将 PHP/FI 公开发布,希望可以透过社群来加速程序开发与寻找错误。这个发布的版本命名为 PHP 2,已经有 PHP 的一些雏型,像是类似 Perl的变量命名方式、表单处理功能、以及嵌入到 HTML 中执行的能力。程序语法上也类似 Perl,有较多的限制,不过更简单、更有弹性。PHP/FI加入了对MySQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个网站使用 PHP/FI。 1997 年,Rasmus Lerdorf 任职于 Technion IIT公司的两个以色列程序设计师:Zeev Suraski 和 Andi Gutmans,重写了 PHP 的剖析器,成为 PHP 3 的基础。而 PHP 也在这个时候改称为PHP:Hypertext Preprocessor。经过几个月测试,开发团队在1997年11月发布了 PHP/FI 2。随后就开始 PHP 3 的开放测试,最后在1998年6月正式发布 PHP 3。 Zeev Suraski 和 Andi Gutmans 在 PHP 3 发布后开始改写PHP 的核心,这个在1999年发布的剖析器称为 Zend Engine,他们也在以色列的 Ramat Gan 成立了 Zend Technologies 来管理 PHP 的开发。 |
Rust 审核团队“一夜之间”集体辞职!开源社区治理话题再被热议 Posted: 23 Nov 2021 08:26 PM PST 11 月 22 日上午,Rust 编程语言的审核团队突然宣布集体辞职,且立即生效。他们通过 GitHub 上的 pull request 提出了该辞职声明(目前该页面已锁定)。 随后,该事件迅速引爆了海外程序员、开发者以及整个开源圈热议。 审核团队成员 Andrew Gallant 在辞职声明中写道,团队辞职原因是"in protest of the Core Team placing themselves unaccountable to anyone but themselves"(为了抗议核心团队将他置于除自己之外任何人都不负责的境地)。 据 Rust 相关页面信息显示,该审核团队主要负责"维护行为准则和社区标准",但根据辞呈中的内容来看,他们无法做到这一点,核心团队似乎超出了这些界限。 Gallant 在辞呈中表示,"由于这种结构上的不负责任,我们无法按照社区对我们的期望和我们自己坚持的标准来执行 Rust 行为准则"。随后,他就如何向前迈进向 Rust 社区提出了 4 项具体建议: 1、首先是责任。Gallant 写道,Rust 社区应该"就核心团队的监督程序达成共识",他表示,这一过程目前"只对自己负责"。 2、即将离任的团队建议"由 Rust 团队成员而非核心团队成员替换审核团队"。 3、未来的团队"在 Rust 团队成员的建议下,主动决定如何最好的处理和发现 Rust 团队成员间的不健康冲突",还建议进行"专业调解"。 4、最后,新团队应该"尽可能地特别注意保持团队的健康规模和多样性",这是 Gallant 他们自己没有做到的。 尽管提出了这些建议,但从"审核团队"页面上可以看出,目前 Rust 已经紧急任命了一个临时小组(如果不是永久替代者的话),Khionu Sybiern 和 Joshua Gould 已被列为该临时小组的新成员。其中,Gould 已经是 Rust 社区团队的成员。 目前,该页面已将前团队成员列为同窗,并附上了一个 message 感谢 "所有过去的成员作出了宝贵的贡献!" 该团队成员在其辞职信的结尾写道,"我们避免了在不负责任的情况下表达具体的不满",因为他们选择了"保持谨慎和保密"。但 Rust 社区及其替代者则"对核心团队(或其成员)的任何声明持极端怀疑态度"。 最后,该团队成员表示,他们愿意与 Rust 团队成员联系,寻求"建议或澄清"。而这封信和信的结尾,也让人不得不猜想社区应该会这样做。 由 Rust 团队辞职引发的"开源社区治理"话题对于此次 Rust 审核团队集体辞职事件,尽管 Twitter 上似乎看着没啥大事情发生的样子,但众多的 Rustacean (Rust 开发者的称谓)却非常好奇这究竟发生了什么。 Andrew Gallant 的最后一条推文似乎与 9 月初围绕 Rust、核心团队和亚马逊的一场混战有关,在这场混战中,Infoworld 上的一篇文章引发了一系列事件。 据 thenewstack 援引该报道称,这篇文章后来被编辑了注释:"文章前一个版本正确地指出,Rustacean 原则是模仿亚马逊原则的,但无意中可能暗示亚马逊对 Rust 的发展负有某种责任。亚马逊雇佣了几个 Rust 维护者和贡献者,但它只是众多有员工参与的公司之一。"当然,这两件事也可能完全无关。 在以上报道的更新内容显示,一位 r/Rust 版主详述帖子上发表的一条置顶评论后来被编辑,称情况并非如此:"为了回答这个问题是否与今年早些时候发生的事件有关,@Steve Klabnik 担心 Rust 基金会寻求执行董事和亚马逊对 Rust 基金会的影响,我们可以得出结论,这与这个事件无关:核心团队是独立于 Rust 基金会的部门。Rust 基金会自那时以来选择了一个执行董事,核心团队和稳健团队似乎没有任何关联亚马逊。" 对于以上观点,Rust library 团队负责人 Mara Bos 持相反观点。她认为 @Steve Klabnik 的观点"完全是胡说八道"。Andrew Gallant 最近的两条推特转载了 Mara Bos 的观点。 尽管对于该事件暂未有更多细节,但在 11 月 23 日上午,Rust 前审核团队成员 Matthieu M. 刚刚发布了一个单独的 ReDDIT 线程 /R/RISE ,在那里他向 Rust 基金会的新 CEO Rebecca Rumbul 以及核心团队的三个新成员 JT、Jan Erik Rediger 和 Ryan Levick 道歉。 Matthieu M. 写道:"我们与核心团队的关系几个月来一直在恶化,我们的辞职绝不应被视为对你提名的谴责。我祝你一切顺利。" 对于以上温和派团队辞职的进一步评论,Chef 联合创始人 Adam Jacob 在推特上表达了自己对该话题的看法,"尽管他没有关于这一情况的内幕信息,但其实 Rust 社区已经创造了。" 除了以上观点的交锋,推特上更多关于该事件引发的开源治理问题,也再次被业内重视并讨论了起来。 大受欢迎的编程语言 Rust:"理想与现实"早在 2016年,Stack Overflow 的开发者年度调查就将 Rust 评为"最受欢迎"的编程语言。随后的 2017年、2018年、2019年、2020 年和 2021 年,开发者再次投票表达了对 Rust 的喜爱。 其实早在打造 Rust 社区之初,就"Rustacean Principles"原则,以平衡有时相互竞争的发展优先事项,比如开发者总结的一些特点:
我们看到,Rust 编程语言从来没有像现在这样"光鲜亮丽",焕然一新。也正因为如此,业内也推测,到2022年左右,这种对 Rust 的执着将会继续持续下去。 Rust 编程语言项目的联合负责人 Niko Matsakis 、Rust 基金会主席 Shane Miller,以及 Rust 社区的其他关键成员们,也一直正在致力于确保 Rust 在未来几年甚至几十年内都会受到人们的喜爱。 尽管 Rustacean 原则被 Rust 视为座右铭,但当明媚理想遇到残酷现实的时候,理想就可能会被随意丢弃,但事实上恰恰是这些理想,成就了 Rust 的长期发展以及成为备受广大开发者喜爱的编程语言。 这一次事件,也再次让我们深刻意识到,在理想与现实之间,团队合作始终是最重要的,而太多的冲突对于技术团队而言,不仅仅是一种"内耗",更多是惋惜。 关于更多该事件的下一步走向,我们也会持续关注,如果您对该事件有任何看法,也欢迎在评论区留言互动。 |
You are subscribed to email updates from SegmentFault 最新的文章. To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google, 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States |
No comments:
Post a Comment