一.Python程序函数的测试
Python中有一个自带的单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作。
在说unittest之前,先说几个概念:
TestCase 也就是测试用例
TestSuite 多个测试用例集合在一起,就是TestSuite
TestLoader是用来加载TestCase到TestSuite中的
TestRunner是来执行测试用例的,测试的结果会保存到TestResult实例中,包括运行了多少测试用例,成功了多少,失败了多少等信息
接下来我们就选出一部分代码来进行一个简单的测试
这是一个简单的比赛结束函数,下面我们来测试它是否可用
def gameOver(a,b): if a>=10 and b>=10: if abs(a-b)==2: return True if a<10 or b<10: if a==11 or b==11: return True else: return False
首先我们编写一个
Game.py
class Game(): def init (self,a,b): self.a = a self.b = b
再编写一个测试代码
Testgame.py
import unittest from game import Game class GameTest(unittest.TestCase): #一个测试用例 def test_gameOver(self): self = Game('15','13') #要测试的函数 def gameOver(a,b): if a>=10 and b>=10: if abs(a-b)==2: return True if a<10 or b<10: if a==11 or b==11: return True else: return False
运行测试代码
unittest.main()
效果如下
学习Python中的小伙伴,需要学习资料的话,可以到我的微信公众号:Python学习知识圈,后台回复:“01”,即可拿Python学习资料
完美运行,此函数无问题。
二.requests库的运用
1.爬虫的基本框架是获取HTML页面信息,解析页面信息,保存结果,requests模块是用于第一步获取HTML页面信息; requests库用于爬取HTML页面,提交网络请求,基于urllib,但比urllib更方便。 [图片上传中...(image.png-571044-1558592667773-0)]
2.安装requests库
打开命令行,输入
pip install requests
即可安装
3.下面介绍一些requests库的基本用法
get方法,它能够获得url的请求,并返回一个response对象作为响应。
常见的HTTP状态码:200 - 请求成功,301 - 资源(网页等)被永久转移到其它URL,404 - 请求的资源(网页等)不存在,500 - 内部服务器错误。
4.实例
我们现在用requests库访问搜狗主页20次,并获取一些信息
import requests for i in range(20): r = requests.get("https://www.sogou.com")#搜狗主页 print("网页返回状态:{}".format(r.status_code)) print("text内容为:{}".format(r.text)) print("\n") print("text内容长度为:{}".format(len(r.text))) print("content内容长度为:{}".format(len(r.content)))
代码运行后结果如下
三.BeautifulSoup库的运用
安装方式:
打开命令行,输入
pip install BeautifulSoup4
1.简介
beautifulsoup是一个非常强大的工具,爬虫利器。
beautifulSoup “美味的汤,绿色的浓汤”
一个灵活又方便的网页解析库,处理高效,支持多种解析器。
利用它就不用编写正则表达式也能方便的实现网页信息的抓取。
2.常用解析库
Beautiful Soup支持Python标准库中的HTML解析器,还支持一些第三方的解析器,
如果我们不安装它,则 Python 会使用 Python默认的解析器,lxml 解析器更加强大,速度更快,推荐安装 。
3.基本使用
# BeautifulSoup入门 from bs4 import BeautifulSoup
html = '''
The Dormouse's story The Dormouse's story
Once upon a time there were three little sisters; and their names were Elsie , Lacie and Tillie ; and they lived at the bottom of a well.
...
''' soup = BeautifulSoup(html,'lxml') # 创建BeautifulSoup对象 print(soup.prettify()) # 格式化输出 print(soup.title) # 打印标签中的所有内容 print(soup.title.name) # 获取标签对象的名字 print(soup.title.string) # 获取标签中的文本内容 == soup.title.text print(soup.title.parent.name) # 获取父级标签的名字 print(soup.p) # 获取第一个p标签的内容 print(soup.p["class"]) # 获取第一个p标签的class属性 print(soup.a) # 获取第一个a标签 print(soup.find_all('a')) # 获取所有的a标签 print(soup.find(id='link3')) # 获取id为link3的标签 print(soup.p.attrs) # 获取第一个p标签的所有属性 print(soup.p.attrs['class']) # 获取第一个p标签的class属性 print(soup.find_all('p',class_='title')) # 查找属性为title的p
通过下面代码可以分别获取所有的链接以及文字内容
for link in soup.find_all('a'): print(link.get('href')) # 获取链接
print(soup.get_text())获取文本
(1):标签选择器
在快速使用中我们添加如下代码:
print(soup.title)
print(type(soup.title))
print(soup.head)
print(soup.p)
通过这种soup.标签名 我们就可以获得这个标签的内容
这里有个问题需要注意,通过这种方式获取标签,如果文档中有多个这样的标签,返回的结果是第一个标签的内容,如我们通过soup.p获取p标签,而文档中有多个p标签,但是只返回了第一个p标签内容。
(2):获取名称
当我们通过soup.title.name的时候就可以获得该title标签的名称,即title。
(3):获取属性
print(soup.p.attrs['name'])
print(soup.p['name'])
上面两种方式都可以获取p标签的name属性值
(4):获取内容
print(soup.p.string)
结果就可以获取第一个p标签的内容。
(5):嵌套选择
我们直接可以通过下面嵌套的方式获取
print(soup.head.title.string)
(6):标准选择器
find_all
find_all(name,attrs,recursive,text,**kwargs)
可以根据标签名,属性,内容查找文档
1.name
html=''' ''' from bs4 import BeautifulSoup soup = BeautifulSoup(html, 'lxml') print(soup.find_all('ul')) # 找到所有ul标签 print(type(soup.find_all('ul')[0])) # 拿到第一个ul标签
find_all可以多次嵌套,如拿到ul中的所有li标签
for ul in soup.find_all('ul'): print(ul.find_all('li'))
2.attrs
html=''' ''' from bs4 import BeautifulSoup soup = BeautifulSoup(html, 'lxml') print(soup.find_all(attrs={'id': 'list-1'})) # 找到id为ilist-1的标签 print(soup.find_all(attrs={'name': 'elements'})) # 找到name属性为elements的标签
注意:attrs可以传入字典的方式来查找标签,但是这里有个特殊的就是class,因为class在python中是特殊的字段,所以如果想要查找class相关的可以更改attrs={'class_':'element'}或者soup.find_all('',{"class":"element}),特殊的标签属性可以不写attrs,例如id。
实例
代码如下
# -- coding: utf-8 - - """ Created on Mon May 20 19:33:22 2019
@author: moyulin """ import re from bs4 import BeautifulSoup html = """
菜鸟教程(runoob.com)
我的第一个标题 我的第一个段落。
row 1, cell 1<\td> row 1, cdll 2<\td> <\tr> row 2, cell 1<\td> row 2, cell 2<\td> <\tr> <\table> <\body> <\html> """ soup = BeautifulSoup(html,"html.parser") print(soup.prettify()) print("(A).该html的head标签内容为\n{}\n03".format(soup.head.prettify())) print("\n") print("(B).该html的body标签内容为\n{}".format(soup.body.prettify())) print("(C).该html中id为first的标签对象为:{}".format(soup.find(id="first"))) print("(D).该html中所有的中文字符为:{}".format(soup.find_all(string = re.compile('[^\x00-\xff]'))))#这里用到正则表达式来找出中文字符串
运行结果为
你可能感兴趣的:(Python函数单元测试以及爬虫的基本实现)
贪心之P8669 [蓝桥杯 2018 省 B] 乘积最大
筏.k
刷题小记 蓝桥杯 贪心算法 c++
文章目录前言一、例题二、题目分析三、代码解答前言分享每日一题之洛谷P8669[蓝桥杯2018省B]乘积最大提示:以下是本篇文章正文内容,下面案例可供参考一、例题二、题目分析题意:在N个数中取K个数,使这K个数的乘积最大,答案对1000000009取模看到这题,首先想到贪心,第一是因为要求乘积最大,第二是因为数据不是特别大,遇到求一个极值的东西可以想想贪心,但也要结合题意和数据范围来具体判断到底用哪
141,【1】buuctf web [SUCTF 2019]EasyWeb
rzydal
web 安全
进入靶场代码审计18){die('Oneinchlong,oneinchstrong!');}//使用正则表达式检查$hhh是否包含特定字符集(包括一些常见字符和控制字符等),如果包含则终止脚本执行if(preg_match('/[\x00-0-9A-Za-z\'"\`~_&.,|=[\x7F]+/i',$hhh))die('Trysomethingelse!');//获取$hhh中使用到的字符,
c语言迷宫小游戏350行(源码)
迷茫&&前行
c语言 c语言 游戏
这是一款基于控制台的双模式迷宫冒险游戏。在极限逃脱模式中,玩家需操控角色"A"在三个精心设计的关卡中躲避追踪者"B",通过WASD键在100步限制内抵达终点"@",关卡包含特殊地形和动态敌人机制。无尽挑战模式则采用随机生成的渐进式迷宫,每关迷宫尺寸随等级扩大,玩家需在无限扩展的迷宫中不断挑战。游戏提供可视化操作界面,通过方向键控制移动,支持中途退出功能(o)。两种模式分别提供3个固定关卡和无限递增
【Docker】百度网盘:基于VNC的Web访问及后台下载
T0uken
docker 前端 dubbo
本教程通过DockerCompose部署百度网盘的VNC版本,实现24小时不间断下载、双模式访问、数据持久化、自动重启和安全加密控制等核心功能。目录结构规划建议使用以下目录结构(可根据实际情况调整):~/baidunetdisk/├──docker-compose.yml├──config/└──downloads/创建docker-compose.ymlservices:baidunetdisk
项目目标与范围管理
2301_82243709
visual studio
项目目标与范围管理是项目管理的基石,它涉及确定项目的目标、边界和工作内容1。在项目启动阶段,项目经理需要与利益相关者共同明确项目的目标、预期成果和关键里程碑,以确保项目的方向正确。范围管理还包括对项目变更的控制,以防止范围蔓延导致的项目失败。应用:在项目初期,制定详细的项目章程和范围说明书,明确项目的目标、范围、可交付成果和验收标准。在项目执行过程中,严格监控范围变更,确保所有变更都经过正式批准并
面试被问“你的缺点是什么?”该怎么答?
后端
面试时经常被问到“你的缺点是什么?”,这个问题看似很简单,但每次回答都感觉差点意思。如果你也有这样的困惑,那么本篇文章一定要认真看完。1.关键点在回答之前,首先,我们要搞清楚以下两个关键点:问题关键点:首先得想清楚面试官为什么要问这个问题?可能面试官想了解你的自我认知能力,看看我是否诚实,以及我有没有在积极改进自己的不足。所以,回答的时候不能太实诚,也不能太虚伪,得找到一个平衡点。回答关键点:指出
代理IP服务如何优化AI大模型训练的分布式计算效率
http
AI大模型训练就像一场接力赛,每个计算节点都是接力选手,而代理IP则是保证选手们“跑得更稳、交接更顺”的隐形教练。在分布式计算中,效率瓶颈往往不是算力本身,而是数据调度与通信协作的隐性损耗。接下来,我们从三个实操场景拆解代理IP的增效逻辑。场景一:数据采集与分发的“高速公路”分布式训练的第一步是将海量数据切分到不同计算节点。假设某团队要训练法律文书解析模型,需从20个省级法院网站抓取判例。如果所有
腾讯控股销售易!中国CRM市场将迎血腥洗牌?
saas
近期,销售易官宣与腾讯战略合作升级,拉开了Salesforce×阿里云、销售易x腾讯两大阵营战线,标志着中国CRM市场正式进入“双巨头”时代——一方是国际巨头Salesforce联合阿里云的本土化攻势,另一方是本土头部玩家销售易背靠腾讯生态的技术与流量加持。而在这场“神仙打架”的牌局中,曾与销售易齐名的某FCRM厂商却愈发沉寂,让人不禁发问:未来是否只剩Salesforcevs销售易?中小厂商的生
商城项目秒杀通过Redisson设置信号量和秒杀随机码的设计保证秒杀业务稳定-----商城项目
旧约Alatus
电商项目 # Spring-Boot框架 # Spring-Cloud框架 spring boot 分布式 spring spring cloud 后端 微服务 jvm
packagecom.alatus.mall.seckill.service.impl;importcom.alatus.common.utils.R;importcom.alatus.mall.seckill.constant.SecKillConstants;importcom.alatus.mall.seckill.feign.CouponFeignService;importcom.ala
tidb实时同步到mysql
数据库
客户要求实时同步表的数据到mysql,但这个表在tidb。测试直接通过tidbcdc写入到mysql,有些字段是null,所以中间加了一个kafka实现客户库中创建表CREATETABLEtb_1(idbigintprimarykey,cidbigint,gidbigint,feeDECIMAL(10,2),created_attimestamp,typesmallint,remarkstring
制造业上了MES后,生产过程透明化,实时掌握生产动态
一、MES系统的作用与功能MES系统是车间制造执行系统,它打通了企业计划层和执行层的信息通道,建立了透明、高效、有序的生产模式。生产调度:MES系统能够实时调度生产任务,优化资源配置,确保生产过程中的每个环节都能高效运作。这种调度能力使得生产过程中的每一步都能被清晰记录和监控。数据采集:MES系统能够自动采集生产数据,包括设备运行状态、工人操作记录等。这些数据为后续分析提供了可靠依据,使得生产过程
postgresql实时同步到mysql
数据库
应客户要求,需要同步数据到他们自己的数据库用于简单的数据分析,但这部分数据在postgresql,客户又不想再建pg,想直接同步到他们现有的mysql库,实时性倒是不要求。考虑到1、异构数据库同步2、只同步指定客户的行数据有之前同步到es的经验,同样使用了腾讯oceanus,其它工具没搞定客户库中创建表CREATETABLEtb_1(idbigintprimarykey,didbigint,gid
【核心算法篇十三】《DeepSeek自监督学习:图像补全预训练方案》
再见孙悟空_
「2025 DeepSeek技术全景实战」 算法 学习 计算机视觉 deepSeek 深度学习 transformer 人工智能
引言:为什么自监督学习成为AI新宠?在传统监督学习需要海量标注数据的困境下,自监督学习(Self-SupervisedLearning)凭借无需人工标注的特性异军突起。想象一下,如果AI能像人类一样通过观察世界自我学习——这正是DeepSeek图像补全方案的技术哲学。根据,自监督学习通过设计巧妙的"预训练任务"(PretextTask),让模型在无标签数据中自动学习图像语义特征。而图像补全正是这类
HarmonyOS Next AI开发环境搭建与工具使用
harmonyos
本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)中AI开发环境搭建与工具使用相关技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、HarmonyOSNextAI开发环境概述(一)硬件与软件环境需求介绍硬件环境处理器:对于HarmonyOSNext
HarmonyOS Next智能安防系统中的人脸比对与异构计算实战
harmonyos
本文旨在深入探讨基于华为鸿蒙HarmonyOSNext系统(截止目前API12)构建智能安防系统中人脸比对与异构计算技术的实战应用,基于实际开发经验进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、智能安防系统需求与架构设计(一)功能需求分析实时人脸检测与识别需求在智能安防系统中,实时人脸检测与识别
HarmonyOS Next智能语音助手的语音合成与模型优化实战
harmonyos
本文旨在深入探讨基于华为鸿蒙HarmonyOSNext系统(截止目前API12)构建智能语音助手过程中语音合成与模型优化技术的实战应用,基于实际开发经验进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、语音助手功能需求与架构规划(一)功能需求梳理语音指令识别需求智能语音助手需要准确识别用户的语音指令
设计导购类电商平台的高可维护性架构
微赚淘客系统开发者@聚娃科技
架构 java 开发语言
设计导购类电商平台的高可维护性架构大家好,我是阿可,微赚淘客系统及省赚客APP创始人,是个冬天不穿秋裤,天冷也要风度的程序猿!在当今竞争激烈的电商市场中,一个高可维护性的架构对于导购类电商平台至关重要。本文将探讨如何设计一个高可维护性的架构,以支持快速迭代和稳定运行。高可维护性架构的重要性高可维护性的架构可以降低系统的维护成本,提高开发效率,确保系统的可扩展性和稳定性。这对于快速适应市场变化和用户
代码签名证书申请全攻略
代码规范前端
代码签名证书是提供给软件开发者,对其开发的软件代码进行数字签名的数字证书,用于验证开发者身份真实性、保护代码的完整性。以下是代码签名证书申请的全攻略:一、准备阶段确定证书类型:OV代码签名证书:满足基本的安全认证需求,能向用户表明软件来源可靠,未被篡改。EV代码签名证书:对于开发驱动程序、内核模块等涉及系统底层关键组件的开发者,需申请更为严格的EV(ExtendedValidation)代码签名证
Docker 与持续集成 / 持续部署(CI/CD)的集成(一)
计算机毕设定制辅导-无忧学长
# Docker docker ci/cd 容器
一、引言在当今快速发展的软件开发领域,高效、可靠的开发与部署流程是企业保持竞争力的关键。Docker与持续集成/持续部署(CI/CD)的集成,正成为众多开发团队提升效率、优化流程的重要手段。Docker作为一种开源的容器化平台,通过将应用程序及其依赖项打包在一个可移植的容器中,实现了环境的一致性和隔离性。这意味着,无论在开发、测试还是生产环境中,应用程序都能以相同的方式运行,有效解决了“在我机器上
全网最全!DeepSeek 新手入门教程合集
人工智能deepseek
如果你是初次接触DeepSeek的普通用户或开发者,面对海量教程却无从下手?别担心!本文为你整理全网最易懂、最实用的DeepSeek学习资源,涵盖快速上手、编程实战、系统手册等,附直达链接,收藏这一篇就够了!一、快速入门指南《DeepSeek入门教程》-博客园亮点:手把手教你注册账号、获取APIKey,并提供Python调用多轮对话的代码示例,适合初级开发者。直达链接:点击查看核心内容:API调用
Linux系统替换字符串常用命令
在Linux系统中,替换字符串的操作是一项非常常见且实用的任务,尤其在处理大量文本文件时。sed和grep是两个非常强大的工具,广泛用于这种类型的文本处理操作。接下来我们将深入探讨如何使用这两个工具来实现字符串的替换操作,并详细分析每个步骤。1.使用sed替换字符串sed(StreamEditor)是一个流编辑器,广泛应用于文本处理。它可以进行查找、替换、删除和插入操作。sed的基本语法用于字符串
如何制定高效的项目执行计划表?掌握这些关键步骤!
项目管理
项目执行计划表是项目管理中不可或缺的重要工具,它为项目团队提供了清晰的路线图和执行指南。一个高效的项目执行计划表不仅能够明确项目目标、任务分工和时间节点,还能够有效协调资源,提高团队协作效率,确保项目按时、高质量地完成。本文将深入探讨如何制定一份高效的项目执行计划表,帮助您掌握关键步骤,提升项目管理水平。明确项目目标和范围制定项目执行计划表的第一步是明确项目目标和范围。这个阶段需要与相关stake
如何高效进行项目计划生产?
项目管理
在当今竞争激烈的商业环境中,项目计划生产已成为企业成功的关键因素。高效的项目计划生产不仅能够提高工作效率,还能降低风险、优化资源配置,为企业带来显著的经济效益。本文将深入探讨如何高效进行项目计划生产,为企业管理者和项目负责人提供实用的指导和建议。明确项目目标和范围高效的项目计划生产始于明确的目标和范围界定。这一阶段需要与相关stakeholders进行充分沟通,确保项目目标与公司战略相一致。同时,
集中式架构vs分布式架构
谦亨有终
架构 架构 分布式
一、集中式架构如何准确理解集中式架构1.集中式架构的定义集中式架构是一种将系统的所有计算、存储、数据处理和控制逻辑集中在一个或少数几个节点上运行的架构模式。这些中央节点(服务器或主机)作为系统的核心,负责处理所有用户请求和业务逻辑,客户端只负责请求和展示。2.核心特性单一控制中心:所有服务和资源都由中央节点统一管理。资源集中管理:数据和计算资源位于同一位置,便于维护和扩展。高一致性:由于资源集中管
tailwindcss4.0 升级后的一个坑
tailwindcss
tailwindcss4.0升级了,用了vite的方式,因为主UI框架用的antdv,结果出现了antdv组件自身的css比tailwindcss的优先级高的情况。发现tailwindcss的类都被layer了,而这个layer的特性就是比平常的css优先级要低,考虑到antdv还不能把自身css套上layer(antd好像可以),所以只能把tailwind的layer去掉了,也是为了一些老的ui
提升体育用品采购效率的最佳方法:看板管理系统的深度解析
看板任务管理工具
引言体育用品采购管理是体育产业链中至关重要的环节,无论是专业的运动队、体育俱乐部,还是体育用品零售商或电商平台,如何高效地管理采购流程,确保供应链的稳定和及时配送,都是直接影响业务运作和客户满意度的关键因素。在现代化的采购管理中,信息化工具和看板管理逐渐成为提高效率和透明度的重要手段。本文将深入探讨体育用品采购管理的各个环节,分析常见的采购流程、面临的挑战,并重点介绍如何运用看板管理工具,提升采购
《计算机组成及汇编语言原理》阅读笔记:p1-p8
编程
《计算机组成及汇编语言原理》学习第1天,p1-p8总结,总计8页。一、技术总结1.Intel8088microprocessor(微处理器),1979-1988。2.MS-DOSMicrosoftDiskOperatingSystem的缩写,是一个操作系统(operatingsystem)。3.Moore'sLaw&Moore'ssecondlaw(1)Moore'slawThenumberoft
决战毫秒间!火山引擎联合奇游,竞技游戏快人一步
游戏边缘计算全球加速
热门游戏发行后,常常会带来下载困难的问题,海量玩家在集中时间段涌入,会造成游戏平台下载带宽迅速飙升,导致玩家遭遇下载慢、下载报错的困扰,而诸如游戏下载缓慢、对战不稳定易掉线、高延迟、丢包等困扰,都可以通过专业的游戏加速服务解决。成都俊云科技有限公司是专业的游戏加速服务提供商,开发的“奇游”是一整套游戏工具和服务组合,具有适用于全平台的软硬件,内置专属玩家的个性化功能,能为玩家提供游戏加速、FPS硬
【Python】Python入门——判断语句
zhoushanguhe
Python python 编程 开发语言
Python入门——判断语句。内容包括if语句、条件表达式、三元运算、match语句等。目录一、if语句1.基本if-else语句2.常用比较运算符3.if-else连写4.pass语句5.变量的作用域二、条件表达式三、三元运算四、match语句五、其他一、if语句1.基本if-else语句当条件成立时,执行某些语句;否则执行另一些语句。注意:if和else后需要加上冒号:if语句的代码块需要缩进
MyBatis-Plus结合Spring Boot实现数据权限
一、场景介绍在开发过程中很多时候我们需要根据某些条件去做数据权限,比如:A组织只能看见A组织及其下属组织的数据,B部门只能看见自己的数据、等等,此时如果每次都去自己写SQL进行校验就会显得代码非常臃肿,因为就产生了自己去定义一套全局公用的数据权限过滤方式。二、实现思路借助于Spring的拦截器或过滤器,当请求进入到Controller时,将该用户的数据权限信息存入数据权限上下文中,在MyBatis
Algorithm
香水浓
java Algorithm
冒泡排序
public static void sort(Integer[] param) {
for (int i = param.length - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
int current = param[j];
int next = param[j + 1];
mongoDB 复杂查询表达式
开窍的石头
mongodb
1:count
Pg: db.user.find().count();
统计多少条数据
2:不等于$ne
Pg: db.user.find({_id:{$ne:3}},{name:1,sex:1,_id:0});
查询id不等于3的数据。
3:大于$gt $gte(大于等于)
&n
Jboss Java heap space异常解决方法, jboss OutOfMemoryError : PermGen space
0624chenhong
jvm jboss
转自
http://blog.csdn.net/zou274/article/details/5552630
解决办法:
window->preferences->java->installed jres->edit jre
把default vm arguments 的参数设为-Xms64m -Xmx512m
----------------
文件上传 下载 解析 相对路径
不懂事的小屁孩
文件上传
有点坑吧,弄这么一个简单的东西弄了一天多,身边还有大神指导着,网上各种百度着。
下面总结一下遇到的问题:
文件上传,在页面上传的时候,不要想着去操作绝对路径,浏览器会对客户端的信息进行保护,避免用户信息收到攻击。
在上传图片,或者文件时,使用form表单来操作。
前台通过form表单传输一个流到后台,而不是ajax传递参数到后台,代码如下:
<form action=&
怎么实现qq空间批量点赞
换个号韩国红果果
qq
纯粹为了好玩!!
逻辑很简单
1 打开浏览器console;输入以下代码。
先上添加赞的代码
var tools={};
//添加所有赞
function init(){
document.body.scrollTop=10000;
setTimeout(function(){document.body.scrollTop=0;},2000);//加
判断是否为中文
灵静志远
中文
方法一:
public class Zhidao {
public static void main(String args[]) {
String s = "sdf灭礌 kjl d{';\fdsjlk是";
int n=0;
for(int i=0; i<s.length(); i++) {
n = (int)s.charAt(i);
if((
一个电话面试后总结
a-john
面试
今天,接了一个电话面试,对于还是初学者的我来说,紧张了半天。
面试的问题分了层次,对于一类问题,由简到难。自己觉得回答不好的地方作了一下总结:
在谈到集合类的时候,举几个常用的集合类,想都没想,直接说了list,map。
然后对list和map分别举几个类型:
list方面:ArrayList,LinkedList。在谈到他们的区别时,愣住了
MSSQL中Escape转义的使用
aijuans
MSSQL
IF OBJECT_ID('tempdb..#ABC') is not null
drop table tempdb..#ABC
create table #ABC
(
PATHNAME NVARCHAR(50)
)
insert into #ABC
SELECT N'/ABCDEFGHI'
UNION ALL SELECT N'/ABCDGAFGASASSDFA'
UNION ALL
一个简单的存储过程
asialee
mysql 存储过程 构造数据 批量插入
今天要批量的生成一批测试数据,其中中间有部分数据是变化的,本来想写个程序来生成的,后来想到存储过程就可以搞定,所以随手写了一个,记录在此:
DELIMITER $$
DROP PROCEDURE IF EXISTS inse
annot convert from HomeFragment_1 to Fragment
百合不是茶
android 导包错误
创建了几个类继承Fragment, 需要将创建的类存储在ArrayList<Fragment>中; 出现不能将new 出来的对象放到队列中,原因很简单;
创建类时引入包是:import android.app.Fragment;
创建队列和对象时使用的包是:import android.support.v4.ap
Weblogic10两种修改端口的方法
bijian1013
weblogic 端口号 配置管理 config.xml
一.进入控制台进行修改 1.进入控制台: http://127.0.0.1:7001/console 2.展开左边树菜单 域结构->环境->服务器-->点击AdminServer(管理) &
mysql 操作指令
征客丶
mysql
一、连接mysql
进入 mysql 的安装目录;
$ bin/mysql -p [host IP 如果是登录本地的mysql 可以不写 -p 直接 -u] -u [userName] -p
输入密码,回车,接连;
二、权限操作[如果你很了解mysql数据库后,你可以直接去修改系统表,然后用 mysql> flush privileges; 指令让权限生效]
1、赋权
mys
【Hive一】Hive入门
bit1129
hive
Hive安装与配置
Hive的运行需要依赖于Hadoop,因此需要首先安装Hadoop2.5.2,并且Hive的启动前需要首先启动Hadoop。
Hive安装和配置的步骤
1. 从如下地址下载Hive0.14.0
http://mirror.bit.edu.cn/apache/hive/
2.解压hive,在系统变
ajax 三种提交请求的方法
BlueSkator
Ajax jqery
1、ajax 提交请求
$.ajax({
type:"post",
url : "${ctx}/front/Hotel/getAllHotelByAjax.do",
dataType : "json",
success : function(result) {
try {
for(v
mongodb开发环境下的搭建入门
braveCS
运维
linux下安装mongodb
1)官网下载mongodb-linux-x86_64-rhel62-3.0.4.gz
2)linux 解压
gzip -d mongodb-linux-x86_64-rhel62-3.0.4.gz;
mv mongodb-linux-x86_64-rhel62-3.0.4 mongodb-linux-x86_64-rhel62-
编程之美-最短摘要的生成
bylijinnan
java 数据结构 算法 编程之美
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class ShortestAbstract {
/**
* 编程之美 最短摘要的生成
* 扫描过程始终保持一个[pBegin,pEnd]的range,初始化确保[pBegin,pEnd]的ran
json数据解析及typeof
chengxuyuancsdn
js typeof json解析
// json格式
var people='{"authors": [{"firstName": "AAA","lastName": "BBB"},'
+' {"firstName": "CCC&
流程系统设计的层次和目标
comsci
设计模式 数据结构 sql 框架 脚本
流程系统设计的层次和目标
 
RMAN List和report 命令
daizj
oracle list report rman
LIST 命令
使用RMAN LIST 命令显示有关资料档案库中记录的备份集、代理副本和映像副本的
信息。使用此命令可列出:
• RMAN 资料档案库中状态不是AVAILABLE 的备份和副本
• 可用的且可以用于还原操作的数据文件备份和副本
• 备份集和副本,其中包含指定数据文件列表或指定表空间的备份
• 包含指定名称或范围的所有归档日志备份的备份集和副本
• 由标记、完成时间、可
二叉树:红黑树
dieslrae
二叉树
红黑树是一种自平衡的二叉树,它的查找,插入,删除操作时间复杂度皆为O(logN),不会出现普通二叉搜索树在最差情况时时间复杂度会变为O(N)的问题.
红黑树必须遵循红黑规则,规则如下
1、每个节点不是红就是黑。 2、根总是黑的 &
C语言homework3,7个小题目的代码
dcj3sjt126com
c
1、打印100以内的所有奇数。
# include <stdio.h>
int main(void)
{
int i;
for (i=1; i<=100; i++)
{
if (i%2 != 0)
printf("%d ", i);
}
return 0;
}
2、从键盘上输入10个整数,
自定义按钮, 图片在上, 文字在下, 居中显示
dcj3sjt126com
自定义
#import <UIKit/UIKit.h>
@interface MyButton : UIButton
-(void)setFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title Font:(CGFloa
MySQL查询语句练习题,测试足够用了
flyvszhb
sql mysql
http://blog.sina.com.cn/s/blog_767d65530101861c.html
1.创建student和score表
CREATE TABLE student (
id INT(10) NOT NULL UNIQUE PRIMARY KEY ,
name VARCHAR
转:MyBatis Generator 详解
happyqing
mybatis
MyBatis Generator 详解
http://blog.csdn.net/isea533/article/details/42102297
MyBatis Generator详解
http://git.oschina.net/free/Mybatis_Utils/blob/master/MybatisGeneator/MybatisGeneator.
让程序员少走弯路的14个忠告
jingjing0907
工作 计划 学习
无论是谁,在刚进入某个领域之时,有再大的雄心壮志也敌不过眼前的迷茫:不知道应该怎么做,不知道应该做什么。下面是一名软件开发人员所学到的经验,希望能对大家有所帮助
1.不要害怕在工作中学习。
只要有电脑,就可以通过电子阅读器阅读报纸和大多数书籍。如果你只是做好自己的本职工作以及分配的任务,那是学不到很多东西的。如果你盲目地要求更多的工作,也是不可能提升自己的。放
nginx和NetScaler区别
流浪鱼
nginx
NetScaler是一个完整的包含操作系统和应用交付功能的产品,Nginx并不包含操作系统,在处理连接方面,需要依赖于操作系统,所以在并发连接数方面和防DoS攻击方面,Nginx不具备优势。
2.易用性方面差别也比较大。Nginx对管理员的水平要求比较高,参数比较多,不确定性给运营带来隐患。在NetScaler常见的配置如健康检查,HA等,在Nginx上的配置的实现相对复杂。
3.策略灵活度方
第11章 动画效果(下)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
FAQ - SAP BW BO roadmap
blueoxygen
BO BW
http://www.sdn.sap.com/irj/boc/business-objects-for-sap-faq
Besides, I care that how to integrate tightly.
By the way, for BW consultants, please just focus on Query Designer which i
关于java堆内存溢出的几种情况
tomcat_oracle
java jvm jdk thread
【情况一】:
java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环; 如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决: <jvm-arg>-Xms3062m</jvm-arg> <jvm-arg>-Xmx
Manifest.permission_group权限组
阿尔萨斯
Permission
结构
继承关系
public static final class Manifest.permission_group extends Object
java.lang.Object
android. Manifest.permission_group 常量
ACCOUNTS 直接通过统计管理器访问管理的统计
COST_MONEY可以用来让用户花钱但不需要通过与他们直接牵涉的权限
D