百度技术沙龙随笔

现在时间 2016-01-16 17:12:33

地点 车库咖啡

活动 百度技术沙龙

技术方向 前端优化安全HTTPS

感想

对于小公司来讲,没有时间和成本去优化访问到运营商的程度

公司业务的成长确确实实会影响到开发人员的技术成长

跨部门的调度很难

 

Mysql数据表区分大小写的问题

我在部署demo项目 https://github.com/diandianxiyu/Yii1.x-admin 的时候遇到的问题

由于有的环境下,对数据表的大小写是明确区分的,但是我在导出的时候的数据表全部都是小写的,这个时候需要对环境进行配置

vim /etc/my.cnf

在[mysqld]下加入一行:lower_case_table_names=1

service mysqld restart

这样就好了

UIButton创建和通过tag删除

由于spriteKit内部没有可以处理点击的控件,所以采用UIButton进行处理

        //开始按钮

        let btnStart=UIButton()

        btnStart.tag=100

        btnStart.frame=CGRectMake(CGRectGetMidX(self.frame) / 2 + 25,  CGRectGetMidY(self.frame) / 2 + 30,  100, 40)

        btnStart.setTitle(开始,forState: UIControlState.Normal)

        btnStart.backgroundColor=UIColor.blueColor()

        self.view?.addSubview(btnStart)

由于是动态创建出来的,并且操作的时候并不在一个方法内部,所以我们采用了tag的方式获取对应的控件,并执行了移除出view的方法

self.view?.viewWithTag(100)?.removeFromSuperview()

常见的对称加密算法

1.rsa

http://orangeholic.iteye.com/blog/2161771

http://blog.csdn.net/clh604/article/details/20224735

2.des

http://blog.csdn.net/yanfangphp/article/details/8207050

http://it.oyksoft.com/post/4831/

3.aes

http://www.oschina.net/code/snippet_248412_15378

laravel执行php artisan migrate出现问题以及解决方案

参考资料

  1. http://stackoverflow.com/questions/20723803/pdoexception-sqlstatehy000-2002-no-such-file-or-directory
  2. http://laravel.com/docs/5.1/artisan#usage

执行

php artisan migrate

问题

                                                    

  [PDOException]                                    

  SQLSTATE[HY000] [2002] No such file or directory

解决方案

还是找到了 stackoverflow 上的答案

先说原因,因为框架没有找到对应的mysql执行,修改的文件的位置 ./config/database.php 的mysql

1.执行sql语句  show variables like ‘%sock%’

2.对应返回的结果的字段 socket 的对应的value,一般的结果大概长这个样子  /tmp/mysql.sock

3.修改文件 ./config/database.php 中的 connections 下的 mysql 添加

‘unix_socket’ => ‘/tmp/mysql.sock’

这样就可以执行了

Migration table created successfully.

Migrated: 2014_10_12_000000_create_users_table

Migrated: 2014_10_12_100000_create_password_resets_table

Migrated: 2015_12_14_090428_create_tasks_table

遗留问题,本地环境,测试环境,线上环境可能对应的mysql.sock的位置不一样,怎么设置

框架作为接口的几个处理流程

  1. 访问控制 get/post的相关访问
  2. 资源过滤,对输入的参数进行过滤
  3. 数据库控制,方便的进行增删改
  4. 路由控制
  5. 加密token处理
  6. 环境切换,方便的进行本地测试线上的配置文件切换

看框架是不是好用就看对应的设置是不是人性化。

 

laravel5.1创建应用流程

本次采用composer进行安装,参考地址如下

http://stackoverflow.com/questions/28893710/whoops-looks-like-something-went-wrong-laravel-5-0

总结如下

1.确定你的项目文件夹 storage 和  bootstrap/cache 的写入权限

2.把项目中的 .env.example 文件复制一份命名为 .env 作为配置文件,会被读取

3.在项目根文件夹执行 php artisan key:generate ,重置对应的加密字段

4. 检查你的 php_openssl 的扩展有没有安装上