Other

java_IDE使用技巧

1.编写类的时候 ,可以找到左下角的Structure(结构) ,来查看当前类的方法和属性 2.输入main ,可以生成主方法的模板  3.在file- setting - editor - live templates - 可以查看有哪些模板快捷键 ,也可以自己增加一些自己常用模板   4.输入for i 生成模板   5.输入sout生成打印一行的模板  

django中SQL alchemy的使用

settings配置: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'sqlalchemy_test', 'USER': 'root', 'PASSWORD': '******', 'HOST': '127.0.0.1', 'PORT': '3306' } } 创建数据库: # coding: utf-8 from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import create_engine, Column, Integer, String from sqlalchemy.orm import sessionmaker, scoped_session engine = create_engine('mysql+mysqldb://root:password@localhost:3306/sqlalchemy_test?charset=utf8mb4') # 在同一个线程中,有 scoped_session 的时候,返回的是同一个 Session 对象。 # 在多线程下,即使通过 scoped_session 创建Session,每个线程下的 Session 都是不一样的,每个线程都有一个属于自己的 Session 对象,这个对象只在本线程下共享。 db_session = scoped_session(sessionmaker(autocommit=False, autoflush=False, bind=engine)) Base = declarative_base() Base.query = db_session.query_property() class User(Base): __tablename__ = 'user' id = Column(Integer, primary_key=True, autoincrement=True) name = Column(String(20)) def init_db(): Base.

SQL优化

insert优化         主键优化                order by                    group by      limit       count      update

php6.5

4 遍历下列数组:(提示双层foreach遍历) $arr = array(  array(1,2,3,7),  array('name'=>'it','pass'=>'123'),  array(1,'sex'=>'man',3), );  (8.0分) <?php$arr = array( array(1,2,3,7), array('name'=>'it','pass'=>'123'), array(1,'sex'=>'man',3),);//foreach双层遍历foreach ($arr as $k=>$v){//$k建立一维索引,将键名赋值给$k echo $k; echo '<br/>'; //print_r($v); foreach ($arr[$k] as $index => $value){//$index二维索引,$value二维组数据 //echo $k; echo $index.'=>'.$value; echo '<br/>'; } echo '<br/>';} 5 有一数组$a=array(8,2,7,5,1);请将其重新排序,按从小到大的顺序输出。 (8.0分) <?phpsort()$a=array(8,2,7,5,1);echo '<pre>';$sort_a = sort($a);print_r($a);>  

JavaWeb--Servlet

JavaWeb--Servlet 为了实现动态和前端用户交流的服务器程序,定制了servlet服务器程序规范(类似JDBC接口) Tomcat等java程序遵守servlet接口规范,它可以直接调用servlet实现类,我们可以编写实现servlet子类,嫁接到不同的服务器容器使用(指Tomcat类的web服务器程序) 浏览器请求Servlet流程UML 浏览器请求静态资源的流程分析 浏览器调用Servlet流程分析 生命周期 init() 初始化阶段 Servlet 容器(比如: Tomcat)加载 Servlet,加载完成后,Servlet 容器会创建一个 Servlet 实例 并调用 init()方法,init()方法只会调用一次, Servlet 容器在下面的情况装载 Servlet: Servlet 容器(Tomcat)启动时自动装载某些servlet,实现这个需要在 web.xml 文件中添加 <load-on-startup>1</load-on-startup> 1 表示装载的顺序 在Servlet 容器启动后,浏览器首次向 Servlet 发送请求 Servlet 重新装载时(比如 tomcat 进行 redeploy【redeploy 会销毁所有的 Servlet 实例】), 浏览器再向 Servlet 发送请求的第 1 次 service()处理浏览器请求阶段 每收到一个 http 请求,服务器就会产生一个新的线程去处理[线程] 创建一个用于封装 HTTP 请求消息的 ServletRequest 对象和一个代表HTTP响应消息的ServletResponse对象 然后调用 Servlet 的 service()方法并将请求和响应对象作为参数传递进去 destroy()终止阶段

C#学习笔记(3):类

以《C#6.0本质论(Essential C# 6.0)》为基本,参考《深入解析C#(C# in Depth, 4th Edition)》、《C#图解教程(Illustrated C# 7, 5th Edition)》。圆括号内是本质论书中位置、方括号是个人补充 类 this 在类实例成员内部,可以获取对这个类实例的引用(P150) 属性 自动实现 属性可以自动实现同名字段(P160) 作用 拦截赋值,并通过字段风格的API对参数进行验证,这是属性的优点之一(P163) 虚字段 属性可以作为虚字段使用【属性可以封装真实字段数据】(P166) 访问修饰符 为赋值方法提供private修饰符后,属性对于除类之外的其它类来说就是只读的......注意该访问修饰符的“限制性”必须比应用于整个属性的访问修饰符更严格(P167) 工作机制 显示构造的读和写方法(P168) 属性调用不允许作为red或out参数值使用:属性可能是虚字段,也可能是只读或只写的,因此不可能传递存储地址(P168)。 规范 避免从外部访问属性支持的字段(P163) 不要提供只写属性(P167) 构造器 定义 “运行时”实例化对象的方法(170) 没有返回值 字段的初始化 声明时优先、构造器内的赋值在后,后者会覆盖前者(P170) 对象初始化器 在构造器创建对象时,可以在后面的一对大括号中添加成员初始化列表(P171)——语法糖,生成的CIL代码和用单独的语句对字段以及属性进行赋值无异。 重载 可以同时存在多个构造器,只要参数的数量和类型有所区别(P173)【签名】 匿名类型 编译器会为匿名类型生成声明中已经命名的值和属性类型对应的属性(P176) 不会为匿名类提供名称,但是匿名类仍然是静态编译(P176) 访问修饰是Internal(C# In Depth) 静态成员 C#中,与全局字段或函数等价的是静态字段或方法(P177) 静态字段 静态字段不从属于实例,而是从属于类(P178) 可以在类名之后直接访问静态方法,访问这些方法不需要实例(179) this关键词【代表类的实例对象】对无法访问静态成员(P180) 静态构造器 “运行时”首次访问类时自动调用静态构造器。由于其不能显示调用,所以不能有任何输入参数(P180) 字段声明时的赋值被移动了位置,成为静态构造器的第一个语句【仍然满足声明赋值优先于构造器(只不过静态构造器没有传入参数、无法赋值给字段了)】(P181) 静态类 CIL代码中标记为abstract和sealed(P183) 类的继承 派生 转型 从派生类型转化成基类型,成为隐式转型,不需要添加转型操作符。从基类型转换为派生类型,执行显式转型(P196) protected修饰符 要从派生类中访问受保护成员,必须在编译时确定是从派生类的实例中访问受保护成员(P199) 单继承与多继承 C#是单继承机制。......在极少数需要多继承类结构的时候,一般的解决方案是使用聚合(P200)

C#学习笔记(4):泛型

以《C#6.0本质论(Essential C# 6.0)》为基本,参考《深入解析C#(C# in Depth, 4th Edition)》、《C#图解教程(Illustrated C# 7, 5th Edition)》。圆括号内是本质论书中位置、方括号是个人补充 泛型的优点 泛型促进了类型安全(P314) 避免了装箱和开箱,提高了性能、减小了内存消耗(P314) 泛型的应用 默认值的指定 多个类型参数 Tuple Nulleable 泛型约束 接口约束 类类型约束 结构约束 类类型约束和结构约束不能同时使用(P323) 可空类型不符合struct约束(P323) 构造器约束 只针对默认构造器(P327) 其它 委托类型、数组类型和枚举类型不能在基类约束中使用,因为它们实际全是”密封“类型(P327) 泛型方法 类型推断:编译器根据传给方法的实参推断出类型(P330) 协变和逆变 泛型的内部机制 CIL代码(P337) 基于值和基于引用的泛型的实例化(P338)

Python技能树及CSDN MarkDown编辑器测评

课程:《Python程序设计》 班级:2132 姓名:刘思佳 学号:20213226 实验教师:王志强 实验日期:2022年4月17日 必修/选修:公选课 已在CSDN上发表文章,链接如下: CSDN技能树测评(https://blog.csdn.net/m0_68883309/article/details/124135388?spm=1001.2014.3001.5501) CSDN MarkDown编辑器测评(https://blog.csdn.net/m0_68883309/article/details/124234362?spm=1001.2014.3001.5501)

Linux基本属性与查看

基本属性 看懂文件属性 Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。 在Linux中我们可以使用`ll`或者ls –l`命令来显示一个文件的属性以及文件所属的用户和组,如:    实例中,boot文件的第一个属性用d表示。d在Linux中代表该文件是一个目录文件。 在Linux中第一个字符代表这个文件是目录、文件或链接文件等等: 当为[ d ]则是目录 当为[ - ]则是文件; 若是[ l ]则表示为链接文档 ( link file ); 若是[ b ]则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 ); 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )。 接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。 其中,`[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。` 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。 每个文件的属性由左边第一部分的10个字符来确定(如下图): 从左至右用0-9这些数字来表示。 第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。 其中: 第1、4、7位表示读权限,如果用r字符表示,则有读权限,如果用-字符表示,则没有读权限; 第2、5、8位表示写权限,如果用w字符表示,则有写权限,如果用-字符表示没有写权限; 第3、6、9位表示可执行权限,如果用x字符表示,则有执行权限,如果用-字符表示,则没有执行权限。 对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。 同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。 文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。 因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。 在以上实例中,boot 文件是一个目录文件,属主和属组都为 root。 修改文件属性

Python编程快速上手-让繁琐工作自动化|电子版|PDF|高清完整版

想要从零开始学python编程,以及自动化,它是你最需要的教程。  点击有领取方式  这些问题你可能会遇到,可以先看看:  我没有接触过编程,一点基础都没有,学会Python吗? 答:当然可以,它就是专门针对新人学习的,它不仅介绍了完整的Python基础知识,还详细的讲解了实战案例的思路步骤和代码分析,不分年龄、学历、专业都能学会。  我工作中有大量的重复繁琐的工作,我想让它简单点、自动完成,这本书适合我吗? 答:可以说非常适合,它的项目案例基本上都是基于办公任务,包括在一个或多个文件中搜索文本,创建、更新、移动和重命名文件和文件夹,搜索网页和下载的在线内容,拆分、合并PDF文件,抓取Web端信息,读取、写入、更新Excel电子表格,复制、粘贴、裁剪图像,为图像添加logo,自动发送邮件、短信,自动操控电脑等等。通过这些案例,你可以轻松提高工作效率,从繁忙的工作中解脱出来。  如果我没有足够的时间从头开始学习,有现成的项目案例供我使用吗? 答:这里有14类81个实用的完整项目案例随你用,并且每个案例都有完整的思路分析、步骤说明、代码讲解等,在这里,你不用纠结代码是否简洁优雅、是否耗费CPU等问题,可以直接使用直观实用的代码即可。  内容介绍  第一部分:Python编程基础  “第1章:Python基础”介绍了表达式、Python指令的最基本类型,以及如何使用Python交互式环境来尝试运行代码。  “第2章:控制流”解释了如何让程序决定执行哪些指令,以便代码能够智能地响应不同的情况。  “第3章:函数”介绍了如何定义自己的函数,以便将代码组织成可管理的部分。  “第4章:列表”介绍了列表数据类型,解释了如何组织数据。  “第5章:字典和结构化数据”介绍了字典数据类型,展示了更强大的数据组织方法。  “第6章:字符串操作”介绍了处理文本数据(在Python中称为字符串)。  第二部分:自动化任务  “第7章:模式匹配与正则表达式”介绍了Python如何用正则表达式处理字符串,以及查找文本模式。  “第8章:读写文件”解释了程序如何读取文本文件的内容,并将信息保存到硬盘的文件中。  “第9章:组织文件”展示了Python如何用比手工操作快得多的速度,复制、移动、重命名和删除大量的文件,也解释了压缩和解压缩文件。  “第10章:调试”展示了如何使用Python的缺陷查找和缺陷修复工具。  “第11章:从Web抓取信息”展示了如何编程来自动下载网页,解析它们,获取信息。这称为从Web抓取信息。  “第12章:处理Excel电子表格”介绍了编程处理Excel电子表格,这样你就不必去阅读它们。如果你必须分析成百上千的文档,这是很有帮助的。  “第13章:处理PDF和Word文档”介绍了编程读取Word和PDF文档。  “第14章:处理CSV文件和JSON数据”解释了如何编程操作CSV和JSON文件。  “第15章:保持时间、计划任务和启动程序”解释了Python程序如何处理时间和日期,如何安排计算机在特定时间执行任务。这一章也展示了Python程序如何启动非Python程序。  “第16章:发送电子邮件和短信”解释了如何编程来发送电子邮件和短信。  “第17章:操作图像”解释了如何编程来操作JPG或PNG这样的图像。  “第18章:用GUI自动化控制键盘和鼠标”解释了如何编程控制鼠标和键盘,自动化鼠标点击和击键。