自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (1)
  • 收藏
  • 关注

原创 如何解析DICOM文件中的Pixel Data ?

YBR_FULL_422 一般用于JPG有损压缩格式的彩**图像,每两个像素共同使用32位,每一个像素都有自己的Y(Luminance 亮度),但是共享相同的B(Blueness 蓝色), R(Redness, 红色)。对于多帧图像,它是这样排列的:第一帧的RRR..,第一帧的GGG...,第一帧的BBB...,第二帧的RRR..,第二帧的GGG...,第二帧的BBB...每一个像素的取样数,一般来说,CT,MR,DR等灰度图像都是1,而彩超等彩**图像都是3,分别表示R, G, B三个颜色通道。

2023-04-03 13:40:57 1313 1

转载 OpenGL 点精灵

简述点精灵使使用片元着色器渲染的OpenGL点。运行的时候需要考虑点内的片元坐标,这个坐标由内置的两维向量gl_PointCoord保存,这个变量最常见的作用是当作纹理坐标使用或者用于计算颜色和覆盖率。给点精灵贴上纹理在OpenGL绘制的点,只有一个位置坐标。如果要给一个点贴上纹理,则需要使用内置变量gl_PointCoord来查询纹理中的纹素,这样就可以生成一个带纹理的点精灵了。环境:OPenGL3.3,glfw,glew。简单的点精灵示例源码着色器//顶点着色器#versio

2023-04-03 13:33:37 672

原创 C++多态为什么只有指针或引用能实现

测试程序:#include <iostream>using namespace std;class Base {public: Base() {} virtual void fun() { cout << "Base" << endl; }};class D :public Base{public: D() :val(0) {} void fun() { cout << "D" << endl

2022-04-08 16:48:48 1598

转载 OpenGL 坐标系概览

前言前面我们总结了OpenGL的基本概念,下面我们着重理解一下OpenGL中的各种坐标系一、笛卡尔坐标系标题2D笛卡尔坐标系.png3D笛卡尔坐标系.png二、视口(Viewport)世界窗口:在世界坐标系中定义一个对齐的矩形(aligned rectangle,即矩阵的边与坐标轴平行)的窗口,这个世界窗口外的部分被裁减并不被绘制。OpenGL会自动地做剪裁。视口:在显示器的屏幕窗口上定义一个对齐的矩形的视口,OpenGL会自动建立世界窗口和视口的变换(包括缩放和平移)。当世界窗口中所有

2021-05-18 11:45:56 8355

原创 Ubuntu 18.04下安装zsh和oh-my-zsh

参考:https://www.cnblogs.com/EasonJim/p/7863099.html注意:安装了oh-my-zsh之后的环境变量入口就会从./bashrc变成./zshrc,这点在配置环境变量的时候要特别小心安装zshsudo apt-get install zshZSH Shell 安装好之后,可以使用如下命令查看其版本:zsh --version把默认的Shell改成zshchsh -s /bin/zsh注意:不要使用sudo。配置密码文件,解决

2020-09-24 11:28:15 1124 2

转载 Go 1.14解决Go Modules模式下更新私有库问题

  在Go 1.11之后推出了依赖包管理工具Go Modules之后,Go项目可以在 GOPATH 之外的位置创建,当项目中仅使用了公有库作为依赖时,使用go get或go mod更新依赖一切如初,没有任何问题。  由于Go Modules默认使用代理去更新依赖,所以当使用了私有仓库作为依赖时,Go更新依赖的相关命令将不再可用。通过以下配置,可以实现更新支持https协议的私有库依赖。1. 设置 GOPRIVATE 环境变量go env -w GOPRIVATE=private....

2020-09-17 15:08:17 2833

转载 Golang时间的相关操作

golang中时间相关操作,主要是用time包的函数,time中最主要又包含了time.Time这个对象。package utilsimport "time"const ( TIMEFORMAT = "20060102150405" NORMALTIMEFORMAT = "2006-01-02 15:04:05")// 当前时间func GetTime() time.Time{ return time.Now()}// 格式化为:20060102150405func Ge

2020-08-06 10:41:19 581

原创 Windows主机连不上VMware虚拟机Ubuntu的Mysql

1.首先检查防火墙,查看湿防火墙是否是关闭的。1.安装ufw sudo apt-get install ufw2.查看防火墙状态sudo ufw status3.启用sudo ufw enable或sudo ufw default deny作用:开启了防火墙并随系统启动同时关闭所有外部对本机的访问(本机访问外部正常)。4.关闭 sudo ufw disable 5.开启/禁用相应端口或服务举例 sudo ufw allow 80 允许外部访问80端口 sudo ufw del

2020-06-18 19:49:06 1445

原创 解决VMware中共享文件夹hgfs的权限问题

参考https://jarviswwong.com/ubuntu-vmware-hgfs-permissions-problem.html问题:在VMware中的Ubuntu共享了目录发现/mnt/hgfs 一直都是root权限,而且hgfs没有写的权限 导致很多问题网上试了很多方法发现都是无效的比如:chmod 777 -Rchown username:group /mnt/hgfsusermod -aG vboxsf usernamesudo chown username:use

2020-06-18 13:27:47 18933 24

转载 Chrome F12 谷歌开发者工具详解 Network篇

前情提要这篇文章主要为刚刚接触前端、javaee、php等内容的萌新设计们,对于我本人也是一个对于开发者工具中Network模块使用的一点心得和总结开发者工具初步介绍chrome开发者工具最常用的四个功能模块: Elements:主要用来查看前面界面的html的Dom结构,和修改css的样式。css可以即时修改,即使显示。大大方便了开发者调试页面,这真是十分友好的~ console:这个除了查看错误信息、打印调试信息(console.log())、写一些测试脚本以外,还可以当

2020-06-03 16:15:50 3159

原创 Go语言中defer和return执行顺序解析

1.首先明确return执行前都做了哪些事情。 return是非原子性的,需要两步,执行前首先要得到返回值(为返回值赋值),return将返回值返回调用处。2.defer、return、返回值之间的关系测试用例1:无名返回值(即函数返回值为没有命名的返回值)package mainimport ( "fmt")func main() { ...

2020-05-05 22:39:33 4224 6

转载 Golang中的一些知识点

1. 各种类型复制的时候的花费本节标题也可以叫做“各种类型的值的大小” (the sizes of values of all kinds of types),底层可被不同的值共享的数据的大小未被计算。下面的表格中一个word在32bit操作系统中代表4个字节,在64bit操作系统中代表8个字节,内容基于官方的Go 1.7的编译器。Type Cost Of Value Copy...

2020-05-04 21:10:26 356

原创 C++多态实现原理

C++的多态性用一句话概括就是:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数 1:用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。 2:存在虚函数的类都有一个一维的虚函数表叫做虚表,类的对象有一个指向虚表开始的虚指针。虚...

2020-05-03 00:46:53 177

转载 从子类访问父类的私有函数

虚函数 c private f1 it 众所周知,c和c++的数组都是不安全的,因为无论c还是c++都不提供数组边界检查功能,这使得数组溢出成为可能。从某个意义上说,c和c++是一种缺少监督的语言,然而这也正是其魅力所在。c++给予程序员更大的自由,相比于使用JAVA编程的束手束脚,c++程序员拥有了更大的权力,同时也拥有更多的机遇来玩弄一些技巧,比如说,从子类调用父类的私有函数。从子类调用父类的...

2020-05-02 23:08:12 1933

转载 C++中基类的析构函数不是虚函数,会带来什么问题!!

示例如下:#include <iostream>using namespace std; class Father{public: Father(){cout<<"contructor Father!"<<endl;}; ~Father(){cout<<"destructor Father!"<<endl;...

2020-05-02 19:47:36 1267

转载 【C++】intialization list 和 assignment

intialization list指的是初始化列表.Assignment 指的是赋值.什么是初始化列表:构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。class foo{ string name; int id; foo(string s, int i):name(s), id(i)...

2020-05-02 18:09:32 639

原创 设置Linux环境变量的方法与区别(Ubuntu)

设置 Linux 环境变量可以通过 export 实现,也可以通过修改几个文件来实现,有必要弄清楚这两种方法以及这几个文件的区别。通过文件设置 Linux 环境变量首先是设置全局环境变量,对所有用户都会生效:etc/profile: 此文件为系统的每个用户设置环境信息。当用户登录时,该文件被执行一次,并从 /etc/profile.d 目录的配置文件中搜集shell 的设置...

2020-04-25 22:27:26 155

转载 protobuf repeated类型的使用

protobuf是Google开发的一个序列化框架,类似XML,JSON,基于二进制,比传统的XML表示同样一段内容要短小得多。通过protobuf,可以很轻松的调用相关方法来完成业务数据的序列化与反序列化。protobuf repeated类型相当于std的vector,可以用来存放N个相同类型的内容,文章将简单介绍protobuf repeated的使用。首先定义一个protobuf结构,...

2020-03-25 19:18:37 2362

转载 golang中的mutex锁

mutex锁中一种互斥锁,如果有多个goroutine需要对同一变量进行修改则需要对该变量施加mutex锁以实现安全读写。

2020-03-18 19:39:00 242

原创 深拷贝与浅拷贝的区别

拷贝有两种:深拷贝,浅拷贝当出现类的等号赋值时,会调用拷贝函数在未定义显示拷贝构造函数的情况下,系统会调用默认的拷贝函数——即浅拷贝,它能够完成成员的一一复制。当数据成员中没有指针时,浅拷贝是可行的。但当数据成员中有指针时,如果采用简单的浅拷贝,则两类中的两个指针将指向同一个地址,当对象快结束时,会调用两次析构函数,而导致指针悬挂现象。所以,这时,必须采用深拷贝。深拷贝与浅拷贝的区别就在...

2020-03-12 09:42:41 364

转载 git fetch 与 git pull的区别

git fetch 与 git pullgit fetch和git pull命令都是将远端仓库代码更新至本地,那么他们两者有什么区别呢?简单概括两者区别如图所示:git fetch 与 git pull 图解git fetch:是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。具体操作如下:git fetch origin mast...

2020-03-03 22:39:57 290

转载 2020年Go语言有哪些不得不看的最新面试题?

1、编译执行下面代码会出现什么?package mainvar( size :=1024 max_size = size*2)func main() { println(size,max_size)}解析 考点:变量简短模式变量简短模式限制: - 定义变量同时显式初始化 - 不能提供数据类型 - 只能在函数内部使用结果:syntax er...

2020-03-03 10:08:47 943

转载 Go语言里的Json

Json是一种轻量级数据交换格式,具有灵活、易于阅读的特点,在互联网行业有广泛的应用。Go语言运行时里自带了encoding/json包,提供了Marshal()和Unmarshal()两个函数进行编码和解码,两个函数原型如下:func Marshal(v interface{}) ([]byte, error)func Unmarshal(data []byte, v interface...

2020-03-02 15:37:58 210

转载 c语言值传递,地址传递,引用传递(引用传递只适用于c++)

总结:对于函数来说:值传递就是一个人来了,给你一些数据,你对数据处理。对那个人自身的数据没有影响。地址传递就是给你一个地址,你通过这个地址找到一个人,然后直接对这个人手中的数据进行处理。引用传递就是你要通过名字直接对一个人进行处理,但你不知道那个人叫什么,就先起个随便的名字(引用形参)。谁来了,他的别名就是这个名字(这个形参就代表传递过来的那个变量,是同一个东西)。通过名字可以对人...

2019-12-28 14:36:28 733

原创 对beego的Orm的Read函数的理解

在官方文档上beego的Read函数o := orm.NewOrm() //第一步,新建orm对象user := User{Id: 1} //新建model对象,并初始化。默认你初始化主键//orm的read函数默认是用主键进行查询的,//所以如果不指定字段,就一定要在初始化Model的时候要设置主键的值err = o.Read(&user) if err == orm...

2019-12-03 23:14:21 1501

原创 Ubantu下Golang环境安装

1. 设置 Go 环境要安装并顺利使用 Go,第一步就是要设置 Go 的环境。需要设置的 Go 的环境变量,一共有三个。 GOROOTGo 语言的源码以及安装目录。 GOPATHGo 语言的开发目录,目录可以有多个,但是,当我们执行go get命令的时候,如未指定目录,会默认保存在第一个目录下。 GOROOT_BOOTSTRAP这个目录在安装 Go 1....

2019-10-30 01:01:00 494

转载 Linux学习笔记

1、vi 和 vim编辑器1.1、简介所有的Linux系统都会内建vi文本编辑器。vim具有程序编辑的能力,可以看做是vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。1.2、vi和vim常用的三种模式1.2.1、正常模式以vim打开一个档案就直接进入一般模式了(这是默认的模式)。...

2019-10-26 14:56:41 515

原创 C# Enum,Int,String的互相转换

1、Enum-->String(1)利用Object.ToString()方法:如Colors.Green.ToString()的值是"Green"字符串;(2)利用Enum的静态方法GetName与GetNames:public static string GetName(Type enumType,Object value) public static string[...

2019-10-24 16:19:16 119

原创 如何理解Go语言的GOROOT/GOPATH

可以简单理解为:$GOPATH 是go的工程目录/home/guest/gocode├── bin├── pkg└── src$GOROOT 是go的安装目录/home/guest/tools/go├── api├── AUTHORS├── bin├── blog├── CONTRIBUTING.md├── CONTRIBUTORS├── doc├── fa...

2019-10-23 22:57:19 1183

转载 火狐新版移除developer Toolbar和无法关闭自动更新的解决

随着火狐的不断更新已经更新到66版本了,近期注意到有个问题是火狐经常提示更新,更新了没多久,又时不时跳出更新的提示,不胜其烦。在火狐的前期的版本中(大概4年之前吧)在Options菜单里是可以设置从不检查更新的,但我现在去找这个选项,却没了,要不就是直接自动安装更新,要不就是检查更新。通过在网上搜索 ,果然有解决办法,如下:1. 右键桌面的火狐快捷方式,选择 Open file loc...

2019-09-16 11:48:46 222

原创 go语言面试题

1.go语言中切片的扩容机制是什么?如果切片的容量小于1024个元素,那么扩容的时候slice的cap就在当前容量的基础上翻番,乘以2;一旦元素个数超过1024个元素,增长因子就变成1.25,即每次增加当前容量的四分之一。如果扩容之后,还没有触及原数组的容量,那么,切片中的指针指向的位置,就还是原数组,如果扩容之后,超过了原数组的容量,那么,Go就会开辟一块新的内存,把原来的值拷贝过来,...

2019-09-12 10:40:02 8152

转载 MySQL赋予用户权限命令总结

ySQL用户可用权限一个新建的MySQL用户没有任何访问权限,这就意味着你不能在MySQL数据库中进行任何操作。你得赋予用户必要的权限。以下是一些可用的权限:ALL: 所有可用的权限CREATE: 创建库、表和索引LOCK_TABLES: 锁定表ALTER: 修改表DELETE: 删除表INSERT: 插入表或列SELECT: 检索表或列的数据CREATE_V...

2019-09-11 16:37:07 15405 1

原创 有关Go中单例模式的理解

在纯粹的面向对象语言中例如java/C#,在实现单例模式的时候都要用到static的关键字,在golang中是没有static关键字的,看到网上很多人用go实现单例模式并没有用static,于是思考了一下原因。用C#实现单例模式懒汉模式/// <summary> /// 单例模式的实现 /// </summary> public cla...

2019-09-09 20:03:58 341

转载 谈谈自己的理解:python中闭包,闭包的实质

闭包这个概念好难理解,身边朋友们好多都稀里糊涂的,希望写下这篇文章能够对稀里糊涂的伙伴们有一些帮助~请大家跟我理解一下,如果在一个函数的内部定义了另一个函数,外部的我们叫他外函数,内部的我们叫他内函数。闭包:  在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用。这样就构成了一个闭包。一般情况下,在我们认知当中,如果一个函数结束...

2019-09-07 11:51:14 95

转载 Go语言里的Json

Json是一种轻量级数据交换格式,具有灵活、易于阅读的特点,在互联网行业有广泛的应用。Go语言运行时里自带了encoding/json包,提供了Marshal()和Unmarshal()两个函数进行编码和解码,两个函数原型如下:func Marshal(v interface{}) ([]byte, error)func Unmarshal(data []byte, v interface...

2019-09-07 11:17:50 111

原创 Golang使用Bee工具初始化Beego项目

环境变量的配置Go配置新建”系统变量:变量名GOROOT,变量值C:\Go\(安装目录)新建”系统变量:变量名GOPATH,变量值E:\ProgramFiles\goProgram,项目的路径系统变量Path,添加C:\Go\bin\bee工具配置系统变量Path,添加E:\ProgramFiles\goProgram\binbeego和bee的安装beego的安装...

2019-07-27 17:20:33 877

转载 Go 结构体与初始化

Go 通过类型别名(alias types)和结构体的形式支持用户自定义类型。结构体是复合类型,当需要定义类型,它由一系列属性组成,每个属性都有自己的类型和值的时候,就应该使用结构体,它把数据聚集在一起。结构体也是值类型,因此可以通过 new 函数来创建组成结构体类型的那些数据成为字段(fields)。每个字段都有一个类型和一个名字;在一个结构体中,字段名字必须是唯一的。一,结构体定...

2019-07-26 15:48:30 300

转载 Go语言实例化结构体——为结构体分配内存并初始化

结构体的定义只是一种内存布局的描述,只有当结构体实例化时,才会真正地分配内存。因此必须在定义结构体并实例化后才能使用结构体的字段。实例化就是根据结构体定义的格式创建一份与格式一致的内存区域,结构体实例与实例间的内存是完全独立的。Go语言可以通过多种方式实例化结构体,根据实际需要可以选用不同的写法。基本的实例化形式结构体本身是一种类型,可以像整型、字符串等类型一样,以 var 的方式声明结...

2019-07-26 15:44:12 784

转载 消息队列学习过程

前网上看了很多文章,但是并没有自己觉得特别好的,尤其是代码的部分,可能很多作者觉得很简单,但是对于一些新人来说,哪怕缺少一个类都可能让他们的学习过程变得痛苦。http://blog.csdn.net/pukuimin1226/article/details/19030691这篇是我找到的比较好的文章,里面的代码直接复制就可以用,另外我在结合自己在实践的过程中的理解,将一些作者可能没有...

2019-06-24 17:27:54 124

转载 网址是什么?URL 又是什么?

当我们进入一个网页,地址栏中就会出现一串英文字母,你知道这一串英文代表着什么呢。很多人把这串英文字母叫网址,其实是不准确的,它叫URL,全称是Uniform Resoure Locator,翻译过来就是“统一资源定位符”。一个完整的 URL 包括–协议部分、网址、文件地址部分。协议部分以//为分隔符,在 internet 中,我们可以使用多种协议:HTTP——HyperText Tra...

2019-04-29 17:27:51 3655

ARGBHexConverter.rar

计算机中颜色对应的ARGB的值,转化为对应的颜色的转化工具 ------ARGBHexConverter

2019-10-23

空空如也

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

TA关注的人

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