安全开发--多语言基础知识
注释:还是要特别说明一下,想成为专业开发者不要看本文,本文是自己从业安全以来的一些经验总结,所有知识点也只限于网络安全这点事儿,再多搞不明白了。
开发语言
笼统的按照是否编译成机器码分类开发语言,开发语言分为脚本语言和编译语言;脚本语言包括:python,php,语言特点是更加接近自然语言,运行需要特定的解释器,与底层系统一般无关,因此脚本语言一般也是毫无秘密可言,脚本语言的这一特性也决定很多人将他们作为开源项目语言使用。脚本语言一般都是弱类型语言,解释器会根据实际运行情况进行类型推导,这导致我们可以使用脚本语言很快的写出代码,但是经常会在运行一段时间后产生各种各样的BUG。
编译语言分为:c,golang。编译语言是可以直接编译成对应CPU机器码独立运行,因此编译语言是不可跨CPU架构移植的,编译语言去符号编译代码一般不可逆,其中IDA可以逆向出伪代码,带符号编译则可以在debug模式下看到源码。编译语言一般都是强类型语言,保证能编译就能使用,但是这话也不绝对,有的编译语言为了像脚本语言一样也有很好的编码体验,对用户也是采用弱类型。常规的编译语言都是强类型,好处就是代码编译后bug较少。
其中java,c#并不属于两者,粗俗的理解,它们是虚拟机语言,他们具备脚本语言的一些特点,比如可以逆向源码,也具备一些编译语言的特点,比如是强类型,有复杂的语法要求。当然虚拟机语言出现bug,调试也普遍比脚本语言与编译语言难。
数据类型
不同语言对于数据类型的概念都是一样的,一个完整的开发语言一般包括整数(也有一些特别的语言没有这么多类型)、浮点数、字符串、布尔值、组合类型(不同语言会有一些不同的衍生)下面对比列一下6种语言的整数类型
整型
计算机由于使用二进制,所以有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,二进制用 0b表示例如 0b1000。八进制用o表示,例如0o123 等等。这里的整数概念包含各个进制的整数,当然常见的是10进制。
其中脚本语言大多数可以处理任意大小的整数(不代表数据库也处理任意大小),编译语言则只能处理固定长度(编者知识广度有限,不绝对),因此在安全上有一项渗透测试叫做整数溢出测试。原理就是利用某些语言只能处理有限长度的整数类型,超过它最大值后取反补位操作变成特别小或者复数的值。最典型的就是C语言整数溢出漏洞,这种漏洞的原理及利用会在后面章节描述。
注释:各语言的int lang short定义或有不同,如下表格不代表同类型转换
语言类型 | python | php | java | c# | c | golang |
---|---|---|---|---|---|---|
uint8 | ✔ | |||||
uint16 | ✔ | |||||
uint32 | ✔ | |||||
uint64 | ✔ | |||||
int | ✔ | ✔ | ✔ | ✔ | ✔ | |
lang | ✔ | ✔ | ✔ | |||
short | ✔ | ✔ | ✔ | |||
int8 | ✔ | |||||
int8 | ✔ |
整数创建在不同编程语言中的比较
整数是编程中最基本的数据类型之一,用于表示没有小数部分的数值。不同的编程语言在创建和表示整数时有着不同的语法和特性。本文将介绍PHP、Python、Java、C和Go(Golang)这几种语言中创建整数的不同方式,并提供示例代码。
整数概述
整数可以是正数、负数或零。在某些语言中,整数可以有不同的大小,例如8位、16位、32位或64位整数。
PHP
PHP中的整数使用数字直接表示,不需要任何特殊的语法。
示例代码:
<?php
$int1 = 10; // 正整数
$int2 = -20; // 负整数
$int3 = 0; // 零
?>
Python
Python中的整数同样直接使用数字表示。Python 3支持int
和long
(在Python 2中,但在Python 3中long
已被合并到int
中)。
示例代码:
int1 = 10 # 正整数
int2 = -20 # 负整数
int3 = 0 # 零
Java
Java中的整数需要指定类型,如int
、long
、short
、byte
等。对于int
类型,可以省略L
或l
后缀。
示例代码:
int int1 = 10; // 正整数
int int2 = -20; // 负整数
int int3 = 0; // 零long longValue = 9223372036854775807L; // 长整型示例,需要L后缀
C
C语言中的整数同样需要指定类型,如int
、long
、short
、char
等。C语言还支持无符号整数,使用unsigned
关键字。
示例代码:
#include <stdio.h>int main() {int int1 = 10; // 正整数int int2 = -20; // 负整数int int3 = 0; // 零unsigned int uint1 = 65535; // 无符号整数return 0;
}
Go (Golang)
Go中的整数使用int
类型表示,Go语言的整数类型长度依赖于运行时的架构(32位或64位)。Go也支持int8
、int16
、int32
、int64
等。
示例代码:
package mainimport "fmt"func main() {int1 := 10 // 正整数int2 := -20 // 负整数int3 := 0 // 零var int4 int8 = -128 // 8位整数,有符号fmt.Println(int1, int2, int3, int4)
}
总结
不同编程语言的整数创建方式各有特点:
- PHP 和 Python 在整数创建上非常简洁,直接使用数字即可。
- Java 需要显式指定整数的类型,并且对于长整型需要使用
L
或l
后缀。 - C 语言需要指定整数的类型,并且支持无符号整数。
- Go 的整数类型长度依赖于运行时架构,并且Go提供了不同位数的整数类型。
了解每种语言的整数创建方式有助于开发者在不同语言之间进行切换时快速适应其数值类型的使用。整数是编程中非常基础和常用的数据类型,掌握其在不同语言中的使用对于编写高效和可维护的代码至关重要。
字符串创建在不同编程语言中的比较
字符串是编程中表示文本数据的基本数据结构。不同的编程语言提供了不同的方法来创建和操作字符串。本文将探讨PHP、Python、Java、C和Go(Golang)这几种语言中创建字符串的不同方式,并提供示例代码。
字符串概述
字符串是由字符组成的序列,可以是定长的也可以是不定长的。不同的编程语言对字符串的表示和操作有着不同的语法。
PHP
PHP中的字符串可以使用双引号、单引号或heredoc语法创建。
示例代码:
<?php
$string1 = "This is a string in double quotes";
$string2 = 'This is a string in single quotes';
$string3 = <<<EOT
This is a string using heredoc syntax.
EOT;
?>
Python
Python中的字符串同样可以使用双引号或单引号创建。Python 3支持原始字符串(raw string)。
示例代码:
string1 = "This is a string in double quotes"
string2 = 'This is a string in single quotes'
string3 = r"This is a raw string with \n and \t"
Java
Java中的字符串使用双引号创建,并且Java的字符串是不可变的。
示例代码:
String string1 = "This is a string in Java";
String string2 = new String("This is another way to create a string");
C
C语言中的字符串是以null字符(\0
)结尾的字符数组。
示例代码:
#include <stdio.h>int main() {char string1[] = "This is a string in C";char string2[] = {'T', 'h', 'i', 's', ' ', 'i', 's', '\0'};printf("%s\n", string1);return 0;
}
Go (Golang)
Go中的字符串使用双引号创建,Go的字符串同样是不可变的。
示例代码:
package mainimport "fmt"func main() {string1 := "This is a string in Go"fmt.Println(string1)
}
总结
不同编程语言的字符串创建方式各有特点:
- PHP 支持多种创建字符串的语法,包括双引号、单引号和heredoc。
- Python 支持双引号和单引号,以及原始字符串,避免转义字符的需要。
- Java 使用双引号创建字符串,并且Java的字符串是不可变的,这意味着每次对字符串的操作都会产生新的字符串对象。
- C 语言中的字符串是字符数组,以null字符结尾,需要手动管理内存。
- Go 使用双引号创建字符串,Go的字符串同样是不可变的,并且Go提供了丰富的字符串操作函数。
了解每种语言的字符串创建方式有助于开发者在不同语言之间进行切换时快速适应其字符串操作的写法。字符串是编程中非常基础和常用的数据类型,掌握其在不同语言中的使用对于编写高效和可维护的代码至关重要。
条件控制语句在不同编程语言中的比较
条件控制语句是编程中用于基于特定条件执行不同代码路径的基本结构。不同的编程语言有着不同的语法和特性,但它们的核心概念是相似的。本文将介绍PHP、Python、Java、C和Go(Golang)这几种语言中条件控制语句的用法,并提供示例代码。
条件控制语句概述
条件控制语句主要包括if
、else
、else if
(或elif
)等关键字,用于根据不同的条件执行不同的代码块。
PHP
PHP的条件控制语句与其他C风格的语言相似。
示例代码:
<?php
$score = 75;
if ($score >= 90) {echo "优秀";
} elseif ($score >= 70) {echo "良好";
} else {echo "及格";
}
?>
Python
Python使用缩进来定义代码块,而不是使用大括号。elif
是Python特有的关键字,等同于其他语言中的else if
。
示例代码:
score = 75
if score >= 90:print("优秀")
elif score >= 70:print("良好")
else:print("及格")
Java
Java的条件控制语句结构与PHP类似,但是Java使用大括号{}
来定义代码块。
示例代码:
int score = 75;
if (score >= 90) {System.out.println("优秀");
} else if (score >= 70) {System.out.println("良好");
} else {System.out.println("及格");
}
C
C语言的条件控制语句与Java类似,使用大括号定义代码块,但是没有elif
关键字,通常使用else if
。
示例代码:
#include <stdio.h>int main() {int score = 75;if (score >= 90) {printf("优秀\n");} else if (score >= 70) {printf("良好\n");} else {printf("及格\n");}return 0;
}
Go (Golang)
Go语言的条件控制语句与C类似,但Go没有else if
,通常使用多个if
语句来实现相同的功能。
示例代码:
package mainimport "fmt"func main() {score := 75if score >= 90 {fmt.Println("优秀")} else if score >= 70 {fmt.Println("良好")} else {fmt.Println("及格")}
}
总结
尽管不同编程语言的条件控制语句在语法上有所差异,但它们的逻辑结构是相似的。PHP、Java和C使用大括号来定义代码块,而Python使用缩进。Go语言在if
语句中可以省略else if
,直接使用多个if
语句。了解这些差异有助于开发者在不同语言之间进行切换时快速适应其条件控制语句的写法。
函数在不同编程语言中的比较
函数是编程中封装代码块的基本单位,用于执行特定的任务。不同的编程语言在函数的定义和调用上有着不同的语法和特性。本文将介绍PHP、Python、Java、C和Go(Golang)这几种语言中函数的用法,并提供示例代码。
函数概述
函数通常包含函数名、参数列表、返回类型和函数体。函数可以返回一个值,也可以不返回任何值(即返回void或无返回值)。
PHP
PHP的函数使用function
关键字定义,并且可以定义返回类型和参数类型。
示例代码:
<?php
function add($a, $b) {return $a + $b;
}echo add(5, 3); // 输出 8
?>
Python
Python中的函数使用def
关键字定义,不需要指定返回类型。Python 3支持类型注解,但这是可选的。
示例代码:
def add(a, b):return a + bprint(add(5, 3)) # 输出 8
Java
Java的函数定义在类中,使用public static
关键字定义静态方法。Java 8及以后版本支持lambda表达式。
示例代码:
public class Main {public static int add(int a, int b) {return a + b;}public static void main(String[] args) {System.out.println(add(5, 3)); // 输出 8}
}
C
C语言中的函数定义使用返回类型和函数名。C语言不支持参数类型注解或返回类型注解。
示例代码:
#include <stdio.h>int add(int a, int b) {return a + b;
}int main() {printf("%d\n", add(5, 3)); // 输出 8return 0;
}
Go (Golang)
Go的函数使用func
关键字定义,并且支持匿名函数和闭包。Go的函数可以有多个返回值。
示例代码:
package mainimport "fmt"func add(a, b int) int {return a + b
}func main() {fmt.Println(add(5, 3)) // 输出 8
}
总结
不同编程语言的函数定义和调用方式各有特点:
- PHP 函数可以灵活定义,支持返回类型和参数类型注解。
- Python 使用简洁的
def
关键字定义函数,支持类型注解,但类型注解是可选的。 - Java 函数定义在类中,支持静态方法,并且从Java 8开始支持lambda表达式。
- C 语言的函数定义较为传统,不支持参数或返回值的类型注解。
- Go 语言的函数定义简洁,支持匿名函数和多返回值,体现了Go语言的现代性和简洁性。
了解每种语言的函数特性有助于开发者更好地利用每种语言的优势,编写出更加高效和可维护的代码。函数是代码复用和模块化的基础,掌握其在不同语言中的使用对于成为一名多语言开发者至关重要。
相关文章:
![](https://www.ngui.cc/images/no-images.jpg)
安全开发--多语言基础知识
注释:还是要特别说明一下,想成为专业开发者不要看本文,本文是自己从业安全以来的一些经验总结,所有知识点也只限于网络安全这点事儿,再多搞不明白了。 开发语言 笼统的按照是否编译成机器码分类开发语言,…...
![](https://www.ngui.cc/images/no-images.jpg)
如何使一个盒子水平垂直居中(常用的)
目录 1. 使用Flex布局 2. 使用Grid布局 3.绝对定位 负外边距 (必须知晓盒子的具体大小) 4.绝对定位外边距 auto 5.绝对定位 transform (无须知晓盒子的具体大小) 1. 使用Flex布局 如何实现: 在父元素上添加: display: flex; align-items: center…...
![](https://i-blog.csdnimg.cn/direct/f28e4f5cb77746368802111ea45261bc.png)
安全防御-用户认证综合实验
一、拓扑图 二、实验要求 1、DMZ区的服务器,办公区仅能在办公时间内(9:00-18:00)可以访问,生产区设备全天都是可以访问的 2、生产区不允许访问互联网,办公区和游客区允许访问互联网 3、办公区设备10.0.2.20不允许访…...
![](https://www.ngui.cc/images/no-images.jpg)
uniapp安卓离线打包配置scheme url
uniapp安卓离线打包配置scheme url 打开 AndroidManifest.xml 搜索 scheme 填入 即可 <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android" package"uni.UNI979A394…...
![](https://www.ngui.cc/images/no-images.jpg)
C++ STL std::lexicographical_compare用法和实现
一:功能 按字典顺序比较两个序列,判断第一个序列是否小于(或大于)第二个序列 二:用法 #include <compare> #include <vector> #include <string> #include <algorithm> #include <iostream> #include <fo…...
![](https://www.ngui.cc/images/no-images.jpg)
ORM Bee,如何使用Oracle的TO_DATE函数?
ORM Bee,如何使用Oracle的TO_DATE函数? 在Bee V2.4.0,可以这样使用: LocaldatetimeTable selectBeannew LocaldatetimeTable();Condition conditionBF.getCondition();condition.op("localdatetime", Op.ge, new TO_DATE("2024-07-08", "YYYY-MM-DD&…...
![](https://i-blog.csdnimg.cn/direct/da01bfaca3ee428e8d28a9a5a61c3eec.png)
HTML CSS 基础复习笔记 - 框架、装饰、弹性盒子
自己复习前端基础,仅用于记忆,初学者不太适合 示例代码 - HTML <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initi…...
![](https://www.ngui.cc/images/no-images.jpg)
C++:创建线程
在C中创建线程,最直接的方式是使用C11标准引入的<thread>库。这个库提供了std::thread类,使得线程的创建和管理变得简单直接。 以下是一个简单的示例,展示了如何在C中使用std::thread来创建和启动线程: 示例1:…...
![](https://img-blog.csdnimg.cn/img_convert/51dd6315d36e8d94dd9140db07e4d371.jpeg)
python如何查看类的函数
Python非常方便,它不需要用户查询文档,只需掌握如下两个帮助函数,即可查看Python中的所有函数(方法)以及它们的用法和功能: dir():列出指定类或模块包含的全部内容(包括函数、方法、…...
![](https://www.ngui.cc/images/no-images.jpg)
P6. 对局列表和排行榜功能
P6. 对局列表和排行榜功能 0 概述1 对局列表功能1.1 分页配置1.2 后端按页获取对局列表接口1.3 前端展示传回来的对局列表1.4 录像回放功能1.4.1 录像回放的流程1.4.2 录像回放的实现 1.5 前端分页展示 2 排行榜功能2.1 排行榜的实现 0 概述 本节主要介绍了如何实现对局列表和…...
![](https://i-blog.csdnimg.cn/direct/89245cd54ebb45e08c559fd1352f1e34.png)
uniapp easycom组件冲突
提示信息 easycom组件冲突:[/components/uni-icons/uni-icons.vue,/uni_modules/uni-icons/components/uni-icons/uni-icons.vue] 问题描述 老项目,在uniapp插件商城导入了一个新的uniapp官方开发的组件》uni-data-picker 数据驱动的picker选择器 …...
![](https://i-blog.csdnimg.cn/direct/ee8b19e1de474922b4453c1a4b6b6662.png)
总结24个Python接单赚钱平台与详细教程,兼职月入5000+
如果说当下什么编程语言最靠谱或者比较适合搞副业? 答案肯定100%是:Python。 python是所有语法中最简单易上手的语言,不需要特别的的英语词汇量,逻辑思维也不需要很差就能上手。而且学会了之后就能编写代码爬取各种数据…...
![](https://www.ngui.cc/images/no-images.jpg)
macOS 的电源适配器设置
在 macOS 的电源适配器设置中,有四个选项,每个选项都有特定的功能: Prevent your Mac from automatically sleeping when the display is off(当显示屏关闭时,防止你的 Mac 自动进入睡眠状态):…...
![](https://www.ngui.cc/images/no-images.jpg)
视觉SLAM与定位之一前端特征点及匹配
视觉SLAM中的特征点及匹配 参考文章或链接特征点性能的评估传统特征点和描述子(仅特征点或者特征点描述子)传统描述子 基于深度学习的特征点基于深度学习的描述子基于深度学习的特征点描述子特征匹配 参考文章或链接 Image Matching from Handcrafted t…...
![](https://i-blog.csdnimg.cn/direct/67620e39aea746e181d15deda1b0d79f.jpeg)
开源项目的认识理解
目录 开源项目有哪些机遇与挑战? 1.开源项目的发展趋势 2.开源的经验分享(向大佬请教与上网查询) 3.开源项目的挑战 开源项目有哪些机遇与挑战? 1.开源项目的发展趋势 1. 持续增长与普及 - 开源项目将继续增长,…...
![](https://i-blog.csdnimg.cn/direct/5e8f7d1e79ab4668af3a5067af9195d9.png)
37.哀家要长脑子了!--层序遍历
gongmi层序遍历模板 vector<vector<int>> levelOrder(TreeNode *root){queue<TreeNode*> que;vector<vector<int>> res;if(root ! nullptr)que.push(root);while(!que.empty()){int size que.size();vector<int> storey;for(int i 0; i …...
![](https://img-blog.csdnimg.cn/direct/b6935818c57b4edaa7752395b9443561.png)
【从零开始AI绘画6】StableDiffusionWebUI拓展的安装方法以及推荐的几个拓展
这里写自定义目录标题 拓展Extention安装方法(以双语对照插件为例)1、WebUI内置的下载方式(推荐)2、git clone安装(更推荐)3、github下载安装包后解压(不推荐) 强力推荐安装的几个插…...
![](https://i-blog.csdnimg.cn/direct/a1cd1622cc4a439baa1629a3cc947e99.png)
HTML5表单的自动验证、取消验证、自定义错误信息
1、自动验证 通过在元素中使用属性的方法,该属性可以实现在表单提交时执行自动验证的功能。下面是关于对元素内输入内容进行限制的属性的指定。 属性说明required输入内容是否不为空pattern输入的内容是否符合指定格式min、max输入的数值是否在min~max范围step判断…...
![](https://img-blog.csdnimg.cn/direct/42a59a22362b4abab28dd106610d56cc.gif#pic_center)
SpringMVC系列九: 数据格式化与验证及国际化
SpringMVC 数据格式化基本介绍基本数据类型和字符串自动转换应用实例-页面演示方式Postman完成测试 特殊数据类型和字符串自动转换应用实例-页面演示方式Postman完成测试 验证及国际化概述应用实例代码实现注意事项和使用细节 注解的结合使用先看一个问题解决问题 数据类型转换…...
![](https://i-blog.csdnimg.cn/direct/3f0d3931ffe048988eea4036de2677e8.jpeg)
判断链表中是否有环(力扣141.环形链表)
这道题要用到快慢指针。 先解释一下什么是快慢指针。 快慢指针有两个指针,走得慢的是慢指针,走得快的是快指针。 在这道题,我们规定慢指针一次走一步,快指针一次走2步。 如果该链表有环,快慢指针最终会在环中相遇&a…...
![](https://i-blog.csdnimg.cn/direct/10f40eccb2d7405fb66ba8bcfe5f840d.png#pic_center)
Kubernetes基于helm部署jenkins
Kubernetes基于helm安装jenkins jenkins支持war包、docker镜像、系统安装包、helm安装等。在Kubernetes上使用Helm安装Jenkins可以简化安装和管理Jenkins的过程。同时借助Kubernetes,jenkins可以实现工作节点的动态调用伸缩,更好的提高资源利用率。通过…...
![](https://i-blog.csdnimg.cn/direct/8e42f6a995d142ddb2bbbe158427f325.png)
【Linux】vim详解
1.什么是vi/vim? 简单来说,vi是老式的文本编辑器,不过功能已经很齐全了,但是还是有可以进步的地方。vim则可以说是程序开发者的一项很好用的工具,就连 vim的官方网站( http://www.vim.org)自己也说vim是一…...
![](https://www.ngui.cc/images/no-images.jpg)
Android11 mtk 第二次设置壁纸,锁屏壁纸不变的问题
1、情景:近日测试人员发现第一次更换壁纸后,主屏幕壁纸和锁屏壁纸均会改变;但第二次更换壁纸后,主屏幕壁纸会改变而锁屏壁纸不会改变。 2、要求:主屏幕壁纸和锁屏壁纸军改变 3、解决 路径:****\frameworks\base\services\core\java\com\android\server\wallpaper\Wallp…...
![](https://www.ngui.cc/images/no-images.jpg)
Java学习路线
目录 友情提醒第一章、Java基础1.1)第一部分:Java 入门1.2)第二部分:Java数组1.3)第三部分:Java面向对象1.4)第四部分:常用工具类1.5)第五部分:集合体系1.6&a…...
![](https://www.ngui.cc/images/no-images.jpg)
java 实现人脸检测
1. 安装必要的库 确保你已经安装了JPEG库、BLAS和LAPACK库。在Ubuntu或Debian系统上,可以使用以下命令安装: sudo apt-get update sudo apt-get install libjpeg-dev libblas-dev liblapack-dev 在CentOS或Fedora系统上,可以使用以下命令安…...
![](https://i-blog.csdnimg.cn/direct/db3a3cf7aeaa49f5a57478aed9994682.png)
VSCode神仙插件——Codeium (AI编程助手)
1、安装&登录插件 安装过程中会让你登录Codeium账户,可以通过Google账户登录,或者可以注册一个Codeium账户(如果没有弹出让你登录账户的界面,可以等安装结束后在右下角找到登录的地方) 右下角显示如下图所示&#…...
![](https://i-blog.csdnimg.cn/direct/44f1f0d2e32e4d2a927c7e65053ad7ba.png)
css文本划线效果(text-decoration相关属性详解)
/* 样式类型*/text-decoration: underline;/* 下划线颜色 */text-decoration-color: #ffcb15;/* 超出基线的字符不会被截断 */text-decoration-skip-ink: none;/*下划线厚度 */text-decoration-thickness: 5px;/* 与其原始位置的偏移距离 */text-underline-offset: 0;1. text-u…...
![](https://i-blog.csdnimg.cn/direct/41e4f975dfa44d95a1520dc19314e8c7.png)
《Windows API每日一练》8.5 listbox控件
列表框是将一批文本字符串显示在一个具有滚动功能的方框中的控件。通过发送消息到列表框的窗口过程,程序可以添加或删除列表中的字符串。当列表框中的一个项目被选中时,列表框控件便发送 WM_COMMAND消息到其父窗口。然后父窗口确定哪个项目被选中。 本节…...
![](https://www.ngui.cc/images/no-images.jpg)
使用Node.js 框架( Express.js)来创建一个简单的 API 端点
文章目录 使用Node.js 框架( Express.js)来创建一个简单的 API 端点什么是express安装修改代码 express 自动刷新 使用Node.js 框架( Express.js)来创建一个简单的 API 端点 什么是express Express 是一个保持最小规模的灵活的 …...
![](https://i-blog.csdnimg.cn/direct/fe189940720a4334a7615887601fbcb3.png)
企业服务行业CRM解决方案
企业服务行业CRM解决方案 强大的功能满足企业服务行业对客户管理、业务管理等方面的真实需求; 细分企业服务行业的不同领域,为不同业务场景提供个性化配置; 打通钉钉、企业微信等平台,降低企业使用CRM门槛,提供高性…...
如何网上快速接网站开发订单/微信公众号推广
一、前言 二叉树的顺序结构实现虽然很容易,但是在创建过程中,不免要浪费掉很多空间,为了减少空间浪费,从而提出链表的链式存储,虽然链式存储也很浪费空间,但是在某些二叉树中要节约很多空间,同…...
![](http://acm.hdu.edu.cn/data/images/C21-1005-1.gif)
做英剧网站的设计思路/百度问一问免费咨询
漂亮面料的设计 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 549 Accepted Submission(s): 206 Problem Description现在的CAD技术已经能够很方便地设计出漂亮的面料,如图(b&#x…...
![](http://hi.csdn.net/attachment/201202/7/0_132862258301fy.gif)
wordpress twenty twelve1.4/网站开发步骤
最近面向领域的知识挺火,我也来插一腿。说说我平时做项目时候用到的开发方式,以下代码为伪代码,主要展示一下我现在的开发方式供大家讨论,系统中不考虑持久、UI、AOP和IOC等方面内容。说到.NET社区的“开发方式”就不得不提一下Pe…...
![](https://img-blog.csdnimg.cn/img_convert/c197e4fe17a9e818e11d43148bb51bd4.png)
wordpress临时维护/seo推广论坛
在Vue中,其中最最最核心的一个知识点就是数据响应式原理,数据响应式原理归结起来就包含两大部分:侦测数据变化、依赖收集,了解这两个知识点就了解到了数据响应式原理的精华。一、侦测数据变化能够帧听到数据变化是数据响应式原理的…...
![](/images/no-images.jpg)
未备案网站 赚钱/中国科技新闻网
编译原理,用Reactjs用自制编译器 此人的教程非常好...
![](https://img-blog.csdnimg.cn/20210818112348835.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4NDAzNTkw,size_16,color_FFFFFF,t_70)
梅州头条新闻今天头条新闻/全国分站seo
这里的场景为1对1,就是A发送B接收。 而【不是1对多】,A发送、B、C接收 首先在springBoot程序下pom导入相关依赖,activemq的、以及提升效率的连接池的。 <dependency><groupId>org.springframework.boot</groupId><art…...