目录
网络架构及其演变过程
单机架构
CS架构
BS架构
BS架构和CS架构的区别
C/S架构的优缺点:
B/S架构的优缺点:互联网与互联网的组成
互联网的组成(教科书版)
互联网的组成(科普版)OSI七层协议
物理层
数据链路层
以太网协议
Mac地址
广播地址网络层
传输层
应用层Socket抽象层
Socket抽象层网络架构及其演变过程
单机架构
单机:顾名思义,就是不需要进行联网操作应用领域俄罗斯方块
连连看CS架构CS架构:C--client--客户端,...
面向对象编程之封装
一、封装的原则
举例说明:类似于电视机,把所有的东西都封装起来,只展示显示屏,封装一般对结构的属性进行封装,使用方法和包的方式进行封装
(摘抄:https://blog.csdn.net/flyfeifei66/article/details/81532261)
1、单一职责原则
最重要的原则,见名知意。单一职责,强调的是职责的分离,一个方法只干一件事情,只因为一个原因做修改。很多代码之所以需要重构,因为有职责扩散。所谓职责扩散,就是因为某...
泛型编程与STL学习笔记之容器
C++ STL定义两种大小可变的 containers : Sequence Container和Associative Container。
1,Sequence 是Forward Container的一个强化(Refinement),是一种最明显的大小可变的container。就像所有的containers一样,Sequence 以严格线性序列的range来呈现其元素。此外,你不但可以取用任何元素,也可以在range的任意一个地点新增或删除元素。也就是说,Sequence不会以某种规定来排列元素,它让你依照...
PTA基础编程题目7-8
题目
7-8 超速判断 (10分)
模拟交通警察的雷达测速仪。输入汽车速度,如果速度超出60 mph,则显示“Speeding”,否则显示“OK”。
输入格式:
输入在一行中给出1个不超过500的非负整数,即雷达测到的车速。
输出格式:
在一行中输出测速仪显示结果,格式为:Speed: V - S,其中V是车速,S或者是Speeding、或者是OK。
输入样例1:
40
输出样例1:
Speed: 40 - OK
输入样例2:
75
输出样例2:
Speed: 75 - Speedi...
<?xml version="1.0" encoding="utf-8"?>clojure GUI编程-1
<style type="text/css">*/
</style>
<body>clojure GUI编程-1目录
1. 简介
2. 实现过程2.1. 添加依赖包
2.2. API请求的实现
2.3. gui界面的实现1 简介
最近了解了下GUI编程,测试了实时刷新GUI的编程方法,作为总结,记录下来。具体示例以okex交易行情为例子,写一个GUI程序,界面要实时刷新当前行情。
参考官方地址。 okex的API地址。 主要用到获取币对信息,和深度数据...
一、异步编程背景
由于js的运行机制,JS引擎建立在单线程事件循环的概念上,js引擎同一时间只能执行一段代码,每当一段代码准备被执行,他就会被添加到作业队列。当JS引擎结束当前代码的执行后,事件循环就会执行队列的下一个作业。作业会从队列的第一个开始,一次运行到最后一个。
之前普遍使用的异步方式是回调模式。这种模式运作的很好,但是如果嵌套过多,就会让人觉得很麻烦。
methcod1(function(err,result){ if(err){ throw...
A题是这样子的: 给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数(在文件中至少缺失一个这样的数据——为什么?)。在具有足够内存的情况下,如何解决该问题?如果有几个外部的“临时”文件可用,但是仅有几个字节的内存,又该如何解决该问题? 位图结构 高斯求和(与二分搜索相结合) 1. 文件读写 首先我们来看怎么进行文件的读写。有一篇博文总结的很不错,值得参考。贴出具...
一、Executors 线程池创建工具【1】
1、Executors.newCachedThreadPool();说明: 创建的线程池核心线程0 , 最大线程是Integer.MaxValue。 线程空闲存活时间1分钟。 默认异常拒绝策略,使用SynchronousQueue队
特点:每次添加任务如果没有空闲线程就会新建一个线程去执行。 SynchronousQueue是阻塞队列,加入任务的线程会阻塞住,直到其它线程从中取走任务才会结束阻塞 线程创建上限近乎无限
适用场景:所以它适用于任务加入比...
1、router.push()
使用router.push()方法可以导航到不同的URL地址。这个方法会向history栈添加一条新的记录,当用户单击浏览器后退按钮时,可以回到之前的URL。
query传参; params传参; 更改上述代码
methods: {gostart() {this.$router.push({name: 'user', params: { name: 'admin' }})}}routes: [{ path: '/user', component: user, name: 'user' }]var user = {template: "<h3>用户名:{{this.$route.params.name}}</h3>"}2...
网络知识总结理论知识结构 在出试题之前,根据本课程的学习及之前的网络知识学习总结计算机网络协议栈:计算机网络有两种分层模型,即OSI模型和TCP/IP模型,OSI有7层,TCP/IP则将网络分为4层,OSI模型是规定的标准,而现在TCP/IP模型是事实上的网络标准,所以我们结合两者,一般都说TCP/IP 5层模型,下面给一张图来说明: 关于计算机网络理论知识的学习,一般都是围绕着TCP/IP 5层模型来学习各层上的协议,比如重要的TCP协议、IP协...
1.两数相加
https://leetcode-cn.com/problems/add-two-numbers/
自己的代码能力果然很差,写出来直接超时。 1 # Definition for singly-linked list.2 3 class ListNode(object):4 def __init__(self, val=0, next=None):5 self.val = val6 self.next = next7 8 class Solution(object):9 def addTwoNumbers(self, l1, l2):
10 """
11 :type l1: ListNode
12 :type l2: ListNode...
我有一个Crystal Reports报表,我想从c#中以编程方式编辑标签.我可以操纵数据源,但不能编辑标签.
我正在设计帐单报告,因此我需要显示公司详细信息,日期时间和其他一些我无法从数据源中获取的信息.解决方法:通常对于帐单,公司名称和详细信息(例如地址等)显示在帐单的顶部.在这种情况下,我使用的是报表标题.在这种情况下,您可以轻松传递文本以使其显示出来.在运行时传递内容的另一种方法是使用report参数.您可以将参数绑定到字段或公式...
编程其实是计算机科学。很多人都错误得认为,计算机科学是数学的一个分支,数学是计算机科学的基础,数学是比计算机科学更加博大精深的科学。这些人以为只要学会了数学,编程的事情全都不在话下,然而事实却并非如此。
数学不是计算机科学的基础
事实其实是这样的:
1.计算机科学其实根本不是数学,它只不过借用了非常少、非常基础的数学,比高中数学还要容易一点。所谓的高等数学,在计算机科学里面基本用不上。
2.计算机是比数学...
shell编程系列19--文本处理三剑客之awk常用选项awk选项总结选项 解释
-v 参数传递
-f 指定脚本文件
-F 指定分隔符
-V 查看awk的版本号[root@localhost shell]# awk -v num2="$num1" -v var1="$var" BEGIN{print num2,var1}
20 hello world# -f 选项 文件中读取表达式
[root@localhost shell]# cat 1.awk
BEGIN{str="I hava a tream"location=index(str,"ea")print location
}
[root@localhost...
任何事情都是有规律可循,同时也有其对应的守则(可理解为规范)。各行各业如此,联系到计算机行业里面的软件开发,也是如此。
参考了《程序员为什么那么累》这篇文章,该文章链接为:https://www.imooc.com/article/27569
针对这篇文章,我再详细的归纳总结,同时也联系到我的实际开发上面。
下面进入正题,谈谈我对编程规范定义的想法和实践。
今天主要就如下几个方面详细说并讲解实践方式和思路。
用思维导图可划分为如下几个方面...