- 博客(41)
- 收藏
- 关注
原创 Python快速开发一款PC端玩耍的打飞机游戏
前一阵子简单学了下Pygame库,为了复习一下准备自己做一个小游戏。想到微信上的飞机大战,就决定做一个PC版的。首先去下了个微信的APK,把里面的飞机大战的资源文件提取出来了。大家可以点击这里(提取码:8tct)下载,也可以像我一样自己去提取。然后写游戏时有问题可以访问Pygame在线文档,遇到的问题都可以在其中找到答案。资源准备好后我们就可以开始编写游戏了。第一步,显示背景。我们先来...
2019-12-23 14:49:57 421
原创 Python flask模块接口开发学习总结
引言Flask 是一个简单且十分强大的Python web 框架。它被称为微框架,“微”并不是意味着把整个Web应用放入到一个Python文件,微框架中的“微”是指Flask旨在保持代码简洁且易于扩展,Flask框架的主要特征是核心构成比较简单,但具有很强的扩展性和兼容性,程序员可以使用Python语言快速实现一个网站或 Web服务。因此flask能很方便构建一个web服务,给外部也可以叫做客...
2019-12-23 11:37:00 376
原创 service mesh是什么
什么是 service mesh ?微服务架构将软件功能隔离为多个独立的服务,这些服务可独立部署,高度可维护和可测试,并围绕特定业务功能进行组织。这些服务通过简单的,可通用访问的API相互通信。在技术层面上,微服务可实现大型复杂应用程序的持续交付和部署。在更高的业务水平上,微服务有助于为试图在快速发展的市场中实现敏捷性的公司提供速度,可伸缩性和灵活性。但是,如前所述,微服务架构会...
2019-12-23 11:36:29 242
原创 web安全csp白名单的弊端
csp的使用方式:<meta http-equiv="Content-Security-Policy" content="script-src 'self' cdn.staticfile.org *.cnzz.com hm.baidu.com *.fraudmetrix.cn *.tongdun.net *.geetest.com blob: 'unsafe-inline' 'uns...
2019-12-23 11:35:47 866
原创 Ubuntu19 安装 pylearn2
环境:head -n 1 /etc/issue # Ubuntu 19.10 \n \lpython -V# Python 2.7.17 其中,python环境是我自己建立的虚拟 venv 方便测试( 相当于你的python 实际路径)目录结构:以下出现的目录都是相对于次工程的根目录your_program_path/data/cifar10 ...
2019-12-22 20:44:42 311
原创 django中're_path'的用法
、re_path和path的作用是一样的。只不过're_path'是在写url的时候可以用正则表达式,功能更加强大。2、写正则表达式都推荐使用原生字符串。也就是以‘r’开头的字符串:r'move/'3、在正则表达式中定义变量,需要使用圆括号括起来。这个参数是有名字的,那么需要使用'?P<参数的名字>'。然后在后面添加正则表达式的规则。实例如下:from django.urls...
2019-12-22 20:43:56 4970
原创 django跳转页面传参
1、如果在反转url的时候,需要添加参数,那么可以通过传递'kwargs'参数到'reverse'函数中。实例代码:urls.pyfrom django.urls import path, re_pathfrom app01 import viewsurlpatterns = [ path('article/<year>/<month>/',view...
2019-12-22 20:43:02 1247
原创 Python文件的操作函数的使用
字符编码二进制和字符之间的转换过程 --> 字符编码ascii,gbk,shit,fuck 每个国家都有自己的编码方式美国电脑内存中的编码方式为ascii ; 中国电脑内存中的编码方式为gbk , 美国电脑无法识别中国电脑写的程序 , 中国电脑无法识别美国电脑写的程序现在硬盘中躺着 ascii/gbk/shit/fuck 编码的文件, 他们的编码格式已经无法修改了, 所以内存...
2019-12-22 17:31:46 125
原创 Python文件操作
1 with open('E:/信息.docx','rb') as f:2 read_data = f.read()3 f.closed‘rb’ 以二进制形式读取指定路径的文件;再以二进制形式写入指定路径'wb'。1 with open('E:/信息(2).docx','wb') as f :2 f.write(read_data)Python创建目录文件...
2019-12-22 17:30:36 625
原创 AJAX、爬取AJAX数据
1. AJAX1.1 什么是AJAXAJAX即“Asynchronous JavaScript And XML”(异步JavaScript和XML)可以使网页实现异步更新,就是不重新加载整个网页的情况下,对网页的某部分进行更新(局部刷新)。传统的网页(不使用AJAX)如果需要更新内容,必须重载整个网页页面。AJAX = 异步JavaScript和XML,是一种新的思想,整合之前的多...
2019-12-22 14:18:23 220
原创 如何将一个类方法变为多个方法?
它们是如何做到把一个方法变成多个方法,并且将每个方法与相应的参数绑定起来的呢?我们再提炼一下,原问题等于是:在一个类中,如何使用装饰器把一个类方法变成多个类方法(或者产生类似的效果)?# 带有一个方法的测试类class TestClass: def test_func(self): pass# 使用装饰器,生成多个类方法class TestClass:...
2019-12-22 14:17:26 375
原创 使用 defer 函数 要注意的几个点
概述defer 函数大家肯定都用过,它在声明时不会立刻去执行,而是在函数 return 后去执行的。它的主要应用场景有异常处理、记录日志、清理数据、释放资源 等等。这篇文章不是分享 defer 的应用场景,而是分享使用 defer 需要注意的点。咱们先从一道题开始,一起来感受下 ...func calc(index string, a, b int) int { re...
2019-12-22 12:38:02 802 2
原创 Semaphore的使用及原理
前言 Semaphore也是JUC包中一个用于并发控制的工具类,举个常用场景的例子:有三台电脑五个人,每个人都要用电脑注册一个自己的账户,这时最开始只能同时有三个人操作电脑注册账户,这三个人中有人操作完了剩下的两个人才能占用电脑注册自己的账户。这就是Semaphore的经典使用场景,跟并发加锁有点像,只是我们的并发加锁同一时间只让有一个线程执行,而Semaphore的加锁控制是允许同一时...
2019-12-22 12:37:32 301
原创 Spark Streaming vs. Structured Streaming
简介Spark StreamingSpark Streaming是spark最初的流处理框架,使用了微批的形式来进行流处理。提供了基于RDDs的Dstream API,每个时间间隔内的数据为一个RDD,源源不断对RDD进行处理来实现流计算Structured StreamingSpark 2.X出来的流框架,采用了无界表的概念,流数据相当于往一个表上不断追加行。基于Spar...
2019-12-22 12:36:33 101
原创 python操作MySQL、MongoDB
1. python操作MySQL2. python操作MongoDB2.1 MongoDB基础2.2 pymongo模块2.2.1 安装pymongopip install pymongo -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com2.2.2 连接MongoDBim...
2019-12-21 21:00:53 151
原创 在Mac上Python多版本切换
1、安装Homebrewhttps://brew.sh/index_zh-cn.html2、通过brew安装pyenv1)命令行输入:$ brew install pyenv(如果一直卡在Updating Homebrew就按ctrl+c一次跳转brew update)2)在home目录的 .bash_profile文件中添加:vi ~/.bash_profile 在最后增加...
2019-12-21 18:47:05 439
原创 Python—执行系统命令的四种方法
一、os.system方法这个方法是直接调用标准C的system() 函数,仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息。os.system(cmd)的返回值。如果执行成功,那么会返回0,表示命令执行成功。否则,则是执行错误。使用os.system返回值是脚本的退出状态码,该方法在调用完shell脚本后,返回一个16位的二进制数,低位为杀死所调用脚本的信号号码,高位为脚...
2019-12-21 18:46:30 4390
原创 linux指令-date
1.在linux中要显示日期,则可以直接输入指令date2.如果想以这样2016/12/26的方式输出呢,那就是,Y是年份,m是月份,d是日date +%Y/%m/%d3.如果要显示时间,则date +%H:%M:%S4.显示当前的日历呢,直接输入cal5.要查看整年的日历呢 cal+年份6.要查看某一年的某一月...
2019-12-21 18:24:59 166
原创 聊一聊 webpack 中的 preloading 和 Prefetching
提到 Preloading 和 Prefetching 就不得不先说一下代码分割,通过下面的例子我们来说明为什么需要代码分割?// index.jsimport _ from 'lodash'; // 假设大小为 1 MB业务代码 // 假设大小为 1 MB在首次访问时, index.js 文件的大小为 2 MB,需要加载的大小是 2 MB 业务代码改变用户再次访问时,index...
2019-12-21 18:24:13 220
原创 MVC模式与Servlet执行流程
Servlet生命周期五个部分,从加载到卸载,如同人类的出生到死亡#加载:Servlet容器自动处理 初始化:init方法 该方法会在Servlet被加载并实例化后执行 服务:service抽象方法:具体实现是doGet(),doPost()方法 销毁:destroy(),Servlet被系统回收时执行 卸载:Servlet容器自动处理init():默认第一次访问Servle...
2019-12-21 17:43:51 129
原创 如何解决两个span标签之间的缝隙
1、span直接一行<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> <style type="text/css"> span{ ...
2019-12-21 16:32:43 507
原创 CouchDB学习-集群管理
集群管理理论在etc/fefault.ini文件中有以下部分:[cluster]q=8n=3q - 分片的数量 n - 每一份文档的拷贝数量(加上原文档一共几份副本)创建数据库时可以通过覆盖该值修改为自己的值。在集群操作中,获取操作中CouchDB返回状态码200或者是写操作返回状态码201即为大多数成员达成一致。大多数成员定义为相关拷贝的数量的一半。对于“读写”操作,...
2019-12-21 15:37:25 556
原创 Java内存模型之原子性问题
前言之前的文章中讲到,JMM是内存模型规范在Java语言中的体现。JMM保证了在多核CPU多线程编程环境下,对共享变量读写的原子性、可见性和有序性。本文就具体来讲讲JMM是如何保证共享变量访问的原子性的。原子性问题原子性是指:一个或多个操作,要么全部执行且在执行过程中不被任何因素打断,要么全部不执行。下面就是一段会出现原子性问题的代码:public class Atomi...
2019-12-21 15:25:56 119
原创 UWP GraphQL数据查询客户端的实现
1. 缘起Facebook的移动应用从 2012 年就开始使用GraphQL。GraphQL规范于 2015 年开源,现已经在多种环境下可用,并被各种体量的团队所使用。在这个链接可以看到更多的GraphQL使用者。2. GraphQL是什么英文官网:GraphQL is a query language for APIs and a runtime fo...
2019-12-21 15:24:23 163
原创 一个简单的示例在spring boot中实现国际化
最近在网上找了一个有关账单管理的spring boot项目,其中有一部分是涉及显示国际化信息的,即将页面上的中英文进行转换。因为在这之前这部分内容没有接触过,所以在这记录下过程。中文效果图如下所示:英文效果图如下所示:从上面两幅图可以看出在切换中英文时有五个部分的内容发送改变。分别是:用户名(Username)、密码(Password)、记住我(Remember Me)、登录...
2019-12-20 17:04:17 145
原创 linus 命令
系统信息arch 显示机器的处理器架构uname -m 显示机器的处理器架构uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作cat /proc/cpuinfo 显示CPU info的...
2019-12-20 17:03:14 137
原创 Nginx热升级流程,看这篇就够了
在之前做过 Nginx 热升级的演示,他能保证nginx在不停止服务的情况下更换他的 binary 文件,这个功能非常有用,但我们在执行 Nginx 的 binary 文件升级过程中,还是会遇到很多问题,比如老的 worker 进程一直退不掉或者新的 worker 进程升级以后出现问题需要考虑回滚,或者升级新的 Nginx 文件以后会发现预期的功能或者指向的配置文件出现了错误,下面我们来看下看热升...
2019-12-20 17:02:33 132
原创 java开发必学知识:动态代理
一句话概括:java动态代理通过反射机制,可在不修改原代码的情况下添加新的功能,应用于多种场景,简单、实用、灵活,是java开发必学知识,本文将对动态代理使用进行详细介绍。1. 引言最近开发项目过程中需要使用动态代理来实现功能,趁此机会把动态代理的知识点进行了一次梳理。在java开发过程中,当需要对已有的代码(方法)前后添加新功能,而不想修改或不方便修改原代码的情况下,如需要在执行某个...
2019-12-20 13:45:34 85
原创 springboot学习之路——AOP
0、前言1、什么是AOP AOP(面向切面编程),是一种横切技术,是对OOP的补充和完善; 使用AOP的横切,可以对系统进行无侵入性的日志监听、事务、权限管理等; 思想上跟拦截器其实类似;拦截器是对action进行拦截处理,AOP是对切面进行拦截处理,其实切面也属于一种action集合; AOP可以很好解耦;2、AOP的组成 Aspect:切面; Joi...
2019-12-20 13:44:38 150
原创 在React中实现条件渲染的7种方法
借助React,我们可以构建动态且高度交互的单页应用程序,充分利用这种交互性的一种方法是通过条件渲染。条件渲染一词描述了根据某些条件渲染不同UI标签的能力。在React文档中,这是一种根据条件渲染不同元素或组件的方法。此概念通常被应用到如下情况中:从API渲染外部数据 显示/隐藏元素 切换应用程序功能 实现权限级别 认证与授权在本文中,我们将研究在React应用程序中实现条件渲染...
2019-12-20 12:02:38 1413
原创 Redis主从复制架构和Sentinel哨兵机制
一、redis主从复制原理redis主从同步策略:slave刚加入集群会触发一次全量同步(全量复制)。全量同步之后,进行增量复制。slave优先是增量同步,如果增量同步失败会尝试从master节点进行全量复制。全量复制:slave初始化阶段如上图slave服务器首先连接master节点,发送SYNC命令。 master节点收到SYNC命令开始指令BGSAVE(延迟写,读正常)命令...
2019-12-20 12:01:47 180
原创 Elasticsearch系列---初识搜索
概要本篇主要介绍搜索的报文结构含义、搜索超时时间的处理过程,提及了一下多索引搜索和轻量搜索,最后将精确搜索与全文搜索做了简单的对比。空搜索搜索API最简单的形式是不指定索引和类型的空搜索,它将返回集群下所有索引的所有文档(默认显示10条):GET /_search响应的结果示例(有筛选,只取了一条document作为示例):{ "took": 2, "timed_...
2019-12-20 10:55:45 103
原创 解析库 pyquery 入门
引言前面一篇我们介绍了 Beautiful Soup 中可以使用 CSS 选择器,但是好像他的 CSS 选择器并没有想像中的强大。本篇就介绍一个对 CSS 选择器更加友好的类库 ——pyquery。它在语法上更加贴和 JQuery ,估计会成为各位后端开发人员的福音。首先,还是先敬上各种官方地址:官方文档:https://pyquery.readthedocs.io/en/la...
2019-12-20 10:28:45 128
原创 函数式编程 -> Lambda
一、函数式编程 函数式编程,同面向对象编程、指令式编程一样,是一种软件编程范式,在多种编程语言中都有应用。百科词条中有很学术化的解释,但理解起来并不容易。不过,我们可以借助于数学中函数的概念,来理解函数式编程的要义所在。在数学中,我们常见的函数表达式形如 y=f(x),表示的是一种输入输出的映射关系:x表示输入,y表示输出,f 是表示两者之间的映射运算逻辑。在求值的时候,你完全不用考虑映射运...
2019-12-20 10:28:02 183
原创 大数据/数据分析/数据挖掘
1.List代码解析这些代码我都放在我的公众号里面,包括函数式的List以及一个函数式的二叉搜索树,关注公众号:哈尔的数据城堡,回复“scala树数据结构”就能直接获得(写文章不容易,大哥大姐关注下吧 :) )。话说回来,上一篇中,主要介绍了List的一些基础用法,包括定义基础的结构,节点Cons和结尾的Nil。以及使用一个object List来定义基础的List操作。//定义Li...
2019-12-19 19:11:09 107
原创 分布式服务跟踪Sleuth
一、Sleuth前言随着业务的发展,系统规模也会变得越来越大,各微服务间的调用关系也变得越来越错综复杂。通常一个由客户端发起的请求在后端系统中会经过多个不同的微服务调用来协同产生最后的请求结果,在复杂的微服务架构系统中,几乎每一个前端请求都会形成一条复杂的分布式服务调用链路,在每条链路中任何一个依赖服务出现延迟过高或错误的时候都有可能引起请求最后的失败。这时候, 对于每个请求,全链路调...
2019-12-19 19:10:19 98
原创 WPF之图片处理系列
一,视觉处理(控件展示)#1,显示图片# Image控件展示 Xaml代码: Copy<Image source="/Resources/Images/1.png"/> 缩放位图渲染算法 Xaml代码: Copy<Image Source="/Resources/Images/1.jpg" RenderO...
2019-12-19 17:29:05 863 1
原创 Rabbit安装(单机及集群,阿里云)
前言虽然我并不是部署人员,但是自己私人测试环境的各类东东还是得自己安装的。尤其在规模不大的公司,基本安装部署工作都是后端的份内之事。那么最令人痛苦的,莫过于自己就是安装大佬教程走,但是就是过不去。尤其是初学者,解决问题的能力,还不足,往往就直接卡死了。其实还有另外一个问题,那就是很多的教程,包括许多视频的教学,大多采用不真实的环境。要么是多台虚拟机实现集群,要么是一台线上服务器走天下...
2019-12-19 17:15:51 169
原创 神经网络系列之四 -- 线性回归方法与原理
4.0 单变量线性回归问题4.0.1 提出问题在互联网建设初期,各大运营商需要解决的问题就是保证服务器所在的机房的温度常年保持在23摄氏度左右。在一个新建的机房里,如果计划部署346台服务器,我们如何配置空调的最大功率?这个问题虽然能通过热力学计算得到公式,但是总会有误差。因此人们往往会在机房里装一个温控器,来控制空调的开关或者风扇的转速或者制冷能力,其中最大制冷能力是一个关键性的数值...
2019-12-19 14:25:09 922
原创 删除单链表,你会吗?
删除单链表中值等于XXX的所有元素不经意间看到了一个不同寻常的实现方法,觉得挺有意思,于是自己实现了一下,代码真的是简单明了跑得还贼快!好,现在先在脑海中想想,你会怎么实现?这么简单,5秒钟后,你想到了解决方案,于是你决定验证你的思路,请继续往下看定义链表节点结构如下:type ListNode struct { Next *ListNode Value in...
2019-12-19 14:23:35 72
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人