- 2024.3.25力扣(1200-1400)刷题记录
Circusxxx
2024年3月力扣刷题记录leetcode算法python
一、1784.检查二进制字符串字段1.使用0分割。分割出来的结果是含有“1”的串和空串。classSolution:defcheckOnesSegment(self,s:str)->bool:#使用0分割returnsum(len(c)!=0forcins.split("0"))bool:#除了前面可以出现0,后面不能出现#1最后出现的位置必须在0第一次出现位置的前面idx_one=0idx_ze
- 安恒杯2018-pwn-over
Sadmess
framefaking正如这个技巧名字所说的那样,这个技巧就是构造一个虚假的栈帧来控制程序的执行流。原理概括地讲,我们在之前讲的栈溢出不外乎两种方式控制程序EIP控制程序EBP其最终都是控制程序的执行流。在framefaking中,我们所利用的技巧便是同时控制EBP与EIP,这样我们在控制程序执行流的同时,也改变程序栈帧的位置。一般来说其payload如下bufferpadding|fakeebp
- pwn学习笔记(4)ret2libc
晓幂
学习笔记
pwn学习笔记(4)静态链接:静态链接是由链接器在链接时将库的内容加入到可执行程序中的做法。链接器是一个独立程序,将一个或多个库或目标文件(先前由编译器或汇编器生成)链接到一块生成可执行程序。这里的库指的是静态链接库,Windows下以.lib为后缀,Linux下以.a为后缀。也就是说将静态链接库中的所有的函数都写入这个ELF文件中,所以会造成该二进制文件极为庞大,因此也会存在很多的可供利用来re
- 【刷题记录】合并两个有序数组、移除元素
睡觉待开机
算法数据结构
本系列博客为个人刷题思路分享,有需要借鉴即可。1.题目链接:T1:LINKT2:LINK2.详解思路:T1:思路1:弄个新数组,比较两个数组中的值,哪个小就把哪个值放到新数组中。分析1:时间复杂度:O(N);空间复杂度:O(N)但是显然在本题中题目明确表示要放在原数组中,否定该思路。思路2:把nums2内容拷贝到nums1有效数据的后面,再进行排序分析2:否定,仅排序而言时间复杂度:O(N*log
- 【BUUCTF】[SWPU2019]神奇的二维码
shane_seven
ctfwp
0x00 刚拿到这题的时候,还以为很简单的样子,结果发现才是一坑接一坑,套娃坑套娃。(出题人友好点儿吧,球球了>_<)0x01 惯例下好文件,是个rar,打开发现是个“神奇的二维码”,直接扫描无果,拿到winhex下查看,发现好几个rar文件 分别手动复制粘贴到新文件,保存,共有四个rar,按照在文件里的位置先后顺序排列 1.rar打开是一行base64编码的字符串,解码后为 打开2.rar,里面
- BUUCTF misc 专题(127)[UTCTF2020]spectogram
tt_npc
安全网络安全音视频
下载下来一个音频,拖到au中没啥发现,也听不出来这题需要用到的一个工具是SonicVisualiser,也是看了大佬的博客才知道的DownloadSonicVisualiser打开是这样的一个界面右键选择Layer->AddSpectrogram能很明显看到flagflag{sp3tr0gr4m0ph0n3}
- BUUCTF msic 专题(128)[ACTF新生赛2020]剑龙
tt_npc
网络安全安全
下载附件,最后解压出来一张jpg,一个无后缀文件和一个pwd.txt先把无后缀文件拖进010查看一下,看不出来什么。看看明显的pwd.txtaaencode解密jjencode与aaencode解密工具-jjencode解密-aaencode解密-在线工具得到welcom3!;再看看图片,welcom3!;岷县是一个密码那么猜测是steghide隐写应该是需要des解密的密文,但是缺个密钥在图片的
- BUUCTF misc 专题(30)webshell后门
tt_npc
python网络安全安全
看题目,又是一道后门查杀的题目,下载了资源以后我们发现是一个rar的文件解压里面的文件后打开D盾进行后门查杀在这里找到了,并根据路径打开所在的文件夹,找到文件根据题目提示,我们在这里找到了md5再根据md5中的pass我们可以找到pass包上flag就是答案了flag{ba8e6c6f35a53933b871480bb9a9545c}
- BUUCTF misc 专题(126)voip
tt_npc
安全网络安全音视频
下载附件,是一个流量包,wireshark打开分析协议分级发现都是RTP流,也不是很懂,上网搜了一下,发现是一种语音通话技术然后wireshark中有电话的选项,可以选中分析rtp流,并且播放播放的音频就是flag,flag{9001IVR}
- BUUCTF misc 专题(11)wireshark
tt_npc
wireshark测试工具网络网络安全
读题,很明显,这是一波带领你收集工具的题目,就是wiresharkWireshark·Downloadhttps://www.wireshark.org/download.html先是对wireshark的下载和安装下载好题目资源以后进行解压,直接拖入到wireshark中由题知,管理员的密码就是答案那么我们直接用http.request.method=="POST"滤出post就行让我们再用TC
- buuctf-misc-[SWPU2019]神奇的二维码1
mlws1900
buuctfmiscctfjavaservletjvmctf
下载附件,看到一个二维码利用二维码工具进行扫码,获得信息flag不在此,用winhex打开观察到多个rar文件和类似base64编码的内容看到最后看到一个mp3文件,开始文件分离(用windows系统的foremost无法分离文件)用kali的binwalk进行分离发现四个rar文件一一打开查看第一个rar文件打开一个图片和一个无法打开的f图片第二个rar文件YXNkZmdoamtsMTIzNDU
- BUUCTF [SWPU2019]神奇的二维码 1
玥轩_521
BUUCTFMISC安全CTF笔记网络安全BUUCTFMisc
BUUCTF:https://buuoj.cn/challenges题目描述:得到的flag请包上flag{}提交。密文:下载附件,得到一个.png图片。解题思路:1、使用QRresearch扫一下,得到“swpuctf{flag_is_not_here}”的提示。2、放到010Editor中看一下,没找到什么明显的特征。使用Kali中的binwalk工具进行检测,发现四个rar压缩包。使用bin
- BUUCTF misc 专题(47)[SWPU2019]神奇的二维码
tt_npc
网络安全安全python
下载附件,得到一张二维码图片,并用工具扫描(因为图片违规了,所以就不放了哈。工具的话,一般的二维码扫描都可以)swpuctf{flag_is_not_here},(刚开始出了点小差错对不住各位师傅)根据提示知道答案并不在这里,拖入winhex进行查看搜索出多个Rar,将文件放入kali进行binwalk分离出了多个rar,先查看txt文档中的内容YXNkZmdoamtsMTIzNDU2Nzg5MA
- 【BUUCTF 加固题】Ezsql 速通
hacker-routing
webCTF夺旗赛开发语言前端javascriptweb安全htmlphpCTF
博主介绍博主介绍:大家好,我是hacker-routing,很高兴认识大家~✨主攻领域:【渗透领域】【应急响应】【Java】【VulnHub靶场复现】【面试分析】点赞➕评论➕收藏==养成习惯(一键三连)欢迎关注一起学习一起讨论⭐️一起进步文末有彩蛋作者水平有限,欢迎各位大佬指点,相互学习进步!目录前言一、访问web网址二、ssh远程登录三、加固网站源代码前言靶机地址解释:第一行:目标机器WEB服
- ctf刷题 ctfshow【网鼎杯】
路向阳_
CTF学习网络安全
Php-3、java-3、目录一、网鼎杯-青龙组-web--AreUserialZ1、源码见下:serialzcopy3、绕过语法详解:4、尝试绕过:二、php特性三、php反序列化漏洞四、Buuctf一、网鼎杯-青龙组-web--AreUserialZBuuctf1、源码见下:serialzcopyPhp反序列化:思路:先阅读源码,在分析思路//大致思路:新建一个对象filenameflag.p
- 【Web】CTFSHOW java刷题记录(全)
Z3r4y
javactfshowstruts2strutsrcecveweb
目录web279web280web281web282web283web284web285web286web287web288web289web290web291web292web293web294web295web296web297web298web299web300web279题目提示url里告诉我们是S2-001直接进行一个exp的搜S2-001漏洞分析-CSDN博客payload:%{#a=
- 【刷题记录】移除链表元素
睡觉待开机
链表数据结构
本系列博客为个人刷题思路分享,有需要借鉴即可。注:部分思路借鉴自程序员小熊链接:https://leetcode.cn/problems/remove-linked-list-elements/solutions/341875/203-yi-chu-lian-biao-yuan-su-you-ya-di-gui-c-yu-ya/来源:力扣(LeetCode)1.目录大纲:2.题目链接:T1:LIN
- leetcode刷题记录(三数之和)超时记录
顺利毕业(研)
leetcode算法python
1.题目描述2.解题思路看到这个题目,感觉和之前做的水仙花数的题目差不多,对于一个没有经过训练来说,首先想到的事情就是暴力破解,直接上循环就可以了,但是这样肯定在时间上占不到优势,解决问题肯定能够解决,但是leetcode上通不过。附上我自己写的代码。classSolution:defthreeSum(self,nums:List[int])->List[List[int]]:reesult=[]
- LeetCode刷题记录:110. 平衡二叉树
「已注销」
c++
110.平衡二叉树解题思路:使用递归遍历二叉树,求出每个二叉树节点的高度并进行判断。递归时若二叉树节点没有子节点,返回0;若二叉树左右节点的高度差的绝对值大于1,说明树已经不满足平衡树的条件,返回-1;否则返回当前节点的最高高度(即左右节点高度中的最大值+1)。通关代码:classSolution{public:intheight(TreeNode*root){if(root==NULL){ret
- leetcode刷题记录:暴力搜索算法01 - 回溯
小新0077
2024算法工程师求职leetcode算法职场和发展
参考:labuladong的算法小抄https://labuladong.online/algo/essential-technique/backtrack-framework/这篇太牛了,一个模板把所有的排列组合子集问题全秒了。1.简介暴力搜索算法:回溯、dfs、bfs。这些都可以看做是从二叉树算法衍生出来的。解决一个回溯问题,实际上是在遍历一颗决策树的过程。树的每个叶子结点上存着一个答案。把整
- LeetCode刷题记录(二叉树篇)
蓝鲸小镇不临海
二叉树算法leetcode
文章目录前言一、简单题226.翻转二叉树前言保研在即,记录一下我的刷题过程提示:以下是本篇文章正文内容,下面案例可供参考一、简单题226.翻转二叉树基本思路:一个简单的递归前序遍历搞定。代码:publicTreeNodeinvertTree(TreeNoderoot){if(root==null)returnnull;TreeNodetmp=root.right;root.right=root.l
- leetcode刷题记录:二叉树04(序列化和反序列化)
小新0077
2024算法工程师求职leetcodelinux算法
参考:https://labuladong.online/algo/data-structure/serialize-and-deserialize-binary-tree/1.前中后序和二叉树的唯一性给定空指针的前提下,只有前序和后序可以唯一确定一颗二叉树;中序不可以。原因是中序遍历无法确定二叉树根节点的位置。不给定空指针的前提下,只靠一种遍历结果是无法还原二叉树的;给定前序和中序,或者中序和后
- 有不含有重复数字的数组构造二叉树_Leetcode刷题记录:构建最大数二叉树
southbread
题目要求,题目地址给定一个不含重复数字的数组,最大二叉树构建规则如下:1、根是数组中最大的数字2、左边的子树是最大数字左边的内容3、右边的子树是最大数字右边的内容答案classSolution(object):defconstructMaximumBinaryTree(self,nums):""":typenums:List[int]:rtype:TreeNode"""#print(max(num
- leetcode刷题记录 1.1 链表
小新0077
2024算法工程师求职leetcode链表linux
参考:labuladong的算法小抄,自己按照思路手写了一遍https://labuladong.github.io/algo/di-ling-zh-bfe1b/shuang-zhi-0f7cc/链表Checklist如果要创造一个新表,用dummy指针避免空指针的处理情况,代码更简洁分割链表:记得断开原链表的next,否则结果有环快慢指针应用倒数第k个:fast先跑k步,slow开始跑环形链表:
- leetcode刷题记录:二叉树1(纲领篇)
小新0077
2024算法工程师求职leetcode算法职场和发展
摘自labuladong的算法小抄:https://labuladong.online/algo/essential-technique/binary-tree-summary-2/1.二叉树的遍历框架voidtraverse(TreeNode*root){if(!root){return;}//前序位置traverse(root->left);//中序位置traverse(root->right
- leetcode刷题记录:二叉树03(构造二叉树)
小新0077
2024算法工程师求职leetcode算法职场和发展
参考:https://labuladong.online/algo/data-structure/binary-tree-part2/构造问题一般都是通过分解的思路,构造整棵树=根节点+构造左子树+构造右子树654最大二叉树找到最大值和对应的index先把根节点构造出来,然后递归地构造左子树和右子树需要一个traverse函数,传入nums的索引,返回以nums[lo:hi]构造的最大二叉树。cl
- leetcode刷题记录:二叉树02(思路篇)
小新0077
2024算法工程师求职leetcode数据结构算法
参考labuladong的算法小抄:https://labuladong.online/algo/data-structure/binary-tree-part1/复习二叉树纲领篇,二叉树解题的思维模式分两类:1、是否可以通过遍历一遍二叉树得到答案?如果可以,用一个traverse函数配合外部变量来实现,这叫「遍历」的思维模式。2、是否可以定义一个递归函数,通过子问题(子树)的答案推导出原问题的答
- [WUSTCTF2020]CV Maker1 --不会编程的崽
不会编程的崽
网络安全web安全安全
写个简单的文件上传题目吧。不知道为什么buuctf很少人解这题看着有点高端,但实际花里胡哨的。随便注册一个账户就行很明显,文件上传。burp启动,先上传个php文件试试。提示太明显了。而且测试它还不检测后缀添加GIF89a上传成功,找到路径即可。去页面复制图像路径,或者数据包里找也行上蚁剑
- [Flask]SSTI1 buuctf
bK_Rose
ctfsstipython网络安全
声明:本篇文章csdn要我一天发两篇所以我来水的跟ssti注入的详细知识我这里写了https://blog.csdn.net/weixin_74790320/article/details/136154130上面链接我复现了vulhub的SSTI,其实本质上是一道题然后我们就用{{''.__class__}}看类的类型,但是无所谓,啥类型都可以,因为我们要找到的是他的基类,然后通过基类去找子类{{
- HGAME 2024 WEEK1 WP
是Mumuzi
ctf信息安全
文章目录WEBezHTTPBypassitSelectCourses2048*16jhatREezASMezPYCezUPXezIDAPWNEzSignInCRYPTO奇怪的图片ezRSAezMathezPRNGMISCSignIn来自星尘的问候simple_attack希儿希儿希尔签到放假比较闲,打打比赛WEBezHTTP来自vidar.club、UA要求阿巴阿巴阿巴、来自本地(提示不是XFF,
- xml解析
小猪猪08
xml
1、DOM解析的步奏
准备工作:
1.创建DocumentBuilderFactory的对象
2.创建DocumentBuilder对象
3.通过DocumentBuilder对象的parse(String fileName)方法解析xml文件
4.通过Document的getElem
- 每个开发人员都需要了解的一个SQL技巧
brotherlamp
linuxlinux视频linux教程linux自学linux资料
对于数据过滤而言CHECK约束已经算是相当不错了。然而它仍存在一些缺陷,比如说它们是应用到表上面的,但有的时候你可能希望指定一条约束,而它只在特定条件下才生效。
使用SQL标准的WITH CHECK OPTION子句就能完成这点,至少Oracle和SQL Server都实现了这个功能。下面是实现方式:
CREATE TABLE books (
id &
- Quartz——CronTrigger触发器
eksliang
quartzCronTrigger
转载请出自出处:http://eksliang.iteye.com/blog/2208295 一.概述
CronTrigger 能够提供比 SimpleTrigger 更有具体实际意义的调度方案,调度规则基于 Cron 表达式,CronTrigger 支持日历相关的重复时间间隔(比如每月第一个周一执行),而不是简单的周期时间间隔。 二.Cron表达式介绍 1)Cron表达式规则表
Quartz
- Informatica基础
18289753290
InformaticaMonitormanagerworkflowDesigner
1.
1)PowerCenter Designer:设计开发环境,定义源及目标数据结构;设计转换规则,生成ETL映射。
2)Workflow Manager:合理地实现复杂的ETL工作流,基于时间,事件的作业调度
3)Workflow Monitor:监控Workflow和Session运行情况,生成日志和报告
4)Repository Manager:
- linux下为程序创建启动和关闭的的sh文件,scrapyd为例
酷的飞上天空
scrapy
对于一些未提供service管理的程序 每次启动和关闭都要加上全部路径,想到可以做一个简单的启动和关闭控制的文件
下面以scrapy启动server为例,文件名为run.sh:
#端口号,根据此端口号确定PID
PORT=6800
#启动命令所在目录
HOME='/home/jmscra/scrapy/'
#查询出监听了PORT端口
- 人--自私与无私
永夜-极光
今天上毛概课,老师提出一个问题--人是自私的还是无私的,根源是什么?
从客观的角度来看,人有自私的行为,也有无私的
- Ubuntu安装NS-3 环境脚本
随便小屋
ubuntu
将附件下载下来之后解压,将解压后的文件ns3environment.sh复制到下载目录下(其实放在哪里都可以,就是为了和我下面的命令相统一)。输入命令:
sudo ./ns3environment.sh >>result
这样系统就自动安装ns3的环境,运行的结果在result文件中,如果提示
com
- 创业的简单感受
aijuans
创业的简单感受
2009年11月9日我进入a公司实习,2012年4月26日,我离开a公司,开始自己的创业之旅。
今天是2012年5月30日,我忽然很想谈谈自己创业一个月的感受。
当初离开边锋时,我就对自己说:“自己选择的路,就是跪着也要把他走完”,我也做好了心理准备,准备迎接一次次的困难。我这次走出来,不管成败
- 如何经营自己的独立人脉
aoyouzi
如何经营自己的独立人脉
独立人脉不是父母、亲戚的人脉,而是自己主动投入构造的人脉圈。“放长线,钓大鱼”,先行投入才能产生后续产出。 现在几乎做所有的事情都需要人脉。以银行柜员为例,需要拉储户,而其本质就是社会人脉,就是社交!很多人都说,人脉我不行,因为我爸不行、我妈不行、我姨不行、我舅不行……我谁谁谁都不行,怎么能建立人脉?我这里说的人脉,是你的独立人脉。 以一个普通的银行柜员
- JSP基础
百合不是茶
jsp注释隐式对象
1,JSP语句的声明
<%! 声明 %> 声明:这个就是提供java代码声明变量、方法等的场所。
表达式 <%= 表达式 %> 这个相当于赋值,可以在页面上显示表达式的结果,
程序代码段/小型指令 <% 程序代码片段 %>
2,JSP的注释
<!-- -->
- web.xml之session-config、mime-mapping
bijian1013
javaweb.xmlservletsession-configmime-mapping
session-config
1.定义:
<session-config>
<session-timeout>20</session-timeout>
</session-config>
2.作用:用于定义整个WEB站点session的有效期限,单位是分钟。
mime-mapping
1.定义:
<mime-m
- 互联网开放平台(1)
Bill_chen
互联网qq新浪微博百度腾讯
现在各互联网公司都推出了自己的开放平台供用户创造自己的应用,互联网的开放技术欣欣向荣,自己总结如下:
1.淘宝开放平台(TOP)
网址:http://open.taobao.com/
依赖淘宝强大的电子商务数据,将淘宝内部业务数据作为API开放出去,同时将外部ISV的应用引入进来。
目前TOP的三条主线:
TOP访问网站:open.taobao.com
ISV后台:my.open.ta
- 【MongoDB学习笔记九】MongoDB索引
bit1129
mongodb
索引
可以在任意列上建立索引
索引的构造和使用与传统关系型数据库几乎一样,适用于Oracle的索引优化技巧也适用于Mongodb
使用索引可以加快查询,但同时会降低修改,插入等的性能
内嵌文档照样可以建立使用索引
测试数据
var p1 = {
"name":"Jack",
"age&q
- JDBC常用API之外的总结
白糖_
jdbc
做JAVA的人玩JDBC肯定已经很熟练了,像DriverManager、Connection、ResultSet、Statement这些基本类大家肯定很常用啦,我不赘述那些诸如注册JDBC驱动、创建连接、获取数据集的API了,在这我介绍一些写框架时常用的API,大家共同学习吧。
ResultSetMetaData获取ResultSet对象的元数据信息
- apache VelocityEngine使用记录
bozch
VelocityEngine
VelocityEngine是一个模板引擎,能够基于模板生成指定的文件代码。
使用方法如下:
VelocityEngine engine = new VelocityEngine();// 定义模板引擎
Properties properties = new Properties();// 模板引擎属
- 编程之美-快速找出故障机器
bylijinnan
编程之美
package beautyOfCoding;
import java.util.Arrays;
public class TheLostID {
/*编程之美
假设一个机器仅存储一个标号为ID的记录,假设机器总量在10亿以下且ID是小于10亿的整数,假设每份数据保存两个备份,这样就有两个机器存储了同样的数据。
1.假设在某个时间得到一个数据文件ID的列表,是
- 关于Java中redirect与forward的区别
chenbowen00
javaservlet
在Servlet中两种实现:
forward方式:request.getRequestDispatcher(“/somePage.jsp”).forward(request, response);
redirect方式:response.sendRedirect(“/somePage.jsp”);
forward是服务器内部重定向,程序收到请求后重新定向到另一个程序,客户机并不知
- [信号与系统]人体最关键的两个信号节点
comsci
系统
如果把人体看做是一个带生物磁场的导体,那么这个导体有两个很重要的节点,第一个在头部,中医的名称叫做 百汇穴, 另外一个节点在腰部,中医的名称叫做 命门
如果要保护自己的脑部磁场不受到外界有害信号的攻击,最简单的
- oracle 存储过程执行权限
daizj
oracle存储过程权限执行者调用者
在数据库系统中存储过程是必不可少的利器,存储过程是预先编译好的为实现一个复杂功能的一段Sql语句集合。它的优点我就不多说了,说一下我碰到的问题吧。我在项目开发的过程中需要用存储过程来实现一个功能,其中涉及到判断一张表是否已经建立,没有建立就由存储过程来建立这张表。
CREATE OR REPLACE PROCEDURE TestProc
IS
fla
- 为mysql数据库建立索引
dengkane
mysql性能索引
前些时候,一位颇高级的程序员居然问我什么叫做索引,令我感到十分的惊奇,我想这绝不会是沧海一粟,因为有成千上万的开发者(可能大部分是使用MySQL的)都没有受过有关数据库的正规培训,尽管他们都为客户做过一些开发,但却对如何为数据库建立适当的索引所知较少,因此我起了写一篇相关文章的念头。 最普通的情况,是为出现在where子句的字段建一个索引。为方便讲述,我们先建立一个如下的表。
- 学习C语言常见误区 如何看懂一个程序 如何掌握一个程序以及几个小题目示例
dcj3sjt126com
c算法
如果看懂一个程序,分三步
1、流程
2、每个语句的功能
3、试数
如何学习一些小算法的程序
尝试自己去编程解决它,大部分人都自己无法解决
如果解决不了就看答案
关键是把答案看懂,这个是要花很大的精力,也是我们学习的重点
看懂之后尝试自己去修改程序,并且知道修改之后程序的不同输出结果的含义
照着答案去敲
调试错误
- centos6.3安装php5.4报错
dcj3sjt126com
centos6
报错内容如下:
Resolving Dependencies
--> Running transaction check
---> Package php54w.x86_64 0:5.4.38-1.w6 will be installed
--> Processing Dependency: php54w-common(x86-64) = 5.4.38-1.w6 for
- JSONP请求
flyer0126
jsonp
使用jsonp不能发起POST请求。
It is not possible to make a JSONP POST request.
JSONP works by creating a <script> tag that executes Javascript from a different domain; it is not pos
- Spring Security(03)——核心类简介
234390216
Authentication
核心类简介
目录
1.1 Authentication
1.2 SecurityContextHolder
1.3 AuthenticationManager和AuthenticationProvider
1.3.1 &nb
- 在CentOS上部署JAVA服务
java--hhf
javajdkcentosJava服务
本文将介绍如何在CentOS上运行Java Web服务,其中将包括如何搭建JAVA运行环境、如何开启端口号、如何使得服务在命令执行窗口关闭后依旧运行
第一步:卸载旧Linux自带的JDK
①查看本机JDK版本
java -version
结果如下
java version "1.6.0"
- oracle、sqlserver、mysql常用函数对比[to_char、to_number、to_date]
ldzyz007
oraclemysqlSQL Server
oracle &n
- 记Protocol Oriented Programming in Swift of WWDC 2015
ningandjin
protocolWWDC 2015Swift2.0
其实最先朋友让我就这个题目写篇文章的时候,我是拒绝的,因为觉得苹果就是在炒冷饭, 把已经流行了数十年的OOP中的“面向接口编程”还拿来讲,看完整个Session之后呢,虽然还是觉得在炒冷饭,但是毕竟还是加了蛋的,有些东西还是值得说说的。
通常谈到面向接口编程,其主要作用是把系统设计和具体实现分离开,让系统的每个部分都可以在不影响别的部分的情况下,改变自身的具体实现。接口的设计就反映了系统
- 搭建 CentOS 6 服务器(15) - Keepalived、HAProxy、LVS
rensanning
keepalived
(一)Keepalived
(1)安装
# cd /usr/local/src
# wget http://www.keepalived.org/software/keepalived-1.2.15.tar.gz
# tar zxvf keepalived-1.2.15.tar.gz
# cd keepalived-1.2.15
# ./configure
# make &a
- ORACLE数据库SCN和时间的互相转换
tomcat_oracle
oraclesql
SCN(System Change Number 简称 SCN)是当Oracle数据库更新后,由DBMS自动维护去累积递增的一个数字,可以理解成ORACLE数据库的时间戳,从ORACLE 10G开始,提供了函数可以实现SCN和时间进行相互转换;
用途:在进行数据库的还原和利用数据库的闪回功能时,进行SCN和时间的转换就变的非常必要了;
操作方法: 1、通过dbms_f
- Spring MVC 方法注解拦截器
xp9802
spring mvc
应用场景,在方法级别对本次调用进行鉴权,如api接口中有个用户唯一标示accessToken,对于有accessToken的每次请求可以在方法加一个拦截器,获得本次请求的用户,存放到request或者session域。
python中,之前在python flask中可以使用装饰器来对方法进行预处理,进行权限处理
先看一个实例,使用@access_required拦截:
?