sparkle

翻译 | 《JavaScript Everywhere》第11章 用户界面和React(^_^)

家住魔仙堡 提交于 2021-02-11 21:17:31
翻译 | 《JavaScript Everywhere》第11章 用户界面和React(^_^) 写在最前面 大家好呀,我是毛小悠,是一位前端开发工程师。正在翻译一本英文技术书籍。 为了提高大家的阅读体验,对语句的结构和内容略有调整。如果发现本文中有存在瑕疵的地方,或者你有任何意见或者建议,可以在评论区留言,或者加我的微信:code_maomao,欢迎相互沟通交流学习。 (σ゚∀゚)σ..:*☆哎哟不错哦 第11章 用户界面和React 1979 年,著名的史蒂夫·乔布斯( Steve Jobs )访问了施乐帕克( Xerox Parc ),在那里他看到了施乐 Alto 个人计算机的演示。当时其他计算机是由键入命令控制的,而 Alto 则使用鼠标并具有可打开和关闭的窗口图形界面。乔布斯在最初的 Apple Macintosh 的创作中继续借鉴了这些想法。原始 Mac 的流行导致计算机 UI 的激增。今天,在通常的一天,我们可能会与许多图形用户界面进行交互,其中可能包括个人计算机以及智能手机,平板电脑, ATM ,游戏机等。用户界面现在围绕着我们,可以跨各种设备、内容类型、屏幕尺寸和交互格式使用。 例如,我最近去了另一个城市开会。那天早上,我醒来并在手机上查看了航班状态。我开车开车去机场,屏幕上显示了地图,让我可以选择正在听的音乐。途中,我停在 ATM 机上取回一些现金,输入 PIN

HMS Core推送服务,助力电商App开展精细化运营

核能气质少年 提交于 2020-11-08 04:45:48
在HMS Core. Sparkle电商创新沙龙上,华为推送服务面向电商购物场景,基于“全球化精准营销,加速用户转化”的主题,结合自身多样化的推送功能,提出了“精细化运营,全球化触达”的概念,吸引了众多开发者的目光。 华为推送服务自推出以来,以其稳定、高效、精准的消息发送能力,受到了广大开发者的青睐。截至2020年9月,华为推送服务覆盖200多个国家和地区,日消息发送量超过500亿! 本次借着HMS Core. Sparkle电商创新沙龙的契机,华为推送服务提出了有助于电商应用提高留存、提高收入、减少流失的精细化推送运营建议,主要有以下几个方面: 一、人群细分,精准触达你的目标客户 电商行业商品众多,面向的受众群体十分广泛,为每个商品找准对应的目标用户进行推送,是当前电商推送精细化运营的重点之一。当前华为推送服务支持“受众分群”功能,能基于用户属性和行为,筛选出特定的用户群体,进行差异化推送。如针对母婴类商品,使用“受众分群”功能,筛选出在特定年龄内浏览过母婴类商品的女性,为其推送相关的母婴类商品上新信息,推送符合用户需求的商品,更容易吸引用户点击,促进转化。 此外,还可以根据用户偏好,给用户推送其感兴趣的商品,让电商推送运营效果事半功倍。华为推送服务提供“主题订阅”功能,让你可以根据用户订阅的主题,推送相关信息。例如,利用华为推送服务的“主题订阅”功能,给订阅了“美容护肤

HMS Core电商解决方案发布 华为携手开发者共探电商增长之道

末鹿安然 提交于 2020-11-04 08:08:02
随着电商行业连接关系的重构、数字化加速及供应链完善等诸多变化,电商应用如何引入新的流量来源、保持平台的高速增长,如何挖掘跨境电商增长动力成为行业关注要点。在10月27日举行的主题为“新场景 新引擎 新体验”HMS Core. Sparkle电商创新沙龙上,华为HMS Core电商解决方案正式发布,为电商从业者提供了解题新思路。同时围绕HMS Core提供的华为软硬件能力和云端能力全面开放能力,华为携手权威数据机构和头部电商平台,为开发者带来了一场应用创新的盛宴,为电商应用提供持续创新的动力,升级消费者网购体验。 现在,电商行业的角逐主要集中在用户流量的引流和转化上,用户获取及激活、注册登录、商品选购及比价、商品下单购买等每一个环节,都存在着“弯道”。而随着5G、AI、虚拟现实技术的日趋成熟,推动着电商行业的持续更迭,消费者越来越寻求更新鲜、更智能的消费体验,这给开发者及电商平台面带来了更多的挑战。会上,华为电商领域的专家指出HMS Core电商解决方案将在精准营销、智能购物、视觉体验上全面赋能电商开发者,让用户体验更有趣的电商购物,让电商伙伴更加高效精准地获取用户流量。 基于HMS Core打造的创新电商方案覆盖到了整个电商业务流,在用户获取及激活阶段,HMS Core助力广告精准触达并推送给相应的用户群体;在用户注册登录阶段,能够保证用户快速且安全的注册登录;在商品选购/比价阶段

HMS Core电商解决方案发布 华为携手开发者共探电商增长之道

故事扮演 提交于 2020-10-29 20:20:29
随着电商行业连接关系的重构、数字化加速及供应链完善等诸多变化,电商应用如何引入新的流量来源、保持平台的高速增长,如何挖掘跨境电商增长动力成为行业关注要点。在10月27日举行的主题为“新场景 新引擎 新体验”HMS Core. Sparkle电商创新沙龙上,华为HMS Core电商解决方案正式发布,为电商从业者提供了解题新思路。同时围绕HMS Core提供的华为软硬件能力和云端能力全面开放能力,华为携手权威数据机构和头部电商平台,为开发者带来了一场应用创新的盛宴,为电商应用提供持续创新的动力,升级消费者网购体验。 现在,电商行业的角逐主要集中在用户流量的引流和转化上,用户获取及激活、注册登录、商品选购及比价、商品下单购买等每一个环节,都存在着“弯道”。而随着5G、AI、虚拟现实技术的日趋成熟,推动着电商行业的持续更迭,消费者越来越寻求更新鲜、更智能的消费体验,这给开发者及电商平台面带来了更多的挑战。会上,华为电商领域的专家指出HMS Core电商解决方案将在精准营销、智能购物、视觉体验上全面赋能电商开发者,让用户体验更有趣的电商购物,让电商伙伴更加高效精准地获取用户流量。 基于HMS Core打造的创新电商方案覆盖到了整个电商业务流,在用户获取及激活阶段,HMS Core助力广告精准触达并推送给相应的用户群体;在用户注册登录阶段,能够保证用户快速且安全的注册登录;在商品选购/比价阶段

UE4 Shader编译以及变种实现

有些话、适合烂在心里 提交于 2020-10-24 16:59:13
一、动机 这篇文章主要是我对UE4中Shader编译过程以及变种的理解,了解这一块还是挺有必要的,毕竟动辄几千上万个Shader的编译在UE里简直是家常便饭。了解它底层的实现机制后内心踏实一点,如果要去修改,大方向也不会错。 这部分工作是我之前就做好的,文章里涉及内部修改的地方都被我阉割掉了。所以这篇文章主要用于知识普及,分享给广大被UE4中的Shader编译折磨的码农们,凑活着看,看完其实应该就了解了。 二、UE4中Shader的组织和获取 在讲具体的Shader编译过程时,先讲UE4的渲染过程,渲染过程中是怎么拿Shader的,最后再讲这些Shader是怎么生成的。 虚幻引擎中讲到线程主要有三个:游戏线程、渲染线程和RHI线程。 其中我们平时关心的比较多的就是游戏线程和渲染线程了,至于RHI线程偏向于底层硬件接口,是甚少关心的,一般情况下也很少有需要改动到RHI线程的东西。 1. 渲染线程 虚幻引擎在FEngineLoop::PreInit中对渲染线程进行初始化。 具体的位置是在StartRenderingThread函数里面,此时虚幻引擎主窗口是尚未被绘制出来的,渲染线程的启动位于StartRenderingThread函数里面,这个函数大概做了以下几件事: 1)通过FRunnableThread::Create函数创建渲染线程 2

UE4 Shader编译以及变种实现

流过昼夜 提交于 2020-08-08 11:07:57
一、动机 这篇文章主要是我对UE4中Shader编译过程以及变种的理解,了解这一块还是挺有必要的,毕竟动辄几千上万个Shader的编译在UE里简直是家常便饭。了解它底层的实现机制后内心踏实一点,如果要去修改,大方向也不会错。 这部分工作是我之前就做好的,文章里涉及内部修改的地方都被我阉割掉了。所以这篇文章主要用于知识普及,分享给广大被UE4中的Shader编译折磨的码农们,凑活着看,看完其实应该就了解了。 二、UE4中Shader的组织和获取 在讲具体的Shader编译过程时,先讲UE4的渲染过程,渲染过程中是怎么拿Shader的,最后再讲这些Shader是怎么生成的。 虚幻引擎中讲到线程主要有三个:游戏线程、渲染线程和RHI线程。 其中我们平时关心的比较多的就是游戏线程和渲染线程了,至于RHI线程偏向于底层硬件接口,是甚少关心的,一般情况下也很少有需要改动到RHI线程的东西。 1. 渲染线程 虚幻引擎在FEngineLoop::PreInit中对渲染线程进行初始化。 具体的位置是在StartRenderingThread函数里面,此时虚幻引擎主窗口是尚未被绘制出来的,渲染线程的启动位于StartRenderingThread函数里面,这个函数大概做了以下几件事: 1)通过FRunnableThread::Create函数创建渲染线程 2

Rust入坑指南:居安思危

£可爱£侵袭症+ 提交于 2020-04-06 09:29:18
Rust入坑指南:居安思危 任何事情都是相对的,就像Rust给我们的印象一直是安全、快速,但实际上,完全的安全是不可能实现的。因此,Rust中也是会有不安全的代码的。 严格来讲,Rust语言可以分为Safe Rust和Unsafe Rust。Unsafe Rust是Safe Rust的超集。在Unsafe Rust中并不会禁用任何的安全检查,Unsafe Rust出现的原因是为了让开发者可以做一些更加底层的操作。这些事情本身也是不安全的,如果仍然要进行Rust的安全检查,那么就无法进行这些操作。 在进行下面这5种操作时,Unsafe Rust不会进行安全检查。 解引用原生指针 调用unsafe的函数或方法 访问或修改可变的静态变量 实现unsafe的trait 读写联合体中的字段 基础语法 Unsafe Rust的关键字是unsafe,它可以用来修饰函数、方法和trait,也可以用来标记代码块。 标准库中也有不少函数是unsafe的。例如String中的from_utf8_unchecked()函数。它的定义如下: pub unsafe fn from_utf8_unchecked(bytes: Vec) -> String { String { vec: bytes } } 这个函数被标记为unsafe的原因是函数并没有检查传入参数是否是合法的UTF-8序列。也就是提醒使用者注意

No “up to date” message when running the latest version?

风格不统一 提交于 2019-12-22 05:34:16
问题 I'm trying to use Sparkle with Qt (binding for Go) app. sparkle.m: #import <Headers/SUUpdater.h> static SUUpdater* updater = nil; void sparkle_checkUpdates() { if (!updater) { updater = [[SUUpdater sharedUpdater] retain]; } [updater setUpdateCheckInterval:3600]; [updater checkForUpdatesInBackground]; } sparke.go: // +build darwin windows package main /* #cgo CFLAGS: -I ${SRCDIR}/Sparkle.framework #cgo LDFLAGS: -F ${SRCDIR} -framework Sparkle void sparkle_checkUpdates(); */ import "C" func

OS X app update issue with Sparkle under Mavericks and XCode 5

风格不统一 提交于 2019-12-21 17:32:40
问题 I use the Sparkle framework to handle my app updates. Everything worked fine until recently, when I upgraded to OS X 10.9 Mavericks and XCode 5.0.2. When I compile my app under OS X 10.8.4 and XCode 4.6.3, it can then be updated with no issue. But when I compile the exact same code, with the same XCode project and the same code signing under Mavericks and XCode 5.0.2, the generated bundle can't be updated, Sparkle crashing during the update process with the following error : Terminating app

Does my Sparkle appcast need a sparkle:dsaSignature field in order to be valid?

流过昼夜 提交于 2019-12-13 21:09:18
问题 I have been troubleshooting an 'Update Error!' for a few days now with Sparkle and have made little progress. I modeled my appcast after a working sample as closely as I could but I couldn't get it to work. Finally, I just decided to use the sample appcast in my app to test: http://sparkle-project.org/files/sparkletestcast.xml When I put that as my SUFeedURL, voila, it works. So I copied and pasted the contents of that XML to the file on my server and it doesn't work. Looking over the diff