上一页 1 2 3 4 5 6 ··· 34 下一页
摘要: pandas速成笔记(2)-excel增删改查基本操作 接上篇继续,本篇演示对excel的基本增删改查操作。 一、读取excel 1.1 常规读取 假设有以下excel文件: 002.xlsx 用pandas可以这样读取: import pandas as pd df = pd.read_excel("data/002.xlsx") print(df.s 阅读全文
posted @ 2022-03-13 22:05 菩提树下的杨过 阅读(677) 评论(0) 推荐(0) 编辑
摘要: pandas速成笔记(1)-环境搭建及excel读取 工作中经常会遇到一些excel的数据分析工作,虽然本身excel本身有非常强大的功能,但如果需要将一些数据分析结果集成在自己的项目中,excel就显示有些不方便了(总不能每次在excel里做好图表,再截图贴进来吧),幸好python的生态圈足够强大,有pandas这种利器,能以编程的方式,方便快捷的 阅读全文
posted @ 2022-03-13 16:35 菩提树下的杨过 阅读(476) 评论(0) 推荐(0) 编辑
摘要: 算法练习(20)-平滑加权轮询算法 所有负载均衡的场景几乎都会用到这个算法:假设有2个服务器A、B,其中A的分配权重为80,B的分配权重为20,当有5个请求过来时,A希望分到4次,B希望分到1次。 一个很自然的想法:A-A-A-A-B ,按权重顺序依次分配,同时计数,每分配1次,计数减1,减到0后,再分配『次权重』的服务器。 看上去好 阅读全文
posted @ 2022-02-20 20:33 菩提树下的杨过 阅读(498) 评论(0) 推荐(2) 编辑
摘要: 中学时学习了三角函数,下面这类图象天天看也没啥特别感觉,但是对于数学大咖而言就不一样了: 傅里叶大神看到这些图象后,提出了一个重要思想:任何一个周期性的函数,都可以用一系列三角函数叠加模拟出来,比如: \[ f(x) = sin(x) + \frac{sin(3x)}{3} + \frac{sin( 阅读全文
posted @ 2022-02-05 22:43 菩提树下的杨过 阅读(511) 评论(0) 推荐(0) 编辑
摘要: markdown常用数学公式 常用数学公式markdown示例 阅读全文
posted @ 2022-01-26 22:36 菩提树下的杨过 阅读(452) 评论(0) 推荐(0) 编辑
摘要: Rust:axum学习笔记(7) websocket 接上一篇继续,今天来学习下如何用axum实现websocket,代码如下: Cargo.toml添加依赖项 [package] name = "websocket" version = "0.1.0" edition = "2021" # See more keys and their defini 阅读全文
posted @ 2022-01-24 22:25 菩提树下的杨过 阅读(2141) 评论(0) 推荐(0) 编辑
摘要: Rust:axum学习笔记(6) SSE(Server Send Event)服务端推送 接上一篇继续,SSE也就是服务端推送技术,自html5推出以来基本上各大浏览器都已支持,axum自然也支持,参考下面的代码: async fn sse_handler( TypedHeader(user_agent): TypedHeader<headers::UserAgent>, ) -> Ss 阅读全文
posted @ 2022-01-23 23:01 菩提树下的杨过 阅读(1329) 评论(0) 推荐(0) 编辑
摘要: Rust:axum学习笔记(5) 处理静态资源 接上一篇继续,静态资源比如css/js/jpg等,一般不需要服务端做额外的业务处理,直接透传给浏览器就行,axum可以指定将某个目录指定为静态资源,参考下面的代码: let app = Router::new() .nest( "/static", get_service(ServeDir::new 阅读全文
posted @ 2022-01-23 22:38 菩提树下的杨过 阅读(1484) 评论(0) 推荐(0) 编辑
摘要: Rust:axum学习笔记(4) 上传文件 接上一篇继续,上传文件是 web开发中的常用功能,本文将演示axum如何实现图片上传(注:其它类型的文件原理相同),一般来说要考虑以下几个因素: 1. 文件上传的大小限制 2. 文件上传的类型限制(仅限指定类型:比如图片) 3. 防止伪装mimetype进行攻击(比如:把.js文件改后缀变成.jpg 阅读全文
posted @ 2022-01-23 12:08 菩提树下的杨过 阅读(1786) 评论(0) 推荐(0) 编辑
摘要: Rust:axum学习笔记(3) extract&#160; 接上一篇继续,今天学习如何从Request请求中提取想要的内容,用axum里的概念叫Extract。 预备知识:json序列化/反序列化 鉴于现在web开发中,json格式被广泛使用,先熟悉下rust中如何进行json序列化/反序列化。 [dependencies] serde_json = "1" 阅读全文
posted @ 2022-01-01 23:03 菩提树下的杨过 阅读(2426) 评论(1) 推荐(0) 编辑
摘要: Rust:axum学习笔记(2) response 上一篇的hello world里,示例过于简单,仅仅只是返回了一个字符串,实际上axum的response能返回各种格式,包括: plain_texthtmljsonhttp StatusCode...web开发中需要的各种格式,都能返回。talk is cheap ,show me the cod 阅读全文
posted @ 2021-12-26 22:52 菩提树下的杨过 阅读(2577) 评论(2) 推荐(0) 编辑
摘要: Rust:axum学习笔记(1) hello world axum是Rust生态的web框架新秀,虽然项目成立不久,但github上的star数已超2.8k,其底层依赖的是高性能的Tokio,Tokio这货就不多说了,借用知乎《深入浅出Rust异步编程之Tokio》上的一张图: Rust中的Tokio几乎是同类框架的性能天花板了,而axum在Tokio基础 阅读全文
posted @ 2021-12-26 21:05 菩提树下的杨过 阅读(4429) 评论(0) 推荐(0) 编辑
摘要: Rust: Tcp编程Demo 最基本的Hello World示例: TcpServer端: use std::{net::TcpListener, io::{Read, Write}}; fn main() { //绑定本机3000端口 let listener = TcpListener::bind("127.0.0.1:30 阅读全文
posted @ 2021-12-26 20:14 菩提树下的杨过 阅读(758) 评论(0) 推荐(0) 编辑
摘要: Rust: 如何用bevy写一个贪吃蛇(下) 接上篇继续,贪吃蛇游戏中食物是不能缺少的,先来解决这个问题: 一、随机位置生成食物 use rand::prelude::random; ... struct Food; //随机位置生成食物 fn food_spawner( //<-- mut commands: Commands, materi 阅读全文
posted @ 2021-12-19 11:46 菩提树下的杨过 阅读(450) 评论(0) 推荐(0) 编辑
摘要: Rust: 如何用bevy写一个贪吃蛇(上) bevy社区有一篇不错的入门教程:Creating a Snake Clone in Rust, with Bevy,详细讲解了贪吃蛇的开发过程,我加了一些个人理解,记录于此: 一、先搭一个"空"架子 1.1 Cargo.toml依赖项 [dependencies] bevy = { version 阅读全文
posted @ 2021-12-18 17:07 菩提树下的杨过 阅读(735) 评论(0) 推荐(0) 编辑
摘要: Rust: 如何用bevy画2d图形及使用按键控制移动 bevy自带的画图功能有点弱,得先引入bevy_prototype_lyon, Cargo.toml依赖部分如下: [dependencies] bevy = { version = "0.5.0", features = ["dynamic"] } bevy_prototype_lyon = "0 阅读全文
posted @ 2021-12-14 09:42 菩提树下的杨过 阅读(750) 评论(0) 推荐(0) 编辑
摘要: Rust: win10环境如何编译bevy? bevy是一个rust语言的跨平台游戏引擎,但是在windows10环境编译时,遇到问题无数,幸尽数解决,记录于此,供遇到同类问题的朋友参考: 环境:windows 10 + bevy 0.5.0 + rustup nightly版本 一、设置crates国内镜像 crates.io官网国内访问实在 阅读全文
posted @ 2021-12-11 15:01 菩提树下的杨过 阅读(638) 评论(0) 推荐(0) 编辑
摘要: Rust中的Result枚举 Result枚举在Rust中是使用频率极高的一个类型,常用于函数的返回值定义,其源码如下: #[derive(Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)] #[must_use = "this `Result` may be an `Err` 阅读全文
posted @ 2021-11-28 15:48 菩提树下的杨过 阅读(880) 评论(0) 推荐(0) 编辑
摘要: Rust中的模式匹配 一、let模式匹配 在其它一些语言中,let x = 5 之类的语句,仅仅只是赋值语句。但是在rust中,可以换个角度理解,认为5这个值匹配到了x变量。如果觉得有些牵强,可以再来一个示例: let (a,b)=(1,3); println!("{},{}",a,b); 上面的示例,表示(1,3)这个 阅读全文
posted @ 2021-11-28 14:20 菩提树下的杨过 阅读(505) 评论(0) 推荐(0) 编辑
摘要: Rust中的匿名函数与闭包 一、匿名函数 语法:“|参数名| 语句” 参考下面的这个示例: fn add(a: i32, b: i32) -> i32 { a + b } fn main() { let x = add(1, 2); println!("{}+{}={}", 1, 2, x); //匿名函数 let add = 阅读全文
posted @ 2021-11-21 23:04 菩提树下的杨过 阅读(1126) 评论(0) 推荐(0) 编辑
摘要: Rust中的workspace java项目中用maven管理代码时,如果遇到大型工程,一般会拆分成不同的模块,比如spring-mvc中,通常会按model, view, controller建3个模块,然后根据一定的依赖关系进行引用。这个概念在Rust中是通用的,只不过maven换成了cargo,而模块变成了crate,看下面 阅读全文
posted @ 2021-11-21 21:56 菩提树下的杨过 阅读(493) 评论(1) 推荐(1) 编辑
摘要: 算法练习(19)-单源最短路径dijkstra算法 如上图,先初始化1个图,每条边上的红色数字为路径权重:(Node,Edge的定义参见算法练习(17)-图的广度优先遍历/深度优先遍历) Graph init() { List<Node> nodes = new ArrayList<>(); List<Edge> edges = new ArrayL 阅读全文
posted @ 2021-11-14 19:24 菩提树下的杨过 阅读(245) 评论(0) 推荐(0) 编辑
摘要: Rust中struct的function与method 一个示例就能看明白,关键处皆有注释,大致要点:impl 一个struct时,1.如果方法参数为&self,则为方法 ,可以用"对象实例.方法"来调用2.如果方法参数不是&self,则为函数,只能用"struct名::函数名"来调用 //类似java里的pojo类 struct Pet{ name:S 阅读全文
posted @ 2021-11-09 20:54 菩提树下的杨过 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 算法练习(18)-图的拓扑排序 如上图,假设有一个大型代码工程,里面有5个模块: 模块1依赖模块2 模块2依赖模块3和模块5 模块3依赖模块4和模块5 那么,项目在编译时,应该按怎样的的顺序编译? 这就是所谓的拓扑排序问题 就这个示例而言,显然正确的编译顺序是:5->4->3->2->1 或 4->5->3->2->1 (注:4与 阅读全文
posted @ 2021-11-07 19:07 菩提树下的杨过 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 算法练习(17)-图的广度优先遍历/深度优先遍历 一、图的数据结构及表示法 如上图,由一堆"点"与一堆"边"构成的数据结构 ,就称为图,其中边上可以有方向(称为有向图),也可以无方向(称为无向图)。边上还可以有所谓的权重值。 算法书上,图的表示方法一般有“邻接矩阵”等,这里我们用左程云介绍的一种相对更容易理解的表示法: 图: import java 阅读全文
posted @ 2021-11-07 16:50 菩提树下的杨过 阅读(1459) 评论(0) 推荐(0) 编辑
摘要: Rust中的代码组织:package/crate/mod 刚接触Rust遇到一堆新概念,特别是package, crate, mod 这些,特别迷糊,记录一下 一、pakcage与crate 当我们用cargo 创建一个新项目时,默认就创建了一个package,参考下面的截图: 这样就生成了一个名为demo_1的package,另外也创建1个所谓的bina 阅读全文
posted @ 2021-11-06 16:41 菩提树下的杨过 阅读(1744) 评论(0) 推荐(1) 编辑
摘要: 算法练习(16)-水平翻转一颗二叉树 思路:依旧还是层次遍历, 按层入队, 然后出队时, 交换左右节点 阅读全文
posted @ 2021-11-03 12:07 菩提树下的杨过 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 算法练习(15)-设计1个二叉树的序列化与反序列化实现? 思路: 二叉树的各种顺序中,随便挑1种,遍历每个节点, 拼装出1个字符串即可实现序列化。要注意的是, 空节点也需要, 可以找一个特殊符号比如#表示。 反序列化则是相反的过程,解析该字符串即可。 这里用层序遍历来实现一把: 序列化代码: public static String serial(Tree 阅读全文
posted @ 2021-11-02 23:23 菩提树下的杨过 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 算法练习(14)-二叉树中2个节点的最近公共祖先? 比如这颗树,给定2个节点: 4、5 ,它们的最近公共祖先节点为2。类似的,如果是3、5,它们的最近公共祖先节点为1。 一种比较容易想到的思路,如果知道每个节点到root的全路径, 比如 3到root节点的全路径为: 3->1 5到root节点的全路径为: 5->2->1 这样,只要遍历对比下全路径, 阅读全文
posted @ 2021-10-31 22:37 菩提树下的杨过 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 算法练习(13)-打印纸条对折的折痕类型(凹痕?凸痕?) 从左神视频上看到一个有趣的题目,据说是微软的算法面试题:一个长纸条,对折后再展开,中间会有一个凹痕,然后同样的方式,再继续对折, 又会多出2条折痕(不过新折痕会有凸有凹),如此反复对折,纸条上就会留下一系列的折痕,见下图: 要求:输入1个数字(n),表示对折的次数, 从上而下, 打印每1条拆痕的类型 阅读全文
posted @ 2021-10-31 12:58 菩提树下的杨过 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 算法练习(12)-二叉树的递归套路 如果二叉树的问题,可以分解为 先处理左树, 再处理右侧, 这种就可以用所谓"递归套路"解法 阅读全文
posted @ 2021-10-31 12:37 菩提树下的杨过 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 算法练习(11)-二叉树的各种遍历 二叉树的节点结构如下: public class TreeNode { public TreeNode left; public TreeNode right; public int val; public TreeNode(int val) { this.val = val; } public T 阅读全文
posted @ 2021-10-27 22:33 菩提树下的杨过 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 算法练习(10)-求2个(可能有环的)单链表的相交节点 这个问题可以看做是 算法练习(7)-判断单链表是否有环,以及求环的长度 的升级版 阅读全文
posted @ 2021-10-23 17:05 菩提树下的杨过 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 算法练习(9)-复制带随机指针的单链表 所谓带随机指针的链表,结构如下: class Node { int val; Node next; Node random; public Node(int val) { this.val = val; this.next = null; this.random = null; } } 除next外 阅读全文
posted @ 2021-10-23 16:27 菩提树下的杨过 阅读(76) 评论(0) 推荐(0) 编辑
摘要: mac升级后第三方下载程序无法打开cannot be opened because the developer cannot be verified的解决办法 mac升级到11.4后,安全性增强导致很多非appstore下载的第3方软件无法打开,比如:从mysql官网下载精减版,手动解压安装时, 就出现下面这样: 有一些网友,也给出了解决方法,比如终端下输入命令 sudo xattr -d com.apple.quarantine 被拦截的执行文件 但是这 阅读全文
posted @ 2021-10-23 15:48 菩提树下的杨过 阅读(8257) 评论(0) 推荐(1) 编辑
摘要: 算法练习(8)-判断单链表是否回文链表 在一些文学作品中,大家想必接触过回文诗,比如:“雾窗寒对遥天暮,暮天遥对寒窗雾”或“垂帘画阁画帘垂”,即:正着念反着念完全一样。回文单链表跟这个类似,比如: 0-1-2-1-0或0-1-1-0,很容易发现规律:可以找到一个对称轴,将链表分为前后二段,并且前后对折起来,完全重合。 为了方便,先定义单链 阅读全文
posted @ 2021-10-17 21:23 菩提树下的杨过 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 如何解析SIP报文 本文讲述了如何使用开源项目pkts-sip对SIP进行解析,以及如何扩展 阅读全文
posted @ 2021-09-28 10:29 菩提树下的杨过 阅读(1661) 评论(0) 推荐(2) 编辑
摘要: SIP REG Digest认证算法分析 本文介绍了freeswitch/opensip话机注册过程中的认证算法 阅读全文
posted @ 2021-09-19 13:50 菩提树下的杨过 阅读(1394) 评论(0) 推荐(0) 编辑
摘要: snowflake算法的workerId问题 本文主要探讨了snowflake(雪花算法)使用中,如何合理设置workerId的问题 阅读全文
posted @ 2021-09-19 13:21 菩提树下的杨过 阅读(2473) 评论(0) 推荐(0) 编辑
摘要: mockito测试final类/static方法/自己new的对象 先准备几个类,方便后面讲解: public final class FinalSampleUtils { public static String foo() { return "aaa"; } public static String bar(String a) { return "bar:" + 阅读全文
posted @ 2021-09-12 12:26 菩提树下的杨过 阅读(1786) 评论(0) 推荐(1) 编辑
上一页 1 2 3 4 5 6 ··· 34 下一页