安全矩阵

 找回密码
 立即注册
搜索
查看: 3492|回复: 7

姬婷的学习日记

[复制链接]

3

主题

10

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2020-2-18 00:57:50 | 显示全部楼层 |阅读模式
第一章 程序设计与计算思维


一、​程序设计与计算机语言
1.程序设计步骤
分析问题→设计算法→编写程序→对源程序进行编辑 编译 连接→运行程序并分析结果→文档编写
2.计算机语言
低级语言:机器语言、汇编语言    ☞通用性差
高级语言:如C、C++、Java、Python……
二、​Python语言
1.特点
①跨平台和兼容性非常好,可运行在多种计算机平台和操作系统中,如各位unix,windows,MacOS,OS/2等等
②自动内存回收。这使程序员编程时,可不考虑程序运行中的内存管理,而专注于自己的逻辑处理。
③面向对象特性(object_oriented)。这使Python语言顺应了当今程序设计语言发展的大势,从而为它被更加广泛的应用奠定了基础。它博采众长,支持        多重继承(multiple inheritance),重载(override)。
④强大的动态数据类型支持,不同数据类型相加会引发一个异常。
    强大的类库支持,使编写文件处理、正则表达式,网络连接等程序变得相当容易。
⑤Python的交互命令行模块可便于进行小代码调试和学习。
⑥Python易于扩展,可以通过C或C++编写的模块进行功能扩展。
2.应用
①系统编程,提供大量系统接口API,能方便进行系统维护和管理。
②图形处理,有PIL、Tkinter等图形库支持,能方便进行图形处理。
③数学处理,NumPy扩展提供大量与许多标准数学库的接口。
④文本处理,Python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用Python进行XML程序的开发。
⑤数据库编程,程序员可通过遵循Python DB-API(数据库应用程序编程接口)规范的模块与Microsoft SQL Server、Oracle、Sybase、DB2、Mysql等数据      库通信。Python自带有一个Gadfly模块,提供了一个完整的SQL环境。
⑥网络编程,提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。
⑦作为Web应用的开发语言,支持最新的XML技术。
⑧多媒体应用。
⑨Pygame是Python开发游戏的一个库,关于Pygame具体可参考http://www.pygame.org网站。

回复

使用道具 举报

3

主题

10

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2020-2-19 00:26:10 | 显示全部楼层
                                                                                   第二章 算法概述
一、计算机程序与算法
1.算法:对计算机执行的计算过程的具体描述。
2.算法和程序的关系:计算机算法是程序的灵魂。先有算法,再有程序。
3.程序的开发过程:分析问题→根据算法编写程序→测试程序。
4.算法的性质:
①正确性:无论输入啥(包括合理的输入与不合理的输入),总能得到预期的输出。
②可行性:算法的每一步都能被计算机理解和执行,而不是抽象和模糊的概念。(大概,近似,比较小等)。
③确定性:算法每个步骤都有确定的执行顺序,每一步是什么,都必须明确,无二义性。
④有限性:无论算法多复杂,都必在有限步之后结束。

二、算法的描述
可用流程图、自然语言、伪代码等描述
1.自然语言描述的算法通俗易懂。但由于需要根据算法编制程序,所以直接使用自然语言描述算法不够简单明了,与程序设计的关系也不够密切。
2.伪代码就是用简明扼要的文字以及类似数学上的表达式,按类似程序的格式写出的算法。其并不能在编译器上通过编译(或解释)生成运行程序,但与程序较接近,较易按此思路编写出实际程序。用伪代码书写的算法虽无严格的语法规则,但要求清晰易读。介于自然语言与程序设计语言中间。
3.基本程序流程结构:顺序结构、选择结构(分支结构)、循环结构

三、常用算法简介
1.分类:简单算法: ①一般有公式作为算法描述。
                              ②算法通过一次性计算解决问题。
             复杂算法:①一般没有终极公式作为问题解法。
                              ②可通过一次次反复计算逐步得到问题的解或近似解。
                              ③每个计算周期计算问题的一部分或得到一个更好的近似解。
回复

使用道具 举报

3

主题

10

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2020-2-20 20:56:38 | 显示全部楼层
jt77 发表于 2020-2-19 00:26
第二章 算法概述
...

                                                                                   第三章 数据表示和计算
一、数据和数据类型
1.数据:对现实世界的抽象,常包括:数值数据、文本数据、复合类数据。
2.数据类型:当数据具有以下相同的特性时就构成一类
                            ①书写形式相同
                            ②在具体实现中编码形式相同(内部的二进制编码)
                            ③在内存存储中二进制编码位数相同
                            ④能做同样的运算操作
3.Python的内置数据类型
    简单数据类型:整型        int             389
                                浮点型     float         23.26
                                复数        complex
                                布尔类型  bool
    序列对象:       字符串 str                      ‘hello’
                               元组    tuple
                               列表    list
    其他类型:       集合类型 set
                               字典类型 dict
4.标识符:对特定对象命名 包括:变量名、函数名、类名、对象名等等。   
    python中的标识符:①以大小写英文字母、下划线等引导的
                                     ②后续可为任意非空格字符
                                     ③标识符长度任意,大小写敏感
                                     ④不能与Python关键字同名。
关键字:False  def  if  raise  None  del  import  return  True  elif  in  try   and  else  is  while  as  except  lambda  
                with  assert  finally  nonlocal  yield  break  for  not  class  from  or  continue  global  pass
5.变量的操作x=x+2     ✔ 累加器
                        x+2=X    ✘
6.python的动态类型
静态类型化(很多高级程序语言):预先指定变量的数据类型
动态类型”技术(python):变量使用前不需要声明数据类型即可使用
回复

使用道具 举报

3

主题

10

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2020-2-26 21:09:04 | 显示全部楼层
jt77 发表于 2020-2-19 00:26
第二章 算法概述
...

二、数值数据的表示与计算
1.数值数据的常量表示
①整形数据int:整数的大小只受机器的内存大小限制,默认情况下采用十进制,也可用其它进制。
②浮点型数据float:小数形式47.584 指数形式8.9e-4表示8.9×10-4 即0.00089
③布尔类型数据bool:布尔类型数据只有两个 True和False,表示真和假。以真和假为值的表达式称为布尔表达
                                         式,用于表示某种条件是否成立,以支持选择控制和循环控制中必不可少的条件判断。
④复数类型数据complex:表示为real + imag(J/j后缀) 4.23+8.5j
2.数值数据的计算
加 x+y       减 x-y
相乘 x*y    相除 x/y    整除 x//y    求余 x%y    求乘方x**y    (%为求余数的运算可通过求余运算来判断一个数能否被另一个数整除。)
比较运算符<    <=    >    >=    ==    !=
逻辑运算符 或or    与and    非not
复合赋值运算符=    +=    -=    *=    /=    %=    **=

例:整数的除法和整除         例:浮点数的除法和整除         例:判断一个数是否为偶数
>>> x=8                            >>> x=3.8                                >>> x=834
>>> y=3                            >>> y=0.7                                >>> x%2==0
>>> x/y整数的除法             >>> x/y                                    True
2.6666666666666665         5.428571428571429
>>> x//y整除                     >>> x//y
2                                       5.0
要注意区别 运算赋值 =  与 相等==
(直接求掉尾部小数)
常用运算符优先级
1 正+x    负-x
2 幂x**y
3 乘x*y    除x/y     取余x%y
4 加x+y   减x-y
5 比较
6 否not
7 与and
8 或or

3.模块:把常用一些功能单独放到一个文件中,方便其他文件调用。此文件可叫一个模块。
   标准库:包含很多模块,为操作系统、解释器和互联网之间的交互提供了丰富的工具。
                   所有模块都得到充分测试,可用来作为应用开发的起点。
                   分为内置模块和非内置模块
   内置模块:通过builtin模块提供,该模块不需手动导入,启动Python时系统会自动导入,任何程序都可直接使
                       用它们。
                       该模块定义了一些软件开发中常用的函数,这些函数实现了数据类型的转换, 数据
                       的计算, 序列的处理、常用字符串处理。
   非内置模块库:非内置模块以文件的形式存在于Python的安装目录中,程序使用前需导入模块。
回复

使用道具 举报

3

主题

10

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2020-2-27 23:16:56 | 显示全部楼层
三、文本数据的表示和操作
1.文本的表示
①字符:计算机中表示文本最基本的单位是字符,包括可打印字符和不可打印的控制字符.
            可打印字符包括:英文的大小写字母‘a’~‘z’,‘A’~‘Z’
                                            数字字符‘0’~‘9’
                                            标点符号和一些键盘上的常见符号
②转义字符:反斜杠符号\\
                    单引号\’
                    双引号\\”
                    响铃\a
                    退格\b
                    转义\e
                    空\000
                    横向制表符\t
                    回车\r
                    换行\n
                    续行符\(在行尾时)
                    换页\f
                    \oyy 八进制数yy代表的字符,例如:\o12代表换行
                    \xyy 十六进制数yy代表的字符,例如:\x0a代表换行
③字符串常量:字符串可以使用双引号或单引号封装,但前后必须一致
                            如果字符串本身要带引号使用转义字符
                            >>> '\"hello\"'
                            ' "hello" '
                            >>> ' \'hello\' '
                            " 'hello' "
④字符串变量:实质是一个指向字符串对象的标示符
                            >>> s="hello"
                            >>> print(s)
                            hello
2 .字符串类型数据的基本计算
①连接和复制操作
例:联接运算                      复制运算[字符串]*[整数]
        >>> 'shang'+'hai'          >>> "hi "*5          >>> s="hi"
        'shanghai'                     'hi hi hi hi hi       >>> t=s*3
                                                                          >>> print(t)
                                                                          hihihi
②索引操作
例:字符串索引                           子串索引
        >>> "Student"[5]                   >>> s[0:2]
        'n'                                            'he'
        >>> s="hello python!"          >>> s[2:4]
        >>> s[0]                                  'll'
        'h'                                             >>>s[:2]     前面的两个字符
        >>> i=10                                 'He'
        >>> s[i+1]                               >>> s[2:]    除了开始2个字符的所有字符
        'n'                                             'llo python'
        >>> s[-1]
        '!'
③字符串的下标示例
   h      e       l       l      o           p    y      t    h     o      n     !
   0      1      2      3     4    5     6    7     8    9    10   11  12
-13   -12  -11   -10   -9   -8   -7    -6   -5   -4    -3    -2    -1
3. 字符串(str)对象的方法
①常用方法:S.capitalize()                       返回首字符大写后的字符串,S对象不变
                        S.lower()                              返回所有字符改小写后的字符串,S对象不变
                        S.upper()                              返回所有字符改大写后的字符串,S对象不变
                        S.strip()                                返回删去前后空格后的字符串,S对象不变
                        S.replace(old,new)             将S对象中所有的old子串用new子串代替
                        S.count(sub[,start[,end]])   计算子串sub在S对象中出现的次数,start和end定义起始位置
                        S.find(sub[,start[,end]])      计算子串sub在S对象中首次出现的位置
                        S.join(iterable)                    将序列对象中所有字符串合并成一个字符串,S对象为连接分隔符
                        S.split(sep=None)              将S对象按分隔符sep拆分为字符串列表,默认为空格
回复

使用道具 举报

3

主题

10

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2020-3-29 23:46:47 | 显示全部楼层
今日完成周末社工任务。
回复

使用道具 举报

3

主题

10

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2020-4-1 23:06:56 | 显示全部楼层
下载安装配置burpsuite 捣鼓了一下午 过程好曲折……
burpsuite 是用于攻击web 应用程序的集成平台。包含许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架。
需要学习burpsuite抓包拦截及修改​提交等基本操作
回复

使用道具 举报

3

主题

10

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2020-4-13 23:08:33 | 显示全部楼层
python
三个基本概念
1. 结构化(函数、模块、包)
2. 面向对象(类及派生类、重载)
3. 虚拟环境(版本管理、环境隔离)
四类基本操作
1. 数据操作(各种数据类型的操作)
2. 文件操作(文件打开读写关闭等操作)
3. 模块操作(导入使用、模块查寻等操作)
4.并发操作(进程与线程、锁/信号号/安全队列等)
五大基本语句(5)
1. 赋值语句(变量、对象、赋值运算符)
2. 输入输出语句(print, input函数)
3. 条件判断语句(if-elif-else语句)
4. 循环语句(遍历循环for-in-else、条件循环while-else、break/continue)
5. 异常处理语句(try-except-else-finally)
六种数据类型(6)
1. 数字类型(int,bool,float,complex)
2. 字符串(str)
3. 列表(list)
4. 元组(tuple)
5. 字典(dict)
6. 集合(set)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-3-29 20:31 , Processed in 0.015031 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表