2018年5月

最近Apache服务器不能加载某些资源,是个CORS问题,就是跨域。报错如下:

Access to Font at 'http://nanny.com/fonts/fontawesome-webfont.ttf?v=4.6.1' from origin 'http://www.nanny.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://www.nanny.com' is therefore not allowed access.

这可能是Apache的配置问题,也可能是Yii2 controller的问题。

网上说很多人说在.htaccess文件中加一句Header set Access-Control-Allow-Origin "*"即可,加了,没用。

- 阅读剩余部分 -

接手了一个半截子工程,上一任程序员突然失踪三个月,然后我来接手。

我想说,怪不得程序员都掉头发呢,怪不得程序员都脾气好呢,妈的,经过这样的折磨之后,谁还有火气呢?

都快气晕了,一个用户能有3个不同的名字,角色叫做seeker,然后再Model层是family,然后在controller叫做parent。
存在大量PHP5的写法,用已经弃用多年的方法直接连接数据库
此外,网站部署在一个共享主机里,拿不到root权限,也就拿不到代码,后来不知道怎么回事,有一个备份的,但各种错误,或者用@把错误给隐藏起来。

最初一段时间,就是解决各种error,然后为了了解这个代码的逻辑,就用到一招:打断点。

2018年6月16日更新
我们最近一段时间的关键词是解耦。以我俩目前的架构水平,设计一个高水平的架构还是不可能的,毕竟没经验,所以呢,就先做一件事:解耦
也就是说,先不管代码是否重复,目前只管把各个功能给拆开,做到改动一处功能,不会影响到其他地方,各个功能相互之间要尽可能独立。
等到把所有功能都拆开了,有机会、有能力了再重新组合。

2018年6月8日更新
2周以来,我们做了大量的工作,首先修复了不少error,并且鉴定出不少bug,并且一一修复。
在整个过程中,我们对于删除老代码很谨慎,一般不会动老代码。
所以我们做了大量的workaround,或者是bypass
现在运行的还是有些许问题,但已经基本运行稳定,可以用来做业务了。

根据CSDN的版权声明,特此说明:
原始出处:https://blog.csdn.net/u011489043/article/details/70197020

在刷编程题的时候,可能大家也经常遇到题目要求do in-place。起初并未在意,主要是即使没有按照要求实现,也可以AC,但总觉得有些投机取巧的嫌疑。所以就上网搜了相关概念,简单总结一下。

in-place操作,意思是所有的操作都是”就地“操作,不允许进行移动,或者称作 原位操作,即不允许使用临时变量。

举个例子,大家经常写也经常用到的“交换两个数的值”:

//设置初始值
int x = 1,y = 2;

1) 最先想到的方法,就是设置临时变量

//设置临时变量
int temp;
temp = x;
x = y;
y = temp;

2) 然而要满足in-place的要求,就需要另辟蹊径了。比如通过加减运算实现(但是可能会出现溢出)

//加减运算
x = x + y;
y = x - y;
x = x - y;

3) 通过异或操作实现

//异或运算
x = x ^ y;
y = x ^ y;
x = x ^ y;

leetcode真的很邪门的,很多代码都晦涩难懂,需要一点思考。
可以说是我的水平太低,但既然你是老师来讲解题目,真不能这样搞啊。

比如一个变量,i,int i = 1,那么,在for循环里,i++这样的自增操作很常见。
那么,i++是什么意思?显然是先使用i的值,比如这里是1,使用完了再加1,就成了2了。
++i是什么意思呢?是先自增一次,就成了2,然后再使用2这个值。

所以看到nums[count++]这样的骚操作就非常困惑,搞了半天才明白啥意思。
这个意思就是,先用了nums[count],然后count再自增一下,就是count++了。
但这样炫技的代码,自己玩还行,做老师来给出这样的解题答案,怕是除了增加困惑,没有别的价值。