Skip to main content

New Blog

代码人生:编织技术与生活的博客之旅

  • 项目用到了 socket io 通信 发送信息

  • client 和 server 直连无问题

  • 但是走 niginx 集群就直接报错了

  • 大神改了一个配置然后就通过了

  • 记录一下 Nginx 配置

        location /socket.io {    
proxy_pass http://pro_socketio;
proxy_http_version 1.1;
proxy_set_header upgrade $http_upgrade;
proxy_set_header connection $connection_upgrade;
proxy_set_header x-real-ip $remote_addr;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
proxy_set_header host $http_host;
proxy_set_header x-nginx-proxy true;
proxy_set_header Access-Control-Allow-Origin *; # 主要起作用
proxy_set_header Origin ""; # 主要起作用字段
proxy_read_timeout 86400;
}

随笔One min read

音程

  • 不看黑键,只看白健,在此基础上在看所按的音与标准白健差几个半音
  • 减 差两个
  • 小 差一个
  • 大 不差
  • 增 多一个
  • 例如 1 3 白健之间数字关系为 1-3 为三度 音阶上差三个半音 1# 2 2# 所以为大三度
  • 例如 1 2# 白健之间数字关系为 1-2 为二度 音节上为一个两半音 1# 2 所以为曾二度
  • 例如 3 5# 白健之间数字关系为 3 5 = 1 3 为三度 音阶上为三个半音 所以为 大三度

三和弦

  • 三个音之间的关系为某两个音程的组合 称为一个和弦
  • 大三度 + 小三度 为大三和弦 3 2 (三个音之间差 三个半音 两个半音 例如 1 3 5 大C和弦)
  • 小三度 + 大三度 为小三和弦 2 3
  • 大三度 + 大三度 为增三和弦 3 3
  • 小三度 + 小三度 为减三和弦 2 2

七和弦

  • 大七 = 大大七 3 2 3 也可看作大三和弦加上一个标准七度
  • 属七 = 大小七 3 2 2 也可看作大三和弦加上一个小七度
  • 小七 = 小小七 2 3 2 也可看作小三和弦加上一个小七度
  • 半减七 = 减小七 2 2 3
  • 减七 = 减减七 2 2 2
  • 例如C大七 1 (3个半音) 3 (2个半音) 5 (3个半音) 7

大小调关系

  • 大调的第六个音为小调的第一个音
  • 如1234567 大调 67123456
随笔2 min read

项目的部署

一。安装 gosuv Git 地址

  • 这里 下载对应系统的二进制文件

  • 测试启动:gosuv start-server -f

  • 将 gosuv 的二进制启动文件软链接到系统 bin 目录 ln -s gosuv /usr/local/bin

二。将 gosuv 安装为 linux 的系统服务

1. 编写systemd的单元配置文件 (启动命令 ExecStart 和启动路径 WorkingDirectory 酌情修改)

  • vim /lib/systemd/system/gosuv.service
[Unit]    
Description=gosuv
After=syslog.target
After=network.target

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
Type=simple # 如果要启动的命令是一个 daemon 进程,这里的值设置为 forking
User=root
Group=root
# 可以将 gosuv 链接到 bin 目录或者直接移动到 bin 目录
WorkingDirectory=/usr/local/bin
# -f 参数指定 gosuv 前台启动,默认后台启动(如果没有-f 参数,则 Type 需要改为 forking)
ExecStart=/usr/local/bin/gosuv start-server -f
Restart=always

# Some distributions may not support these hardening directives. If you cannot start the service due
# to an unknown option, comment out the ones not supported by your version of systemd.
ProtectSystem=full
PrivateDevices=yes
PrivateTmp=yes
NoNewPrivileges=true

[Install]
WantedBy=multi-user.target

2. 将此文件放到 /lib/systemd/system文件夹下,此时就能够让服务开机启动和自动重启了

  • 开机启动:systemctl enable gosuv
  • 启动服务:systemctl start gosuv
  • 浏览器中访问:localhost:11313
编程2 min read

  • 文本来自于 QPython 编程群
  • 感谢**【架构分析】坚决不讨论专业问题的 IE6** 大佬

image.png

自测题

  1. 随便拿来一个软件/功能,绝大多数情况下能否正确推测出背后的实现原理。
  2. 能不能在 5 天/7 天/10 天/30 天内
    • 用一个新的框架(所有时间-2)开发出一个最小模型
    • 在之前没接触过/没有知识储备的情况下做出 app/网站/小程序/3d 游戏的最小模型。....
  3. 能不能看出计算机每层之间东西的关联以及设计思想,比如路由器和消息队列。
  4. 是否熟悉常用的语言的虚拟机 / 编译器,和框架从内存对象布局到部分代码实现原理再到 GC,从框架实现原理到设计思想,解决问题。
  5. 对计算机网络,计算机组成,编译原理,数据结构有一定了解,能够进行多学科联动的问题分析和性能分析以及问题查找。(重点是联动分析)
  6. 是否具备严谨的分析问题的能力,比如单一变量原则,假说演绎推理。
  7. 是否能够知道什么该优化,什么不该优化,用最小代价换最大收益。

什么叫编程

  • 编程其实只是在做两件事:解决问题以及,更好的解决问题。
  • 不管是写代码,抄开源项目,造轮子,拖拽开发出 app,都是为了解决问题。
  • 只要能解决问题,没有对错。
  • 代码说到底就是工具的一种。能解决问题就是及格的解决方案。
  • 如果你用代码解决不出来你要解决的问题,那你就是不如用拖拽开发的。
  • 更好的解决问题是一种进阶能力,用更好的算法能不能提高识别准确率,用更新的框架是不是能换来更优秀的- 响应速度。我能不能通过优化提高我解决问题的速度和质量。

什么叫编程能力及格

1。能把实际问题抽象,然后用计算机来描述和解决问题。 2。可以称自己为 xxx 语言程序员,但是不恐惧写任何语言任何项目的代码。从来不会觉得:这个我不会所以做不了。 3。能够进行简单的性能分析,分析,不是瞎想。我看过太多通过瞎想判断性能的自以为是的人了。这需要对自己的代码,语言实现有一定了解。 4。有基础的 debug 和分析问题的能力。不会虾球测试代码。


什么叫编程能力优秀

  • 在写代码的时候能不借助调试器(对就是说我(逃)),通过报错以及出现的状况判断是哪个地方出问题了(也算黑盒测试的一种?)
  • 能够进行性能分析,找出性能瓶颈,这里涉及的知识点就更多了,计算机基础知识,整体化思想(从上到下寻找性能瓶颈。开始于代码(业务逻辑代码),终止于代码(CPU 级别),对业务的熟悉。

什么叫会编程呢

  • (至少同龄人里我没见过任何人跟我思考一样的问题。)
  • 能够做出决定:
    • 到底该不该采取这个优化
    • 什么时候重构代码
    • 到底该不该升级框架
  • 这个要考虑的方面太多了,开发成本,时间成本,风险,协调性。
  • 有一些优化是没意义的/次要矛盾。而大家都喜欢抓着看得到的东西优化。

  • 如果你一句都看不懂,慢慢学 python 吧。
  • 如果你就看得懂几句,说明你根本没入门编程。
  • 如果你能理解大部分内容,说明学习方向还算正确,可以继续按照这样的方向学下去。

  • 文本来自于 QPython 编程群
  • 感谢 架构分析】坚决不讨论专业问题的 IE6 大佬

大佬名称截图

编程4 min read

在hosts文件中加入如下几句即可

  • vim /etc/hosts linux
  • vim C:\Windows\System32\drivers\etc\hosts windows
192.30.252.123 www.github.com    
103.245.222.133 assets-cdn.github.com
185.31.18.133 avatars0.githubusercontent.com
185.31.19.133 avatars1.githubusercontent.com

现在这个IP似乎也不管用了,所以如果使用了shadowsocks的可以用git使用代理

git config --global http.proxy socks5://127.0.0.1:9999    
git config --global https.proxy socks5://127.0.0.1:9999
git config --global http.https://github.com.proxy socks5://127.0.0.1:1080

用完记得关上,不然内网的git也会很慢

git config --global --unset http.proxy    
git config --global --unset https.proxy
编程One min read

执行

在IPython console里先cd到test.py所在的文件夹,再run test.py。注意使用的是命令run 而不是命令python。

debug

栗子:

debugfile('/home/1/tensor2tensor/tensor2tensor/bin/t2t-datagen', args='--problem=image_mnist --data_dir=~/t2t_data --tmp_dir=~/t2t_data/tmp',wdir='/home/1/tensor2tensor/tensor2tensor/bin')    
  • ipython下
cd /home    
pwd
ls
help(runfile)
Help on function runfile in module _pydev_bundle.pydev_umd:
runfile(filename, args=None, wdir=None, is_module=False, global_vars=None)
Run filename
args: command line arguments (string)
wdir: working directory
run test.py

更多资料

PythonOne min read

首先必要要求

公司有 VPN 连接到内网

  • 这里放个用 wireguard 搭建 VPN 的博客 链接

获取机器 ip

  • 参考:windows 下面固定本地 ip

  • 查询机器 ip (win + R 召唤)cmd 下 ifconfig.exe ifconfig.exe

  • 固定机器 ip 这里建议固定下自己机器的 ip, 避免重启 ip 改了。请使用你查询的 ip 固定。

  1. 右键网络->打开网络和共享中心->选择你正连接的网络->属性->双击 Tcp/ipv4; image.png
  2. 设置 ip 和掩码,及网关,网关可以在 cmd 里面输入 ipconfig 即可看到 image.png
  3. ifconfig.exe 验证 image.png

ps. 有可能以后开启机器后连不上网,可能是你的 ip 被别的机器占了,解决方案是不关电脑


必要设置

  • Win + Q 搜索登录选项 设置个密码

  • 【我的电脑】右键【属性】,最左边【远程设置】,✔允许远程连接到此计算机 (L)

image.png

  • Win + Q 搜索安全中心 ----> 防火墙***** ----> 关闭域防火墙

image.png

连接

  • Win + R 运行以下命令 mstsc /v 192.168.0.136

其他问题

win10 的家庭版是没有组策略的

连接卡顿问题

  • 首先在客户端上,搜索策略组进入策略组编辑窗口,打开计算机配置->管理模板->Windows 组件->远程桌面服务->远程桌面连接客户端->关闭客户端上的 UDP->启用;
  • 然后在远程主机上,同样进入策略组编辑窗口,打开计算机配置->管理模板->Windows 组件->远程桌面服务->远程桌面会话主机->连接->选择 RDP 传输协议->启用并选择仅使用 TCP;
  • 两台机器都重启一下,再连接,就不会卡顿了

在家办公还是很爽 der

随笔2 min read

下载地址

error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\cl.exe' failed with exit status 2
  • 注意安装目录不能有中文
  • 版本对应 python 版本
  • 命令为:pip install *.whl
PythonOne min read

02

  • 感知层
  • 角色层
  • 资源层
  • 能力圈
  • 存在感

03

  • 同理心
  • 满足 尺度
  • 愉悦 需求被满足
  • 爽 积压负面后一瞬间被满足
  • 不爽 不满足

04

  • 被侵犯感
  • 愤怒 是一种恐惧
  • 焦虑 是一种持久的恐惧
  • 恐惧是边界 捆住人的手脚
  • 恐惧是动力
  • 恐惧是痛点 要么愉悦 要么 恐惧 不要不痛不痒 为此会花钱
  • 所以直面恐惧

05

  • 基于意识 只能让对方觉得占了便宜
  • 意识即防御
  • 越思考越顾虑
  • 了解一个人的关系模式 了解童年和亲近人的互动模式
  • 催眠 : 微笑 重复

06

  • 形成人格
  1. 确定目标
  2. 建立恐惧的边界
  3. 放入清晰的标的
  4. 给予红利,然后让它产生路径依赖
  5. 不断重复
  • 用于 便于被管理(教育是反人性的)
  • 一个人忙了一天回到家,坐在沙发上,掏出手机想休息一会儿的时候,凭什么你认为她“应该”继续完成角色,并且按照角色的设定点点戳戳你的产品呢?
  • 人其实只有在压力非常大的情况下,才会去扮演角色。除非你能给他的压力非常到位,否则就不要对他做角色化预期。
  • 人是因为训练和压力才成为角色的,而集体就是角色的聚集。

07

  • 一种人更关注我喜欢什么,而另一种人更关注什么是对的。
  • 自我:感受力强、暴躁、情绪化、无时间观念、自我、自私
  • 靠愉悦驱动的人,往往自我。
  • 靠恐惧驱动的人,往往自律。

08

  • 机会判断
  • 附着的经济体
  • 点的努力成功
  • 点线面体定位个人工作

09

  • 长期关系不能靠闪耀点 平常就好
  • 求之于世 不求于人

10

  • 点线面体
  • 痛点
  • 爽点 即时满足
  • 痒点 满足虚拟自我(想象中理想的自己)

11

  • 用户画像
  • 第一只羊 头羊(网络效应,自组织) 狼
  • 网络效应看头羊数量
  • 大明(京东) 笨笨(淘宝) 小闲(腾讯)
  • 即使面对千军万马 你要斩杀的只是对面的一人
  • 用户心里建设(预期)

12

  • 场景 情绪触发
  • 能触发用户情绪的场景 才是流量入口
  • 场景触发情绪 用户遇到这个问题 会想到什么名字
  • 场景 = 场 + 景 =空间+时间的点上 情绪出发
  • 互联网商业 = 产品的比拼 流量的争夺 转化率的优化
  • 解决了什么问题
  • 为谁解决问题 他即刻满足了么
  • 多少人解决了这个问题
  • 目前 大家怎么解决的
  • 我的竞争力
  • 用户在什么场景出发情绪
  • 用户会想到谁
  • (解决什么问题 为谁解决 多少人 别人怎么解决 我的为什么能赢 用户会在什么)

13

  • 系统能力
  • 服务 用户获得 用户满足 为中心
  • 确定性
  • 核心服务 核心资源
  • 战略判断
  • 用户区分 区分需求
  • 回收成本 服务成本
  • 稳定的服务用户的特性

14

  • 建设系统能力
  • 用户依赖产品的确定性
  • 效率 用户体验 为系统能力的核心指标
  • 数字化 给人压力
  • 企业的存在 就是社会效率分工的产物
  • 拼手机的时候 小米在拼效率

15

  • 迭代

16

  • 核心功能 work 比什么都重要
  • 用户自主更新 新点吸引人
  • 关系链 相同特质
  • 未来的几年你 你会用什么样的方式 持续迭代

17

  • 死 顶 借 赢
  • 普通员工:明确知道常见风险
  • 产品经理:具备风险规避意识
  • 总监:有风控能力
  • 更高级:能操作有风险的执行
  • 用向死之心工作 (看生死问你)
  • 系统能力是你的本地
  • 甄别关键人物

18

  • 用户体验
  • 用户体验要素 五个层次
  • 感知层 角色框架层 资源结构层 能力范围层 战略存在层
  • 战略存在层 我们要通过这个产品得到什么 我们用户能得到什么 (别人能够持续的依赖你 )
  • 能力圈:做到那些 那些不做
  • 资源结构层:谁是敌人 谁是朋友
  • 角色框架
  • 感知层

19

  • 不用全局型 一个用户的视角
  • 用户地图:用户目标 触点 使用路径
  • 给相似的故事 做用户地图
  • 给笨笨 不给大明
  • 谈用户体验 不谈数据
  • 建立一个有代表性的故事
  • 数据没有逻辑 故事有逻辑
  • 关系=信息

20

  • 设计服务蓝图
  • 一眼:一眼看到目标
  • 一条路:清晰的路径
  • 三个点:峰值+- 终值 忍耐底线
  • 有概念感 印象留存
  • 与其更好 不如不同

21

  • 激励能力

  • 激励 满足

  • 不确定的爽点

  • 确定的爽点

  • 用户的激励感

  • 用户激励机制

  • 激励的叠加

  • 确定是依赖 不确定就是伤害

  • 自我满足愉悦感来做事

  • 不要让用户思考

  • 降低设备门槛

  • 降低动作门槛

  • 降低思考门槛

  • 降低时间门槛

  • 人会上瘾 对确定性满足的依赖

  • 上瘾机制的设计=激励机制的设计

  • 外在激励 内在激励

  • 设计多少个激励点

22

  • 名字和口碑 (说文解字)
  • 名字是最短的咒(束缚 特征)
  • 用钱或权做杠杆
  • 口碑就是把事情做过头(超过预期)
  • 口碑是一个听觉文案(提消费者设计他要说的话)

23

  • 创新模式
  • 产品经理:创造用户价值为工具 打破旧的利益平衡 建立对己方有利的新利益链 建立新平衡的过程
  • 用户价值= 新体验-旧体验-变化成本
  • 同纬度竞争 体量大的的胜 降纬攻击 资本强行合并

24

  • 未来已来 只是分布的不均匀
  • 用常见配件迭代(常用技术 常见配件)

25

  • 新要素
  • 从新要素换本质 不换服务
  • 先有基础上 优化体验或成本结构 或变革商业逻辑

26

  • 商业模式的三级火箭
  • 第一级火箭:搭建高频的头部流量
  • 第二级火箭:沉淀某类用户的商业场景
  • 第三级火箭:完成商业闭环

27

  • 颠覆式创新

  • 价值网

  • 真正决定企业未来发展方向的是市场价值网

  • 真正主导企业发展进程的是机构以外的力量

  • 企业真正的管理者,需要识别自己赖以生存的价值网,然后建立一个组织,与这个价值网进行资源对接

  • 价值网里,至少有三个角色:一是客户,二是对手,三是投资人

  • 客户是我们最重要的资产,但也可能是我们最主要的创新盲区

  • 我们应该警醒,有时候真正缠住你视野的,可能不是客户,而是你的对手

  • 在资本的增长压力下,大公司很难进入小市场

  • 小市场一旦启动指数级的爆发增长,大公司就再也追不上了

  • 看上去是一样的产品,但代表了完全不同的两张价值网

  • 覆式创新最重要的标准就是,是否开启了一个新的价值网

28

  • 中观 微观 宏观
  • 套路
  • 是前人总结的有效经验,练好套路可以自我排查问题,便于和团队沟通
  • 靠套路成不了高手
  • 微观体感:真实地感知每一个微小瞬间
  • 最挑剔的人,其实就是最有防御意识的人
  • 如果产品突然碰触用户的某个意识神经,让用户产生防御,那流失的几率就会加大
  • 建立细微的微观体感
  • 几家定位相似、体验相似的产品,靠优化用户体验,其实是无法终结战争的
  • 大仗拼胜负,靠的是宏观能力
  • 没有微观体感,靠套路判断,就是自欺欺人
  • 但打大仗,做顶级高手,则要求宏观能力也要强

29

  • 产品是一种现实能力
  • 风口 需要掠夺性
  • 三级组织 共同规则
  • 二级组织 共同利益
  • 一级组织 共同信仰
  • 顶级组织 至情至性
  • 确定性是关键
  • 确定感会让人觉得舒适与安全
  • 依赖=真实的长期关系
  • 做有确定感的事情
  • 人生逻辑大于商业逻辑

30

  • 粉丝经济
阅读笔记8 min read