More Think

  • 首页
  • 分类
  • 标签
  • 归档
  • 关于
  • 读书
  • 电影
  • 搜索

Git同时push到多个远程仓库

发表于 2018-04-03 | 分类于 工具 |

添加第二个远程地址时使用以下命令:
git remote set-url --add origin git@github.com:morethink/programming.git

查看远程分支:git remote -v

阅读全文 »

二叉树从右边看到的节点

发表于 2018-04-01 | 分类于 算法 |

本文是对 LeetCode Binary Tree Right Side View 解法的探讨。

题目:
Given a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom.

阅读全文 »

求小于n的素数个数

发表于 2018-03-11 | 分类于 算法 |

本文是对 LeetCode Count Primes 解法的探讨。

题目:
Count the number of prime numbers less than a non-negative number, n.

尽管题目并没有要我们写一个最优的算法,但是身为一个程序员,优化应该是一种习惯,在编程的过程中,随着思考进行优化。只要求我们满足给定的时间和空间即可。

如果你只能想出一个最简单的方法,难道你会有什么竞争力吗?

阅读全文 »

Java实现单链表的快速排序和归并排序

发表于 2018-02-18 | 分类于 算法 |

本文描述了LeetCode 148题 sort-list 的解法。

题目描述如下:
Sort a linked list in O(n log n) time using constant space complexity.

题目要求我们在O(n log n)时间复杂度下完成对单链表的排序,我们知道平均时间复杂度为O(n log n)的排序方法有快速排序、归并排序和堆排序。而一般是用数组来实现二叉堆,当然可以用二叉树来实现,但是这么做太麻烦,还得花费额外的空间构建二叉树,于是不采用堆排序。

阅读全文 »

Java实现八大排序算法

发表于 2018-02-05 | 分类于 算法 |

本文对常见的排序算法进行了总结。

常见排序算法如下:

  1. 直接插入排序
  2. 希尔排序
  3. 简单选择排序
  4. 堆排序
  5. 冒泡排序
  6. 快速排序
  7. 归并排序
  8. 基数排序
阅读全文 »

Java实现二分查找算法

发表于 2018-01-29 | 分类于 算法 |

二分查找(binary search),也称折半搜索,是一种在 有序数组 中 查找某一特定元素 的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。

  • 时间复杂度:折半搜索每次把搜索区域减少一半,时间复杂度为O(log n)。(n代表集合中元素的个数)
  • 空间复杂度: O(1)。虽以递归形式定义,但是尾递归,可改写为循环。
阅读全文 »

Win10下通过IIS调试ASP程序遇到的问题和解决方案

发表于 2018-01-06 | 分类于 服务器 |

最近维护了以前别人的写的一个ASP的系统,记录一下调试过程中的问题和解决方案。

环境篇

万维网发布服务(W3SVC)已经停止

问题:
万维网发布服务(W3SVC)已经停止。除非万维网发布服务(W3SVC)正在运行,否则无法启动网站。

阅读全文 »

Nginx几种负载均衡算法及配置实例

发表于 2018-01-05 | 分类于 服务器 |

本文装载自: https://yq.aliyun.com/articles/114683

Nginx负载均衡(工作在七层“应用层”)功能主要是通过upstream模块实现,Nginx负载均衡默认对后端服务器有健康检测的能力,仅限于端口检测,在后端服务器比较少的情况下负载均衡能力表现突出。

Nginx的几种负载均衡算法:

阅读全文 »

Java解决CSRF问题

发表于 2018-01-04 | 分类于 Web安全 |

项目地址: https://github.com/morethink/web-security-csrf

CSRF是什么?

CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。

CSRF可以做什么?

你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账……造成的问题包括:个人隐私泄露以及财产安全。

阅读全文 »

面试中的Https

发表于 2017-12-27 | 分类于 网络 |

在Http协议中有可能存在信息窃听或身份伪装的安全问题。使用HTTPS通信机制可以有效地防止这些问题。

Https

Http的缺点

  • 通信使用明文(不加密),内容可能会被窃听。
  • 不验证通信方的身份,因此有可能遭遇伪装。
  • 无法验证报文的完整性,所以有可能已遭篡改。

这些问题不仅在Http上出现,其他未加密的协议中也会存在这类问题。

阅读全文 »
1234…8
morethink

morethink

71 日志
14 分类
47 标签
RSS
GitHub 博客园
© 2022 morethink
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.3
访问人数 总访问量
0%