首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Linux运维之路

    shell编程——实践4(自动部署服务脚本)

    64000编辑于 2024-08-07
  • 来自专栏SDNLAB

    P4编程理论与实践——理论篇

    P4可以实现很多新的Idea,但是无奈于国内的实践资料太少了(有些资料似乎比较陈旧了)。唯一的学习来源是官网的英文实例教程,但是摸索起来很费时间。 着重点是实践而非理论,有不正确的地方欢迎批评指正。 为什么要从理论上开始介绍呢?因为有了一些基础的理论概念,才能更好的去编程,不会摸不着头脑。 而P4只是一个数据面的编程语言。 通过P4,我们可以定义各种各样形状的积木,而通过南向协议,我们可以组装这些积木来实现特定的功能。 P4中的那些事 P4是一种高级数据面编程语言,既然是高级语言,那么其设计本身就有着很高的抽象程度。我们先来看一种图: ? 这是P4中提供的最简单最易理解的编程结构,V1Model。 在开始搭建环境和写P4代码前 p4 的github仓库 是学习P4编程的重要基地,我们着重了解一下几个子仓库: behavioral-model简称BMv2. 是一款支持P4的软件交换机。

    3.5K100发布于 2018-10-24
  • 来自专栏SDNLAB

    P4编程理论与实践(2)—快速上手

    如图,我们写好xxx.p4代码,通过 p4c 这个 p4 compiler 将p4代码编译成为p4交换机可以理解的各种”机器代码”。如果目标交换机是 bmv2 , 那么p4c将生成 .json文件。 p4c是一款 p4编译器。 BMv2是支持P4编程的软件交换机。 PI是P4 runtime的实现,用于Control Plane对数据平面的控制。 mininet的功能是构建一个虚拟的网络拓扑。 并且它事先写好了控制面代码,让p4的初学者可以集中注意力在数据面编程的学习之上。 scapy是一个python库,提供构建数据包,抓包,解析包等功能。它功能强大,但是效率很低。 由于P4编程中经常会引入各种各样的数据包,有些甚至是开发者自定义的数据包格式。所以我们可以利用scapy进行便捷的组包,发包。如果需要高速率的发包和解析包就不能使用scapy了。 写好控制面代码 虽然说官方为了让大家专注于数据面编程,已经给好了控制面指令,但是我们有必要查看一下他们,从而有了更深入的理解, 查看 s[1,2,3]-runtime.json, 里面定义了很多流表项。

    2.9K51发布于 2018-11-05
  • 来自专栏Python中文社区

    Python多进程并行编程实践-mpi4py的使用

    它是一种消息传递编程模型,顾名思义,它就是专门服务于进程间通信的。 在上一篇《Python多进程并行编程实践-multiprocessing模块》中我们使用进程池来方便的管理Python进程并且通过multiprocessing模块中的Manager管理分布式进程实现了计算的多机分布式计算 可见mpi4py的作者的功力的确是非常了得。 mpi4py 这里我开始对在Python环境中使用mpi4py的接口进行并行编程进行介绍。 mpi4py并行编程实践 这里我就上篇中的二重循环绘制map的例子来使用mpi4py进行并行加速处理。 我打算同时启动10个进程来将每个0轴需要计算和绘制的数据发送到不同的进程进行并行计算。 总结 本文简单介绍了mpi4py的接口在python中进行多进程编程的方法,MPI的接口非常庞大,相应的mpi4py也非常庞大,mpi4py还有实现了相应的SWIG和F2PY的封装文件和类型映射,能够帮助我们将

    4K70发布于 2018-01-31
  • 来自专栏Michael阿明学习之路

    MapReduce 编程实践

    实践 2.1 启动 hadoop 2.2 创建 java 项目 2.3 MapReduce shell 2.4 MapReduce Web UI 3. MapReduce 编程实践:统计对象中的某些属性 参考书:《Hadoop大数据原理与应用》 1. MapReduce 作业流程 2. 实践 2.1 启动 hadoop start-dfs.sh start-yarn.sh mr-jobhistory-daemon.sh start historyserver # 第三条可以用下面的命令 MapReduce 编程实践:统计对象中的某些属性 MapReduce 编程实践:统计对象中的某些属性

    54320发布于 2021-09-06
  • 来自专栏xingoo, 一个梦想做发明家的程序员

    Ruby编程实践

    student. my name is "+@name+" ,age is "+@age.to_s end end p3 = Student.new("xiaoshenyang",38) p3.talk p4 = Student.new("Ben") p4.talk Ruby动态性 在运行中添加、修改、移除方法 class Person def talk puts "I am worker

    82290发布于 2018-01-17
  • 来自专栏全栈程序员必看

    mt4编程语言 c语言,MT4编程之MQL4编程语言介绍

    语言介绍 MetaQuotes Language 4 (MQL4) 是一种新的内置型程序用来编写交易策略。 这种语言可以创建你自己的智能交易,使自己的交易策略能够完全自动地执行。 MetaEditor 4集合了编写MQL4程序代码的各种语句,它能帮助使用者方便地写出规范的代码。 编程特点 MetaQuotes Language 4(MQL4) 可以编写不同作用的程序代码: 智能交易 是一种连接到特定图表的自动交易系统。 语法简介 MetaQuotes Language 4(MQL4)的语法和C语言比较类似并且是一款面向过程语言。如果你C语言基础非常好很快就能上手。 = (不等于) 编程工具 MT4采用自带集成MetaEditor作为代码编译器。简单讲,编译器就是将“高级语言(MQL4)”翻译为“机器语言(低级语言)”的程序。

    7.2K20编辑于 2022-08-28
  • 来自专栏Golang语言社区

    实效go编程--4

    (s int) { for _, v := range a { s += v } return } request := &Request{[]int{3, 4, const NCPU = 4 // CPU核心数 func (v Vector) DoAll(u Vector) { c := make(chan int, NCPU) // 缓冲区是可选的 可能泄露的缓冲区 并发编程的工具甚至能很容易地表达非并发的思想。这里有个提取自RPC包的例子。 客户端Go程从某些来源,可能是网络中循环接收数据。 服务条款 | 隐私政策 本文来自:开源中国博客 感谢作者:四明狂客 查看原文:实效go编程

    985150发布于 2018-03-26
  • 来自专栏Android开发指南

    4.网络编程

    HTTP网络编程 网络接口文档 用来描述客户端和服务端的数据交互 Http的格式规范 请求部分 请求消息行:定义请求类型,请求的地址,http的版本号 请求消息头:定义请求的消息头 请求消息内容实体:消息的内容实体 issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=0&rsv_pq=9ee40013000089f5&rsv_t=0ac4SWMebVX5TjRmjHHyNHdDixuCh %2FcpmFz8tPkwfArEbHonfYesWFV64Rr4%2F7VNDDnn&inputT=16437 Accept-Encoding: gzip, deflate Accept-Language : zh-CN,zh;q=0.8 Cookie: BAIDUID=BECE0B98C5D5A8EA4C5A93221901CC58:FG=1; BAIDUPSID=BECE0B98C5D5A8EA4C5A93221901CC58 ; BDUSS=l1MmM3MEVEclRYR1RZc1ZJTnBDb2RBUTY1YktTUFc0a2pBYVlHNkxOZDk4N0JVQVFBQUFBJCQAAAAAAAAAAAEAAABoRLMjd2FuZ2Rha2U4ODgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH1miVR9ZolUVm

    749100发布于 2018-05-14
  • 来自专栏Android开发指南

    4.网络编程

    HTTP网络编程 网络接口文档 用来描述客户端和服务端的数据交互 Http的格式规范 请求部分 请求消息行:定义请求类型,请求的地址,http的版本号 请求消息头:定义请求的消息头 请求消息内容实体:消息的内容实体 issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=0&rsv_pq=9ee40013000089f5&rsv_t=0ac4SWMebVX5TjRmjHHyNHdDixuCh %2FcpmFz8tPkwfArEbHonfYesWFV64Rr4%2F7VNDDnn&inputT=16437 Accept-Encoding: gzip, deflate Accept-Language : zh-CN,zh;q=0.8 Cookie: BAIDUID=BECE0B98C5D5A8EA4C5A93221901CC58:FG=1; BAIDUPSID=BECE0B98C5D5A8EA4C5A93221901CC58 ; BDUSS=l1MmM3MEVEclRYR1RZc1ZJTnBDb2RBUTY1YktTUFc0a2pBYVlHNkxOZDk4N0JVQVFBQUFBJCQAAAAAAAAAAAEAAABoRLMjd2FuZ2Rha2U4ODgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH1miVR9ZolUVm

    47310编辑于 2022-01-12
  • 来自专栏架构师高级俱乐部

    异步编程最佳实践

    异步编程最佳实践 异步编程在.NET平台上已经存在了好几年,但历史上一直很难做好。自从C# 5中引入async/await之后,异步编程已经成为主流。 因此,对于async的最佳实践以及如何正确使用它,人们一直有很多困惑。

    81310编辑于 2022-04-27
  • 来自专栏量子发烧友

    实践|量子编程初试

    为加速量子软件开发与实践进程,本文将简要介绍QuBranch与QuTrunk,并通过软件已开发功能进行量子算法运行演示。 def run_grover(): num_qubits = 15 num_elems = 2 ** num_qubits num_reps = math.ceil(pi / 4 (num_elems)) print("num_qubits:", num_qubits, "num_elems:", num_elems, "num_reps:", num_reps) 步骤4 if __name__ == '__main__': # run_random_byte(backend=BackendQuSim()) run_random_byte() 步骤4 qreg q[8] creg c[8] H | q[0] H | q[1] H | q[2] H | q[3] H | q[4] H | q[5] H | q[6] H | q[7] Measure |

    92930编辑于 2023-02-24
  • 来自专栏yifei的专栏

    unix编程实践_7_事件驱动编程

    在unxi/linux编程实践第七章的基础上完成的一个小的终端弹球游戏,先来个截图。 存在问题 光标闪烁问题。 ball_move ); set_ticker( 1000 / TICKS_PER_SEC ); /* send millisecs per tick */ } void paintedge(){ move(4,9

    58410编辑于 2022-11-14
  • 来自专栏pangguoming

    Java编程最差实践(常见编程错误典范)

    转载自  http://macrochen.iteye.com/blog/1393502 每天在写Java程序,其实里面有一些细节大家可能没怎么注意,这不,有人总结了一个我们编程中常见的问题。

    85520发布于 2018-10-12
  • 来自专栏智能大数据分析

    Spark编程实验二:RDD编程初级实践

    一、目的与要求 1、熟悉Spark的RDD基本操作及键值对操作; 2、熟悉使用RDD编程解决实际具体问题的方法。 二、实验内容 1、pyspark交互式编程 给定数据集 data1.txt,包含了某大学计算机系的成绩,数据格式如下所示: Tom,DataBase,80 Tom,Algorithm,50 Tom 输入文件 file4.txt: 5 3 1 6 4 9 8 3 4 7 5 6 3 2 [root@bigdata RDD]# vi file4.txt [root@bigdata RDD 四、结果分析与实验体会 在进行RDD编程实验之前,需要掌握Spark的基本概念和RDD的特性,例如惰性计算、分区、依赖关系等。同时需要了解Python等语言的基础知识。 同时也能够培养代码编写和调试的能力,提高编程水平。

    1.1K00编辑于 2025-01-22
  • 来自专栏Hadoop数据仓库

    ShardingSphere实践4)——读写分离

    读写分离 (1)添加资源 (2)创建表 (3)创建读写分离规则 (4)读写数据 2. 读负载均衡 (1)轮询算法 (2)随机访问算法 (3)权重访问算法 3. password=mypass), read_ds3 (host=172.18.18.102, port=3306, db=db3, user=wxy, password=mypass), read_ds4 (host=172.18.18.102, port=3306, db=db4, user=wxy, password=mypass); (2)创建表 create default single table (4)读写数据         预览实际执行的SQL,确认路由符合预期。 , type(name=weight, properties(read_ds2=1,read_ds4=0)));         预览实际执行的SQL,因为read_ds4的权重指定为0,所以每次查询都路由到

    1.6K31编辑于 2022-06-05
  • 来自专栏python3

    JSP(4)----servlet编程3

    DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

    84520发布于 2020-01-14
  • 来自专栏changxin7

    4.网络编程 总结

    FF-FF-FF-FF-FF-FF 5: FF-FF-FF-FF-FF-FF 接口1: 源mac 1C-1B-0D-A4-E6-44 目标1C-1C-0D-A4-E5-44 |数据 3: FF-FF-FF-FF-FF-FF 4: FF-FF-FF-FF-FF-FF 5: 1C-1C-0D-A4-E5-44 当五个口都对应上具体的mac地址,2 端口1: 1C-5F-4B-3E-35-2C ​ 端口2: 1C-5F-4B-6E-35-2C 广播风暴: 所有的计算机都在广播的形式发送消息. 获取bytes形式的报头的总字节数 len_head_dic_json_bytes = len(head_dic_json_bytes) 5.将不固定的int总字节数编程固定长度的 形式的报头的总字节数 four_head_bytes = struct.pack('i', len_head_dic_json_bytes) # 5 将不固定的int总字节数编程固定长度的

    1.3K20发布于 2019-08-20
  • 来自专栏生信补给站

    R编程之路(4

    runif(10,min=0,max=1)#产生10个最小值为0,最大值为1的随机数

    31720发布于 2020-08-06
  • 来自专栏Teobler的开发日记

    极限编程技术实践

    上篇文章介绍了 TDD,这次我们将极限编程中的所有技术实践合起来一起聊聊。 重构 为了统一语言,我想有必要在开始讲重构前聊聊到底什么是重构。 结对编程 [how-do-we-pair] 这又是一个争议颇多的实践 - 两人(或更多人)共同解决同一编程问题。 再谈极限编程 从两篇文章可以看出,极限编程的几个技术实践是相辅相成、缺一不可的。 而结对编程在其中又处于一个特殊的位置,它所能带来的好处其实也是不可或缺的,但由于种种原因又是比较难实现的一种实践。结对所带来的知识共享和代码质量如果你想做到可能得花费更大的力气。 敏捷的技术实践是任何敏捷工作中最本质的组成部分,是敏捷的核心。任何敏捷实践的导入,如果没有包含技术实践,都注定会失败。没有保持高技术质量的技术实践,团队的生产力将快速下降,最终陷入不可避免的重写循环。

    80630发布于 2021-03-01
领券