首页
留言
友链
关于
Search
1
思源笔记docker私有化部署及使用体验分享
1,191 阅读
2
windows11 远程提示:为安全考虑,已锁定该用户帐户,原因是登录尝试或密码更改尝试过多。
619 阅读
3
Pointer-Focus:一款功能强大的教学、录屏辅助软件
388 阅读
4
在vue-cli3使用sass(scss)定义的全局样式及变量
323 阅读
5
使用cspell对项目做拼写规范检查
264 阅读
Web前端
CSS
JavaScript
交互
Vue
小程序
后端
运维
生活
其他
转载
软件
登录
Search
标签搜索
docker
DevOps
magic-boot
Linux
酷壳
RabbitMQ
Node
git
工具
Vue
MybatisPlus
clickhouse
规范
前端
产品
markdown
axios
H5
经纬度
vue-cli
朱治龙
累计撰写
118
篇文章
累计收到
0
条评论
首页
栏目
Web前端
CSS
JavaScript
交互
Vue
小程序
后端
运维
生活
其他
转载
软件
页面
留言
友链
关于
搜索到
24
篇与
其他
的结果
2024-01-04
[转载]你写文档吗?你为什么应该写文档?
本文主要是结合作者的项目实践来说明文档对于一个团队开发的重要性, 以及在提高效率节省时间方面的意义, 并且指出如何在实践开发中写文档与维护文档.
2024年01月04日
3 阅读
0 评论
0 点赞
2023-12-26
推荐一款统计代码行数的VSCode插件
基本介绍在撰写软著文档或做项目结项时我们一般都需要统计工程的代码行数,如果逐个文件进行统计的话,不仅费时费力,还不一定能得到准确的数据,所以我就在做这工作的时候找了下相关的工具,发现 VSCode 有一款好用的插件:Lines of Code(LOC)插件市场链接:https://marketplace.visualstudio.com/items?itemName=lyzerk.linecounterGithub 链接:https://github.com/alimozdemir/vscode-linecounter该插件当前的介绍信息见截图:基本使用安装后,可使用 Ctrl+Shift+P 打开 命令面板,然后输入 LineCount,显示如下选项:相关选项对应的是:LineCount:Count Workspace files:统计当前工作区所有文件的代码行数LineCount:Count current file:统计当前文件的代码行数选择 LineCount:Count Workspace files 后,系统将进行相关统计操作,统计完后会在当前工程的out目录生成 linecounter.txt 和 linecounter.json 文件,其中 linecounter.txt 文件内容如下:=============================================================================== EXTENSION NAME : linecounter EXTENSION VERSION : 0.2.7 ------------------------------------------------------------------------------- count time : 2023-12-27 09:21:44 count workspace : d:\GitRoot\SE\console\console-ui total files : 563 total code lines : 72734 total comment lines : 3925 total blank lines : 3554 statistics | extension| total code| total comment| total blank|percent| ------------------------------------------------------------------------- | .devIstio| 44| 2| 7| 0.060| | .stage| 34| 0| 0| 0.047| | .production| 41| 0| 0| 0.056| | | 193| 74| 42| 0.27| | .development| 36| 0| 0| 0.049| | .js| 13156| 1998| 752| 18| | .html| 2347| 6| 333| 3.2| | .md| 1660| 243| 419| 2.3| | .svg| 1743| 0| 107| 2.4| | .json| 3403| 7| 5| 4.7| | .yaml| 4153| 17| 626| 5.7| | .stg| 9| 2| 5| 0.012| | .blsc| 10| 2| 7| 0.014| | .conf| 103| 5| 27| 0.14| | .key| 30| 0| 0| 0.041| | .yml| 71| 0| 4| 0.098| | .crt| 28| 0| 0| 0.038| | .scss| 1778| 83| 312| 2.4| | .vue| 43126| 1467| 715| 59| | .css| 769| 19| 193| 1.1| ------------------------------------------------------------------------- .browserslistrc, code is 3, comment is 0, blank is 0. .editorconfig, code is 9, comment is 0, blank is 1. .env, code is 19, comment is 0, blank is 0. .env.blsc.development, code is 20, comment is 0, blank is 0. .env.blsc.devIstio, code is 20, comment is 0, blank is 0. .env.blsc.production, code is 23, comment is 0, blank is 0. .env.blsc.stage, code is 21, comment is 0, blank is 0. .env.development, code is 16, comment is 0, blank is 0. .env.devIstio, code is 14, comment is 0, blank is 0. .env.production, code is 18, comment is 0, blank is 0. .env.stage, code is 13, comment is 0, blank is 0. .eslintignore, code is 1, comment is 4, blank is 0. .eslintrc.js, code is 196, comment is 129, blank is 0. .gitignore, code is 20, comment is 0, blank is 2. .prettierrc, code is 6, comment is 0, blank is 0. admin.html, code is 21, comment is 2, blank is 0. cspell.json, code is 96, comment is 7, blank is 2. default.conf, code is 14, comment is 0, blank is 2. ... 统计的文件列表 src\views\userCenter\modals\WarningCcLimitModal.vue, code is 218, comment is 5, blank is 1. vite.config.js, code is 183, comment is 30, blank is 5. ===============================================================================从上面的信息不难看出当前工程内的文件总数及总代码行数, 包括注释行数及空行数。其中该插件有不少配置信息,可以在统计钱根据实际情况进行文件排除等场景,配置信息示例数据如下:{ "LineCount.showStatusBarItem": true, "LineCount.statistics": true, "LineCount.includes": [ "**/*" ], "LineCount.excludes": [ "**/.vscode/**", "**/node_modules/**" ], "LineCount.output": { "txt": true, "json": true, "csv": true, "md": true, "outdir":"out" }, "LineCount.sort": "filename", "LineCount.order": "asc", "LineCount.comment":[ { "ext": ["c","cpp","java"], "separator": { "linecomment": "//", "linetol":false, "blockstart": "/*", "blockend": "*/", "blocktol": false, "string":{ "doublequotes": true, "singlequotes": true } } }, { "ext": ["html"], "separator": { "blockstart": "<!--", "blockend": "-->", } } ] }
2023年12月26日
89 阅读
0 评论
0 点赞
2023-06-06
Ubuntu 添加FRP客户端自启动
背景介绍今年618 的时候购置了一台迷你主机,主要用于家庭内部服务器使用,主要基于Docker 部署其他应用,而 Ubuntu 作为 docker 原生支持最好的操作系统,而且还有漂亮的桌面,当然也就成了本迷你主机的操作系统首选。装完系统后,部署的很多应用只能内部使用,为了方便,当然不能只局限于家庭内部环境使用。结合之前不熟的FRP服务端,完全可以对外提供WEB服务,于是便有了本期的教程。下载 FRPFRP 是服务端和客户端打包在一个压缩包文件里的,可以直接从github下载就好。FRP 发布地址:https://github.com/fatedier/frp/releases本处直接下载最新的0.49.0 版本,根据操作系统,本处选择frp_0.49.0_linux_amd64.tar.gz 进行下载:wget https://github.com/fatedier/frp/releases/download/v0.49.0/frp_0.49.0_linux_amd64.tar.gz下载后 解压文件tar -zxvf frp_0.49.0_linux_amd64.tar.gz将解压的文件移动到当前用户有权限的目录,本案例中移动到 /data/apps/frp目录编辑 frpc.ini 文件本处结合实际情况,修改内容如下,部分涉密数据做了调整:[common] server_addr = SERVER_IP server_port = 7000 # for authentication token = TOKEN log_file = /data/apps/frp/frpc.log log_level = info log_max_days = 30 [home_ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 4000 [home_web_pan] type = http local_ip = 127.0.0.1 local_port = 80 http_user = zhuzl http_pwd = PASSWORD subdomain = pan [home_web_kod] type = http local_ip = 127.0.0.1 local_port = 80 http_user = zhuzl http_pwd = PASSWORD subdomain = kod 配置完成后,可直接运行frpc 验证是否OK../frpc若有问题,可检查frpc.ini相关配置信息是否正确配置frpc自启动配置自启动过程中,为避免权限相关问题,本处直接切换为 root 账号添加 frpc.servicevi /etc/systemd/system/frpc.service输入如下服务配置内容[Unit] Description=Frp Client Service After=network.target [Service] Type=simple User=jiuzilong Restart=on-failure RestartSec=5s ExecStart=/data/apps/frp/frpc -c /data/apps/frp/frpc.ini [Install] WantedBy=multi-user.target 启用服务# 启用服务 systemctl enable frpc.service # 禁用服务 systemctl disable frpc.service重启服务systemctl daemon-reload systemctl start frpc验证服务启动状态systemctl status frpc参考链接FRP官方文档: https://gofrp.org/docs/overview/FRP服务端安装并设置开机自启动: https://blog.zhuzhilong.cn/software/install-frps-as-service.html推荐另一种docker compose 的启动方式:version: '3.3' services: frpc: restart: always network_mode: host volumes: - './frpc.ini:/etc/frp/frpc.ini' container_name: frpc image: snowdreamtech/frpc
2023年06月06日
16 阅读
0 评论
0 点赞
2023-05-14
FRP服务端安装并设置开机自启动
背景介绍之前一直有使用FRP做内网穿透,一般主要用于远程桌面和对外提供http服务进行测试,由于域名备案信息被撤销,原有解析过去的二级域名被拦截了,所以考虑将FRP 服务端部署到一台墙外的服务器上去,搜了一圈没找到之前的部署记录,本次也就只好将安装过程记录备忘了。安装时间:2023-05-14 15:51安装下载最新版本的frpfrp 在GitHub的地址是,# 进入用户目录 cd /usr/local # 下载frp 最新版, wget https://github.com/fatedier/frp/releases/download/v0.48.0/frp_0.48.0_linux_amd64.tar.gz # 解压 tar -zxvf frp_0.48.0_linux_amd64.tar.gz配置打开服务端配置文件vi /usr/local/frp/frps.ini 参考frps_full.ini,将服务端配置文件(frps.ini)修改为如下内容[common] bind_addr = 0.0.0.0 bind_port = 7000 token = TOKEN_INFO # udp port to help make udp hole to penetrate nat bind_udp_port = 7001 # if you want to support virtual host, you must set the http port for listening (optional) # Note: http port and https port can be same with bind_port vhost_http_port = 80 vhost_https_port = 443 # console or real logFile path like ./frps.log log_file = ./frps.log # set dashboard_addr and dashboard_port to view dashboard of frps # dashboard_addr's default value is same with bind_addr # dashboard is available only if dashboard_port is set dashboard_addr = 0.0.0.0 dashboard_port = 7500 # dashboard user and passwd for basic auth protect dashboard_user = admin dashboard_pwd = admin # dashboard TLS mode dashboard_tls_mode = false # authentication_method specifies what authentication method to use authenticate frpc with frps. # If "token" is specified - token will be read into login message. # If "oidc" is specified - OIDC (Open ID Connect) token will be issued using OIDC settings. By default, this value is "token". authentication_method = token # if subdomain_host is not empty, you can set subdomain when type is http or https in frpc's configure file # when subdomain is test, the host used by routing is test.frps.com subdomain_host = lan.dev.trswcm.com自启动添加自启动文件vi /etc/systemd/system/frps.service输入如下内容:[Unit] Description=Frp Server Service After=network.target [Service] Type=simple User=root Restart=on-failure RestartSec=5s ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini [Install] WantedBy=multi-user.target添加可执行权限chmod +x /etc/systemd/system/frps.service注册服务systemctl enable frps.service当出现如下提示信息后表示注册成功 [root@VM-0-9-centos systemd]# systemctl enable frps.service Created symlink from /etc/systemd/system/multi-user.target.wants/frps.service to /etc/systemd/system/frps.service.启动服务systemctl daemon-reload systemctl start frps启动过程有可能会报错,报错的话,请根据错误提示进行相应调整查看服务状态systemctl status frps出现如下截图所示信息则表示已启动成功:推荐另一种简单的docker-compose 的方式:‵‵‵ yamlversion: '3.3'services:frps: restart: always network_mode: host volumes: - './frps.ini:/etc/frp/frps.ini' container_name: frps image: snowdreamtech/frps
2023年05月14日
20 阅读
0 评论
0 点赞
2023-03-15
峰终定律
概述峰终定律是指人们对一件事的印象,往往只能记住两个部分。一个是过程中的最强体验,峰;一个是最后的体验,终。过程中好与不好的其他体验对记忆差不多没有影响。一、峰终定律的概念诺贝尔奖得主,心理学家DanielKahneman,经过深入研究,发现对体验的记忆由两个因素决定:高峰(无论是正向的还是负向的)时与结束时的感觉,这就是峰终定律(Peak-EndRule)。这条定律基于潜意识总结体验的特点:对一项事物的体验之后,所能记住的就只是在峰与终时的体验,而在过程中好与不好体验的比重、好与不好体验的时间长短,对记忆差不多没有影响。而这里的“峰”与“终”其实这就是所谓的“关键时刻MOT”,MOT(MomentofTruth)是服务界最具震撼力与影响力的管理概念与行为模式。人们主要根据他们在高峰时期(即最紧张的时刻)感受到的体验来判断体验,而不是基于每个时刻的总和或平均体验。二、峰终定律的体验心理学家卡纳曼付钱让受试者亲自体验A和B,然后问他们愿意再接受哪一种体验:A 把手放在冰冷刺骨的水里60秒。B 把手放在冰冷刺骨的水里90秒,前60秒水温不变,后30秒温度慢慢上升,虽然水依然很冰,但至少比刚才好一点。所有人都会觉得选项A比较好,因为不愉快的体验少了30秒,没有人会喜欢在不愉快的体验之后再追加其他不愉快的体验。不过实际情况并非如此。出乎意料的是,80%以上的人选择了时间比较长的B,为什么会出现这种结果呢?只有亲身体验过喜悦和痛苦之后,人们才能对其作出适合自己感受的衡量。在事前预测阶段,人们的心理认知未必符合实际感受情况。从客观角度来看,选项B应该比较痛苦,所以大家倾向于选择痛苦看起来比较少的选项A。可是在实际体验过A和B以后,人们反而会选择感受和记忆相对比较美好的B。卡纳曼经过深入研究,发现人的记忆不会以同等标准衡量所有事物,而会牵涉到与这些事物有关的复杂情绪。衡量某种体验时,人们容易忽略该体验持续的整体印象,而经常根据高峰(无论是正向的还是负向的)时和结束时的感觉作出判断。简言之,我们在实际体验之前,会选择痛苦比较少的选项,而亲身体验之后,即使痛苦时间比较长,也会选择记忆印象比较好的选项。三、峰终定律的应用任何消费者互动中的负面事件都可以通过建立牢固的积极高峰和结束点来抵消。 这可以通过演奏顾客喜欢的音乐,赠送免费样品,或者让店员在顾客离开时为顾客保持门而实现。 正如Scott Stratten所建议的那样,“一位真正优秀的销售人员可以帮助交流,消除一路上的负面经历。”排长队排队,更衣室里的糟糕音乐被遗忘了。宜家的购物路线是按照“峰终定律”设计。虽然在宜家购物有一些不好的体验,比如“地形”复杂,哪怕只买一件家具也需要走完整个商场,比如店员很少,找不到帮助,比如要自己从货架上搬货物,要排长队结账等等等等。但是它的峰终体验是好的,它的“峰”就是过程中的小惊喜,比如便宜又好用的挂钟,好看的羊毛毯以及著名的瑞典肉丸;它的“终”是出口处 1 元钱的冰淇淋!如果没有出口处 1 元钱的冰淇淋,宜家的“终”体验可能会很差。所以,1 元钱的甜筒看似赔本,却为宜家带来了极佳的“终”体验,成为人们记住宜家的一个标记。当人们再回忆起宜家的购物之旅时,会觉得整体行程都非常棒。客户/合作伙伴来拜访,不管过程如何,在客户/合作伙伴离开的时候,一定送客户/合作伙伴到门口或者电梯间,并在电梯门关上前的瞬间,给客户/合作伙伴一个灿烂的笑容。
2023年03月15日
4 阅读
0 评论
0 点赞
2022-09-15
思源笔记docker私有化部署及使用体验分享
说明考虑到网络问题、数据隐私和安全性,很多人都无法放心将所有笔记保存在 Notion、Wolai 这类纯在线服务上,一旦服务变卦 (比如收费、倒闭等) 都会很被动。所以,如果有一款既拥有各种先进特性,还能自建服务器的开源笔记软件,那就非常完美了!而它就是思源笔记以下是思源笔记官网的介绍,着实让人心动:部署官网提供 Docker 方式,让私有化部署便捷了不少。只需要两条命令即可:# 拉取镜像 docker pull b3log/siyuan # docker 运行 docker run --name siyuan -it -d --restart=always -v /data/siyuan/workspace:/siyuan/workspace -p 6806:6806 -u $(id -u):$(id -g) b3log/siyuan --workspace=/siyuan/workspace配置 nginx 对外提供服务我使用的腾讯云的服务器,将思源笔记使用docker 运行后,通常使用 nginx 代理对外提供应用服务。nginx 代理配置信息如下server { listen 80; server_name siyuannote.dev.wljy.xyz; index index.html index.htm default.htm default.html; root /www/wwwroot/siyuannote.dev.wljy.xyz; location / { proxy_pass http://10.0.12.15:6806; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; add_header X-Cache $upstream_cache_status; #Set Nginx Cache add_header Cache-Control no-cache; } access_log /www/wwwlogs/siyuannote.dev.wljy.xyz.log; error_log /www/wwwlogs/siyuannote.dev.wljy.xyz.error.log; }配制好后,重启 nginx 服务即可使用我们nginx配置的域名(siyuannote.dev.wljy.xyz)访问了。初体验国际化初次访问的时候,默认是英文版的,可以按Alt + P,在打开的对话框中,选择 Appearance -> Language 中选择 简体中文:使用体验Block编辑思源笔记在使用体验上,较常规markdown编辑器,一大特色就是Block编辑模式,按下 /后可快速使用内置 20+ 种类型的块元素和 10+ 种行级元素。表格排版对于一些结构化的数据,难免会使用表格进行布局,而常规的markdown 在使用表格时异常难使用,思源笔记提供右键方式操作表格,也还算灵活:粘贴Markdown初次使用的时候,直接把 markdown 内容在编辑器中Ctrl + V 粘贴,发现直接变成代码块了。感觉有些不习惯,这一点语雀做得最好。在快捷键中查看了下 粘贴为纯文本方式 ,可以使用 Ctrl + Shift + V。从快捷键配置界面可以看出思源笔记的快捷键还是很丰富的,而且可以自定义。粘贴剪贴板中的图片经验证可直接粘贴剪贴板中的截图图片上传到服务器中,图片上传后持久化存储在服务器思源笔记工作目录的assets目录中。没有看到可以配置图床的地方。安全配置思源笔记部署后默认是不需要密码即可访问的,我们私有化部署更多的是要控制只有我们自己能访问。可在配置界面的 关于 -> 访问授权码 中 设置授权码:配置后将只能输入授权码解锁后才可访问:功能扩展思源笔记提供「集市」模块,可在线下载主题、模板、图表、挂件,初步使用感觉还是蛮方便的。尾声Typora 开启强制收费模式后,有短暂的使用过Mark Text,但是发现Mark Text 在打开较大 markdown 文件时比较卡顿。偶然在公众号中看到推荐的思源笔记,通过官网了解后,便有了试用的冲动。使用下来,感觉可以作为后续的主markdown编辑器使用。Links官网:https://b3log.org/siyuan/思源笔记Docker镜像:https://hub.docker.com/r/b3log/siyuan
2022年09月15日
1,191 阅读
0 评论
0 点赞
2022-08-06
Keyviz – 开源按键可视化工具:实时显示键盘按键[Windows]
介绍Keyviz 是一款开源、免费的按键可视化工具,它可以实时显示用户当前按下的按键,可自定义显示按键风格、样式,非常适合录屏、演示等场合使用。其可定制性让你能制作出任意风格的按键风格:使用很简单,在设置界面的 Style 里选中一个喜欢的、独特的键盘样式以及位置,对于很多截图、录屏、直播用户,甚至可以作为个人标识使用:还可以设置显示全部按键,或者仅显示快捷键,比如 Ctrl + C,但不显示 Shift + 1、A、B、C 等按键。最重要的是宣传图做的好看,那么用户将来截图录屏也会很漂亮。链接官网:https://kutt.appinn.net/UPg2QUGithub:https://github.com/mulaRahul/keyviz
2022年08月06日
102 阅读
0 评论
0 点赞
2022-05-28
微软拼音输入法快速当前时间
微软拼音输入法默认可以使用 rq 快速输入 2022年5月28日 和 使用 sj 快速输入 16点20分,可是在写代码过程中我们常使用 yyyy-MM-dd HH:mm:ss 格式的当前日期数据。经过简单搜索后,可以通过添加自定义词库的方式实现,具体操作步骤见下图:最核心的是短语中输入如下数据:%yyyy%-%MM%-%dd% %HH%:%mm%:%ss%
2022年05月28日
10 阅读
0 评论
0 点赞
2022-05-13
Android互动直播APP开发入门-学习笔记
链接:https://www.imooc.com/learn/923慕课网上的免费视频,绝对的良心之作,视频录制于2017年左右,虽说是五六年前的课程了,但是在直播大行其道的今天,相关的技术及观点依然不过时直播现状直播流程直播流程之采集直播流程之前处理直播流程之编码直播流程之推流与优化直播流程之服务端直播流程之客户端直播流程之交互系统交互方式:聊天、礼物、连麦、点赞直播流程-工具直播SDK的对比
2022年05月13日
33 阅读
0 评论
0 点赞
2022-05-07
易读错英语单词记录
整理我个人常读错的英语单词static发音:['stætɪk]链接:https://www.iciba.com/word?w=static释义:静态的;静止的;稳定的;静力的;静电的静电;静电干扰deprecated英[ˈdeprəkeɪtɪd]美[ 'dɛprə,ketɪd]链接:http://www.iciba.com/word?w=deprecated释义:不赞成,反对( deprecate的过去式和过去分词 )encrypt英[ɪnˈkrɪpt]美[ɛnkrɪpt]链接:http://www.iciba.com/word?w=encrypt释义:v.加密,将…译成密码vt.& vi. 把…加密(或编码),将…译成密码record英[ˈrekɔːd]美[ˈrekərd]链接:http://www.iciba.com/word?w=record释义n.记录,记载; 唱片; (体育运动或活动的)纪录; 履历; 案底v.记录;记载; 录制; 标明,显示adj.创纪录的parameter英[pəˈræmɪtə(r)]美[pəˈræmɪtər]链接:http://www.iciba.com/word?w=parameter释义n.[数]参数; <物><数>参量; 限制因素; 决定因素execute英[ˈeksɪkjuːt]美[ˈeksɪkjuːt]链接:http://www.iciba.com/word?w=execute释义v.处死; 实施; 完成; 制作decimal英[ˈdesɪml]美[ˈdesɪml]链接:http://www.iciba.com/word?w=decimal释义adj.十进位的; 小数的n.小数unique英[juˈniːk]美[juˈniːk]链接:http://www.iciba.com/word?w=unique释义adj.唯一的; 独特的; 特有的input英[ˈɪnpʊt]美[ˈɪnpʊt]链接:http://www.iciba.com/word?w=input释义n.输入,投入; 输入电路; <电>输入端; 输入的数据vt.把…输入电脑; 自 输入; 输入,给料
2022年05月07日
12 阅读
0 评论
0 点赞
2022-05-05
UI设计-AI基础-学习笔记
以下仅为学习过程中的简单记录图标的定义分类与应用场景线性![线性图表标(/usr/uploads/2022/05/2214274233.png)面性线性填充扁平图标通过色块构成图标,没有渐变、投影等效果手绘图标写实图标图标绘制的标准化流程设计流程确定主题风格 --> 关联性 --> 切入点(受众、行业) --> 草稿(大致形状构想)设计过程中的注意点结构造型:一致性栅格线细节处理色彩搭配后续输出包装总结图标结构设计之布尔运算可尝试使用布尔运算方式绘制手工如下图标:阵列复制技巧先使用 Ctrl+T 自由切换,按住Alt键可结合鼠标移动中心点,对图形进行调整(如位置、大小、角度等)后,可使用 Ctrl+Alt+Shift+T 快速复制可尝试使用阵列复制的方式绘制如下图标:圆角半径JS脚本插件Corner Editor圆角插件,下载地址:Corner Editor.zip下载后,解压将jsx文件拷贝到PS安装目录下的 Presets 目录,重启应用即可通过 文件 -> 脚本 -> Corner Editor 打开插件
2022年05月05日
2 阅读
0 评论
0 点赞
2022-04-07
并行计算基础知识-学习笔记
为什么会有并行计算?并行计算的必要性,现实世界计算需求与日俱增,对工期、规模有非常大的要求,并行计算可以非常好的提供计算能力汽车制造。设计制造领域,用于模拟分子模拟。微观领域不好现实观察石油勘探。通过数据推演,大概模拟地下储存情况数学建模。股市预测等处理器发展趋势-并行化功耗墙现代计算机体系架构下的并行化体系架构选择、优化成本(制造与功耗)与性能指令级并行(ILP)流水线(Pipelining)多指令发射乱序执行向量化(SIMD)单条指令执行能够同时处理多个数据片多线程(MIMD)多个程序实例能同时运行多核CPU发展架构的巨大转变并行化线程与进程线程与进程是抽象的概念,对应的物理概念是CPU核心每个线程或进程都至少对应一个CPU物理核心进程是 资源分配 的最小单位线程是 CPU调度 的最小单位线程比进程粒度更小一个进程可以拥有多个线程举例假设要吃完一盆米饭,多进程是每人一个碗 一起吃这盆米饭,多线程相当于多个人共用一个碗起吃这盆米饭,多线程 相当于多个人 共用一个碗 一起吃这盆米饭多进程时,碗(进程)和碗之间是独立的、互不影响的多线程时,每个人共享个碗的资源看起来多进程永远好于多线程但是如果加上这样的条件每个人穿不同颜色的衣服,米饭也分不同的种类,大米、小米、紫米....,规定什么颜色的衣服只能吃什么颜色米,但是盛饭的时候不知道盛到碗里的是什么米需要盛上来之后,各个颜色的人、碗互相沟通归类数据导致:人越多、碗越多,花在沟通上的时间越长,干正事吃饭的时间越短结论:现实情况并不一定多进程是永远好于多线程的,有的时候需要将多进程和多线程结合起来使用。多进程:进程和进程之间是互相独立的多线程:线程和线程之间是共享一个进程的资源多线程程序OpenMP、pthreads、TBB......已被各编译器按收作为基本编程规则,常用编译器都支持多进程程序使用MPI技术编程MPI本身是开放的编程接口,各厂商有自己的版本Intel MPI (白建超算推荐,无论什么程序优先使用,除非明确无法使月)天河MPICH3 (广州/长沙超算推荐)OpenMPI (Intel MPI不可用时备选)MPICH (禁用,无法使用高速网)有些程序只有多进程并行MS、OpenFOAM有些程序只有多线程并行Gaussian有些程序支持多进程和多线程混合并行VASP、 WRF......除只支持多线程的程序及用户特殊要求外,给用户测试交付时默认纯多进程并行CPU利用率运行程序占用的CPU资源的比率操作系统级别统计,分为用户态和内核态直观反映CPU的繁忙程度内存使用率使用的内存超过节点内存,作业会报错退出网络高速网Infiniband/Ominipath/天河自建超算都使用Infiniband高速网,速度相比以太网提升10倍以上编译和安装软件注意MPI环境使用
2022年04月07日
14 阅读
0 评论
0 点赞
2022-04-07
职场人际沟通必备技能-学习笔记
讲师:勾俊伟在职场如鱼得水,你需要两个必备要素:①、技术足够专业。90%②、懂得如何与大多数人相处愉快。10%如何用一张表,从根本上解决不开心工作不爽问题拆解工作问题分类拆解表一味的抱怨从本质上解决不了问题领导沟通术 ● 怎样正确地汇报工作?领导沟通汇报一件事情进行中,还没做完的时候,要多说结果,少说过程请示发生在事情开始之前或事情进行中,征询下一步,在请示前准备多套方案总结一般用于结束的时候,一般多说过程,少说结果,尤其是在项目做得好的时候,总结为什么你这个事情能做得好及为什么做得不好汇报工作注意两点:①、开门见山②、多说结果汇报工作:开门见山,我要沟通以下问题:汇报时多说结果,少说过程领导沟通术 ● 如何向领导做工作总结?准备工作:受众分析:给谁总结?选题拟定:总结什么?横向调研:类似的?受众分析给谁看? 领导风格决定总结风格选题拟定总结的内容主要包括:业绩、计划、心得、建议、分析、调研、资源横向调研领导沟通术 ● 怎样向领导请示工作?{card-describe title="请示工作注意两点"}一、带着方案二、注意句式{/card-describe}解决方案请求句式领导沟通术 ● 怎样向老板提出加薪?奖金:奖金不是福利,不可能人人都有,需要超越公司对你的期待才能获得。加薪:加工资除了是应对物价因素外,重要的是公司对你的岗位有了新的更高要求。红包:公司取得特别成绩的年份才会有的,原则是人人有份,根据你在阿里贡献的年份多久而定。我们鼓励员工在公司里长期发展。谈加薪的步骤如何和平级的同事沟通同事沟通 ● 如何处理同事越级安排工作?方法一(友好型):时间冲突,友好回绝,优先完成领导安排的任务方法二:时间允许,请示领导方法三:事后补救,汇报完成同事沟通 ● 怎样高效地进行跨部门沟通?步骤一:日常沟通。预热步骤二:共赢方案。提前梳理方案,最好以邮件或纸质的方式,清晰说明步骤三:沟通准备。梳理话术,见面扼要,说明重点,让对方便于理解、接受步骤四:工作小组。可以拉工作群组步骤五:留面子效应。算是小技巧,案例:借钱、先难度大,然后降低难度同事沟通 ● 没有太多共同语言,怎么与同事聊天?关系一般,没有共同语言同事太爱装x,怎么相处呢? 同事没营养的碎碎念,越来越受不了肿么办? 公司里领导眼中的红人,不想和他说话但是又得罪不起,怎么办? 没有共同语言的聊天技巧:技巧一:验证而非强加 禁忌: 推荐:技巧二:语言重新定义技巧三:建议顺水推舟技巧四:识别话中的话新工作 ● 如何迅速扮好你在团队中的角色?根据岗位角色定位储备型:人才储备,业务暂时不需要。全面学习、听指挥优化型:人员扩编,业务能力提升。寻求业务超越替代型:刚性需求。迅速掌握专项技能新工作 ● 新人掌握6个细节,迅速融入环境相对于叽叽喳喳一直说、招人烦的类型,大家更加喜欢安静一-点、有能力、贴心的同事。1、说话前准备:①、内容简化,防止别人听不出重点②、语气提前准备。2、就算不发表自己观点,也需要予以语言或表情的回应3、人和小猫一样,喂着喂着就出感情了4、好为人师:适当请教,但注意不是太难也不体现你无知。5、眼神与笑容(注意诚意)6、个人素质(招呼、点头、告别、椅子归位、顺手帮忙)
2022年04月07日
74 阅读
0 评论
0 点赞
2022-03-31
设计常用图片尺寸
相关图片尺寸来源于凡科快图 和 即时设计移动端iPhone 13 Pro Max 428 x 926iPhone 13 / 13 Pro 390 x 844iPhone 13 mini 375 x 812iPhone 11 Pro Max 414 x 896iPhoneX/ 11 pro 375 x 812iPhone 8 Plus 414 x 736iPhone 8 375 x 667iPhone SE 320 x 568Google Pixel 2 411 x 731Google Pixel 2 XL 411 x 823Android 360 x 640桌面端Desktop 1440 x 1024MacBook 1152 x 700MacBook Pro 1440 x 900Surface Book 1500 x 1000iMac 1280 x 720Web 1920 1920 x 1080Web 1366 1366 x 768Web 1280 1280 x 800公众号公众号封面 900 x 383公众号小图 200 x 200公众号首图 900 x 500公众号超链接配图 600x 200其他手机海报 720 x 1280PC端横幅 1920 x 600手机横版海报 960 x 540淘宝宝贝主图 800 x 800
2022年03月31日
29 阅读
0 评论
0 点赞
2022-01-26
[转载]如何从交互维度量化用户体验?
最近在准备一个用户体验相关的PPT作内部分享,收集素材的时候在知乎上发现一篇讲解非常翔实的文章。故转载于此,仅用于副本留底,若有侵权可联系删除。原文地址:https://zhuanlan.zhihu.com/p/39124206https://mp.weixin.qq.com/s/69SUAWmsg7S4J4CvLk1TNA{mtitle title="以下为转载的内容原文"/}之前参加了回音分享会,认识了很多新朋友,线下分享时间有限,可能有很多东西没有讲的很透彻,所以整理了一下我当时的 ppt 和想要表达的观点,写了这篇文章,和大家分享一些在产品和交互设计中的一些自己的方法。一、什么是交互狭义的交互(Interaction)定义交互主体必须是人本身,而客体可以是产品,环境,服务等等,且不论交互客体是什么,只要主体是人,人和客体去进行交互的时候,一定是人带着心理预期施加一个行为,然后客体会根据这个行为给予一个反馈(没有反馈本质也是一个反馈),而人会根据这个反馈是否符合预期去进行心理修正。如下图所示,这就是我理解的最小交互模型:当时我举的例子是用翻页器去控制 ppt 翻页:如上图所示,拆解这一套交互行为:当我点击翻页器的「下一页」按钮,我点击行为附带的心理预期是「PPT翻往下一页」,然后我点击的时候,遥控器塑胶按钮给到我手指一个物理反馈,证明我按下的行为已经完成了,这是「输出端(我的手)的交互与反馈」,这时候遥控器接收到按钮指令,把指令通过红外线传输到 USB接收器上,接收器把指令传到 PC端然后完成翻页动作,再通过大屏幕传到我的眼(输入端)中,我就可以确认这一次交互反馈是符合预期的。这里有一点想要补充:设备对设备(上图中黑色箭头),也属于广义的交互,只不过现阶段大家研究的交互设计都是狭义的,人为主体的交互。在我们日用科技产品的早期,有两个东西是无法跳过的,那就是按键手机和 PC电脑:他们几乎是同步在发展的,而这两个产品的交互行为基本上延续到了触屏手机时代,所以为了弄明白触屏手机的交互,这两个产品是值得讲一讲的。先看按键手机(就是我们小时候用的非智能手机):在按键手机中,最让用户困惑的其实是按键和屏幕之间存在一个映射关系,而不同厂商缺乏一个统一的规范,各家映射规则不一样。大家是否还记得当年的手机说明书那可以说是相当厚,因为说明书必须要给用户建构一个心理模型;比如上图,点击左上角和右上角那两个「-」按钮,其实一一对应的是屏幕左下角的「Goto」和右下角的「Names」。这个一一对应关系作为今天的用户来看应该是很平常而且很易懂的,但是当年没用过手机的人,需要花很长时间阅读说明书,才能够明白物理按键和屏幕上的映射关系,这就是按键手机很难用的地方,也是很反人性的地方。因为作为用户来说,心智上,我们当然希望所触即所得。再来看 PC,作为和按键手机差不多一起出现的载体形式,人们操作 PC端人是通过媒介(也就是鼠标+键盘)输入的,其实本质上也是我们通过鼠标在桌面上滑动 x-y 区域对应到电脑桌面上指针的移动来创造屏幕中x-y的映射关系,然后键盘上几十个键配合输入完成操作。大家发现了么,上述的两种设备其实本身就是在制造一种一一对应的映射关系去完成交互行为,这两种载体从出身开始就是需要很大交互成本的。随着科技的发展,触屏感应技术推出了之后,印象中触屏手机就是两三年时间就摧枯拉朽的淘汰了按键手机,本质上是干掉了一一对应的交互映射,所按即所得:触屏手机出现之后,交互专家们不禁要问一个问题了:手和触摸屏到底有多少种交互方式?答案是有很多种:越是高阶越是隐藏的交互手势越复杂,所谓的「交互成本」也越高,比如锤子三指滑动换屏保那种,就是利用了高阶交互便捷实现边界功能。那这么看起来,iOS 也好还是所有的安卓手机都好,从用户端而言,就是组合交互手势,让信息更好的传达而已。那么同理,在 App 中也是一样,如果我们了解了每一个交互行为的用户心理预期,对设计工作而言就能做到有的放矢:我们以「单击」和「滑动」这两个最简单的交互行为举例。所谓单击手机屏幕,用户其实最核心的是有两个预期:第一是选中一个元素,比如 Radio组件。第二是逻辑上的 Next,比如点了一件衣服,应该 Next 到衣服的详情;点了付款,应该出现付款流程,点了返回,应该 back 到上一路径点等等。划动交互也是一样的,用户在一块手机屏幕上单指划划划,用户内心的预期其实也不复杂,最核心的预期也就两点:第一是查看屏幕外的线索(前提是设计师给用户留下线索了或者是这个 UI组件长得就是可以划动的样子)。第二是查看相邻标签的内容,或者查看同一个标签下的相邻元素,比如 iOS 的 segment controlle组件就是典型例子:当我们了解了这些之后,我们在实际的设计工作中就可以根据上面这些理论来合理选择 UI组件去呈现对应的信息了。二、从交互维度合理选择UI组件我们在设计工作中,选择 UI组件,本质上就是选择信息的呈现形式。每一个常见的 UI界面和 UI组件,都一定也满足上面所说的最小交互模型:在这里我举一些例子说明。第一个例子:同样的内容,选择不同的 UI组件呈现,给用户呈现的是完全不同的产品结构:大家看下面这张图:这两个 UI模块摆在大家面前,大家应该能清晰的感受到,左边是一个 segment 控制下面内容的 UI;而右边是一个所有内容列表的集合页,只不过通过 tab 聚类了而已。第一件事应该想到的是如果需要采用右边的排列形式就必须要控制 tag 的字数;然后由于右边的 tag 占据了推荐贴的位置,导致推荐贴可能没有左边的那种展现形式更加醒目。但是相对的,图右的优势在于,由于竖向排列 tag 可以让一个屏幕显示更多的 tag,可以让用户更方便的定位内容,比如外卖产品之所以用右边这种形式是因为力求一屏展示更多的菜,而且外卖产品的左侧 tag 一般是一家店铺的菜的品类,用户下滑菜品配合点击品类,点完即走,很方便(京东和淘宝电商类平台也是类似的)。但是比如今日头条,新闻类客户端只能采用左边的这种形式,因为新闻类客户端是需要用户长时间沉浸的,比如用户选中一个「体育」的 tag 之后一般要沉浸的看好久好久,用户需要沉浸在这个 tag 下的内容中,那这个时候显然用右边这种设计方式让 tag 常驻屏幕左侧是不合适的。再来看第二个例子,就是 UI 应该会随着内容而进行调整和优化:这里举一个唱吧的例子,唱吧从7.0到8.6之间做了三次改版,大家可以看到,唱吧团队几乎是损失了屏幕效率来加大了间隔和突出了歌名,这是为什么呢?这是因为页面承载的关键任务不同,大家对比着7.0时候和8.6时候的 UI样式,正好是今天快手和唱吧的对比:大家会发现,其实这个页面,快手和唱吧承载的内容都是消费转化,都希望用户点击进去消费内容,但是两款产品做了截然不同的 UI风格,原因是什么呢?快手在这个页面,其实承载的关键任务是:「迅速让用户找到感兴趣的点」,它这么设计的本质原因是因为它的截图可以帮助用户判断内容本身,比如第一张图是一个人在打高尔夫,右边是一个工人,然后第二排左边是一个游戏的镜头,右边是一个传递正能量,大家可以很方便的通过图片识别里面的内容,用户更沉浸更聚焦的去选择自己喜欢的,点击进入消费就可以了。但是唱吧的视频截图其实是不能识别里面内容的,大家可以看到,第一张图是一个妹子,第二张图是一个妹子,第三张图还是一个妹子,那用户点击进去的动力在哪儿了?除了这个照片长相之外,更多的其实是文字决定的,是这个人唱的这首歌的歌曲名是不是我喜欢的,或者是这个演唱者的歌手等级。所以基于这种更深层次的逻辑,唱吧和快手两款产品的这个页面都是为了促进消费转化,但是 UI 长相上完全不同。我们看第三个例子:同样组件下,选择不同的交互方式,也会使得效果完全不同,比如现在有一个 UI页面,主要由一个 tab(iOS叫segment controlled)组件控制下面的内容,长这样:我先假定一个前提:这个 app 中的这个组件不支持横划,只支持点击切换。好了,现在我假设这是一款已经稳定运营了一年的产品,为了说明问题,我假设一个理想数据:假设每天有20W 的 uv 访问这个页面,其中分流情况是:10Wuv消费「推荐」下的内容2Wuv消费「生活」下的内容1Wuv消费「段子」下的内容3Wuv消费「美女」下的内容4Wuv消费「游戏」下的内容这时候,为了优化交互行为,有一天决定把这个 tab组件从不可横向划动改成可以划动的(并且告诉用户这里可以滑动了),然后给你一次机会重新排列这五个 tab 顺序,你会怎么做呢?最简单的办法当然是把五个 tab 按照用户消费意愿逐一排列,即:「推荐、游戏、美女、生活、段子」。这样排列当然没有任何问题,但是还有没有更优解呢?我给出的解决办法是这样的,大家评判一下:按照用户的消费量,「游戏」是消费量第二的一个 tab,毫无疑问我会把它排在第二项,这样可以刺激用户划动行为,然后「美女」是消费量第三的,我会把它放在第四位,这时候我会把「段子」和「生活」这两个消费率最低的 tab 分 AB test 做两个版本放在第三和第五位拿去测,以判断之前的「段子」和「生活」是由于自身内容不够优质,还是之前交互成本太低导致的数据较差:最后我们来看第四个例子:比如一个 app,他的 UI 如下图所示的这个样子。现在假设在运营和市场团队不做任何努力的情况下,单从产品交互的角度,能不能优化上面这个版块的点击率?首先我们来分析一下页面架构:如果我们认为,不管是点击右上角的「>」,还是点击留个圆形入口都算完成转化的话,我们现在的这个红色的 UI组件,入口位置一共有7个。根据长尾理论,如果我们把这个圆形入口从6个扩展到比如九个,是不是一定对转化率有正向影响?答案并不一定:为什么呢?因为主要是这样的改动会带来一个未知的泳道横划交互,它会产生一定的影响,如下图所示。用户看到这个泳道之后可能出现三种行为:用户完全不滑动——那入口就从6个变成了6.5个,别的没有变量影响。用户滑动看完了之后,点击某一个或者左上角的「>」进入——这是我们想要的转化用户滑动看了这些圆形入口之后松手,就是不点击进去——这是我们不愿意看到的结果想到这里,那为什么我们不能让用户直接滑动之后松手就跳转呢?想到这里,所以优化方案如下图所示,给与用户一个 x轴区间,滑动手势操过那个区间则告诉用户你现在松手默认跳转,用户不愿意跳转也可以回划,只要不足这个 x区间就给与用户自主选择的机会:我之前在上家工作的时候,我们把6个圆形入口变成了10个,然后用这个「松手跳转」的交互把单元模块的穿透率从21%提升到了31%,这是一个实战当中的真实例子。当然了,请大家再思考这样的一个问题:一个页面的流量就这么大,一个地方涨了11%,那势必别的地方就会相应的损失11%。一般情况下 app 首页承担着80%以上的分流工作,根据流量漏斗来看的话每一次引流都会导致其他模块的数据下降,所以设计师们应该要根据运营策略和公司大的产品 OKR 来合理选用合适的交互组件,以达到想要的目的,还是那句话:「小孩儿才分对错,大人只看利弊。」三、从交互的维度量化用户体验移动互联网产品设计中,尤其是在中国的 app 产品,有两大分歧阵营:「扁平」阵营表示了,我们需要产品足够扁平,最好就是三次交互可以触达所有 app 界面:「简洁」阵营也表示了,我们需要页面信息足够简洁,最好一个页面只完成一个核心任务:双方你来我往,谁也说服不了谁,如下图所示,「简洁」阵营反驳「扁平」阵营说:你们一点都不遵守席客定律,层级扁平是扁平了,但是相应的页面信息变得越来越多,给用户呈现的干扰就越来越多,用户做出决定的时间也越来越多,所以你们「扁平党」不行。这时候「扁平」阵营也找到了反驳的论点,他们说你看你页面足够简洁了,但是页面层级就很深啊,交互成本这么高,每一次都伴随流失,可用性这么差,你们还有理了?所以「简洁党」你们才不行。中国的互联网产品,很难做到既简洁又扁平,这个问题的根源在于永远有那么多信息需要呈现,永远有那么多功能需要添加,这个是中国的激烈市场竞争导致的,并不是说中国的产品就不如国外的好(我的哥哥之前在 Facebook 现在 Airbnb 工作,他经常感叹道国外的互联网产品到中国来真的都得死…)我想要讨论的是,面对中国现在互联网产品市场现状, 如果一款产品非要你站队上面两派阵营,你会选哪一派?我现在的选择是「扁平党」,因为用户面临一款眼花缭乱的 app,如果是经常使用,缺功能布局信息架构很少改动的前提下,早晚也会习惯和适应的,但是如果一些核心的东西不能第一时间暴露在用户眼中,很有可能用户就不知道你有这种功能。这个就是为什么我们设计经常会说这个产品经理傻逼吧,怎么什么东西都想展现出来,这一堆东西找个入口集合收起来页面多干净多清爽多好看。我早年间也是和诸位一样的观点,但是现在我越来越觉得,界面清爽了,你的大功能 feature 因为设计隐藏没有被发现,不是设计开发测试都白做了么,说好的 ROI 在哪里?我们大家都是互联网从业者,不管看到这篇文章的你是一位设计、产品、还是开发、测试、运营人员,我们都明白用户体验这个词是由 N多维度综合而成的一个过程性评价,它和方方面面都有关系。那既然是这么专业且牵连甚广的一个名词,我们真的就没有办法去量化评价它了吗?永远不要忘记,用户体验是个过程,而我们每个人也都是用户本身。在这里我提供一种普通用户维度的比较好用的用户体验评估方法是「穷举分析用户行为路径」。比如你是一款外卖产品的设计师,那么用户在不同产品模块下订一个外卖的流程路径大概有多少种,都穷举出来。比如你是一款在线演唱类的产品设计师,那么用户在产品中完成一首歌需要的用户路径到底有多少条,穷举所有路径之后一一优化,让路径变得更加扁平,或许是一个最「笨」但是有效的方案,怎么优化呢?用淘宝消息页举个例子:淘宝消息页上面有「交易物流」、「通知」、「互动」三个 tab,这时候我们假设一个用户三个按钮下面都有消息,用户想要看完这三个消息大概需要几次交互?答案是至少6次:「点击第一个进去 – 返回 – 点击第二个进去 – 返回 – 点击第三个进去 – 返回」,这样的交互显得呆板且冗长,淘宝团队巧妙的把三个内页集合成一个页面的三个 tab 形式,大大缩短的交互成本,这就是所谓的「把用户路径变得更扁平」:大家在使用很多产品的过程中,多多留心就会发现原来细节里面总有魔鬼。欢迎关注作者的微信公众号:「SeanyDesign」
2022年01月26日
30 阅读
0 评论
0 点赞
2021-12-29
初入职场注意事项
今天一个前不久离职的同事找到我聊聊天,刚加入了一家新公司,很多东西都不懂,同事关系处理的不是很好,之前经常看我的文章,想知道有没有什么技巧,可以更快学到东西,不用依靠同事,快速获得领导的认可。聊着聊着发现还真可以总结几点初入职场,经常犯的小错误,第一就要属爱当伸手党,有的时候爱向人请教,看上去是一个好习惯,但实际上请教的时候也要分请教的技巧,你不能什么不知道的都问,你应该经过思考以后提问。比如说你不会做一个PPT,你不能问对方说这个PPT应该怎么做呀,更好的提问方式是,这个PPT我想这么做,12345你帮我看看对不对,这样对方会比较容易愿意给出你指导,因为你是经过思考过的,而不是在一片空白的情况下,所有的空需要别人帮你填满。这种伸手党的行为是不可取的,职场不是学校,同事和领导没有义务替你回答所有的问题,替你把人生的空填上,而你什么都用疑问式的提问,很容易给别人留下什么都不懂,自己不爱动脑子的印象。第二,“我是来学东西的”,通过降低自己的身价来获取工作机会。比如说经常有人来跟我面试的时候说,我就是来学习的,只要给我这个学习机会,我什么都愿意做。看似这样很诚恳的发言,其实并不能帮他争取到工作机会,因为在我的视角里,我会这么判定这个人,他对自己的价值没有认知。也就是他提供不出与这个工作岗位匹配的价值。我开的不是学校,我开的是公司,我需要有人来干活儿,我愿意付他匹配的工资,只要他能把活干好,而不是找一群免费劳动力,我反而还要教他,浪费我的时间。刚入职场,一定要区分清楚职场跟学校之间的差别,建立自己的价值,用自己的价值去交换,而不是降低自己的身价。愿意给你这样工作机会的环境,也不是什么好环境,只是想占你便宜。最后说说获得领导的认可,我在一家公司的时候,我的一位领导跟我说了一句话,我一直记忆犹新,他说,向上管理,就是“管理好领导的期望”。这句话我默默记住了很久,后来过了两年才领悟这个意思。不是把一件事儿做完了,完成任务了,就交差了。留给领导去检查去吧,他提了意见我再改,很多人都是这样干的,领导就是你的免费改卷机器。后来改稿越来越多,领导累他也累。接收了一项工作任务,首先是要弄清楚,自己的领导在期待什么,他脑袋里对这件事情的蓝图是怎样的。然后需要做好反馈,她在什么点上需要了解情况,在什么点上她希望被你邀请介入,在什么点上觉得他应该听一次汇报,你得判断得出来这个节奏,然后再每一个期待的点上向领导进行反馈,最后交出的答卷再检查一遍是不是符合领导交代的要求。没有这个反馈的节奏,你就会导致你的上级对你失控,他对你一旦产生失控感,信任度就会下降,不安全感就会上升。以上内容来自老同事【文子】的朋友圈分享
2021年12月29日
89 阅读
0 评论
0 点赞
2021-12-29
王小波的计算机水平有多好?
转载自:https://www.zhihu.com/question/20964366/answer/95202867作者:姚勇今天逛知乎的时候,偶然看到王小波外甥,原水木年华成员,《QQ 炫舞》创始人——姚勇先生的一篇回答,讲述了他回忆中王小波在编程领域中的造诣,看完对王小波有了新的认识,现分享给大家看下。下面是正文:以下文字都是我本人写的。为了让阅读方便,减少模糊性。我在文中以第三人视角描述。而不用 “我舅舅 “,” 我姥姥 “,” 我大舅舅 “,” 我小舅舅 “之类的称呼。这是一个十几年软件工程师的习惯而已。我舅舅是王小波,我是个禁不住人肉的老百姓,资质平庸。王小波一篇《我是怎样做青年思想工作》的杂文在我青年单身适龄的年代,给我个人做了最大程度的广告,算是他老人家留给我最宝贵的遗产之一。除此之外,还有他那台用了很久的 PC,在他去世前一年送了我。他是汇编高手,自己用汇编写了 DOS 下的汉字输入法。输入法有个功能,可以加 4 声。一般拼音输入法没有这功能,这需要普通话读音正确的使用者,90 年代总共也没几种汉字输入法。看过他用自己输入法打汉字,速度几乎和盲打英文一样。那时候我大学,正在疯狂苦练吉他,并没有弄懂他用了何种技术。虽然我从小学也用 Z80 和 APPLE II 做些机器码编程做游戏,但到了中学为了高考,计算机就荒废了。他人生最后几年,WINDOWS 3.2 开始普及,然后是 WIN95。他开始从 DOS 转向 WIN32 SDK 编程。最终非常任性地熬夜苦干了很长时间,把输入法转为 WIN32 SDK 在 WINDOWS 下正常工作。当时 WINDOWS 已经有不少汉字输入法,尤其到了 WIN95 时代,他这么做也只是出于兴趣而不是在 DOS 时代的必须。就 WIN32 SDK 我们还讨论过一些。那时候 win32 sdk 真的是很难用。主要是互联网还没有(我是 96 年后用上的),资料很少,匈牙利命名法陌生。WIN32 的体系和 DOS 大相径庭,全部都很陌生,而且完全抛弃了 DOS 那套东西。所有 90 年代 DOS 底层程序员向 WIN32 的迁徙都是一部血泪史。他人生最后一年,多媒体开始普及。光驱,声卡,2D 加速卡普及。95-96 年他开始和我合计做多媒体出版。原因现在想起来很悲伤 ------ 他的书很难在大陆出版,他不得不想办法让他的作品能够让更多人看见,而平时维持生计,只能忍着严重的痔疮,每日给各种杂志写杂文稿件。多媒体的兴起,让他感觉也许利用他的技术优势,自行制作电子出版物。配上插图,音乐,用电子书籍方式可以让自己作品为大众所见。他给我看了已经制作了一部分的 DEMO,就和现在用 Micromedia 多媒体制作软件制作的电子多媒体制品很像。电子书内容是黄金时代,有图案的背景,按空格可以翻页。同时有音乐,好像偶尔还会有一点动画的特效(我记不清了) 。但当时的 DEMO 完全是他自己用 WIN32 写的 EXE 可执行程序,他那是从 WIN32 SDK 移植输入法时,基本掌握了消息处理,GDI,窗口控制等方法。还有一些底层的 TRICK。我大学后和王小波比较近,那几年每周末都在他母亲家相聚。他母亲 5 个儿女,只有他 1 个人在国内。于是他就经常住在母亲家,怕老人一个人,是个大孝子。母亲家旁边有个筒子楼里 2 间房的小屋,公共厕所和水房,冬天暖气烧得极热。偶尔我会和他住一块,里屋是他的生活起居和写作桌,外屋很小只有张床,他弟弟的孩子和我偶然会睡外屋。印象最深的就是他烧普洱茶的电炉和玻璃茶壶,里面总是有极浓的茶水,下面沉淀着大量茶叶,估计熬夜就靠那个。目睹了他后半截人生(从我记事起到他去世,中间他出过很多年),感慨很多。王小波有个八叔,当时双手打算盘,无比聪明是个天才。年少夭折。王小波父亲因为搞逻辑学,引起毛泽东注意,被毛接见聊了一下逻辑学的学术相关问题。69 心脏病发独自倒在家中过世。王小波去世方式和他父亲一模一样,区别仅在更加年轻。王小波哥哥在受文革影响挖了 10 年煤,后来去美国博士念数理逻辑,解决了一个 100 多年未解的数理逻辑问题。最后的博士毕业论文自己系的教授搞不定,专门找了数学系的教授来看。毕业后他哥哥专心开饭馆挣钱养育 2 个女儿成人。准备财务自由后再著书立传。我的最大感慨是,留得青山在,不怕没柴烧。天才也好,资质普通如我也好,人都只有一个人生。王小波妈妈去年 92 岁,10 月刚去世,白发人送走了自己两个儿子,又过了十几年才走。之前得过癌症,靠自己毅力锻炼,恢复了。王小波去世后一年,王小波弟弟又突然去世。当时孩子都没敢告诉老人。老太太感觉不对,但又无法得知真相,只是和我说她的疑心。当时国内只有我一人,只能瞒着,不停劝慰老人没事。老太太喃喃说,“除死无大事,除死无大事啊” 。除死无大事。人生在世,碰到什么坎,都只会是你人生中一个普通的节点。时间一长,什么都会成为过眼云烟。留份宽心,也许这样导致目标感没有强到能和社会精英逐鹿。但只要有耐心,不怕挫折,假以时日,目标总会实现的。作为一个 42 岁还在以玩游戏看动漫为生活主体的大叔,保持健康和有活力地追求智慧和有趣,做自己热爱的工作,保持善良,做精神自由的人,是我从王小波的人生学到最重要的东西。希望每个喜欢王小波的人,都有自己充实和健康的身体和精神。(完)
2021年12月29日
7 阅读
0 评论
0 点赞
2021-11-05
win11资源管理器菜单栏+右键菜单改回win10风格
一、上方菜单栏1、win + R 输入 regedit 打开注册表2、依次展开(或地址栏复制)HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions3、右击 Shell Extensions 创建项key命名为 Blocked (如果没有)4、打开 Blocked ,右击空白处,新建字符串值。将值/名称命名为:{e2bf9676-5f8f-435c-97eb-11607a5bedf7}5、重启电脑注:如需调回至win 11 explorer,直接删除blocked 文件夹二、右键菜单1、win+r 输入 regedit 打开注册表2、依次展开(或地址栏复制)HKEY_CURRENT_USER\Software\Classes\CLSID3、右键CLSIDkey 然后新建项Key ,重命名为{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}4、右键此key {86ca1aa0-34aa-4e8b-a509-50c905bae2a2}, 新建一个key并重命名为 InprocServer325、打开 InprocServer32 ,右侧窗口双击打开 default 文件,回车保存。(设置空白text数据)6、关闭注册表,重启电脑或者使用如下修改注册表批处理语句:reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve taskkill /f /im explorer.exe & start explorer.exe若需还原把 reg add 改成 reg delete 即可
2021年11月05日
12 阅读
0 评论
0 点赞
我的日常开发工具分享
今天跟大家分享下我日常工作中常用的一些工具,或许可以帮到你提升日常的协作效率1.写作篇 ✏️1.1 EdiaryEdiary是我坚持使用最久的一款日常工作记录及知识沉淀的工具,作者也是一个很有情怀的人,从1999年发布第一个版本以来,一直维护到现在, 官方链接1.2 语雀语雀是一个蚂蚁金服孵化出来的专业的云端知识库,类似wiki,目前已经覆盖了10 万阿里员工的使用,来进行文档编写及知识沉淀 官方链接语雀我常用的两个方面思维导图:一个是语雀自带的思维导图,个人觉得UI体验很强(外表协会)日记编排:用语雀来保持记录每天在前端开发中遇到的问题及心得体会,方便复盘和回归,最重要的是排版体验高,支持编排,当你回顾你写的文章的时候,阅读体验高,像是在翻书一样1.3 ProcessOnProcessOn是一个在线协作绘图平台,为用户提供最强大、易用的作图工具。支持在线创作流程图、思维导图、组织结构图、网络拓扑图、BPMN、UML图、UI界面原型设计等我主要用ProcessOn来绘制交互图及流程图,支持在线实时编辑,不足的就是如果非付费用户则会限制绘制图的数量,下面是操作页面1.4 CarbonCarbon 用来创建美化版的代码片段,可筛选多种主题切换,然后生成你想要效果的代码片段图 官方链接1.5 Mdnicemdnicde全名为Markdown Nice,支持给markdown添加“主题元素”,有点像换肤的感觉,支持多种主观,让你的文章仿佛披上了嫁衣,最重要的是支持微信公众号、知乎、还有掘金!官方链接1.6 TyporaTypora是一款轻便简洁的Markdown编辑器,支持即时渲染技术,这也是与其他Markdown编辑器最显著的区别,将写作与预览窗口相结合,为用户呈现所见即所得的编辑模式,支持Markdown的各种基础语法,支持快捷键操作。官方链接1.7 封面模版很多童鞋很好奇,我每次文章都会附上一张主题图,是不是自己P的,虽然我会用PS做些简单的P图,但是设计还是蛮琐碎和耗时的活,时间应该用在更宝贵的地方,这里介绍的就是我使用的模版在线编辑工具 - 凡科快图 官方链接 或者 canva 官方链接1.8 Shieldsshields.io 主要是用来可以生成 在Markdown 文档中的徽章,我们经常在github的项目上看到这些徽章,来表述比如单元测试覆盖率、打包的大小、版本信息、认证信息等 官方链接1.9 Gif截图有时候图片无法去表达我们想要阐述的内容,这个时候动态图就起了很重要的作用,可以更直观的描述整个过程,我个人常用的工具为ScreenToGif官方链接 ,是一款小巧、免费、开源且功能强大的工具,1.10 网页OR屏幕截屏文章素材需要网页截图?很长时间我要给当前网页截图,一般我们常用的桌面版IM工具(如QQ、微信、钉钉)都能使用快捷键很方便的实现截屏功能,但是面对滚动截图、截取后二次编辑等功能时,这些工具就有些捉襟见肘了,在此个人推荐使用FastStone Capture官方链接。2.效率篇 ⏰在日常开发中,效率工具的使用,往往可以给我减少很多不必要时间的浪费,通过工具赋能,帮助我们提高生产效能2.1 Iconfont 图标库Iconfont 是阿里打造的图片管理平台,涵盖海量图标库,可讲选择的图标导出字体文件。 官方链接2.3 Postwoman 接口调试利器它不仅免费开源、轻量级、快速,而且还有美观的API调试工具,原名为Postwoman。能帮助我们节省时间,提升工作效率。官方链接2.4 CanIuse 兼容性查询can I use? 顾名思义:我能使用吗,能快速让我们查看浏览器对某个属性语法的兼容情况,场景应用当前在某个浏览器可以正常使用,可是换了另一个浏览器之后就不支持了,这个时候就得我们防患于未然,在对某个属性使用前,做好足够得调研,而不是等到上线才发现问题官方链接2.5 Prettier Playground 代码在线格式化应用场景:当我使用的电脑没有安装IDE,但是我又需要看别人写的代码,这个时候 Prettier Playground可以帮我将原本凌乱的代码改头换面,大大提高可读性 官方链接左边为源代码,右边为格式化后的代码
2021年05月10日
67 阅读
0 评论
0 点赞
2019-04-13
git部分高级用法
Rebase 合并该命令可以让和 merge 命令得到的结果基本是一致的。通常使用 merge 操作将分支上的代码合并到 master 中,分支样子如下所示:使用 rebase 后,会将 develop 上的 commit 按顺序移到 master 的第三个 commit 后面,分支样子如下所示:rebase 对比 merge,优势在于合并后的结果很清晰,只有一条线,劣势在于如果一旦出现冲突,解决冲突很麻烦,可能要解决多个冲突,但是 merge 出现冲突只需要解决一次。使用 rebase 应该在需要被 rebase 的分支上操作,并且该分支是本地分支。如果 develop 分支需要 rebase 到 master 上去,那么应该如下操作## branch develop git rebase master git checkout master ## 用于将 `master` 上的 HEAD 移动到最新的 commit git merge developstashstash 用于临时保存工作目录的改动。开发中可能会遇到代码写一半需要切分支打包的问题,如果这时候你不想 commit 的话,就可以使用该命令。git stash使用该命令可以暂存你的工作目录,后面想恢复工作目录,只需要使用git stash pop这样你之前临时保存的代码又回来了reflogreflog 可以看到 HEAD 的移动记录,假如之前误删了一个分支,可以通过 git reflog 看到移动 HEAD 的哈希值从图中可以看出,HEAD 的最后一次移动行为是 merge 后,接下来分支 new 就被删除了,那么我们可以通过以下命令找回 new 分支git checkout 37d9aca git checkout -b newPS:reflog 记录是有时效性的,只会保存一段时间内的记录。reset如果你想删除刚写的 commit,就可以通过以下命令实现git reset --hard HEAD^但是 reset 的本质并不是删除了 commit,而是重新设置了 HEAD 和它指向的 branch。
2019年04月13日
39 阅读
0 评论
0 点赞
1
2