自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

如切如磋,如琢如磨

https://github.com/gityjx

  • 博客(80)
  • 资源 (7)
  • 收藏
  • 关注

原创 promise,async,await的区别

终于把promise, async, await的区别和联系弄清楚了,看下面代码写法1,2是promise的写法写法6是async和await的写法// 以下三个请求依次执行req1 = () => { return fetch("http://example.com/api/v1/get")}req2 = () => { return fetch("http://example.com/api/v1/post")}req3 = () => { return fetch("

2022-03-20 19:07:30 1065

原创 golang的syncMap写入性能差的原因

syncMap内部设计了read,dirty和mu三个字段,如下type Map struct { mu Mutex dirty map[interface{}]*entry misses int}重点关注其中的readread保存只读数据, 其中的amended=true表示read中的数据和dirty中不同,默认falsetype readOnly struct { m map[interface{}]*entry amended bool // true if the

2021-08-25 16:03:09 547

原创 LeetCode50. 动态规划方法求阶乘

leetcode 50 pow(x, n)三种解决思路调用库函数暴力迭代分治法(本文方法)1, 2就不用说了, 第三种分治法,分治法本质上是一种动态规划方法,例如2的十次方求法可以先求 2的5次方, 再求2的2次方。 需要注意的是2的5次方和2的2次方不需要求2次,而是使用备忘录将求过的子问题进行记录,下一次求求解时直接使用。count变量和前三个函数式为了打印递归层次帮助理解的var count = 0func printIndent(){ fmt.Printf(".

2021-07-31 21:06:25 2444 1

原创 计算机网络简单了解

五层协议:应用层:产生数据的应用程序表示层:程序员编程会话层:产生一个网络会话,例如一个TCP俩连接就是一个会话传输层:TCP协议网络层:IP协议数据链路层:ARP协议物理层:mac地址在数据链路层ip地址在网络层交换机和集线器都工作在数据链路层,集线器相当于网线,交换机可以隔离冲突域但是不能隔离广播域路由器可以隔离冲突与和广播域名mac地址是逐网段管用的,即mac地址在跨子网传输时是会改变的,但是ip地址在传输的过程中跨越子网也不会改变。6.ipv4地址划分的两个阶段,1)分类

2020-08-30 21:43:05 176

转载 Centos7 虚拟机强制关机提示进入紧急模式failed to mount /sysroot

xfs_repair -v -L /dev/dm-0用这句,很管用,不知道为什么,以后再探索。参考: https://blog.csdn.net/shine_journey/article/details/81095136

2020-06-03 10:45:05 3637

原创 golang通道的顺序性保证

一个通道上的第n次成功发送操作的开始发生在此通道上的第n次成功接收操作完成之前,无论此通道是缓冲的还是非缓冲的。一个容量为m通道上的第n次成功接收操作的开始发生在此通道上的第n+m次发送操作完成之前。 特别地,如果此通道是非缓冲的(m == 0),则此通道上的第n次成功接收操作的开始发生在此通道上的第n次发送操作完成之前。假设通道为channel则顺序为开始发送-> 开始接收-&...

2020-03-25 18:09:31 1411

原创 golang的加锁map与syncmap性能分析

syncmap是golang1.5引入的线程安全的map,以下是测试程序,结论: 不建议使用sync.map, 原因: 1. 性能不及加锁的map, 2. 对json不友好测试程序:package main_testimport ( "math/rand" "sync" "testing")type WrapedMap struct { lck sync.Mutex m ...

2020-03-23 16:15:59 2525

转载 golang的[]byte与string之间高效转换

golang的[]byte个string一个是可变类型一个是不可变类型,转换的时候会重新开辟内存,在程序并发即使上百万的时候会出现内存问题,以下是unsafe的转换方法package mainimport ( "fmt" "strings" "unsafe")func str2bytes(s string) []byte { x := (*[2]uint...

2020-03-04 22:00:02 3249

原创 leveldb持续写入场景下速度变慢

go语言版本实现: https://github.com/syndtr/goleveldb官方宣称可以达到30w的qps,但是该go语言版本实测但qps大于20w时,一开始写入速度正常,但是持续写入几分钟后,写入速度由十几毫秒变为几分钟,系leveldb的compaction操作导致,IO阻塞之后会导致大量协程堆积从而造成内存雪崩式升高,这在高并发环境中不能容忍,故弃用。后来者勿踩此坑!!!...

2020-02-13 22:09:20 957 1

原创 编译vim8提示if_perl.xs:57:20: fatal error: EXTERN.h: No such file or directory

是由vim导致的,两种办法:1). yum install perl-ExtUtils-Embed 安装perl-ExtUtils-Embed2). ./configure去掉–enable-perlinterp

2019-12-31 13:19:22 2678 1

原创 go中struct实现多个接口.type会显示哪个接口

package mainimport ( "fmt" "reflect")type IntF1 interface { show1() string}type IntF2 interface { show2() string}type IntF3 interface { show3() string}type Cls struct { v1 string ...

2019-11-06 17:23:29 1193

原创 OAuth2.0授权流程(以github授权为例)

2019-05-17 15:30:34 539

原创 Python中对json进行编码和解码的问题

在web开发中经常会在前后端之间通过json传递数据,但是又不能像客户端编程那样直接传递对象。所以json用于将两边的对象编码成数据,再在另一边解码出来。传递的过程中要先构造json对象,再将json对象编码为json字符串,而在接收的一端要先将json字符串解码而json对象1. ndarray编码为json字符串import numpy as npimport jsondata = n...

2019-03-20 18:23:44 3018

原创 程序员的自我修养 - 读书笔记文字版

第1部分 简介第1章 温故而知新程序在运行的时候先通过分段(segmentation)的方式将虚拟地址空间与真实的物理内存地址空间进行一一的映射,但是这种方式每次换入换出的是整个程序,导致IO变大,更具局部性原理,可以采用分页(Paging)来解决. 分页就是将地址空间人为的等分成固定大小的页,每页的大小(4KB或者4MB)由操作系统确定。 几乎所有操作系统都采用4KB的分页,那么对于一个...

2019-03-14 13:20:00 3084

原创 git和github一些概念和操作备忘

origin默认是远程仓库HEAD永远指向当前的commit一个branch可以理解为一个commit,也可以理解为从起始commit开始的一条分支, branch可以和master在一条线上,branch也可以另起一条分支,branch可以领先于master也可以落后于master所以“”“”branch就是某个commit的一个引用,只是在git log的时候会列出当前路径的...

2019-03-14 13:17:40 166

原创 Python的模块和包以及代码中引用报错等各种问题一次性说清楚

python包的引用规则总的来说,不要被PycharmIDE所提供的便捷所迷惑,应该直接看Python语言本身的调用规则,总结规则如下:只有永久加入到环境目录下的包和模块才能不sys.path.append导入就直接使用,否则必须用sys.path.append导入,这里面存放的是一个路径的列表,虽然使用绝对路径和相对路径都可以, 但是当调用的包和本身没有经常放在一起的话应该用绝对路径。...

2019-01-24 19:00:11 3741

原创 解决windows下环境变量太大的问题(终极!!可用)

笔者电脑上装了一大堆软件,有一大堆的环境变量需要配置,而且有些软件, 笔者也喜欢像linux上一样通过命令行调出,可是win10限制环境变量的长度(如下图),上网找了很多解决办法,有说统一前缀的,也有创建软连接的,这些方法本质上都是在path里面搞文章,麻烦!!!,而且不根本解决问题,不料,今天灵光一现,得出一妙法(呵呵)解决方法就是,新创建拓展环境变量,将这个环境变量加入PATH中,你以后要...

2018-12-29 18:08:44 23020 9

原创 VS2017 for linux 配合gcc/g++/gdb调试C/C++代码

第1步,准备一个Linux操作系统远程的或者本地虚拟机里的都可以,但是这个系统要和我们写代码的机器之间要网络连通,ubuntu或者Centos都没关系在linux上安装必要的编译器和调试器还有通过工具sudo yum install gccsudo yum install gcc-c++sudo yum install gdbsudo yum install rsync第2步,安装...

2018-12-18 18:00:34 5036

原创 打印从1到最大的n位数

这个问题陷阱在于没有规定n位数的位数,也就是说这个n可能是10000,这样的话,int和long long都无法存储,所以采用string字符串来存储这个数字, 第二个陷阱是在打印字符串的时候不能从头到尾全打印,要从第一个非零的数开始打印。类声明如下:#pragma once#include<iostream>using namespace std;class printN...

2018-12-10 16:09:33 407

原创 LeetCode之443. 压缩字符串

443 题是简单题,用C#,java,python等高级语言来说很简单,但是我非要用不擅长的C++来解,而且还要用O(1)空间复杂度,其实即使这样也不难,可是我C++比较菜,这道题试了好几个小时,主要问题在指针和迭代器的区别以及C++中各种数据类型的区别和联系上,幸运的是最后解出来了,而且显示战胜了100%的提交。不说了下面是我的代码思路:先让tmp等于整个字符,然后循环遍历vector,遇到和...

2018-11-30 13:51:57 465

原创 C/C++中指针,堆栈和寻址空间的理解

今天研究了一下C/C++中指针的问题关键字: x86, x64,静态内存分配,栈区,寻址空间问题1:学C的时候说C语言静态数组一旦声明就不能改变大小,可是想过这是为什么吗?首先,C语言的静态数组存放再栈区,栈区地址再x86系统中自上而下存,在x64系统中自下而上存,但是内部元素的地址增长都是递增的。例如对于int a[2]={1,2};int b[3]={3,4,5};在x...

2018-11-27 15:05:34 1716

原创 RNN,LSTM和GRU和word2vec及embedding等的联系与区别解析。

普通的MLP和CNN都没有事件维度,可以从RNN开始引入了事件维度,这在理解上给我们带来了一些困难,笔者为了避免遗忘,将这种区别和特点记录如下。(没时间画图,就看文字吧,写的比较简单。。。)资料 https://zhuanlan.zhihu.com/p/36455374这篇博客讲的其实很清楚了,为了帮助理解,我总结如下:1. RNN可以看成是有t个3层的全连接神经网络,从1-...

2018-09-12 13:31:56 4137

原创 腾讯模拟笔试歌单问题

腾讯2018年8月31日模拟笔试的题目,这道题在网易还是贝壳的笔试上看到过,总的来说难度不大,下面是题目一下是C#代码using System;using System.Collections.Generic;namespace musicList{ class Program { static void Main(string[] ar...

2018-08-31 21:38:11 246

原创 对数据库设计三大范式的理解

一点乱糟糟的前言都说关系型数据库和面向对象的思想是一对双胞胎,深入理解这句话就会明白其中包含的意思了。 对于OOP来说,三大特点,封装继承,多态。这不是本文的重点,所以此处不详述。 对于关系型数据库来说,有六大范式,此处只谈前三大。 问题: 为什么OOP要提出三大特点和23中设计模式呢,关系型数据库又为什么要满足三大范式呢?这个问题我隐约有所顿悟,但是难以用语言来回答。。。,大体来说...

2018-08-11 18:01:42 959

原创 关于WinForm配置文件的问题

配置文件在winform中作用巨大,也是因为有了配置文件,反射的力量才被大大增强。这里说一下操作配置文件app.config的时候遇到的坑。首先明确一下app.config和“项目名/exe.config”的区别,exe.config文件是运行之后才生成的在bin目录下,是程序在运行时候的配置文件。 问题: 运行程序修改配置文件之后再保存,发现程序读取的是修改后的文件,关闭程序再打开,读...

2018-08-08 18:05:11 1103

原创 C#用两个栈来实现队列

队列的两种实现方式一种是数组一种是栈,此处介绍如何将用两个栈来实现一个队列我们知道栈的特点是FILO(先进后出),而队列的特点是FIFO(先进先出),所以用栈实现队列必须使用两个栈,一个用于执行push和pop操作,另一个用于存放前一个临时出栈的变量。下面是C#代码(完全原创,如有雷同,不胜荣幸)using System.Collections.Generic;namespa...

2018-07-24 21:24:31 760

原创 用samba在linux和windows之间共享文件

今天偶然发现三年前做嵌入式的时候写过一些小的总结,我现在不做嵌入式了但是这些东西总不能这么可惜的丢掉,所以我决定把他们贴出来,毕竟走过的路走要留下痕迹的。第一篇:用samba在linux和windows之间共享文件 在做linux嵌入式开发的时候,不得不搭建文件系统使得主机windows和从机linux之间 共享文。虽然VMware已经提供了VMware tool可以在一定程度...

2018-07-11 19:12:05 3187

原创 SpringBoot报错BeanCreationException: Error creating bean with name 'entityManagerFactory解决办法

今天用SpringBoot开发restful接口的时候遇到如下问题,检查了半天才发现是包引入错了,一百度网上错的人还不少,可能原因主要是在给实体类做注解的时候输入id,intellij idea有可能会导入import org.springframework.data.annotation.Id;正确的应该是import javax.persistence.Id;,小错误但是不好发现,记录一下...

2018-07-10 18:16:30 21702 6

原创 远程过程调用(RPC)和表现层状态转移(restful)的理解

这段时间接触了一些跨应用程序通信的技术,感觉眼前豁然开朗,现大略总结之。 (简单画的图,希望能大概表达清楚)1.普通的应用程序 看图简单的说,最早,位于不同计算机上的程序肯定是不能当作一个程序的来用的,也就是C/S的那种思路。2.restful 风格 restful是从web开发当中成长起来的风格模式,是http协议的起草者之一在2000年的博士论文中提出的,简答的说就是直接...

2018-07-10 15:30:37 580

原创 用EF6连接MySql数据库闪退和若干问题解决

在visual studio中用EF6连接Mysql数据库,搞了我两天,刚刚搞定,其实很简单就是版本的问题,这里填个坑。首先,必备插件 1. MySql Connector/NET 2. MySql for Visual Studio 3. Nuget安装EntityFramework 4. Nuget安装Mysql.Data.Entity其次,有几个注意点MySql和EF6...

2018-07-05 18:05:06 2062

原创 算法validWordSquare问题

给定一个单词序列,检查它是否构成一个有效单词广场。 一个有效的单词广场满足:如果第k行和第k列读取相同的字符串, 并且0≤k<max(numRows numColumns)。这个题的坑在0≤k<max(numRows numColumns), 先补全成方阵再比较。class Solution: """ @param words: a lis

2018-07-04 13:42:58 201

原创 算法similarRGB问题

In the following, every capital letter represents some hexadecimal digit from 0 to f.The red-green-blue color “#AABBCC” can be written as “#ABC” in shorthand. For example, “#15c” is shorthand for th...

2018-07-04 10:45:32 347

原创 Python提示unindent does not match any outer indentation level处理方法

在Python中,tab和空格是分开的,在一个文简历混用Tab和空格会报错,即unindent does not match any outer indentation level 2步解决这个问题1. 打开notepad++的空格和tab显示(视图-> 显示符号 -> 显示空格与制表符) 然后就可以看到空格还是tab了 2. 全部统一改为TAB或者空格(编辑-&gt...

2018-06-30 21:05:30 109707 1

原创 Tensorflow报错Assign requires shapes of both tensors to match. lhs shape= [xxx] rhs shape= [xxx]的解决方法

开门见山,遇到这个问题,第一,确定修改后的网络结构和你输入的自定义数据是对应的,第二,删掉代码目录下logs(一般叫logs,也可能叫别的)文件夹,因为这里面记录了用别的数据集训练时候的网络结构,会对你的训练造成干扰。···具体问题:最近在跑GAN程序的时候遇到的这种错误,注意,这个错误一般是你因为你修改了网络参数所导致的,例如修改卷积核尺寸,等等。 代码来自 https://g...

2018-06-29 13:53:23 23118 4

原创 visual studio遇到C1083 无法打开包括文件: “opencv2/opencv.hpp”: No such file or directory 终极解决方案

很多人运行Opencv的时候(其实不仅仅是opencv,C++的代码都会遇到这个问题)遇到这个问题,以为是包含目录没有添加进去,但是添加了之后发现还是有问题为什么呢?其实是因为visual studio的生成模式Debug/Release搞的鬼,跟代码无关。其实VS提供的Debug和Release两种调试模式完全使用不同的两套类库,所以在设置的时候一定要看清,看下图上图中,VS在项...

2018-06-27 20:55:18 56207 20

原创 LeetCode之102. Binary Tree Level Order Traversal

Given a binary tree, return the level order traversal of its nodes’ values. (ie, from left to right, level by level).For example: Given binary tree [3,9,20,null,null,15,7], 3 / \ 9 20 ...

2018-06-25 17:24:04 151

原创 LeetCode之1. Two Sum

Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the same ...

2018-06-20 18:06:25 129

原创 LeetCode之283. Move Zeroes

Given an array nums, write a function to move all 0’s to the end of it while maintaining the relative order of the non-zero elements.Example:Input: [0,1,0,3,12] Output: [1,3,12,0,0] Note:You m...

2018-06-19 12:00:53 125

原创 C#中的XML序列化和Json序列化,普通数组转字节数组

C#在于其他语言进行数据通信时,直接传递的时二进制的字节码,而一个要传递的对象的二进制字节码在C#中有很多表示方法。其中直接转换为Byte数组和序列化未byte数组,还有xml序列化,json序列化最未常用,下面简单举例介绍一下这几种方法。using System;using System.IO;using System.Runtime.Serialization.Formatters....

2018-06-09 22:54:50 1476

原创 前端解惑之设备独立像素,设备独立像素比,和viewport

最近一直在研究移动设备的前端开发,发现于PC大有不同。要说吗这种不同,首先就要从meta标签的viewport开始首先在传统的PC网页的前端开发当中,浏览器只不过是庞大桌面上的一个小应用,且大小可调,但是在移动端,浏览器默认是占满整个屏幕的(除了状态栏)。在传统web开发中最开始很少考虑网页自适应的问题,近些年显示器大小多变,才导致了前端开发的自适应难题,但是这于我们说的移动端的自适应还是...

2018-06-05 15:02:11 1810

用两个栈实现队列(纯原创,亲测可行)

队列的两种实现方式一种是数组一种是栈,此处介绍如何将用两个栈来实现一个队列

2018-07-24

C#中二进制数组转换,二进制序列化和json序列化方法

C#中二进制数组h和各种常规数组的转换,二进制序列化和json序列化方法以及对应的反序列化方法的例子,帮助初学者。

2018-06-09

Python编写GUI界面

Python最为脚本语言却可以和强大的QT搭配,编写出超酷的用户界面。

2018-04-04

博恩·崔西的时间管理课

该书是时间管理领域的经典之作,无数人受益其中,以往也能帮到你。

2018-04-04

简明python教程

很好的Python入门书,详细介绍了Python的语言结构,语言特性和优势。

2018-04-04

正太分布的前世今生.pdf

关于正太分布,最小二乘等等的介绍,最小二乘可以说是现阶段AI的基础之一。

2017-12-25

机器学习论文TOP20

机器学习论文TOP20,最经典的二十篇机器学习的论文。看了总是有好处的。

2017-11-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除