go

BATJ 常考的 21 条 Linux 命令

风格不统一 提交于 2021-01-17 03:47:37
阅读本文大概需要 7.8 分钟。 来源: http://t.cn/EqTIhES 友情提示 :之前的送书活动将于明天截止(4.29),还没有参与的小伙伴可以到这里参与下: Linux云计算如何入门,送 3 本经典纸质书 图个手气,重在参与,之后还会给大家争取更多这样的活动,希望大家多多支持。 一、文件和目录 1. cd命令 (它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径) cd /home 进入 '/ home' 目录 cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 cd ~user1 进入个人的主目录 cd - 返回上次所在的目录 2. pwd命令 pwd 显示工作路径 3. ls命令 查看文件与目录的命令,list之意) ls 查看目录中的文件 ls -l 显示文件和目录的详细资料 ls -a 列出全部文件,包含隐藏文件 ls -R 连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来 ls [0-9] 显示包含数字的文件名和目录名 4. cp命令 (用于复制文件,copy之意,它还可以把多个文件一次性地复制到一个目录下) -a :将文件的特性一起复制 -p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份 -i :若目标文件已经存在时,在覆盖时会先询问操作的进行

wss nginx代理无法获取真实IP解决

夙愿已清 提交于 2021-01-17 03:35:22
最近在做一个小游戏项目,准备上线的时候,却发现移动网络居然连接不了mqtt ,后来客户端把ws 换成wss就解决连接的问题了,但是随之而来的还有另一个问题,服务器无法获取到真实IP了。大致数据是这样的 猜测方向,应该是由于使用了证书文件有关 Nginx简单配置如下 upstream mqttServer { server 127.0.0.1:3088 weight=1; } server { listen 80; listen 443 ssl; server_name www.*****.com; ssl_certificate cert/*****.pem; ssl_certificate_key cert/********.key; ssl_session_timeout 5m; ssl_ciphers ******************************; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { index index.htm index.html index.php; } location /mqtt { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded

科技爱好者周刊(第 141 期):封闭系统的胜利

瘦欲@ 提交于 2021-01-16 12:49:23
这里记录每周值得分享的科技内容,周五发布。 本杂志开源(GitHub: ruanyf/weekly ),欢迎提交 issue,投稿或推荐科技内容。 周刊讨论区的帖子 《谁在招人?》 ,提供大量程序员就业信息,欢迎访问或发布工作/实习岗位。 封面图 2020年7月21日,SpaceX 公司的 Falcon 9 重型火箭即将发射。NEOWISE 彗星就在它的上方,划过浩瀚宇宙。很多网站评选这张照片为太空探索年度照片。( via ) 本周话题:封闭系统的胜利 去年的一件大事,苹果公司发布 M1 芯片。 它的表现好得惊人,比原先英特尔的芯片更快、更省电、还更便宜。 为什么 M1 芯片的表现这么好? 一个 原因 是,它其实不能算作 CPU,而是一个单片系统 (System on a Chip,简称 SoC),里面集成了中央处理器 CPU、图形处理器 GPU、机器学习芯片 NPU、安全芯片等等。 当代芯片的制造技术已经发展到不可思议的程度,海量的晶体管可以做进一块指甲盖大小的硅片。以前,不同的电路需要由不同的芯片提供,现在可以集成为一块芯片。 正是由于这么多组件做在一起,苹果才有办法,最大限度地优化电路,提高协同能力,节省电力。再加上,操作系统也是自家的,可以配合着修改底层,所以性能才能提高这么多。 我问大家一个问题,如果 M1 大获成功,其他公司会怎么反应? 答案很简单,别的公司不得不跟进

聊一聊 golang 中的 Context 的实现

可紊 提交于 2021-01-16 07:38:58
编程语言中的 Context Context 的直接翻译是上下文或环境。在编程语言中,翻译成运行环境更合适。 比如一段程序,在执行之初,我们可以设定一个环境参数:最大运行时间,一旦超过这个时间,程序也应该随之终止。 在 golang 中, Context 被用来在各个 goroutine 之间传递取消信号、超时时间、截止时间、key-value等环境参数。 golang 中的 Context 的实现 golang中的Context包很小,除去注释,只有200多行,非常适合通过源码阅读来了解它的设计思路。 注:本文中的golang 均指 go 1.14 接口 Context 的定义 golang 中 Context 是一个接口类型,具体定义如下: type Context interface { Deadline ( ) ( deadline time . Time , ok bool ) Done ( ) <- chan struct { } Err ( ) error Value ( key interface { } ) interface { } } Deadline() Deadline() 返回的是当前 Context 生命周期的截止时间。 Done() Done() 返回的是一个只读的 channel,如果能从这个 channel 中读到任何值

Linux下操作SQLServer

风格不统一 提交于 2021-01-16 06:40:41
1. 说明  SQL Server是由Microsoft开发和推广的关系数据库管理系统。本文介绍在linux系统下,SQL Server的基本命令。 2. SQLServer基本命令 > sqlcmd - S localhost - U SA - P 密码 # 用命令行连接 (1) 建库 > create database testme > go (2) 看当前数据库列表 > select * from SysDatabases > go (3) 看当前数据表 > use 库名 > select * from sysobjects where xtype = ' u ' > go (4) 看表的内容 > select * from 表名; > go 3. Python程序访问SQLServer数据库 import pymssql server = ' localhost ' user = ' sa ' password = 密码 database = ' ecology ' conn = pymssql.connect(server, user, password, database) cursor = conn.cursor() cursor.execute( """ IF OBJECT_ID('persons', 'U') IS NOT NULL DROP TABLE

Docker

不问归期 提交于 2021-01-16 05:57:22
docker是一个云计算平台,他利用了linux的lxc、AUFU、Go语言、cgroup实现了资源的独立,可以很轻松的实现文件、资源、网络等隔离,他最终的目标是想实现类似PAAS平台的应用隔离,据说将要开源,希望大家关注 Notable features Filesystem isolation: each process container runs in a completely separate root filesystem. Resource isolation: system resources like cpu and memory can be allocated differently to each process container, using cgroups. Network isolation: each process container runs in its own network namespace, with a virtual interface and IP address of its own. Copy-on-write: root filesystems are created using copy-on-write, which makes deployment extremeley fast, memory-cheap and

第四次学习记录(ROS)

空扰寡人 提交于 2021-01-16 05:40:50
学习目标: ROS 学习内容: 熟悉ROS 学习时间: 周一晚上7:00-8:00 周二晚上8:00-9:00 周三晚上8:00-9:00 周四晚上8:00-9:00 学习产出: Test roscore $ roscore Start turnlesim Start a turnlesim node and control its movement through the keyboard. PS:To stop the cursor at this terminal. $ rosrun turtlesim turtlesim_node $ rosrun turtlesim turtle_teleop_key Start RViz Rviz is a 3D visualization tool for ROS Subscribes to topics and visualizes the message contents DIfferent camera views.For example,orthographic,top-down. Interactive tools to publish user information Save and load setup as RViz configuration Extensible with plugins $ rviz Start

.NET5引发持续关注,千万并发项目,能否超越JAVA,成为超配?

左心房为你撑大大i 提交于 2021-01-16 01:56:20
2020年11月12日零时,阿里巴巴发布的数据显示,2020年天猫双11全球狂欢季(11月1日至11日)总成交额(GMV)达到4982亿元人民币。 在发布总成交额后,淘宝天猫总裁蒋凡向现场媒体透露,按照同周期、同口径比较,今年双11期间的GMV比去年同期增长了1032亿,增速是26%。 这是过去三年来最高的增速。 同时,它还同步创造了两项新奇迹:单日网购订单产生的物流包裹达13亿件,支付宝承载网购支付最高峰值约每秒6100万次。 是不是很疯狂?一个网站能创造这么大的价值,当然,主要得益于马云爸爸那颗外星人般的头脑,同时淘宝网强大的高并发处理能力,起到了决定性的支撑作用。 2020年11月11日微软在dotnet conf 2020 大会上正式发布了.NET 5,具体参看博客 https://devblogs.microsoft.com/dotnet/announcing-net-5-0/ 。这是 .NET 开发人员平台的下一个大版本。.NET 5 是 Microsoft 承诺统一不同 .NET 实现的关键所在,这些是跨操作系统、Web 和各种形态的应用。从今天起,开发人员可以下载.NET 5.0,用于 Windows、macOS 和 Linux,用于 x86-64 和 Arm32/64。 2020年11月16日~18日晚8点~10点,.NET资深架构师Tony老师

mac go安装和环境变量配置

帅比萌擦擦* 提交于 2021-01-15 19:22:43
1.下载安装包,地址: https://studygolang.com/dl 选择mac 推荐下载版,解压安装即可 2.配置环境变量: go语言安装好后,默认的安装路径是:/usr/local/go,可以进去看看各种安装文件 sudo vim /Users/YOUMACNAME/.bash_profile 打开 .bash_profile 文件,在最后一行输入: export GOPATH=/usr/local/go export GOBIN=$GOPATH/bin export PATH=$PATH:$GOBIN 保存,执行 source .bash_profile 文件,使之生效 3.查看版本: 执行 go version 查看版本,go env 查看环境变量 4.warning提示解决: warning: GOPATH set to GOROOT (/usr/local/go) has no effect 表示,go语言的安装root目录是/usr/local/go,那么go语言的开发项目路径也是这个,就不太合适。因此,需要修改go语言项目的路径 参考路径: sudo vim /Users/lihanwen/.bash_profile 修改: GOPATH=/Users/YOUMACNAME/work/go_project (参考路径) 再执行: source .bash

【基本流程控制】1. if语句

给你一囗甜甜゛ 提交于 2021-01-15 06:13:13
Go语言-if语句 Go语言的流程控制主要包括条件分支、循环和并发。在本章,我们先来谈谈基本的流程控制语句。具体到本小节,我们将提及 if 语句。 if 语句一般会由关键字 if 、条件表达式和由花括号包裹的代码块组成。所谓代码块,即是包含了若干表达式和语句的序列。在Go语言中,代码块必须由花括号包裹。另外,这里的条件表达式是指其结果类型是 bool 的表达式。一条最简单的 if 语句可以是: if 100 > number { number += 3 } 这里的标识符 number 可以代表一个 int 类型的值。这条 if 语句的意思是:如果 number 的值小于 100 ,那么就把其值增加 3 。我还可以在此之上添加 else 分支,就像这样: if 100 > number { number += 3 } else { number -= 2 } else 分支的含义是,提供在条件不成立(具体到这里是 number 的值不小于 100 )的情况下需要执行的操作。除此之外, if 语句还支持串联。请看下面的例子: if 100 > number { number += 3 } else if 100 < number { number -= 2 } else { fmt.Println("OK!") } 可以看到,上述代码很像是把多条 if 语句串接在一起了一样。这样的