首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

设计师都能懂的 Redux 指南

为什么它要这样设计?何时使用它?以及它与设计有哪些关联? 的目标是帮助像你们这样的设计师。即使您以前没有写过一行代码,认为理解 Redux仍然是可能的、有益的和有趣的。...认为我们应该拥抱它。汽车设计师应该了解引擎的用途,对吗?为了成功地设计应用程序界面,设计师还应该对底层的东西有扎实的了解。...接下来,我们需要实际显示数据。我们需要将这些数据分配给对应的 UI 元素,这些 UI 元素表示我们在浏览器中实际看到的内容。...当请求失败是,应用只需回滚至前一个 UI 状态即可,并使用服务器响应的实际结果,例如显示错误信息。 如同撤消/重做一样,Redux 支持 Optimistic UI。...持久化和从状态启动 Redux 可以很容易地将应用程序中发生的事情保存到本地存储中。之后,即使电脑重启,应用程序可以加载所有数据,并从完全相同的位置继续运行,就像从未中断过一样。

1.6K10

反射跨站脚本(XSS)示例

有效负载未被应用程序编码/过滤,响应的内容类型显示为HTML: 获得的经验 - 模糊和手动测试 事实上,你看不到一个参数,这并不意味着该组件不需要一个或两个工作。...正如你所看到的斜线是分开的,但有效载荷工作显示一个弹出。(混淆了的网站的IP地址)。...Javascript是非常敏感的,如果你的脚本有错误,它不会运行!...XSS 4 - URL内的有效载荷(过滤器旁路) 以下示例显示了输入验证机制仅检查请求的参数是否包含用于构建XSS有效内容的字符的情况。几乎完美。...此外,这个错误被发现一个大型的私人bug赏金计划。 从图片你可以看到我们的XSS过滤器不喜欢脚本标记,但是我们插入尖括号,而编码它们。 以下屏幕截图显示,如果您插入随机标签,则会将其删除。

2.8K70
您找到你想要的搜索结果了吗?
是的
没有找到

从设计的角度看 Redux

为什么它要这样设计?何时使用它?以及它与设计有哪些关联? 的目标是帮助像你们这样的设计师。即使您以前没有写过一行代码,认为理解 Redux仍然是可能的、有益的和有趣的。...认为我们应该拥抱它。汽车设计师应该了解引擎的用途,对吗?为了成功地设计应用程序界面,设计师还应该对底层的东西有扎实的了解。...接下来,我们需要实际显示数据。我们需要将这些数据分配给对应的 UI 元素,这些 UI 元素表示我们在浏览器中实际看到的内容。...有时候 React 中的内置功能运行得足够好。但随着应用程序变得越来越复杂,仅凭React 可能会更难管理它的状态。这就是为什么许多人开始使用Redux作为替代。...持久化和从状态启动 Redux 可以很容易地将应用程序中发生的事情保存到本地存储中。之后,即使电脑重启,应用程序可以加载所有数据,并从完全相同的位置继续运行,就像从未中断过一样。 ?

1.7K30

开发高质量的软件要付出什么样的代价?

通常来说,交付功能的压力占据了主导地位,许多开发人员因此抱怨他们没有时间在架构和代码质量方面进行研究与处理。 贝特里奇头条定律是一句俗语:“任何以问号结尾的头条,都能够用‘’来回答。”...让我们想象一下,Rebecca 和我各自编写了一个应用程序,用来跟踪和预测航班延误。我们的两个应用程序都有相同的基本功能,都有同样优雅的用户界面,并且几乎没有任何缺陷。...既然客户从来没见过这个应用程序的源代码,而且不影响应用程序运行,那为什么还会有人为 Rebecca 的软件额外支付 4 美元呢?...Cruft 可能是一两行无用的代码,可能是整个源文件模块。 内部质量的一个主要特点之一是,让更容易理解应用程序的工作方式,这样就能看到如何添加内容。...无法与 Rebecca 的开发速度竞争,很快,她的软件就比我的软件功能强大得多,然后所有的客户都卸载了应用程序,转而购买 Rebecca 的应用程序即使她提高售价在所不惜。 ?

82130

代码测试意味着完全消灭了Bug?

即使对于许多动态语言,也有可选的输入系统(Python 中的函数注释,JavaScript 的 TypeSript)。 有时你可以做一个简单的实现,而牺牲任何可测试性;太棒了!...最糟糕的是,除了验证你没有错误的查询 SQL 查询之外,它甚至不测试任何其他内容。...即使在那些情况下,”非单元的单元测试(例如,仅访问数据库的那个)仍然是可行的选择。集成测试也是一种选择。很多应用程序无论如何都没有那种复杂的查询。...很多逻辑错误都不会被捕获,因为逻辑由几个单元一起工作组成。所以你需要集成测试,如果集成测试重复了一半的单元测试,那么为什么还要为这些单元测试烦恼呢? 测试驱动开发(TDD)只是一种工具。...这并不罕见; 而且很确定至少有几个人甚至从不打算提交 PR 只是因为他们被困在测试中。知道有。 有一个开源项目是贡献的,想为之贡献更多,但是没有,因为编写和运行测试太难了。

46210

通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行

即使在 ASP.NET 2.0 中,用户控件提供了有效的方法来封装内容和行为以及将页面分为多个区域,这些区域的缓存能力可以独立于作为整体的页面进行控制(一种称为段缓存的特殊输出缓存形式)。...除此之外,即使 RNGCryptoServiceProvider 错误地生成了重复的随机数字,也无法解释 ASP.NET 为何不可思议地将有效的会话 ID 替换为新的 ID(唯一)。...结果,应用程序运行数天而没有发生一个跨会话问题。此后,它运行了两年多都没有发生任何错误。在具有不同应用程序和一组不同 Web 服务器的另一家公司中,我们看到完全相同的问题消失了。...为什么查询数据库仅由于安全原因被拒绝? 顺便说一下,曾经帮助对一个传统的 ASP 应用程序进行故障排除,该应用程序由于内存占用不受限制而定期重新启动。...即使是在 ASP.NET 应用程序中,也要警惕 SELECT *! 不要完全信赖它 — 请设置数据库的配置文件! 作为一名顾问,经常被询问为何应用程序没有按预期执行。

3.5K80

FreeMarker与JSP 2.0 + JSTL组合进行比较

JSP不会跟随它,但它更接近它。 由于宏和函数只是变量,因此只能在运行时检测到不正确的指令和参数名称以及缺少的所需参数。 不适用于JSF。(它可以在技术上工作,但没有人实现了。)...即使您在开发过程中仔细检查模板的输出,很容易查看错误 ,因为您会默认不会打印警告,因为您输入了变量名称(您注意到了吗?)。...只是因为不知道患者是否患有青霉素过敏,我们只能说他/她没有吗?只要考虑这些错误的含义。显示错误页面通常比显示不正确的信息更好,导致用户端的错误决定。...另外,即使一个类没有实现 TemplateModel,它的静态初始化将被运行。...在的基于Servlet的应用程序中,如何在模板处理过程中发生错误时,如何显示一个漂亮的错误页面而不是堆栈跟踪?

5.4K40

解决 iOS 15 上 APP 莫名其妙地退出登录

直到我再次解锁手机,没有任何操作,就启动了 Cookpad,发现APP就像我们的用户所反馈的那样,直接退出到了登录界面!...登录界面没有要求我选择地区——这表明UserDefaults中的数据没有问题,因为我们的 "已显示地区选择 "偏好设置仍然生效。...主用户界面没有显示即使是短暂的也没有——这表明没有尝试进行网络请求,所以 API 是问题原因可能还为时过早。 这就把Keychain留给了我们,指引进入下一个问题。...即使能够重现这个问题,100%确定的手机在点击应用图标的时候是解锁的,所以我不明白为什么会出现这个Keychain错误。...这是一个相当难调试的bug,而且行为的变化似乎完全没有记录,这对来说真的没有帮助。如果你被这个问题所困扰,请考虑复制FB9780579[5]。 从中学到了很多东西,希望你一样!

85210

40+个对初学者非常有用的PHP技巧(一)

,使用魔术常量如__FILE__可以让它变得可移植。请仔细看: ? 所以现在,即使你将项目转移到一个不同的目录,例如将其移动到一个在线的服务器上,这些代码不需要更改就可以运行。...不需要任何更多的解释。 你还可以进一步改善: ? 这样做可以完成很多事情: 为同一个类文件搜索多个目录。 轻松更改包含类文件的目录,而破坏任何地方的代码。...6.省略结束的php标签,如果它是脚本中的最后一行 不知道为什么很多博客文章在谈论php小技巧时要省略这个技巧。 ? 这可以帮助你省略大量问题。...这行代码告诉浏览器这个内容是XML内容。因此,浏览器能够正确地处理它。许多JavaScript库都依赖于header信息。...9.为MySQL连接设置正确的字符编码 曾碰到过unicode/utf-8字符被正确地存储在mysql表的问题,phpmyadmin显示它们是正确的,但是当你使用的时候,你的网页上却并不能正确地显示

87730

40+个对初学者非常有用的PHP技巧(一)

,使用魔术常量如__FILE__可以让它变得可移植。请仔细看: ? 所以现在,即使你将项目转移到一个不同的目录,例如将其移动到一个在线的服务器上,这些代码不需要更改就可以运行。...不需要任何更多的解释。 你还可以进一步改善: ? 这样做可以完成很多事情: 为同一个类文件搜索多个目录。 轻松更改包含类文件的目录,而破坏任何地方的代码。...6.省略结束的php标签,如果它是脚本中的最后一行 不知道为什么很多博客文章在谈论php小技巧时要省略这个技巧。 ? 这可以帮助你省略大量问题。...这行代码告诉浏览器这个内容是XML内容。因此,浏览器能够正确地处理它。许多JavaScript库都依赖于header信息。...9.为MySQL连接设置正确的字符编码 曾碰到过unicode/utf-8字符被正确地存储在mysql表的问题,phpmyadmin显示它们是正确的,但是当你使用的时候,你的网页上却并不能正确地显示

97520

Web开发人员在移动端的典型UX错误都有哪些?

如今,移动应用程序市场极具竞争力,即使是经验丰富的投资者需要花费大量精力来吸引用户的注意力。但这不是全部。有一个不那么明显的任务,但更重要的是 - 抓住观众。...问题在于,即使对人们有用且具有良好潜力的应用程序可能在市场上不成功。原因通常是设计不良的UX对用户来说不方便。因此,界面的任何缺陷和缺点都可能成为阻碍应用程序快速获取用户的障碍。...4.坏或没有入职 移动应用程序入门是一个经过深思熟虑的屏幕序列,应该在用户第一次使用应用程序时向用户显示,并在界面上显示相关提示。 第一次认识应用程序是最重要的。...即使用户对通知的感知是肯定的,当与用户的设备没有同步时可能出现故障。没有人想一遍又一遍地阅读相同的通知。就像在软件的创建中一样,良好风格的元素不是重复自己。...看起来很奇怪,最常见的错误是当设计师认为一切都简单明了,用户迷失和失望时。 7.没有内置搜索 缺乏内容是不好的。但是,有更糟糕的事情 - 例如,当内容太多和文件太多时,并且不可能搜索数据库。

37320

iOS安全基础之钥匙串与哈希

软件开发最重要的一个方面同时被认为是最核心的部分就是应用程序如何实现更好的安全性。用户都希望他们的应用程序能够安全运行,以避免受潜在的威胁。 我会在本文中,为你仔细讲解iOS安全的基础知识。...如下所示,构建并运行应用程序后,你将打开一个登录屏幕。 不过此时,当你点击登录按钮时没有任何反应,这是因为用户的凭证还没有办法进行保存。因此,你要做的第一件事就是要先添加用户的凭证。...如果你尝试自己来自定义一套安全解决方案不是一个好主意。即使你的应用程序涉及金融信息,存储私人用户信息不应该掉以轻心。...在应用程序中处理错误是一个好主意, 构建并运行,然后点击注销按钮。 现在你就有了一个在应用程序中使用身份验证的完整示例! 哈希 还记得刚刚说到的朋友列表里只有名字,没有头像的问题吗?...现在就来解决这个问题。 在FriendsViewController.swift中,会显示用户模型对象的列表。

2.7K20

如何编写没有bug的代码?

但是,每当我编写任何代码时——都不自信。即使是项目最简单的部分,可以把事情搞得一塌糊涂。搞糟的原因包括: 语言错误 逻辑错误 设计错误 样式错误 安全错误 WTF错误向来最为喜欢的!)...docker允许你在相同的隔离环境中运行开发、测试和生产。所以,你永远不会错过任何重要的事情。 ? 那么你会怎么做?说说自己,在创建服务器、初始配置或连接的时候总是会忘记一些事情。...尝试尽快建立CI / CD。这样,如果的构建在测试或部署中失败,那么就会有报告发。 生存指南: 自动化用于部署的任何内容; 使用docker进行应用程序开发、测试和部署; 使用部署工具。...05 应用程序部署后,仍然不自信 终于,应用程序已经进入了产品阶段。它可以工作了。可以休息休息,应该不会出什么问题了。等等,!一切都崩溃了。是的,没有说错:一切。...当你的任何用户发生错误时——你将收到通知。几乎绑定了所有编程语言; 使用不同的服务和工具将多个进程和服务器的日志收集到一个地方; 服务器监控。这是你可以为CPU,磁盘,网络和内存配置显示器的地方。

86610

只是一名平庸的开发者

但是,每当我编写任何代码时——都不自信。即使是项目最简单的部分,可以把事情搞得一塌糊涂。搞糟的原因包括: 语言错误 逻辑错误 设计错误 样式错误 安全错误 WTF错误向来最为喜欢的!)...docker允许你在相同的隔离环境中运行开发、测试和生产。所以,你永远不会错过任何重要的事情。 那么你会怎么做?说说自己,在创建服务器、初始配置或连接的时候总是会忘记一些事情。...尝试尽快建立CI / CD。这样,如果的构建在测试或部署中失败,那么就会有报告发。 生存指南: 自动化用于部署的任何内容; 使用docker进行应用程序开发、测试和部署; 使用部署工具。...应用程序部署后,仍然不自信 终于,应用程序已经进入了产品阶段。它可以工作了。可以休息休息,应该不会出什么问题了。等等,!一切都崩溃了。是的,没有说错:一切。...当你的任何用户发生错误时——你将收到通知。几乎绑定了所有编程语言; 使用不同的服务和工具将多个进程和服务器的日志收集到一个地方; 服务器监控。这是你可以为CPU,磁盘,网络和内存配置显示器的地方。

830100

百万年薪程序员博文:Python程序员心得,视它为生存指南!

但是,每当我编写任何代码时——都不自信。即使是项目最简单的部分,可以把事情搞得一塌糊涂。搞糟的原因包括: 语言错误 逻辑错误 设计错误 样式错误 安全错误 WTF错误向来最为喜欢的!)...docker允许你在相同的隔离环境中运行开发、测试和生产。所以,你永远不会错过任何重要的事情。 那么你会怎么做?说说自己,在创建服务器、初始配置或连接的时候总是会忘记一些事情。...尝试尽快建立CI / CD。这样,如果的构建在测试或部署中失败,那么就会有报告发。 生存指南: 自动化用于部署的任何内容; 使用docker进行应用程序开发、测试和部署; 使用部署工具。...应用程序部署后,仍然不自信 终于,应用程序已经进入了产品阶段。它可以工作了。可以休息休息,应该不会出什么问题了。等等,!一切都崩溃了。是的,没有说错:一切。...当你的任何用户发生错误时——你将收到通知。几乎绑定了所有编程语言; 使用不同的服务和工具将多个进程和服务器的日志收集到一个地方; 服务器监控。这是你可以为CPU,磁盘,网络和内存配置显示器的地方。

50800

平庸开发者的生存指南

好吧,那正是她为登月任务编写的代码: 但是,每当我编写任何代码时——都不自信。即使是项目最简单的部分,可以把事情搞得一塌糊涂。...搞糟的原因包括: 语言错误 逻辑错误 设计错误 样式错误 安全错误 WTF错误向来最为喜欢的!) 关于“学习如何编写没有bug的代码”的魔法书是不存在的。...尝试尽快建立CI / CD。这样,如果的构建在测试或部署中失败,那么就会有报告发。 生存指南: 自动化用于部署的任何内容; 使用docker进行应用程序开发、测试和部署; 使用部署工具。...应用程序部署后,仍然不自信 终于,应用程序已经进入了产品阶段。它可以工作了。可以休息休息,应该不会出什么问题了。等等,!一切都崩溃了。是的,没有说错:一切。...当你的任何用户发生错误时——你将收到通知。几乎绑定了所有编程语言; 使用不同的服务和工具将多个进程和服务器的日志收集到一个地方; 服务器监控。这是你可以为CPU,磁盘,网络和内存配置显示器的地方。

38910

平庸开发者的生存指南

但是,每当我编写任何代码时——都不自信。即使是项目最简单的部分,可以把事情搞得一塌糊涂。搞糟的原因包括: 语言错误 逻辑错误 设计错误 样式错误 安全错误 WTF错误向来最为喜欢的!)...docker允许你在相同的隔离环境中运行开发、测试和生产。所以,你永远不会错过任何重要的事情。 那么你会怎么做?说说自己,在创建服务器、初始配置或连接的时候总是会忘记一些事情。...尝试尽快建立CI / CD。这样,如果的构建在测试或部署中失败,那么就会有报告发。 生存指南: 自动化用于部署的任何内容; 使用docker进行应用程序开发、测试和部署; 使用部署工具。...应用程序部署后,仍然不自信 终于,应用程序已经进入了产品阶段。它可以工作了。可以休息休息,应该不会出什么问题了。等等,!一切都崩溃了。是的,没有说错:一切。...当你的任何用户发生错误时——你将收到通知。几乎绑定了所有编程语言; 使用不同的服务和工具将多个进程和服务器的日志收集到一个地方; 服务器监控。这是你可以为CPU,磁盘,网络和内存配置显示器的地方。

64120

别再错了,数字化转型与数据和应用程序无关,而与流程有关

它似乎与赞助没有任何关系”时,他们回答说:“想不是,但我通常会在其他应用程序中为一个组织收集这些数据,而赞助商就是组织。”...在太多的公司里,他们所做的事情以及他们为什么这样做是含蓄的,没有很好地沟通,并且就其真正含义引发了大量的相互竞争的观点。 在尝试自动化任何任务之前,你需要先处理流程。...5 高级用户经常犯类似的错误 高级用户,或者公民开发人员,如果你愿意的话,会遭遇“拥有一个锤子,所以一切都是钉子”的问题。...即使最初的步骤仍然是手动的,这个流程可以自动化。任务得到分配和监控。通知会发出。步骤不再被遗忘,错误会越来越少。...即使这些步骤仍然是手动的,这个流程可以更快地得到管理和自动化。早在你能够自动化每个步骤之前,你就能够跟踪正在进行的工作的状态,确保不会遗漏步骤,减少错误,并在事后审核几乎所有内容

30440

解决 iOS 15 上 APP 莫名其妙地退出登录 解决 iOS 15 上 APP 莫名其妙地退出登录

直到我再次解锁手机,没有任何操作,就启动了 Cookpad,发现APP就像我们的用户所反馈的那样,直接退出到了登录界面!...主用户界面没有显示即使是短暂的也没有——这表明没有尝试进行网络请求,所以 API 是问题原因可能还为时过早。 这就把Keychain留给了我们,指引进入下一个问题。...是什么发生了改变以及为什么它如此难以复现? 是什么发生了改变以及为什么它如此难以复现? 粗略地看了一下发布说明,在谷歌上快速搜索了一下,找不到任何东西,所以我不得不继续挖掘以更好地了解这个问题。...即使能够重现这个问题,100%确定的手机在点击应用图标的时候是解锁的,所以我不明白为什么会出现这个Keychain错误。...这是一个相当难调试的bug,而且行为的变化似乎完全没有记录,这对来说真的没有帮助。如果你被这个问题所困扰,请考虑复制FB9780579。 从中学到了很多东西,希望你一样!

1.5K20

Remix可以将一些肉桂爱好者带回Ubuntu(Reviews)

这个错误发生在编辑部,并不反映杰克的评价有任何变化。我们为这个错误道歉。 它在Ubuntu Linux的代码库之上利用Linux Mint的Cinnamon桌面环境。...Canonical不支持Ubuntu肉桂混音,Canonical隶属于这个混音项目。然而,在Ubuntu肉桂Remix成功发布几个版本之后,这种非从属关系很容易改变。...在设置和使用此Remix版本时,没有遇到任何重大问题,但确实有一些Cinnamon功能的试运行。这让感到惊讶,因为桌面正处于开发的高级状态。 麻烦似乎更多是由于将其集成到Ubuntu基础中。...例如,主题面板几乎没有用。单击窗口边框,图标,控件,鼠标指针和桌面类别及其内容无效。 在过去的几周中,越多使用此发行版,发现的显示器和类似内容就越不一致。...不禁要问,为什么Canonical尚未这样做,而无需等待第三方发行版加入Ubuntu架构。 想提出评论? 您是否有推荐的Linux软件应用程序或发行版?那些您喜欢或想了解的东西?

1.1K30
领券