抛弃老旧的Powershell和祖传Cmder拥抱更现代的Windows Terminal(安装与美化)

在2020年5月19日微软发布了Windows Terminal 1.0正式版。powershell也将在2022年12月3日终止维护windows的终端一直都被人诟病,样式巨丑,命令和其他平台不统一等等。终于,微软在 announcement at Microsoft Build 2019上公布了全新开发的Windows Terminal,漂亮方便的同时还解决了开发方式存在差异的痛点。话不多说,先上效果图:

预览图1

预览图2

阅读更多

基于frp或nps的远程遥控手机实现钉钉远程打卡

​ 想要实现远程控制手机已知比较好的商业解决方案有Teamviewer和向日葵。不过价格对于我这种偶尔有需求的穷逼来讲确实不太合适。索性自己搭建一个。

​ 对比网上的其他方案优点就是:

  1. 直接控制手机,不光可以钉钉打卡,所有手机的操作都可以做。
  2. 控制是基于adb的,不存在钉钉更新后插件失效的问题,也没有被检测的风险。
  3. 一次搭建永久使用,不需要更新。
  4. 用的都是10K+开源,不存在广告病毒之类的。

ADB是什么?

全称Android Debug Bridge。安卓平台调试桥,是连接Android手机与PC端的桥梁,通过adb可以管理、操作模拟器和设备,如安装软件、查看设备软硬件参数、系统升级、运行shell命令等。

阅读更多

利用AI给你的小视频补帧到120 FPS(内有开车视频)

​ 现在各种期间手机都开始用上 120 帧的显示屏,但是网上大部分的视频还都是 30 帧,只能人工眨眼补帧(←_←)。视频的帧率已经远远赶不上人民群众的需求了,所以有不少人都在研究如何把普通视频变成高帧率视频。

​ 虽然SVP+potplayer可以实现实时补帧,但是文件无法保存,软件收费,只可以在windows上使用都是这个方案的弊端。所以在这找了两个可以实现补帧的开源项目:

阅读更多

Rocket.Chat docker搭建私人/团队聊天教程

​ 双十一买的良心云不知道做点什么,看到有人在v2ex上问哪个开源聊天好,索性也搭一个玩玩。在这使用的是rocket.chat

​ 我的地址是https://chat.2077tech.com/channel,可以先看一看效果。

​ 首先我的服务器是Ubuntu 18,但是没有使用snap。为了方便管理使用Docker来搭建。

首先更新一下系统

1
sudo apt update && sudo apt upgrade
阅读更多

利用AI把老照片修复成彩色4K并实现微信小程序查看管理

​ 马上要过年了,为了让我妈可以在亲戚朋友面前愉快的聊(装)天(逼),我决定把家里的老照片修复一下,一些爸妈年轻时的黑白照片也弄成彩色的。不然他们老以为我坐电脑前面就是玩游戏 😂。

先上结果对比,左面是老照片,右面是修复后的。

我妈年轻的时候咋这么好看 😆

阅读更多

JavaScript实现Twitter雪花算法

使用SnowFlake的理由

按照时间自增,可排序。

并且整个分布式系统内不会产生ID碰撞(由数据中心ID和机器ID作区分)。

经测试 MacBook Pro (15-inch, 2018) 每秒可产生136万左右的ID。

Twitter_Snowflake

twitter开源的地址:twitter-archive/snowflake

SnowFlake的结构如下(共64bits,每部分用-分开):

0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000

| ———————-|———————- –|– –|– —–|——

1bit不用 41bit 时间戳 数据标识id 机器id 序列号id

  • 1位标识,二进制中最高位为1的都是负数,但是我们生成的id一般都使用整数,所以这个最高位固定是0
  • 41位时间戳,41位时间截不是存储当前时间的时间截,而是存储时间截的差值(当前时间截 - 开始时间截得到的值),这里的的开始时间截,一般是我们的id生成器开始使用的时间,由我们程序来指定的(如下下面程序IdWorker类的startTime属性)。41位的时间截,可以使用69年,年T = (1L << 41) / (1000L * 60 * 60 * 24 * 365) = 69
  • 10位的数据机器位,可以部署在1024个节点,包括5位dataCenterId和5位workerId
  • 12位序列,毫秒内的计数,12位的计数顺序号支持每个节点每毫秒(同一机器,同一时间截)产生4096个ID序号
  • 加起来刚好64位,为一个Long型。
阅读更多

React 使用TypeScript时customize-cra配置别名无效的解决办法

想用TypeScript做一个个人的项目,结果在启动的时候就遇到了问题,customize-cra配置路径别名的时候总是报错,网上搜的都是旧版的,官网也只有JS的配置。后来在这个issues下找到了答案,再这记录一下。

首先在根目录下新建config-overrides.js

1
2
3
4
5
//引入需要的组件
const {
override,
addWebpackAlias,
} = require('customize-cra');
阅读更多