- 博客(68)
- 资源 (4)
- 收藏
- 关注
转载 go语言websocket
1.websocket编程介绍2.websocket程序3.websocket与前端交互 4.利用 Go 语言编写一个简单的 WebSocket 推送服务
2019-02-27 19:41:25 659
原创 在Ubuntu系统下安装Pycharm和ananconda
一:Pycharm的安装1.下载https://www.jetbrains.com/pycharm/download/#section=linux 。 选择Linux,选择下载免费的Community2.(1)# 下载完之后,将安装包放到下载目录下,进入下载目录。 $ cd 下载(2)解压缩 $ tar xfz pycharm-*.tar.gz (后
2017-09-16 13:49:34 3264
原创 1.Golang之sync.Map的学习
学习sync.Map的总结年度最佳【golang】sync.Map详解 - Go语言中文网 - Golang中文社区
2022-01-09 23:25:27 225
原创 HTTP与HTTPS的区别
我是这样理解HTTP和HTTPS区别的 - Jesse131 - 博客园状态码:200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。202 Accepted - [*]:表示一个请求已经进入后台排队(异步任务)204 NO CONTENT - [DELETE]:用户删除数据成功。400 INVALID REQUEST - [POST/PUT/PATCH]
2022-01-09 23:19:41 139
原创 计算机网络常见面试题
计算机网络常见面试题 - 追逐更好的自己 - 博客园计算机网络常见面试题 - 不懒人 - 博客园计算机网络常见面试题_大道朝天的博客-CSDN博客_计算机网络面试题计算机网络——计算机网络常见面试题总结_Magaret的博客-CSDN博客_计算机网络面试题总结...
2022-01-09 23:12:04 765
原创 2.创建型--工厂模式
简单工厂在简单工厂模式中,可以根据参数的不同返回不同类的实例;但是如果要想新增一种产品的时候,需要在运算工厂里的方法加‘Case’分支条件的,修改原有的类,违反了“开放-封闭原则”。pakcage factory//声明工厂结构体type Factory struct {}//声明产品的接口type Product interface { create()}//产品Atype ProductA struct {}func (pA ProductA) create()
2022-01-09 13:27:15 249
原创 1.创建型--单例模式
1.单例模式单例模式采用了 饿汉式 和 懒汉式 两种实现,个人其实更倾向于饿汉式的实现,简单,并且可以将问题及早暴露,懒汉式虽然支持延迟加载,但是这只是把冷启动时间放到了第一次使用的时候,并没有本质上解决问题,并且为了实现懒汉式还不可避免的需要加锁。饿汉式package singleton//饿汉式单例type Singleton struct{}var singleton *Singleton//采用init性能会更好一些func init() { singleton = &
2022-01-09 11:59:22 53
原创 9.waitGroup的使用
写代码实现两个 goroutine,其中一个产生随机数并写入到 go channel 中,另外一个从 channel 中读取数字并打印到标准输出。最终输出五个随机数。(商汤)package mainimport ( "fmt" "math/rand" "sync")func main() { out := make(chan int) wg := sync.WaitGroup{} wg.Add(2) go func() { defer wg.Done() for i :
2021-04-08 21:17:56 67
原创 8.从尾到头打印链表
/** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */func reversePrint(head *ListNode) []int { cur := head var pre *ListNode = nil res :=make([]int,0) for cur != nil { pr.
2021-04-07 22:56:28 44
原创 7.移除链表元素节点
给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。/** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } 初看这个题,我第一反应是要删除其中的节点,就一定要直到被删节点和它的前一个节点。 由此产生了继续用双指针解题的思想。 这种问题的第一反
2021-04-06 23:53:09 49
原创 6.树的前序、中序、后序遍历
type TreeNode struct { Value int Left *TreeNode Right *TreeNode}// 前序遍历func preorderTraversal(node *TreeNode) { if node == nil { return } fmt.Println(node.Value) preorderTraversal(node.Left) preorderTraversal(node.Right)}// 中序遍历func midO.
2021-04-06 20:49:41 53
原创 5.层序遍历
1.给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。package main import "fmt" type TreeNode struct { Val int Left *TreeNode Right *TreeNode} func levelOrder(root *TreeNode) [][]int { res := [][]int{} if root == nil{ return res }
2021-04-06 20:46:29 65
原创 4.求两个链表的交接点
1.解题思路此处撰写解题思路这应该是最简单的解法了,通过map特性对链表进行判断,先存入其中一个链表,然后再存入另一个的时候判断当前链表是否已经存在,如果存在则说明是交叉链表,且当前节点为交叉节点时间复杂度:O(n)空间复杂度:O(n)代码/** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */func getInter
2021-04-05 23:23:05 65
原创 3.反转链表
1.迭代func reversrList(head *ListNode) *ListNode { cur := head var pre *ListNode = nil for cur != nil { pre, cur, cur.Next = cur, cur.Next, pre //这句话最重要 } return pre}2.迭代 不使用递归,使用三个指针来完成迭代 第一个curr代表当前节点 第二个prev代...
2021-04-05 23:03:41 50
原创 2.判断链表是否有环、环的长度、环的入口
package mainimport "fmt"type ListNode struct { Data interface{} Next *ListNode}func HasCycle(head *ListNode) bool { if head == nil { return false } fast, slow := head, head for fast !.
2021-04-01 22:36:17 64
原创 1.合并链表
/** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */func mergeTwoLists(l1 *ListNode, l2 *ListNode) *ListNode { if l1==nil{ return l2 } if l2==nil{ return l1 }.
2021-03-28 22:25:33 72
原创 RTSP和HTTP
1.RTSP协议RTSP作为一个应用层协议,提供了一个可供扩展的框架,使得流媒体的受控和点播变得可能,它主要用来控制具有实时特性的数据的发送,但其本身并不用于传送流媒体数据,而必须依赖下层传输协议(如RTP/RTCP)所提供的服务来完成流媒体数据的传送。RTSP负责定义具体的控制信息、操作方法、状态码,以及描述与RTP之间的交互操作。2.HTPP协议CCTV1高清:http://ivi...
2019-12-18 22:49:28 472
原创 linux下dirname的用法
用脚本获取脚本所在的目录路径,两种方法:1.在命令行状态下单纯执行 $ cd `dirname $0` 是毫无意义的。因为他返回当前路径的"."。这个命令写在脚本文件里才有作用,他返回这个脚本文件放置的目录,并可以根据这个目录来定位所要运行程序的相对位置(绝对位置除外)。新建test.sh,输入:#!/bin/bash#获得目录(cd `dirname $0`;pwd)...
2019-12-17 10:08:12 2538
原创 centos7.5安装go环境
1.通过wget命令下载gocd /datamkdir workcd workwget https://studygolang.com/dl/golang/go1.10.1.linux-amd64.tar.gztar -xvf go1.10.1.linux-amd64.tar.gz2.设置环境变量vim /etc/profile添加:export GOROOT=/dat...
2019-12-14 20:09:45 291
原创 腾讯云telnet不通某一个端口,需要在防火墙中添加该端口
centos 7环境1.输入:iptables -L -n,看看是否开通了10008端口。2.如果没有10008端口,输入:iptables -I INPUT 5 -p tcp --dport 10008 -j ACCEPT。3.telnet ip地址 10008,测试成功问题解决。参考:https://cloud.tencent.com/document/product/...
2019-12-13 22:01:16 3505
原创 linux之sed
1.删除文件中的包含某个字符串的行 : sed '/*func/d;/*param/d;/*@/d;/*return/d;/*\//d' www.txt > www.log // 删除含字符串"*func"或"*param" 、"*@" 、"*return" 、"*\/" 的行,将结果保存到www.log2.数据的替换 :sed 's/要被取代的字串/新的字串/g'...
2019-12-06 15:58:53 74
原创 三、数据库脚本
1.首先编写sql脚本。 创建test.sql文件,内容为:create database data;use data;create table if not exists tb_tmp(id smallint,val varchar(20)); insert into tb_tmp values (1,'jack'),(2,'robin'),(3,'mark'); ...
2019-12-01 19:48:54 161
原创 Centos7安装git
1.查看git版本,版本过低,移除该版本git 查看版本 git version 移除版本 yum remove git2.安装git yum install git
2019-11-25 22:11:42 100
原创 电脑主机不允许连接腾讯云mysql
错误详情:host 10.65.35.117 i s not allowed to connect to this Mysql server.解决方法:1、授权所有主机登录: user使用password从任何主机连接到mysql服务器的话。其中,user为用户名,平时基本取为root。password为数据库密码。 mysql>mysql -u root -p;...
2019-11-23 18:55:28 330
原创 go语言格式化输出%d、%s、%v、%+v等
package main import ( "fmt") type userInfo struct{ Name string Age int Sex string Flag bool} func main() { userinfo := userInfo{Name: "...
2019-11-15 15:34:37 8235
原创 二、数据库的创建和表的操作
1.数据库的创建和删除登录mysql:123456为密码mysql>mysql -u root -p123456 数据库的创建:mysql>create database test;数据库的删除: mysql>drop database test;2.数据表的操作 创建数据表: CREATE TABLE IF NOT EXIST...
2019-11-13 23:00:15 222
原创 一、mysql数据库的下载和安装
1.数据库的下载,官网Mysql。mysql-8.0.18-winx64。2.数据库的安装: (1)解压mysql-8.0.18-winx64。 将解压的后的mysql-8.0.18-winx64放在D盘,创建my.ini文件。文件里面内容为:将basedir设置为E:\mysql-8.0.18-winx64,将datadir设置为E:\mysql-8.0.18-winx64\da...
2019-11-13 21:34:05 97
原创 go语言中常出现的编程错误
1. invalid identifier 的情况 假如出现类似的报错,那就是代码里面的空格,tab,回车什么的写入了其他编码,可能是因为把代码粘贴到了别的文本编辑器,或者从其他的地方复制代码出现的了这种情况。 或者是所在的代码行存在中文的标点符号(如将中文逗号改成英文逗号)解决方法:把所有的\n \t \r 等字符串删除,用代码编辑器的\t \n \r替换即可。2.pers...
2019-03-06 14:16:14 324
原创 linux系统下常用的 命令
1.linux常用命令总结cd /:进入根目录cd :回到自己的目录(用户不同则目录也不同,root为/root,xxt为/home/xxtcd .. :回到上级目录pwd:显示当前所在的目录ls:列出目录下的文件和vi相关的:vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并...
2019-03-05 10:22:05 89
原创 SecureCRT的使用以及如何使用tcpdump进行抓包
1.SecureCRT的使用 SecureCRT是最常用的终端仿真程序,简单的说就是Windows下登录UNIX或Liunx服务器主机的软件,本文主要介绍SecureCRT的使用方法和技巧VanDyke CRT 和 VanDyke SecureCRT是最常用的终端仿真程序,简单的说就是Windows下登录UNIX或Liunx服务器主机的软件。二者不同的是SecureCRT支持SS...
2019-03-05 10:12:11 5915 1
原创 go语言客户端和服务器端通信以及wireshark抓包
1.客户端代码:package mainimport( "golang.org/x/net/websocket" "fmt" "net/http" "flag")type WSServer struct { ListenAddr string}func (this *WSServer)handler(conn *websocket.Con...
2019-03-02 10:00:56 849
转载 go语言中http.handle和http.HandleFunc
一.go语言中http.handle和http.HandleFunc二.go语言中的网络编程主要通过net包实现,net包提供了网络I/O接口,包括HTTP、TCP/IP、UDP、域名解析和Unix域socket等。和大多数语言一样go可以使用几行代码便可以启动一个服务器,但是得益于goroutine的配合go实现的服务器拥有强大并发处理能力。 socket编程:Socket又称...
2019-02-27 16:33:15 8183
原创 linux常用命令(面试)
1.检查端口是否被监听netstat -an (列举正在监听网络的端口)netstat -an | grep 端口号 (某一端口的监听信息)2.通过域名获取ip地址ping www.baidu.com (ping +域名)3.测试端口号测试端口使用 telnet +IP地址或主机名 +端口...
2019-02-27 15:56:43 232
转载 go语言中select case
go语言中select机制golang 的 select 的功能和 select, poll, epoll 相似, 就是监听 IO 操作,当 IO 操作发生时,触发相应的动作。
2019-02-27 15:09:31 1422
区间优化工具以及程序
2018-03-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人