月度存档: 10 月 2016

Linux下的XAMPP基本配置技巧(设置虚拟主机、添加FTP账户等)

xampp安装好之后就只有一个默认站点及一个默认nobody的ftp账户,这显然不符合我们平时的需求了,那么下面就来讲一下如何设置并管理多个虚拟主机及ftp账户了,至于xampp的安装不在此讨论范围,读者可自行参阅官网的相关说明。

1、首先讲一下ftp账户的配置:

xampp采用的是proftpd服务端,这个不像我们Win环境下常用的Serv-U,用户帐户不是在服务端工具里面进行配置,而是在linux系统帐户里面配置的。因此我们可以使用命令:

groupadd ftpusers

先在系统中创建一个名称为ftpusers的用户组,这里的名称可以随便设置,主要是为了区分ftp帐户与系统其他类型的帐户所以我这里就命名为ftpusers,然后在这个组里面添加一个用户:

useradd -d /opt/lampp/www/site1 -g ftpusers -s /sbin/nologin site1ftp

第一个参数-d表示用户home目录,其中/opt/lampp/www/这个路径必须是存在的,而site1则是在该命令执行时自动创建的。第二 个参数-g表示此用户隶属于哪个用户组,第三个参数-s表示此用户的shell环境,为安全起见我们应该设置为一个无权限的路径。最后一个参数才是此帐户 的登录名称,我这里是site1ftp。

创建好之后我们就要为该帐户设置一个密码了:

passwd site1ftp

执行该命令后按提示输入两次密码即可完成帐户site1ftp的密码设置了。

接下来我们设置一下帐户home目录的权限:

chmod -R 777 /opt/lampp/www/site1

至此,ftp帐户的添加算是完成了,顺便提示一下,删除帐户的命令是userdel,修改帐户的命令是usermod,存储帐户的文件路径为/etc/passwd。

另外,为安全起见,我们应该在proftpd的服务配置文件(一般路径是/opt/lampp/etc/proftpd.conf)中修改一下 DefaultRoot为ftpusers,将ftpusers组里面的用户访问范围限制在其home目录。也可以把DefaultRoot设为~(键盘 左上角的那个符号),这样表示所有的组里面的用户都有这个限制了。如果要单独设置两个组或更多的组你必须另起一行或多行,说明如下:

DefaultRoot ftpusers      #限制ftpusers组里面的用户
DefaultRoot ~      #限制所有组里面的用户
DefaultRoot ftpusers
DefaultRoot nobody      #限制ftpusers组及nobody组里面的用户
DefaultRoot ftpusers,nobody      #限制既隶属于ftpusers组同时也隶属于nobody组里面的用户

对了,还差一个步骤,应该在proftpd配置文件中对ftp目录添加可重写的权限,如下:

<Directory /opt/lampp/www/*>
  AllowOverwrite            on
</Directory>

否则会出现ftp上传文件时无法覆盖同名文件的问题。

2、然后我们再讲一下虚拟主机的配置
先执行:

cat /opt/lampp/etc/httpd.conf

查看一下xampp的apache配置文件,我们发现其中有一行:

#Include etc/extra/httpd-vhosts.conf

看来,xampp为我们准备了一个专用于配置虚拟主机的文件了,去掉#号以删除其注释,然后编辑/opt/lampp/etc/extra /httpd-vhosts.conf文件,此文件中xampp为我们创建了两个虚拟主机的示例,我们把这两个示例注释掉,然后添加我们自己需要的虚拟主 机,例如:

<VirtualHost *:80>
    DocumentRoot /opt/lampp/www/site1
    ServerName blog.ewebe.net
</VirtualHost>

DocumentRoot表示虚拟主机对应的路径,即网站目录,ServerName表示虚拟主机的访问地址,类似IIS中的主机头值。

至此,虚拟主机的设置也算是完成了。

最后我们需要在apache配置文件/opt/lampp/etc/httpd.conf中添加一下网站目录的访问权限。

<Directory "/opt/lampp/www/site1">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

这里可以将目录路径/opt/lampp/www/site1改为/opt/lampp/www,为以后建立更多的虚拟主机如site2、site3……等等做准备。

 

转:Zeplin:前端与设计协同工作专用工具

上学时在政治课上经常听老师说,随着社会生产力的不断进步,社会分工也会逐渐细化,各行各业都会衍变出更多新的工种,对于传统企业管理者来说如何高效管理庞大的团队是个值得研讨的课题(他们更迷信开会或者使用笨重而低效的 OA 系统),可对于互联网企业来说这都不叫事儿,使用 Slack 等协同工具可以让一个创业团队在短时间内磨合起来,同时也适合大企业内部的各个项目团队。

说到前端产品开发,开发者与设计师之前交接原型产品更多的还是当面聊,不停的开小组会议,产品经理、设计师、开发者三个人会在小屋里就一个按钮讨论一下午。即时有 Slack 这样的服务,这两位仍然需要当面把事情说清楚,设计妹纸会教开发者大葛格用 Sketch,告诉他哪个层有啥动作,哪个文字会变换尺寸。但是,就像前面我说的,在企业不断追求高效生产的目标带动下,这中间又催发了一个新工种来代替无休止的讨论,只不过这个工种由一款软件(也是服务)来担任,它就是:Zeplin。

Zeplin,由 Zeppelin 一词变化而来(貌似许多产品都喜欢用齐柏林飞艇来做 Logo),由四名伊斯坦布尔的才子设计,是一款为 Designer 和 Developer 提供产品原稿交接与沟通的高效平台,用户可对产品进行标注、Style Guide 注释,还提供了简单的团队协同工作功能,通过插件,设计师可将 Sketch(Mac 平台最著名的前端设计软件)的 Artboard 单独或批量导入 Zeplin 的 Project 里供开发者做业务功能与前端交互的实现。目前这款软件仅支持 Sketch,另一款主流大将 Photoshop 据称也在支持计划中,但目前仍未放出更新版本。

设计师与开发者的福音

许多设计师初次接触 Zeplin 都表示惊呆了,“终于可以从枯燥的体力活中解放出来,再也不用跟开发扯皮或者一对一的去调整界面了”,当你把稿子导入 Zeplin 后,受邀请进入 Project 的开发者可以直观的看到色值,元素间距,交互流程,区域大小,文字大小及颜色,注意看下图,在 Dashboard 右边栏 Colors 与 Assests 这两栏,可以让对方清楚的知道配色值(RGB),另外在让开发者查看分层元素时,在 Sketch 里将层设置为 “Exportable” 即可,在设计师做好图层管理(命名、分组)的前提下,它可以自动生成元素尺寸、间隔距离的标注信息(并且可以标注为 pt 或 dp)。

基础使用介绍

Zeplin 对于专业人员来说很好上手,创建一个 Project,你可以看到软件支持 Android、iOS、Web 三种工作环境,另外开发者还提供可实验性质的 Mac OS X 软件开发环境。

此时到 Sketch 里找到 Menubar – Plugins 目录,如果你安装了 Zeplin 专为 Sketch 开发的插件,可以直接在插件目录里选择“Export Selected Artboards”将文件导入 Zeplin,这个速度很快。

标注与 Style Guide

作为项目人员,你可以随时通过软件和 Web 版进入 Project 对原稿进行标注(添加 Note,与对方就产品进行沟通),设计师可以制作 Style Guide,包括字体样式、色彩构成、Icon 样例、常用间距等内容。

高效的协同工作机制

作为一款项目组协同工作软件,Zeplin 可以让团队成员一共参与整个原稿的交流工作,项目创建者只需输入其他同事的邮箱或 Zeplin 账户名即可发出邀请。而如果当前工作环境不是 Mac,你也仍然能通过 Web App 参与工作。

软件的下载与定价

这么优秀的协同工具要说完全免费那是不现实的,除了提供尝鲜的免费版只能创建一个 Project 外,Starter 与 Growing Business 的套餐还是很有竞争力的,其中后者可以同时运行八个 Project,这两款付费套餐的年费单月价格分别为每月 13 刀与 22 刀,与普通的月付相比优惠 10%,对于创业团队也来说,要比 Markly(39.99刀)、Invision、Lucidchart 相对实惠一些。

最后附上 Zeplin 在墙内的下载地址,配合 Sketch 导出 Artboard 的插件

湖南卫视小戏骨白蛇传百度云

全集整合: http://pan.baidu.com/s/1hr5wZ0g

分集地址:

1. http://pan.baidu.com/s/1mhAE4rA

2.http://pan.baidu.com/s/1eS2t1V8

3.http://pan.baidu.com/s/1eSsQfgm

4.http://pan.baidu.com/s/1cBVcPC

5.http://pan.baidu.com/s/1pKHZTGZ

6.http://pan.baidu.com/s/1bpedfRp

7.http://pan.baidu.com/s/1skJXK7r

8.http://pan.baidu.com/s/1c2JY8pU

人工智能之tensorflow系列教程

https://github.com/jikexueyuanwiki/tensorflow-zh

http://blog.csdn.net/u012556077/article/details/51475713

h5打包成apk的几种方法

1.phonegap在线打包h5项目,需要github账号,免费配额要求开源,私有应用只有一个名额;
https://build.phonegap.com
2.java eclipse 打包,这个网上教程一大堆,略过
3.某外国友人自制小工具 html5apkbuilder ,百度自行搜索,优点速度快,缺点不能改应用名称,体积大,只能用来测试了
4.flashdevelop&flashide air内嵌浏览器,如果你熟悉as3开发,这个挺快,缺点应用体积较大,毕竟要封装air和webview
5.用 android studio 打包,这儿有系列教程:传送门 传送门2

 

github设置添加SSH

很多朋友在用github管理项目的时候,都是直接使用https url克隆到本地,当然也有有些人使用 SSH url 克隆到本地。然而,为什么绝大多数人会使用https url克隆呢?

这是因为,使用https url克隆对初学者来说会比较方便,复制https url 然后到 Git Bash 里面直接用clone命令克隆到本地就好了。而使用 SSH url 克隆却需要在克隆之前先配置和添加好 SSH key 。

因此,如果你想要使用 SSH url 克隆的话,你必须是这个项目的拥有者。否则你是无法添加 SSH key 的。

https 和 SSH 的区别:

1、前者可以随意克隆github上的项目,而不管是谁的;而后者则是你必须是你要克隆的项目的拥有者或管理员,且需要先添加 SSH key ,否则无法克隆。

2、https url 在push的时候是需要验证用户名和密码的;而 SSH 在push的时候,是不需要输入用户名的,如果配置SSH key的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。

在 github 上添加 SSH key 的步骤:

1、首先需要检查你电脑是否已经有 SSH key

运行 git Bash 客户端,输入如下代码:

$ cd ~/.ssh
$ ls

这两个命令就是检查是否已经存在 id_rsa.pub 或 id_dsa.pub 文件,如果文件已经存在,那么你可以跳过步骤2,直接进入步骤3。

2、创建一个 SSH key

$ ssh-keygen -t rsa -C "your_email@example.com"

代码参数含义:

-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置注释文字,比如邮箱。
-f 指定密钥文件存储文件名。

以上代码省略了 -f 参数,因此,运行上面那条命令后会让你输入一个文件名,用于保存刚才生成的 SSH key 代码,如:

Generating public/private rsa key pair.
# Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]

当然,你也可以不输入文件名,使用默认文件名(推荐),那么就会生成 id_rsa 和 id_rsa.pub 两个秘钥文件。

接着又会提示你输入两次密码(该密码是你push文件的时候要输入的密码,而不是github管理者的密码),

当然,你也可以不输入密码,直接按回车。那么push的时候就不需要输入密码,直接提交到github上了,如:

Enter passphrase (empty for no passphrase): 
# Enter same passphrase again:

接下来,就会显示如下代码提示,如:

Your identification has been saved in /c/Users/you/.ssh/id_rsa.
# Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
# The key fingerprint is:
# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com

当你看到上面这段代码的收,那就说明,你的 SSH key 已经创建成功,你只需要添加到github的SSH key上就可以了。

3、添加你的 SSH key 到 github上面去

a、首先你需要拷贝 id_rsa.pub 文件的内容,你可以用编辑器打开文件复制,也可以用git命令复制该文件的内容,如:

$ clip < ~/.ssh/id_rsa.pub

b、登录你的github账号,从又上角的设置( Account Settings )进入,然后点击菜单栏的 SSH key 进入页面添加 SSH key。

c、点击 Add SSH key 按钮添加一个 SSH key 。把你复制的 SSH key 代码粘贴到 key 所对应的输入框中,记得 SSH key 代码的前后不要留有空格或者回车。当然,上面的 Title 所对应的输入框你也可以输入一个该 SSH key 显示在 github 上的一个别名。默认的会使用你的邮件名称。

4、测试一下该SSH key

在git Bash 中输入以下代码

$ ssh -T git@github.com

当你输入以上代码时,会有一段警告代码,如:

The authenticity of host 'github.com (207.97.227.239)' can't be established.
# RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
# Are you sure you want to continue connecting (yes/no)?

这是正常的,你输入 yes 回车既可。如果你创建 SSH key 的时候设置了密码,接下来就会提示你输入密码,如:

Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa':

当然如果你密码输错了,会再要求你输入,知道对了为止。

注意:输入密码时如果输错一个字就会不正确,使用删除键是无法更正的。

密码正确后你会看到下面这段话,如:

Hi username! You've successfully authenticated, but GitHub does not
# provide shell access.

如果用户名是正确的,你已经成功设置SSH密钥。如果你看到 “access denied” ,者表示拒绝访问,那么你就需要使用 https 去访问,而不是 SSH 。

如果你有什么疑问或指正,请留言。

参考文档:https://help.github.com/articles/generating-ssh-keys

php连接mssql

php5.6(xampp,phpstudy测试通过) lavarel
1.打开php.ini 修改 ;extension=php_pdo_xxx.dll 去掉前面的;号
php.ini中增加:(非官方的64位版本)对应php/ext/下面放这两个文件(链接: http://pan.baidu.com/s/1jI7SOcQ 密码: 55js)
extension=php_sqlsrv_56_ts_vc6.dll
extension=php_pdo_sqlsrv_56_ts_vc6.dll
2.安装mssql驱动(链接: http://pan.baidu.com/s/1nvaCBih 密码: xm9p)
3.测试,连接代码:
关键代码:sqlsrv_connect($serverName, $connInfo);
完整代码:
header(“Content-Type: text/html; charset=utf-8”);

$serverName = “192.168.1.2”;
$connInfo = array(“Database”=>”JolinkCS_2016_10_09”, “UID”=>”sa”, “PWD”=>”sxjlinc_2012”);
$conn = sqlsrv_connect($serverName, $connInfo);
if($conn){
echo “连接成功!
“;
}else{
echo “连接失败!
“;
die( print_r(sqlsrv_errors(), true));
}

友盟统计

账号:flashaq@hotmail.com

code:7*****

免费域名服务

freenom

待研究的网站

http://www.iqcni.com/