- 博客(54)
- 资源 (4)
- 收藏
- 关注
原创 python3 django2开发个人商城网站(自定义用户表保持登录状态功能)
最近想学爬虫,但是呢,我想搭建一个网站来熟悉一下网页中的东西,我起初的想法是做一个个人博客网站,我django项目都创建了,我用了几天的时间来构思这个网站应该怎么做,正当我在构思的时候,我突然有了一个灵感,那就是我暑假放弃了的个人商城demo,于是我就用这个框架来做了我的个人商城网站。说这么多,主要是想解释我这个项目的命名为什么是my_blog了,而不是不是以shopping命名的项目了...
2019-04-11 16:11:19 1928 4
原创 稀疏数组的学习心得
在一个使用二维数组保存围棋棋盘和还原围棋棋盘的过程来加深对稀疏矩阵的理解如右图所示,将棋盘形象的表示为右边的二维数组,1表示黑子,2表示篮子我们可以用右边的二维数组来保存这个数组,但是我们还可以用稀疏数组来表示这个二维数组,它的好处就是减小了保存棋盘的数组大小,减小了棋盘复原的遍历时间原理很简单,接下来直接上代码:1.第一步:用二维数组将棋盘表示出来package sparsearray;import java.io.*;/** * @filename Spars
2021-07-06 17:38:37 612 1
转载 python同目录下的文件导入报 ImportError: cannot import name ‘xxx‘
1.检查一下是不是循环导入的问题,传送门https://www.cnblogs.com/felixwang2/p/10095740.html
2021-04-23 16:41:36 778
原创 单例模式的三种实现方式
1.赖汉式顾名思义,当我需要某个类时,才去判断它是否存在,不存在才创建,存在则直接返回。代码实现:代码比较简单,就不写注释了。/** * @filename LHan * @description 赖汉模式 * @date 2020/12/24 13:57 */public class LHan { private static LHan han; private LHan(){} public static LHan getLHan(){ if (han == nul
2021-02-10 09:48:13 424 1
原创 详细解读观察者模式
在现实中,有些条件发生了变化,其他的行为也需要发生变化,我们可以用if语句来应对。举个例子,一个商家有一些产品,它和一些电商合作,每当有新产品时,就会把这些产品推送到电商,现在纸盒淘宝、京东合作,于是就有这样的伪代码:if(产品库有新产品){ 推送产品到京东; 推送产品到淘宝;}如果公司又和苏宁,当当,拼多多签订合作协议,那么就需要改变这段伪代码。if(产品库有新产品){ 推送产品到京东; 推送产品到淘宝; 推送产品到苏宁; 推送产品到当当; ...
2020-09-03 13:55:52 382
原创 Java spring基于注解的Aop实现
1.依赖包2.为了便于对比,我将我的文件结构也截图出来3.接口文件ISomeServicepackage com.buckwheats.test;public interface ISomeService { public void doFirst(String user); public String doSecond(String user); public void doThird();}4.ISomeService的实现类SomeServic
2020-08-05 12:05:22 667
原创 Java中区别属性名称与成员变量名称
在大多数类中,成员变量名与属性名是相同的,但是在面试或者某些特殊的情况下也会出现命名不相同的情况,在此我记录一下来如何区分成员变量名与属性名称,如有什么错误,恳请各位大佬进行指正。在Java中区分属性名称与成员变量名的方法:1.成员变量,即类中定义的变量如下代码:public class Dog { private String name; //成员变量 private String color; //成员变量 private int age; //成员变量
2020-08-03 10:52:17 1155
原创 详细解读插入排序
插入排序的思想也是比较好理解的,首先将数组的第一个元素作为已经排好的有序数组,将第二个元素按照顺序插入这个有序数组中,这时有序数组的元素个数为两个,接着就是第三个元素,插入到这个有序数组,依此循环,直到有序数组的元素个数等于刚开始排序数组的长度。代码实现:public class Main { public static void main(String[] args) { int[] arr = {2,3,8,4,9,6,1,7,5,1}; int[]
2020-07-22 16:13:25 197
原创 十大经典排序算法之选择排序--------Java
选择排序的大致思路是,是从数组的第一个元素开始,与后面的数做比较,比较出来最小值与第一个元素交换位置,接着从第二个元素开始,与后面的元素做比较,比较出来除第一个元素外的最小元素与第二个元素交换位置,依次比较下去,就得到了一个从小到大排列的数组。代码实现:public class Main { public static void main(String[] args) { int[] arr = {2,3,8,4,9,6,1,7,5,1}; int[]
2020-07-22 14:52:04 159
原创 十大经典排序算法之冒泡排序--------Java
由于冒泡排序的思路很简单,这里就不多做解释了,大概看代码就能看懂。public class Main { public static void main(String[] args) { int[] arr = {2,3,8,4,9,6,1,7,5,1}; int[] arrs = bubbleSort(arr); for(int i=0;i<arrs.length;i++){ System.out.println.
2020-07-22 14:23:03 135
原创 十大经典排序算法之选择排序--------python
原理:设第一个元素为比较元素,依次和后面的元素比较,比较完所有元素找到最小的元素,将它和第一个元素互换,然后又从第二个元素开始,选出除第一个外的最小元素,与第二个元素互换,第三个元素也一样,依此循环就可以得到一个从小到大排序的列表。下面看代码:def select_sort(arr): #循环选择的遍数 for i in range(len(arr)-1): min_index = i #循环比较 for j in range(i+1
2020-07-07 10:13:04 149
原创 go语言自定义包名
import 别名 "路径"举例:import math_pkg "code.buckwheath.com/lesson1/package/math_pkg"
2020-07-06 22:56:33 632
原创 十大经典排序算法之基数排序-----python
原理:a[1,20,36,44,6,9,102,86,94,5],一个即将排序的数组a,准备一排0-9依次排好序的桶,先判断a数组中每个元素个位数的值,然后填入对应的桶里,填完之后再从左到右依次从桶里取出来;接着对新排好序的数组从十位判断,位数不够默认为0,以此循环,直到a数组中最大的元素的最高位排完序后,就得到了一个从左到右,依次递增的数组了。由于python有max内置函数,我这里也没有使用。就不多做阐述了,对于很多语言来说,获取数组内的最大值可能在算法中占时间复杂度的比重比较大。下面来看下代码
2020-07-03 18:04:56 166
原创 docker查看日志
1.实时查看容器前100条日志docker logs -f -t --tail 100 container_ID2.查看某时间段日志docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" container_ID3.查看最近10分钟的日志:docker logs --since 10m container_ID4.查看某时间之后的日志docker logs -t --since=
2020-06-15 09:29:38 1899
原创 pip安装三方库更改镜像源解决安装速度过慢或超时的问题
下面更换镜像源试试:安装三方库的时候,pip都是去各种服务器上下载,这些服务器可能在国外,省外,总之,就是需要跨服务器才可以下载下来,这样理所当然的拉低了下载速度,这是一个108K的库。下面更换镜像源试试:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple wxpython下面是国内的几个镜像源,大家可以做相应的修改豆瓣https://pypi.douban.com/simple阿里云https://mirrors.
2020-06-12 17:00:39 323
原创 Jenkins 没有usernamePassword方法
构建报错:java.lang.NoSuchMethodError: No such DSL method 'usernamePassword' found among steps [acceptGitLabMR, addGitLabMRComment, archive, bat, catchError, checkout, deleteDir, dir, echo, emailext, emailextrecipients, error, fileExists, findBuildScans, get
2020-06-09 16:28:13 861
原创 ssh公私钥配置的问题
最近在研究一个运维平台spug,这个平台还是比较强大的,可以运用于中小型公司的物联网产品上线,部署及任务调度等。其他的细节我就不一一说明,spug的官方文档https://www.spug.dev/docs/host-manage/。我先把问题贴出来吧。我在给配置公私钥的时候遇到了一些坑吧,在这里记录一下。为了偷懒,我是用容器跑的spug,我的问题主要卡在了公私钥的配置上面。至于spug的一些其他的配置,我就不做过多的说明了,只贴图做简单的讲解。主机管理配置应用发布中的配置.
2020-06-02 11:06:57 638
原创 docker unable to find image 'elasticsearch:last' locally
今天遇到了一个问题,就是我查看elasticsearch镜像,发现存在这个镜像,但是当我run这个镜像的时候发现找不到。docker images但是当我运行docker run -d --name esearch -p 9200:9200 -p 9300:9300 elasticsearch然后就去找问题所在,最后发现原来是由于启动的时候镜像后面没有加版本号docke...
2020-02-10 14:46:39 4104
原创 flask与消息队列之间的多进程
falsk与消息队列同时开启,如果没有给参数,会出现一个隐患,那就时你的电脑是几核的,falsk就会给你开几个进程。打个比方,你的电脑是双核的,你这时将falsk与消息队列利用多进程都跑起来了,你检查就会发现,这条消息的消费者有两个!这个原因就是falsk导致的,解决方法:将use_roloader参数赋值为false...
2020-01-19 17:18:32 1589
原创 获取execl合并单元格并填充
用pandas读取execl表格的合并单元格并填充这是表格(三种合并单元格):这是填充前的输出:填充后的输出:代码如下:
2019-12-23 15:30:32 535
原创 git的SSH协议与HTTP协议
git clone git@SEV-Gitlab:xxxxx 这个是以ssh协议克隆仓库git clone http://SEV-Gitlab:xxxxx 这个是以HTTP协议克隆仓库
2019-12-20 14:25:32 692
原创 Ajax的初步了解
1.什么是ajax? 1.1 英文全称:Asynchronous JavaScript And XML 1.2 中文全称:异步的JavaScript和XML 1.3 ajax不是一个技术,是多个技术联合实现的产物2.Ajax是浏览器客户端的前端技术 只要是做web开发,B/S架构的,不管服务器端编程语言是哪一种,前端Ajax都是可以使用的。...
2019-12-16 10:44:21 141
原创 同步与异步
同步:我们可以设想这样一个场景,当客户端发起一个请求时,服务端需要去处理而且去响应,这时候客户端完全是一个等待状态,等待服务器的处理与响应,之后客户端会重新地载入页面。当我们有错误时,就只能重新发送请求,然后继续等待。假如客户端等待的时间很短时,我们可能会觉得影响不是很大,可是当等待的时间过长时,是非常影响客户体验的。异步:我们可以设想这样一个场景,我们在填写一个个人信息的表单,当我们在...
2019-12-16 10:42:49 114
原创 HTTP请求原理及请求返回状态码的含义
1.一个完整的HTTP请求过程,通常有下面7个步骤:1).建立TCP连接。2).Web浏览器向Web服务器发送请求命令。3).Web浏览器发送请求头信息。4).Web服务器应答。5).Web服务器发送应答头信息。6).Web服务器向浏览器发送数据。7).Web服务器关闭TCP连接。2.一个HTTP请求一般由四个...
2019-12-16 10:38:25 285
原创 django桌面虚拟环境创建
django Web前端是python中应用最为广泛的前端框架,用它连接数据库之后可以大大减少我们SQL语句的写入。 当我们想创建一个django项目时。我们用习惯了编译软件之后,都是打开软件,创建一个django项目就完事了,简单粗暴。But,我们今天来玩一个高大上的东西。用黑框框(cmd)在桌面创建一个django虚拟环境。 ...
2019-12-16 10:35:01 152
原创 解决 No module named 'xxx'问题
总结一下python3解决No module named 'xxx'的问题1.调用自己写的模块发生No module name ‘xxx’错误: 检查一下路径是否正确,然后包的根目录下是否有__init__.py文件。2.调用三方模块或三方库发生No module name ‘xxx’错误: 说明三方包没有安装,重新安装这个‘xxx’库,如果已安...
2019-12-16 10:28:48 5515 2
原创 Jenkins自动化上线
最近在研究Jenkins自动上线的时候,我需要在Jenkinsfile里面写上线步骤,jenkinsfile里面用到的是groovy语言,这个语言了解的人应该都知道,它跟Java有或深获浅的关系,由于本人之前并没有使用过groovy这门语言,所以需要去大致了解一下它的语法。总之语法都是触类旁通的,就不多说了。 写Jenkinsfile的时候,我是到gitlab当中去拉...
2019-12-06 11:49:11 233
原创 node.js上传文件乱码解决
node.js+formidable+util上传文件出现了乱码,这里HTML用的是utf-8编码格式,但是我node.js写入请求头的时候没有设置编码格式。 res.writeHead(200, {'content-type': 'text/plain'});就出现了下面的问题:解决方案:加上编码格式 res.writeHead(200, {'content-type':...
2019-09-06 12:45:18 1827
原创 node.js表单上传文件,文件为空的解决方法
这次学习node.js上传文件的时候,遇到了一个坑,就是上传文件用到了第三方框架formidable,node.js可以拿到表单的数据,包括上传文件的名字,文件数据却是空的,各种百度,终于发现,form表单提交数据时,如果不设置enctype,会默认为application/x-www-form-urlencoded这里的解释为:在发送前编码所有字符(默认),这里我们需要设置为multipart/...
2019-09-06 11:13:52 1159
原创 node.js操作mongodb数据库
今天简单学习了一下node.js来操作mongodb数据库,就简单的记录一下过程,加深一下印象。总的来说分为四个步骤吧。这四个步骤是连贯的,可以直接复制按顺序拼接然后影响,不过数据库名字可能需要改一下。1.第一步:引入模块,连接数据库let mongoose = require("mongoose");mongoose.connect("mongodb://localhost/...
2019-09-05 21:43:07 192
原创 NoSQL 可视化工具无法输入shell命令
今天我试着装了一个mongodb的可视化工具------NoSQL Mangage for MongoDB,我起初安装好了,当我用这个工具来输入shell命令的时候出错了,提示是shell命令无效,卸载有安装了一边,发现安装工具的时候默认是不勾shell的,于是我将两个shell都勾上了,安装之后又试了一下shell命令,可以使用。...
2019-09-05 15:23:19 954 2
原创 Java char与Python char的区别
最近想学一学Java了,个人感觉python的封装级别太高了,让我感觉我不是在学习python这门语言,而是在如何使用python这个工具,python使用简单,入门简单,但是却是越学越难,这就是给我一个学习python的感觉。 好了,言归正传,在python里面,变量的类型是弱类型,这与JavaScript里的变量类型定义是很相似的,我觉得python与Java里的...
2019-08-24 17:27:10 1329
原创 lettcode算法题目20--有效的括号
最近刷算法题刷到了第20题-----有效的括号,这里题目的意思一目了然,我也就不多解释了,就是括号配对的,这里思路也比较简单,我的理解是,抛开其他特殊情况,不管它给你的字符串中的结构是什么,总之当它出现')',']','}'是,如果这个字符串的匹配是正确的,那么这个字符的前面一定会有'(','[','}'与之配对。这里我i就不多详细说了,还是代码表达的比较清楚。这段代码我在lettcod...
2019-05-05 22:00:41 1364
原创 lettcode算法题目367--有效的完全平方数
今天刷到了lettcode-367题,有效的完全平方数,这道题的意思比较好理解,但是有一个问题是,如果算法不够好的话,这道题也许能做,但是,大大加多了计算机的运算时间。我这里做了两个版本。 版本一:由于代码简单易懂,这里我就不多做说明了。很明显有点笨重。class Solution(object): def isPerfectSquare(self, num): ...
2019-04-29 20:25:34 1007
原创 lettcode算法题目953--验证外星语词典
最近刷到了lettcode中的953题,验证外星语词典,刚开始我看题目有点懵,有点看不懂题目想要表达的意思是什么。然后各种百度,发现了解这道题的大致思路。 原来,这道题目的意思是,有一本外星语词典,里面的单词也是由字母组成,但是它的字母顺序不一定是按照我们生活中的字母表的顺序,而是由它来给定字母的顺序表,然后让我们判断它给的words中的单词是否是字典顺序排列。那么问题来了,什...
2019-04-29 19:51:09 895
原创 lettcode算法设计题874--模拟行走机器人
我对于这道题目的思路是这样的,dx=[0,1,0,-1] dy=[1,0,-1,0] ,其中di表示机器人移动的方向,x,y表示机器人的当前坐标,(x+dx[di],y+dy[di])表示机器人在当前坐标为参考下,下一步应该到达的点。di有三个值,分别是0,1,2,3表示坐标系的北,东,南,西。这里我们可以举一个例子,commands = [4,-1,4,-2,4], o...
2019-04-24 13:50:39 949
原创 lettcode算法设计题290--单词模式
最近一直在刷lettcode上的算法题目,坚持每天一题,收获还是颇丰的。今天这道题目在lettcode上提交成功。下面把代码贴在下面供各位借鉴。class Solution(object): def wordPattern(self, pattern, strs): lits = [] strs = strs.split() strts...
2019-04-22 21:54:29 867
原创 lettcode算法设计题914--卡片分组
这个算法我已经在lettcode上面提交了,已通过,后来我将代码也添加了注释,如果还有看不懂的地方欢迎留言。from collections import Iterableclass Solution(object): def get_max_number(self, num1, num2): while num1 != num2: if n...
2019-04-21 21:28:43 856
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人