自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (2)
  • 收藏
  • 关注

原创 Kotlin协程(上)

参考:码上开学 | BilibiliKotlin: Using Coroutines | Pluralsight一文快速入门kotlin协程 | 掘金Kotlin Coroutine消除并发任务之间的协作难度,打破回调地狱,可以在同一个代码块里实现多线程切换。launchlaunch——创建一个新的协程,并在指定线程上运行它,非阻塞。launch(Dispatchers.IO){ val image = getImage(imageId)}joinlaunch返回一个Job对象

2021-11-10 15:03:58 1984

原创 刷新RecyclerView的一种优雅方式

参考:https://stackoverflow.com/questions/44081579/sethasstableidstrue-in-recyclerview问题场景在一个RecyclerView中,itemd的数据以及数量均有可能发生改变,原本仅仅在Observer中使用MyAdapter.notifyDataSetChanged(),但是出现刷新后item位置随机偏移的情况(尤其当前显示的item不为第一项,且刷新前后item数量不一样时),体验感极差,不够丝滑。又尝试在MyAdapter

2021-10-13 17:03:36 283

原创 Android实现点击跳转本地浏览器打开网页的精简方式

一般情况下,我们要实现点击跳转本地浏览器打开指定网页,需要在activity文件中定位到相关控件,再setOnClickListener。如果只有一处需要跳转,这样写也可以,但如果多处存在这样的操作,我们可以使用一种精简的方法:创建一个网页跳转的接口,在layout文件中直接绑定。本文阅读前提:了解Android中的databinding。例如,我们创建了一个interface:interface OpenWebLinkInterface { fun openWebLink(context:

2021-10-12 17:12:06 8444

原创 NestedScrollView控件实现页面局部滚动

本人安卓小白,写项目的时候碰到一个问题:我的内容长度超出页面了,剩余部分无法显示,如果使页面可以上下滑动,我只需要页面下半部分能够滑动,页面上半部分保持不动,也就是嵌套滑动。由此我找到一个合适的控件——NestedScrollView,用它包住我需要滑动的那一部分,就可实现我预想的效果。NestedScrollView有两个注意点:1、它和ScrollView一样内部只能容纳一个子控件,而我要滑动的部分包括两个子控件,所以我又加了一个LinearLayout去包住它们。2、NestedScrollV

2021-10-08 13:56:32 873

原创 Android RecyclerView的使用(Kotlin)

RecyclerView作为谷歌推出的一项新控件,在页面上长得像ListView,但它比ListView具有节约内存的优点,尤其在数据量较多时,使用RecyclerView可以大大减少缓存。本篇简单描述一下RecyclerView的使用在代码里的表现。显然,一个长得像列表的页面,其中有很多布局相同或相似的Item,我先写一个只含TextView的Item:新建item.xml文件<?xml version="1.0" encoding="utf-8"?><androidx.car

2021-09-27 21:56:56 775

原创 Vue + ASP.NET core 解决跨域问题

前端用vue搭建的,跑在本地端口8080,后端用ASP.NET core写的,跑在本地端口44345,前端用axios请求接口。先改前端,在config文件夹下的index.js中找到proxyTable,那一块改成proxyTable: { '/api': { target: 'https://localhost:44345/', changeOrigin: true, "secure": false, pathRewrite

2021-06-18 11:32:03 1737

原创 搭建一个简单的springboot(IDEA)

点击创建新的project,选择Spring Initializr两次next后,勾选出四个需要的配置finish后有了一个初始模板,将如下图目录下原本的application.property文件删掉,新建一个application.yml文件application.yml中的内容如下:spring: datasource: url: jdbc:mysql://localhost:3306/DW?serverTimezone=GMT%2B8&useUnicod.

2021-02-02 17:20:23 159

原创 使用代理池多线程爬虫亚马逊网站(python,requests,bs4)

ProxyPool 爬虫代理IP池使用准备与配置redis准备下载redis压缩包,解压双击redis-server.exe即可运行,或使用cmd进入解压文件夹后:redis-server.exe redis.windows.conf更详细步骤参考菜鸟教程启动项目:下载proxy_pool安装包# 将此proxy_pool文件夹复制到项目文件夹下(或直接git pull),用编译器打开项目# 若编译器提示需要导入import,直接导入,若无提示可以手动导入飘红import处缺少的包,无

2021-02-01 15:59:35 1132

原创 使用python多线程爬虫亚马逊(selenium库)

selenium库的使用先在命令行 pip install selenium安装好库再下载geckodriver(火狐浏览器的driver,也可以使用Chrome,网上搜一下)将下载的压缩包解压,把里面的geckodriver放到火狐浏览器的安装目录下,例如C:\Program Files\Mozilla Firefox把火狐浏览器的安装目录添加到系统环境变量中的Path爬虫代码import refrom selenium import webdriverimport pandas as p

2021-02-01 15:31:50 848

原创 数据结构复习笔记

相关概念和选择题描述数据元素之间的关系就是数据结构。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CN3IhJcd-1611122439191)(https://uploader.shimo.im/f/mlNje3cI7rO3dTCb.png!thumbnail?fileGuid=3Dtd3K3tD8H63KvV)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uvX48Acx-1611122439197)(https://uplo

2021-01-26 14:04:47 654 1

原创 亚马逊爬虫与NEO4J存储操作

一、项目简述本次项目需将 web-Movies 中的 movies.txt 文件导入 NEO4J 图形数据库中,并计算共同评论某几部电影最多的用户集合。项目大致分三步进行:提取 txt 文件——导入neo4j图形数据库——用Java连接数据库对其进行操作。本项目可通过输入产品 id 或电影名称进行查询。二、项目环境本次项目在 window10 操作系统下进行,电脑内存为 16G,需用到的软件有 vscode、neo4j desktop、IntelliJ IDEA。三、NEO4J 安装及配置1.安

2021-01-26 13:42:39 643

原创 WebAPP与移动APP部分

输出(5种模型)content model(内容模型)包括所有内容对象和分析类检查使用场景中对内容直接或间接的引用,从用例得到内容对象数据树适用于包含多个内容对象和数据项的内容数据树是内容设计的基础interaction model(交互模型)功能、内容和行为之间的交流用例时序图状态图用户界面原型functional model(功能模型)计算和操纵功能,内容,使用活动图描述用户观察到的功能由app(前端)传达分析类中包含的操作,这些操作实现了与类关联的行为需求模型

2021-01-26 13:12:04 409 3

原创 Chapter 14 构件级设计

面向对象观点(*设计构件细化)????传统观点与面向对象的构件类似,传统的软件构件也来自于分析模型。不同的是在这种情况下,是以分析模型中的构件细化作为导出构件的基础。构件层次结构上的每个构件都被映射为某一层次上的模块。一般来讲,控制构件(模块)位于层次结构(体系结构)顶层附近,而问题域构件则倾向位于层次结构的底层。为了获得有效的模块化,在构件细化的过程中采用了功能独立性的设计概念。设计基于类的构件基本设计原则????开闭原则(The Open-Closed Principle,OCP):模块

2021-01-26 13:09:10 719

原创 Chapter 13 体系结构设计

体系结构设计作用对设计在满足既定需求方面的有效性进行分析在设计变更相对容易的阶段,考虑体系结构可能的选择方案降低与软件构建相关的风险体系结构风格以数据为中心的体系结构????数据存储(如文件或数据库)位于这种体系结构的中心,其他构件会经常访问该数据存储,并对存储中的数据进行更新、增加、删除或者修改。客户软件访问中心存储库数据流体系结构????当输入数据经过一系列计算构件和操作构件的变换形成输出数据时,可以应用这种体系结构。管道-过滤器模式拥有一组称为过滤器的构件,这些构件通过管道

2021-01-26 13:07:05 722

原创 Chapter 12 设计概念

需求→设计????设计过程目标设计应当实现所有包含在需求模型中的明确需求,而且必须满足利益相关者期望的所有隐含需求。对于那些编码者和测试者以及随后的软件维护者而言,设计应当是可读的、可理解的指南。设计应当提供软件的全貌,从实现的角度对数据域、功能域和行为域进行说明。原则设计应展现出这样一种体系结构:已经使用可识别的体系结构风格或模式创建由能够展现出良好设计特征的构件构成能够以演化的方式实现,从而便于实施与测试。设计应该模块化,也就是说,应将软件逻辑地划分为元素或子系统。

2021-01-26 12:44:53 428

原创 Chapter 11 行为、模式和Web/移动App

生成行为模型行为模型显示了软件如何对外部事件或激励做出响应。相关步骤:评估所有的用例,以保证完全理解系统内的交互顺序识别驱动交互顺序的事件,并理解这些事件如何与特定的对象相互关联为每个用例生成序列创建系统状态图评审行为模型以验证准确性和一致性识别用例事件用例场景中加下划线的部分表示事件。应确认每个事件的参与者,应标记交换的所有信息,而且应列出任何条件或限制。一旦确定了所有的事件,这些事件将被分配到所涉及的对象,对象负责生成事件(例如,Homeowner房主生成输入密码事件)或识别已经

2021-01-23 14:59:15 180

原创 Chapter 10 需求建模:基于类的方法

识别类的方法????语法解析分析类的表现:外部实体(例如其他系统、设备、人员):产生或使用基于计算机系统的信息。事物(例如报告、显示、字母、信号):问题信息域的一部分。偶发事件或事件(例如所有权转移或完成机器人的一组移动动作):在系统操作环境内发生。角色(例如经理、工程师、销售人员):由和系统交互的人员扮演。组织单元(例如部门、组、团队):和某个应用系统相关。场地(例如制造车间或码头):建立问题的环境和系统的整体功能。结构(例如传感器、四轮交通工具、计算机):定义了对象的类或与对象相关

2021-01-23 14:34:01 434

原创 Chapter 9 需求建模

需求建模模型类型场景模型面向类的模型基于行为和模式的模型数据模型面向流的模型总体目标????需求模型必须实现三个主要目标:描述客户需要什么;为软件设计奠定基础;定义在软件完成后可以被确认的一组需求。原理需求模型在系统描述和设计模型之间建立桥梁经验原则模型应关注在问题域或业务域内可见的需求,抽象的级别应该相对高一些。 “不要陷入细节”,即不要试图解释系统将如何工作。需求模型的每个元素都应能增加对软件需求的整体理解,并提供对信息域、功能和系统行为的深入理解。关于基础

2021-01-23 14:29:00 1545

原创 Chapter 8 理解需求

需求工程阶段起始在项目起始阶段,要建立基本的理解,包括存在的问题、谁需要解决方案、所期望解决方案的性质、与项目利益相关者和开发人员之间达成初步交流合作的效果。获取询问客户、用户和其他人:系统或产品的目标是什么,想要实现什么,系统和产品如何满足业务的要求,最终系统或产品如何用于日常工作。细化在起始和获取阶段获得的信息将在细化阶段进行扩展和提炼。该任务的核心是开发一个精确的需求模型,用以说明软件的功能、特征和信息的各个方面。协商需求工程师必须通过协商过程来调解需求冲突。应该让客户

2021-01-23 14:24:58 329

原创 Chapter 6 软件工程人员方面

软件工程师特质个人责任感敏锐的意识坦诚的抗压能力高度的公平感注重细节务实的软件工程心理学行为模式层图????在个人层面,软件工程心理学注重待解决的问题、解决问题所需的技能以及在模型外层建立的限制内解决问题的动机。在团队和项目层面,团队能动性成为主要因素。在这一层面,成功是由团队结构和社会因素决定的。团队交流、合作和协调同单个团队成员的技能同等重要。在外部层面,有组织的行为控制着公司的行为及其对商业环境的应对方式。团队毒性混乱的工作氛围会造成团队成员分裂的挫败支离破碎或协调

2021-01-23 14:20:48 170

原创 Chapter 5 敏捷开发

敏捷宣言个人和他们之间的交流胜过了开发过程和工具可运行的软件胜过了宽泛的文档客户合作胜过了合同谈判对变更的良好响应胜过了按部就班地遵循计划敏捷原则我们最优先要做的是通过尽早、持续交付有价值的软件来使客户满意。即使在开发的后期,也欢迎需求变更。敏捷过程利用变更为客户创造竞争优势。经常交付可运行软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。围绕有积极性的个人构建项目。给他们提供所需的环境和支持,并且信任他们能

2021-01-23 14:19:33 215

原创 Chapter 4 过程模型

惯用过程模型瀑布模型????瀑布模型( waterfall model)又称为经典生命周期(( classic life cycle),它提出了一个系统的、顺序的软件开发方法,从用户需求规格说明开始,通过策划、建模、构建和部署的过程,最终提供完整的软件支持。适用场景适合在需求已经确定的情况下,且工作采用线性方式完成的情况。适用于在开发时间内需求没有或很少变化,分析设计人员应对应用领域很熟悉的低风险项目(对目标、环境很熟悉),且用户使用环境很稳定,用户除提出需求以外,很少参与开发工作。

2021-01-23 14:17:38 401

原创 Chapter 3 软件过程结构

通用过程模型软件过程框架图????由图可以看出,每个框架活动由一系列软件工程动作构成;每个软件工程动作由任务集来定义,这个任务集明确了将要完成的工作任务、将要产生的工作产品、所需要的质量保证点,以及用于表明过程状态的里程碑。过程流图????线性过程流 从沟通到部署顺序执行五个框架活动迭代过程流 在执行下一个活动前重复执行之前的一个或多个活动演化过程流 采用循环的方式执行各个活动,每次循环都能产生更为完善的软件版本并行过程流 将一个或多个活动与其他活动并行执行

2021-01-23 14:14:23 469

原创 Chapter 2 软件工程

软件工程定义????IEEE将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件对上述方法的研究。Pressman软件工程包括一个过程、管理和构建软件的方法以及工具适应性和敏捷性软件工程是一种分层技术软件工程层次图????????支持软件工程的根基在于质量关注点软件工程的基础是过程( process)层。软件工程方法(method)为构建软件提供技术上的解决方法(如何做)。软件工程工具( tool)为过程和方法提供自动化或半自动化的支持。

2021-01-23 14:10:07 439 2

原创 Chapter 1 软件的本质

说在前面:本复习专题使用教材为SoftwareEngineering-APractitioner’sApproach.8thEdition.RogerPressman原版,设计第一、二两部分,即并不包括软件设计之后的内容,适合TJU软件专业的同学参考复习。300页浓缩成48页,考试都考到了,但是我考前最后一晚没记住//(ㄒoㄒ)/~~选择题部分考查基础知识,像软件的定义这种分几点的,多选题。解答题部分考查结合例子描述一些过程,比如Scrum,描述一些概念,比如Web App/Mobile App的几

2021-01-23 14:06:42 1392 1

原创 OSI七层参考模型

层次名称第1层物理层第2层数据链路层第3层网络层第4层传输层第5层会话层第6层表现层第7层应用层

2021-01-11 21:35:36 152

原创 以太网布线演进

以太网经历的几次大的变化,主要体现在介质和布线上:第一代第二代第三代名称粗缆以太网(粗网)细缆以太网(细网)双绞线以太网通信介质一根笨重的同轴电缆比粗网更柔软的细同轴电缆双绞线布线一个被称为附属单元接口(AUI)的物理电缆把收发器连接到计算机的NIC上。将收发器直接集成到了网络接口卡中,并用一条同轴电缆从一台计算机连接到另一条计算机使用一个中央电子设备(集线器)取代同轴电缆,将连接到网络上的计算机分隔开说明NIC:网络接口卡主要优点:费用较低

2021-01-11 12:06:07 269

原创 Neo4j如何大批量删除节点而不内存溢出

今天更新图数据库,需要删除七百多万个关系,一开始简单粗暴的MATCH ()-[r:relation]-() DELETE r;果不其然,内存炸了,所以选择一部分一部分地删,在使用LIMIT时又碰到一些bug,最终Cypher代码如下:MATCH ()-[r:relation]-() WITH r LIMIT 1000000 DELETE r RETURN count(*);这里的with和return都不能少,少了就报错。另外看到一篇博客,讲的用批处理,我没试,先贴这儿Neo4j中使用Cy

2021-01-02 16:26:24 1760 1

原创 Neo4j Cypher如何比较日期

最开始导入数据库的日期是字符串,格式为“YYYY/MM/DD”,发现直接字符串比较查询结果会出错,所以想把它转换成日期格式,用date()函数,但是使用后会报错,大概是Neo4j不支持这种格式的日期转换,所以又把日期格式改为“YYYY-MM-DD”。因为是使用CSV导入数据,所以这里改变日期格式直接在excel里操作,把单元格格式改了就行,然后更新图数据库。后面就可以用date函数直接比较,比如查询发行日期在2000年4月1日到6月30日的电影:MATCH (m:movie)WHERE date("

2021-01-01 23:52:52 3555 5

原创 如何在忘记密码的情况下修改MySQL8的密码

MySQL8如何修改密码停止MySQL服务实现无密码登录清空原有密码无密码登录重置密码检验新密码登录博主时隔多月打开MySQL发现自己竟忘记连接密码,火速百度一堆“MySQL忘记密码怎么办”“如何重置MySQL密码”,在遭遇一些坑后终于修改成功,这里记录改密方法和一些注意点。以下前提是已经在系统环境中配置过MySQL路径。停止MySQL服务以管理员身份打开命令提示符,输入net stop mysql,回车,停止MySQL服务。实现无密码登录接着在命令行输入mysqld --console --sk

2020-12-17 21:17:58 167

原创 在ORANGES的基础上改进操作系统

暑期项目是以于渊《ORANGES:一个操作系统的实现》为基础对其进行改进,博主和bug争斗很久终于勉强完成答辩,为了不让学弟学妹和我当初拿到任务时一样一头雾水,这里记录下我的项目完成过程。详细代码见OS_project一、准备工作在主机上安装一个虚拟机博主的电脑主机是windows系统,关于linux和windows两大系统的纷争在此不再赘述,所以,下载一个虚拟机以配置linux系统。VMware博主下载的VMware Workstation Pro,用着还算流畅,下载安装也很简单,直接百度搜一

2020-08-19 11:17:51 603

python代理池.zip

使用python代理池爬虫亚马逊网站时所需要的redis文件和proxy_pool文件,结合文章https://blog.csdn.net/Qiaozian/article/details/113521867使用

2021-02-01

数据库第六版答案(全)包括两部分

Database System Concepts Sixth Edition,the answer is written in English.

2020-08-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除