技术研究
文章平均质量分 73
技术研究
CHQIUU
当你发现自己的才华撑不起野心时,就请安静下来学习吧
展开
-
本文将介绍PHP中的数据类型
此时,您应该对PHP中可用的一些主要数据类型有了更好的了解。当您使用PHP语言开发编程项目时,这些数据类型中的每一种都将变得很重要。原创 2023-08-23 13:49:41 · 10224 阅读 · 0 评论 -
如何在PHP中使用字符串
能够控制字符串的呈现方式对于与应用程序的最终用户通信至关重要。通过更新和组合包含特殊字符的变量,您可以清楚地传达信息,同时尽量减少重复。继续处理字符串时,请记住这三个方面。要特别注意字符串中的引号。使用拼接来合并字符串。使用变量使字符串可重用。原创 2023-08-23 13:48:00 · 10192 阅读 · 0 评论 -
教你如何编写第一个PHP程序
在本教程中,你已经编写了“Hello, World!”的PHP程序。学习了如何在代码中打开和关闭PHP代码块,以及在代码变得更复杂时使用不同的注释来澄清和添加上下文。原创 2023-08-23 13:46:29 · 11150 阅读 · 0 评论 -
如何在Ubuntu 22.04上安装PHP 8.1并设置本地开发环境
至此,您已经在Ubuntu系统上设置了PHP 8.1编程环境,可以开始编码项目了。在开始编码之前,您可能需要设置一个集成开发环境(IDE)。虽然有许多ide可供选择,但VS Code是一个流行的选择,因为它提供了许多强大的功能,如图形界面、语法高亮和调试。原创 2023-08-23 13:45:27 · 13933 阅读 · 0 评论 -
如何在Ubuntu 18.04上安装PHP 7.4并搭建本地开发环境
至此,您已经在本地Ubuntu机器上设置了PHP 7.4编程环境,可以开始编码项目了。在开始编码之前,您可能需要设置一个集成开发环境(IDE)。虽然有许多IDE可供选择,但VS Code是一个流行的选择,因为它提供了许多强大的功能,如图形界面、语法高亮和调试。原创 2023-08-23 13:44:48 · 11700 阅读 · 0 评论 -
MySQL中到全外连接(full outer join)编写方法说明
这通常是一个很好的解决方案,但如果我们允许一个或两个表中的company_id为NULL,则会失败(完整的外连接将返回这些行,而前一个不会)。子句来删除重复项,但是如果其中一张表没有主键或唯一约束,或者所选列不是唯一的,那么它将失败。如果源表中已经存在重复项,则不会删除。在SQL中,同样的结果可以通过不同的方式实现,哪种方式最合适取决于个人喜好(或性能)。子句将两个查询组合起来,但这将返回一些重复的行(连接成功的所有行将返回两次)。(右连接不常见,因为它更难读,它相当于左连接,只是表的顺序发生了改变)。原创 2023-08-23 07:30:00 · 11170 阅读 · 0 评论 -
NoSQL数据库介绍及相关模型比较(如:键值数据库、列式数据库、文档数据库、图形数据库)
在本教程中,我们只介绍了目前使用的一些NoSQL数据模型。近年来,一些NoSQL模型(如对象存储)在不同程度上得到了使用,但在某些用例中仍然是关系模型的可行替代品。其他的数据库,如对象关系数据库和时间序列数据库,混合了关系和NoSQL数据模型的元素,形成了光谱两端的中间地带。原创 2023-08-23 08:15:00 · 11168 阅读 · 0 评论 -
SQLite、MySQL、PostgreSQL3个关系数据库之间的对比
数据库是对信息或数据进行逻辑建模的集群。另一方面,数据库管理系统(DBMS)是与数据库交互的计算机程序。DBMS允许你控制对数据库的访问、写入数据、执行查询以及执行与数据库管理相关的任何其他任务。虽然数据库管理系统通常被称为“数据库”,但这两个术语是不可互换的。数据库可以是任何数据集合,而不仅仅是存储在计算机上的数据。相比之下,DBMS特指允许您与数据库交互的软件。所有数据库管理系统都有一个底层模型,该模型对数据的存储和访问方式进行结构化。关系数据库管理系统是一种采用关系数据模型的DBMS。原创 2023-08-22 17:33:41 · 12548 阅读 · 0 评论 -
JavaScript中的设计模式之五--观察者模式
在本文中,我们介绍了一个流行且有用的设计模式。从头开始实现它让我们了解了这种机制在一些原生JavaScript特性中是如何工作的。除了使用JavaScript,我们还实现了TypeScript。通过这样做,我们采取了预防措施,以确保我们正确地建立了我们的观察者。学习以上所有内容无疑为我们的编程提供了额外的工具。Set。原创 2023-08-18 12:45:00 · 10270 阅读 · 0 评论 -
JavaScript中的设计模式之四--装饰器模式
外观模式被证明是非常有用的。有了它,我们可以使我们的代码更干净,更可重用。在本文中,我们已经了解了外观模式的基本概念。我们还写了一些例子来说明它可能是有用的。除了常规使用外,我们还在React Hooks中实现了外观模式的概念。通过上述操作,我们已经证明,如果我们想提高代码质量,外观模式是一个值得研究的概念。原创 2023-08-18 08:45:00 · 10268 阅读 · 0 评论 -
JavaScript中的设计模式之三--外观模式(门面模式)
外观模式被证明是非常有用的。有了它,我们可以使我们的代码更干净,更可重用。在本文中,我们已经了解了外观模式的基本概念。我们还写了一些例子来说明它可能是有用的。除了常规使用外,我们还在React Hooks中实现了外观模式的概念。通过上述操作,我们已经证明,如果我们想提高代码质量,外观模式是一个值得研究的概念。原创 2023-08-18 08:30:00 · 10227 阅读 · 0 评论 -
JavaScript中的设计模式之二--工厂模式
在本文中,我们已经设法阐明了什么是工厂方法模式,以及如何不将它与工厂函数混淆。为了完成上面的工作,我们实现了工厂函数和工厂方法模式。我们还学习了如何在TypeScript中使用上述模式。虽然它可能有助于保持我们的代码整洁,但重要的是不要过度使用它。如果我们不能从这种复杂性中获益,或者我们不需要在运行时生成实例来判断它们的类型,我们可能会引入使我们的代码不必要的复杂。如果我们注意上述问题,工厂模式可能会派上用场。原创 2023-08-18 08:30:00 · 10188 阅读 · 0 评论 -
JavaScript中的设计模式之一--单例模式和模块
我们可以将设计模式视为许多开发人员在各种现实生活场景中测试过的经过验证的解决方案。它们旨在支持软件设计师以可读和可预测的方式解决常见问题。如果我们的应用程序基于经过验证的模式,我们就不用太担心整体结构,因为它们倾向于鼓励我们以一种有组织的方式编写代码。查看包含某种设计模式的现有代码库可能比尝试理解一种不熟悉的方法更容易。他们也是其他开发者和我们之间的桥梁。使用众所周知的策略可以使沟通更快更容易。设计模式并不是精确的解决方案。他们为我们提供了一个方案,我们可以根据自己的需要进行调整。原创 2023-08-17 22:56:46 · 10107 阅读 · 1 评论 -
HTML class 中 CSS名称的顺序并不重要
这听起来可能是一个愚蠢的问题,但它往往会绊倒许多碰巧熟悉CSS-in-JS解决方案的人。本周,我与两位非常资深的前端工程师进行了交谈,他们也有类似的想法!但是无论这些CSS类的顺序如何,上面示例中的文本始终是蓝色的。这是因为标记只是按照CSS的写入顺序读取——在这个例子中,层叠优先。在CSS中是最后定义的,对吧?你认为文字应该是什么颜色?文本会是蓝色的,因为。原创 2023-08-17 21:28:08 · 10277 阅读 · 1 评论 -
不要过于迷恋软件架构,要重视如何设计根据简单和清晰的设计
在设计系统时,你可能会发现自己意外地应用了一个众所周知的设计模式,这是一件好事。了解常见的设计模式是一件好事,它们有助于缩短与他人的讨论,让别人以与你相同的方式谈论一件事。我承认,虽然我花了很多时间阅读和理解“四人帮”的《设计模式》,但它们对我成为一名更好的程序员的影响,要小于我从其他工程师那里得到的反馈。系统越简单,理解起来就越简单,找到问题就越简单,实现它就越简单。描述的语言越清晰,设计就越容易理解。作为一名工程师,你的目标应该是更多地解决问题,并通过它们进行学习,而不是选择闪亮的设计模式。原创 2023-08-17 21:15:31 · 10163 阅读 · 0 评论 -
请不要用 JSON 作为配置文件,使用JSON做配置文件的缺点
我还发现JSON的UX对于手工编辑来说是次优的:你需要在后面加上逗号,引号的语义很烦人,而且它缺乏使用多行字符串的能力。仅仅浏览一下规范,潜在的缺点可能并不明显(YAML是一个很好的例子,有很多微妙的行为)。这很好,我鼓励你使用它,但它不再是JSON,而是JSON方言。很多人问我该用什么。虽然使用JSON文件作为基本元数据是有意义的(更容易解析和显示在网站上),但使用它来描述代码的工作方式让我觉得这是对DC的滥用。这是机器可读和人类可读之间的一个很好的折衷,对于许多用例来说,它是对XML的一个很好的改进。原创 2023-08-17 15:58:11 · 10291 阅读 · 0 评论 -
为什么 SQL 如此成功?分析 SQL 为什么如此成功的几个原因
SQL启发了非关系型数据库的查询语言设计:用于对象数据库的SQL、用于对象关系的SQL、用于XML的SQL、用于空间的SQL、用于搜索的SQL、用于JSON的SQL、用于时间序列的SQL、用于流的SQL等。十年后,每个流行的NoSQL数据库都有不同的SQL变体:Couchbase中的N1QL, Cassandra中的CQL, Elastic中的ElasticSearch SQL。”通过在MongoDB中使用一种简单的,有点过程化和临时的设计,查询松散的可组合性,优化和许多用SQL完成的创新。原创 2023-08-17 14:56:05 · 10241 阅读 · 0 评论 -
加强你的Linux服务器安全性的7个步骤,可以防止至少90%的攻击
这并不是一个全面的安全指南。它可以帮助你防止近90%的流行后端攻击,例如尝试登录和。最好是你可以在一两个小时内实现它们。原创 2023-08-17 10:29:12 · 10811 阅读 · 0 评论 -
线程同步简介,看看多线程应用程序中最流行的并发控制方法
同步是确保两个或更多线程正常运行的一堆技巧。原子性——如果你的代码包含了对多个线程共享的数据进行操作的指令,那么对该数据的无管制并发访问可能会触发数据竞争。包含这些指令的代码段称为临界区(critical section)。你要确保临界区是原子性执行的:正如上一集定义的那样,一个原子操作(atomic operation)不能被分解成更小的操作,因此当一个线程正在执行它时,其他线程不能通过;排序——有时你希望两个或多个线程以可预测的顺序执行工作,或者对访问特定资源的线程数量进行限制。原创 2023-08-17 09:07:08 · 10319 阅读 · 0 评论 -
对多线程的简单介绍,关于进程和线程的相关知识
现代计算机有能力在同一时间执行多个操作。在先进的硬件和更智能的操作系统的支持下,这个特性使你的程序运行得更快,无论是执行速度还是响应速度。编写利用这种能力的软件是令人着迷的,但也非常棘手:它需要你理解计算机背后发生了什么。原创 2023-08-16 17:26:29 · 10222 阅读 · 0 评论 -
为什么要将 Java 用于后端基础架构?
想知道为什么要在后端基础架构中使用流行的Java编程语言吗?如果您计划构建新的 Web 或移动应用程序,这是一个重要的问题。原创 2023-08-16 16:48:28 · 10202 阅读 · 0 评论 -
三个原则可以帮助你有效地记笔记
做笔记要按照自己的思考方式,不能原封不动地按照老师(或者书本)的讲解方式。这样不仅你写起来更轻松,而且将来回顾笔记的时候,你也更容易理解自己当时的想法。为了最大限度利用自己的笔记(其实也是节约自己的时间),它必须可以方便地检索。你要为每个部分写一个标题,并且定期整理出一份目录。笔记不要仅仅复制/粘贴他人的话语,而要用自己的语言表达。你不妨标记清楚,哪些地方是已经理解的,哪些地方还没有理解或者有疑问。原创 2023-08-16 16:29:15 · 10210 阅读 · 0 评论 -
介绍如何使用 Media Query 完成响应式设计 -- 您想知道的有关媒体查询和响应式设计的所有信息
媒体查询是一种 CSS 语言功能,它允许作者根据正在查看应用程序的设备或窗口的特征有条件地应用 CSS 规则。最常见的是,这些可能是根据视口宽度,允许 CSS 作者创建_响应_正在查看它们的窗口或设备大小的组件和布局。但这也可能扩展到用户是喜欢浅色模式还是深色模式,甚至是用户的辅助功能首选项,以及更多属性。随着如此多的不同设备类型和屏幕尺寸的增加,对于 Web 应用程序来说,为用户提供更量身定制的视觉呈现变得越来越重要,并针对他们首选交互方法的屏幕尺寸进行优化。原创 2023-08-16 16:24:16 · 10546 阅读 · 0 评论 -
什么是高级工程师?编写软件vs构建系统
作为一名工程师,呆在自己的洞穴里专注于优化这段漂亮的代码是非常诱人的。我遇到过许多工程师,他们相信提升职业生涯的唯一途径是投资他们的技术技能。虽然这很重要,但对你的公司来说唯一重要的是你对业务产生了多大的影响。优雅、高性能、可维护的软件更容易运行,更少出现故障,更容易扩展和思考。然而,它可能解决了一个错误的业务问题。或者客户不喜欢它是因为性能问题,而你甚至不知道,因为你没有监控它。对他们来说,最终目标是创建优雅、高性能、可维护的软件。更重要的是,你的分析思维和解决问题的能力使你对产品需求的见解非常有价值。原创 2023-08-15 16:28:11 · 10281 阅读 · 0 评论 -
怎么才能写出“干净的代码”,编写干净代码的十大技巧
它必须是可读的;它们看上去很雅致;它们必须易于理解,并遵循单一责任原则(SRP);干净的代码必须易于理解,易于修改,易于维护;干净的代码必须按照测试策略运行测试。在他的书《面向对象的分析与设计》中,Brady brooch将干净的代码定义为“简单和直接”。干净的代码读起来就像写得很好的散文。干净的代码从来不会模糊设计者的意图,而是充满了清晰的抽象和直接的控制线。原创 2023-08-15 15:34:41 · 10289 阅读 · 0 评论 -
程序员要写出清晰代码的六条建议
让我们看看如何通过最小化变量的可见性来防止面条式代码()现象的一些建议。我们的目标是将变量在源代码中可见的代码部分减少到尽可能少的程度,即减少变量的作用域。原创 2023-08-15 14:59:53 · 10286 阅读 · 0 评论 -
HTML注释也可以在JavaScript中使用
最初的目的是使不支持JavaScript的浏览器可以忽略包含HTML注释的脚本块,而不是将它们视为文本(浏览器将未知元素视为。另一方面,语法高亮没有很好的支持这一点(我看到的唯一一个完全正确的是在Firefox开发者工具中的一个),所以这些片段将显示在我的博客上有点奇怪。虽然在过去的二十年里还没有浏览器显示脚本标记的内容(即使禁用了JavaScript),但这种行为不能从浏览器中移除,因为一些网站依赖于此。规范中,作为仅应在类似浏览器的环境中实现的遗留行为。你可以在JavaScript中使用HTML注释。原创 2023-08-15 11:34:18 · 10178 阅读 · 0 评论 -
您的网站不应该只提供一套通用 API
后端应该提供两套 API,一套是外部使用的通用 API,服务特定的数据,另一套是自家使用的应用 API,服务特定的页面。在当今的web开发中,构建一个提供JSON服务的后端和一个渲染应用程序的前端是很流行的。我不太喜欢,但还好。但是如果你认为你的后端需要被设计成一个通用的公共API是不行的。这不会节省你的时间。原创 2023-08-14 17:22:24 · 10152 阅读 · 0 评论 -
这是一篇关于SQL 脚本表间连接join的可视化说明
使用SQL合并两个数据集可以通过JOINS来完成。JOIN是查询的FROM子句中的SQL指令,用于标识要查询的表以及它们应该如何组合。通常,在关系数据库中,数据被组织到由属性(列)和记录(行)组成的各种表中。在每个表中存在一个列,该列是主键,该列中的每个条目唯一地表示该表中的单个行。这通常是ID(identifier的缩写)列。表中通过共享值与另一个表的主键建立关联的列称为外键。外键通常也是有标题的ID,但前面有被引用表的名称。当使用JOIN将两个或多个表组合在一起时,就应用了这个概念。在下面的例子中,我们原创 2023-08-14 16:20:19 · 10238 阅读 · 0 评论 -
管理者应该编码,但不是在工作时
在这次经历中,我发现了一些事情。我还意识到,我与团队日常工作的联系比我最初想象的要少得多:我们开发环境设置的细节,以及我们如何打包和部署我们的服务。作为一名经理,你的工作要求你按照经理的时间表工作,但为了编码,你需要一个创造者的时间表。主要原因是,尝试在你的团队中编写代码会让你成为团队中其他人的阻碍,一天中没有足够的时间来参加所有的会议和单独的会议,也没有时间来编写代码,而且从编码中退一步来展示对团队的信任是很重要的。在我的内心深处,我在思考我的代码:我可以做什么优化,如何消除当前令人沮丧的bug等等。原创 2023-08-14 13:43:20 · 10069 阅读 · 0 评论 -
20个具有争议的编程观点
是的,我知道这冒犯了一些人,他们多年的高质量记忆和/或大量的编程书籍开始被任何人都可以在几秒钟内访问的资源所取代,但你不应该反对使用它的人。如果你是在书上查到的,在谷歌上查到的,或者从一只会说话的青蛙那里听到的,你产生了幻觉,这重要吗?我们花费了大部分时间维护别人(或自己)编写的代码,而糟糕的、不正确的、过时的、误导性的注释肯定是代码中最令人讨厌的工作之一。如今,这似乎是一个有争议的观点。去年我做了相当多的面试,我的面试部分是测试人们的思维方式,以及他们如何在白板上实现简单到适度的算法。原创 2023-08-14 11:37:19 · 10177 阅读 · 0 评论 -
开源项目维护者的九个阶段,来看一下你是哪个阶段?
运行一个开源项目比编写代码要复杂得多。事实上,大多数工作都与其他事情有关。这对项目维护者提出了一些通常不被提及的额外要求。在这篇文章中,我们将简要介绍九个不同的阶段,每个阶段都可能需要戴不同的帽子。这些可以根据项目的生命周期和受欢迎程度分为两种。原创 2023-08-14 10:53:33 · 10276 阅读 · 0 评论 -
JavaScript中如何通过 new Function 创建 async 函数
我喜欢的一点是,有很多方法可以完成相同的任务,其中一个例子就是创建函数。您看到的最后使用的模式之一是。方法创建一个异步函数,该怎么办?模式,但这并不意味着您没有使用!现在,您可以将它们设置为异步!的用法非常巧妙,因为原生并没有。我不相信我曾经使用过。原创 2023-08-14 09:38:23 · 10420 阅读 · 0 评论 -
ES6 引入了 for await ... of 新语法,用来遍历异步迭代器,很多人还不熟悉。本文是对它的简单解释
当看到这种句式的时候不免感觉很惊讶。我们之前从来没有见过这种写法。想象一下,当我阅读更多关于Deno的内容时,我发现这段代码实际上是有效的javascript脚本,它在Node.js中也是有效的,而我对此一无所知,这是多么令人惊讶那么这是什么?为什么我从来没见过呢?我应该在哪里使用它?我是不是已经错过了?如果你们有同样的问题,那很好!这篇文章将尝试回答所有这些问题!原创 2023-08-14 09:27:36 · 10387 阅读 · 0 评论 -
教你10分钟内学习如何CSS 设置网页打印时的样式
本文将教您开始为要打印的页面编写CSS所需要的一切提供帮助。原创 2023-08-13 17:32:40 · 12354 阅读 · 0 评论 -
NullPointerException(NPE)是你的朋友,而不是错误
事实证明,在大多数情况下,我们的API函数不是假定的,也不是其他开发人员期望返回空的。在特殊情况下,比如缺少某些东西,Java中的惯例是返回一些“空对象”(空集合、未填充的域对象等),或者抛出异常,这比返回空的危害要小一些。当某个类型的某些值在运行时失败(如被零除)时,这是正常的,但当一个值导致所有操作的运行时失败时,这表明该值从一开始就不属于该类型。事实是,NULL的概念没有错,但Java的类型系统认为NULL是每种类型的成员,这是错误的。它们只不过是不同的类型,有不同的、安全的操作集可供使用。原创 2023-08-13 16:16:31 · 10190 阅读 · 0 评论 -
什么是单页应用程序?如何选择及架构、优势和挑战
单页面应用程序(Web应用程序或网站)仅加载单个页面。然后,当用户与Web服务器交互时,它使用从Web服务器获取的新内容重写页面,而不是为每次交互加载新页面。单页面应用程序是一种网站解决方案,可以直接在浏览器中呈现JavaScript代码。它确保用户在浏览网站时不会重新加载页面。这是通过确保浏览器通过单个请求或通过响应用户活动更新必要的材料来获得基本的HTML、JavaScript和CSS代码来实现的。采用单页面应用程序(SPA)的企业因其结构简单、易于导航和使用更少的资源而越来越受欢迎。原创 2023-08-13 12:06:43 · 10686 阅读 · 0 评论 -
您可能并不需要单页应用程序
前端框架的迅速崛起,如React、Angel、Vue.js、Elm等,使得单页面应用程序(Single Page Application)在网络上无处不在。对于许多开发人员来说,这些已经成为他们“默认”工具集的一部分。当他们开始一个新项目时,他们会使用他们已经知道的工具:后端的REST API和Reaction/Angel/Vue/Elm前端。这些工具有什么问题吗?绝对不是。事实上,我喜欢使用这些工具。然而,只有当实际需求将我推向那个方向时,我才会选择这个架构。原创 2023-08-13 10:56:56 · 10149 阅读 · 0 评论 -
为新手和非技术人员提供扩展Web网站提供一个升级指南
本指南总结了扩展的基本原则,从一台服务器扩展到能够服务数百万用户的Web应用程序。它面向在技术领域工作的新手和非开发人员。因此,如果您刚刚部署了您的多云平台VPN设置,那么本文并不适合您。话不多说,那就让我们开始吧!原创 2023-08-12 11:15:06 · 10315 阅读 · 0 评论 -
使用dom4j将xml转为String并去掉所有格式
要将 XML 转换为字符串并去除格式,您可以使用 dom4j 提供的 OutputFormat 类,并设置其格式化选项为不缩进和不添加换行符。有以下xml内容,需要转成String字符串。同时,要去掉文中所有格式。原创 2023-08-09 09:15:44 · 11065 阅读 · 0 评论