Python入门教程100天
文章平均质量分 67
每日更新Python入门教程,全栈学习,100天从入门到精通
Python-Jack
任教于千锋Python教学部,毕业于四川大学,在攻读博士学位期间发表过多篇学术论文,其中1篇被SCI收录,3篇被EI收录,参与多项国家自然科学基金项目和省市科技攻关项目。长期使用C、C++和Java等编程语言进行开发,曾主持和参与过电子政务系统、KPI考核系统和P2P借贷平台的研发。2012年从事计算机教育培训工作以来,曾在个人博客上发表过关于Java企业级应用开发、移动客户端开发、企业架构研究、中间件开发等多个领域的内容文章,其访问量超过270万次。
展开
-
用 pprint 代替 print 更友好的打印调试信息
用 pprint 代替 print 更友好的打印调试信息pprint 是 “pretty printer” 的简写,“pretty” 的含义是 “漂亮的、美观的”,因此 pprint 的含义便是:漂亮的打印。这是个相当简单却有用的模块,主要用于打印复杂的数据结构对象,例如多层嵌套的列表、元组和字典等。先看看 print() 打印的一个例子:mylist = ["Beautiful is better than ugly.", "Explicit is better than implici原创 2021-01-15 14:30:51 · 409 阅读 · 0 评论 -
使用协程快速获得一个代理池
使用协程快速获得一个代理池前言在执行 I/O 密集型任务的时候,程序会因为等待 I/O 而阻塞。比如我们使用 requests 库来进行网络爬虫请求的话,如果网站响应速度过慢,程序会一直等待网站响应,最终导致其爬取效率十分低下。本文以爬取 IP 代理池为例,演示 Python 中如何利用异步协程来加速网络爬虫。协程协程(Coroutine),又称微线程,纤程,协程是一种用户态的轻量级线程。协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存,在调度回来的时候,恢复先前保原创 2021-01-15 14:29:44 · 411 阅读 · 0 评论 -
爬虫到底违法吗?你离违法还有多远?
最近,国家依法查处了部分编写爬虫程序,盗取其他公司数据的不良企业。一时间风声鹤唳,关于爬虫程序是否违法的讨论遍布程序员圈子。那么到底编写爬虫程序是否违法呢?其爬虫下载数据,一般而言都不违法,因为爬虫爬取的数据同行也是网站上用户打开页面能够看到的数据,但是如果符合下列条件的网站进行强行数据采集时,会具有法律风险。采集的站点有声明禁止爬虫采集时。2. 网站通过Robots协议拒绝采集时。Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion原创 2021-01-15 14:29:10 · 4346 阅读 · 0 评论 -
一个小例子助你彻底理解协程
一个小例子助你彻底理解协程协程,可能是Python中最让初学者困惑的知识点之一,它也是Python中实现并发编程的一种重要方式。Python中可以使用多线程和多进程来实现并发,这两种方式相对来说是大家比较熟悉的。事实上,还有一种实现并发的方式叫做异步编程,而协程就是实现异步编程的必要方式。所谓协程,可以简单的理解为多个相互协作的子程序。在同一个线程中,当一个子程序阻塞时,我们可以让程序马上从一个子程序切换到另一个子程序,从而避免CPU因程序阻塞而闲置,这样就可以提升CPU的利用率,相当于用一种协作的原创 2021-01-15 14:28:57 · 192 阅读 · 0 评论 -
Python中格式化字符串更酷的方式
Python中格式化字符串更酷的方式在 Python 中,大家都习惯使用 %s 或 format 来格式化字符串,在 Python 3.6 中,有了一个新的选择 f-string。使用对比我们先来看下 Python 中已经存在的这几种格式化字符串的使用比较。# %susername = 'tom'action = 'payment'message = 'User %s has logged in and did an action %s.' % (username, action)原创 2021-01-15 14:28:35 · 172 阅读 · 0 评论 -
教你用Python实现自动扫雷,你就是最亮的仔~
扫雷,相信80、90后的小伙伴肯定不陌生,在电脑还没有彻底普及的年代,能够玩上扫雷和纸牌就已经非常不容易了,今天小千就来给大家分享一期使用Python代码实现自动扫雷的教程,代码都在文章中,同学们可以学习和参考一下。自动扫雷一般分为两种,一种是读取内存数据,而另一种是通过分析图片获得数据,并通过模拟鼠标操作,这里我用的是第二种方式。一、准备工作我的版本是 python 3.6.1python的第三方库:win32api win32gui win32con Pillow num转载 2021-01-07 16:33:53 · 345 阅读 · 0 评论 -
从零开始学Python - 第030课:用Python获取网络数据
对于Python语言来说,一个较为擅长的领域就是网络数据采集,实现网络数据采集的程序通常称之为网络爬虫或蜘蛛程序。即便是在大数据时代,数据对于中小企业来说仍然是硬伤和短板,有些数据需要通过开放或付费的数据接口来获得,其他的行业数据则必须要通过网络数据采集的方式来获得。不管使用哪种方式获取网络数据资源,Python语言都是非常好的选择,因为Python的标准库和三方库都对获取网络数据提供了良好的支持。HTTP和requests库要使用Python获取网络数据,我们可以先安装一个名为requests的.转载 2020-12-11 15:45:18 · 298 阅读 · 0 评论 -
从零开始学Python - 第029课:用Python操作PDF文件
PDF是Portable Document Format的缩写,这类文件通常使用.pdf作为其扩展名。在日常开发工作中,最容易遇到的就是从PDF中读取文本内容以及用已有的内容生成PDF文档这两个任务。从PDF中提取文本在Python中,可以使用名为PyPDF2的三方库来读取PDF文件,可以使用下面的命令来安装它。pip install PyPDF2 -i https://pypi.doubanio.com/simplePyPDF2没有办法从PDF文档中提取图像、图表或其他媒体,但它可以提取转载 2020-12-11 14:12:19 · 276 阅读 · 0 评论 -
从零开始学Python - 第028课:用Python读写Excel文件
Excel简介Excel是Microsoft(微软)为使用Windows和macOS操作系统开发的一款电子表格软件。Excel凭借其直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,一直以来都是最为流行的个人计算机数据处理软件。当然,Excel也有很多竞品,例如Google Sheets、LibreOffice Calc、Numbers等,这些竞品基本上也能够兼容Excel,至少能够读写较新版本的Excel文件,当然这些不是我们讨论的重点。掌握用Python程序操作Excel文件,可以让日常办转载 2020-12-11 14:11:29 · 237 阅读 · 0 评论 -
从零开始学Python - 第031课:用Python解析HTML页面
在上一课中我们讲到了使用Python获取网络资源,如果我们获取到一个或多个页面,需要从页面中提取出指定的信息,首先得掌握解析HTML页面的技术。上一课中我们把整个HTML页面当成一个字符串,使用正则表达式的捕获组提取出了需要的内容。但是,写出一个正确的正则表达式经常也是一件让人头疼的事情。为此,我们可以先了解HTML页面的结构,在此基础上就可以掌握其他的解析HTML页面的方法。HTML页面的结构我们在浏览器中打开任意一个网站,然后通过鼠标右键菜单,选择“显示网页源代码”菜单项,就可以看到网页对应的H转载 2020-12-11 14:11:16 · 369 阅读 · 0 评论 -
自动化测试十大你必备(背)的面试题
第一个就刷掉一大批人有很多“会自动化”的同学来咨询技术问题,他总会问到我一些元素定位的问题。元素定位其实都不算自动化面试的问题。一般我都会问:你是定位不到吗?通常结果都是说确实定位不到。做自动化,首先你得保证一点,没有你定位不到的元素,这个你才能做UI自动化。如果有些元素都定位不到,你说你拿什么去点?就好像你的手你的鼠标点不到需要的元素,就没法去操作。第一个,自动化分为UI自动化与接口自动化UI自动化又包括APP自动化、H5、小程序等接口自动化也包括很多,你用什么类型的工具做自动化?原创 2020-10-26 13:27:47 · 599 阅读 · 0 评论 -
世界正在狠狠惩罚不愿改变的人
近日,日本零售巨头,无印良品(MUJI)美国子公司申请破产。作为行业中的翘楚,居然也快不行了,真的让人感叹世事难料。2006年无印良品进驻美国,至今在美国开了18家门店,光在纽约就开了9家,现在申请破产后全部关门。在过去3年里,无印良品一直处于亏损状态,至今负债超过6400万美元。到了今年终于顶不住压力,主动宣布申请破产保护了。曾经的巨头倒下,背后的原因,值得深思。美国作家约翰逊曾说:“这个世界上唯一不变的,就是变化本身。”今天的这篇文章,希望带给所有的...原创 2020-10-26 11:44:10 · 440 阅读 · 0 评论 -
web基础教程:随笔
一、用自己的语言描述get、post、Accept、Referer、User-Agent、host、cookie、X_Forwarded_for、Location各请求头的含义1. GEThttp请求方法,从浏览器获取一个资源2. POST提交数据、账号密码等,加密传输3. Accept支持的语言程序、接收的文件类型等等…4. Referer起过渡作用,从一个页面转到另一个页面5. User-Agent显示浏览器的指纹信息6. host主机7. cookie记录并原创 2020-10-26 10:32:34 · 170 阅读 · 0 评论 -
基于业务场景下的图片/文件上传方案总结
图片/文件上传组是企业项目开发中必不可少的环节之一, 但凡涉及到用户模块的都会有图片/文件上传需求, 在很多第三方组件库(ant desigin,element ui)中它也是基础组件之一. 接下来笔者就来带大家从零实现一款图片/文件上传组件以及扩展出更强大的上传组件.你将收获常用的图片上传功能实现方案 手写一个图片/文件上传组件 如何将裁剪功能集成到上传组件中 内容平台/可视化平台下的图片自治方案 如何扩展出更强大的图片上传方案正文作为一名前端工程师, 解决项目问题是我们的基本职责.原创 2020-10-26 10:28:28 · 338 阅读 · 0 评论 -
React Ref 其实是这样的
ref 的由来在典型的 React 数据流中,props 是父组件与子组件交互的唯一方式。要修改一个子组件,你需要使用新的 props 来重新渲染它。但是,在某些情况下,你需要在典型数据流之外强制修改子组件/元素。适合使用 refs 的情况:管理焦点,文本选择或媒体播放。 触发强制动画。 集成第三方 DOM 库。ref 的四种方式在 React v16.3 之前,ref 通过字符串(string ref)或者回调函数(callback ref)的形式进行获取。ref 通过字符获取:原创 2020-10-26 10:17:17 · 191 阅读 · 0 评论 -
几个例子理解不同数据类型的堆栈内存处理
js代码的运行环境浏览器 内核(引擎) node webview(hybrid,嵌入到手机app里面,在app里面运行) …下面通过几个例子理解不同数据类型的堆栈内存处理js如何运行(示例1)var a = 12;var b = a;b = 13;console.log(a);浏览器能够运行js代码,是因为浏览器会在计算机内存中分配出一块内存,用来供代码执行,这块内存叫栈内存,也叫Stack,或者ECStack(Execution Context Stack)执行环境栈。原创 2020-10-26 10:12:31 · 213 阅读 · 0 评论 -
7个前端新手常见误区,千万要避开
越来越多的开发者加入前端开发队伍。但前端知识在不断更新着,大家对它的认识也各不相同,今天就为您解读,学习web前端都有哪七大误区。误区一:前端只是JavaScript但我要说的是:前端不只是JS。何谓前端开发?我认为,一切以展现为目标的工作,都是前端开发工作。在前端开发中,除了JS,还有很多需要去掌握的,比如浏览器原理,html5,css3等。之前在面试别人时,问他,怎么做一个触摸屏上的转盘。他摇头。我退了一步,和他说谈谈你的想法也可。他想了一下,还是不会。做转盘,看似简单,但代表了前端知识的综合应用原创 2020-10-26 10:05:20 · 222 阅读 · 0 评论 -
排序算法入门:选择排序
选择排序选择排序也是利用了“挡板法”这个经典思想。挡板左边是已排序区间,右边是未排序区间,那么每次的“选择”是去找右边未排序区间的最小值,找到之后和挡板后面的第一个值换一下,然后再把挡板往右移动一位,保证排好序的这些元素在挡板的左边。比如例子:{5, 2, 0, 1}我们用一个挡板来分隔数组是否排好序,用指针 j 来寻找未排序区间的最小值;第一轮 j 最初指向 5,然后遍历整个未排序区间,最终指向 0,那么 0 就和挡板后的第一个元素换一下,也就是和 5 交换一下位置,挡板向.转载 2020-10-21 17:17:33 · 176 阅读 · 1 评论 -
如何高效定义和验证restful请求的参数
go-zero针对文本的序列化和反序列化主要在三个地方使用:http api请求体的反序列化 http api返回体的序列化 配置文件的反序列化1. http api请求体的反序列化在反序列化的过程中的针对请求数据的数据格式以及数据校验需求,go-zero实现了自己的一套反序列化机制1.1 数据格式以订单order.api文件为例type ( createOrderReq struct { token string `path:"token"` // .原创 2020-10-21 15:28:26 · 198 阅读 · 0 评论 -
如何使用 CatBoost 进行快速梯度提升
我们将仔细研究一个名为CatBoost的梯度增强库。在梯度提升中,预测是由一群弱学习者做出的。与为每个样本创建决策树的随机森林不同,在梯度增强中,树是一个接一个地创建的。模型中的先前树不会更改。前一棵树的结果用于改进下一棵树。在本文中,我们将仔细研究一个名为CatBoost的梯度增强库。CatBoost 是Yandex开发的深度方向梯度增强库 。它使用遗忘的决策树来生成平衡树。相同的功能用于对树的每个级别进行左右拆分。(CatBoost官方链接:https://github.原创 2020-10-21 14:20:35 · 384 阅读 · 0 评论 -
Linux系统编程:信号捕捉
前面我们学习了信号产生的几种方式,而对于信号的处理有如下几种方式:默认处理方式; 忽略; 捕捉。信号的捕捉,说白了就是抓到一个信号后,执行我们指定的函数,或者执行我们指定的动作。下面详细介绍两个信号捕捉操作参数:signal和sigaction。##signal函数函数原型:sighandler_t signal(int signum, sighandler_t handler);其中,sighandler定义是这样的:typedef void (*sighandler_t)(in原创 2020-10-21 14:03:51 · 128 阅读 · 0 评论 -
我为什么建议软件测试工程师一定要懂数据库
我们为什么要去懂数据库呢?首先,我想从我们软件测试工程师最基本的两个技能来说。第一个是熟悉业务第二个是分析定位问题不管你到哪一家公司,你接手什么样的项目,熟悉业务的话,一定是你进公司要做的第一件事情。分析定位问题是你作为软件测试人员一定要具备的。试想一下,你如果去提交一个bug,我只能说这个页面、这个数据显示错了。但另外同事B他说,这个数据它错误的原因是什么,是某个模块,或者某个开发人员的代码有问题。他如果能准确的定位到这个问题,不说他会更受公司重要之类的。但是他会让开发更喜欢和他合原创 2020-10-21 11:44:22 · 1269 阅读 · 0 评论 -
HTML5教程:精讲__init__、__new__、__call__方法(可面试用)
任何事物都有一个从创建,被使用,再到消亡的过程,在程序语言面向对象编程模型中,对象也有相似的命运:创建、初始化、使用、垃圾回收,不同的阶段由不同的方法(角色)负责执行。在面试的时候,问到面向对象免不了会问__init__、__new__、__call__ 方法这几个最常用的魔术方法。在这里为大家厘清这几个方法的用法:1. __init__方法__init__方法负责对象的初始化,系统执行该方法前,其实该对象已经存在了,要不然初始化什么东西呢?先看例子:class Dog: d.原创 2020-06-11 17:08:16 · 265 阅读 · 0 评论 -
Python经典面试宝典之基础篇-03
如果你正在找工作,我的Python面试宝典几期教程,你一定得花时间看完了!题目011:Python中为什么没有函数重载?点评:C++、Java、C#等诸多编程语言都支持函数重载,所谓函数重载指的是在同一个作用域中有多个同名函数,它们拥有不同的参数列表(参数个数不同或参数类型不同或二者皆不同),可以相互区分。重载也是一种多态性,因为通常是在编译时通过参数的个数和类型来确定到底调用哪个重载函数,所以也被称为编译时多态性或者叫前绑定。这个问题的潜台词其实是问面试者是否有其他编程语言的经验,是否.原创 2020-06-11 16:57:22 · 291 阅读 · 0 评论 -
Python面试宝典之基础篇-01
题目001: 在Python中如何实现单例模式。点评:这个题目在面试中出现的频率极高,因为它考察的不仅仅是单例模式,更是对Python语言到底掌握到何种程度,建议大家用装饰器和元类这两种方式来实现单例模式,因为这两种方式的通用性最强,而且也可以顺便展示自己对装饰器和元类中两个关键知识点的理解。方法一:使用装饰器实现单例模式。from functools import wrapsdef singleton(cls): """单例类装饰器""" instance.原创 2020-06-11 14:33:44 · 423 阅读 · 0 评论 -
Python教程:Numpy的安装
一、numpy简介NumPy是一个功能强大的Python库,主要用于对多维数组执行计算。NumPy这个词来源于两个单词-- Numerical和Python。NumPy提供了大量的库函数和操作,可以帮助程序员轻松地进行数值计算。这类数值计算广泛用于以下任务:机器学习模型:在编写机器学习算法时,需要对矩阵进行各种数值计算。例如矩阵乘法、换位、加法等。NumPy提供了一个非常好的库,用于简单(在编写代码方面)和快速(在速度方面)计算。NumPy数组用于存储训练数据和机器学习模型的参数。 图像处理和..原创 2020-06-10 16:08:03 · 36890 阅读 · 0 评论 -
Selenium爬虫登录生成Cookie
Selenium爬虫登录生成Cookie网站登录,本质上就是登录完成之后服务器给客户端一个凭据,这个凭据可以存在cookie里,也可以存在别的地方,客户端下次请求网页的时候带上这个凭据,服务端就会认为这个客户端是登录过的。所以对于爬虫来说,生成cookies是代理使用成为了一个必须要做的事情。示例安装chrome和对应driver下载chrome对应版本的chrome deriver下载对应版本 driverhttps://chromedriver.chromium.org/down.原创 2020-06-10 15:28:46 · 469 阅读 · 0 评论 -
Nginx 的请求处理流程你了解多少
之前我们已经讲解了 Nginx 的基础内容,接下来我们开始介绍 Nginx 的架构基础。为什么我们要讨论 Nginx 的架构基础?因为 Nginx 运行在企业内网的最外层也就是边缘节点,那么他处理的的流量是其他应用服务器处理流量的数倍,甚至几个数量级,我们知道任何一种问题在不同的数量级下,他的解决方案是完全不同的,所以在 Nginx 它所处理的应用场景中,所有的问题都会被放大,所以我们必须要去理解,为什么 Nginx 采用 master-worker 这样的一种架构模型,为什么 worker 进程的原创 2020-06-10 15:29:14 · 213 阅读 · 0 评论 -
实战教程:使用 Nginx 搭建静态资源 web 服务器
在搭建网站的时候,往往会加载很多的图片,如果都从 Tomcat 服务器来获取静态资源,这样会增加服务器的负载,使得服务器运行 速度非常慢,这时可以使用 Nginx 服务器来加载这些静态资源,这样就可以实现负载均衡,为 Tomcat 服务器减压了。这篇文章,我们将一起去使用 Nginx 去搭建静态资源 web 服务器。我把构建的 hexo 博客文件放在 Nginx 目录下了。再修改 Nginx 配置文件 nginx.conf 中的 server:server { listen 8原创 2020-06-06 15:24:33 · 216 阅读 · 0 评论 -
H5企业面试题二
小Q是一个专业的射击运动员,有一天他像往常一样进行n次射击训练,每次射击他都会取最高的四次得分作为最终得分来衡量他的射击状态,但是今天他制定了一个奇怪的规则:在n次射击得分中取出四次得分a,b,c,d,并且满足a*b*c=d作为最终得分来衡量他的射击状态。 但是小Q发现满足这个条件的(a,b,c,d)可能不止一个,小Q需要你来帮助他计算一共有多少个这种(a,b,c,d)如样例所示:有两种满足条件的(a,b,c,d)分别是(10,2,2,40)和(2,2,40,160)。输入:输入包括两行,第原创 2020-06-06 15:20:40 · 857 阅读 · 0 评论 -
H5企业面试题一
输入一个或多个车牌号码,多个以逗号分割开,再输入想查询的日期(数字,周几),输出该日期限行的车牌号. 车牌号码有以下要求,如:AD123,12101,车牌号不能全是字母。* 现在对尾号进行限制:尾号为1,9则周一限行,尾号为2,8则周二限行,尾号为3,7则周三限行 尾号为4,6则周四限行,尾号为5,0的周五限行,周六周日不限行。*尾号不为数字,则看第4位是否是数字,如果第4位还不是 数字,继续看第3位,以此下去,直到找到有数字的时候止.* 由于用户不熟悉系统,有可能输入错误车牌,如车牌不.原创 2020-06-06 15:19:18 · 224 阅读 · 0 评论 -
Python中 and 和 or 运算短路逻辑
短路逻辑规则如下:表达式从左至右运算,若 or 的左侧逻辑值为 True ,则短路 or 后所有的表达式(不管是 and 还是 or),直接输出 or 左侧表达式 。若 or 的左侧逻辑值为 False ,则输出or右侧的表达式,不论其后表达式是真是假,整个表达式结果即为其后表达式的结果。表达式从左至右运算,若 and 的左侧逻辑值为 False ,则短路其后所有 and 表达式,直到有 or 出现,输出 and 左侧表达式到 or 的左侧,参与接下来的逻辑运算。若 and 的左侧逻辑值为.原创 2020-06-06 15:17:27 · 1091 阅读 · 0 评论 -
测试的价值和目的
这个角色类似于软件开发-测试工程师(SDET),但是有更大的责任来分享他们所引入的学科的知识和热情。虽然SDET往往一次驻留在一个团队中,但是测试教练的角色可以跨多个团队。测试教练在原则上类似于Scrum大师或敏捷教练,但不一定是专家。他们只是拥护这一事业的人,如果需要,在底层工作以帮助在开发人员之间灌输文化变化,与产品所有者、领域专家和管理人员一起工作,以帮助将故事扩展到“轻度结构化”的场景中,并在开发工作和测试编写方面进行协作。测试教练还会听取每个团队的意见,并在测试无效时调整测试过程。原创 2020-06-06 15:12:28 · 903 阅读 · 0 评论 -
实战教程:VScode中误报(import-error)解决方案
VScode中误报Unable to import 'xxx' pylint(import-error)的解决方案在vscode中进行同级目录调用模块时(在test_case/veryInfoUpload.py中引用public/Loginmodel.py中的方法),会出现如下现象:1、 在public中添加__init__.py文件,使其成为包,使用包的特性,在public同级的模块maintest.py中直接带包导入是没有问题的:from public.Loginmodel impo.原创 2020-06-06 15:09:23 · 6972 阅读 · 1 评论 -
教程:mysql数据库规范详解
基础规范【建议】使用InnoDB存储引擎【强制】无特殊要求必须使用UTF8字符集【强制】数据表、数据字段必须加入中文注释【强制】禁止使用存储过程、视图、触发器、Event。特殊情况申请评审【强制】不在数据库做运算,cpu计算务必移至业务层命名规范【建议】 命名使用具有实际意义的英文词汇、词汇缩写,词汇之间使用下划线分隔;【强制】 命名只能使用小写英文字母、数字、下划线,且必须英文字母开头,下划线为分割符,不能超过32个字符,数据库对象名尽可能简短。避免使用MySQL的保留字原创 2020-06-06 14:50:42 · 129 阅读 · 0 评论 -
Java教程:Spring Boot+CAS 单点登录,如何对接数据库?
1.整体思路先来看整体思路。我们用 CAS Server 做单点登录,CAS Server 主要是负责认证的,也就是它主要解决登录问题。登录成功之后,还有一个权限处理的问题,权限的问题则交由各个 CAS Client 自行处理,并不在 CAS Server 中完成。文末有给大家出视频教程!@Component@Primarypublic class UserDetailsServiceImpl implements UserDetailsService{ @Override原创 2020-06-06 14:47:57 · 217 阅读 · 0 评论 -
如何一句话激怒你公司的前端开发程序员!
后端开发:前端比较简单,我也会写,只是我比较喜欢搞逻辑复杂的后端工作。后端眼里,前端就是把后端数据渲染出来,写个页面就ok了,可能前后端分离之前他自己也写过,而自认为后端庞大,各种框架,各种技术都得会,殊不知其实自己也就是一个写入数据与读取数据的普通程序员。而前端js的复杂性,html,css一直在更新的新特性,浏览器兼容性,web端,移动端的适配性,层出不穷的新框架,其实前端也不容易。产品经理:这个需求我没描述清楚,这里少写了一句可能产品文档里面少写的一句话,导致整个实现逻辑得重来,而他原创 2020-06-06 14:41:36 · 284 阅读 · 0 评论 -
Java基础教程:希望你看完后也能成为合格的Java工程师
技术点本文不是一个吹嘘的文章,不会讲很多高深的架构,相反,会讲解很多基础的问题和写法问题,如果读者自认为基础问题和写法问题都是不是问题,那请忽略这篇文章,节省出时间去做一些有意义的事情。讲述方向由于一直从事移动互联网相关工作,java开发中经常和移动端打交道或者做一些后端的工作,所以本篇文章更可能涉及和移动端的交互或者与后端的交互方式,笔者希望以自身的一些学习经验或者开发经验,可以带动认真阅读本篇文章的伙伴们,让大家对java有一个更好的态度去学习它,它不只是一个赚钱的工具而已。身边有很多与原创 2020-06-06 14:36:34 · 341 阅读 · 0 评论 -
Pods组件化手动集成第三方(swift)
使用组件化也有一段时间了,碰到不少问题,但也算是给解决了,总结一下手动引入第三方组件的一些问题,个人是用Swift,OC的解决方式就没有实践过。.podspec 中以 subspec 的方式 为主,主要包含微信、支付宝、微博、极光推送、友盟这几种微信微信需要引入 .a 和 .h 文件.h文件使用 source_files.a文件使用vendored_libraries原目录如下Pod::Spec.new do |s| s.name = 'xxx.原创 2020-05-23 17:29:55 · 1190 阅读 · 1 评论 -
解锁Python表白新姿势,你get了几种方法
相信大家这几天也看了很多用Python表白的文章其实内容都大同小异无非是画个爱心或者制作一个GUI页面今天就再分享两个用Python表白的姿势不管什么语言从我在使用Matlab甚至Excel提到情人节就少不了画个爱心在Python中一般使用Turtle来绘制对就是之前画樱花树的那只小乌龟现在我们可以画一个挂满爱心的樱花树当然也可以画个爱心,再配上一句告白气球的歌词看...原创 2020-05-23 16:52:49 · 400 阅读 · 1 评论