首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Golang语言社区

    Go语言TCP Socket编程--2

    2、写阻塞 TCP 连接通信两端的OS都会为该连接保留数据缓冲,一端调用Write后,实际上数据是写入到OS的协议栈的数据缓冲的。TCP是全双工通信,因此每个方向都 有独立的数据缓冲。 存在一个业务包数据,1/3内容被goroutine-1读走,另外2/3被另外一个goroutine-2读 走的情况。 本文来自:开源中国博客 感谢作者:徐学良 查看原文:Go语言TCP Socket编程

    4.5K110发布于 2018-03-23
  • 来自专栏Golang开发

    Go语言核心编程(2)——函数

    注:本文是《Go语言核心编程》(李文塔/著)个人读书笔记 函数定义 首字母大小写决定函数在其他包的可见性,大写时其他包可见,小写时只有相同的包可以访问。 这有点类似于 Java 语言中异常处理中的 finaly 子句。 defer 常用于保 证一些资源最终一定能够得到回收和释放。 错误处理 Go 语言内置错误接口类型 error。 任何类型只要实现 Eηor() string 方法,都可以传递 eηor 接口类型变量。 Go 语言典型的错误处理方式是将 error 作为函数最后一个返回值 。 在调用函数 时 , 通过检测其返回的 error 值是否为 nil 来进行错误处理。

    1K20发布于 2019-05-29
  • 来自专栏全栈工程师修炼之路

    2.Go语言编程学习课后实践

    84 number = 1976235410884491574, sum = 88 number = 3510942875414458836, sum = 87 ---- 0x03 Socket 网络编程章节 /Client WeiyiGeek.goroutine&Socket网络编程实例 ---- 0x04 Unit 单元测试章节 作业1.针对走梯子算法优化后基准测试。 当有如下阶梯对应的走法如下: 1 => 1 # 1 2 => 2 # [(1,1) 2] 3 => 3 # [(1,1,1) (1,2) (2,1)] 4 => 5 # f(4) = 2f(4 -2) + f(4-3) 4 => 5 # f(5) = 2f(5-2) + f(5-3) # 优化点,减少递归的次数。 return 2 case 3: return 3 default: return calcStep(step-1) + calcStep(step-2) } }

    92030编辑于 2022-09-29
  • 来自专栏数据小魔方

    R语言学习笔记——R语言面向对象编程系列2

    最近在看任坤大神的新作——《R语言编程指南》,其中对于编程语言中非常流行的面向对象编程范式(OOP)在R语言中的实现进行了非常详尽的讲解,强烈推荐各位有志于进阶R语言编程的小伙伴儿进行阅读。 R语言内目前可以实现OOP范式的一共有四套标准:S3、S4、RC、R6,其中关于S3、S4两种范式在早期的各种扩展包中使用比较多,是基于泛型函数而实现的,之前在学习Python的面向对象编程系列时曾经做过粗浅的练习 : 左手用R右手Python系列——面向对象编程基础 S3与S4之间的差异: 1.在定义S3类的时候,没有显式的定义过程,而定义S4类的时候需要调用函数setClass; 2.在初始化S3对象的时候,只是建立了一个 ,在封装上非常不方便,而RC以及在RC基础上进一步发展的R6标准已经逐步开始接近主流编程语言中面向对象的实现模式。 RC 是一种具有引用语义的类系统,它更像其他面向对象编程语言中的类系统。 它将所有的类属性及对应方法都封装在一个实例生成器中,通过生成器可以生成需要的实例,进而执行对应的类方法。

    2.1K120发布于 2018-04-12
  • 来自专栏Golang语言社区

    Go语言并发模型的2编程方案

    概述 我一直在找一种好的方法来解释 go 语言的并发模型: 不要通过共享内存来通信,相反,应该通过通信来共享内存 但是没有发现一个好的解释来满足我下面的需求: 1.通过一个例子来说明最初的问题 2.提供一个共享内存的解决方案 获取余额 80 | 80 2. 取钱 -30 | -10 3. 当前剩余 50 | 70 ... | ... 4. 解决办法 我们通过两种方法来解决这个问题: 1.共享内存的解决方案 2.通过通信的解决方案 所有的解决方案都是简单的封装了一下 SimpleAccount 来实现保护机制。 b.Balance() | 2. ch -> [acc.balances]-> ch 3. 这也就是为什么除了描述出来的这些以外,第2-4步没有别的操作执行。 总结 这篇博客描述了问题以及问题的解决办法,但那时没有深入去探究不同解决办法的优缺点。

    88090发布于 2018-03-23
  • 来自专栏宏伦工作室

    全栈 - 2 序言 数据工程和编程语言

    这是全栈数据工程师养成攻略系列教程的第二期:2 序言 数据工程和编程语言。 关于编程语言 很多人都在争论,到底哪种编程语言最好;也有很多人在困惑,要做数据分析的话,应该从哪种编程语言学起。 其实在我看来,只学习一门语言可能远远不够,而是各个方面都应当有所涉足,但是同时又有最擅长和习惯使用的一两门语言。 C++和Java这两门语言你需要至少熟悉一门,从而了解语法的基本内容和面向对象的编程思想。熟悉的意思是不用完全掌握,只要在要用的时候,查一查,能够快速回想起来相关内容即可。 Python是一门简单好用而且功能强大的语言,也是我使用最多、最为熟悉的一门语言,开玩笑地说,Python大法好,除了炒菜别的Python都可以干。

    60150发布于 2018-06-07
  • 来自专栏饶文津的专栏

    C语言+SDL2 图形化编程

    我们的系统运行SDL 2的应用程序时,要能够找到dll文件,我们从C盘的SDL的lib的x86中复制SDL2.dll,放在我们工程的vcxproj文件所在的位置。

    2.9K10发布于 2020-06-02
  • 来自专栏申龙斌的程序人生

    通过欧拉计划学习Rust编程语言(2)

    最近想学习Libra数字货币的MOVE语言,发现它是用Rust编写的,所以先补一下Rust的基础知识。学习了一段时间,发现Rust的学习曲线非常陡峭,不过仍有快速入门的办法。 学习任何一项技能最怕没有反馈,尤其是学英语、学编程的时候,一定要“用”,学习编程时有一个非常有用的网站,它就是“欧拉计划”,网址: https://projecteuler.net 这个网站提供了几百道由易到难的数学问题 ,你可以用任何办法去解决它,当然主要还得靠编程编程语言不限,论坛里已经有Java、C#、Python、Lisp、Haskell等各种解法,当然如果你直接用google搜索答案就没任何乐趣了。 前六题的解题过程: 通过欧拉计划学Rust编程(1) 第2题改进 上一篇文章中的第2题求400万之内所有偶数的斐波那契数字之和,当时提供的代码是这样的: let mut fib = vec! ("{}", sum); 这里可以利用rust的延迟评价特性,有起始值无终止值的无限序列可以用for语句搞定,原来的代码可以再精练一些,这种“2..”的语法在其它语言是无法想像的。

    78430发布于 2019-08-20
  • 来自专栏CPP开发前沿

    2022年2月份编程语言排名

    2022年一开始,TIOBE就给出了最新的编程语言排名,同时给出了同时期2021年的编程语言排名情况。C++依然稳坐老四的位置。不同的是前三名都发生了改变,从数据来看,这一情况未来还将持续。 去年第一名的C语言也跌落神坛,变成了第二。JAVA也从第二变成了第三名。 见下图所示: 图1 编程语言同期比较 2月份排名趋势: 图2 2月份编程语言排名前10 不得不说,Python语言一直在超越。凭借众多的开源库和较低的学习门槛。 在编程领域中,C++虽不是用的最多但也是神一样的存在。在很多关键的领域继续发挥着越来越重要的作用。 尤其是按照目前的发展情况来看,新生代的程序员选择C/C++作为开发语言的人在大量减少,未来可能出现C++程序员一员难求的情况,我们作为C++的忠实拥护者。

    2.3K60编辑于 2022-02-16
  • 来自专栏全栈程序员必看

    M语言编程_所有编程语言大全

    一直对技术有很强的兴趣,终于,决定要写自己的语言(m语言)。那就先从最简单的开始:解释执行器。 一套完整的语言包含的肯定不止解释执行器了,还要有编译器和IDE,也就还要有语法高亮、智能提示等,不过还没学会那些,先搞个最基本的解释执行器。 ); b:25; a:100+10+b; 输出(a); (a==135)-> { a:a+a+a; 输出(a); } else { 输出(b); }; a:1; while a<10 ->{ a:a+2; 先扫描函数定义,收集元数据 collectMetaData(program); //2. 变量作用域 walkAST4Variables(program); //3. 2.

    17K30编辑于 2022-09-20
  • 来自专栏全栈程序员必看

    plsql编程语言_编程语言有哪些

    –pl/sql编程语言 –pl/sql编程语言是对sql语言的扩展,是的sql语言具有过程化编程的特性 –pl/sql编程语言比一般的过程化编程语言,更加灵活高效 –pl/sql编程语言主要用来编写存储过程和存储函数等 --声明方法,定义变量 --赋值操作可以用 := 也可以使用 into 查询语句赋值 declare i number(2):=10; --数值型变量 s varchar2 end if; end; 执行 结果 --pl/sql中的loop循环 --用三种方式输出1到10十个数字 --while循环 declare i number(2) 10); loop fetch c2 into en; exit when c2%notfound; update emp set sal --存储过程 --存储过程:存储过程就是提前编译好的一段pl/sql语言,放置在数据库端 ---可以直接被调用。

    16.7K30编辑于 2022-09-27
  • 来自专栏浩Coding

    编程知识科普--(2)什么是计算机编程中的低级语言和高级语言

    我们常常听到高级语言,低级语言等等,但是只是一知半解,比如Java和C等等是高级语言,而汇编是低级语言,那么他们之间的区别是什么呢,我从网上总结了一些观点,有助于大家的理解,有不足和错误之处可以在公众号里留言 从这个意义上来说,通过交叉汇编,一些汇编程序也可以获得不同机器之间的可移植性,但这种途径获得的移植性远远不如高级语言来的方便和实用性大。 我们都知道CPU运行的是二进制指令,所有的语言编写的程序最终都要翻译成二进制代码,但是为什么实现会有以上众多差异呢?下面以C语言为高级语言代表,汇编语言为低级语言代表来解释一下。 2.高级语言程序存在工作冗余,有效率损失。 各种语言需要通过编译器翻译成机器码,不管编译多么智能和强大,都是会产生冗余。这里的冗余不是指指令的多少,而是有没有做没有必要的事情。 这是百度百科的计算机编程语言的发展史,也有助于我们理解高级语言和低级语言: ?

    2.9K40发布于 2019-07-02
  • 来自专栏noteless

    6.计算机语言的发展 编程语言发展 编程语言类型 为什么会有编程语言 编程语言什么作用 机器语言 高级语言分类 编程语言历史 编程语言有哪些 编程语言编年史

    语言 计算机语言指用于人与计算机之间通讯的语言,也即是平时说的编程语言 编程 指令的概念很早就形成了,其实指令本身就是一种编程 一个指令替代了一组逻辑电路或者机电式/机械式中的一个计算单元 你只需要一个指令就相当于已经操作了一整个的模块 这不也是一种编程的思维吗,只不过是指令对应硬件 随着指令在现代计算机中的应用,计算机程序得以快速的发展 因为一旦你知道计算机可以执行哪些指令,其实也就是哪些功能,具有哪些能力 你就可以把这些指令按照一定的逻辑顺序重排组装 不同的机器有不同的汇编语言 需要汇编程序翻译成计算机可以识别的二进制机器语言 本质还是面向机器的低级语言 机器语言和汇编语言都是面向硬件的具体操作的,语言对机器过分依赖,所以称之为低级语言 高级语言 ,需要翻译程序转换为机器可以执行的目标代码程序 虽然高级语言不涉及寄存器这些东西,不需要你了解硬件 但是这是高级语言隐藏了她们,而不是说这些东西不存在不重要,所有的语言都逃不过这一关 始终是要编程机器语言的 Groovy 2003 – Scala 2007 – Clojure 2009 – Go 2011 – Dart 完整内容点击标题进入 《计算机软硬件发展系列个人理解与总结-导航页》 1.计算机发展阶段 2.

    20.1K20发布于 2018-09-11
  • 来自专栏一位计算机小白的学习日记

    C语言函数:编程世界的魔法钥匙(2)-学习笔记

    引言 注:由于这部分内容比较抽象,而小编我又是一个刚刚进入编程世界的计算机小白,所以我的介绍可能会有点让人啼笑皆非。希望大家多多包涵!万分感谢! 在上一篇文章中,我们一同探索了函数的基本概念,为深入理解编程中的函数世界打下了坚实基础。现在,让我们继续前行,走进函数递归与迭代的奇妙领域。 然后 factorial(3) 又发现 3 不符合结束条件,所以要计算 3 * factorial(2) ,这又打开了一个更小的“套娃” factorial(2) 。 增加栈空间大小 :在某些编程环境中,可以通过设置来增加栈的默认大小。但这只是一种临时的解决方案,不是根本的解决办法。 6. 语法解析 :在自然语言处理中,对句子的语法结构进行解析时可能用到递归。 7. 目录和文件系统操作 : 遍历计算机中的文件夹和子文件夹,执行特定的操作,如查找特定类型的文件或计算文件大小。 8.

    45410编辑于 2024-10-21
  • 来自专栏程序员互动联盟

    人类语言遇上编程语言

    编程语言之间的相似之处比人们乍看上去的还要多得多。这意味着如果你很了解某一门编程语言,学习其他编程语言(至少同类型的编程语言)就变得十分容易。 这也就是为什么好的软件公司在招人的时候并不十分介意你是否已经掌握了他们所需的编程语言技能,他们会转而去看你了解多少门编程语言,期望在你的简历上看到你已经掌握了许多足够多样化的编程语言,此时学习一门新语言对于你来说并非难事 了解一门编程语言意味着你了解如何在程序中自如地使用这些控制结构和控制流来表达思想。 不同编程语言之间的语法可能会有些许不同,但是编程语言之间基本的表达式大体是一样的。 一门没人愿意使用的编程语言能好到哪去? 在编程语言的表达能力和简洁程度上做出权衡是一门艺术。 谈到自然语言编程语言之间的差异,编程语言比自然语言更加严格,对错误的容许程度更低。这是因为人类语言具有显著的内置冗余机制,容许我们使用上下文来消除歧义。

    14.1K60发布于 2018-03-13
  • 来自专栏Initial programming

    初识编程语言·C语言

    语言是交流的基础,那么,C语言也是交流的基础。 那么,与谁交流呢? 人与人是用汉语,英语等交流的,那么人与计算机就是用编程语言交流的。 故,C语言是一门人与计算机交流的语言,当然,语言不只有一种,还有Java,python等。 语言是在发展过程中不断完善的,C语言同样如此。 C语言最初是由B语言发展而来,而B语言最初为Unix系统服务。 Unix系统和B语言由贝尔实验室的肯·汤普森和丹尼斯·里奇发明,之后丹尼斯·里奇和布莱恩·柯林汉在B语言的基础上进行了改动,更名为C语言。 而语言需要统一性,所以美国国家标准协会(ANSI)对C语言进行标准化。 故有C89,C90,C11等标准出现。 语言,编译环境缺一不可,什么是编译环境,即编译工具。

    6.7K10编辑于 2024-10-16
  • 来自专栏python+前端 知识分享

    如何选择编程语言以及编程语言的分类

    想了解编程语言我们先要知道什么叫做“编程”,编程的意思就是编写流程,那么只要能编写流程的语言都应该叫做编程语言。 据不完全统计,所有编程语言加起来超过600种,其中用的比较多的也就前20种语言,Python不仅是其中一种而且这两年已经稳居第一名的宝座了。 9.jpg 一、低级语言和高级语言 计算机编程语言能够实现人与机器之间的交流和沟通,而计算机编程语言主要包括汇编语言、机器语言以及高级语言,具体内容如下: 汇编语言语言主要是以缩写英文作为标符进行编写的 高级语言 所谓的高级语言,其实是由多种编程语言结合之后的总称,其可以对多条指令进行整合,将其变为单条指令完成输送,其在操作细节指令以及中间过程等方面都得到了适当的简化,所以,整个程序更为简便,具有较强的操作性 二、交互原理 编程语言承接的就是人与机器之间的交互中介,程序员通过编程语言编写一段执行命令的流程代码,这段代码在执行前会被编译成底层语言,比如python就会直接编译成C语言,C语言计算机也是看不懂的,

    15.8K00编辑于 2021-11-27
  • 来自专栏Java核心技术

    编程语言2月最新排行榜出来了:最难的语言竟是它!

    前言 基于本期投票数据,我们有以下重要发现: 发现 1:学习门槛最高的编程语言是 C++ 发现 2:开发效率最高的编程语言是 Python 发现 3:最多人想学习的编程语言是 Go 发现 4:对使用者最友好的编程语言是 Java 发现 5:用户掌握最多的编程语言分别是 Java、JavaScript、Python 经过 2 周投票,InfoQ 编程语言 2 月排行榜活动正式结束。 基于用户的投票数据,我们不仅对程序员与编程语言的关系有了新的认识,而且还有一些有趣的发现。 发现一:学习门槛最高的编程语言是 C++ [? ,排名第一,被评为开发效率最高的编程语言。 此外,另一名用户指出:工作时间长了,或多或少都会接触几门编程语言。不盲目吹或黑某一门语言,毕竟语言只是工具。多学习编程语言背后的因素,感受不同编程语言的优劣,磨练技艺,自我突破。

    2.9K00发布于 2021-03-07
  • 来自专栏nummy

    socket编程2】TCP编程

    大多数连接都是可靠的TCP连接。创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器。 下面是一个客户端的例子:

    94410发布于 2018-08-27
  • 来自专栏云优惠券

    编程语言常识

    而C程序是运行前直接编译成CPU能执行的机器码,所以非常快 任何一种编程语言都有自己的一套语法,编译器或者解释器就是负责把符合语法的程序代码转换成CPU能够执行的机器码,然后执行。 函数可以同时返回多个值,但其实就是一个tuple 1.静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。 例如Java是静态语言 2.在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,所以Python是动态语言 3.变量在计算机内存中的表示: 现代操作系统和大多数编程语言都直接支持Unicode。 ASCII编码和Unicode编码的区别:ASCII编码是1个字节,而Unicode编码通常是2个字节。 set([2, 3, 4]) s1 & s2 {2, 3} s1 | s2 {1, 2, 3, 4} 26.对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。

    10.8K20发布于 2019-06-20
领券