[易学易懂系列|rustlang语言|零基础|快速入门|(17)|装箱crates]

实用知识

装箱crates

我们今天来讲讲装箱技术crates。

什么是crates?

英语翻译是:

英 [kreɪt] 美 [kreɪt]

n. 板条箱;篓

vt. 将某物装入大木箱或板条箱中

[ 过去式 crated 过去分词 crated 现在分词 crating 复数 crates 第三人称单数 crates ]

其实,它也就是一种模块化封装技术。

我们还是来看看代码,我们先用命令:cargo new greetings 生成一个新的工程,工程目录如下 :

// # It generates,

greetings

├── Cargo.toml

└── src

└── main.rs

然后我们用vscode打开这个目录,在src目录下,新建一个lib.rs,并写入以下代码:

// 01. greetings/src/lib.rs

pub fn hello() {

println!("Hello, world!");

}

在main.rs文件中写入以下代码:

// 02. greetings/src/main.rs

extern crate greetings;

fn main() {

greetings::hello();

}

然后在当前工程目录下,powershell下运行以下命令:

cargo build

cargo run

打印结果为:Hello, world!

我来解释一下相关代码。

extern crate greetings;

这段代码什么意思呢?它代表链接到一个库:greetings

在Rust,

链接一个 crate 到这个新库,必须使用 extern crate 声明。这不仅会链接库,还会导入与库名相同的模块里面的所有项。适用于模块的可见性规则也适用于库。

这里我们要注意一点:

其中库的名字,不能像这样的加横杠线:“like-this”,而是用下划线:"like_this",如下:

extern crate like_this;

现在有另一种情景,当我们的库越来越大,怎么办?

我们可以把这些库统一放在一个crate中。

我们来看看例子。

先用命令创建相关目录:

// # Think we run,

cargo new phrases

cargo new phrases/greetings --lib

这两个命令将产生如下目录:

// # It generates,

phrases

├── Cargo.toml

├── greetings

│ ├── Cargo.toml

│ └── src

│ └── lib.rs

└── src

└── main.rs

在目录phrases下的Cargo.toml文件最后一行,加入以下依赖信息:

greetings = { path = "greetings" }

在目录phrases/greetings/src/lib.rs文件中,更新为如下代码:

// 02. phrases/greetings/src/lib.rs

pub fn hello() {

println!("Hello, world!");

}

在目录phrases/src/main.rs文件中,更新为如下代码:

// 03. phrases/src/main.rs

extern crate greetings;

fn main() {

greetings::hello();

}

在工程目录phrases,运行:cargo run,应该会打印出一个正确结果:Hello, world!

我们看到,crate的依赖信息可以写到Cargo.toml文件中,非常方便。

当然,我们可以导入git中的代码库,如下:

/ -- Cargo.toml --

[dependencies]

// 01. Get the latest commit on the master branch

rocket = { git = "https://github.com/SergioBenitez/Rocket" }

// 02. Get the latest commit of a specific branch

rocket = { git = "https://github.com/SergioBenitez/Rocket", branch = "v0.3" }

// 03. Get a specific tag

rocket = { git = "https://github.com/SergioBenitez/Rocket", tag = "v0.3.2" }

// 04. Get a specific revision (on master or any branch, according to rev)

rocket = { git = "https://github.com/SergioBenitez/Rocket", rev = "8183f636305cef4adaa9525506c33cbea72d1745" }

我们在依赖文件:目录phrases下的Cargo.toml,更新为如下信息:

[*dependencies*]

*#greetings = { path = "greetings" }*

test_crate_hello_world = "0.1.2"

在目录phrases/src/main.rs文件中,更新为如下代码:

extern crate test_crate_hello_world;

fn main() {

println!("{}", test_crate_hello_world::hello());

}

在工程目录phrases,运行:cargo run,应该会打印出一个正确结果:Hello, world!

以上,希望对你有用。

如果遇到什么问题,欢迎加入:rust新手群,在这里我可以提供一些简单的帮助,加微信:360369487,注明:博客园+rust

[易学易懂系列|rustlang语言|零基础|快速入门|(28)|实战5:实现BTC价格转换工具]

[易学易懂系列|rustlang语言|零基础|快速入门|(28)|实战5:实现BTC价格转换工具] 项目实战 实战5:实现BTC价格转换工具 今天我们来开发一个简单的BTC实时价格转换工具. 我们首先 ...

[易学易懂系列|rustlang语言|零基础|快速入门|(27)|实战4:从零实现BTC区块链]

[易学易懂系列|rustlang语言|零基础|快速入门|(27)|实战4:从零实现BTC区块链] 项目实战 实战4:从零实现BTC区块链 我们今天来开发我们的BTC区块链系统. 简单来说,从数据结构的 ...

[易学易懂系列|rustlang语言|零基础|快速入门|(26)|实战3:Http服务器(多线程版本)]

[易学易懂系列|rustlang语言|零基础|快速入门|(26)|实战3:Http服务器(多线程版本)] 项目实战 实战3:Http服务器 我们今天来进一步开发我们的Http服务器,用多线程实现. 我 ...

[易学易懂系列|rustlang语言|零基础|快速入门|(25)|实战2:命令行工具minigrep(2)]

[易学易懂系列|rustlang语言|零基础|快速入门|(25)|实战2:命令行工具minigrep(2)] 项目实战 实战2:命令行工具minigrep 我们继续开发我们的minigrep. 我们现 ...

[易学易懂系列|rustlang语言|零基础|快速入门|(24)|实战2:命令行工具minigrep(1)]

[易学易懂系列|rustlang语言|零基础|快速入门|(24)|实战2:命令行工具minigrep(1)] 项目实战 实战2:命令行工具minigrep 有了昨天的基础,我们今天来开始另一个稍微有点 ...

[易学易懂系列|rustlang语言|零基础|快速入门|(23)|实战1:猜数字游戏]

[易学易懂系列|rustlang语言|零基础|快速入门|(23)|实战1:猜数字游戏] 项目实战 实战1:猜数字游戏 我们今天来来开始简单的项目实战. 第一个简单项目是猜数字游戏. 简单来说,系统给了 ...

[易学易懂系列|rustlang语言|零基础|快速入门|(5)|生命周期Lifetime]

[易学易懂系列|rustlang语言|零基础|快速入门|(5)] Lifetimes 我们继续谈谈生命周期(lifttime),我们还是拿代码来说话: fn main() { let mut a = ...

[易学易懂系列|rustlang语言|零基础|快速入门|(22)|宏Macro]

[易学易懂系列|rustlang语言|零基础|快速入门|(22)|宏Macro] 实用知识 宏Macro 我们今天来讲讲Rust中强大的宏Macro. Rust的宏macro是实现元编程的强大工具. ...

[易学易懂系列|rustlang语言|零基础|快速入门|(21)|智能指针]

[易学易懂系列|rustlang语言|零基础|快速入门|(21)|智能指针] 实用知识 智能指针 我们今天来讲讲Rust中的智能指针. 什么是指针? 在Rust,指针(普通指针),就是保存内存地址的值 ...

[易学易懂系列|rustlang语言|零基础|快速入门|(20)|错误处理]

[易学易懂系列|rustlang语言|零基础|快速入门|(20)|错误处理] 实用知识 错误处理 我们今天来讲讲Rust中的错误处理. 很多语言都有自己的错误处理方式,比如,java是异常处理机制. ...

随机推荐

一个简单的消息提示jquery插件

最近在工作中写了一个jquery插件,效果如下: 就是一个简单的提示消息的一个东西,支持最大化.最小化.关闭.自定义速度.自定义点击事件,数据有ajax请求和本地数据两种形式.还有不完善的地方,只做了 ...

[bzoj1122][POI2008]账本BBB

1122: [POI2008]账本BBB Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 402  Solved: 202[Submit][Status ...

任意类型转换为IntPtr

之前,将数组.结构体等转换为IntPtr使用的是Marshal.Copy().Marshal.StructureToPtr(),但是有个问题自定义的结构体数组没法这样转化,一般网上给出的解决方法就是通 ...

MVC系统学习3—ModelBinder

在ASP.NET MVC中,每个请求都被映射到一个Action方法,我们可以在action的方法中定义相应类型的参数,View中通过post.get方式提交的request参数,只要名称一致就会对应到 ...

【Stage3D学习笔记续】山寨Starling(四):渲染代码实现及测试程序

本章会实现最核心的代码,所以涉及点会比较多,这里会发布一个版本,方便日后的回退查看. 点击下载:https://codeload.github.com/hammerc/hammerc-study-St ...

(转) sphinx 高亮显示搜索词

http://hi.baidu.com/tewuapple/item/7a7bc34adbda24a8df2a9fe5  (转)

IP工具类——IpAddress.java

根据IP地址获取详细的地域信息,也可通过 http://whois.pconline.com.cn/ 获取地址信息. 源码如下:(点击下载  IpAddress.java) import java.i ...

读jQuery源码 jQuery.data

var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, rmultiDash = /([A-Z])/g; function internalData( elem, n ...

PHP连接mysql数据库进行增删改查--删除

删除: 1.首页 在foreach里面加入  

删除 在上面&lt ...

nginx的基础应用

nginx的基础应用 一.简介 今天我们将介绍一些nginx的简单应用,启动.停止nginx,重载nginx的配置,nginx配置文件的格式,如何配置nginx服务静态资源,如何配置nginx作为反向 ...

rust放置木箱转向_[易学易懂系列|rustlang语言|零基础|快速入门|(17)|装箱crates]...

相关文章

  1. 理解JavaScript模块模式

    javascript模块模式原先是由yahoo的douglas crockford提出的,在yahoo的博文中有关于此模式的描述(http://yuiblog.com/blog/2007/06/12/module-pattern/),这种模式也应用到了yui组件开发中,最核心的理念是用javascript的”类”封装私有和公有的属性和方法。 这种模式是javascr…...

    2023/3/28 17:39:56
  2. java 第一讲 javase入门 jdk安装 以及第一个Helloworld 编译以及执行

    javase 第一讲 java包含三个领域: java se: java standard edition java me: java mobile edition java ee: java enterpise edition java 是由sun公司推出的(被oracle收购)收购价格74亿美元 jdk:java development kit (开发必备) 其中已经包含了jre环境 jre: java runt…...

    2023/3/28 17:39:55
  3. Java3D编程手记一

    java3d编程手记一 2005-10-19 14:49 by 和尚释然, 557 visits, 收藏, 编辑 java3d编程手记一 1.环境开发配置. (1).首先,安装jdk,我装的是j2sdk1.4.2.08.关于如何配置jdk,请参考以下连接: http://blog.csdn.net/robertb9527/archive/2005/01/20/260998.aspx (2).安…...

    2023/3/28 17:39:53
  4. DNS介绍

    DNS DNS是域名系统(Domain Name System)的缩写,它是Internet上标准的名称解析方式。 TCP/IP通讯是基于IP地址的,但那些单调的数字是难以记忆的,通常我们会访问主机名,再通过某种机制将主机名解析为IP地址。…...

    2023/3/28 17:39:53
  5. javascript特效代码

    点一下--首页地址添加到收藏夹 我们都希望自己辛苦制作的主页能够成为网友们的收藏夹中的东东,于是我们不停的用各种方法吸引网友的注意力,大声的告诉他们:“如果你觉得的好,就把我的主页填加到你的收藏夹中吧!”;“按ctrld把本站填加进您的收藏夹”…… 其实我们不用那么费力…...

    2023/3/28 17:39:52
  6. DNS服务器搭建

    搭建DNS服务器 1.准备 1.首先网络联系模式是桥接 Windows Server 2008 2.配置IP、掩码、网关、主DNS要不不填要不就写自己的IP地址 3.安装DNS 开始菜单-程序-管理工具-服务器管理器-角色-添加角色 点击详细信息,查看IP地址 添加IP地址,子网掩码会…...

    2023/3/28 17:39:52
  7. 10个让人眼花缭乱的 HTML5 和 JavaScript 效果

    作为下一代网页语言,html5 拥有很多让人期待已久的新特性。如今,很多 web 开发人员开始使用 html5 来制作各种丰富的 web 应用。本文向大家展示10个让人眼花缭乱的 html5 和 javascript 效果,让你体验下一代 web 技术的魅力,相信你看完这些例子后会对未来的 web 发展充满无限期…...

    2023/3/28 17:39:51
  8. Web安装IIS

    Web服务器 IIS IIS“是Internet信息服务(Internet Information Service)” 搭建Web服务器 1.准备 Windows Server 2008 配置IP 2.安装IIS 开始菜单–程序–管理工具–服务器管理器–角色–添加角色–Web服务器 打开浏览器,输入localhost或…...

    2023/3/28 17:39:50
  9. 发布e表 for Java版

    发布e表 for java版 经过数月的辛苦工作,终于完成了e表 for java版,其功能,操作方式以及报表格式文件都和e表 for .net版一样,用java语言实现了e表 for .net版中c#语言实现的内容。这样用java语言开发的系统就可以很方便地集成e表了。经过简单的测试,系统的稳定性基本上和e表 …...

    2023/3/28 17:39:50
  10. zhiyinjixu

    java栈与堆 ----对这两个概念的不明好久,终于找到一篇好文,拿来共享 1. 栈(stack)与堆(heap)都是java用来在ram中存放数据的地方。与c不同,java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于cpu中的寄存器。但缺点是,存在栈中…...

    2023/3/28 17:39:49
  11. selenium自动化测试之元素定位

    基本元素定位: 1.id定位:(定位元素有id属性) find_element_by_id(id属性的值)2.name定位:(定位元素有name属性) find_element_by_name(name属性的值)3.class_name定位:(定位元素有class_name属性) find_element_by_class_name(class_name属性的值)4.tag_name定位…...

    2023/3/28 17:39:49
  12. SDN

    安装ODL 账号:mininet 密码:mininet 输入账号密码进入 进入特权用户 sudo -s 修改ip地址: vim /etc/network/interfaces 用#注释iface eho inet dhcp 设置静态配置ip地址(address)子网掩码(netmask&#…...

    2023/3/28 17:39:48
  13. java学习路线的经验之谈

    说明:这篇文章是从javaeye上看到的,觉得对整个java学习路线的把握挺有帮助,就转过来了。 地址如下:http://www.javaeye.com/topic/866400 java自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训。 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机、…...

    2023/3/28 17:39:48
  14. hadoop之php-java-bridge使用小结

    环境:ubuntu 9.10 hadoop 0.20.2 apache2php5 1.安装apache。具体安装命令如下所示: $ sudo apt-get install apache2 然后运行apache,命令如下所示: $ sudo /etc/init.d/apache2 restart apache在安装期间将会新建一个目录:/var/www,该目录是该服务器中存放文档的根目录…...

    2023/3/28 17:39:46
  15. 新kali版本,root默认密码

    新版本kali root密码不是toor,而是kali/kali 更改root密码: 先用创建的普通用户密码登录,然后打开终端输入: sudo su登录成功用户名会从自己创建变成root 然后输入命令 passwd root然后输入新的密码就可以了。...

    2023/3/28 17:39:46
  16. 转载 Java GUI/界面 开发 简介

    基本上目前技术上是两大派系:sun awt/swing, ibm swt。而相应的开发工具则是sun netbean and eclipse了。 这里还有一个故事,算是野史了吧。转载自http://blog.csdn.net/yipsilon/archive/2005/02/16/289850.aspx ---------------------------------------------------------…...

    2023/3/28 17:39:45
  17. 使用burpsuite

    设置浏览器代理 Firefox: 点击右侧三个横杠–打开设置 常规–网络设置(Network Settings)–设置 将使用系统代理改为手动配置代理(Manual proxy configuration),设置127.0.0.1端口8080,勾选也…...

    2023/3/28 17:39:45
  18. Java SE 6d新特性: 编译器 API

    2006 年底,sun 公司发布了 java standard edition 6(java se 6)的最终正式版,代号 mustang(野马)。跟 tiger(java se 5)相比,mustang 在性能方面有了不错的提升。与 tiger 在 api 库方面的大幅度加强相比,虽然 mustang 在 api 库方面的新特性显得不太多,但是也提供了许多实用和…...

    2023/3/28 17:39:44
  19. Bugku CTF

    web GET 进入环境是一个php代码,用GET方式给what赋值,要求whatflag 得到了flag 计算机 打开环境,是一个计算题和一个输入答案的框子,如图这个加法的结果是151,在输入中发现输入框只能输入一个字符 这里可以按F12&am…...

    2023/3/28 17:39:43
  20. WAP 构建 Java 应用 和 WAP经验总结

    wap 构建 java 应用 充分利用现有的 ejb 使移动工作群体变得强大 文档选项 将此页作为电子邮件发送 未显示需要 javascript 的文档选项 级别: 初级 aashish patil (ash01vsnl.net), 理科硕士研究生, 计算机科学系,southern california 大学 2001 年 7 月 12 日 如果您的企…...

    2023/3/28 17:39:43
  21. C++、java、C#命名空间比较

    今天上网搜索c的命名空间,是想看c的命名空间是不是开放的,我随时可以往其中添加内容,无意中搜索到了一片比较c、java、c#命名空间的文章,后来发现还被很多人转载了,在这里,我表示压力很大,因为那一篇文章纯粹乱忽悠,却能被很多人转载,所以深切感觉到网上有技术含量的技术博客太…...

    2023/3/28 17:39:42
  22. 冒泡排序和快速排序(Java)

    冒泡排序 public static void bubbling (int[] num2) {int temp;for (int i 0; i < num2.length; i ) {for (int j 0; j < num2.length; j ) {if (num2[i] < num2[j]) {temp num2[i];num2[i] num2[j];num2[j] temp;}}}}快速排序 public static void quick(int[…...

    2023/3/28 17:39:41
  23. 别吵了,.NET和JAVA两大帮派合并了!

    喜讯! 经过100多个人月和12000000多$的投资进行地研究和开发,并且经过4700000多行的.net到java交叉编译的测试,mainsoft for java ee (以前叫做visual mainwin for j2ee)终于发布了release2.0版本。这是一个可以免费下载的visual studio 2005插件。利用这个插件,无需重写你的c…...

    2023/3/28 17:39:40
  24. Ubuntu镜像

    镜像下载 中科大源&#xff1a; Index of /ubuntu-releases/http://mirrors.ustc.edu.cn/ubuntu-releases/可以根据需要的版本下载 阿里云源&#xff1a;阿里云开源镜像站资源目录Index of /ubuntu-releases/ | 阿里云开源镜像站利用云服务上的优势&#xff0c;提供快速、稳定…...

    2023/3/28 17:39:40
  25. Java数据库连接池类源码

    发表评论 1549549 回复 引用 查看 #1楼 2008-07-30 23:52 | *月明* mysql的驱动一定要加哦。 回复 引用 查看 #2楼[楼主] 2008-07-31 09:04 | 施杨 那是一定的了 回复 引用 #3楼 2008-11-01 19:09 | goldenfish[未注册用户] 这个例子并没有用到连接池,而只不过是重…...

    2023/3/28 17:39:39
  26. VMware安装Ubuntu

    目录 镜像 创建虚拟机 典型 自定义 安装虚拟机 修改语言 镜像 如果没找到镜像&#xff1a;Ubuntu镜像_繁华king的博客-CSDN博客镜像下载中科大源&#xff1a;Index of /ubuntu-releases/http://mirrors.ustc.edu.cn/ubuntu-releases/可以根据需要的版本下载阿里云源&am…...

    2023/3/28 17:39:39
  27. java 使用相对路径读取文件【转】

    java 使用相对路径读取文件 1.java project环境,使用java.io用相对路径读取文件的例子: *目录结构: decisiontree |___src |___com.decisiontree.samplesreader.java |___resource |___train.txt,test.txt *samplesreader.java: string filepath"resource/train.…...

    2023/3/28 17:39:38
  28. public,private,protected访问权限在Java,C++中的解析

    java中: java中的访问权限有public,private,protected和默认的包访问权限,如果类中的属性方法没有显示的指明访问权限,则具有包访问权限,我喜欢称它为packeged权限,很多人也称它为friendly访问权限,而packaged和friendly这两个关键字在实际中都是不存在的。 详细解释,我引别人…...

    2023/3/28 17:39:37
  29. VMware的设置和Ubuntu基础设置

    目录 使用虚拟机基本配置 调整窗口 拉伸客户机 自动调整大小 快照 使用Ubuntu基本配置修改 分辨率 修改下载源 使用虚拟机基本配置 调整窗口 拉伸客户机 查看——拉伸客户机——保持纵横比拉伸 最后使用第一个“保持纵横比拉伸”会保持原有比例&#xff0c;若选择第…...

    2023/3/28 17:39:37
  30. xss闯关游戏

    xss 闯关游戏 1:http://test.xss.tv/level1.php?nametest 2:http://test.xss.tv/level2.php?keywordtest 3:http://test.xss.tv/level3.php?writingwait 4:http://test.xss.tv/level4.php?keywordtry%20harder! 5:http://test.xss.tv/level5.php?keywordfind%20…...

    2023/3/28 17:39:36

最新文章

  1. 使用 Flash Builder 的 Apple iOS 开发过程

    使用 Flash Builder 的 Apple iOS 开发过程 iOS 开发和部署过程概述 构建、调试或部署 iOS 应用程序前的准备工作 在测试、调试或安装 iOS 应用程序时选择的文件 将应用程序部署到 Apple App Store 时选择的文件 在使用 Flash Builder 开发 iOS 应用程序之前&#xff0c;必须…...

    2023/3/16 19:40:03
  2. exchange日常管理之九:升级SP1后的灾难恢复

    将exchange 2007升级到了exchange 2010&#xff0c;但是没有打最新的SP1补丁和累积更新&#xff0c;没想到这补丁一打就出问题了&#xff0c;汗了一把啊。 升级过程摘要 1、在前端服务器和后端服务器上安装microsoft office filter pack 2.0 2、停掉后端的beremote备份进程 3…...

    2023/3/16 17:29:51
  3. iOS开发 - js oc相互调用

    2019独角兽企业重金招聘Python工程师标准>>> 首先导入 JavaScriptCore.framework 框架 #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #import <JavaScriptCore/JavaScriptCore.h>protocol ServerJSProtocol <JSExport>// 微…...

    2023/3/16 6:11:48
  4. git学习之创建版本库

    创建版本库 什么是版本库呢&#xff1f;版本库又名仓库&#xff0c;英文名repository&#xff0c;你可以简单理解成一个目录&#xff0c;这个目录里面的所有文件都可以被Git管理起来&#xff0c;每个文件的修改、删除&#xff0c;Git都能跟踪&#xff0c;以便任何时刻都可以追踪…...

    2023/3/16 5:38:29
  5. List集合中的数据按照某一个属性进行分组

    有的时候&#xff0c;我们需要在java中对集合中的数据进行分组运算。例如&#xff1a;Bill对象有money(float)和type(String)属性&#xff0c;现有个集合List<Bill>&#xff0c;需要按照Bill的type属性进行分组&#xff0c;计算money的总和。有以下两种思路&#xff1a; …...

    2023/3/18 2:30:34
  6. 游戏编程性能优化--------------------------------------------------------------------------------------...

    游戏编程性能优化------------------------------------------------------------------------------------------- 1.全局变量名尽量用缩写&#xff0c;尽可能短&#xff0c;可以减小程序最终生所的体积 2.for循环在较大的循环空间&#xff0c;写成几个循环&#xff0c;以利用…...

    2023/3/16 12:35:44
  7. 2017年软件工程作业-“Hello World!”团队互评beta版本

    A.欢迎来怼——博客园安卓APP&#xff08;测评人&#xff1a;刘淑霞&#xff09; 博客地址&#xff1a;http://www.cnblogs.com/liusx0303/p/7905928.html B.Thunder——爱阅app&#xff08;测评人&#xff1a;方铭&#xff09; 博客地址&#xff1a;http://www.cnblogs.com/…...

    2023/3/16 12:07:11
  8. ibatis 批量插入逻辑

    为什么80%的码农都做不了架构师&#xff1f;>>> ibatis oracle 批量插入配置 <!--批量新增--><insert id"CreateLawStatisticsClassifyBatch" parameterClass"ArrayList">insert into T_LAW_STATISTICS_CLASSIFY(ID,TEMPLATE,ALIA…...

    2023/3/16 5:39:32
  9. secureCRT免密码登陆Linux

    转自&#xff1a;http://blog.csdn.net/wangquannetwork/article/details/46062675 1.实现原理&#xff1a; 通过CRT生成的密钥对&#xff0c;把公钥上传到Linux服务器指定用户下的.ssh目录中&#xff0c;在客户端上只需输入秘钥的密码即可登陆&#xff0c;而且验证一次以后可以…...

    2023/3/16 11:10:31
  10. PP代码生成器(二) 解决方案, 生成任务, 辅助设计面板

    我们接着上一篇博客继续讨论如何使用PP生成代码. 首先, 我们介绍两个概念”解决方案”和 “生成任务”. 解决方案: 解决方案是一系列生成任务的集合. 它包含若干个生成任务.生成任务: 每个任务会关联一个freemarker模板, 最终会使用这个模板来生成一个结果文件解决方案和任务的…...

    2023/3/16 10:41:54
  11. 函数的运用二(一个一个字读,便于学会机率)

    看完前篇的函数运用是不是不在疑惑&#xff0c;那么下面就来点复杂一点的&#xff0c;也不难的。 如下图所示&#xff1a;读绿色和黄色注释。 是不是能写出来了&#xff0c;调用函数的方式&#xff0c;都是一样的。跟上面前篇的调用几乎一样的&#xff0c;不同就是函数名不同而…...

    2023/3/24 2:33:26
  12. 困扰你的Git操作?

    前端学习笔记篇之git那些事 Git是一款免费、开源的分布式版本控制系统&#xff0c;用于敏捷高效地处理任何或小或大的项目。学习前端&#xff0c;离不开Git的使用&#xff0c;面试时也是一个常考的话题&#xff0c;在日常开发中&#xff0c;也困扰我们许久&#xff0c;下面就让…...

    2023/3/24 2:33:28
  13. ArrayList和LinkedList的区别

    2019独角兽企业重金招聘Python工程师标准>>> ArrayList和Vector使用了数组的实现&#xff0c;可以认为ArrayList或者Vector封装了对内部数组的操作&#xff0c;比如向数组中添加&#xff0c;删除&#xff0c;插入新的元素或者数据的扩展和重定向。 LinkedList使用了…...

    2023/3/16 17:29:27
  14. Winform开发框架之客户关系管理系统(CRM)的开发总结系列2-基于框架的开发过程...

    在上篇随笔《Winform开发框架之客户关系管理系统(CRM)的开发总结系列1-界面功能展示》中介绍了我的整个CRM系统的概貌&#xff0c;本篇继续本系列的文章&#xff0c;介绍如何基于我的《winform开发框架》的基础上进行CRM系统模块的开发工作&#xff0c;希望对大家在系统模块开发…...

    2023/3/16 5:37:14
  15. shell 日期加减运算

    比如今日是2012-04-22$ date -d "1 day" %Y-%m-%d2012-04-23$ date -d "-1 day" %Y-%m-%d2012-04-21$ date -d "2012-04-10 -1 day " %Y-%m-%d2012-04-09$ date -d "2012-04-10 1 day " %Y-%m-%d2012-04-11$ date -d "-1 week &q…...

    2023/3/15 19:12:30
  16. PHP 字符串替换 substr_replace 与 str_replace 函数

    PHP 字符串替换 用于从字符串中替换指定字符串。 相关函数如下&#xff1a; substr_replace()&#xff1a;把字符串的一部分替换为另一个字符串 str_replace()&#xff1a;使用一个字符串替换字符串中的另一些字符substr_replace() substr_replace() 函数用于把字符串的一部分替…...

    2023/3/16 12:34:47
  17. Android开发者指南(12) —— Android Supported Media Formats

    本文档描述了Android平台支持的媒体播放解码器、网络协议。 作为一名应用软件开发者&#xff0c;你可以自由使用平台上的媒体解码器&#xff0c;这些编解码可以是平台提供&#xff0c;或者是特定设备支持。然而&#xff0c;最好习惯于使用媒体编码配置信息使得应用软件代码编写…...

    2023/3/16 12:06:17
  18. Quartz.NET

    概述 Quartz.NET是一个开源的作业调度框架&#xff0c;非常适合在平时的工作中&#xff0c;定时轮询数据库同步&#xff0c;定时邮件通知&#xff0c;定时处理数据等。 Quartz.NET允许开发人员根据时间间隔&#xff08;或天&#xff09;来调度作业。它实现了作业和触发器的多对…...

    2023/3/16 11:38:32
  19. java算法-递归算法

    2019独角兽企业重金招聘Python工程师标准>>> 不废话直接上代码 public class maxtest {public static void main(String[] args) {//###################阶乘递归算法start###################//System.out.println(f(5));//###################阶乘递归算法start##…...

    2023/3/16 11:09:32
  20. Lifecycle-library-stable

    Google 最近发布了稳定Lifecyclelibrary。笔者认为&#xff1a;如果你正在使用alpha或者beta版本&#xff0c;以下内容可能对你有用。 Deprecated LifecycleActivity 在stable version 1.0.0 之前&#xff0c;LifeCycle Library 并没有实现 LifecycleOwner这个接口&#xff0c;…...

    2023/3/16 10:41:08
  21. 数据结构——哈希表

    前言 使用哈希表可以进行非常快速的查找操作。但是&#xff0c;哈希表究竟是什么玩意儿&#xff1f;很多人避而不谈&#xff0c;虽然知道经常用到&#xff0c;很多语言的内置数据结构像python中的字典&#xff0c;java中的HashMap&#xff0c;都是基于哈希表实现。但哈希表究竟…...

    2023/3/16 10:14:40
  22. Bootstrap~Panel和Table

    在我们对一个页面进行设计时&#xff0c;分块是必须的&#xff0c;没有一个网站是一栏而下的&#xff0c;除非你是在看小说&#xff0c;否则你的页面设计一定是分块的&#xff0c;即它由于多个panel组件&#xff0c;在bootstrap里叫到栅格系统&#xff0c;而在每行每列进行宏观…...

    2023/3/16 6:40:03
  23. pyspider操作千万级库,pyspider在对接量级较大库的策略

    pyspider操作千万级库&#xff0c;pyspider在对接量级较大库的策略 如果是需要pyspider正常的流程去执行&#xff0c;那必然是会在on_strat()时任务执行超时&#xff0c;可能只读取出几万条或十几万条数据就会被破终止&#xff0c;然后执行index_page()&#xff0c;由于这个超时…...

    2023/3/16 6:09:47
  24. Js+MVC~公用API的设计,返回jsonp后使ajax的error属性生效!

    相关知识说明 项目用公用的&#xff21;&#xff30;&#xff29;事实上就是其它子项目&#xff0c;包括非子项目需要从这个项目中得到一个公用的信息&#xff0c;这种产生信息的接口我们称为公用的&#xff21;&#xff30;&#xff29;(application program interface)&#…...

    2023/3/16 8:48:42
  25. 【CentOS 7笔记51】,screen虚拟终端#171207

    2019独角兽企业重金招聘Python工程师标准>>> hellopasswd screen工具 为了不让一个任务意外终端nohup command &screen是一个虚拟终端yum install -y screenscreen直接回车就进入了虚拟终端ctral a组合键再按d退出虚拟终端&#xff0c;但不是结束screen -ls查看…...

    2023/3/16 0:46:40
  26. 行内元素和块级元素(转)

    行内元素和块级元素 2013-01-05 11:40 by greenal, 88623 阅读, 3 评论, 收藏, 编辑 1 块级元素&#xff1a;div , p , form, ul, li , ol, dl, form, address, fieldset, hr, menu, table行内元素&#xff1a;span, strong, em, br, img , input, label…...

    2023/3/16 12:33:43
  27. 微信JSApi支付~坑和如何填坑

    微信一直用着不爽&#xff0c;这几天研究它的jsapi支付&#xff0c;即在微信内打开H5页面&#xff0c;完成支付的过程&#xff0c;在这个过程中&#xff0c;你将会遇到各种各样的问题&#xff0c;而大叔将把这些问题的解决方法写一下&#xff0c;希望可以给你带来帮助&#xff…...

    2023/3/16 12:05:20
  28. 阿里云ECS服务器Linux环境下配置php运行环境

    阿里云ECS服务器Linux环境安装配置PHP的运行环境&#xff0c;不同于window操作系统下配置&#xff0c;因为是linux操作系统主要是在命令窗体里输入命令来操作&#xff0c;对于初次接触过linux系统的可能会有点怕怕的&#xff0c;下不去手。。。。。。 需要安装的软件有Apacheph…...

    2023/3/16 0:45:51
  29. vim文本编辑器和yum的搭建

    rpm -ivh 软件名-版本信息-.rpm &#xff08;安装软件&#xff09; rpm -q 软件名 (查看软件是否安装) rpm -e 软件名 &#xff08;卸载转件&#xff09; 因为rpm有依赖关系而yum刚好解决此问题 使用vim创建/修改文本文件 vim文本编辑器 命…...

    2023/3/16 13:02:32
  30. sql developer 连接oracle错误一例(ORA-12505)

    Oracle安装于VM中用sql developer连接oracle报ORA-12505再三检查lsnrctl status&#xff0c;不得正常后来再发现是oracle instance没有启动。转载于:https://blog.51cto.com/9882derek/2049088...

    2023/3/16 13:02:32