[译] 使用 Go 和 ReactJS 构建聊天系统 (一)
我们将通过设置两个项目来开始这个课程。一旦我们完成了枯燥的设置,就可以开始添加新功能并构建我们的应用程序,将看到一些积极的结果! 通过实现这两个部分,你将能够在接下来的几节课程中为聊天系统添加一些功能。 为了完成本系列教程,我们先要做以下的准备工作。 需要安装 npx。这个可以…
[译] 使用 Go 和 ReactJS 构建聊天系统 (前言)
在这个项目中,我们将考虑使用 Go 作为后端,React.JS 作为前端来构建一个聊天系统。 本课程将有助于你巩固 Go 的并发概念和技术,提供开发更复杂的 Go 应用程序的实际经验,希望你能够轻松编写常用的 Go 程序。 我们将逐步构建这个聊天系统,以确保整个课程的学习保持轻…
为什么结果不一样
为什么结果不一样
使用session的问题
不加<basehref="<%=basePath%>">则正常;
Ant Design如何动态控制表单是否需要校验?
ReactUI框架AntDesign如何动态控制表单是否需要校验?比如A组件有个复选框,B组件有个表单。当A组件的复选框勾选时,需要校验B组件的表单;当A组件的复选框取消勾选时,不需要校验B组件的表单
php提交注册表单的问题
Error:INSERTINTObloguserlist(username,userpassword,sex,birthday,moblephone,workplace,email,occupatio
大佬们看下代码错误。。
接受用户输入的3种商品的价格。若购买的3种商品中至少有一种商品的价格大于50或者3种商品的总额大于100,则折扣率为95折,否则无折扣率,计算并显示用户应付的钱数。#include<stdio.
numpy中用array的时候为什么说模块不可调用 我已经添加了numpy
numpy中用array的时候为什么说模块不可调用我已经添加了numpy
[译] 使用 Go 实现一个简单的事件总线模式
事件驱动架构是计算机科学中一种高度可扩展的范例。它允许我们可以多方系统异步处理事件。 事件总线是发布/订阅模式的实现,其中发布者发布数据,并且感兴趣的订阅者可以监听这些数据并基于这些数据作出处理。这使发布者与订阅者松耦合。发布者将数据事件发布到事件总线,总线负责将它们发送给订阅…
[译] Golang 中的数组和切片指南(及其差异)
首先,很容易看到数组和切片好像是同一个东西:表示列表的数据结构。然而,它们实际上彼此完全不同。 在这篇文章中,我们将探讨他们在 Go 中的差异和实现。 数组是固定的数据列表。这里的重点是固定的,因为一旦设置了数组的长度,它就无法更改。 我们在上面的例子中定义的 arr 变量的类…
[译] Go: 什么是 Unsafe 包?
ℹ️本文基于 Go 1.12。 看到 Unsafe 这个名称,我们应该尽量避免使用它。想要知道使用 Unsafe 包可能产生不安全的原因,我们首先来看看官方文档的描述: 因此,该名称被用作提示 unsafe 包可能带来 Go 类型的不安全性。现在我们来深入探讨一下文档中提到的两…
[译] 什么是缓存 false sharing 以及如何解决(Golang 示例)
在解释缓存 false sharing 之前,有必要简要介绍一下缓存在 CPU 架构中的工作原理。 CPU 中缓存的最小化单位是缓存行(现在来说,CPU 中常见的缓存行大小为 64 字节)。因此,当 CPU 从内存中读取变量时,它将读取该变量附近的所有变量。图 1 是一个简单的…
[译] Go: 理解 Sync.Pool 的设计
ℹ️本文基于 Go 1.12 和 1.13 版本,并解释了这两个版本之间 sync/pool.go 的演变。 sync 包提供了一个强大且可复用的实例池,以减少 GC 压力。在使用该包之前,我们需要在使用池之前和之后对应用程序进行基准测试。这非常重要,因为如果不了解它内部的工作…
[译] 我是如何在大型代码库上使用 pprof 调查 Go 中的内存泄漏
在今年的大部分时间里,我一直在 Orbs 团队用 Go 语言做可扩展的区块链的基础设施开发,这是令人兴奋的一年。在 2018 年的时候,我们研究我们的区块链该选择哪种语言实现。因为我们知道 Go 拥有一个良好的社区和一个非常棒的工具集,所以我们选择了 Go。 最近几周,我们进入…
[译] golang 官方文档 context
在刚刚过去的 2019 gopher china 大会上 context 概念被多次提起,包括很多框架的源码也大量运用了。看得出来 context 在 golang 的世界中是一个非常重要的知识点,所以有必要对 context 有一个基本的使用和认知。官方文档解释和示例都比较详…
[译] Go中的HTTP请求处理概述
使用 Go 处理 HTTP 请求主要涉及两件事:ServeMuxes 和 Handlers。 ServeMux本质上是一个 HTTP 请求路由器(或多路复用器)。它将传入的请求与预定义的 URL 路径列表进行比较,并在找到匹配时调用路径的关联 handler。 handler …
[译] part 14: golang 字符串
Go 中的字符串值得特别关注,因为与其他语言相比,它们的实现方式不太一样。 Go 中的字符串是一个字节切片。可以通过将内容放在在""内来创建字符串。来看一个简单的例子,我们创建一个字符串并打印它。 上面的程序将会输出Hello World。 Go 中的字符串兼容 Unicode…
[译] part 6: golang 函数
函数是一个执行指定任务的代码块。函数接收输入,对输入执行一些计算并生成输出。 函数声明以func关键字开头,然后是函数名。入参在(和)之间,返回类型在最后。用parametername type语法指定参数名和类型。也可以指定任意数量的参数,如(parameter1 type,…
[译] part 8: golang if else 语句
如果condition为true,介于{}之间的代码块将被执行。 与 C 之类的其他语言不同,即使{}之间只有一个语句,{}也是强制性需要的。 else if和else对于if来说是可选的。 if else的数量不受限制,它们从上到下判断条件是否为真。如果if else或者if…
[译] part 7: golang 包
到目前为止,我们看到的 go 代码只有一个文件,其中有一个 main 函数和其他几个函数。在实际场景中,将所有源代码写入单个文件不是一个好方法。复用和维护这种代码将变得非常艰难,包就是用来解决这些问题的。 包可以使代码更好的复用和可读,也可以使代码解耦,因此使得应用程序很容易维…