疑难杂症

go爬虫框架go-colly之抓取reddit篇

package main import ( “fmt” “os” “time” “github.com/gocolly/colly/v2” ) type item struct { StoryURL string Source string comments string CrawledAt time.... »

go爬虫框架go-colly之抓取instagram篇

package main import ( “crypto/md5” “encoding/json” “fmt” “log” “net/url” “os” “regexp” “strings” “... »

Go新手常见误区之  GOROOT、GOPATH、GOBIN 作用详解

Go新手常见误区之 GOROOT、GOPATH、GOBIN 作用详解

Go是一门全新的静态类型开发语言,具有自动垃圾回收,丰富的内置类型,函数多返回值,错误处理,匿名函数,并发编程,反射等特性. go命令依赖一个重要的环境变量:$GOPATH GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个目录的时候Windows是用分号分隔 当有多个GOPATH时默认将go get获取的包存放在第一个目录下 $GOPATH目录约定有三个子目录 src存放源代码(比如:... »

“cmd/go: unsupported GOOS/GOARCH pair linux /amd64″终极解决方案

windows下 go编译成linux可执行文件报错信息如下: cmd/go: unsupported GOOS/GOARCH pair linux /amd64 具体步骤: D:\leaf\goworkspace\keywordspider\src>set GOOS=linux D:\leaf\goworkspace\keywordspider\src>set GOARCH=amd6... »

github 生成token的方法

github 生成token的方法

1:点击你的GitHub头像,选择下拉框中的“settings”:   2:选择左侧菜单的“Developer settings”一项:   3:选择“Personal access tokens”:   4点击“Generate a personal access token”:   5:把以下选项全部勾选,然后点击下方绿色按钮,便可生成一个token。 »

6G发展白皮书之6G的关键技术和6G的机会与挑战

原文 | 芬兰奥卢大学及70位通信专家  5G应用才刚刚启动,6G概念就扑面而来。6G是什么?传输速度有多快?有哪些关键特征和挑战?2019年9月,芬兰奥卢大学与70位世界顶尖通信专家共同发布了全球首份6G白皮书《无处不在的无线智能——6G的关键驱动与研究挑战》,对6G进行了系统阐述。从中可以看出,6G不仅在速度上更快,而且服务领域更广泛,将引发更全面的社会角色参与其中。在未来的6G时代,边缘计算... »

6G三大应用场景展望,七大主要6G应用方向

6G未来将以5G提出的三大应用场景(大带宽,海量连接,超低延迟)为基础,不断通过技术创新来提升性能和优化体验,并且进一步将服务的边界从物理世界延拓至虚拟世界,在人—机—物—境完美协作的基础上,探索新的应用场景、新的业务形态和新的商业模式。 (一)人体数字孪生 当前网络条件下,数字技术对人体健康的监测主要应用于宏观身体指标监测和显性疾病预防等方面,实时性和精准性有待进一步提高。随着6G技术的到来,以... »

go运行时报错“Compilation finished with exit code 0”问题错误解决

go运行时报错“Compilation finished with exit code 0”问题错误解决

报错解释: Process finished with exit code 0 表示程序正常执行完成并退出。 exit code(定义)在大部分编程语言中都适用: exit code 0 表示程序执行成功,正常退出 exit code 1 表示程序执行执行过程中遇到了某些问题或者错误,非正常退出 个人碰到解决方案 go运行时总报错“Compilation finished with exit co... »

mysql 客户端提示无法连接,报错信息”Unable to load authentication plugin ‘caching_sha2_password'”,2中解决方案

解决方案1: DBeaver连接MySQL 8.0显示”Unable to load authentication plugin ‘caching_sha2_password’.”错误的问题 下载MySQL绿色版本mysql-8.0.12-winx64,手动安装完成后。 使用DBeaver连接提示”Unable to load authe... »

go语言 中regexp包用法,regexp.MustCompile等方法如何用

golang中正则表达式的操作可以用regexp包提供的方法。 ———————————————————— // 判断在 b 中能否找到正则表达式 pattern 所匹配的子串 // pattern:要查找的正则表达式 // b:要在其中进行查找的 []byte // matched:返回是否找到匹配项 // err:返回查找过程中遇到的任何错误 // 此函数通过调用 Regexp 的方法实现 fu... »

理解矩阵乘法

理解矩阵乘法

大多数人在高中,或者大学低年级,都上过一门课《线性代数》。这门课其实是教矩阵。 刚学的时候,还蛮简单的,矩阵加法就是相同位置的数字加一下。 矩阵减法也类似。 矩阵乘以一个常数,就是所有位置都乘以这个数。 但是,等到矩阵乘以矩阵的时候,一切就不一样了。 这个结果是怎么算出来的? 教科书告诉你,计算规则是,第一个矩阵第一行的每个数字(2和1),各自乘以第二个矩阵第一列对应位置的数字(1和1),然后将乘... »

如何识别文件的真假

如何识别文件的真假

每个人都下载文件,大家有没有想过,文件可能是假的,尤其来自网盘或专门的下载站。 本文就来谈谈如何识别文件的真假。 一、XcodeGhost 事件 我们从一件真实的事件说起。 2015年9月,苹果手机的一些 App 被发现向可疑网站发送数据。进一步调查确认,可疑代码是 Xcode 打包时植入的。也就是说,开发者的编程工具 Xcode 被动过手脚了。 腾讯的安全团队公布调查报告,应用商店的前 5000... »

OAuth 2.0 的一个简单解释

OAuth 2.0 的一个简单解释

OAuth 2.0 是目前最流行的授权机制,用来授权第三方应用,获取用户数据。 这个标准比较抽象,使用了很多术语,初学者不容易理解。其实说起来并不复杂,下面我就通过一个简单的类比,帮助大家轻松理解,OAuth 2.0 到底是什么。 一、快递员问题 我住在一个大型的居民小区。 小区有门禁系统。 进入的时候需要输入密码。 我经常网购和外卖,每天都有快递员来送货。我必须找到一个办法,让快递员通过门禁系统... »

Vim 配置入门

Vim 配置入门

Vim 是最重要的编辑器之一,主要有下面几个优点。 可以不使用鼠标,完全用键盘操作。 系统资源占用小,打开大文件毫无压力。 键盘命令变成肌肉记忆以后,操作速度极快。 服务器默认都安装 Vi 或 Vim。 Vim 的配置不太容易,它有自己的语法,许许多多的命令。我总是记不清楚,所以就整理了下面这篇文章,列出主要配置项的含义。 一、基础知识 Vim 的全局配置一般在/etc/vim/vimrc或者/e... »

如何读懂火焰图?

如何读懂火焰图?

软件的性能分析,往往需要查看 CPU 耗时,了解瓶颈在哪里。 火焰图(flame graph)是性能分析的利器。本文介绍它的基本用法。 一、perf 命令 让我们从 perf 命令(performance 的缩写)讲起,它是 Linux 系统原生提供的性能分析工具,会返回 CPU 正在执行的函数名以及调用栈(stack)。 通常,它的执行频率是 99Hz(每秒99次),如果99次都返回同一个函数名... »

HTTP 协议入门

HTTP 协议入门

HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点。 本文介绍 HTTP 协议的历史演变和设计思路。 一、HTTP/0.9 HTTP 是基于 TCP/IP 协议的应用层协议。它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口。 最早版本是1991年发布的0.9版。该版本极其简单,只有一个命令GET。 GE... »

使用 Make 构建网站

使用 Make 构建网站

网站开发正变得越来越专业,涉及到各种各样的工具和流程,迫切需要构建自动化。 所谓”构建自动化”,就是指使用构建工具,自动实现”从源码到网页”的开发流程。这有利于提高开发效率、改善代码质量。 本文介绍如何使用make命令,作为网站的构建工具。以下内容既是make语法的实例,也是网站构建的实战教程。你完全可以将代码略作修改,拷贝到自己的项目。 (题图:国... »

GPG入门教程

GPG入门教程

前两篇文章,我介绍了RSA算法。 今天,就接着来看,现实中怎么使用这个算法,对信息加密和解密。这要用到GnuPG软件(简称GPG),它是目前最流行、最好用的加密工具之一。 一、什么是GPG 要了解什么是GPG,就要先了解PGP。 1991年,程序员Phil Zimmermann为了避开政府监视,开发了加密软件PGP。这个软件非常好用,迅速流传开来,成了许多程序员的必备工具。但是,它是商业软件,不能... »

Dropbox的成本估算

Dropbox的成本估算

两周前,云存储网站Dropbox宣布,用户总数达到了2500万。 这个数字令人印象深刻,因为一年半前,它的用户总数已经是300万了。短短18个月,在一个这样大的基数上,继续扩张八倍多,真可谓势头惊人。 惊叹之余,许多人很好奇,Dropbox到底花了多少钱,才能够服务这么多用户?因为除了付费用户以外,它没有其他收入来源。相反地,每新增一个注册用户,它就必须向他免费提供存储空间。只有当用户占用的空间超... »

CSS选择器笔记

去年我学jQuery的时候,曾经做过一点选择器(selector)的笔记。 这几天拿出来看了一下,发现很多都忘记了。所以,我决定把它们贴在这里,方便以后查看。这对其他朋友应该也是有用的,毕竟选择器是制作网页效果的第一步。 笔记分为两个部分,今天是CSS的选择器,以后还有一部分xPath的选择器。今天的笔记中包括44个选择器,基本涵盖了CSS 2和CSS 3的所有规定。 ==============... »

蒙特卡罗方法入门

蒙特卡罗方法入门

本文通过五个例子,介绍蒙特卡罗方法(Monte Carlo Method)。 一、概述 蒙特卡罗方法是一种计算方法。原理是通过大量随机样本,去了解一个系统,进而得到所要计算的值。 它非常强大和灵活,又相当简单易懂,很容易实现。对于许多问题来说,它往往是最简单的计算方法,有时甚至是唯一可行的方法。 它诞生于上个世纪40年代美国的”曼哈顿计划”,名字来源于赌城蒙特卡罗,象征概率... »

Python 异步编程入门

Python 异步编程入门

本文是写给 JavaScript 程序员的 Python 教程。 Python 的异步编程,其他人可能觉得很难,但是 JavaScript 程序员应该特别容易理解,因为两者的概念和语法类似。JavaScript 的异步模型更简单直观,很适合作为学习 Python 异步的基础。 本文解释 Python 的异步模块 asyncio 的概念和基本用法,并且演示如何通过 Python 脚本操作无头浏览器 ... »

CSS Grid 网格布局教程

CSS Grid 网格布局教程

一、概述 网格布局(Grid)是最强大的 CSS 布局方案。 它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局。以前,只能通过复杂的 CSS 框架达到的效果,现在浏览器内置了。 上图这样的布局,就是 Grid 布局的拿手好戏。 Grid 布局与 Flex 布局有一定的相似性,都可以指定容器内部多个项目的位置。但是,它们也存在重大区别。 Flex 布局是轴线布局,只能指定R... »

如何降低软件的复杂性?

如何降低软件的复杂性?

John Ousterhout 是斯坦福大学计算机系教授,也是 Tcl 语言的创造者。 今年四月,他出版了一本新书《软件设计的哲学》(A Philosophy of Software Design)。这是课程讲稿,160多页,亚马逊全部是五星好评。 我还没读这本书,但是我看了作者在谷歌的一次演讲(Youtube),介绍了这本书的主要内容。我觉得非常值得看,大部分书教你怎么写正确的代码,这本书教你如... »

Pull Request 的命令行管理

Pull Request 的命令行管理

Github 的一大特色就是 Pull Request 功能(简写为 PR)。 对于多人合作的项目,该功能简直必不可少。大部分人都是使用 Web 界面(如上图),本文介绍如何在命令行下处理 PR,翻译自 Cédric Beust 的文章。 一、Pull Request 是什么? Github 官方文档的定义如下。 “Pull Request 是一种通知机制。你修改了他人的代码,将你的修... »

Page 1 of 8123»