自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 某大厂程序员吐槽:老家亲戚狮子大开口,竟跟自己借八十万给儿子买房!

许多人都向往挣钱后衣锦还乡,但衣锦还乡后随之而来的除了荣耀,还有许多想不到的麻烦,最常见的一种麻烦就是——老家亲戚借钱。一个谷歌程序员发帖吐槽:老家亲戚真敢提,竟然跟自己借八十万给他儿子买房,还让自己教他儿子编程,然后内推到自己公司????????????不仅楼主哭笑不得,网友们也觉得这老家亲戚太过分,真好意思开口,咋不直接让楼主送他家一套房子呢?有人说,这八十万一旦借出去就别想要回来,难道要对方吭哧吭哧还三十年?搞笑。有人感叹,难怪考上大学亲戚都来随份子,原来是

2021-04-29 16:55:22 314

原创 C语言指针的运算!今天是掉头发的第33天,我快学会了指针!

这次我们来讨论使用指针进行的运算,最重要的运算是获取指针所引用的对象或函数。也可以比较指针,使用指针来遍历一个内存区域。使用指针读取与修改对象间接运算符 * 生成内存中的位置,该位置的地址存储在一个指针中。如果 ptr 是一个指针,那么 *ptr 就是 ptr 所指向的对象(或函数)。使用间接运算符有时候被称为解引用(dereferencing)一个指针。指针指向的内存位置被认为存储有一个对象,指针的类型决定了该对象的类型。例如,当用 int 指针获取一个特定内存位置,读出或写入的也是 i.

2021-04-29 15:00:48 415 1

原创 不要和一种编程语言厮守终生:为工作正确选择 !

我们程序员在着手一个项目时,需要做的关键决定之一就是选择一种语言,或一组语言,用于实施该系统。这一决定不仅会影响系统的实现,也会影响设计。既然这个决定会导致深刻而长远的结果,那么我们是不是在做这个抉择时应该更加务实?很多时候,我们会盲目地偏颇于我们选择的语言。而且,有时候我们之所以不喜欢选择这种语言的原因可能正是为什么我们要选择那种语言的原因。如果我们能够放开胸怀,坦诚地对待自己持有的偏见,那么我们就可以减轻一些类似在装修时硬要将方钉钉进圆形孔的痛苦。虽然我们没有什么秘诀来为项目选择完美语言

2021-04-28 18:38:02 308

原创 C语言指针作为参数和返回值,扎心不扎人的指针!

C 语言本质上是传值调用(call by value)的语言,因为函数的形参都是局部变量,它们通过传入的实参进行初始化。C 语言的优点是,只要表达式的类型适当,就可以当作实参。另一方面,缺点是在启用函数时,如需要复制大数据对象,则运行成本很高。而且,函数没有办法修改原始变量(调用者的变量),只能修改原始变量的复制版本。然而,如果函数的实参是变量的地址,那么函数就可以通过指针,直接获取该原始变量,并修改原始变量的值。所以,C 语言也提供了传址调用(call by reference)函数。一个典型

2021-04-28 15:03:15 567 5

原创 黑客用GitHub服务器挖矿,三天跑了3万个任务,代码惊现中文!

加密货币价格一路高涨,显卡又买不起,怎么才能“廉价”挖矿?黑客们动起了歪心思——“白嫖”服务器。给PC植入挖矿木马,已经无法满足黑客日益增长的算力需求,如果能用上GitHub的服务器,还不花钱,那当然是极好的。而且整个过程可能比侵入PC还容易,甚至都不需要程序员上当受骗。只需提交Pull Request(PR),即使项目管理者没有批准,恶意挖矿代码依然能够执行。原理也很简单,利用GitHub Action的自动执行工作流功能,轻松将挖矿程序运行在GitHub的服务器上。早在去年11月

2021-04-27 18:40:03 559

原创 C语言变量初始化是必须的吗?不初始化会怎样?

这个问题很重要!实际上前面讲那么多,其中有一个很重要的目的就是为了讲这个知识点。所谓初始化就是“第一次赋值”的意思。我们先来看一个程序:#include <stdio.h>int main(void){ int i; printf("i = %d\n", i); return 0;}这里i没有被赋值,只是定义了一个存储空间。这时输出这个空间的内容,你觉得输出的值会是多少?是一个任意值吗?可以通过编译、链接、执行看一下,如下图所示。这时单击...

2021-04-27 14:30:43 1929

原创 程序员终极领悟:技术它始终都只是技术,只是用来解决问题的!

  很多同学曾经问我,该学习什么技术,怎么样去学习技术?其实每当我听到这个问题,我是无比纠结。这是一个无法回答的大问题,这种话题可以吹上几年,并且每个人都是独特的,方法只能借鉴不可复制也。  下面说说个人学技术的一些感悟,也许是错的,但是我还是想写出来(不喜欢看长文章的同学请直接看结尾总结那段即可)。一、学习技术的目的  我们学习技术往往是带有功利心的,哪怕你用技术来玩,也是一种目的嘛。所以,每当你问别人,该学习什么技术的时候。先问一下自己想要做什么。举一个例子,一个上了大学java课.

2021-04-26 18:34:03 618 2

原创 VS Code 运行 C 和 C++ 程序!

Sublime Text 和 Visual Studio Code(后续简称 VS Code)作为当下最热门的 2 款代码编辑器,该如何使用 VS Code 运行 C 和 C++程序呢?值得一提的是,和 Sublime Text 一样,VS Code 也支持跨平台,包括 Windows、Mac OS X 以及 Linux。但和前者不同的是,无论在哪一平台上使用 VS Code,令其具备运行 C 和 C++ 程序能力的配置方法是一致的。本问将以配置 Windows 平台上 VS Code 为例,为大.

2021-04-26 15:08:13 508

原创 for循环嵌套,C语言for循环嵌套详解!编程使我快乐!

虽说是多层,事实上 for 循环嵌套的层数也不能太多。通常为两个 for 循环的嵌套,超过两个的极少使用。与单个 for 循环相比,多个 for 循环的嵌套在逻辑上更复杂一点,但并不难懂。直接给大家写一个程序:#include <stdio.h>int main(void){ int i, j; for (i=0; i<4; ++i) { printf("问世间情是何物, 直教生死相许\n"); for...

2021-04-24 15:53:03 5287

原创 C语言空(null)指针和NULL指针的区别详解!

对于空(null)指针与 NULL 指针,相信许多读者对它们之间的关系都很迷惑,甚至有很大一部分读者会认为它们根本就是一回事。其实不然,它们之间存在着一定的本质区别,下面就来详细阐述它们之间的不同。对于空(null)指针的概念,在 C 标准中明确地定义:值为 0 的整型常量表达式,或强制(转换)为“void*”类型的此类表达式,称为空指针常量。当将一个空指针常量赋予一个指针或与指针作比较时,将把该常量转换为指向该类型的指针,这样的指针称为空指针。空指针在与指向任何对象或函数的指针作比较时保证不会相等

2021-04-23 15:05:22 1488

原创 Visual Studio 也可以写汇编?涨见识了!

Visual Studio 上的debug功能比较强大,使用visual studio 可以更好的帮助我们学习汇编语言。综上参考了几位牛人博主以及自己的一点总结使 vs 成功在电脑上运行。第一步下载vs【从官网下载或者百度】第二步打开vs新建项目并找到windows桌面向导(最好是这个其他的像空项目或桌面应用程序均无法运行新建之后选择空项目复选框并取消安全开发生命周期检查第三步在项目源文件中新建在创建文件之前,先右键项目-->生成依赖项-->生成自定.

2021-04-22 18:34:44 3191 4

原创 C语言的自动类型转换和强制类型转换详解!

对于空(null)指针与 NULL 指针,相信许多读者对它们之间的关系都很迷惑,甚至有很大一部分读者会认为它们根本就是一回事。其实不然,它们之间存在着一定的本质区别,下面就来详细阐述它们之间的不同。对于空(null)指针的概念,在 C 标准中明确地定义:值为 0 的整型常量表达式,或强制(转换)为“void*”类型的此类表达式,称为空指针常量。当将一个空指针常量赋予一个指针或与指针作比较时,将把该常量转换为指向该类型的指针,这样的指针称为空指针。空指针在与指向任何对象或函数的指针作比较时保证不会相等

2021-04-22 14:06:28 852 2

原创 不需内测账号,带你体验微信小程序完整开发过程!

微信小程序还没正式发布就已经迅速成为大家讨论的焦点,那么大家可能觉得只有收到内测邀请才能体验小程序的开发流程,其实不然,大家都可以体验,下面就带大家一起了解。下载微信 Web 开发者工具首先,微信给我们提供了它自己的小程序集成开发工具,只需要到这个页面下载即可:下载完成后,打开开发者工具,会有一个扫码登录界面。 用你的微信扫码就可以登录进来了, 然后开发者工具会帮我们创建一个默认工程,项目的文件结构如下:所有的代码编辑以及运行预览都可以在这个开发者工具中进行。接下来咱们看看微信小程.

2021-04-21 17:01:13 275

原创 【C语言】初始化数组,C语言中初始化特定列表和元素!

如果没有显式地初始化数组变量,那么就会采用一般规则:如果数组具有动态存储周期,那么数组元素的值就是没有定义的。否则,所有的元素都会被默认地初始化为 0(如果数组元素是指针,则会被初始化为NULL)。编写初始化列表当在定义数组时,若要显式地初始化数组,必须使用初始化列表(initialization list):这是用逗号分隔开的初始化器(initializer)列表,也就是将每个数组元素的初始值放在大括号 {} 内。如下所示:int a[4] = { 1, 2, 4, 8 };上述.

2021-04-21 14:58:21 2628

原创 在中国,程序员这行能干一辈子吗?入行即焦虑,似乎已经成为一个普遍现象!

最近,69岁的Bjarne Stroustrup老爷子又出现在了公众面前:没有退休,担任摩根士丹利的Technical Fellow,并且仍在积极参与C++的开发。相比于国外的大龄、高龄程序员,35岁程序员“天花板”,已经成为一个广为流传的梗。程序员在内的互联网工作者过年回家,恐怕也没少被质疑这一行就是碗青春饭。但事实真的是如此吗?在中国,程序员到底能不能干一辈子?“我肯定干不了一辈子”在“中国程序员能不能干一辈子”的某乎话题下,很多人直接了当地给出答案:不.

2021-04-20 16:57:16 462 1

原创 C语言条件编译(#if,#ifdef,#ifndef,#endif,#else,#elif)!

条件编译(conditional compiling)命令指定预处理器依据特定的条件来判断保留或删除某段源代码。例如,可以使用条件编译让源代码适用于不同的目标系统,而不需要管理该源代码的各种不同版本。条件编译区域以 #if、#ifdef 或 #ifndef 等命令作为开头,以 #endif 命令结尾。条件编译区域可以有任意数量的 #elif 命令,但最多一个 #else 命令。以 #if 开头的条件编译区域具有下面的格式:#if 表达式1 [ 组1][#elif 表达式2 ..

2021-04-20 14:20:34 1306

原创 【编程学习笔记】针对代码的学习以及开发流程,知其然,并且知其所以然!

代码的三种类型 ✿Product:产品代码,一个可用的产品代码。比如一些开源软件,还有当前工作整天面对的代码。 ✿lib:库代码,对某一种功能封装的模块,一个工具库。 ✿framework:框架代码,某种业务常用逻辑的封装,就形成改业务逻辑的框架库。比如,游戏客户端来说就是游戏引擎,MFC是window下的一个GUI框架,等等。三种代码的编写与设计,抽象层次依次递增,对编写者能力的要求也依次递增。代码发布的内容无论是作为产品、库、...

2021-04-19 19:01:19 340 1

原创 【编程大法】算法的时间复杂度和空间复杂度!

算法,即解决问题的方法。同一个问题,使用不同的算法,虽然得到的结果相同,但是耗费的时间和资源是不同的。就比如要拧一个螺母,使用扳手还是钳子是有区别的,虽然使用钳子也能拧螺母,但是没有扳手好用。“条条大路通罗马”,解决问题的算法有多种,这就需要判断哪个算法“更好”。算法VS程序很多人误以为程序就是算法,其实不然:算法是解决某个问题的想法、思路;而程序是在心中有算法的前提下编写出来的可以运行的代码。例如,要解决依次输出一维数组中的数据元素的值的问题,首先想到的是使用循环结构( for.

2021-04-19 15:14:50 373

原创 数学基础对学习数据结构的影响,我真的不想再回答这一类问题了!

很多初学者自认数学基础不好,怀疑这将是学习数据结构不可逾越的大山,对学习数据结构没有足够的信心。总的来说,数学基础不是学习数据结构的必备条件,但好的数据基础对学习数据结构大有助益。这个问题,其实和“英语不好,可以学习编程吗?”同属一类。不可否认,英语基础好对于学习编程确实是很有帮助的,但它并不是学习编程不可跨越的鸿沟。事实上,只有从优秀程序员跃升为顶尖程序员时,英文基础(需要阅读一些英文资料)的桎梏才会凸显出来,但也并非无法克服。数学和数据结构之间的关系也是如此。注意,英语基础薄弱并不等价

2021-04-17 14:53:59 399

原创 C语言,推荐一个功能强大的调试工具gdb!程序员必备啊!

程序员写在编写程序的时候不可能是一帆风顺的,gcc编译器可以发现程序代码的语法错误,但不能发现程序的业务逻辑错误,调试程序是软件开发的内容之一。调试程序的方法有很多种,例如可以用printf语句跟踪程序的运行步骤和显示变量的值,本文介绍一个功能强大的调试工具gdb。一、gdb的安装CentOS系统中,用root用户登录服务器,执行以下命令安装或升级。yum-yinstallgdb注意,如果您的服务器没有安装gdb,以上命令就会安装最新版本的gdb,如果已经安装了gdb,就...

2021-04-15 15:25:58 931

原创 程序员加薪的新方法!要不,我们俩互换工作吧!

我的朋友A君是个典型的开发人员,技术不错,人品也不错,在一家小公司(姑且称为甲公司)做项目开发,是技术骨干。3个月前,他找到我说想跳槽,让我帮忙介绍工作。我说为什么想跳了?1、为什么想离职?他简单说了一下他在甲公司当时的状况:A君在甲公司做了两年多,这两年多完成了一个大项目,作为开发的核心主力,开发压力很大,特别是项目上线前的几个月是非常辛苦,几乎每晚都要加班到12点以后,周末最多只有一天休息。在最困难的时候,老板给大家大气,“大家再坚持坚持,项目上线赚钱了,就给大家涨工资,公司是绝对不

2021-04-14 15:26:57 308 1

原创 能用STL算法,绝不自己实现!这是身为码农最后的倔强!

相信很多小伙伴对于各种算法函数,比如 find()、merge()、sort() 等都有一定的了解以及使用。但是,不知有没有人发现,每个算法函数都至少要用一对迭代器来指明作用区间,并且为了实现自己的功能,每个函数内部都势必会对指定区域内的数据进行遍历操作。举几个例子:find() 函数会对指定区域的数据逐个进行遍历,确认其是否为要查找的目标元素;merge() 函数内部也会分别对 2 个有序序列做逐个遍历,从而将它们合并为一个有序序列;sort() 函数在对指定区域内的元素进行排序时.

2021-04-13 15:36:11 377

原创 C++ STL(标准模板库)是什么,有什么用?

首先来了解什么是 STL,以及学习 STL 有什么用?STL,英文全称 standard template library,中文可译为标准模板库或者泛型库,其包含有大量的模板类和模板函数,是 C++ 提供的一个基础模板的集合,用于完成诸如输入/输出、数学计算等功能。STL 最初由惠普实验室开发,于 1998 年被定为国际标准,正式成为 C++ 程序库的重要组成部分。值得一提的是,如今 STL 已完全被内置到支持 C++ 的编译器中,无需额外安装,这可能也是 STL 被广泛使用的原因之一。STL

2021-04-12 15:48:25 523

原创 Windows下的编译器有哪些?如何选择?

安装编译器或者 IDE(集成开发环境),也叫搭建开发环境。Windows 下的 C语言 IDE 众多,多如牛毛,初学者往往不知道该如何选择,本节就来给大家指点迷津。1) Visual StudioWindows 下首先推荐大家使用微软开发的 Visual Studio(简称 VS),它是 Windows 下的标准 IDE,实际开发中大家也都在使用。为了适应最新的 Windows 操作系统,微软每隔一段时间(一般是一两年)就会对 VS 进行升级。VS 的不同版本以发布年份命名,例如 VS.

2021-04-10 14:50:46 1522 2

原创 又涨了?2021 年 3 月编程师一月可以赚多少?

2021年3月采集数据124176条。2021年3月全国程序员平均工资15189元,工资中位数12500元,其中95%的人的工资介于5250元到37500元。工资K线图:2月的平均工资是15144元,工资中位数12500元,其中95%的人的工资介于5250元到37500元,总体看2月与3月薪资无较大波动~这个月涨了一点点,一点点也是涨呀。程序员的工资虽然不高,但是涨幅还是超过了大盘的。工资收入分布:01城市北京依然第一,中位数达到1.7W+,前三北上深无较大差异。02

2021-04-09 15:34:31 356

原创 OpenCV下载和安装(包含所有平台)!

在OpenCV官方网站可以下载最新的且完整的源码以及大部分的 release 版本源码。安装现在,OpenCV 使用 Git 作为版本管理工具,使用 Cmake 来构建工程。在早些时候,OpenCV 开发者使用 Subversion 作为版本管理工具以及 automake 来构建工程项。当然,这些日子都一去不复返了。在许多情况下,你不必担心构建问题,因为许多环境中都有预编译好的库。但是,一旦成为更加专业的使用者,势必需要重新编译库,并且根据具体的应用程序定制特定的选项。在...

2021-04-08 15:11:59 3265 2

原创 Google 的神秘邀请函,让我莫名其妙的进了 Google 上班!

如果 Google 检索到你在搜索某个编程关键词,他们会给你推荐工作!听起来很疯狂?看看是怎么做的吧!三个月前,我根本不敢想象自己居然能拿到 Google 的 offer。三个月之后,我做到了!我目前正处在事业转型期:曾经做过三年的管理顾问,然后在一家创业公司待过,后来一直想转行做一名程序员。我在佐治亚理工学院的在线课程上取得了一个计算机科学的硕士学位。我知道自己在慢慢掌握成为一名软件开发工程师所需要的技能,但就是一直没信心能够胜任程序员的工作。有一天早上工作的时候,我在 Google 搜索

2021-04-07 18:37:30 312

原创 什么是计算机视觉处理?高端产品的图像处理技术原理解析!

计算机视觉这种技术可以将静止图像或视频数据转换为一种决策或新的表示。所有这样的转换都是为了完成某种特定的目的而进行的。输入数据可能包含一些场景信息,例如“相机是搭载在一辆车上的”或者“雷达发现了一米之外有一个目标”。一个新的表示,意思是将彩色图像转换为黑白图像,或者从一个图像序列中消除相机运动所产生的影响。人类的视觉因为我们是被赋予了视觉的生物,所以很容易误认为“计算机视觉也是一种很简单的任务”。计算机视觉究竟有多困难呢?请说说你是如何从一张图像中观察到一辆车的。你最开始的直觉.

2021-04-07 14:29:57 1075

原创 程序员技术入股的那些坑!保护好你的核心技术,想走?没那么容易!

主人公明仔从入职公司的第一天起,就有一个终极梦想:技术入股某一家初创公司,然后跟着大老板把公司做大,最后股份变现,身家过亿。变身高富帅之后,明仔的第一愿望是向他从小学就开始暗恋的班花小花表白,娶她共度完美的人生。小花现在在深圳一家电子厂工作,据说很多工厂里的男生追她。顺利成为合伙人明仔从事的技术方向比较偏门,经过几年的工作积累之后,明仔的技术已经远远超出同行。明仔成为公司的技术骨干,很多竞争对手都盯着明仔,要把明仔挖走。但是明仔不甘于一辈子打工,在寻找一个创业的机会。公司的.

2021-04-06 18:31:14 551

原创 OpenCV是什么?有哪些技术应用领域?

1999 年,Gary Bradski(加里·布拉德斯基)当时在英特尔任职,怀着通过为计算机视觉和人工智能的从业者提供稳定的基础架构并以此来推动产业发展的美好愿景,他启动了 Open CV 项目。Open CV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它提供了很多函数,这些函数非常高效地实现了计算机视觉算法(最基本的滤波到高级的物体检测皆有涵盖)。Open CV 库用 C语言 和C++语言编写,可以在 Windows、Linux、Mac ..

2021-04-06 14:52:07 4911

原创 编程入门之开发工具一键安装!老手小白都适用,只需一个包管理器!

编程开头难难倒编程小白的第一件事恐怕是“安装开发工具”,即便是很多程序猿老司机,也最怕“换电脑、配环境”……这时可能有人会喷:“肯定用的是 Windows!Mac、Linux 这些类 UNIX 系统各种开发工具都自带,装其它的也很方便~”作为开源老司机的我,Linux 的开发者友好性自不必说,但 Mac 除了移植了整套 UNIX 工具链,接口兼容性、系统扩展性、企业级支持等等还真不如浸淫企业级市场二三十年的 Windows。现在连开发者友好性也不知不觉地落后了……程序猿的“应用商店”.

2021-04-05 18:45:32 419 1

原创 【Linux编程】Makefile 的工作流程!

本篇文章我们研究一下 Makefile 的是怎样工作的?当我们在执行 make 条命令的时候,make 就会去当前文件下找要执行的编译规则,也就是 Makefile 文件。我们编写 Makefile 的时可以使用的文件的名称 "GNUmakefile" 、"makefile" 、"Makefile" ,make 执行时回去寻找 Makefile 文件,找文件的顺序也是这样的。我们推荐使用 Makefile(一般在工程中都这么写,大写的会比较的规范)。如果文件不存在,make 就会给我们报错,.

2021-04-05 15:38:17 285

原创 编程学习找项目篇:你会在 GitHub 上面找项目吗?我会哦!

很多的小伙伴在学习入门的时候,经常会有这样的困惑,我看了很多技术的学习文档、书籍、甚至视频,我想动手实践,于是我打开了GitHub,想找个开源项目,进行学习,获取项目实战经验。这个时候很多小伙伴就会面临这样的问题:“我不会搜啊,我该怎么找呀?”,最终只能放弃。这篇文章,小编教你精准地在GitHub搜索项目。开源项目的组成部分在讲清楚之前呢,我们先来了解一下一个开源项目有哪些组成部分:✿ name: 项目名✿description: 项目的简要描述✿...

2021-04-02 18:39:04 377

原创 我眼中的中美印日四国程序员的特点!

我觉得编程能力对程序员而言,虽然很重要,但并不是全部。那么作为一个程序员,到底应该具备什么样的能力呢?这个话题显然太大。不过我觉得可以看看其它国家的程序员,也许可以得到一些借鉴。我有幸和中国、美国、印度和日本四国程序员有比较深入的合作过。虽然他们不一定有代表性,但我觉得他们的共性还是比较明显的。以下纯属个人见解。日本程序员他们的特点是非常仔细。我认为很主要的一个原因是日本公司的需求非常细致。细致到在网页上,连一个像素都不能偏差的地步。另外,日本人的执行力非常强,对老板的承诺比命还重要。.

2021-04-01 18:35:35 319

原创 操作系统是什么?Linux操作系统概述!

Linux 也是众多操作系统之一,要想知道 Linux 是什么,首先得说一说什么是操作系统。计算机是一台机器,它按照用户的要求接收信息、存储数据、处理数据,然后再将处理结果输出(文字、图片、音频、视频等)。计算机由硬件和软件组成:✿ 硬件是计算机赖以工作的实体,包括显示器、键盘、鼠标、硬盘、CPU、主板等;✿软件会按照用户的要求协调整台计算机的工作,比如 Windows、Linux、Mac OS、Android等操作系统,以及 Office、QQ、迅雷、微信等应用程序。=...

2021-04-01 14:33:12 346

空空如也

空空如也

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

TA关注的人

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