- 博客(15)
- 收藏
- 关注
原创 mysql基础知识
并发问题1.丢失修改一个事务的更新操作被另一个事务的更新操作替换。2.脏读不同的事务下,当前的事务可以做到另外事务未提交的事务。3.不可重复读不可重复读指在一个事务内多次读取同一数据集合。在这一事务还未结束前,另一事务也访问了该同一数据集合并做了修改,由于第二个事务的修改,第一次事务的两次读取的数据可能不一致。4.幻读幻读本质上也属于不可重复读的情况,T1 读取某个范围的数据,T2 在这个范围内插入新的数据,T1 再次读取这个范围的数据,此时读取的结果和和第一次读取的结果不同。数据库并发场
2021-05-10 21:00:59
174
原创 XSS和CSRF攻击
什么是XSS攻击?恶意攻击者在web页面中会插入一些恶意的script代码。当用户浏览该页面的时候,那么嵌入到web页面中script代码会执行,因此会达到恶意攻击用户的目的。反射型xss反射性xss一般指攻击者通过特定的方式来诱惑受害者去访问一个包含恶意代码的URL。当受害者点击恶意链接url的时候,恶意代码会直接在受害者的主机上的浏览器执行。// 服务端代码router.get('/testcookie', (ctx, next) => { console.log(ctx.cook
2021-05-09 20:06:12
258
原创 SQL注入以及预防
什么是SQL注入?将前端的输入或传递的参数拼接成sql字符串语句的一部分,使得判断条件恒为正。SELECT * FROM user_table WHERE username='’or 1 = 1 -- and password='’如何预防SQL注入?1.检测变量数据类型和格式如果你的SQL语句是类似where id={$id}这种形式,数据库里所有的id都是数字,那么就应该在SQL被执行前,检查确保变量id是int类型,这样就不能传一些奇怪的值。2.过滤特殊符号对于无法确定固定格式的变量
2021-05-09 17:06:56
341
4
原创 Redis必备知识
Redis是一个内存型数据库,支持持久化、支持丰富的数据类型,使用单线程的多路IO复用模型(Redis6.0 引入了多线程IO),常用作分布式缓存。Redis 基于 Reactor 模式开发了自己的网络事件处理器:这个处理器被称为文件事件处理器(file event handler)。文件事件处理器使用 I/O 多路复用(multiplexing)程序来同时监听多个套接字,并根据 套接字目前执行的任务来为套接字关联不同的事件处理器。当被监听的套接字准备好执行连接应答(accept)、读取(read)、写
2021-04-14 16:35:57
220
原创 面试基础算法题(6)
26. 相同的树(leetcode 100)class Solution { public boolean isSameTree(TreeNode p, TreeNode q) { if(p == null && q == null) return true; if(p == null || q == null) return false; if(p.val != q.val) return false; boolea
2021-04-05 15:18:11
122
原创 面试基础算法题(5)
21. 打家劫舍(leetcode 198)动态规划class Solution { public int rob(int[] nums) { int length = nums.length; int[] dp = new int[length + 1]; dp[0] = 0; dp[1] = nums[0]; for (int i = 2; i <= length ; i++) {
2021-04-05 15:17:33
95
原创 浅谈TCP协议
1. 概述http是应用层的协议,它跑在tcp协议之上,tcp协议是传输层的协议,它跑在网络层的ip协议之上。网络层负责的是将异构的物理网络互联起来,它将传输层的报文段(tcp协议的数据单位)/用户数据报(udp协议的数据单位)封装成分组,实现主机和主机间的通信。传输层则负责的是通信主机的进程和进程之间的通信,它屏蔽了网络层以及下面层的细节,使得两个通信进程之间有一条端到端的逻辑通信信道。传输层为进程提供的是通用的数据传输服务,这样的好处是可以支持不多增多的应用层协议。应用层协议为不同需求的进程提供
2021-04-02 16:07:22
217
原创 面试基础算法题(4)
16. 二叉树层序遍历(leetcode 102)单纯的BFS不行,因为题目要求我们输出的是一个二维数组,要知道每一层的元素是哪些。BFS出队的时候每次只出队一个,这不行。我们应该每次出队n个。n为队列的长度。class Solution { public List<List<Integer>> levelOrder(TreeNode root) { ArrayList<List<Integer>> res = new ArrayL
2021-04-01 16:28:22
94
原创 探秘JVM
1. 概念JVM是Java Virtual Machine的简称,是运行在操作系统上的一个虚拟的机器,它可模仿真实物理机提供的一些功能。2. Java文件执行流程JVM是不认识文本的,javac将.java文件编译成.class字节码文件,然后由类加载器将.class文件加载到虚拟机内存中。从类加载到内存中到最后释放,共需要经历的步骤有加载,验证,准备,解析,初始化,使用,卸载。验证、准备、解析统称为链接。加载:将class文件加载到内存,将静态数据结构转换成方法区中的运行时数据结构,在对中生成一
2021-03-28 16:37:01
353
4
原创 面试基础算法题(3)
11. 字符串相加(leetcode 415)从两个字符串的尾部开始遍历,相加之后和进位相加,结果取余追加到结果字符串中,更新进位。两个字符串遍历完成后,若进位为1,则追加到结果字符串中,最后翻转结果字符串。class Solution { public String addStrings(String num1, String num2) { int n1 = num1.length()-1; int n2 = num2.length()-1;
2021-03-28 11:45:19
110
原创 面试基础算法题(2)
6. 相交链表(leetcode 160)走到尽头见不到你,于是走过你来时的路,等到相遇时才发现,你也走过我来时的路。这大概就是缘分吧。指针a先遍历完a链表再遍历b链表,当走到node(公共节点)时,总走步数为a + (b - c);指针b先遍历完b链表再遍历a链表,当走到node时,总步数为b +(a - c)public class Solution { public ListNode getIntersectionNode(ListNode headA, ListNode headB
2021-03-27 19:31:42
125
原创 面试基础算法题(1)
1. 快排选一个基准数,让小于它的数全部在它的左侧,大于它的数全部在它的右侧,然后分别左右区间递归此操作。public static void quickSort(int[] arr,int l, int r){ if (l < r) { int i = partition(arr, l, r); quickSort(arr, 0, i - 1); quickSort(arr, i + 1, r); }}public static int partit
2021-03-26 19:07:31
197
1
原创 GAN学习笔记 (2):pytorch实现naive GAN
GAN学习笔记 (2):pytorch实现naive GAN我们这里做个demo,就不直接生成图片了,而是事先准备好一些“点”,以这些“点”来代替图片。我们训练一个GAN,看看训练出的这个GAN的Generator能不能拟合我们实现准备好的“点”的分布。我们这里准备一个8-Gaussian Mixture Distribution,但我们假装并不知道这些“点”的分布(因为我们并不知道高维空间中的图片符合什么分布),让GAN来学习出他们的分布。先定两个变量:h_dim = 400batchsz = 5
2020-10-22 16:38:39
198
原创 GAN学习笔记 (1):理论基础
GAN学习笔记 (1):理论基础下面图片/公式来自李宏毅老师课件:http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS18.html理论基础Generator对于GAN的Generator而言,它是要接受一个任意输入,然后generates一个输出,这个generates出的输出我们希望它符合真实数据集的分布。如果我们希望输出是一张图片(i.e. 224*224 维的vector),为了更直观的表示,我们将这个vector简单地表示为一个点。这个点的值不同
2020-10-16 12:50:29
323
原创 pytorch搭建并训练模型的套路
pytorch搭建并训练模型的套路pytorch搭建模型一般可分为以下几个步骤:数据预处理搭建模型训练模型其中1、2无明显顺序之分。1.搭建网络pytorch为我们提供了非常方便的nn工具箱,我们搭建模型只需要定义一个继承自nn.module的类并实现其init和forward方法就可。init方法中动态绑定成员变量,forword方法中决定数据流经这些成员变量的顺序。下面是nn工具箱的结构示意图(来自网络,侵权删)。接着看上图,nn.Module中的大多数Layer在function
2020-10-13 15:21:44
3948
6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人