- 博客(41)
- 收藏
- 关注
原创 基于Docker构建Python开发环境
第一次拉取代码需要输入用户名密码,后面就不需要了。dockerfile所在目录结构。查看ssh服务是否正常启动。
2023-12-04 23:20:57 397
原创 04 Python中的async和await
Python的线程虽然是真正的线程,但解释器执行代码时,有一个**GIL锁**:Global Interpreter Lock,任何Python线程在执行前,必须先获得GIL锁.所以在python中,通常使用协程来代替多线程
2023-01-31 16:51:31 286
原创 03 抽象工厂模式
参考资料: https://blog.csdn.net/qq_33732195/article/details/110101808。抽象工厂模式符合依赖抽象原则。
2022-09-08 22:08:12 141
原创 02 工厂方法模式
业务上需要灵活的、可扩展的功能时,可以考虑采用工厂方法模式。工厂方法模式:抽象工厂类、具体工厂类、抽象产品类、具体产品类。: 符合开闭原则 (新增开放修改关闭),降低模块之间耦合性。:每新增一个新产品时就需要增加两个类。
2022-09-08 22:07:26 158
原创 2.1 需求背景
一、需求列表基于日志的关联分析二、需求分析不同的日志之间存在一定的关联性,关联分析可以帮助运维人员快速定位问题日志,快速发现问题。2.2 当前现状AnyRobot基于日志的关联分析只支持SPL语句,上手难度高,有一定的学习成本。2.3 用户期望实现日志关联分析功能,操作简单,界面简洁。支持字段名称不同字段值相同的日志之间的关联支持字段值的正则提取实现日志之间的关联支持多个字段或常量字符串之间的拼接实现日志之间的关联支持多个字段或常量的数值运算实现日志之间的关联三、需求定义3.1 用户价值关联分.
2021-10-15 11:12:18 1156
原创 Java基础01-计算机语言发展史
第一代语言机器语言:直接输入给计算机使用。不经过任何转换第二代语言汇编语言解决人类无法读懂计器语言的问题指令代替二进制目前应用:逆向工程、病毒第三代语言高级语言大体上分为: 面向过程和面向对象1972年 C诞生贴近硬件,运行极快,效率极高操作系统,编译器,数据库,网络系统指针和内存管理1982年 C++诞生面向对象兼容C图形领域、游戏等1995年 Java诞生面向对象可移植性高性能分布式动态性多线程安全性健壮性三高:高可用、高性能、
2021-09-08 10:42:18 95
原创 python定时器库-apscheduler-BackgroundScheduler
基本用法主函数# coding=utf-8# @Time : 2020/10/30 14:03# @Author : Leo# @Email : l1512102448@qq.com# @File : demo.pyfrom apscheduler.schedulers.background import BackgroundSchedulerfrom datetime import datetimefrom trigger_manage import Trig
2020-11-04 09:10:01 8745
原创 python异步编程
http://cenalulu.github.io/python/gil-in-python/python中的GIL(全局解析器锁,Global Interpreter Lock)GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。Python有很多个解析器(CPython,PyPy,Psyco等),所以GIL并不是Python的特性,Python完全可以不依赖于GIL。官方解释:一个防止多线程并发执行机器码的一个MutexIn CPython, t
2020-11-04 09:08:21 1062
原创 tornado实现异步非阻塞
1、使用 tornado.gen.coroutine 异步编程(需要第三方库支持tornado异步)同步阻塞code# coding=utf-8# @Time : 2020/11/3 15:40# @Author : Leo# @Email : l1512102448@qq.com# @File : demo_tornado_asy.pyimport tornado.webimport tornado.ioloopimport tornado.gen as ge
2020-11-04 09:04:30 1605
原创 conda下Python常用包安装
opencv(cv2)pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple/pytorch-cpuconda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/conda install p...
2020-03-10 23:09:26 690
原创 Win10下安装Pytorch深度学习环境
1 安装CUDA去官网查询(适合的cuda版本)满足下图要求就行适配显卡驱动版本查询地址所以,cuda版本只和所装显卡驱动版本有关。以cuda8.0为例。下载cuda8 地址双击安装即可,一直默认安装就行打开终端输入nvcc -V看是否输出相应版本信息cudnn 官网下载地址下载cuda10.0支持的cudnn版本,解压后放入cuda安装根目录2 Py...
2020-03-05 23:55:54 562
原创 Plaidml--MAC+A卡的深度学习方案
Plaidmi 适合所有显卡的深度学习加速平台特性支持Kears(定制版)支持A卡基于OpenCL加速安装安装环境:macOS 10.15.3(OpenCL1.2)/Anconda3/Python3.71. 安装1.1 安装plaidml-keras安装官网使用pip安装,但最好指定较低版本,高版本亲测会有莫名的bug。pip install plaidml-k...
2020-02-27 20:40:18 4130 6
原创 c++特性(二)面向对象
结构化程序设计: 程序 = 数据结构+算法函数和其所操作的数据结构没有直观的联系。随着程序规模的增加,程序逐渐难以理解。重用性差。面向对象的程序设计某类客观事物的共同特点(属性)归纳出来,形成一个数据结构(用多个变量描述事物的属性)将所能进行的行为也归纳出来,行成一个个函数,这些函数可以操作数据机构(抽象)特点:抽象、封装、继承、多态例: 写一个程序,输入矩形的长和宽,输出周长...
2019-09-14 19:42:21 284
原创 c++特性(一)
new 动态分配内存和delete 释放空间 // new 运算符代替malloc 动态分配存储空间 int *pn = new int; //分配int size的内存 返回int*地址赋值给指针 *pn = 5; std::cout<<*pn<<"\n"; pn = new int[30]; // 现在pn指向数组的首地址...
2019-09-14 19:39:49 161
原创 二叉树链式存储及其各种遍历和求深度、宽度(C语言实现、非递归)
定义二叉树结点、栈、队列typedef struct TNode{ // 结点 int data; struct TNode *lchild, *rchild;}TNode, *BiTree;typedef struct queen_node{ // 循环队列 TNode *nodes[100]; int front; //指向队头元素的前一个(为了判别...
2019-09-13 16:57:22 1041
原创 bilibili-2020算法笔试第一题-输出数组拼接最大数
'''输入一组非负数, 输出这些数的拼接,保证该拼接后的数最大input 20,203output 20320'''import sysdef split_number(number): ''' :param number: 123 :return: [1, 2, 3] ''' length = len(str(number)) i =...
2019-09-10 22:09:56 298
原创 Java-String的内存分析
String对象的创建方式 String str1 = "leo"; // 直接赋值的方法创建String对象,变量指向的是常量池的"leo" String str2 = str1; //无论多少个对象,只要字符串值相同,都是同一个常量的引用地址 System.out.println(str1==str2); // true ...
2019-09-09 16:32:06 195
原创 判断单链表是否为回文
利用栈和队列。时间复杂度O(n) 空间复杂度O(n)思路:遍历第一遍获取单链表的长度,再遍历一遍将前半部分压入栈中,后半部分入队。最后依次出栈和出队列,如果每一次出栈和出队的字符都相等则该单链表为回文。(注意奇数的中间既不入栈也不入队)'''请判断一个链表是否为回文链表输入: 1->2->2->1 输出: True'''import sysclass ...
2019-09-06 23:06:06 1103 1
原创 C++中的指针以及*和&的基本用法
*的含义:当定义变量时放在变量的左边表示该变量为指针类型作为操作符时表示指针解析,如, *p表示指针p所指向的内容&的含义表示取地址符号,表示取变量(也包括指针变量)的地址。**注意:**指针变量也是变量,在内存中也是占用地址//// main.cpp// c_demo_1//// Created by 李崇禧 on 2019/9/6.// Copyr...
2019-09-06 11:55:46 1538
原创 计分板 - 贪心
题目描述计分板时间限制:C/C++语言 1000MS;其他语言 3000MS内存限制:C/C++语言 131072KB;其他语言 655360KB题目描述:假设你正在参加一场比赛,这场比赛有A,B,C…M一共13题。现在,你已经通过了n题,此时你注意到,大屏幕上有一个计分板,里面记录了每一道题目前有多少人通过。你想知道,在剩下的还没有做出来题目当中,哪一道题才是通过人数最多的题目?如...
2019-09-04 21:17:02 393
原创 Java 线程池
参考博客:https://www.cnblogs.com/jmsjh/p/7762034.html什么是线程池?线程池就是一个容纳多个线程对象的容器,这些线程可以被反复使用。线程池的作用?Java中创建线程的开销是相当大的,线程池的使用避免了频繁创建和销毁线程所造成的资源浪费。解决了任务到达时创建线程所带来的延迟问题,事先建好线程池,这样当任务请求到达时就可立即启用线程,使程序响应更...
2019-09-04 20:56:37 106
原创 Java多线程
进程:正在运行的程序线程:进程的最小执行单元一个进程至少含有一个线程,也可有多个线程多线程:一个程序中有多个线程在同时进行线程调度方法:分时调度 即平均分配cpu时间给每个线程抢占式调度 优先分配cpu给优先级高的线程,如果优先级相同则随机选择线程运行实际上,CPU(中央处理器)使用抢占式调度模式在多个线程间进行着高速的切换。对于CPU的一个核而言,某个时刻,只能执行一个线程,...
2019-09-03 21:25:51 92
原创 最大乘积
'''题目描述给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1)输入描述:输入共2行,第一行包括一个整数n,表示数组长度第二行为n个以空格隔开的整数,分别为A1,A2, … ,An'''import sysn = int(input().strip().split()[0])numbers = inp...
2019-08-28 22:52:17 211
原创 西瓜书-决策树
伪代码决策树生成过程决策树生成过程就是生成一颗最优的决策树,一般从根节点开始生成,一步一步往下蔓延(递归的过程)。那么选择哪个属性作为根节点呢?这就需要一个判定标准了,说白了就是穷举(无非就是那么几个属性)。既然是决策点(一般称分支结点),随着划分的不断进行, 我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即纯度越来越高。信息熵 information entropy度量样本...
2019-07-24 18:14:38 459
原创 关于CNN网络架构的思考
3个影响网络准确性的重要参数Depth 网络深度,即层数Width 特征个数,即卷积核个数Resolution 图像分辨率,即经过各层的size大小1 why depth scaling?The intuition is that a deeper network can capture richer and more complex features, andgeneralize...
2019-06-11 14:45:31 252
原创 Pycharm问题汇总
1.无法调试,提示错误:Connection to Python debugger failed socket closed解决办法如图:去掉PyQt compatible勾选即可
2019-06-10 21:48:12 397
原创 python-numpy使用记录
python numpy.astype(‘uint8’)与numpy.clip(img, 0, 255) 有很大区别img.astype(‘uint8’)并不会如clip一样把超过范围的数值变换为边界值out = np.asarray([1.3, 244.9, 267.9, -23.9])a = np.clip(out, 0, 255) # a: [ 1.3 244.9 255. ...
2019-05-29 11:13:30 210
原创 linux定时任务
使用crontab命令来配置cron进程。cron进程是Linux中的一个守护进程,一般用来执行系统中的周期性任务。Cron服务命令# 查看服务状态sudo service cron status# 开启服务sudo service cron start# 停止服务sudo service cron stop# 重启服务sudo service cron restart设置...
2019-03-30 00:51:08 120
原创 Anconda 使用记录
创建环境testconda create -n test python=3.7从文件中克隆环境conda create -n test --clone /path删除环境conda remove -n test --allAnconda安装tensorflow环境在idea终端无法导入tensorflow在终端里没有错误,而我用Anaconda自带的IDE编辑py...
2019-03-02 17:41:24 256
原创 ubuntu系统引导进入grub,无法进入系统切换界面
解决办法:1. 首先找到安装引导的分区先运行ls命令,将会罗列出该系统所有的分区,如(hd0, gdt1)…(hd0, gdt5)然后依次运行ls (hd0,1)/grub 当有grub.cfg格式的文件则说明是引导所在分区2 找到引导所在分区后,依次运行如下命令即可set root=(hd0,9)set prefix=(hd0,9)/grub/..../normal.m...
2019-03-02 17:40:17 8657
原创 git快速上手
切换分支git checkout dev新建本地分支并切换到该分支git checkout -b dev查看所有分支git branch -a提交到本地分支git add .git commit -m 'message'将本地分支提交到远程分支git push origin dev将远程分支同步到本地git pull origin dev...
2019-03-01 14:02:48 98
原创 Nginx入门
1. 启动,停止和重新加载Nginx配置nginx -s signal信号(signal)的值可能是以下之一: stop - 快速关闭服务 quit - 正常关闭服务 reload - 重新加载配置文件 reopen - 重新打开日志文件 获取所有运行的nginx进程的列表ps -ax | grep nginx查看nginx配置文件路径...
2018-09-17 23:10:21 98
原创 pip 安装 tensorflow(或者别的包也会)报错 Fatal error in launcher: Unable to create process 。。。
解决办法:升级pippython -m pip install -U pip tips: 这种安装报错的问题可以考虑更新或者卸载后安装还有就是更换镜像源
2018-09-12 22:24:31 397
原创 synchronized 加锁保证线程安全
synchronized 锁synchronized关键字最主要有以下3种应用方式: 修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁 修饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁 修饰代码块,指定加锁对象,对给定对象加锁,进入同步代码库前要获得给定对象的锁。 1 实例方法加锁 (非静态方法)使用synchro...
2018-08-19 23:19:24 804 1
原创 C++引用注意!!
引用类型其实就是变量的别名,但是这个变量也是有要求的。1.引用不是一种数据类型,不能建立指向引用类型的指针2.可以建立指针变量的引用int a = 3;int *b= &a;//b是指向a的指针变量 另占空间(存的是变量a的地址)int* &p = b;//声明并初始化指针b的引用3.不能建立数组的引用char c[6] = "lichongxi";char &rc...
2018-03-18 22:12:15 436
原创 C++引用实现函数传递数据
问题:编写函数实现两个变量值互换(引用方式调用)1.传地址void swap(int *a,int *b){ //传送变量的指针 int temp = *a; *a = *b; *b = temp; //*是取地址的数据}调用时把变量的地址传进来(swap(&i,&j)),进来后指针变量和变量就为同一个内存单元。2.传变量的别名void swap(int &am...
2018-03-17 23:16:57 246
原创 C++引用概念
变量引用在C++中,变量的“引用”又称为别名(也就是给变量再起个名字!)int a ;int &b = a; //声明b是a的引用 注意:&在这里不是取地址符在声明一个变量的引用后:在本函数执行期间,该引用一直与其代表的变量相联系,不能再声明为其他变量的引用!!引用是和变量紧紧联系一起的,也就是说声明引用时必须指定其代表的是哪个变量,如下int &b; //错误!没有...
2018-03-16 20:37:47 391
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人