[年终总结]我的2017

[年终总结]我的2017 晃晃悠悠,终于度过了2017年。其实,对于总结这种东西,我内心是有阴影的。 一、技术: 1. 前端技术栈: 1.1 撸了一次VUE,基本入门了; 1.2 接触了一下Fis3; 2. PHP相关: 2.1 了解了Yii2.0,实现了一些简单的项目; 2.2 将ThinkPHP3.升级到了ThinkPHP5; 3. 算法相关: 3.1. 年中的时候,撸了几十道lee……

[CentOS]Centos升级OpenSSH及vsftpd

目前来讲,Linux下OpenSSH 7.4版本以下的,都有一些高危漏洞,需要将OpenSSH升级到7.4版本以上。 在一台不能上外网的机器上(yum),是比较麻烦的事儿。网上大家都先建议备份好ssh和安装telnet防止,升级失败可以telnet进去。 报错找不到….zlib.h http://www.linuxidc.com/Linux/2012-10/72036.htm 以及zlib下载地……

[ElasticSearch]ES修改mapping

用太多的MySQL这样的数据库了,直到有一天,用了ES遇到一个大坑。 就是post mapping的时候有一个“字段”analyzed 和 not_analyzed没区分好,一时失误导致该列所有数据全部分词了。数据量大概1.5亿条。 天真的以为能够像MySQL那样修改一下字段的属性即可。ES是基于Lucene的,没有别的办法,通俗一点讲,要么删除索引,重行……

[消息推送]基于umeng服务的消息推送

在服务端与移动端交互的时候,常常需要将服务端的消息推送到用户的移动端。umeng提供这样的消息推送服务——upush。 下载sdk代码。基于demo,本文进行了一个简单ThinkPHP调用实现。 $appkey = "your app key"; $secret = "your app secret"; import('@.ORG.Notification'); $notifica……

[ThinkPHP]ThinkPHP并发下锁表

最近需要写一个并发量不是很大的报名系统,但是还是有可能出现多人同时报名的情况。因为报名 涉及到先后顺序,如果不进行锁行或者锁表,会出现下列这种情况。 例: 当前系统中只有用户A报名,顺序为1,记为(A, 1); 某时刻t,用户B,用户C,用户D,同时报名,后端几乎同时接收到B、C、D的报名请求,于是查询 报名表发现,……

[leetcode]First Bad Version

此题就是二分的变种,但是千万要注意大整数求和越界,正确的计算方式应该是 left + (right – left) / 2; 我使用的是long long. // Forward declaration of isBadVersion API. bool isBadVersion(int version);</p> <p>class Solution { public: int bSearch(long long left, long long right) ……

[leetcode]Palindrome Linked List

此提示单链表判断回文,我本来的思路是 逆转单链表前半截,在跑一次,应该能满足时间复杂度o(n)和空间复杂度o(1),但是不知道为啥老判我超时。 看了discuss和hint,其实简单递归一下就可以了。 class Solution { public: ListNode * temp; bool isPalindrome(ListNode* head) { temp = head; re……

[leetcode]Maximum Product Subarray

此题给的是一个数组,求这个数组中的子数组乘积最大值,考虑正负数和0的情况。hint给的解法应该是每个值求一个max和min,然后用max和min来生成算上当前点的最大值和最小值。我自己用了一个模拟。所有数求乘积,如果为正则为最大,如果为负则比较抛弃最左边或最右边的负数。考虑到0的情况,先用0分界。 class Solution { ……