概念

django服务器开发框架是一款基于Python编程语言用于web服务器开发的框架,采用的是MTV架构模式进行分层架构。

项目搭建

打开pycharm开发软件,打开开发软件的内置dos窗口操作命令行

在这里指定项目存放的磁盘路径,并使用创建django项目的指令创建当前项目,这里项目中使用django-admin startproject BookSystem 创建了一个项目名为 BookSystem的django服务器项目。

当回车时,只要编辑窗口未显示报错信息,则说明当前项目创建成功,在选择pycharm开发软件的左上角file》open找到打开刚刚创建的项目进行加载出来即可。

加载显示当前项目后,再一次进入内置dos窗口,在当前项目中创建子项目,创建子项目的指令如下:python manage.py startapp Book,执行以上指令,则在当前项目中创建了 Book子项目

将当前子项目名称添加至主项目的setting.py文件中进行管理

在 Book中创建templates文件夹目录,用于存放创建的html模板页面

数据库的迁移还原数据

打开子项目中的models.py文件,创建数据库映射类文件

from django.db import models# Create your models here.
class Book(models.Model):# 书名bookName=models.CharField(max_length=100,blank=True)# 分类type=models.CharField(max_length=20,blank=True)# 出版社bookAddress=models.CharField(max_length=200,blank=True)# 出版日期bookDate=models.CharField(max_length=100,blank=True)# 作者author=models.CharField(max_length=100,blank=True)# 详情信息info=models.TextField()# 图片地址image=models.CharField(max_length=100,blank=True)class Student(models.Model):# 学号number=models.CharField(max_length=10,blank=True)# 姓名name=models.CharField(max_length=20,blank=True)# 密码psd=models.CharField(max_length=20,blank=True)# 手机号phone=models.CharField(max_length=11,blank=True)# 借阅信息表
class UserBookInfo(models.Model):# 学号number=models.CharField(max_length=10,blank=True)# 图书idbookId=models.IntegerField()# 借阅开始时间startDate=models.CharField(max_length=100,blank=True)# 借阅结束时间endDate=models.CharField(max_length=100,blank=True)# 借阅状态state=models.IntegerField()

接着打开内置dos窗口,输入python manage.py makemigrations将以上类模型转换成迁移文件,

然后再输入python manage.py migrate指令将迁移文件转换成对应的数据库表,并通过pycharm开发软件的最右侧的database,将生成的sqlite数据库拖动至其中,并打开能直接观察到以上三个表的结构

给book表添加模拟数据,双击打开book表,选择DDL,进行写入添加数据的sql语句,并执行

insert  into `book`(`bookid`,`bookname`,`type`,`bookaddress`,`bookdate`,`author`,`info`,`image`)
values (1,'《Python编程 从入门到实践 》','编程语言','人民邮电出版社','2016-07-01','[美] 埃里克·马瑟斯(Eric Matthes) 著,袁国忠 译 ','本书是一本针对所有层次的Python读者而作的Python入门书。全书分两部分:首部分介绍用Python 编程所必须了解的基本概念,包括matplotlib、NumPy和Pygal等强大的Python库和工具介绍,以及列表、字典、if语句、类、文件与异常、代码测试等内容;第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的Python 2D游戏开发,如何利用数据生成交互式的信息图,以及创建和定制简单的Web应用,并帮读者解决常见编程问题和困惑。','img1.jpg'),
(2,'《重构 改善既有代码的设计》','编程语言','人民邮电出版社','2019-05-01','[美] 马丁·福勒(Martin Fowler) 著,熊节,林从羽 译 ','本书是经典著作《重构》出版20年后的更新版。书中清晰揭示了重构的过程,解释了重构的原理和实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了60多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。本书提出的重构准则将帮助开发人员一次一小步地修改代码,从而减少了开发过程中的风险。\r\n本书适合软件开发人员、项目管理人员等阅读,也可作为高等院校计算机及相关专业师生的参考读物。','img2.jpg'),
(3,'《漫画算法:小灰的算法之旅》','编程语言','电子工业出版社','2019-05-01','魏梦舒(@程序员小灰) 著 ','本书通过虚拟的主人公小灰的心路历程,用漫画的形式讲述了算法和数据结构的基础知识、复杂多变的算法面试题目及算法的实际应用场景。\r\n第1章 介绍了算法和数据结构的相关概念,告诉大家算法是什么,数据结构又是什么,它们有哪些用途,如何分析时间复杂度,如何分析空间复杂度。\r\n第2章 介绍了最基本的数据结构,包括数组、链表、栈、队列、哈希表的概念和读写操作。\r\n第3章 介绍了树和二叉树的概念、二叉树的各种遍历方式、二叉树的特殊形式——二叉堆和优先队列的应用。\r\n第4章 介绍了几种典型的排序算法,包括冒泡排序、快速排序、堆排序、计数排序、桶排序。\r\n第5章 介绍了10余道职场上流行的算法面试题及详细的解题思路。例如怎样判断链表有环,怎样计算大整数相加等。\r\n第6章 介绍了算法在职场上的一些应用,例如使用LRU算法来淘汰冷数据,使用Bitmap算法来统计用户特征等','img3.jpg'),
(4,'《Python从入门到项目实践》','编程语言','吉林大学出版社','2018-08-01','明日科技(MingRi Soft) 著,明日科技 编 ','《Python 从入门到项目实践》 一书从入门学习者的角度出发,通过简洁有趣的语言、丰富多彩的实例、挑战大脑的任务、贴近开发实战的项目,循序渐进地让读者在实践中学习,在实践中提升实际开发能力。全书共分7 篇:基础篇、进阶篇、高级篇、框架篇、游戏开发篇、人工智能开发篇和商业项目篇,内容包括:踏上Python 之旅、熟悉PyCharm 开发环境、Python 输入与输出、变量与基本数据类型、运算符、列表和元组、字符串与正则表达式、流程控制、循环结构语句、字典与集合、类和对象、模块、文件与IO、使用Python 操作数据库、进程和线程、网络编程、异常处理与程序调试、常用的GUI 框架、pygame 游戏框架、网络爬虫框架、Flask Web 框架的使用、Django Web 框架的使用、谷歌小恐龙游戏、飞机大战游戏、微信跳一跳辅助工具、汽车之家图片抓取工具、AI 图像识别工具、e 起去旅行网站、看店宝(京东版)。本书不仅会带您畅游于Python 开发的精彩世界,启迪编程思维,更能让您领略Python 迷人的开发魅力!\r\n  为方便读者随时随地学习,本书提供了同步视频课程,既可以扫描二维码手机同步学习,也可以下载后在PC 端学习;基础知识部分章节后还提供了有趣的实战任务,读者可以边学边练,巩固所学知识;云盘资源包中给出了实例和项目源码,方便读者学习使用;附赠的函数参考手册中提供了Python 常用内置函数的语法、功能和应用,供读者查询使用;明日学院网站(www.mingrisoft.com)提供了本书配套的答题闯关在线测试,可以及时检测学习成果;登录“明日学院” 网站还可以获取更多学习资源和技术支持。 ','img4.jpg'),
(5,'《算法导论》','编程语言','机械工业出版社','2012-12-01','[美] Thomas H.Cormen,[美] Charles E.Leiserson,[美] Ronald L.Rivest,[美] Clifford Stein 著,殷建平,徐云,王刚 等 译 ','在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性。《算法导论(原书第3版)/计算机科学丛书》将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。\r\n  《算法导论(原书第3版)/计算机科学丛书》全书选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据结构课程和研究生的算法课程都是非常实用的教材,在IT专业人员的职业生涯中,《算法导论(原书第3版)/计算机科学丛书》也是一本案头必备的参考书或工程实践手册。\r\n  第3版的主要变化:\r\n  ·新增了van Emde Boas树和多线程算法,并且将矩阵基础移至附录。\r\n  ·修订了递归式(现在称为“分治策略”)那一章的内容,更广泛地覆盖分治法。\r\n  ·移除两章很少讲授的内容:二项堆和排序网络。\r\n  ·修订了动态规划和贪心算法相关内容。\r\n  ·流网络相关材料现在基于边上的全部流。\r\n  ·由于关于矩阵基础和Strassen算法的材料移到了其他章,矩阵运算这一章的内容所占篇幅更小。\r\n  ·修改了对Knuth-Morris-Pratt字符串匹配算法的讨论。\r\n  ·新增100道练习和28道思考题,还更新并补充了参考文献。','img5.jpg'),
(6,'《Java编程思想》','编程语言','机械工业出版社','2007-06-01','[美] Bruce Eckel 著,陈昊鹏 译 ','《计算机科学丛书:Java编程思想(第4版)》赢得了全球程序员的广泛赞誉,即使是晦涩的概念,在BruceEckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。\r\n  从《计算机科学丛书:Java编程思想(第4版)》获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、JavaI/O系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了Java语言基础语法以及高级特性,适合各个层次的Java程序员阅读,同时也是高等院校讲授面向对象程序设计语言以及Java语言的好教材和参考书。\r\n  《计算机科学丛书:Java编程思想(第4版)》特点:\r\n  适合初学者与专业人员的经典的面向对象叙述方式,为更新的JavaSE5/6增加了新的示例和章节。\r\n  测验框架显示程序输出。\r\n  设计模式贯穿于众多示例中:适配器、桥接器、职责链、命令、装饰器、外观、工厂方法、享元、点名、数据传输对象、空对象、代理、单例、状态、策略、模板方法以及访问者。\r\n  为数据传输引入了XML,为用户界面引入了SWT和Flash。\r\n  重新撰写了有关并发的章节,有助于读者掌握线程的相关知识。\r\n  专门为第4版以及JavaSE5/6重写了700多个编译文件中的500多个程序。\r\n  支持网站包含了所有源代码、带注解的解决方案指南、网络日志以及多媒体学习资料。\r\n  覆盖了所有基础知识,同时论述了高级特性。\r\n  详细地阐述了面向对象原理。\r\n  在线可获得Java讲座CD,其中包含BruceEckel的全部多媒体讲座。\r\n  在网站上可以观看现场讲座、咨询和评论。\r\n  专门为第4版以及JavaSE5/6重写了700多个编译文件中的500多个程序。\r\n  支持网站包含了所有源代码、带注解的解决方案指南、网络日志以及多媒体学习资料。\r\n  覆盖了所有基础知识,同时论述了高级特性。\r\n  详细地阐述了面向对象原理。','img6.jpg'),
(7,'《Python核心编程》','编程语言','人民邮电出版社','2016-05-01','[美] Wesley Chun 著,孙波翔,李斌,李晗 译 ','《Python核心编程(第3版)》是经典畅销图书《Python核心编程(第二版)》的全新升级版本,总共分为3部分。第1部分为讲解了Python的一些通用应用,包括正则表达式、网络编程、Internet客户端编程、多线程编程、GUI编程、数据库编程、Microsoft Office编程、扩展Python等内容。第2部分讲解了与Web开发相关的主题,包括Web客户端和服务器、CGI和WSGI相关的Web编程、Django Web框架、云计算、高级Web服务。第3部分则为一个补充/实验章节,包括文本处理以及一些其他内容。  《Python核心编程(第3版)》适合具有一定经验的Python开发人员阅读。','img7.jpg'),
(8,'《利用Python进行数据分析》','编程语言','机械工业出版社','2018-08-01','[美] 韦斯·麦金尼(Wes McKinney) 著,徐敬一 译 ','本书由Python pandas项目创始人Wes McKinney亲笔撰写,详细介绍利用Python进行操作、处理、清洗和规整数据等方面的具体细节和基本要点。第2版针对Python 3.6进行全面修订和更新,涵盖新版的pandas、NumPy、IPython和Jupyter,并增加大量实际案例,可以帮助你高效解决一系列数据分析问题。\r\n\r\n第2版中的主要更新包括:\r\n\r\n?所有的代码,包括把Python的教程更新到了Python 3.6版本(第1版中使用的是Python 2.7)\r\n\r\n?更新了Python第三方发布版Anaconda和其他所需Python包的安装指引\r\n\r\n?更新pandas库到2017年的新版\r\n\r\n?新增一章,关于更多高级pandas工具和一些使用提示\r\n\r\n?新增statsmodels和scikit-learn的简明使用介绍','img8.jpg'),
(9,'《Python编程快速上手》','编程语言','人民邮电出版社','2016-07-01','[美] Al Sweigart(斯维加特) 著,王海鹏 译 ','如今,人们面临的大多数任务都可以通过编写计算机软件来完成。Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。通过Python编程,我们能够解决现实生活中的很多任务。\r\n  本书是一本面向实践的Python编程实用指南。本书的目的,不仅是介绍Python语言的基础知识,而且还通过项目实践教会读者如何应用这些知识和技能。本书的首部分介绍了基本Python编程概念,第二部分介绍了一些不同的任务,通过编写Python程序,可以让计算机自动完成它们。第二部分的每一章都有一些项目程序,供读者学习。每章的末尾还提供了一些习题和深入的实践项目,帮助读者巩固所学的知识。附录部分提供了所有习题的解答。\r\n  本书适合任何想要通过Python学习编程的读者,尤其适合缺乏编程基础的初学者。通过阅读本书,读者将能利用强大的编程语言和工具,并且会体会到Python编程的快乐。 ','img9.jpg'),
(10,'《Spring Boot编程思想》','编程语言','电子工业出版社','2019-04-01','小马哥 著 ','《Spring Boot编程思想(核心篇)》是《Spring Boot 编程思想》的核心篇,开篇总览Spring Boot核心特性,接着讨论自动装配(Auto-Configuration)与SpringApplication。全书的讨论以Spring Boot为中心,议题发散至Spring技术栈、JSR及Java。希望透过全局的视角,帮助读者了解Spring Boot变迁的历程;经过多方的比较,帮助读者理解Spring Boot特性的原理;整合标准的规范,帮助读者掌握Spring Boot设计的哲学。\r\n\r\n  《Spring Boot编程思想(核心篇)》适合对Spring Boot感兴趣的读者阅读。','img10.jpg'),
(11,'《代码整洁之道》','编程语言','人民邮电出版社','2010-01-01','[美] 马丁 著,韩磊 译 ','软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相关。这一点,无论是敏捷开发流派还是传统开发流派,都不得不承认。《代码整洁之道》提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,《代码整洁之道》作者给出了一系列行之有效的整洁代码操作实践。这些实践在《代码整洁之道》中体现为一条条规则(或称“启示”),并辅以来自现实项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。\r\n  《代码整洁之道》阅读对象为一切有志于改善代码质量的程序员及技术经理。书中介绍的规则均来自作者多年的实践经验,涵盖从命名到重构的多个编程方面,虽为一“家”之言,然诚有可资借鉴的价值。','img11.jpg'),
(12,'《Effective Java中文版》','编程语言','机械工业出版社','2019-01-01','约书亚·布洛克(Joshua Bloch) 著,俞黎敏 译 ','Java之父James Gosling鼎力推荐、Jolt获奖作品全新升级,针对Java 7、8、9全面更新,Java程序员必备参考书。包含大量完整的示例代码和透彻的技术分析,通过90条经验法则,探索新的设计模式和语言习惯用法,帮助读者更加有效地使用Java编程语言及其基本类库。\r\n\r\n全书共12章,90条。第1章为引言;第2章阐述何时以及如何创建和避免创建对象,如何确保对象能够适时地销毁,以及如何管理对象销毁之前必须进行的各种清除动作;第3章阐述所有对象都通用的方法,如equals、hashCode、toString、clone和finalize以及Comparable.compareTo方法等;第4章阐述作为Java语言的核心以及Java语言的基本抽象单元(类和接口)在使用上的一些指导原则,以设计出更加有用、健壮和灵活的类与接口;第5章和第6章分别阐述在Java 1.5发行版本中新增加的泛型、枚举和注解的*佳实践,教你如何*大限度地享有这些优势;第7章讨论在Java 8中新增的函数接口、Lambda、方法引用,和为处理数据元素的序列提供类库级别支持的Stream API;第8章讨论方法设计的几个方面:如何处理参数和返回值,如何设计方法签名,如何为方法编写文档,从而使方法设计在可用性、健壮性和灵活性上有进一步的提升;第9章主要讨论Java语言的具体细节,包括局部变量的处理、控制结构、类库的使用、各种数据类型的用法、反射机制和本地方法的用法,以及优化和命名惯例;第10章阐述如何充分发挥异常的优点来提高程序的可读性、可靠性和可维护性,以及减少异常使用不当所带来的负面影响,并提供了一些关于有效使用异常的指导原则;第11章阐述写出清晰、正确、文档组织良好的并发程序;第12章讲解序列化方面的技术,其中包括序列化代理模式,它可以帮助你避免对象序列化的许多缺陷。','img12.jpg'),
(13,'《深入理解Java虚拟机》','编程语言','机械工业出版社','2013-05-01','周志明 著 ','本书第1版两年内印刷近10次,4家网上书店的评论近4?000条,98%以上的评论全部为5星级的好评,是整个Java图书领域公认的经典著作和超级畅销书,繁体版在台湾也十分受欢迎。第2版在第1版的基础上做了很大的改进:根据*的JDK1.7对全书内容进行了全面的升级和补充;增加了大量处理各种常见JVM问题的技巧和*实践;增加了若干与生产环境相结合的实战案例;对第1版中的错误和不足之处的修正;等等。第2版不仅技术更新、内容更丰富,而且实战性更强。\r\n\r\n全书共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。*部分从宏观的角度介绍了整个Java技术体系、Java和JVM的发展历程、模块化,以及JDK的编译,这对理解本书后面内容有重要帮助。第二部分讲解了JVM的自动内存管理,包括虚拟机内存区域的划分原理以及各种内存溢出异常产生的原因;常见的垃圾收集算法以及垃圾收集器的特点和工作原理;常见虚拟机监控与故障处理工具的原理和使用方法。第三部分分析了虚拟机的执行子系统,包括类文件结构、虚拟机类加载机制、虚拟机字节码执行引擎。第四部分讲解了程序的编译与代码的优化,阐述了泛型、自动装箱拆箱、条件编译等语法糖的原理;讲解了虚拟机的热点探测方法、HotSpot的即时编译器、编译触发条件,以及如何从虚拟机外部观察和分析JIT编译的数据和结果;第五部分探讨了Java实现高效并发的原理,包括JVM内存模型的结构和操作;原子性、可见性和有序性在Java内存模型中的体现;先行发生原则的规则和使用;线程在Java语言中的实现原理;虚拟机实现高效并发所做的一系列锁优化措施。','img13.jpg'),
(14,'《算法》','编程语言','人民邮电出版社','2012-10-01','[美] Robert Sedgewick,[美] Kevin Wayne 著,谢路云 译 ','《算法(第4版)》全面讲述算法和数据结构的必备知识,具有以下几大特色。\r\n  1、 算法领域的经典参考书:Sedgewick畅销著作的新版,反映了经过几十年演化而成的算法核心知识体系\r\n  2、内容全面:全面论述排序、搜索、图处理和字符串处理的算法和数据结构,涵盖每位程序员应知应会的50种算法\r\n  3、全新修订的代码:全新的Java实现代码,采用模块化的编程风格,所有代码均可供读者使用\r\n  4、与实际应用相结合:在重要的科学、工程和商业应用环境下探讨算法,给出了算法的实际代码,而非同类著作常用的伪代码\r\n  5、富于智力趣味性:简明扼要的内容,用丰富的视觉元素展示的示例,精心设计的代码,详尽的历史和科学背景知识,各种难度的练习,这一切都将使读者手不释卷\r\n  6、科学的方法:用合适的数学模型讨论算法性能,这些模型是在真实环境中得到验证的\r\n  7、与网络相结合:配套网站algs4.cs.princeton.edu提供了本书内容的摘要及相关的代码、测试数据、编程练习、教学课件等资源','img14.jpg'),
(15,'《Java核心技术》','编程语言','机械工业出版社','2016-09-01','[美] 凯 S.霍斯特曼(Cay S.Horstmann) 著 ','Java领域*有影响力和价值的著作之一,由拥有20多年教学与研究经验的资深Java技术专家撰写(获Jolt大奖),与《Java编程思想》齐名,10余年全球畅销不衰,广受好评。第10版根据Java SE 8全面更新,同时修正了第9版中的不足,系统全面讲解了Java语言的核心概念、语法、重要特性和开发方法,包含大量案例,实践性强。   本书共14章。第1章概述Java语言与其他程序设计语言不同的性能;第2章讲解如何下载和安装JDK及本书的程序示例;第3章介绍变量、循环和简单的函数;第4章讲解类和封装;第5章介绍继承;第6章解释接口和内部类;第7章讨论异常处理,并给出大量实用的调试技巧;第8章概要介绍泛型程序设计;第9章讨论Java平台的集合框架;第10章介绍GUI程序设计,讨论如何建立窗口、如何在窗口中绘图、如何利用几何图形绘图、如何采用多种字体格式化文本,以及如何显示图像;第11章详细讨论抽象窗口工具包的事件模型;第12章详细讨论Swing GUI工具包;第13章介绍如何将程序部署为应用或applet;第14章讨论并发。本书最后还有一个附录,其中列出了Java语言的保留字。','img15.jpg'),
(16,'《Python基础教程》','编程语言','人民邮电出版社','2018-02-01','Magnus Lie Hetland 著,袁国忠 译 ','本书包括Python程序设计的方方面面:首先从Python的安装开始,随后介绍了Python的基础知识和基本概念,包括列表、元组、字符串、字典以及各种语句;然后循序渐进地介绍了一些相对高级的主题,包括抽象、异常、魔法方法、属性、迭代器;此后探讨了如何将Python与数据库、网络、C语言等工具结合使用,从而发挥出Python的强大功能,同时介绍了Python程序测试、打包、发布等知识;最后,作者结合前面讲述的内容,按照实际项目开发的步骤向读者介绍了10个具有实际意义的Python项目的开发过程。','img16.jpg'),
(17,'《编程珠玑》','编程语言','人民邮电出版社','2015-01-01','[美] 乔恩·本特利(Jon Bentley) 著,黄倩,钱丽艳 译,刘田 校 ','《编程珠玑(第2版·修订版)》是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者JonBentley以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。《编程珠玑(第2版·修订版)》对各个层次的程序员都具有很高的阅读价值。','img17.jpg'),
(18,'《Java从入门到精通》','编程语言','清华大学出版社','2019-02-01','明日科技 著','《Java从入门到精通(第5版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java语言进行程序开发需要掌握的知识。全书分为27章,包括初识Java,熟悉Eclipse开发工具,Java语言基础,流程控制,字符串,数组,类和对象,包装类,数字处理类,接口、继承与多态,类的高级特性,异常处理,Swing程序设计,集合类,I/O(输入/输出),反射,枚举类型与泛型,多线程,网络通信,数据库操作,Swing表格组件,Swing树组件,Swing其他高级组件,高级事件处理,AWT绘图,奔跑吧小恐龙和企业进销存管理系统等。','img18.jpg'),
(19,'《码农翻身:用故事给技术加点料》','编程语言','电子工业出版社','2018-06-01','刘欣(@码农翻身) 著 ','\r\n\r\n《码农翻身》用故事的方式讲解了软件编程的若干重要领域,侧重于基础性、原理性的知识。\r\n\r\n《码农翻身》分为6章。\r\n\r\n第1章讲述计算机的基础知识;\r\n\r\n第2章侧重讲解Java的基础知识;\r\n\r\n第3章偏重Web后端编程;\r\n\r\n第4章讲解代码管理的本质;\r\n\r\n第5章讲述了JavaScript的历史、Node.js的原理、程序的链接、命令式和声明式编程的区别,以及作者十多年来使用各种编程语言的感受;\r\n\r\n第6章是作者的经验总结和心得体会,包括职场发展的注意事项、作为架构师的感想、写作的好处等。\r\n\r\n《码农翻身》不是一本编程的入门书,对编程一窍不通的“纯小白”可能看不明白,可能会失望。但稍有编程基础的读者读起来会非常畅快,读后会有一种“原来如此”的感觉。\r\n','img19.jpg'),
(20,'《笨办法学Python 3 》','编程语言','人民邮电出版社','2018-06-01','[美] 泽德·A.肖(Zed A.Shaw) 著,王巍巍 译 ','本书是一本Python入门书,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用。这本书以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。本书是基于Python 3.6版本编写的。\r\n本书结构非常简单,除“准备工作”之外,还包括52个习题,其中26个覆盖了输入/输出、变量和函数3个主题,另外26个覆盖了一些比较进阶的话题,如条件判断、循环、类和对象、代码测试及项目的实现等。每一章的格式基本相同,以代码习题开始,按照说明编写代码,运行并检查结果,然后再做附加练习。','img20.jpg'),
(21,'《C++ Primer Plus》','编程语言','人民邮电出版社','2012-06-01','[美] Stephen Prata 著,张海龙,袁国忠 译 ','C++是在C语言基础上开发的一种集面向对象编程、通用编程和传统的过程化编程于一体的编程语言,是C语言的超集。《C++ Primer Plus(第6版)(中文版)》是根据2003年的ISO/ANSI C++标准编写的。通过大量短小精悍的程序详细而全面地阐述了C++的基本概念和技术。全书分为18章和10个附录,分别介绍了C++程序的运行方式、基本数据类型、复合数据类型、循环和关系表达式、分支语句和逻辑操作符、函数重载和函数模板、内存模型和名称空间、类的设计和使用、多态、虚函数、动态内存分配、继承、代码重用、友元、异常处理技术、string类和标准模板库、输入/输出等内容。本书针对C++初学者,从C语言基础知识开始介绍,然后在此基础上详细阐述C++新增的特性,因此不要求读者有较多C语言方面的背景知识。本书可以作为高等院校C++课程的教材,也可以供初学者自学C++时使用。','img21.jpg'),
(22,'《流畅的Python》','编程语言','人民邮电出版社','2017-05-01','[巴西] Luciano Ramalho 著,安道,吴珂 译 ','本书致力于帮助Python开发人员挖掘这门语言及相关程序库的优秀特性,避免重复劳动,同时写出简洁、流畅、易读、易维护,并且具有地道Python风格的代码。本书尤其深入探讨了Python语言的高级用法,涵盖数据结构、Python风格的对象、并行与并发,以及元编程等不同的方面。','img22.jpg'),
(23,'《Spring Cloud与Docker微服务架构》','编程语言','电子工业出版社','2018-07-01','周立 著 ','本书基于Spring Cloud Edgware RELEASE 与Docker 17.09,以指导技术团队实现微服务架构落地为宗旨,覆盖微服务理论、微服务开发框架(Spring Cloud)及运行平台(Docker)三大主题。全书分为3部分,第1部分对微服务架构进行系统介绍;第2部分使用Spring Cloud 开发框架编写一个“电影售票系统”;第3部分讲解如何将微服务应用运行在Docker 之上。全书采用精心设计的Demo 驱动,以连贯的场景、真实的代码示例来引导读者学习用强大的微服务技术实现架构设计。作为第2版,本书增补大量新版本框架独有的技术特性及其技巧、用例,以帮助读者避开升级中可能遇到的困难与陷阱。\r\n\r\n  本书适合Java 工程师、架构师及运维人员及技术爱好者阅读。','img23.jpg'),
(24,'《JavaScript高级程序设计》','编程语言','人民邮电出版社','2012-03-01','[美] Nicholas C.Zakas 著,李松峰,曹力 译 ','作为JavaScript技术经典名著,《JavaScript高级程序设计(第3版)》承继了之前版本全面深入、贴近实战的特点,在详细讲解了JavaScript语言的核心之后,条分缕析地为读者展示了现有规范及实现为开发Web应用提供的各种支持和特性。\r\n  《JavaScript高级程序设计(第3版)》主要内容包括:\r\n  对JavaScript实现各个组成部分的详尽解读;\r\n  对JavaScript面向对象编程的全方位阐述;\r\n  对DOM、BOM及浏览器事件模型的透彻剖析;\r\n  Web应用基本数据格式JSON、XML及其存取;\r\n  Ajax、Comet服务器端通信和基于File API的拖放式文件上传;\r\n  ECMAScript 5定义的新核心语言特性;\r\n  HTML5涵盖的表单、媒体、Canvas(包括WebGL);\r\n  Selectors、Web? Workers、地理定位及跨文档传递消息等新API;\r\n  离线应用及客户端存储(包括IndexedDB);\r\n  维护、性能、部署相关的开发实践;\r\n  新兴API及ECMAScript Harmony展望。\r\n  《JavaScript高级程序设计(第3版)》适合有一定编程经验的Web应用开发人员阅读,也可作为高校及社会实用技术培训相关专业课程的教材。','img24.jpg'),
(25,'《Java EE互联网轻量级框架整合开发》','编程语言','电子工业出版社','2017-07-01','杨开振,周吉文,梁华辉,谭茂华 著 ','随着移动互联网的兴起,以Java技术为后台的互联网技术占据了市场的主导地位,而在Java互联网后台开发中,SSM框架(Spring+Spring MVC+MyBatis)成为了主要架构,本书以此为焦点从入门到实际工作要求讲述了SSM框架的技术应用;与此同时,为了提高系统性能,NoSQL(尤其是Redis)在互联网系统中已经广泛使用,为了适应这个变化,本书通过Spring讲解了有关Redis的技术应用,这样更加贴近实际学习和工作的需要。\r\n  本书主要分为6个部分,第1部分对Java互联网的框架和主要涉及的模式做初步简介;第2部分讲述MyBatis技术;第3部分讲述Spring基础(包括IoC、AOP和数据库应用),重点讲解Spring数据库事务应用,以满足互联网企业的应用要求;第4部分,讲述Spring MVC框架;第5部分,通过Spring技术的应用,讲解Redis技术;第6部分,讲解SSM+Redis实践应用,通过互联网高并发如抢票、抢红包等场景,使用全注解的方式讲解SSM框架的整合,以及高并发与锁的应用和系统性能优化。\r\n  本书结合企业的实际需求,从原理到实践全面讲解SSM+Redis技术应用,无论你是Java程序员、SSM应用和研究人员,还是Redis应用人员、互联网开发人员,都可以从本书中收获知识。','img25.jpg'),
(26,'《Spring微服务实战 》','编程语言','人民邮电出版社','2018-06-01','[美] 约翰·卡内尔(John Carnell) 著 ','本书以一个名为EagleEye的项目为主线,介绍云、微服务等概念以及Spring Boot和Spring Cloud等诸多Spring项目,并介绍如何将EagleEye项目一步一步地从单体架构重构成微服务架构,进而将这个项目拆分成众多微服务,让它们运行在各自的Docker容器中,实现持续集成/持续部署,并最终自动部署到云环境(美亚)中。针对在重构过程中遇到的各种微服务开发会面临的典型问题(包括开发、测试和运维等问题),本书介绍了解决这些问题的核心模式,以及在实战中如何选择特定Spring Cloud子项目或其他工具解决这些问题。\r\n\r\n\r\n本书适合拥有构建分布式应用程序的经验、拥有Spring的知识背景以及对学习构建基于微服务的应用程序感兴趣的Java开发人员阅读。对于希望使用微服务构建基于云的应用程序,以及希望了解如何将基于微服务的应用部署到云上的开发人员,本书也具有很好的学习参考价值。','img26.jpg'),
(27,'《Spring源码深度解析》','编程语言','人民邮电出版社','2019-01-01','郝佳 著 ','《Spring源码深度解析(第2版)》从核心实现、企业应用和Spring Boot这3个方面,由浅入深、由易到难地对Spring源码展开了系统的讲解,包括Spring 整体架构和环境搭建、容器的基本实现、默认标签的解析、自定义标签的解析、bean的加载、容器的功能扩展、AOP、数据库连接JDBC、整合MyBatis、事务、SpringMVC、远程服务、Spring消息、Spring Boot体系原理等内容。\r\n《Spring源码深度解析(第2版)》不仅介绍了使用Spring框架开发项目必须掌握的核心概念,还指导读者使用Spring框架编写企业级应用,并针对在编写代码的过程中如何优化代码、如何使得代码高效给出了切实可行的建议,从而帮助读者全面提升实战能力。\r\n《Spring源码深度解析(第2版)》语言简洁,示例丰富,可帮助读者迅速掌握使用Spring进行开发所需的各种技能。本书适合于已具有一定Java编程基础的读者,以及在Java平台下进行各类软件开发的开发人员、测试人员等。','img27.jpg'),
(28,'《Python经典实例 》','编程语言','人民邮电出版社','2019-03-01','[美] 史蒂文·F.洛特 著,闫兵 译 ','本书是Python经典实例解析,采用基于实例的方法编写,每个实例都会解决具体的问题和难题。主要内容有:数字、字符串和元组,语句与语法,函数定义,列表、集、字典,用户输入和输出等内置数据结构,类和对象,函数式和反应式编程,Web服务,等等。','img28.jpg'),
(29,'《Scratch 3.0少儿游戏趣味编程 》','编程语言','人民邮电出版社','2019-04-01','李强,李若瑜 著 ','本书通过讲解用Scratch 3.0 编写15 款有趣的小游戏和小程序的开发过程,由浅入深地向读者介绍Scratch 3.0 编程的基本技术以及程序设计的基本思维和方法。\r\n全书共8章和1个附录。第1 章带领读者认识Scratch 3.0,第2 章介绍Scratch 3.0 编程中用到的一些基本的概念。第3 章和第4 章分别介绍几个初级难度游戏的编写过程。第5章介绍4款中级难度游戏的编写过程。第6 章、第7 章和第8 章分别介绍一款高级难度游戏的编写过程。附录给出了Scratch 3.0 中常用的编程积木的列表和说明,可供读者在需要时查阅。本书适合中小学信息技术课教师或培训老师、想要让孩子学习Scratch 的家长阅读参考,也非常适合小学生或初中学生自学。','img29.jpg'),
(30,'《Python算法教程 》','编程语言','人民邮电出版社','2016-01-01','[挪威] 赫特兰(Magnus Lie Hetland) 著,凌杰,陆禹淳,顾俊 译 ','Python是一种面向对象、解释型计算机程序设计语言,其应用领域非常广泛,包括数据分析、自然语言处理、机器学习、科学计算以及推荐系统构建等。\r\n本书用Python语言来讲解算法的分析和设计。本书主要关注经典的算法,但同时会为读者理解基本算法问题和解决问题打下很好的基础。全书共11章。分别介绍了树、图、计数问题、归纳递归、遍历、分解合并、贪心算法、复杂依赖、Dijkstra算法、匹配切割问题以及困难问题及其稀释等内容。本书在每一章结束的时候均有练习题和参考资料,这为读者的自我检查以及进一步学习提供了较多的便利。在全书的结尾,给出了练习题的提示,方便读者进行查漏补缺。\r\n本书概念和知识点讲解清晰,语言简洁。本书适合对Python算法感兴趣的初中级用户阅读和自学,也适合高等院校的计算机系学生作为参考教材来阅读。','img30.jpg'),
(31,'《程序员代码面试指南》','编程语言','电子工业出版社','2019-01-01','左程云 著 ','《程序员代码面试指南(第2版)》是一本程序员代码面试宝典!书中对IT名企代码面试各类题目的至优解进行了总结,并提供了相关代码实现。针对当前程序员面试缺乏题目汇总这一痛点,本书选取将近200道真实出现过的经典代码面试题,帮助广大程序员做充分的面试准备。“刷”完本书后,你就是“题王”!\r\n\r\n《程序员代码面试指南(第2版)》采用“题目+解答”的方式组织内容,并把面试题类型相近或者解法相近的题目尽量放在一起,读者在学习本书时很容易看出面试题解法之间的联系,使知识的学习避免碎片化。本书将所有的面试题从难到易依次分为“将”“校”“尉”“士”四个档次,方便读者有针对性地选择“刷”题。本书收录的所有面试题都给出了至优解讲解和代码实现,并且提供了一些普通解法和至优解法的运行时间对比,让读者真切地感受到至优解的魅力!\r\n\r\n《程序员代码面试指南:(第2版)》中的题目全面且经典,更重要的是,书中收录了大量新题目和至优解分析,这些内容源自笔者多年来“死磕自己”的深入思考。\r\n\r\n程序员们做好准备在IT名企的面试中脱颖而出、一举成名了吗?《程序员代码面试指南(第2版)》就是你应该拥有的“神兵利器”。当然,对需要提升算法和数据结构等方面能力的程序员而言,《程序员代码面试指南(第2版)》的价值也是显而易见的。','img31.jpg'),
(32,'《Python自然语言处理 》','编程语言','人民邮电出版社','2014-06-01','[美] Steven,Bird Ewan,Klein Edward,Loper 著,陈涛,张旭,崔杨,刘海平 译 ','自然语言处理(Natural Language Processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能够实现人与计算机之间用自然语言进行有效通信的各种理论和方法,涉及所有用计算机对自然语言进行的操作。\r\n  《Python自然语言处理》是自然语言处理领域的一本实用入门指南,旨在帮助读者学习如何编写程序来分析书面语言。《Python自然语言处理》基于Python编程语言以及一个名为NLTK的自然语言工具包的开源库,但并不要求读者有Python编程的经验。全书共11章,按照难易程度顺序编排。第1章到第3章介绍了语言处理的基础,讲述如何使用小的Python程序分析感兴趣的文本信息。第4章讨论结构化程序设计,以巩固前面几章中介绍的编程要点。第5章到第7章介绍语言处理的基本原理,包括标注、分类和信息提取等。第8章到第10章介绍了句子解析、句法结构识别和句意表达方法。第11章介绍了如何有效管理语言数据。后记部分简要讨论了NLP领域的过去和未来。\r\n  《Python自然语言处理》的实践性很强,包括上百个实际可用的例子和分级练习。《Python自然语言处理》可供读者用于自学,也可以作为自然语言处理或计算语言学课程的教科书,还可以作为人工智能、文本挖掘、语料库语言学等课程的补充读物。','img32.jpg'),
(33,'《大话数据结构 》','编程语言','清华大学出版社','2011-06-01','程杰 著 ','《大话数据结构》为超级畅销书《大话设计模式》作者程杰潜心三年推出的扛鼎之作!以一个计算机教师教学为场景,讲解数据结构和相关算法的知识。通篇以一种趣味方式来叙述,大量引用了各种各样的生活知识来类比,并充分运用图形语言来体现抽象内容,对数据结构所涉及到的一些经典算法做到逐行分析、多算法比较。与市场上的同类数据结构图书相比,本书内容趣味易读,算法讲解细致深刻,是一本非常适合自学的读物。','img33.jpg'),
(34,'《 Python零基础入门学习》','编程语言','清华大学出版社','2019-04-01','小甲鱼 李佳宇 著 著 ','小甲鱼畅销图书重磅升级,针对Python 3.7,通过生动的实例,让读者在实践中理解概念,在轻松、愉快中学会Python!','img34.jpg'),
(35,'《你不知道的JavaScript 》','编程语言','人民邮电出版社','2018-01-01','[美] 凯尔·辛普森(Kyle Simpson) 著,单业 译 ','JavaScript这门语言简单易用,很容易上手,但其语言机制复杂微妙,即使是经验丰富的JavaScript开发人员,如果没有认真学习的话也无法真正理解。本套书直面当前JavaScript开发人员不求甚解的大趋势,深入理解语言内部的机制,全面介绍了JavaScript中常被人误解和忽视的重要知识点。本书是其下卷,主要介绍了JavaScript入门知识和对ES6及未来发展趋势的展望。\r\n本书既适合JavaScript语言初学者了解其精髓,又适合经验丰富的JavaScript开发人员深入学习。','img35.jpg'),
(36,'《Java高并发编程详解》','编程语言','机械工业出版社','2018-05-01','汪文君 著 著 ','本书主要包含四个部分:\r\n部分主要阐述Thread的基础知识,详细介绍线程的API使用、线程安全、线程间数据通信,以及如何保护共享资源等内容,它是深入学习多线程内容的基础。\r\n第二部分引入了ClassLoader,这是因为ClassLoader与线程不无关系,我们可以通过synchronized关键字,或者Lock等显式锁的方式在代码的编写阶段对共享资源进行数据一致性保护,那么一个Class在完成初始化的整个过程到后在方法区(JDK8 以后在元数据空间)其数据结构是怎样确保数据一致性的呢?这就需要对ClassLoader有一个比较全面的认识和了解。\r\n第三部分详细、深入地介绍volatile关键字的语义,volatile关键字在Java中非常重要,可以说它奠定了Java核心并发包的高效运行,在这一部分中,我们通过实例展示了如何使用volatile关键字以及非常详细地介绍了Java内存模型等知识。\r\n本书的第四部分,站在程序架构设计的角度深入讲解了如何设计高效灵活的多线程应用程序,这一部分长达15个章节,其重要程度可见一斑。','img36.jpg'),
(37,'《Python学习手册》','编程语言','机械工业出版社','2018-11-01','马克·卢茨(Mark Lutz) 著 ','本书将帮助你使用Python编写出高质量、高效的并且易于与其他语言和工具集成的代码。本书根据Python专家Mark Lutz的著名培训课程编写而成,是易于掌握和自学的Python教程。\r\n\r\n本书每一章都对Python语言的关键内容做单独讲解,并且配有章后习题、编程练习及详尽的解答,还配有大量注释的示例以及图表,便于你学习新的技能并巩固加深自己的理解。第5版基于Python2.7和3.3版本,同时也适用于其他Python版本。无论你是编程新手还是其他编程语言的资深开发者,本书都会是你学习Python的理想选择。\r\n\r\n\r\n本书主要内容:\r\n\r\n* 学习Python的主要内置对象类型,如数字、列表和字典。\r\n\r\n* 使用Python语句创建和处理对象,并学习Python的通用语法模型。\r\n\r\n* 使用函数减少代码冗余,使用包代码结构实现代码重用。\r\n\r\n* 学习Python模块,从而封装语句、函数和其他工具,以便构建大型组件。\r\n\r\n* 学习类,即Python用于组织代码的面向对象编程工具。\r\n\r\n* 使用Python的异常处理模型和开发工具编写大型程序。\r\n\r\n* 学习高级Python工具,包括装饰符、描述符、元类和Unicode的处理等。','img37.jpg'),
(38,'《疯狂Python讲义 》','编程语言','电子工业出版社','2018-12-01','李刚 著 ','《疯狂Python讲义》既是一本适合初学者入门Python的图书(一个8岁的小朋友在未出版前已学习了本书很多章节并动手写出了自己的程序);这也是一本适合Python就业的图书,因为本书涵盖了网络编程、数据分析、网络爬虫等大量企业实用的知识。\r\n\r\n《疯狂Python讲义》全面而深入介绍了Python编程的相关内容,全书内容大致可分为四个部分,第一部分系统讲解了Python的基本语法结构、Python的函数编程、Python的类和对象、模块和包、异常处理等核心语法;第二部分主要介绍Python常用的内置模块和包,这部分包括Python的JSON、正则表达式支持、容器相关类、collections包、Tkinter GUI编程、IO编程、数据库编程、并发编程、网络通信编程等内容,这部分内容既是掌握Python编程的核心,也是Python进阶的关键基础;第三部分主要介绍Python开发工程化方面的内容,包括如何为Python程序编写符合格式的文档注释、提取文档注释生成帮助文档,为Python程序编写测试用例,程序打包等内容;第四部分则属于“Python项目实战”,这部分引入了pygame、Matplotlib、Pygal、Scrapy这些第三方的包,通过项目介绍了Python游戏开发、大数据展示、网络爬虫等热门技能,尤其是网络爬虫和大数据展示,绝对是当下Python至热的就业岗位。\r\n\r\n与“疯狂体系”图书类似,虽然我会尽量让《疯狂Python讲义》的讲解通俗易懂(毕竟一个8岁的小朋友也能阅读此书),但我创作“疯狂体系”图书的初衷从来就不是“简单”和“入门”,本书所覆盖的Python的深度和广度,是很多书籍所不能比拟的,《疯狂Python讲义》涉及大量实用案例开发:五子棋游戏、画图板、桌面弹球、合金弹头、大数据展示、基于网络的各国GDP对比、基于爬虫的招聘热点分析、基于爬虫的高清图片下载、基于Scrapy+Seleninum的微博登录……设计这些案例的初衷不是“简单”和“入门”,而是让读者学以致用、激发编程自豪感,进而引爆内心的编程激情。因此那些仅图简单的读者,建议不要选择此书。《疯狂Python讲义》课后习题共包括110道循序渐进的Python练习题(面试题),读者可通过这些练习题巩固所学、为面试做准备。如果读者需要获取关于课后习题的解决方法、编程思路,可以登录http://www.crazyit.org站点或关注“疯狂图书”微信服务号。\r\n\r\n《疯狂Python讲义》为所有打算深入掌握Python编程的读者而编写,适合各种层次的Python学习者和工作者阅读,也适合作为大学教育、培训机构的Python教材。但如果只是想简单涉猎Python,则本书过于庞大,不适合阅读。','img38.jpg'),
(39,'《Kubernetes in Action 》','编程语言','电子工业出版社','2019-01-01','[美] Marko Luksa(马尔科卢克沙) 著 ','本书主要讲解如何在 Kubernetes 中部署分布式容器应用。本书开始部分概要介绍了 Docker 和Kubernetes 的由来和发展,然后通过在 Kubernetes 中部署一个应用程序,一点点增加功能,逐步加深我们对于Kubernetes架构的理解和操作的实践。在本书的后面部分,也可以学习一些高阶的主题,比如监控、调试及伸缩。\r\n\r\nKubernetes是希腊文,意思是“舵手”,带领我们安全地到达未知水域。Kubernetes这样的容器编排系统,会帮助我们妥善地管理分布式应用的部署结构和线上流量,高效地组织容器和服务。Kubernetes 作为数据中心操作系统,在设计软件系统时,能够尽量降低在底层网络和硬件设施上的负担。','img39.jpg'),
(40,'《Python编程无师自通》','编程语言','人民邮电出版社','2019-01-01','[美] 科里·奥尔索夫(Cory Althoff) 著,宋秉金 译 ','本书作者是一名自学成才的程序员,经过一年的自学,掌握了编程技能并在eBay找到了一份软件工程师的工作。本书是作者结合个人经验写作而成,旨在帮助读者从外行成长为一名专业的Python程序员。\r\n本书包括5部分内容:第一部分(第1~11章)介绍了编程基础知识,以及函数、容器、字符串、循环和模型等概念;第二部分(第12~15章)介绍了编程范式和面向对象编程等知识;第三部分(第16~20章)介绍了Bash、正则表达式、包管理器和版本控制等编程工具方面的知识;第四部分(第21~22章)主要涉及数据结构和算法方面的知识;第五部分(第23~27章)则是关于求职与团队协作的内容。\r\n本书可以满足几乎所有想要学习编程的初学者。本书适合高中、大学阶段想要自学编程的学生,以及其他行业想入门编程的人,同时也适合作为编程入门的培训教材。','img40.jpg'),
(41,'《零基础学C语言》','编程语言','吉林大学出版社','2017-10-01','明日科技 编 ','《零基础学C语言》是针对零基础编程学习者研发的C语言入门教程。从初学者角度出发,通过通俗易懂的语言、流行有趣的实例,详细地介绍了使用C语言进行程序开发需要掌握的知识和技术。全书共分18章,包括C语言概述、开发环境的搭建、算法、C语言基础、运算符与表达式、常用的数据输入/输出函数、选择结构程序设计、循环控制、数组、结构体与链表、共用体与枚举类型、位运算、预处理、文件、存储管理,以及学生成绩管理系统等。书中所有知识都结合具体实例进行讲解,设计的程序代码给出了详细的注释,可以使读者轻松领会C语言程序开发的精髓,快速提高开发技能。\r\n\r\n本书通过大量实例及一个完整项目案例,帮助读者更好地巩固所学知识,提升能力;随书附赠的《小白实战手册》中给出了3个流行且实用的案例的详细开发流程,力求让学习者能学以致用,真正获得开发经验;附赠的光盘中给出视频讲解、实例及项目源码、代码查错器、练一练和动手纠错答案等,方便读者学习;书中设置了130多个二维码,扫描二维码观看视频讲解,解决学习疑难;不易理解的专业术语、代码难点只需手机扫描文字下方的e学码获得更多扩展解释,随时扫除学习障碍。此外,登录明日学院网站(www.mingrisoft.com)还可以获得更多学习资源和技术支持。\r\n\r\n图书与《小白实战手册》+光盘+二维码+e学码+明日学院,实现立体化、全方位的教学模式,拉低编程门槛,让零基础者轻松跨入编程领域。','img41.jpg'),
(42,'《重构 改善既有代码的设计》','编程语言','人民邮电出版社','2019-04-01','[美] 马丁·福勒(Martin Fowler) 著 ','\r\n\r\n《重构 改善既有代码的设计 第2版 全彩精装版》是经典著作《重构》出版20年后的更新版。书中清晰揭示了重构的过程,解释了重构的原理和实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了60多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。本书提出的重构准则将帮助开发人员一次一小步地修改代码,从而减少了开发过程中的风险。\r\n\r\n\r\n《重构 改善既有代码的设计 第2版 全彩精装版》适合软件开发人员、项目管理人员等阅读,也可作为高等院校计算机及相关专业师生的参考读物。\r\n','img42.jpg'),
(43,'《Python编程从入门到精通》','编程语言','人民邮电出版社','2018-11-01','叶维忠 著 ','本书循序渐进、由浅入深地详细讲解了Python语言开发技术,并通过具体实例演练了各个知识点的具体使用流程。全书共23章,其中第1~2章是基础知识部分,讲解了Python语言开发的基础知识,包括搭建开发环境和基础语法介绍;第3~9章是核心技术部分,分别讲解了简单数据类型,运算符和表达式,条件语句,循环语句,使用列表,使用元组、字典和集合,使用函数等知识,这些内容都是Python语言中*重要的语法知识;第10~15章是知识进阶部分,分别讲解了面向对象(上)、面向对象(下)、文件操作处理、异常处理、正则表达式、多线程开发知识,这部分内容是Python语言开发技术的重点和核心;第16~22章是典型应用部分,分别讲解了Tkinter图形化界面开发、网络编程、数据库开发、Python动态Web开发基础、使用Pygame开发游戏、使用Pillow库处理图形、使用Matplotlib实现数据挖掘等知识,这部分内容是读者学习并实践Python开发技术的核心;第23章是综合实战部分,通过综合实例的实现过程,介绍了Python语言在综合项目中的使用流程。全书内容循序渐进,以“技术解惑”和“范例演练”贯穿全书,引导读者全面掌握Python语言。\r\n本书不仅适用Python语言的初学者,也适合有一定Python语言基础的读者学习,还可以作为高等院校相关专业的教学用书和培训学校的教材。','img43.jpg'),
(44,'《Python 3网络爬虫开发实战 》','编程语言','人民邮电出版社','2018-04-01','崔庆才 著 ','本书介绍了如何利用Python 3开发网络爬虫,书中首先介绍了环境配置和基础知识,然后讨论了urllib、requests、正则表达式、Beautiful Soup、XPath、pyquery、数据存储、Ajax数据爬取等内容,接着通过多个案例介绍了不同场景下如何实现数据爬取,最后介绍了pyspider框架、Scrapy框架和分布式爬虫。\r\n\r\n本书适合Python程序员阅读。','img44.jpg'),
(45,'《码出高效:Java开发手册 》','编程语言','电子工业出版社','2018-10-01','杨冠宝,高海慧 著 ','\r\n\r\n《码出高效:Java 开发手册》源于影响了全球250万名开发工程师的《阿里巴巴Java开发手册》,作者静心沉淀,对Java规约的来龙去脉进行了全面而彻底的内容梳理。《码出高效:Java 开发手册》以实战为中心,以新颖的角度全面阐述面向对象理论,逐步深入地探索怎样成为一位优秀开发工程师。比如:如何驾轻就熟地使用各类集合框架;如何得心应手地处理高并发多线程问题;如何顺其自然地写出可读性强、可维护性好的优雅代码。\r\n\r\n《码出高效:Java 开发手册》旁征博引、文风轻松,秉持“图胜于表,表胜于言”的理念,深入浅出地将计算机基础、面向对象思想、JVM探源、数据结构与集合、并发与多线程、单元测试等知识客观、立体地呈现出来。紧扣学以致用、学以精进的目标,结合阿里巴巴实践经验和故障案例,与底层源码解析融会贯通,娓娓道来。\r\n\r\n《码出高效:Java 开发手册》以打造民族标杆图书为己任,打磨精品,在技术广度和深度上兼具极强的参考性,适合计算机相关行业的管理者和研发人员、高等院校的计算机专业师生等阅读。无论是初学者入门,或是中、高级程序员的进阶提升,《码出高效:Java 开发手册》均为不容置疑的选择。\r\n','img45.jpg'),
(46,'《数据结构 Python语言描述 》','编程语言','人民邮电出版社','2017-12-01','[美] Kenneth,A.,Lambert,兰伯特 著,李军 译 ','在计算机科学中,数据结构是一门进阶性课程,概念抽象,难度较大。Python语言的语法简单,交互性强。用Python来讲解数据结构等主题,比C语言等实现起来更为容易,更为清晰。\r\n《数据结构 Python语言描述》第1章简单介绍了Python语言的基础知识和特性。第2章到第4章对抽象数据类型、数据结构、复杂度分析、数组和线性链表结构进行了详细介绍,第5章和第6章重点介绍了面向对象设计的相关知识、第5章包括接口和实现之间的重点差异、多态以及信息隐藏等内容,第6章主要讲解继承的相关知识,第7章到第9章以栈、队列和列表为代表,介绍了线性集合的相关知识。第10章介绍了各种树结构,第11章讲解了集和字典的相关内容,第12章介绍了图和图处理算法。每章最后,还给出了复习题和案例学习,帮助读者巩固和思考。\r\n《数据结构 Python语言描述》不仅适合高等院校计算机专业师生阅读,也适合对Python感兴趣的读者和程序员阅读。','img46.jpg'),
(47,'《未来架构 从服务化到云原生》','编程语言','电子工业出版社','2019-04-01','张亮 等 著 ','互联网架构不断演化,经历了从集中式架构到分布式架构,再到云原生架构的过程。云原生因能解决传统应用升级缓慢、架构臃肿、无法快速迭代等问题而成了未来云端应用的目标。\r\n  《未来架构:从服务化到云原生》首先介绍架构演化过程及云原生的概念,让读者对基础概念有一个准确的了解,接着阐述分布式、服务化、可观察性、容器调度、Service Mesh、云数据库等技术体系及原理,并介绍相关的SkyWalking、Dubbo、Spring Cloud、Kubernetes、Istio等开源解决方案,最后深度揭秘开源分布式数据库生态圈ShardingSphere的设计、实现,以及进入Apache基金会的历程,非常适合架构师、云计算从业人员阅读、学习。','img47.jpg'),
(48,'《Python从菜鸟到高手》','编程语言','清华大学出版社','2018-09-01','李宁 著 ','内 容 简 介\r\n\r\n《Python从菜鸟到高手》从实战角度系统讲解了Python核心知识点以及Python在Web开发、数据分析、网络爬虫、桌面应用等领域的各种开发实践。本书用超过5万行的代码及大量的实战案例完美演绎了Python在各个领域的出色表现,每一个案例都有详细的实现步骤,带领读者由浅入深系统掌握Python语言的核心及Python全栈开发技能。本书共分六篇,各篇内容如下:\r\n\r\nPython基础知识篇(第1章~第10章),内容主要包括Python的基本概念、开发环境安装和配置、Python语言的基础知识,控制语句、列表、元组、字符串、字典、函数、类、对象、异常、方法、属性和迭代器;Python高级编程篇(第11章~第20章),内容主要包括正则表达式、常用模块、文件和流、数据存储、TCP和UDP编程、Urllib3、twisted、FTP、Email、多线程、tkinter、PyQt5和测试;Python Web开发篇(第21章、第22章),主要讲解了Python语言中流行的两个Web开发框架(Flask和Django)的使用方法;Python科学计算与数据分析篇(第23章~第25章),主要讲解了Python语言中常用的3个数据分析和数据可视化库(NumPy、Matplotlib和Pandas)的使用方法;Python Web爬虫技术篇(第26章、第27章),主要讲解了编写网络爬虫的关键技术和常用程序库,这些程序库主要包括Beautiful Soup和Scrapy;Python项目实战篇(第28章~第33章),内容主要包括Web项目开发实战、爬虫项目开发实战、API项目开发实战、桌面应用项目开发实战和游戏项目开发实战。\r\n\r\n《Python从菜鸟到高手》适合作为Python程序设计者的参考用书。','img48.jpg'),
(49,'《深入浅出Vue.js 》','编程语言','人民邮电出版社','2019-03-01','刘博文 著 ','本书从源码层面分析了Vue.js。首先,简要介绍了Vue.js;然后详细讲解了其内部核心技术“变化侦测”,这里带领大家从0到1实现一个简单的“变化侦测”系统;接着详细介绍了虚拟DOM技术,其中包括虚拟DOM的原理及其patching算法;紧接着详细讨论了模板编译技术,其中包括模板解析器的实现原理、优化器的原理以及代码生成器的原理;最后详细介绍了其整体架构以及提供给我们使用的各种API的内部原理,同时还介绍了生命周期、错误处理、指令系统与模板过滤器等功能的原理。\r\n本书适合前端开发人员阅读。','img49.jpg'),
(50,'《Spring实战》','编程语言','人民邮电出版社','2016-04-01','[美] Craig Walls 沃尔斯 著,张卫滨 译 ','《Spring实战(第4版)》是经典的、畅销的Spring学习和实践指南。  第4版针对Spring 4进行了全面更新。全书分为四部分。第1部分介绍Spring框架的核心知识。第二部分在此基础上介绍了如何使用Spring构建Web应用程序。第三部分告别前端,介绍了如何在应用程序的后端使用Spring。第四部分描述了如何使用Spring与其他的应用和服务进行集成。  《Spring实战(第4版)》适用于已具有一定Java 编程基础的读者,以及在Java 平台下进行各类软件开发的开发人员、测试人员,尤其适用于企业级Java 开发人员。本书既可以被刚开始学习Spring 的读者当作学习指南,也可以被那些想深入了解Spring 某方面功能的专业用户作为参考用书。','img50.jpg'),
(51,'《数据结构与算法分析》','编程语言','机械工业出版社','2016-03-01','[美] 马克·艾伦·维斯 著,陈越 译 ','本书是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具,讨论数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计)。\r\n随着计算机速度的不断增加和功能的日益强大,人们对有效编程和算法分析的要求也不断增长。本书将算法分析与*有效率的Java程序的开发有机结合起来,深入分析每种算法,并细致讲解精心构造程序的方法,内容全面,缜密严格。\r\n\r\n第3版的主要更新如下:\r\n第4章包含AVL树删除算法的实现。\r\n第5章进行了全面修订和扩充,现在包含两种较新的算法——布谷鸟散列和跳房子散列。\r\n第7章包含基数排序的相关内容,并给出了下界证明。\r\n第12章增加了后缀树和后缀数组的相关材料,包括Karkkainen和Sanders的线性时间后缀数组构造算法。\r\n更新书中的代码,使用了Java 7中的菱形运算符。','img51.jpg'),
(52,'《Reilly:Head First设计模式》','编程语言','中国电力出版社','2007-09-01','[美] 弗里曼(Freeman E.) 等 著,UML China 编,OReilly Taiwan公司 译 ','《Reilly:Head First设计模式(中文版)》趋近完美,因为它在提供专业知识的同时,仍然具有相当高的可读性。\r\n  本书共有14章,每章都介绍了几个设计模式,完整地涵盖了四人组版本全部23个设计模式。\r\n  ★前言介绍了这本书的用法\r\n  ★第1章至第11章陆续介绍了设计模式:Strategy、Observer、Decorator、Abstract Factory、Factory Method、Singleton、Command、Adapter、Facade、TemplatMethod、Iterator、Composite、State、Proxy。\r\n  ★第12章介绍了如何将两个以上的设计模式结合起来成为新的设计模式(例如,著名的MVC模式),作者称其为复合设计模式。\r\n  ★第13章介绍了如何进一步学习设计模式,如何发掘新的设计模式等主题。\r\n  ★附录A介绍了剩下的设计模式:Bridge(桥接)、Builder(生成器)、Chainof Responsibility(责任链)、Flyweight(蝇量)、Interpreter(解释器)、Mediator(中介者)、Memento(备忘录)、Prototype(原型)、Visitor(访问者)。\r\n  另外,第1章至第9章还穿插介绍了四个OO基本概念(抽象、封装、继承、多态),以及九个OO原则(Principle)。千万不要轻视这些OO原则,因为每个设计模式背后都包含了几个OO原则的概念。很多时候,在设计出现两难情况时我们必须回归到OO原则,以方便判断取舍。\r\n  可以这么说:OO原则是我们的目标,而设计模式是我们的做法!','img52.jpg'),
(53,'《C Primer Plus》','编程语言','人民邮电出版社','2016-04-01','[美] 史蒂芬·普拉达(Stephen Prata) 著,姜佑 译 ','《C Primer Plus(第6版)中文版》详细讲解了C语言的基本概念和编程技巧。\r\n《C Primer Plus(第6版)中文版》共17章。第1、2章介绍了C语言编程的预备知识。第3~15章详细讲解了C语言的相关知识,包括数据类型、格式化输入/输出、运算符、表达式、语句、循环、字符输入和输出、函数、数组和指针、字符和字符串函数、内存管理、文件输入输出、结构、位操作等。第16章、17章介绍C预处理器、C库和高级数据表示。本书以完整的程序为例,讲解C语言的知识要点和注意事项。每章末设计了大量复习题和编程练习,帮助读者巩固所学知识和提高实际编程能力。附录给出了各章复习题的参考答案和丰富的参考资料。\r\n《C Primer Plus(第6版)中文版》可作为C语言的教材,适用于需要系统学习C语言的初学者,也适用于巩固C语言知识或希望进一步提高编程技术的程序员。','img53.jpg'),
(54,'《剑指Offer》','编程语言','电子工业出版社','2017-04-01','何海涛 著 ','《剑指Offer:名企面试官精讲典型编程题(第2版)》剖析了80个典型的编程面试题,系统整理基础知识、代码质量、解题思路、优化效率和综合能力这5个面试要点。《剑指Offer:名企面试官精讲典型编程题(第2版)》共分7章,主要包括面试的流程,讨论面试每一环节需要注意的问题;面试需要的基础知识,从编程语言、数据结构及算法三方面总结程序员面试知识点;高质量的代码,讨论影响代码质量的3个要素(规范性、完整性和鲁棒性),强调高质量代码除完成基本功能外,还能考虑特殊情况并对非法输入进行合理处理;解决面试题的思路,总结编程面试中解决难题的有效思考模式,如在面试中遇到复杂难题,应聘者可利用画图、举例和分解这3种方法将其化繁为简,先形成清晰思路,再动手编程;优化时间和空间效率,读者将学会优化时间效率及用空间换时间的常用算法,从而在面试中找到至优解;面试中的各项能力,总结应聘者如何充分表现学习和沟通能力,并通过具体面试题讨论如何培养知识迁移、抽象建模和发散思维能力;两个面试案例,总结哪些面试举动是不良行为,而哪些表现又是面试官所期待的行为。第二版重磅升级。','img54.jpg'),
(55,'《最易上手!吉他弹唱超精选》','音乐','湖南文艺出版社','2017-06-01','卓飞 著 ','本书是2017年新升级版本。书中的曲谱部分与原书完全一致,并会同步更新。\r\n  为方便老师教学及自学者,书中在曲谱之后添加了入门教程讲义,包含与本书曲谱程度一致的吉他弹奏、乐理知识,使得全书成为了一个完整的教学资料。\r\n  只有曲谱部分的原书也会继续发行,如不需要教学讲义,可直接购买定价为32元的原书。\r\n  本书仅适合学琴2~12个月的初学者或同等水平的“资深初学者”','img55.jpg'),
(56,'《哈农钢琴练指法 》','音乐','人民音乐出版社','2000-10-01','[法] 哈农 著,王九丁 译 ','《哈农钢琴练指法》中可以碰到全部类型的难点,我们将它们加以编排为在前一段练累了的手指在这一段能得到休息。通过这种组合,人们就可以不费气力,轻松地克服技巧难点。练习之后,演奏时手指会体验到非常的流畅。\r\n  《哈农钢琴练指法》的对象是所有学钢琴的人。学习大约一年后,就能有很大成效。对那些程度较高的人来说,弹奏《哈农钢琴练指法》的练习后用不了多久,他们会觉得手指和手腕不再僵硬,对困难的技巧也能应付自如。','img56.jpg'),
(57,'《拜厄钢琴基本教程 》','音乐','人民音乐出版社','2000-08-01','人民音乐出版社编辑部 编 ','《拜厄钢琴基本教程》是德国作曲家拜厄(1803~1863)专为儿童编写的一本浅易钢琴教材。正如拜厄在原文版前言中所说:“本书对象是儿童,甚至是学龄前儿童。因此,书中课程的安排尽可能做到循序渐进。……它是一本基础教程,为学习者提供一年或到第二年使用的练习。”','img57.jpg'),
(58,'《车尔尼钢琴初步教程》','音乐','人民音乐出版社','2000-07-01','[奥] 车尔尼<作曲> 著 ','《车尔尼钢琴初步教程(作品599)》由钢琴家车尔尼创作。其基本内容包括:识别音符的初步练习,固定位置的五指练习,大指移位练习,音域超过一个八度的练习,带有低音谱表的练习等。具有乐曲短小精致、结构工整,旋律优美抒情,富于歌唱性,技术训练由浅入深、循序渐进等特点,是世界各国广泛采用的钢琴初级教材。','img58.jpg'),
(59,'《北京国安足球俱乐部二十年光辉纪念》','体育','北京出版社','2013-08-01','北京国安足球俱乐部 编 ','编委会:包括俱乐部领导和编委会专家在内的汪大昭、张璐、毕熙东、金汕、李永广、李轩、刘晶捷、袁野、陈赢等在内的老中青三代北京足球见证者组成无前例的重量级编委会\r\n  《北京国安足球俱乐部二十年光辉纪念》:历时18个月精心打造 近700页官修二十年正史\r\n  厚度:四十三万字与千张首度公开珍贵历史照片说尽二十年风风雨雨\r\n  二十多年来,北京国安足球俱乐部是一支代表北京参加中国足球超级联赛的足球俱乐部。二十多年来,一直处于积分榜前列,并曾经获得过联赛冠军。二十多年来,这支寄托着和平年代城市信仰的球队给这座城市带来了无数荣誉。“赢就一起狂 输就一起抗”每到比赛日无数京城球迷身穿绿色服装前往工人体育场,让对手屡屡陷入“圣工体”的恐惧中无法自拔。\r\n  本书从1992年12月31日的建队故事开始,梳理每一年的重要事件,以北京国安20年的发展为脉络,采取分栏的方式有主有次,有详有略的把这一年度与国安相关的重要时刻一一记录。作为俱乐部的官修正史,出版团队本着对球迷负责的态度,一遍遍翻阅尘封的档案资料,并采访到了老领导、老教练、老队员、老球迷再加上现役队员的第一手资料,从个人经历和记忆中回顾历史,每一年选取一个人,作为年度人物放到每年的结尾处。书中还有很多细节无前例的披露如一次解密的建队文档,9:1的赛前赛后,03年罢赛当事人前前后后的回忆和夺冠时刻等等。\r\n  出版团队:本书由《我是马政委》团队操刀制作,给忠实的球迷提供完美的回忆珍藏。','img59.jpg'),
(60,'《聂卫平围棋教程》','体育','人民邮电出版社','2017-09-01','聂卫平,邵佳,赵兴华 著 ','“聂卫平围棋道场系列”是我国知名围棋职业运动员聂卫平,同聂卫平围棋道场的明星教师团队联合编写的适合少儿的零基础围棋启蒙书籍。\r\n\r\n  “聂卫平围棋道场系列”教材设置了基础知识、例题精讲、随堂练习、围棋人物、学习园地等板块,内容全面、系统,难度循序渐进,分为“从入门到15级”、“从15级到10级”、“从10级到5级”、“从5级到1段”四本进价教程。书中的知识点讲解清晰、易懂,选取了经典的例题及难度适宜练习题目,且知识点与课后练习一一对应,方便小朋友课后进行自测,查缺补漏。此外,书中还配有围棋名人故事,让小朋友在学习围棋知识的同时,也能学习围棋文化,提升围棋素养。','img60.jpg'),
(61,'《体育运动中的功能性训练》','体育','人民邮电出版社','2017-08-01','[美] 迈克·鲍伊尔(Michael Boyle) 著,张丹玥,王雄 译 ','\r\n\r\n通过训练在zui小化损伤风险的同时保持高水平运动表现。不论是在力量房、赛场、田径场,还是训练垫上,《体育运动中的功能训练(第2 版)》都能帮你实现上佳训练效果。作为国际zui权wei的运动表现教练之一,迈克·鲍伊尔使用的概念、方法、练习和方案都能够很大程度地优化运动员的比赛动作。本书包含一系列的功能性评估,便于为不同运动员设计有针对性的训练计划。通过自我强化进阶练习,训练运动员的下肢、核心、上肢直到全身,增强其在运动专项中所需要的平衡能力、本体感觉、稳定性、力量和爆发力。书中的训练方案示例有利于实现个性化应用,确保身体运动表现在各个方面都获得充足的准备。鲍伊尔还在泡沫轴滚动、拉伸、动态热身等方面加入了全新的研究成果和实践经验,提供了绝jia的训练建议。《体育运动中的功能训练(第2版)》超yue了传统的动作描述和说明的方式,加入了全彩高清的基础动作图片、注释以及重要动作分析。\r\n\r\n《体育运动中的功能训练(第2版)》是鲍伊尔以他十多年前出版的著作为基础,进行提炼和扩展后完成的。这一版本提供了最先进的功能性训练知识,能满足各种专项运动需求。\r\n','img61.jpg'),
(62,'《自由搏击终极指南》','体育','人民邮电出版社','2016-07-01','[德] 克里斯蒂安·布劳恩(Christian Braun) 著,黄海枫 译 ','自由搏击也称综合格斗(无限制格斗),在武术界中正变得越来越流行。击打、拳击、踢蹬、摔掷、杠杆和地面技术来自各种不同武术类型的多种技术在自由搏击中都是允许使用的,只有少数例外。对于希望在搏击中获得成功的任何人来说,会有必要深入理解站立式格斗技术(例如,泰拳和散打)与地面格斗技术(例如,巴西柔术或巴西式摔角)。\r\n  克里斯蒂安·布劳恩(Christian Braun)是一位经验丰富的武术专家,他会在《自由搏击**指南(全彩图解版)》中介绍在自由搏击中稳固并逐步提升自己的现实途径。除了说明在各种距离范围内的格斗技术,他还在《自由搏击**指南(全彩图解版)》一书中介绍了从站立到地面的过渡,以及各种地面技术,并揭示了如何摆脱各种控制姿势的方法。《自由搏击**指南(全彩图解版)》通过1300余幅照片全面介绍了所有技术,每个技术动作都有步骤图解及详细说明,适合所有流派及各种水平的拳手。 ','img62.jpg'),
(63,'《新编百姓最爱家常菜2888例 》','美食','化学工业出版社','2015-01-01','双福,朱太治 等 著 ','本书精选百姓很爱吃的美味家常菜、滋补汤煲、花样家常主食,每道菜均配精美成品大图,配以步骤图详解,详细介绍每道家常菜的具体做法,并对每个菜的口味、烹饪难度、操作时间进行贴心提示。本书按照蔬菜类、菌菇类、豆类及豆制品、肉类、海鲜类、蛋奶类分类排序,方便读者使用检索。随书赠送超长120分钟VCD光盘,看大厨演绎美味佳肴!','img63.jpg'),
(64,'《你不懂茶 》','茶道','江苏凤凰文艺出版社','2019-02-01','[日] 三宅贵男 著,曹逸冰 译 ','哪种日本茶zui能放松身心?\r\n\r\n什么样的红茶适合做奶茶?\r\n\r\n花草茶有哪些功效?\r\n\r\n世界zui有名的中国红茶是哪款?\r\n\r\n如何泡一壶好喝的茶?\r\n\r\n在家如何制作冰红茶?\r\n\r\n……\r\n\r\n日本资深茶艺师带你走进茶的清新世界。无论你喜欢绿茶、红茶、花草茶,还是奶茶,在这里你都能找到关于它们的内容。\r\n\r\n本书教你从认识茶叶开始,进而学习如何冲泡一壶好茶。从茶的历史、拿捏泡茶的时间、认识茶具以及其他饮品、茶点的搭配,让大家与茶有着更多美丽的邂逅。以现代的美学视野,为茶的传统文化注入新的生命泉源。\r\n\r\n愿读完本书的你能更精心地将茶道融入日常生活之中,让茶艺不再是遥不可及的知识,而能够在生活中信手拈来,以茶入生活。','img64.jpg'),
(65,'《范志红吃对你的家常菜》','美食','化学工业出版社','2015-05-01','范志红 著 ','《范志红吃对你的家常菜(套装共2册)》收录了二百道范老师私房营养家常美食,以全彩步骤图解的方式呈现给读者,希望给更多的读者带来切切实实的美味和健康。\r\n  《范志红吃对你的家常菜(套装共2册)》介绍了饭、粥、煎饼、汤面、炒饭、菜肴、汤羹、零食、饮料等如何兼顾健康和美味的要点,并介绍了各类食物的健康烹调要点以及营养小窍门。这些知识和方案,都是作者多年思考、体会和实践的结果。书中的每一道主食、菜肴和饮品,都出自作者本人的私家菜谱,其中绝大多数的食材配方和烹调方法,或是作者原创,或是经过作者修改而改善健康特性。\r\n  跟着范老师,吃对你的家常菜,吃出全家人的健康! ','img65.jpg'),
(66,'《做好一道菜 》','美食','北京科学技术出版社','2017-11-01','罗生堂 著 ','本书围绕着“怎样才能真正地学会做好一道菜”,按照不同食材,挑选了100道具有代表性的家常菜。在此基础上,对每道菜、每一步中可能忽视的小细节都进行了详细的讲解。这些细节有的涉及食材,如如何挑选、是否可替换,有的涉及操作技法,如油温几成、油量如何、何时调整火力;调料几克,先放后方,为何按此顺序,等等。做完后,你还可以了解到如何举一反三,做出更多相似的菜式。\r\n\r\n此外,本书还单独设计了一个章节(“第一章 美味有章法”),用通俗的语言讲解了基础的烹饪理论。当你熟悉了这些做菜的套路,便会豁然开朗,轻松地应用到每一道菜上。','img66.jpg');

导入student表的数据

insert  into `student`(`id`,`number`,`name`,`psd`,`phone`)
values (1,'007','小明','888888','18888888888'),
(2,'008','小红','123456','16666666666'),
(3,'009','小王','123456','15555555555');

导入借阅记录表的数据

insert  into `user_book_info`(`id`,`number`,`bookid`,`startdate`,`enddate`,`state`)
values (8,'008',14,'2019年6月13日 09:54:41',NULL,1),
(9,'007',13,'2019年7月10日  11:0:7','2019年7月12日  9:1:47',2),
(10,'007',10,'2019年7月12日  9:1:37',NULL,1),
(11,'007',1,'2020年9月4日 15:24:43',NULL,1),
(12,'007',4,'2020年9月6日 21:38:18',NULL,1),
(13,'007',7,'2020年9月6日 21:39:23','2020年9月6日 21:42:04',2);

首页

在子项目中创建文件夹static文件,在该文件夹中创建css文件夹和img文件夹,分别用于存放css文件和图片。

css1.css

*{margin: 0px;padding: 0px;border: 0px;
}
body {margin: 0px;padding: 0px;
}#body {width: 1000px;height: 600px;margin: 10px auto;
}#r_body {width: 1000px;height: 630px;margin: 10px auto;
}#h_body {width: 1000px;margin: 10px auto;
}#top {width: 100%;height: 160px;background-color: #0077ff;
}#top_ {width: 100%;height: 60px;font-size: 16px;color: white;
}#top_ ul li {width: 60px;height: 40px;
}#top_ ul .li_name {float: left;
}#top_ ul .li_ {float: right;
}p {width: 200px;height: 40px;line-height: 100px;margin: 0px auto;color: white;font-size: 30px;font-weight: bold;
}#content {width: 100%;height: 300px;margin: 5px auto;background-color: #00aaff;
}#r_content {width: 100%;height: 330px;margin: 5px auto;background-color: #00aaff;
}#content_c {width: 400px;height: 290px;margin: 0px auto;
}#r_content_c {width: 400px;height: 330px;margin: 0px auto;
}#content_c form {width: 260px;height: 280px;margin: auto;
}#r_content_c form {width: 260px;height: 320px;margin: auto;
}form label {font-size: 20px;color: white;width: 80px;font-weight: bold;line-height: 70px;
}form .text {width: 160px;height: 30px;padding: 5px;
}form span {width: 80px;border: 1px solid black;padding: 5px 10px 5px 10px;line-height: 70px;font-weight: lighter;color: red;font-size: 18px;
}form .btn {width: 115px;height: 30px;margin-top: 10px;background-color: #0077ff;border: 0px;color: white;font-size: 16px;font-weight: bold;
}

在templates文件夹中创建index.html文件作为登录页面

<!DOCTYPE html>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>登录</title>{% load static %}<link rel="stylesheet" type="text/css" href="{% static 'css/css1.css' %}"><script type="text/javascript">function load() {var span = document.getElementById("t_text");//[0,1]*9000=[0,9000]+1000=[1000,10000]   [1000,9999]var i = Math.random() * 9000 + 1000;span.innerHTML = parseInt(i, 0);l();}function down(self) {self.style = "background-color: red;color:#0077ff;";}function up(self) {self.style = "background-color: #0077ff;color:white;";}function login() {//判断学号不能为空//判断密码不能玩为空//用户输入的验证码和生成的验证码是否一致var num = document.getElementById("num").value;if (num.length <= 0) {alert("学号不能为空");return false;}var psd = document.getElementById("psd").value;if (psd.length <= 0) {alert("密码不能为空");return false;}var text = document.getElementById("text").value;var random_text = document.getElementById("t_text").innerHTML;if (text.length <= 0) {alert("验证码不能为空");return false;} else if (text != random_text) {alert("验证码输入不一致,请重新输入");load();return false;}return true;}</script>
</head>
<body onload="load()">
<div id="body">{% include "top0.html" %}<div id="content"><div id="content_c"><form action="/toLogin/" onsubmit="return login()" method="post">{% csrf_token %}<label for="num">学&nbsp;&nbsp;&nbsp;号:</label>&nbsp;&nbsp; <inputtype="text" style="padding-left: 5px;width: 170px;" name="num" class="text" id="num"placeholder="请输入学号"> <br> <label for="psd">密&nbsp;&nbsp;&nbsp;码:</label>&nbsp;&nbsp;<input type="password" style="padding-left: 5px;width: 170px;" name="psd" class="text"id="psd" placeholder="请输入密码"> <br> <inputtype="text" class="text" id="text"placeholder="请输入验证码" style="width: 160px;height: 20px;padding: 5px;">&nbsp;&nbsp; <span id="t_text">1234</span><br> <input type="submit" class="btn" onmouseup="up(this)"onmousedown="down(this)" value="登录" name="submit">&nbsp;&nbsp;&nbsp;&nbsp; <a href="/register/"> <input type="button" class="btn"onmouseup="up(this)" onmousedown="down(this)"value="注册"name="submit"> </a></form></div></div>{% include "foot.html" %}
</div>
</body>
</html>

在登录页面做需要加载头部和尾部代码,其代码如下

top0.html

<!DOCTYPE html >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
#top_ {width: 100%;height: 60px;font-size: 16px;color: white;
}#top ul {list-style: none;margin: 0px;padding: 0px;
}p {width: 200px;height: 40px;line-height: 60px;margin: 0px auto;color: white;font-size: 30px;font-weight: bold;
}#top_ ul li {margin: 0px;padding: 0px 10px;width: 80px;height: 40px;text-align: center;width: 80px;
}#top_ ul .li_name {float: left;
}#top_ ul .li_ {float: right;
}#top_ ul li a {text-decoration: none;color: white;
}#top_ ul li a:HOVER {color: red;
}#p_{line-height: 160px;}
</style></head>
<body><div id="top"><p id="p_">图书借阅系统</p></div>
</body>
</html>

foot.html

<!DOCTYPE html >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body><div id="foot"style="width: 100%;height: 120px;background-color:#0077ff;text-align: center;line-height: 20px;padding: 10px 0px 0px 0px;">江西机电职业学院&copy;版权所有<br> <br> 作品人:XXX<br> <br>{% load static %}<img style="width: 20px;" src="{% static 'img/gongan.png' %}" alt=""> 举报热线:0791-88888888</div>
</body>
</html>

接着在urls.py文件中定义匹配地址

re_path(r'^img/(?P<path>.*)$', serve, {'document_root': os.path.join(BASE_DIR, 'img')}),re_path(r'^css/(?P<path>.*)$', serve, {'document_root': os.path.join(BASE_DIR, 'css')}),path('',views.index),

因为需要加载图片和css等脚本文件,需要在setting.py文件中定义允许匹配静态文件

STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static'),os.path.join(BASE_DIR),
#BASE_DIR是项目跟目录
]

当浏览器访问django服务器时被urls.py文件匹配,并开始访问views.py文件中定义的方法

def index(request):return render(request,"index.html")

接着我们打开内置的dos窗口输入python manage.py runserver指令运行服务器,即可看到登录页面的显示

注册功能的实现

当点击登陆页面的注册按钮时,想服务器发出访问请求地址 /register/

因此服务器的urls.py文件需要定义该地址进行匹配

path('register/',views.register),

views.py

def register(request):return render(request,"register.html")

在templates文件夹中创建注册的html页面

<!DOCTYPE html >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>注册</title>{% load static %}
<link rel="stylesheet" type="text/css" href="{% static 'css/css1.css' %}">
<script type="text/javascript">function f(a) {var num = document.getElementById("num");var psd = document.getElementById("psd");var name = document.getElementById("name");var phone = document.getElementById("phone");num.style = "border: 0px;";psd.style = "border: 0px;";name.style = "border: 0px;";phone.style = "border: 0px;";switch (a) {case 1:num.style = "border: 1px solid red;";break;case 2:psd.style = "border: 1px solid red;";break;case 3:name.style = "border: 1px solid red;";break;case 4:phone.style = "border: 1px solid red;";break;}}function down(self) {self.style = "background-color: red;color:#0077ff;";}function up(self) {self.style = "background-color: #0077ff;color:white;";}function register() {//判断学号不能为空//判断密码不能玩为空//用户输入的验证码和生成的验证码是否一致var num = document.getElementById("num").value;if (num.length <= 0) {alert("学号不能为空");return false;}var psd = document.getElementById("psd").value;if (psd.length <= 0) {alert("密码不能为空");return false;}var name = document.getElementById("name").value;if (name.length <= 0) {alert("姓名不能为空");return false;}var phone = document.getElementById("phone").value;if (phone.length <= 0) {alert("手机号不能为空");return false;}return true;}
</script>
</head>
<body onload="l()"><div id="r_body"><!-- 头部 -->{% include "top0.html" %}<!-- 内容 --><div id="r_content"><div id="r_content_c"><form action="/toRegister/" onsubmit="return register()" method="post">{% csrf_token %}<label for="num">学&nbsp;&nbsp;&nbsp;号:</label>&nbsp;&nbsp; <inputonfocus="f(1)" type="text" name="num" class="text" id="num"placeholder="请输入学号"> <br> <label for="psd">密&nbsp;&nbsp;&nbsp;码:</label>&nbsp;&nbsp;<input onfocus="f(2)" type="password" name="psd" class="text"id="psd" placeholder="请输入密码"> <br> <label for="name">姓&nbsp;&nbsp;&nbsp;名:</label>&nbsp;&nbsp;<input onfocus="f(3)" type="text" name="name" class="text"id="name" placeholder="请输入姓名"> <br> <labelfor="phone">号&nbsp;&nbsp;&nbsp;码:</label>&nbsp;&nbsp; <inputonfocus="f(4)" type="text" name="phone" class="text" id="phone"placeholder="请输入手机号"> <br> <input type="submit"class="btn" onmouseup="up(this)" onmousedown="down(this)"value="注册" name="submit"> &nbsp;&nbsp;&nbsp;&nbsp; <inputtype="reset" class="btn" onmouseup="up(this)"onmousedown="down(this)" value="重置" name="submit"></form></div></div><!-- 底部 -->{% include "foot.html" %}</div>
</body>
</html>

当读者输入完学生的注册信息后,将注册信息提交给服务器,请求地址为: toRegister/

urls.py文件定义接收地址进行匹配

path('toRegister/',views.toRegister),

在views.py文件中定义方法获得注册的学生信息,并进行查询数据库该注册的学生学号是否已被注册,如果已被注册,则跳转至注册提示信息页面,告知用户该学号已被注册,如果未被注册,则将学生信息添加至学生表中,并返回至登录页面

def toRegister(request):# 接收学生注册信息num=request.POST["num"]psd=request.POST["psd"]name=request.POST["name"]phone=request.POST["phone"]s=Student.objects.filter(number=num)if  not s:# 将注册信息添加至数据库中Student.objects.create(number=num,psd=psd,name=name,phone=phone)# 回到登录页面return redirect(index)else:return render(request,"registerError.html")

注册失败提示页面如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>注册提示页面</title>
</head>
<body>
<p>该学生学号已被注册,请仔细检查或者 <a href="/register/">重新注册</a> </p>
</body>
</html>

其界面效果图如下

【Django】第一课 基于Django图书借阅管理网站平台相关推荐

  1. 【Django】第一课 基于Django超市订单管理系统开发

    概念 django服务器开发框架是一款基于Python编程语言用于web服务器开发的框架,采用的是MTV架构模式进行分层架构. 项目搭建 打开pycharm开发软件,打开开发软件的内置dos窗口操作命 ...

  2. java bs架构书_基于BS架构的图书借阅管理模块的分析与设计(JSP+MySQL)(新品)

    基于BS架构的图书借阅管理模块的分析与设计(JSP+MySQL)(新品) 来源:2BYSJ.cn 资料编号:2SJ295500 资料等级:★★★★★ %D7%CA%C1%CF%B1%E0%BA%C5% ...

  3. 基于Django的博客兼学术主页管理网站

    基于Django的博客兼学术主页管理网站 摘要: 本系统基于后端Django框架和前端HTML页面,使用MVT设计模式构建了博客兼学术主页管理网站.该网站具有编写博客.阅读博客.点赞评论其他人博客的博 ...

  4. java-net-php-python-java图书借阅管理系统设计演示视频计算机毕业设计程序

    java-net-php-python-java图书借阅管理系统设计演示视频计算机毕业设计程序 java-net-php-python-java图书借阅管理系统设计演示视频计算机毕业设计程序 本源码技 ...

  5. 基于JAVA图书借阅系统的设计与实现计算机毕业设计源码+系统+lw文档+部署

    基于JAVA图书借阅系统的设计与实现计算机毕业设计源码+系统+lw文档+部署 基于JAVA图书借阅系统的设计与实现计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语 ...

  6. 基于springboot图书借阅挂失归还系统

    第一章 绪论 5 1.1 研究背景 5 1.2系统研究现状 5 1.3 系统实现的功能 6 1.4系统实现的特点 6 1.5 本文的组织结构 6 第二章开发技术与环境配置 7 2.1 Java语言简介 ...

  7. JAVA之图书借阅管理

    目录 图书借阅管理项目简介 项目框架 图书表信息 代码展示 主界面 查询图书种类 查询图书借阅情况 借书 还书 效果展示 图书借阅管理项目简介 图书管理主要用于对图书馆书籍信息的管理,主要分为以下五个 ...

  8. 基于java图书借阅管理系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署

    基于java图书借阅管理系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 基于java图书借阅管理系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 开发语言:Jav ...

  9. SSM项目图书馆管理系统,适合新人练手和毕设参考,功能首页展示 系统注册登录登出 用户管理 权限控制管理 书籍管理 图书借阅管理 个人借阅记录管理 书籍详细信息展示等

    图书馆管理系统,系统采用B/S架构 系统采用框架:java+maven+stringboot+mybatis+mysql-plus+boostart(前端界面) 首页展示 内容后台管理 菜单权限管理 ...

  10. 图书借阅管理用java实现_用java实现图书管理系统。 - 惊觉...

    在学完java基础篇的时候,安排做了一个综合版的java基础项目,可以把之前学到的知识综合运用. 一.项目设计到的知识 1.MVC设计模式思想(分包) >项目分包 运用这种设计模式的优点: MV ...

最新文章

  1. 【Android 安全】使用 360 加固宝加固应用 ( 购买高级加固服务 | 设置资源加固 | 设置 SO 文件保护配置 | 设置 SO 防盗用文件配置 | 反编译验证加固效果 )
  2. ubuntu9.10 qq自动退出修复
  3. 【Linux】tail显示日志最后几行
  4. autocad 如何摆正显示_如何在 VB 中连接 AutoCAD
  5. 分享最棒的免费PSD资源网站
  6. The type List is not generic; it cannot …
  7. UNIX高级环境编程(2)FIle I/O - 原子操作、共享文件描述符和I/O控制函数
  8. ***抓鸡和上传方法
  9. 2019最新Python学习教程_Python学习视频_Python学习路线:学Python,这次你可得认真看完了!
  10. 【汇编】intel core cpu中常用的寄存器
  11. 老电脑重装Linux系统
  12. Java基础——对象和类1(面向对象基本概念)
  13. 双十一淘宝美妆消费数据分析
  14. select into from 和 insert into select的使用
  15. DiskGenius 复制磁盘 提示 设备未就绪
  16. spark RDD算子大全
  17. html f12键的作用,电脑键盘中F1-F12每个功能键的作用您都知道吗?
  18. PHP date() 和 strtotime() 使用详解
  19. background-attachment:fixed实现酷炫效果
  20. 【Hive】hive 微博案例

热门文章

  1. SpringCloud平滑升级/优雅停机
  2. 销售型呼叫中心系统特点
  3. 参观一家买过十年货的淘宝店是怎样的体验?——新魔术8000生产基地探秘
  4. R语言的基础语法及常用命令
  5. STM32学习----ADC(数模转换)
  6. 时统ptp_IEEE1588 PTP对时系统原理及特点
  7. 怎么把图片转换成ico格式
  8. iOS笔试知识点集锦
  9. 计算机模拟专业委员会,中国化工学会过程模拟及仿真专业委员会成立
  10. 高等数学笔记:定积分换元谬误