今年喜欢上玩多邻国,虽然谈不上提高了多少,但巩固了下基础词汇,训练了下听力挺好的,并且也并没有花费多少时间,平均1天也就十几分钟到几分钟。

这里介绍下我是如何使用多邻国的。

平台

多邻国是跨平台的,Android,iOS,Web网页均支持,无Mac版。

我个人主要是用iOS版,其次是Web版。

免费/付费?

阅读全文 »

最近调研Google IAP,玩了下Google云机器登录,这里Mark下。

注册

  1. GMail

  2. 绑定支付,如果不绑定支付的话,无法购买机器。

    1
    初次赠送的赠金有有效期,过期后,金额还显示,但实际支付是不会抵扣的。

    实际测试Visa没问题

创建机器

以虚拟机实例为例,机器按秒计费,但注意单位是刀的话,还是挺贵的,临时使用的话,注意及时销毁。

阅读全文 »

安装php7.3

1
2
3
4
5
6
7
8
sudo yum install epel-release -y
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install yum-utils -y
sudo yum-config-manager --enable remi-php73
sudo yum install php php-cli php-fpm php-mysqlnd php-json php-opcache php-xml php-mbstring php-tokenizer php-curl php-zip php-gd -y

# 检查版本
php -v

MySQL8

1
2
3
4
5
6
7
8
9
10
11
yum localinstall -y https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
yum install -y mysql-community-server

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023


# 获取临时密码
grep 'temporary password' /var/log/mysqld.log

# 初始化DB配置

阅读全文 »

线上发布Web为了方便追溯用户的具体报错,我们会开启SourceMap,是发包发布时会将SourceMap上传到我们的RUM平台,这样当用户出现报错时,通过RUM平台上的SourceMap也可以追溯到源码的报错位置。但也并非构建打包的所有文件都需要生成sourcemap,那么如何定制呢?

开启SourceMap

Webpack中,简单点呢的话会是如下配置。

1
2
3
4
5
{
...
devtool: 'source-map',
...
}

这样做的弊端是所有的JS文件都会生成SourceMap,如果我们想排除某些呢,比如我们懒加载第三方模块,比如MonacoEditor。Webpack也是支持定制化SourceNap生成的。

阅读全文 »

在处理文本文件时会遇到行分割符的不同,这里为什么有这种差异和如何处理呢,这里mark下。

系统差异

Windows是\r\n,而Unix/macOS是\n

比如在Windows中使用NotePad创建文本文件,保存后,拖动到VSC等编辑器中打开,可以看到提示分割符是\r\n。

编辑器里的设置

阅读全文 »

在翻看inshellinsense代码时看到is建立本地终端时有控制加载指定目录下的启动文件。因此我在想SSH2连接Web 终端会话是否也可以呢,这里讨论下可行性。

inshellisense的做法

以bash为例

1
2
3
4
5
6
7
8
9
shellArgs = ["--init-file", path.join(shellFolderPath, "shellIntegration.bash")];

this.#pty = pty.spawn(shellTarget, shellArgs ?? [], {
name: "xterm-256color",
cols,
rows,
cwd: process.cwd(),
env: { ...convertToPtyEnv(shell, underTest, login), ...env },
});

可以看到实现的原理是spawn的第二个参数传入了shell参数,比如bash有–init-file参数

阅读全文 »

ChatGPT自推出以来大受欢迎,发布会也已抢去了昔日Apple的风光,大家都关注起了ChatGPT/OpenAI每次要发布新公布功能。

我们经常看到有人有了新功能资格,有人却没有,那么这个发布策略是怎么样的呢,这里我记录下我所了解的。

OpenAI 发布会

OpenAI/ChatGPT的新功能,往往是通过发布会来宣布,比如语音模式,GPTs等。此时我们往往只能在推特或者其它渠道看到他们的体验/宣传视频。

不得不说这种感觉很不爽。我们能做的只是等待。

阅读全文 »

Mac/iPhone端均可方便的开启MitM,那么ATV端如何做呢,这里总结下方法。

Surge Mac网关模式

假如Mac端直接网关模式,同时开启MitM,ATV在没有开启Surge的情况下连接网络,那么此时ATV发起的请求自然也会走Mac端的解密。

Surge ATV直接MitM

  1. Mac/iPhone等设备操作,利用Surge导出证书文件。

    Surge ATV配置文件用的是哪个设备的,则这里导出哪个设备的证书文件,避免配置文件中证书配置不一致

阅读全文 »

WebShell SSH登陆OpenCloudOS 9会直接断开。仔细调查后明白了问题点,这里总结下。

WebShell SSH登陆流程

这里WebShell使用的nodejs-ssh2实现终端登录

  1. ssh connect开启登陆交互Shell
  2. 登陆成功后,SSH底层连接复用,开启exec命令执行Channel,这里并发执行了4个命令。

报错信息

阅读全文 »

在Mac下执行tar压缩文件后在Linux CentOS下执行发现异常输出tar: Ignoring unknown extended header keyword LIBARCHIVE.xattr.com.apple.metadata:kMDItemTextContentLanguage,查询后发现是Mac下的tar不一样导致,这里总结下问题。

问题

Mac下执行如下命令进行tar打包

1
tar -czvf  ../xxxx.tar.gz --exclude='.DS_Store' xxxx/*

目标机器CentOS下执行tar解压缩

阅读全文 »
0%