聚蚁成长

分享自己在编程学习路上的一些心得,以及自己在生活中遇到的问题和自己解决问题的过程,将学习之路分享大家

张小龙微信十年产品思考:顶级的产品经理是怎么思考的

2021-1-24 admin

大家都应该知道昨天2021微信公开课开课了。这算的上是互联网行业里面的大事。

尤其是昨天晚上,微信事业群总裁张小龙的登台演讲,讲述微信十年的产品思考,给人无尽回味的同时把整个盛会推向了高潮。

今天早上我摸了一早上鱼,把微信公开课的整理的文字档又重温了一遍。

字里行间流露出来的顶级产品人的思维方式,真的是让人着迷。

我就挑两个最让我着迷的点来跟大家聊聊。

视频号ID的设计

之前我在去年四五月份拿到视频号内测资格的时候,就稀里糊涂的去注册了。说实话,也没有想到这背后还有什么玄机。

直到昨天被张小龙说出来这背后的一些故事,才感觉出来,做一个好的产品要考虑的方面真是太多了。

不知道大家有没有想过,每个人都有自己的微信号ID,为什么还要为视频硬生生的折腾出来一个视频号ID呢?直接切换过去不是更加顺畅吗?

我之前也是这么想的,然后张小龙就提出来了这里面最大的问题,就是公域和私域的不同。

之前大家的微信号都是在熟人社会里面使用,这个ID是通讯和社交领域里面的事情,也就是说是一个私密的存在。

但是视频号却不一样。因为你的视频号发表内容之后,经过朋友推荐以及系统推荐,是很可能进入公共流量池里面,被更多的人所见到。

所以视频号面临的是公共领域,之前的微信号ID是不能直接拿过来用的。

否则可能你只是发了一个视频,结果被推荐到流量池之后,大批人慕名而来加你微信,这就感觉在家里被人横冲直撞的闯进来,感觉被破门而入。

意识到这个问题之后,视频号ID的具体设计也不是一个简单的事情。

比如张小龙自己提到的:

我记得当时有个方案是,每个进视频号的人要创建一个视频号ID,用这个ID来浏览和评论内容;

大家感觉这个方案没什么问题吧。既然视频号ID面对公域,微信号ID面对私域,那直接创建一个全新的就可以啦。

每个人创建一个新的视频号ID来浏览和评价内容,这不是很正常的解决方案吗?!

但是这么做有一个问题。如果浏览和创作全都使用全新的视频号ID,那微信已经打下的社交优势和留下的社交资产将荡然无存。

这就相当于在从头开始做一个全新的产品,难度可想而知。

不能用原来的ID,又不能全部新建视频号ID,到底想要怎么样?

我们来看看张小龙是怎么想的:

浏览者应该是微信身份,而不应该强迫每个人开一个新的身份才能看和评论

在这里插入图片描述

也就是说,浏览者只是一个微信身份,但是创作者必须要用新的ID。

这么做有什么好处?

这可以引用微信号留下来的好友社交资产,从而可以利用社交资产来推动社交推荐,而不是直接从头开始硬刚。

这是不是神来之笔?既能有效使用微信ID社交关系,还能避免之前提到的公域隐私问题。

关键是,只有微信能这么做,可以在私域的微信ID和公域视频号ID之间来回横跳!

这么一个小小的改动,就利用微信生态打造了一条天然的护城河。

因为社交推荐的引领,视频号才能顺风顺水的在一年多的时间内发展到如今规模,充分证明上面关于ID思考决策是多么的明智。

以终为始,产品设计始终向愿景靠拢

在整个分享过程中,张小龙不止一次的提到了对未来的畅想和愿景。

比如他认为的个人直播终极形态是

你刚好戴了可以直播的眼镜在直播,他人能直接看到你看到的东西

在这里插入图片描述

又或者说:

“云端化的结构化的视频,才是视频”

在这里插入图片描述

然后,这些畅想和愿景会不断引导产品设计和实现。

这就保证了产品在不断迭代的过程中,不会违背初衷,走了模样。

比如,在设计直播功能的时候,尽可能的降低直播门槛;设计微信视频相关的时候更注重用视频号形式实现,而非视频文件等。

其实,他自己也有意识到我提的这个点。用他自己的话说就是:

做产品其实是个验证想法的过程。如果你脑袋里突然冒出一个想法,可能很不靠谱,但又似乎有意思。然后继续往深里去想,如果能经过很多次选择,最终能变为实现,就会体会到做产品的乐趣

产品愿景就是自己心中美好的模样,是脑袋中执念最深的那个想法。

不断地把产品向愿景引导,最终变为现实。

这不仅是工作和事业上的成功,其实这已经到了马斯洛理论最高层级“自我实现需求”的那个级别。

很多人,包括我自己,都会觉得,只有自己到了大佬那个级别,才可能随意泼墨、毫不拘束的去不断地向愿景靠近。

很多产品经理可能做得更多的工作是重复枯燥的需求沟通和画原型,甲方爸爸说什么就是什么。

但是,尽管你不能决定产品的走向,但你总可以在能力范围内去尝试改变自己能改变的,不是么?

在做产品的过程中坚持愿景,其实就像是附魔,给每一个产品附魔,注入产品经理的灵魂。

还有其他好多内容啊

在公开课中还有很多很多可以解读的地方,比如两个词描述微信、社交的本质、社交内容的本质等等。

推荐大家都去看下微信公开课公号昨天的推文,真的非常好。

我也会考虑后面要不要多出几期做解读,如果有感兴趣的朋友,请让我听见你们的声音!

今天的分享就到这了。上面的截图是我把张小龙整个演讲内容顺序打散,然后用金字塔原理重整之后梳理的思维导图。

如果有小伙伴们喜欢的话,可以关注公Z号【兔子研习社】,在后台回复【微信十年】即可获得全图链接。

评论(0) 浏览(277)

查看MySQL数据库占用空间大小

2021-1-24 admin

查询所有数据库占用磁盘空间大小的SQL语句:

select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') as data_size,
concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_size
from information_schema.tables
group by TABLE_SCHEMA
order by data_length desc;

 

查询单个库中所有表磁盘占用大小的SQL语句:

select TABLE_NAME, concat(truncate(data_length/1024/1024,2),' MB') as data_size,
concat(truncate(index_length/1024/1024,2),' MB') as index_size
from information_schema.tables where TABLE_SCHEMA = 'TestDB'
group by TABLE_NAME
order by data_length desc;

注意替换以上的TestDB为具体的数据库名

评论(0) 浏览(340)

欢迎使用emlog

2021-1-24 admin

恭喜您成功安装了emlog,这是系统自动生成的演示文章。编辑或者删除它,然后开始您的创作吧!

评论(0) 浏览(178)

MySql逗号拼接字符串查询

2021-1-22 admin

下面两个函数的使用和FIND_IN_SET一样,使用时只需要把FIND_IN_SET换成FIND_PART_IN_SET或FIND_ALL_PART_IN_SET

例如某字段里是为1,2,3,4,5 

使用方法:
第一种,传入1,3,6  可以查出来

select * from XXX where FIND_PART_IN_SET('1,3,6','1,2,3,4,5')
第二种,传入1,3,6  查不出来

select * from XXX where FIND_ALL_PART_IN_SET('1,3,6','1,2,3,4,5')
函数:
第一种:只要包含其中一个就可以被查出来

CREATE DEFINER = root@% FUNCTION NewProc(str1 text,str2 text)
RETURNS text
BEGIN

#传入两个逗号分割的字符串,判断第二个字符串是否包含第一个字符串split之后的单个

DECLARE CURRENTINDEX INT;#当前下标
DECLARE CURRENTSTR text;
DECLARE result int;

set result = 0;
set CURRENTINDEX = 0;
set CURRENTSTR = '';

IF str1 IS NOT NULL AND str1 != '' THEN
SET CURRENTINDEX = LOCATE(',',str1);
WHILE CURRENTINDEX > 0 DO
SET CURRENTSTR = substring(str1,1,CURRENTINDEX-1);
if FIND_IN_SET(CURRENTSTR,str2) THEN
set result = 1;
end if;
SET str1 = substring(str1,CURRENTINDEX+1);
SET CURRENTINDEX = LOCATE(',',str1);
END WHILE;
#只传一个 和 最后无逗号的情况
IF LENGTH(str1) > 0 THEN
if FIND_IN_SET(str1,str2) THEN
set result = 1;
end if;
END IF;
END IF;
RETURN result;
END;

第二种:必须全部包含才可以被查出来

CREATE DEFINER = root@% FUNCTION NewProc(str1 text,str2 text)
RETURNS text
BEGIN

#传入两个逗号分割的字符串,判断第二个字符串是否全部包含第一个字符串split之后的单个

DECLARE CURRENTINDEX INT;#当前下标
DECLARE CURRENTSTR text;
DECLARE RESULT int;
DECLARE TOTALCOUNT int;
DECLARE TRUECOUNT int;

set RESULT = 0;
set CURRENTINDEX = 0;
set CURRENTSTR = '';
set TOTALCOUNT = 0;
set TRUECOUNT = 0;

IF str1 IS NOT NULL AND str1 != '' THEN
SET CURRENTINDEX = LOCATE(',',str1);
WHILE CURRENTINDEX > 0 DO
SET TOTALCOUNT = TOTALCOUNT + 1;
SET CURRENTSTR = substring(str1,1,CURRENTINDEX-1);
if FIND_IN_SET(CURRENTSTR,str2) THEN
SET TRUECOUNT = TRUECOUNT + 1;
end if;
SET str1 = substring(str1,CURRENTINDEX+1);
SET CURRENTINDEX = LOCATE(',',str1);
END WHILE;
#只传一个 和 最后无逗号的情况
IF LENGTH(str1) > 0 THEN
SET TOTALCOUNT = TOTALCOUNT + 1;
if FIND_IN_SET(str1,str2) THEN
SET TRUECOUNT = TRUECOUNT + 1;
end if;
END IF;
END IF;

IF TOTALCOUNT > 0 AND TRUECOUNT = TOTALCOUNT THEN
SET RESULT = 1;
END IF;

RETURN result;
END;

评论(0) 浏览(211)

程序员常用的dos命令及快捷键

2021-1-4 admin

黑客常用的dos命令及快捷键

建议关注收藏,持续更新中…

黑客常用的dos命令及批处理文件的编写
Color:改变CMD的颜色
Ping -t 1 65500 ip:死亡之ping
Ipconfig:查看ip
Ipconfig/release:释放ip
Ipconfig/renew:重新获取ip
Systeminfo:查看系统信息
Arp -a
Net view:查看局域网内其他计算机名称
Shutdown -s -c 180 -c“你被黑了,系统马上关机”
Shutdown -a 取消
Dir 查看目录
Cd 切换目录
Start www.cracer.com 打开网页
Start 123.txt 打开123.txt
Copy con c:\123.txt 创建123.txt
Hello cracer
Ctrl+z 回车
Md 目录名,创建目录
Rd 123 删除文件夹
Ren 原文件名 新文件名 重命名文件名
Del 删除文件
Copy 复制文件
Move 移动文件
Tree 树型列出文件夹结构
telnet
net use k:\192.168.1.1\c$
net use k:\192.168.1.1\c$/del

net start 查看开启了哪些服务
net start 服务名 开启服务
net stop 服务名 停止某服务
net user 用户名 密码 /add建立用户
net user guest/active:yes 激活guest用户
net user 查看有哪些用户
net user 账户名 查看账户类型
net IocalGroup administrators 用户名/add 把“用户”添加到管理员中使其具有管理员权限,注意:administrator后加s用复数

net user fuest 12345 用guest用户登录后用将密码改为12345
net password 密码 更改系统登陆密码
net share 查看本地开启的共享
net share ipc$ 开启ipc$共享

net share ipc/ d e l 删 除 i p c /del 删除ipc/delipc共享

net share c$/del 删除C:共享

netstat -a 查看开启了哪些端口,常用netstat -an

netstat -n 查看端口的网络连接情况,常用netstat-an

netstat -v 查看正在进行的工作
at id号 开启已注册的某个计划任务
at/delete 停止所有的计划任务,用参数/yes则不需要确认就直接停止
at id号/delete 停止某个已注册的任务计划
at 查看所有的计划任务
attrib 文件名(目录名) 查看文件(目录)的属性
attrib 文件名 -A -R -S -H或+A +R +S +H去掉(添加)某文件的存档,只读,系统,隐藏属性;用+则为添加属性

批处理文件:后缀名改为.bat

黑客常用的快捷键
Windows操作系统快捷键:
F1 显示当前程序或者windows的帮助内容
F2 当你选中一个文件的话,这意味着“重命名”
F3 当你在桌面上的时候是打开“查找:所有文件”对话框
ALT+F4 关闭当前应用程序中的当前文本(如word)
F5 刷新
Ctrl+F5 强行刷新
Ctrl+F6 切换到当前应用程序中的下一个文本(加shift可以调到前一个窗口)
F10或ALT 激活当前程序的菜单栏
Windows键或CTRL+ESC 打开开始菜单
CTRL+ALT+DELETE 在win9x中打开关闭程序对话框
DELETE 删除被选择的选择项目,如果是文件,将被放入回收站
SHIFT+DELETE 删除被选择的选择项目,如果是文件,将被直接删除而不放入回收站
CTRL+N 新建一个新的文件
CTRL+O 打开“打开文件”对话框
CTRL+P 打开“打印”对话框
CTRL+S 保存当前操作的文件
CTRL+X 剪切被选择的项目到剪切板
CTRL+INSERT或CTRL+C复制被选择的项目到剪贴板
SHIFT+INSERT或CTRL+V 粘贴剪贴板中的内容
ALT+BACKSPACE或CTRL+Z撤销上一步的操作
ALT+SHIFT+BACKSPACE重做上一步被撤销的操作
Windows键+M 最小化所有被打开的窗口
Windows键+CTRL+M重新将恢复上一项操作前窗口的大小和位置
Windows键+E 打开资源管理器
Windows键+F 打开“查找:所有文件”对话框
Windows键+R 打开“运行”对话框
Windows键+break 打开“系统属性”对话框
Windows键+CTRL+F 打开“查找:计算机”对话框
SHIFT+F10或鼠标右击 打开当前活动项目的快捷菜单
SHIFT 在放入CD的时候按下不放,可以跳过自动播放CD。在打开word的时候按下不放,可以跳过自启动的宏
ALT+SPACEBAR 打开程序最左上角的菜单
ALT+TAB 切换当前程序
ALT+ENTER 将windows下运行的MSDOS窗口和全屏幕状态间切换
PRINT SCREEN 将屏幕以图像方式拷贝到剪贴板
ALT+PRINT SCREEN 将当前活动程序窗口以图像方式拷贝到剪贴板

在IE中:
ALT+RIGHT ARROW 显示前一页(前进键)
ALT+LEFT+ARROW 显示后一页(后退键)
CTRL+TAB 在页面上的框架中切换(加shift反向)

评论(0) 浏览(287)

php转义前端被编译单双引号

2020-11-24 admin

前端传过来的json数据有时候会被转化成

$str='[{"srctype":"0","srcurl":""},{"srctype":"0","srcurl":""},{"srctype":"0","srcurl":""},{"srctype":"0","srcurl":""},{"srctype":"0","srcurl":"http://shimao-smt.oss-cn-hangzhou.aliyuncs.com/1539862260910574983338757651936.jpg"}]';

//json_decode($str);会将json字符串转化成object对象形式, json_decode($str,true);则会转化成数组

这个时候使用 json_decode($str,true);是不会成功的,只会输出null,这个时候就需要转化被编译的单双引号了

 

$str='[{"srctype":"0","srcurl":""},{"srctype":"0","srcurl":""},{"srctype":"0","srcurl":""},{"srctype":"0","srcurl":""},{"srctype":"0","srcurl":"http://shimao-smt.oss-cn-hangzhou.aliyuncs.com/1539862260910574983338757651936.jpg"}]';

echo htmlspecialchars_decode($str);

$str将会被转化成正常的json字符串,如

$str=[{"srctype":"0","srcurl":""},{"srctype":"0","srcurl":""},{"srctype":"0","srcurl":""},{"srctype":"0","srcurl":""},{"srctype":"0","srcurl":"http://shimao-smt.oss-cn-hangzhou.aliyuncs.com/1539862260910574983338757651936.jpg"}]

这个时候就可以使用 json_decode($str,true);将其转化成数组了;

 

 

返回过来将单双引号咋转化成html格式化

使用php函数 htmlspecialchars($str);

评论(0) 浏览(127)

mysql 查找字符串中包含另一个字符串

2020-1-24 admin

查找字符串中是否包含另一个字符串存在两种形式

一:规则格式字符串(以英文逗号分隔开的)

如:19,21,99,88

这种使用函数 find_set_in(要查找的字符串,数据表字段名)

完整SQL如下

例:数据表 table 存在字段  a,其中a的值为 19,21,30

select * from  table where find_set_in( '19',a);

 

二:不规则格式字符串(没有以符号隔开)

如:abcdesdfkasdjhfkasjdhfkasjdhf

这种使用函数 locate(要查找的字符串,数据表字段名) ,该函数返回 该字符串 第一次 出现的位置 ,注:该函数返回 start 是从1开始,不是从0开始

完整SQL如下

例:数据表 table 存在字段  a,其中a的值为 abcdefghijklmnopqrst

select * from  table where find_set_in( 'cd',a);

评论(0) 浏览(169)