MacOS如何搭建SS服务器实施科学上网

主要流程为买服务器、然后给服务器装shadowsock,然后在设备终端使用shadowsock软件进行科学上网。

要实施手动搭建SS服务器,首先要买一台国外的VPS(虚拟服务器),如何买服务器这个就不在这里具体描述了,自行百度。

需要特意说明的是在购买服务器的时候会让人选择服务器,服务器的系统有很多,本文以ubuntn为例,购买的是其它系统的可以GG了,下面开始说部署服务器

1. 部署服务器

买好服务器以后,一般会给你一个IP地址,以及密码,打开mac终端,输入ssh root@192.168.0.1,前面的192.168.0.1自觉替换为自己服务器的IP地址,然后输入密码。

然后出现上图就证明你已经成功的进入到了服务器,现在开始安装python,稍微了解过python的都知道python分为2.X与3.X,这里我们安装python2.X,在终端输入apt install python,然后敲下回车,可以看到服务器开始安装python了,当出现下面的界面时候,说明python已经安装成功了。

需要特别注意的是,这里可能python不是最新版,会提示很多种错误信息,不管遇到什么错误信息,记得安装错误信息去操作,提示啥没有就装啥,啥该升级就升级啥。

这个时候先在这个界面输入quit()退出python环境,然后有了python之后就可以安装各种好玩的python库了,在终端输入pip install shadowsocks,这里也存在一个问题,我安装好shadowsocks之后提示我少了一个setuptools工具,然后安装即可,安装好之后在终端输入pip list可查看现在一共安装了哪些库,下面几个库都有的话就可以进行下一步了。

上述库都安装好之后,在终端输入vim /etc/shadowsocks.json,这里需要写一个json,将服务器的IP地址,端口,加密方式写入,不懂的直接复制以下代码块。

{
        "server":"192.168.0.1",
        "port_password":{
                           "8380":"12345678",
                           "8381":"123456789",
                           "8382":"1234567890"
                           "端口号":"ss密码"
        },
        "timeout":300,
        "method":"aes-256-cfb"
}

将上面的IP地址换为自己的IP地址,端口就按这么写即可,密码自己设置,端口号跟密码自己保存好,下文会用到。复制好后再最后一行下方输入:wq,也就是保存并退出的意思。

需要特别注意的是:在编辑这个json文件的时候编辑完需要先按键盘的ESC退出编辑模式,然后按下shift+:,在输入wq,即可保存并退出。(1月15日更新

现在部署基本都准备好了,只要你的服务器没欠费,就可以开始运行了,在终端输入ssserver -c /etc/shadowsocks.json -d start,这个时候你的服务器就跑起来了,就可以愉快的进行第三部,使用ss工具进行翻墙。

2. 下载Shadowsocks工具

mac打开https://github.com/shadowsocks/ShadowsocksX-NG/releases,下载最新的shadowsocks客户端,然后打开服务器设置,见下图:

打开之后点击“+”号,进行服务器配置,见下图:

上文服务器的IP,输入设置好的端口(1234),选择好跟json中设置好的加密方法,在输入密码,给服务器命个名字,一切就大功告成了。

手机上FQ的方法也大抵如此,下载个SS工具,然后输入密码,端口即可。本文首发于慧行产品说。

【Python爬虫】爬取二手车之家图片并保存到本地

最近由于需要对即将上线的APP进行内测,需要上传车源图片进行测试,这个时候我就想到了二手车之家的大量车源图片,可爬取过来直接使用,于是乎就写了这个爬虫。

需要准备的库:requests,beautifulsoup

# 导入需要使用的包,requests获取页面,beautifulsoup解析页面
import requests
from bs4 import BeautifulSoup

# url是爬取的目标地址,path是需要保存的本地路径
url = 'https://www.che168.com/dealer/264907/23808458.html'
path = '//Users/huixing/pictures/che168'
res = requests.get(url)
res.encoding = 'gb2312'
html = res.text

# 解析获取到的数据
soup = BeautifulSoup(html, 'lxml')
li_list = soup.find_all('li', class_='grid-10')

# 循环li,将每一个li都爬取下来
for li in li_list:
    img = li.find('img')
    img_src = 'http://' + img['src2'][2:]

    # 将取到的链接img_src一一访问,获取图片内容,保存到本地
    data = requests.get(img_src, stream=True).content
    with open(path + '/' + img_src.split('/')[-1], 'wb') as fp:
        fp.write(data)

以上就是爬取并保存的思路以及代码,本次爬取在保存到本地时候遇到了很多问题,但是在攀攀老师的帮助下解决了这个问题。

产品设计之交互设计自查

1.前置条件

当前页面显示为当下状态的前提条件。

  • 无账号登录:即没有账号登录的情况;
  • 账号未登录:账号未登录的情况是否可使用产品;
  • 账号已登录:
    • 账号被封禁:如何提示?
    • 单点登录:
    • 账号权限:同一个产品,是否需要区分多种权限?

2.数据

2.1 展示

序号 状态 解决办法
1 页面无内容 引导文案
2 局部数据无内容 占位文字、占位图片、留白
3 所有数据加载失败 数据加载失败,引导性文案
4 部分数据加载失败 数据加载失败,引导性文案
5 数据长度、特殊符号、敏感词限制 屏蔽,用“...”或“*”替换
6 数据计量单位是否不同 1000=1K;10000=10K,1分=59S=刚刚
7 键盘弹出是否有问题 不同输入框默认键盘是不一样的,需按产品说明弹出

2.2 刷新加载

序号 状态 解决办法
8 横竖屏问题 是否允许横屏,H5项目横屏CSS是否正确
9 刷新加载 自动刷新,手动刷新
10 加载中样式 加载动画,如菊花加载,gif
11 刷新成功/刷新失败 toast提示
12 刷新出新内容或没有新内容 toast提示:更新了XX条数据,没有新的内容了
13 一次刷新加载了多少条数据 同上,增加相应的数据

2.3 排序

序号 状态 解决办法
14 排序变动频率 -
15 排序变动规则 时间排序、权重排序、置顶

2.4 缓存

序号 状态 解决办法
16 缓存哪些数据 -
17 缓存数据更新规则 -
18 缓存数据删除规则 -

关于缓存部分需要注意的是缓存到服务器还是本地,部分HTML的缓存可缓存到服务器,保存一定时间

3.控件

控件包含产品中的按钮(button),导航(navbar),工具栏(toolbar),底部导航(tabbar)。

序号 状态 解决办法
1 点击区域 在尽量避免误操作的基础上,使用户更容易点击
2 禁用状态 禁用状态点击效果,点击是否有提示
3 可操作状态 -
4 加载状态 加载状态是否可中断加载
5 操作时状态 高亮显示
6 选中状态 再次点击是否可取消选中状态
7 提醒状态 红点提示,气泡提示,消息提示
8 操作后结果 成功、失败提示
9 控件设计 是否具有一致性
10 控件呈现 是否符合用户认知,比如游戏中会有奇怪的按钮
11 控件交互 控件交互是否具有抑制性

4.动效

动效包含页面切换、弹窗、控件、操作等等。

序号 状态 解决办法
1 页面切换 旋转切换,左右滑动,无动效
2 弹窗 弹层形式,上、下滑动出来
3 控件 同上文的控件,各种动效
4 操作 点击、滑动、拖动、拉伸、缩放、摇一摇

5.提示(toast提示与dialog提示)

提示一般为toast提示与dialog提示,二者不同的是toast不打断用户当前操作,只起到告知用户的目的,而dialog则会打断用户当前操作,比较紧要或必须让用户做选择的操作可选择dialog。

序号 状态 解决办法
1 流量/wifi切换提示 当前网络为4G/WIFI网络
2 断网提示 当前无网络
3 加载中,加载成功,加载失败 同上文

6.其他

序号 状态 解决办法
1 版本相关 是否强制更新?旧版数据如何兼容
2 启动页、引导页、新手引导 -
3 数据埋点 -
4 消息推送 自建,第三方,例如小米推送
5 硬件交互 获取相机权限、获取GPS权限、获取相册权限
6 角色权限不同造成哪些差异 -
7 是否提供特殊模式 仅供部分使用者查看
8 文案是否一致,句式是否一致,文案是否有温度,默认文案

本文来源于互联网,并有酌情修改,本文仅发布与慧行产品说www.liuyude.com

收趣移动端产品体验报告

1.体验概述

体验时间:2017年6月14日
体验机型:iPhone6s
体验版本:2.1.1
手机系统:iOS 10

产品solgan:收趣-会朗读的云收藏夹。

关于产品solgan,PC端跟移动端似乎有些不一样,PC端的solgan是收趣-收集你感兴趣的一切(百万人的云收藏夹)。至于为什么不一样,这个我们就不得而知了。

2.需求分析

每个人对知识信息都会有收藏的需求,但是不同APP之间的收藏内容过多,且没有好的分类机制,这个时候一款收藏分类,稍后阅读功能的APP就应运而生了。

收趣官方也对产品主要解决的需求做了梳理,见下图:

为了更好更全面的理解收趣想要解决的用户需求,我们将收趣PC端的官方整理也放上来,见下图:

看了收趣的功能需求,我说一说比较打动我的功能点吧,本身作为一个互联网行业的产品经理,最大的能力可能就是搜索能力了,对于搜索出来的各种内容做一个收藏,必要的时候拿出来再回味下是很有必要的一件事,也能完成一种知识的积累。在没了解收趣这款产品之前我有过类似的想法,但最终没能将想法产品化。

在2年前,我还在从事二手车电商行业,我当时写过一个二手车(汽车)相关网站的网址大全,是基于2345浏览器的开源代码写的;本质上,收藏内容跟收藏网站地址是一个意思,都是将想要收藏的URL进行收藏,然后归类,很显然,收趣在这方面做的很不错。

至于PC端跟移动端的需求梳理的为什么不一样,这个我们就不得而知了。关于同类竞品的分析这里就免了,主要有国外的Instapaper,Pocket,感兴趣的同学可以自己找来体验下。

3.产品结构

从产品结构来看,总体的框架很清晰明了,但也有一些定义不清晰的,下面就列举几点:

兴趣关注:兴趣是根据内容标签来定义某一类文章的属性,关注则是针对人的关注,但在关注里面,收藏达人也是根据收藏内容类进行了属性分类,比如自我成长,产品经理,运营等等。我们就拿产品经理这个维度来进行对比,见下图。

邀请好友关注:点击邀请好友立即跳转到关注,一般情况下,邀请好友一般是发送自己的推广链接到其它平台(如微信,朋友圈,QQ,微博),从而实现产品的自增长。但在收趣中的邀请好友显然不是这个逻辑。

4.产品运营

4.1 产品迭代

收趣APP从2016年3月1日上线(IOS版本)到最近一次迭代(2017年6月9日),共迭代了26个版本,平均每个月迭代1.7个版本。

从收趣APP的迭代来看,功能是日渐丰富;

4.2 运营数据

IOS版运营数据:从IOS的榜单来看,2017年5月12号收趣冲到了效率榜的18名,免费总榜的726名。截止我写这篇报告当天(6.16日)排名为效率(免费)125名。

从APP的评分统计来看,历史评分较多,且基本评价为好评。

负面评论也较少。

我们直接来看下负面评论吧,正面评论太多就不放了。负面评论主要针对以下几个问题:

  • 文章丢失;
  • 小秘书不好用;
  • 闪退,卡死;
  • 方向问题:工具类向社交类转变;
  • 无网络的状态提示

在实际的体验过程中我遇到了其中的三个问题:

  1. 文章丢失:通过小秘书发送的文章并没有出现在书签中,这个多试几次就正常;
  2. 闪退,卡死:这个问题我遇到了好几次,重现流程如下:

    >- 关闭手机任何网络;
    >- 进入收趣APP;
    >- 点击进入发现界面,然后随便点击几个按钮(一定要在发现界面);
    >- 然后你就会发现APP整体闪退。

3.无网络的状态提示:当手机无任何网络的时候,收趣APP并没有给出相应的交互提示,如下图。

4.3 活动运营

由于对运营有过一些了解,本身也一直在运营自己的个人博客,所以就想从活动的运营的角度来分析下收趣。

收趣做了很多品牌传播的功课,类似的活动也做了不少。就像我在pmcaff看到了收趣产品众测的活动,这本身就是一次活动运营。然后我加入了收趣的官方用户群,发现他们在很多平台都发布了自己的软文,比如百度收趣关键词,可以看到下图:

收趣在pmcaff的产品众测活动是6月6号开始,而pmcaff又只有IOS版本,可以看出一些下载量的变化数据:

下图为安卓的下载数据:

以上数据均来源于ASO114

5.交互逻辑

关于交互逻辑这块主要有以下一些:

  • 我的书签界面的登录逻辑是:登录,收藏一切(先给用户提示登录的好处,有文案),而到了关注跟我这两个界面则是点击直接弹出登录框(无登录提示文案,直接弹出登录提醒)。是否可以换成更友好的交互方式呢?
  • 关于toast提示的一些细节,请看下图:

不打断用户操作淡入淡出的toast提示我目前发现了这3种,觉得可以统一下,更加规范简化下toast提示。另外有个个人觉得很奇葩的点,见下图:

在关注页面,当我选择一个用户进行关注之后,出现的逻辑是让我再选择一次“选好了”,而且这个看起来像toast提示的按钮半天没消失,一度我还以为出bug了,后来我尝试点击了一次才发现,这TM居然是个按钮,觉得很奇葩,尤其是为什么我关注了用户之后还要让我确认一遍,难道关注页面的逻辑不是我关注某一个用户,这里就显示他的文章吗?

  • 无网络的提示上文已经说过了,这里就不赘述了,需要说明的是,无网络提示存在多个页面中,感兴趣的可以多测试几个页面。
  • 删除已有的收藏夹按钮设置不合理:在管理收藏夹页面,IOS版本左滑可出现删除按钮,点击进入时,由于默认是修改收藏夹名字,所以键盘是弹出的,但其实在键盘下面还隐藏着一个按钮,我测试了好几遍才发现,这个按钮说实话藏的有点深,而且有些不合理。见下图:

  • 发现页面:在发现页面的文章列表长按任意文章,会出现已保存的提示,但是同样的动作再次重复之后得到的提示还是已保存,一般与已保存相对应的是已取消保存,或者是已收藏,这个是否设计的合理呢?只有添加,却没有删除(删除要到我的书签),顺便说下,这个页面长按收藏多次也出现APP闪退。

  • 搜索提示与交互:在收趣APP中我发现了两处搜索框,分别是发现跟关注,发现页面的搜索主要是搜索文章,同时能区分我的收藏全部收藏,但是这个在我的收藏页面居然没有搜索入口。另一个搜索入口是在关注页面,用来搜索好友的。这里的问题主要有两个,第一个是发现页面搜索无提示文案,第二个是关注页面搜索无交互载入动画,见下图:

  • 自己查看自己的时候被识别成了其他用户,见下图:

  • 通过第三方消息推送的信息,未出现在消息中心里,见下图:

以上就是目前暂时找到的一些人为可以改进的地方。

6.一些建议

在使用了两天后发现体验还真的不错,这个属于之前没用过,用了之后觉得还不错的产品。比较惊艳的是使用iOS下的widget添加书签非常爽,复制链接,下拉即可保存。

  • 在注册之前未登录的情况下,可以通过兴趣选择一堆自己的关注兴趣。按正常来说,注册新账号后应该保存这些兴趣设置;
  • 对收藏的文章进行标签分类,情感识别,能够将批量的标签自动分类。就比如我通过微信与微博导入了800多条书签,这么多让我去手动加标签还不如杀了我,我也没那么多时间;
  • 定期爬取一些文章到服务器,但这个微信貌似最近在封杀这样的爬虫站点;
  • 闪退真的挺严重,我在一个小时的测试时间内闪退了不少于10次,而且各个页面都可能闪退,建议看下日志;
  • 根据阅读兴趣,阅读习惯给用户推送一些内容;
  • 批量增加QQ导入书签;
  • 增加用户激励称号,类似于知乎的XX领域优秀回答者这种;
  • 阅读历史bug,无法查看;

总结下吧,总的来说,收趣作为一款工具类的APP,需求还是很明确的,体验也可以,但是可以做的更好的细节还蛮多的,也很期待收趣未来的发展。

浅论安卓(Android)与苹果(iOS)的交互设计差异

目前移动端的操作系统基本上由安卓(Android)与苹果(iOS)垄断,大部分移动端设计也是针对这两个系统的,今天我们就来分析下这两者的产品设计有哪些不同。

1. 导航方式不一样

iOS的TAB按钮一般放在页面底部,而且不能通过滑动来切换,只能够通过点击来进行页面切换。如下图。

iOS底部TAB按钮通过点击切换

安卓则是滑动与点击均可进行TAB页面的切换,如下图安卓版微信,可通过左右滑动与点击切换页面。

安卓版微信可通过左右滑动或点击切换TAB页

2. 单条item的操作方法不同

在iOS中对单条item的操作有两种,点击和滑动,点击一般进入一个新的页面,滑动会出现对这条item的一些常用操作。这里以微博消息列表item为例。

微博消息列表左滑出现删除按钮

而在安卓系统里要完成同样的操作则需要对单条item进行长按,如下图。

安卓版对列表长按进行其它操作

针对新版安卓QQ,已经出现列表可左右滑动,包括锤子OS也增加了对单条item的左右滑动设计,这里不做特殊说明。包括苹果6s以上设备的3D触控功能。

3. 二级页面导航条区别

iOS:这里以iOS版本的微信朋友圈为例。
  • 返回箭头+父级页面标题;
  • 当下页面标题(居中,可以没有);
  • 重要操作:可一个或多个;
  • 更多操作:横向省略号。

微信朋友圈截图

目前部分IOS软件的更多操作设计也有用竖向省略号的。

安卓:这里以安卓版陌陌聊天窗口为例。
  • 返回箭头+当前页面标题:这个跟iOS的最大区别在于去掉了父级页面的标题;
  • 当下页面标题:居左,与返回箭头有一定间隔;
  • 重要操作:可一个或多个;
  • 更多操作:竖向省略号;

更多操作为竖向省略号

4. 弹出框样式区别

这部分逻辑是统一的,但是细节不一样。一般iOS的文案内容居中,安卓的居左。样式也不大一样。另外,不论安卓还是iOS,按钮都是否定在左,肯定在右,见下图(图侵删)。

安卓与iOS弹框对比

5. 按钮圆角细节

在按钮圆角的设计上,iOS比安卓的更为圆滑,见下图。

IOS按钮

安卓按钮

6. 列表指引

iOS会在单个可点击的列表上加右箭头,提醒有更多内容可供点击,见下图:

注意列表的小箭头

想对与iOS,安卓的设计理念为所有区域均可点击,没有小箭头指示,见下图:

安卓的列表无小箭头

7. 屏幕分辨率不一样

安卓:720X1280或者1090X1920;
iOS:750X1334或者1242X2208;

8. 应用内更新的方式

iOS一般通过应用商店统一更新,APP内部不提供手动点击更新按钮,而安卓则在APP内部保留了更新入口,见下图。

iOS版无手动更新入口

安卓版本有手动检测更新入口

以上就是我在从事移动APP产品经理的岗位上总结出来的部分,欢迎大家补充指正。部分内容来源于互联网。