V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Projection  ›  全部回复第 2 页 / 共 4 页
回复总数  71
1  2  3  4  
@humbass 看一下文档就明白了,`bun add d3 xxx` 添加依赖

还是 node_modules 那一套,基本可以无缝迁移
2023-10-03 18:43:59 +08:00
回复了 klmd99 创建的主题 Windows 求推荐一个 windows 终端
可以在设置中添加一个新的动作:
Windows Terminal - Settings - Actions - Add new - Clear buffer [Ctrl + L]
pkg 似乎还不支持 ESM ,然而很多包现在只提供原生 ESM 支持了。

如果是个人项目,用 Bun 就很方便:
`bun build --compile` 可以选择将运行时和代码一起打包成单个可执行文件,就像 pkg 一样;
也可以用 `bun build` 将源代码打包为单个 JS 文件,部署好 Bun 就可以直接运行了。
2023-09-29 10:19:55 +08:00
回复了 awesomePower 创建的主题 程序员 有没有那种能支持运行 js 代码的笔记软件
Observable 的设计很棒,只是不知道有没有开源的替代品
https://observablehq.com/
2023-09-21 11:13:13 +08:00
回复了 manyfreebug 创建的主题 程序员 编辑器的黑色主题看起来有些刺眼,是眼睛散光的缘故吗
我觉得背景纯黑没关系,但文字亮度不要设置太高。
证书透明度可以审计 CA 签发证书的行为:

crt.sh | oa.com
https://crt.sh/?q=oa.com
2023-08-28 10:25:29 +08:00
回复了 itakeman 创建的主题 Go 编程语言 go 语言 for 循环多层嵌套怎么用递归函数实现?
LeetCode 中 DFS 、回溯相关的题目基本都是这样的,推荐两个网站学习:

labuladong 的算法小抄 | labuladong 的算法小抄
https://labuladong.github.io/algo/

youngyangyang04/leetcode-master: 《代码随想录》 LeetCode 刷题攻略
https://github.com/youngyangyang04/leetcode-master

全排列问题和 OP 提出的问题比较类似,但是需要回溯,难度也不高,对于理解算法思想比较有帮助,可以先看一下:
https://leetcode.cn/problems/permutations/
2023-08-19 00:55:12 +08:00
回复了 MasterCai 创建的主题 程序员 [请教] wsl2 物理挂载硬盘最佳实践
看了一下文档,文档说的「未分区硬盘」和「分区硬盘」确实有一定误导性。


「未分区硬盘」不是指分了区但分区数量为 0 的硬盘。「未分区硬盘」是说把文件系统直接部署上整个硬盘上,不进行分区。比如 Linux 命令 `mkfs.ext4 /dev/nvme0` 是把 ext4 文件系统直接建立在一个块设备上。
「分区硬盘」是说需要提前对硬盘进行分区,使用 GPT 或 MBR 分区表的那种。「分区硬盘」确实就是字面意思,不过你新建的 NTFS 分区肯定是不好用的,后面代码说明了如何不使用其他工具来创建 ext4 分区。

创建「分区硬盘」的操作方法是:

# 👇 PowerShell 中执行
Get-CimInstance -query "SELECT * from Win32_DiskDrive"
# 一定要加 --bare 因为此时还没有 Linux 用的文件系统
wsl --mount \\.\PHYSICALDRIVE3 --bare
# 👇 WSL 中执行
lsblk # 找到需要分区的块设备
sudo fdisk /dev/sdd # 创建分区
sudo mkfs.ext4 /dev/sdd1 # 创建文件系统
# 👇 PowerShell 中执行
wsl --unmount \\.\PHYSICALDRIVE3
wsl --mount \\.\PHYSICALDRIVE3 -p 1
# 👇 WSL 中执行
cd /mnt/wsl/PHYSICALDRIVE3p1 # 开始你的操作

以后挂载和卸载使用如下命令就可以了:
wsl --mount \\.\PHYSICALDRIVE3 -p 1
wsl --unmount \\.\PHYSICALDRIVE3
2023-08-11 16:57:16 +08:00
回复了 zhengqiaoyin 创建的主题 程序员 怎么看这两个代码?
像 Java 、JavaScript 这类没有指针的语言,想要修改一个对象的 next 字段必须先获取到这个对象才能修改,所以必须用变量存储这个对象本身;而不能像 C/C++ 那样可以拿到 next 字段的指针来修改。第一种方法基本所有语言都可以用,第二种必须要语言支持指针,这更多是语言差异。

对于链表操作来说,用第一种方法时,有头结点和没有头结点操作链表的方式有差异,所以有时出于方便会选择使用头结点。但如果像第二种写法一样使用指向 next 字段的指针或引用,有没有头结点操作都很方便。
2023-08-10 15:00:55 +08:00
回复了 miaomiao2014 创建的主题 程序员 想要禁止通过 IP 地址访问,只允许通过域名访问。
没有看懂你的配置,18086 为什么出现了两次?到底开没开 TLS ?可以参考这篇文章:

NGINX 配置避免 IP 访问时证书暴露域名
https://zinglix.xyz/2021/10/04/nginx-ssl-reject-handshake/
Ctrl + Alt + Tab
2023-07-20 16:50:55 +08:00
回复了 happyTiger 创建的主题 问与答 大家平时都用什么代码管理工具?
随便找个找个位置建立个裸仓库当做远程仓库使用,如果不想搞得太复杂的话:

git --bare init project.git
2023-07-05 12:03:09 +08:00
回复了 guoyan 创建的主题 字体排印 请问⬇️这是什么字体吗
⬇️ 不是一种字体,而是一个字符,字符通过字体中的映射关系得到字形。如果你要问字体,应该把图片贴出来,而不是复制粘贴一个字符。
2023-06-27 11:13:47 +08:00
回复了 ttentau1 创建的主题 问与答 账号被封了之后,就看不了之前收藏的帖子了,可惜啊
如果是对自己重要的数据,最好自己写一些脚本导出来用做备份,不要完全依赖网站或 app 的收藏功能。
现在只是号被封了,搞不好哪天整个网站都没了。
2023-06-16 02:31:55 +08:00
回复了 paststrange 创建的主题 问与答 咨询一个 win11 下的 pycharm 图标问题
「昨天还是一致的」

可能你的记忆出现了一些混乱,我看到很早就是这样了。

文件关联图标一般来自于 EXE 文件中的 ICO 图标资源,而 ICO 可以包含多个不同尺寸的图标,这些图标的内容可以不一致,比如 16x16 的尺寸为图左,512x512 为图右,系统会选择一个最适合的尺寸展示。一般设计上的需要保证低分辨率图标也可以被辨认,所以会删去一些装饰性元素,只保留主体内容,这造成了设计上的差异。
.asc 后缀的文件是 GPG 签名,需要从可信的地方(比如官方 HTTPS 站点)获得发布者的指纹来验证。

使用 HTTP 很普遍啊,很多 Linux 发行版的软件包仓库都是使用 HTTP + GPG 的方式来保证完整性和安全性的。(虽然现在似乎有向 HTTPS 迁移的趋势)
2023-04-21 13:09:22 +08:00
回复了 PowerDi 创建的主题 问与答 如何提取 OEM 原版镜像
进 PE 用图形化工具 Dism++ 或者直接 CMD:

DISM.exe /Capture-Image /ImageFile:install.wim /CaptureDir:C:\ /Name:Windows-OEM
2023-04-21 12:37:08 +08:00
回复了 JOKERdmb 创建的主题 宽带症候群 关于基于 docker 部署 openwrt
我想纠正一下 @kaedeair ,Docker 部署的 OpenWrt 容器是可以作为主路由的,也可以正常 PPPoE 拨号上号。

我用 OpenWrt 容器做主路由只是为了避免在光猫上拨号,让自己可以对网络进行更加细节的控制。甚至我的 Docker 服务器只有一个网卡,只是在交换机上划分了 VLAN 。用 OpenWrt 而不是其他方法拨号是为了避免配置防火墙等,同时有开箱即用的 DHCP 、DNS 等功能。

如果 OP 只是需要透明代理网关,使用对应工具的 Docker 镜像 + iptables 规则也可以做到,没有必要使用 OpenWrt 。或者可以自己基于 Alpine 、Debian 等基础镜像自己 DIY 一个。

如下是使用 VLAN 进行单网口复用的方案( OP 的情况只需针对对两个接口分别创建 macvlan 网络即可,不需要使用 VLAN ):

```bash
# 创建 macvlan 网络(假设 WAN 的 VLAN ID 为 10 ,LAN 的 VLAN ID 为 20 )
WAN_VLAN_ID=10
LAN_VLAN_ID=20
docker network create --driver macvlan --opt parent=eth0.$WAN_VLAN_ID wan
docker network create --driver macvlan --subnet 192.168.1.0/24 --gateway 192.168.1.1 --ip-range 192.168.1.0/28 --opt parent=eth0.$LAN_VLAN_ID lan

# 导入 OpenWrt 镜像
docker import https://downloads.openwrt.org/releases/22.03.3/targets/x86/64/openwrt-22.03.3-x86-64-rootfs.tar.gz openwrt:22.03.3

# 只给 `--cap-add NET_ADMIN` 无法拨号,所以这里暂时用 `--privileged`
# 如果不需要 PPPoE 拨号,可能 `--cap-add NET_ADMIN` 已经足够
docker create --name openwrt --privileged --network lan openwrt:22.03.3 /sbin/init
docker network connect wan openwrt
docker start router
```

不过在使用 macvlan 时需要注意几点:

- 一般情况下,宿主机和使用 macvlan 网络的容器无法直接通信,解决方法见 [Using Docker macvlan networks]( https://blog.oddbit.com/post/2018-03-12-using-docker-macvlan-networks/);
- 创建容器时指定的 IP 不必是 `--ip-range` 中指定的 IP ,根据此原理 OpenWrt 容器可以自己决定使用哪个 IP 。

---

⚠️ 以下只是我的凭空臆想,我目前还没有在双网口机器上测试过!

如果不想使用 OpenWrt 作为主路由,那么可以在 Ubuntu 上为 `eth0` 配置好静态 IP ,保证可以正常上网并开启 IP 转发。

然后配置好 `eth1` 任意内网地址作为你的 LAN 地址( SSH 连接的地址),比如 192.168.1.120/24 。

接着在 `eth1` 上创建 macvlan 网络,指定网关地址为 192.168.1.1 。(此时网关 IP 只是占位,并没有任何设备占用)

然后参照 [Using Docker macvlan networks]( https://blog.oddbit.com/post/2018-03-12-using-docker-macvlan-networks/) 在 Ubuntu 上创建网络桥接到 macvlan 网络,地址为 192.168.1.1 。这样可以保证容器和宿主机之间相互通信没有问题,容器才可以通过 macvlan 网络正常上网。

然后就是在容器中使用代理工具配置 iptables 了,这没有什么好说的。当然这样的方法还需要自己配置 DHCP 服务。

---

上面的步骤之所以这么复杂是因为想要在一台机器上实现 NAT 和透明网关,而 macvlan 网络会导致宿主机和容器无法直接通信。如果 OP 有另外一台现成的路由器,那么问题可以直接简化为在创建 macvlan 网络并在 Docker 服务器上开启代理应用的容器。

写的很粗糙,如果有什么问题欢迎指出。
2023-04-12 12:45:54 +08:00
回复了 kele999 创建的主题 问与答 关于 emoji 添加更多中华文化图标的倡议
1  2  3  4  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2923 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 13:29 · PVG 21:29 · LAX 05:29 · JFK 08:29
Developed with CodeLauncher
♥ Do have faith in what you're doing.