ajax跨域访问问题总结

原链接地址:http://lonewolf.me/content/2017/02/15/ajax-cross-domain.html
原创博客,转载请注明。


问题

当用 ajax 在 a.com 中访问 b.com 时,将会出现 XMLHttpRequest cannot load... 等错误提示,这就是跨域访问所带来的问题。

解决方法

Chrome中可使用插件 Allow-Control-Allow-Origin: * 进行解决,它可在 response header 中加入 Allow-Control-Allow-Origin: * 信息。

这个方法有个缺点,如果想访问时带上 cookie,那它将无效,具体见 https://github.com/vitvad/Access-Control-Allow-Origin/issues/34

解决方法2

带上 cookie 的方法是: jQuery.ajaxSetup({xhrFields:{withCredentials:true}})

这一问题的解决方法就是使用另一个插件 Access-Control-Allow-Credentials: true

它也有个缺点,每次启动chrome后都要重新启用才有效。。。

Medoo介绍及中文文档

原链接地址:http://lonewolf.me/content/2017/01/08/medoo-doc-cn.html
原创博客,转载请注明。


Medoo

Medoo 是一个轻量级的PHP数据库框架,具有诸多优点。

特性

  • 轻量级,只有 20KB 左右,且是单文件
  • 简单易学,框架结构友好,很容易上手
  • 功能强大,支持各种常见或复杂的 SQL 查询
  • 支持广泛,支持 MySQL, MSSQL, SQLite, MariaDB, Oracle, Sybase, PostgreSQL 等数据库引擎
  • 安全,防止 SQL 注入
  • 免费的 MIT 开源协议

Duktape介绍及中文文档

原链接地址:http://lonewolf.me/content/2017/01/04/duktape-intro.html
原创博客,转载请注明。


Duktape是一个嵌入式Javascript引擎,专注于可移植性和低空间占用。

Duktape易于集成到C/C++项目中:将duktape.c, duktape.h,和duk_config.h添加到您的构建项目中,并使用Duktape API实现C代码与Ecmascript函数的双向调用。

主要特性

  • 可嵌入,可移植,低占用:可运行于只有192kB闪存空间(flash)以及64kB系统内存(RAM)的平台上
  • 兼容 Ecmascript E5/E5.1 ,一些语义规范更新自 ES2015+
  • 部分支持 Ecmascript 2015 (E6) 和 Ecmascript 2016 (E7),参见 Post-ES5 特性
  • 支持 ES2015 TypedArray 和 Node.js Buffer 绑定
  • 内置调试器
  • 内置正则表达式引擎
  • 内置Unicode支持
  • 最小限度的平台依赖
  • 整合了引用计数和标记-清除算法(mark-and-sweep)垃圾收集机制
  • 协程支持
  • 属性虚拟化中使用了Ecmascript E6 Proxy对象的一个子集
  • 以字节码转储(dump)/加载的方式来缓存已编译的函数
  • 发布版中包含一个日志框架和基于CommonJS的模块加载实现等
  • 采用 MIT 的自由许可证

当前状态

Duktape目前版本为2.0.0。

Duktape中文文档正在翻译中。

微信JSSDK问题记录

原链接地址:http://lonewolf.me/content/2016/03/08/winxin-error.html
原创博客,转载请注明。


这几天做了一个微信的邀请函,用到了分享。 因为这次用了egret引擎,以前是lufylegend引擎,所以代码都得重写,不过也是参照以前的,连参数也是。 配置好后运行看到 config:ok ,但点击分享之后就是不出现自定义的标题之类的。 昨天从下午测试到晚上都不行,搞得昨晚都睡不好。 今天早上起来后用纯js实现了一遍,也是一样的现象,心想真是见鬼了。 最后试着到公司公众号后台去看一下,发现appId和密钥都不是之前的了,心里一万只草泥马奔腾而过。。。 修改之后一切都通过了。

使用git命名行

原链接地址:http://lonewolf.me/content/2016/02/26/git-cmd.html
原创博客,转载请注明。


现在我已用vscode作为主力的代码编辑器了,它本身集成了git的大部分功能,只有加几个git命令就可以摆脱git图形客户端了。

首先是配置ssh-key

教程地址:https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/

配置全局用户名和邮箱地址

git config --global user.email "yourname@example.com"
git config --global user.name "yourname"

安装python版本管理工具pythonbrew

原链接地址:http://lonewolf.me/content/2015/07/07/install-pythonbrew.html
原创博客,转载请注明。


鉴于python各版本的不兼容性,一直想安装一个python的版本管理工具。今天终于抽出空来实践了一把。

我安装的是pythonbrew

安装

curl -kL http://xrl.us/pythonbrewinstall | bash

配置

~/.bash_profile中添加:

[[ -s $HOME/.pythonbrew/etc/bashrc ]] && source $HOME/.pythonbrew/etc/bashrc

mysql启动故障排查

原链接地址:http://lonewolf.me/content/2015/03/23/mysql-error.html
原创博客,转载请注明。


昨天提到用homebrew安装apache、php、mysql,运行得好好的,今天mysql却启动不了,在命令行下的提示为:

Starting MySQL..The server quit without updating PID file (/var/lib/mysql/pan.pan.pid

于是翻看日志。

原因

日志中这么一句:

/usr/local/Cellar/mysql/5.6.23/bin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13 - Permission denied)

是权限问题,后面还有一堆的ERROR,不过应该是由这个引起的。

MAC下用homebrew安装及配置apache、php和mysql

原链接地址:http://lonewolf.me/content/2015/03/22/homebrew-apache-php-mysql.html
原创博客,转载请注明。


我们用到php运行环境的时候总喜欢用集成包,其实在mac下,用homebrew也可以很快的安装这些东西,配置也很简单。

#homebrew homebrew是mac下的一个包安装管理工具,使用非常简单方便。

  • 安装homebrew

在终端中执行:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

这样就安装好homebrew了。

  • 安装命令行软件

如安装wget,则执行:

brew install wget

其它具体的使用方法可自行翻阅 官网(中文)