我喜欢的影视

个人喜好悬疑、惊悚剧情片,不看恐怖片,因为不敢看🙈;偶尔看些温情治愈片;不太喜欢喜剧和无厘头。 这里记录下我喜欢的电视剧(📺)和电影(🎬)及其他影视作品 本文简介慢慢补,尽可能不涉及剧透 评分为个人喜好标准(满分5分),不会参考豆瓣这类评分网站 同一部影视,分类会有多个,这里只会为其选择一个最贴切的。例如 釜山行 属于灾难、惊悚、丧尸题材,我会将其归类到丧尸,同时打上灾难、惊悚的标签(也可能不打😁) TODO 秘密森林[韩剧] 剧情 寄生虫 4.6分。纯剧情片,这里的寄生虫不是指怪物(别害怕),情节相当有意思。 美丽心灵 3.6分。#精神分裂# 的数学天才,男主也是幸运,有这样不离不弃的妻子 网络迷踪 4.2分。男主是程序员吧?这清晰、缜密的思维 九回时间旅行(韩剧 📺) 4.6分。与信号有同工异曲之妙,但没有那么悬疑,偏一点偶像剧的感觉,放在剧情分类吧。蝴蝶效应题材的电视剧,因为过去有些遗憾,想要回去改变,怎知带来更大的变数。只能强忍痛苦再次回到过去。是 HE 放心,值得一看 非自然死亡(日剧 📺)4.3分。法医、小案件。剧集比较短,日剧就是很多哲理。石原里美在这部剧挺好看的 绝命毒师(美剧 📺 )4.2分。有好几季,剧情不拖沓。一个身患绝症的化学老师竟成为大毒枭,离初衷渐行渐远。 黑客帝国系列 4.2分。经典片,世界观构思很好。我自己看来剧情稍显乏味 恐怖直播 3.8分。这里的恐怖指的是恐怖袭击,非恐怖片。算是谈判片吧,带有韩国电影特有的社会批判意义 本杰明巴顿奇事 3.4分。男主的生理成长是反过来的,出生是老人,慢慢变成中年,青年,婴儿。对我来说,影片风格比较怪诞。但故事设计有点意思。 无间道 4.4分。看第一部就好了,很经典,剧情不老套,现在看来还是挺优秀的电影。 天才枪手 4.5分。讲作弊的故事,故事情节紧凑,毫不拖沓。值得一看 头文字D 4.5分。周杰伦颜值巅峰,AE86帅。 楚门的世界 4.1分。很妙的构思,在那个年代就开始了。我们真实的世界又是什么样的呢。 科幻 源代码 3.9分。 星际穿越 3.7分。 我,机器人 4.0分。 盗梦空间 4.1分。 悬疑 信号(韩剧 📺)4.7分。道具有点老套,使用无线电通讯器,连通过去和现在的时空。但情节很不错,包含了韩国几个经典案件。 窥探(韩剧 📺)4.8分。这几年的韩剧真是很不错,这一部是近几年看过最优秀的悬疑剧集。第一集可能稍显枯燥,后面就完全铺开了 鱿鱼游戏(韩剧Netflix 📺)4.0分。大逃杀类型的电视剧,一群人因为金钱自愿去参加这个游戏,最后当然是几乎都死光了。挺老套的模式,不知道为什么宣传得这么好,竟然比上边两个优秀影视还🔥。有点郁闷 禁闭岛 4.2分。不打标签了,避免剧透。小李子演的很好 记忆裂痕 3.8分。可以当悬疑动作片看 人生切割术(Severance)(美剧 📺) 4.5分。有没有想过有一种手术,可以将你的记忆一分为二,踏入工作区是一个你,离开工作区是另一个你,同一个人两份不同的记忆。这个设定还是非常巧妙的,我觉得在人性就有很多可以拍的故事。果然,人类是不能做到完全的感同身受的,即使对方是拥有另一个记忆的你。可惜最后一集在高潮的时候戛然而止了。等待第二季 ~ 对了,影片片头太赞了 记忆碎片 七宗罪 致命魔术 我是谁:没有绝对安全的系统 ...

2021-07-31 · 1 分钟 · 199 字

(广东)获取身份证的照片电子档

广东政务服务网站上边可以找到我们身份证的照片,Let’s go! 百度搜索“广东政务服务网”,或者直接访问 https://www.gdzwfw.gov.cn/ 点击右上角的登录,用粤省事登录最简单 在首页找到【我的证照】 选择【居民身份证】 点击【查看数据】 点击【数据】,在人像处右击鼠标,点另存为。记得保存的时候文件名加上 .jpg 最后你可以拿着电子照片粘贴到文档,或者去照相馆打印纸质照片啦

2021-03-07 · 1 分钟 · 11 字

npm包leveldown安装之升级Glibc

背景 今天安装某个npm库,但是安装失败了。日志里看看到是安装leveldown包失败了,于是单独安装leveldown进行测试。 问题排查 [duser@hy-docker02 tmp]$ npm i leveldown > leveldown@5.6.0 install /tmp/node_modules/leveldown > node-gyp-build make: Entering directory `/tmp/node_modules/leveldown/build' CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/builder.o cc1plus: error: unrecognized command line option "-std=gnu++1y" make: *** [Release/obj.target/leveldb/deps/leveldb/leveldb-1.20/db/builder.o] Error 1 make: Leaving directory `/tmp/node_modules/leveldown/build' 从cc1plus: error: unrecognized command line option "-std=gnu++1y"可以看出是调用g++编译时使用了不支持的参数。 因为另外有台机器(机器B)是可以将这个库安装成功的,所以我到那台机器执行 g++ -std=gnu++1y 1.c,但也是报一样的错误。并且这台机器的g++版本和我失败的那台是一致的,甚至操作系统版本也比较低。为什么机器B能够安装成功呢,一时想不出头绪来。 到安装成功的node_module/leveldown/里看了下,有个prebuilds目录引起了我的注意,发现里边放了各主流平台的预编译好的文件。再结合README,里边说了,如果预编译好的文件不存在(应该还做了检查)才会 fallback to a compile step。 这就能够解释为什么同样的g++版本,机器B能够成功安装了。大概就是机器B使用了预编译库,没有触发重新编译。 从github下载源码,打算跟踪下为什么当前机器没有用预编译好的包。下载后发现package.json文件有个test-prebuild命令用于测试预编译包。于是先npm install先安装一些包,然后执行download-prebuilds把编译好的包先下载下来。 [duser@hy-docker02 /tmp/foamzou/leveldown-master]$ npm run test-prebuild > leveldown@5.6.0 test-prebuild /tmp/foamzou/leveldown-master > cross-env PREBUILDS_ONLY=1 npm t > leveldown@5.6.0 test /tmp/foamzou/leveldown-master > standard && (nyc -s tape test/*-test.js | faucet) && nyc report standard: Node 10.12.0 or greater is required. `standard` did not run. module.js:664 return process.dlopen(module, path._makeLong(filename)); ^ Error: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /tmp/foamzou/leveldown-master/prebuilds/linux-x64/node.napi.glibc.node) at Object.Module._extensions..node (module.js:664:18) at Module.load (module.js:554:32) at tryModuleLoad (module.js:497:12) at Function.Module._load (module.js:489:3) at Module.require (module.js:579:17) at require (internal/module.js:11:18) at load (/tmp/foamzou/leveldown-master/node_modules/node-gyp-build/index.js:21:10) at Object.<anonymous> (/tmp/foamzou/leveldown-master/binding.js:2:153) at Module._compile (module.js:635:30) at Module.replacementCompile (/tmp/foamzou/leveldown-master/node_modules/append-transform/index.js:60:13) 然后发现上面这个GLIBC_2.14' not found,原来是glibc的问题。执行 strings /lib64/libc.so.6|grep GLIBC查看本机glibc版本,最高到GLIBC_2.12,而机器B是GLIBC_2.17。所以接下来升级glibc即可。由于是测试机器,并且版本更新不大,不是很担心升级后大量软件挂掉的问题。 ...

2020-12-07 · 1 分钟 · 179 字

风犬少年的天空 - 喜欢的语录

生活啥子时候给过我十八岁 我奋力以赴的终点,还不如你的起点 喜欢一个人的时候,哪个又不是烂命一条 河里的虾和海里的虾能生活在一起吗 我喜欢你!!是同学之间的喜欢,是同桌之间的喜欢,也是十七十八岁的时候真心实意的喜欢!!我喜欢你,那你呢? 李安然,我喜欢你 ,不只是同桌之间的那种喜欢,不只是同学之间的那种喜欢,是十七十八岁的时候,那种真心实意的喜欢,我不管导演怎么拍,我也不管编剧怎么写,我不管你爸妈反对不反对,如果编剧这一季不让我们在一起,我就让他一直写一直写,总有一天,他会累的,我们一定会在一起。李安然,我们一定会在一起! 小的时候 我以为大兴村的长梯 从头到尾就很远了 现在才知道,什么是真正的距离 咪咪:狗哥 你难受啥子 你跟我们分享一下嘛 狗哥:安然说 我只是她的好朋友 咪咪:啥子哦 我听不懂啊 狗哥 狗哥:你听不懂很正常的 咪哥。这个事情好微妙 龟儿子考上大学了,我是涂家第一个大学生!! 莫忘少年凌云志,曾许人间第一流 今天,没请哭丧的,也没请主持人,涂夫是个屠夫和卖猪肉的,也是我老汉,他走的那天我就在他身边。那天下着雨,把我们两个都淋惨了,啊天我叫天天不应,叫地地不灵,周围一个人都没得,你们都晓得吧,屠夫好大一个,就背到他跑,一直跑一直跑,一直跑,跑了好久哦,好不容易跑到了医院了,结果因为失血过多,来不及抢救走了。我老汉是个嗨粗俗的人,没啥子素质,出口成脏,相信大家都记得吧。我告诉你们,他有很严重的脚气,有好严重呢,有一次啊,他把一个鞋子放到阳台上,风一吹,剩个屋头都毁了。我觉得他的死是因为他很财迷,有好财迷唉,连个几百块钱的小灵通都不舍得给我买,导致我在那一天找不到手机,打不了120,我父亲有好财迷呢,他,小的时候嘛,过年你们都有新礼物,我就跑回屋头问屠夫,我的新礼物呢?屠夫就告诉我,他说龟儿子老子早就给你准备好了,然后就把一个卖剩下的卤水猪头打到我身上,当时我就哭惨了嘛,然后他还赶快过来安慰我。他说龟儿子勒个好耍,嘞个好耍哎,耍累了可以直接吃,吃饱了接到耍嘛,他有的时候,还喜欢到家里洗猪肉,洗到满头是汗,然后,他就用洗猪肉的水在那里洗脸,更厉害的是你们根本就不晓得,他根本不得洗第二遍直接上床就睡觉了,好臭喔!今天来的,一定都是关心我老汉的亲朋好友,也都是我老汉在乎的人,我老汉走的时候跟我说啊,他说,我走之前就想看一哈身边朋友的笑脸,谢谢你们,让他如愿以偿 他一定看得到,说不定那朵云就你是老汉儿 老子好不容易开到七十迈,心情自由自在 狗哥:诶 娇娇 怎么了 娇娇:想要考大学就要认真学习,不要讲些有的没的,靠嘴是靠不上大学的 狗哥:(抱拳)谢谢娇娇 咪咪:(拍桌而起)不对,我有梦想。(跑出门)主任,我的梦想就是陈圆圆 这不是五十块钱的事。这是老子第一次的好运气,这都要从我身边梭过去 刘闻钦。好久不见 你现在过去,看到他,他不是会很尴尬。你不懂,你不懂。男人在外头那都是顶天立地。但是,他们也有很脆弱,很无助的一面。哎呀,你们钦哥也这个样子

2020-11-29 · 1 分钟 · 35 字

使用CloudFlare/百度云加速做免费SSL

2021-11-14更新:百度云加速过期了,CDN 也直接用七牛云的吧。有兴趣的朋友可以看这篇文章《用七牛云作图床并配置 SSL》 2020-11-03更新:已将cdn部署到百度云加速服务。国内使用Cloudflare确实不行,最近看到百度云加速有免费套餐,个人博客来说完全够用了。步骤不复杂,就不详细描述了。步骤大概为: 需要域名备案 在百度云加速实名认证 添加网站时,选择CNAME接入方式。(官方推荐的是NS方式,这样可以全称托管,但我目前只希望托管我的cdn域名) 证书管理-证书申请可以免费申请ssl证书 安全功能-HTTPS,选择半程加密。这样源站可以不支持SSL 以下为原文: 注意一下,由于众所周知的原因,在国内访问CloudFlare会很慢,我只是用于个人博客的部分图片使用,所以容忍度会比较高。有高要求的同学,不建议在国内使用。 对于经常科学上网,尤其是自己搭建科学上网的同学来说,CloudFlare一定再熟悉不过了。经常有同学将它套在国外机子上,用来加速流量。因为CF本身就是一个CDN服务,可以用于加速各种服务。 今天我选择用它做我图床的cdn服务。 背景 起因是这样的,这两天发现我博客的背景图加载不出来了,查看网络请求后发现我的图床域名https://cdn.foamzou.com/legacy被强制使用https发起请求了。这是因为我的html页面是https的,chrome很不喜欢https页面包含了http请求,认为这很不安全。所以它强制在发起请求的时候在http header加了upgrade-insecure-requests: 1。该头部会告知服务端,客户端支持将http升级为https。在接下来的http请求中,浏览器会将其替换为https再发起请求。(但我将upgrade-insecure-requests: 1改为0,还是会替换为https,不确定是不是该头部的原因,也可能是chrome最近自升级加的特性。其它浏览器例如Safari就正常访问) Ok,已经确定是chrome新版本的特性,将混合内容(mixed content)的http改写为https了。在2019年10月份,google就通过博客发布了chrome关于内容安全的更新时间表: - v79 [2019年12月发布到稳定渠道]:将mixed的脚本文件、iframe升级到https - v80 [2020年1月发布到试用渠道]:将mixed的音视频文件升级到https。虽然允许mixed的图片文件加载,但该站点会在地址栏被标记不安全 - v81 [2020年2月发布到试用渠道]:将mixed的图片文件升级到https 按计划是2月份发布到early release渠道,估计也是前段时间才被更新到稳定渠道,然后自更新导致我的图片挂掉 问题来了,我的图床域名并不支持https,导致ssl握手失败,我的图裂开了!如果要支持的话,我需要在七牛支付一定的费用(https流量没有免费额度),而且需要配置一个ssl证书,可以购买(几千块一年,好贵),也可以上传自定义证书(也略麻烦)。 突然想起我可以把CF套在域名上,CF有免费套餐,一般的需求足够了,ssl证书还不用自己配置。 开干 说干就干,打开官网,没有账号的话注册一个。 添加站点 注意,这里只能填写根域,不支持单独加速子域名。但我只想加速某个子域名怎么办?没事,后面步骤可以配置。 添加站点 选择套餐 选择免费的就可以啦 选择套餐 修改代理状态 选择完套餐后,CF会将你域名的解析记录带出来,如下图 dns记录 在代理状态那列点击小图标可以切换状态。现在有两个状态可以切换,已代理和仅限DNS。注意,对于你不希望走CF的域名,请设置为仅限DNS,这样CF只会帮你将域名解析到你的源ip,而代理则解析到CDN节点,再帮你回源。 由于CF在国内的网络情况并没有阿里云这些本地的厂商好,所以博客域名我没有走CF,只是代理了file.zoufeng.net 好,点击继续。 修改域名的DNS服务器 这一步需要到你的域名管理台(在哪买的域名就去哪),将原来的DNS服务器删除,换成CF自己的。完成之后点击蓝色按钮。 设置ssl 点击SSL/TLS按钮,将选项修改为灵活,这样CF节点支持ssl,而源服务器不需要ssl。完全的话,源服务器就需要支持ssl了。我的七牛图床域名不支持ssl,所以选择了灵活。这也是本篇文章的最开始的目的。 等待生效 等吧。修改DNS服务器那一步耗费的时间可能会长一些。你可以通过ping命令检查是否已经解析到CF的ip了。 其它 你可能看到上一张图有很多菜单:缓存、防火墙、worker等。CF挺多功能的,有兴趣的话,注册一个玩玩吧。worker就是serverless那东西,类似AWS CloudFront的lambda@edge

2020-09-30 · 1 分钟 · 56 字

Best Practices for using Lambda@Edge to process images on AWS

Github Provides docker environment and code which process image. Welcome to star, fork or PR to improve the practice. Repo:Click The Link What’s this For the same image link, we may response different sizes of thumbnails according to different pages. Unfortunately, AWS does not directly provide such services. But it provides lambda@edge with CloudFront to handle this kind of demand. Therefore, I designed a set of solutions to achieve the requirements of image processing. This article contains instructions, design solutions and practical steps. ...

2020-08-30 · 8 分钟 · 1548 字

在AWS使用Lambda@Edge处理图片的最佳实践

Github 提供了docker环境和简单的图片处理代码;欢迎star、fork或提交pr以改善该实践。仓库:点我 这是什么 类似阿里云OSS的图片处理服务、腾讯云的数据万象。 因为AWS并没有单独将图片处理单独发布服务,只提供了lambda配合CloudFront用于处理这类需求。因此我设计了一套方案用于实现图片处理的需求,本文档包含使用说明、设计方案。 有了本方案,前端可以在原有的cdn图片链接后面拼接参数,获取对应的缩略图、加水印等图片处理需求。 本方案涉及到的几个角色 CloudFront Amazon的CDN服务,在本方案用于缓存缩略图。下面简称CF Lambda@edge Lambda是Amazon的云函数,就是serverless那一套。 Lambda@edge则是可以运行在CloudFront边缘的函数,比Lambda支持的能力要弱一些。例如runtime只支持Node.js和Python;不支持Layer,导致使用的图片库无法部署在layer,只能全部打包到源码。 对图片的处理逻辑在这一层运行,是本方案的重点对象。下面简称Lambda S3 Amazon的对象存储服务,类似阿里的OSS。在本方案扮演 存储原图、缩略图;cdn回源的角色 工作流程 Image Generate WOrkflow 注意:只有在CF行为规则配置了规则(例如 .jpg@ ),才会触发lambda。直接访问原图的不经过lambda,不必担心过度计费问题。 请参考上图,流程为: 步骤0:用户请求图片链接:链接形如:http://cdn.com/image/abc.jpg@250w_60q.webp。其中 http://cdn.com/image/abc.jpg 是原图链接,@后面是处理参数,具体含义请参看使用手册 步骤1:请求先到达CF,检查CF有缓存则直接返回给用户,并且etag与客户端一致时响应304 Not Modified 步骤2:若CF未命中,则回源到S3获取图片。 步骤3:S3响应后,CF事件会触发给lambda,函数逻辑会对response进行判断: 如果http code为正常值,说明缩略图在S3已存在,那么不进行其它处理,直接将response返回 步骤5:如果http code为异常值,说明S3没有该图,我们需要做以下处理: 将URI从@开始剥离,前面的为原图KEY,后面的为处理参数。我们使用原图KEY从S3桶(CF事件的request链接可以提取到桶名)获取原图,然后使用处理参数对图片进行处理。这里使用sharp图片处理库(底层使用libvips,比ImageMagic性能要好)。 将处理好的图片存储到S3,以便下次CF失效时,直接回源到S3获取。这里存储到S3时,给图片打了标签(createByLambda:1),方便在S3根据标签制定淘汰规则,避免过多缩略图长期存在S3造成浪费。 将图片以base64编码返回到CF,content-encoding为base64。这里之所以使用base64是因为lambda只支持接收json 步骤4:CF将源头的图片存储起来并响应给用户 前端使用说明 url构成:https://cdn域名/文件名@<参数值1><参数名1>_<参数值2><参数名2>.期望转换的文件格式 例子:https://d1xxxxxxxx.cloudfront.net/foamzou/image/4951f0e35a37e5190e78798dcfcad984.jpg@1020w_160h_0e_1l_70q.webp 参数 w: 指定目标缩略图的宽度。1-4096 h: 指定目标缩略图的高度。1-4096 e: 缩放优先边。0:长边优先,1:短边优先,2:强制按指定宽高缩放。默认为0 l: 目标缩略图大于原图是否处理。如果值是1, 即不处理;是0,表示处理。默认为0 p: 比例百分比。 小于100,即是缩小,大于100即是放大。1-1000。如果参数p跟w、h合用时,p将直接作用于w、h (乘以p%)得到新的w、h,例如100w_100h_200p的作用跟200w_200h的效果是一样的。默认为100 q: 质量百分比。1-100。默认为80 r: 是否使用渐进式jpeg。0:不使用,1使用。默认为0。只有在输出格式为jpg时,该参数才会生效。注意:1. 小尺寸图片不建议使用,因为渐进式jpeg会比原图大;2. 能够使用webp尽量使用webp;3. 渐进式展示图片的最佳方案应当是前端同时渲染小图和大图,动画过度到大图 .format 格式转换。目前支持jpg, png, webp。若保留原文件格式,那么 .format 可以不添加 ...

2020-08-30 · 2 分钟 · 239 字

使用Telegram Bot发通知消息

用途 定点提醒你做事。例如到点发现你还没写日记就提醒你 配合手机tasker、workflow做消息提醒 触发各种你关心的webhook等 准备工作 可以科学上网的机器 一个手机号 注册TG账号 在网络下载一个tg客户端,并注册账号,现在貌似都要用手机注册。 注册完成后,记得在设置 -> Privacy and Security -> Phone Number 设置为Nobody,网上冲浪还是要把自己保护好。 有时候可能会遇到无法发消息给别人的情况,有可能是系统误杀。可以跟在搜索框添加官方账号 @SpamBot ,反馈问题。用 /start 开启和它的对话,然后点击用它返回的菜单或者直接和它沟通。不出意外,一段时间后会帮你清理掉你账号的异常情况。 创建机器人 搜索框添加官方机器人管理员@BotFather 。键入 /start 开启和它的对话,点击它返回的 /newbot。管理员提示给它取个爱称,输入后,管理员提示给它取个昵称,ok,这俩名字取一样的应该没啥问题。 然后管理员会回你一段话,其中1377170000:AAGApipyadqh3ZAqgFNiJJwWohXIs3xxxxx 就是你机器人的token,请妥善保存,后面会用到。 Use this token to access the HTTP API: 1377170000:AAGApipyadqh3ZAqgFNiJJwWohXIs3xxxxx Keep your token secure and store it safely, it can be used by anyone to control your bot. 到这里就已经创建了一个机器人,你可以多创建几个,如果有需要的话。 获取你与机器人的聊天会话id 机器人发信息的api需要指定聊天会话id(chat_id),所以我们要获取到它。 首先你需要找到机器人跟它说句话,然后访问链接(浏览器打开或者curl都行):https://api.telegram.org/bot1377170000:AAGApipyadqh3ZAqgFNiJJwWohXIs3xxxxx/getUpdates 。将链接的token换成你机器人的,bot<你的token>/getUpdates。会正常响应机器人最近的聊天记录,找到message.chat节点下的id,这就是chat_id,记录下来。 { "ok": true, "result": [{ "update_id": 345541000, "message": { ..... "chat": { "id": 703240000, "first_name": "foam", "last_name": "zou", "username": "foamzou", "type": "private" }.... 当然,你也可以把机器人拉到群里,在群里说几句话,然后也是像上面操作,拿到chat_id。ps.如果是私密群,id是负数。 ...

2020-08-15 · 1 分钟 · 106 字

Mac从入门到效率工具

[admonition]这几年推荐过身边不少朋友买Mac,开箱后,我通常会给一些使用心得和常用的工具。正巧今天又有一位朋友买了mac,这次干脆直接将我的使用心得整理成文章。已经有使用经验的朋友可以直接拉到最下面看看我推荐的效率工具鸭~[/admonition] 开箱 检查外表 检查外表、屏幕等是否有损伤 序列号 官网查询序列号,判断型号、保修期是否正常。传送门 关于applecare+服务的购买建议 这个延保服务我还是建议大家购买的,毕竟mac保修只有1年(主要部件2年,江苏省主要部件3年),而applecare可以将保修期延长到3年(自机器购买之日起)。注意,这个服务只能在购机60天内买,超过时间就买不了了,所以建议在购机的时候就一起买了。 为什么我推荐大家买呢,因为mbp的品控的确不太好,而且现在里边的部件集成度做得太高,例如有次我的一个充电口充不了电,拿去修说要换掉主板,因为是焊在一起的。还好那时候还在保,否则要花费2k貌似。坏1次基本就回本的(咦,听起来怪怪的) 周边配件 拓展坞 现在的mbp都没有usb、hdmi等接口了,全都是typc-c,所以此时需要一个拓展坞。有钱直接官网买,像我一样没钱的可以考虑买绿联家的。下图1有几个usb和1个hdmi,按需购买,有的拓展坞是vga、网口等的集成。 还可以另外买几个小型的tc->usb做备用,也方便携带。(我觉得应该向绿联要点广告费~) 鼠标 用mbp的前两年一直用触摸板,即使多屏后使用mbp作为副屏时也是如此。但后面实在感觉手指按得久了有点疼,就用了苹果自家的MagicMouse,这玩意是真的贵(还好我用的公司的😝 离职了,现在买了2个,公司和家里各放一个)~ 不过体验是真的好。推荐买买买!! 支架 建议外接键盘的多屏用户购买一个支架。好处是可以把mac撑高,使主副屏之间的视线差不会太大;另一方面方便散热 清理屏幕 Mac的屏幕挺难清理的,用纸巾或普通的布擦了之后,往往还有一层油渍的感觉。直到我在知乎看到有人用汽车布……我在JD搜了个汽车布,买回来擦了一下,真的好用,屏幕焕然一新。 熟悉基本操作 从windows过来的同学可能会有一些不习惯,花个一周就好了。 键位/快捷键 复制粘贴:command+c/v,建议指法:左右手正常放在键盘的情况下,左手拇指从空格移动到cmd键(手腕不用动),左手食指触击c/v。这是我认为最舒服的指法了~ 删除文件:finder(访达)选中文件,cmd + delete 多选非连续文件:cmd + 鼠标点击 在finder(访达)跳转到指定目录:cmd + shift + g,然后输入目录后按enter 切换窗口:ctrl + 方向键左右 触摸板 三指左右滑动:切换桌面 三指向上扫:打开调度中心 四指向中间抓:打开启动台 四指从中间向外推开:显示桌面 想要修改设置 或 查看详细说明:系统偏好设置 -> 触控板 文件系统 这方面确实比较差,没有windows做得好必须承认。以前看过一些文章,有的朋友用标签去归档文件(我用得不多),也曾买过网友写的文件管理器Qspace,现在也扔在一边了,也不知道更新得咋样了。可能习惯了没有文件管理器的日子吧,貌似也不觉得有太大影响。ps. 小技巧:你可以将你经常访问的目录拖动到访达 -> 个人收藏侧边栏,作为一个快速入口 输入法 自带的我很不喜欢,无法通过shift切换中/英文;中文状态下,输入英文后按shift或enter键都无法将字符打下来。所以我使用的是搜狗输入法,再换个喜欢的皮肤,很棒。 系统偏好设置 按键速度 场景:长按一个键,默认速度很慢,例如在命令行需要将光标移动到左/右边时,我们希望长按方向左/右键能快速移动。 设置:系统偏好设置->键盘。我的设置如图,可作参考: 锁屏快捷方式 场景:离开工位时习惯锁屏,将鼠标移动到左下角(可设置)就锁屏啦~ 设置:系统偏好设置->桌面与屏幕保护程序 权限相关 从网上下载的软件,打开提示"xx已损坏,请移至废纸篓": 莫慌,打开终端,输入 sudo spctl --master-disable ,再次打开软件看看是不是好了 ...

2020-05-24 · 2 分钟 · 275 字

使用netcat能够做什么

楔子 [admonition] 今天朋友找我解决一个问题,他的java服务在阿里服务器里监听了某端口(使用的TCP),但通过公网无法连接。我尝试在本地telnet那个端口(跨公网),不通。在他服务器里telnet 127.0.0.1 端口,是通的。说明服务正常监听了端口。但由于我不熟悉他的java服务,无法判断该java服务是否只监听了本地回环地址。 因此公网无法访问大概有两种可能,一,java服务只监听了本地回环地址; 二、防火墙限制了端口 排除第二种情况对我来说比较简单,我通过netcat在服务器监听端口,然后在本地telnet,不通!说明问题的确出在防火墙身上。该服务器为Ubuntu,使用ufw status查看防火墙状态,显示为inactive,也就是关闭状态。再查看阿里云安全组规则,已经开放了tcp/udp的所有端口(-1/-1)。后面我再次执行ufw disable,端口就通了。所以这是ufw的bug? [/admonition] 引子有点长了。主要是为了说明,如果想知道与服务器之间的tcp连接是否通,可以使用netcat工具去判断。下面介绍下netcat ~ netcat是什么 是一种计算机网络实用程序,用于使用TCP或UDP读写网络连接,号称 TCP/IP 的瑞士军刀。大家一般简写为nc。总之,涉及到网络的事儿,它几乎都能做。为什么叫瑞士军刀,因为它体积很小,不同版本的nc可执行文件只有几十k到300多k,而且大部分linux发行版都有预安装。 各种版本 netcat有许多版本,能力从弱到强为:GUN、BSD、Ncat。基础功能三者都一样,不同的是一些版本额外内置了些高级/有趣的功能(例如Ncat有个参数--chat,可以创建匿名聊天室)。 大部分centos6内置的是BSD版本的nc,我的Centos7里边内置的nc是Ncat(属于nmap工具集里边) 使用man nc,拉到最下边可以看到你的nc版本。(使用man你基本能够查阅所有的用法了,其它软件也是如此,只要是标准安装的) ps. socat号称是更为强大的nc,有兴趣的小伙伴可以自己去看看。 用途 检查端口通不通 以往我一直使用telnet来判断某个端口是否通,但telnet是基于tcp协议的,如果要判断udp端口就无能为力了。这时可以使用nc来判断。为了方便实验,本文统一使用同一台机器模拟服务端和客户端。 # 咱们使用nc创建一个tcp协议监听的端口。-l为listen,默认协议为tcp nc -l 8088 # 使用nc连上该端口。-v(verbose)用于显示更多信息,-z(zero I/O)表示不发送数据包,仅显示连接状态。 # 下面succeed表示端口是通的 nc -vz 127.0.0.1 8088 Connection to 127.0.0.1 8088 port [tcp/radan-http] succeeded! # 创建一个udp端口。-u指使用udp协议 nc -lu 8088 # 同样,加一个u表示使用udp连接该端口,同时你会看到服务端打印出若干个X。 # 不是说加了z参数就不会发数据包吗,为什么服务端收到了报文?我认为udp是无连接状态的,通过系统调用write # 往该套接字发数据,通过返回值才知道包发出去没有,从而判断udp端口是否通 nc -vzu 127.0.0.1 8088 Connection to 127.0.0.1 8088 port [udp/radan-http] succeeded! 端口扫描 # 扫描tcp端口。-w(wait)指定连接超时时间,单位秒。 # 连接成功的端口将作为标准输出 nc -v -w3 -z 127.0.0.1 1-65535 | tee succeed_port.log # 下面摘抄部分连接成功的端口 Connection to 127.0.0.1 22 port [tcp/ssh] succeeded! Connection to 127.0.0.1 25 port [tcp/smtp] succeeded! Connection to 127.0.0.1 80 port [tcp/http] succeeded! Connection to 127.0.0.1 443 port [tcp/https] succeeded! Connection to 127.0.0.1 1100 port [tcp/mctp] succeeded! Connection to 127.0.0.1 1111 port [tcp/lmsocialserver] succeeded! Connection to 127.0.0.1 2255 port [tcp/vrtp] succeeded! Connection to 127.0.0.1 3001 port [tcp/*] succeeded! Connection to 127.0.0.1 3306 port [tcp/mysql] succeeded! Connection to 127.0.0.1 4300 port [tcp/corelccam] succeeded! Connection to 127.0.0.1 4369 port [tcp/epmd] succeeded! Connection to 127.0.0.1 5672 port [tcp/amqp] succeeded! Connection to 127.0.0.1 6553 port [tcp/*] succeeded! # 扫描udp端口。nc -v -zu 127.0.0.1 1-65535 # 以下为我本地扫描结果 Connection to 127.0.0.1 636 port [udp/ldaps] succeeded! Connection to 127.0.0.1 35157 port [udp/*] succeeded! Connection to 127.0.0.1 54890 port [udp/*] succeeded! 文件传输 归根到底都是创建一个tcp/udp连接,通过连接收发数据而已。所以,无论数据是ascii字符串,二进制文件都可以发送/接收。 为了加快传输速率/加密,你甚至还可以在发送之前对数据进行压缩/加密。 对于大文件,个人认为还是scp、rsync这类专业的工具靠谱。小文件可以试试这种方法,毕竟简单,不需要ssh认证。 ...

2020-05-11 · 2 分钟 · 283 字