V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Ranni
V2EX  ›  Windows

求助各位用 Windows 笔记本的程序员

  •  
  •   Ranni · 2022-07-23 20:18:34 +08:00 · 12135 次点击
    这是一个创建于 888 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在打算换电脑,觉得 32G 的 mac 性价比不高,想买 Windows 。于是最近一个月尝试在 Windows 做开发,说实话,Windows 太难用了。然后尝试用 wsl2 ,想把环境全迁移到 wsl2 上,却发现一堆问题,看到之后就不想折腾。最后想到了可以在 VMware 上装个虚拟机。 所以就想问下各位大佬,你们开发环境是全放在虚拟机上吗?连 ide 都放到虚拟机里吗?

    121 条回复    2022-07-30 19:41:31 +08:00
    1  2  
    raynor2011
        101
    raynor2011  
       2022-07-24 19:48:13 +08:00 via iPad
    wsl2 还好吧,工作中一直用
    skies457
        102
    skies457  
       2022-07-24 19:59:54 +08:00   ❤️ 1
    @rpish 不能,只有 wsl2 可以
    ysc3839
        103
    ysc3839  
       2022-07-25 04:05:20 +08:00 via Android
    搞 Linux 开发的话我是虚拟机里用 Ubuntu Server 。跨平台开发我一般用 Windows 下的,除非不同平台差异较大。
    EdwardLU
        104
    EdwardLU  
       2022-07-25 09:21:00 +08:00 via iPhone
    wsl2 具体是什么问题,我用的很顺滑
    tairan2006
        105
    tairan2006  
       2022-07-25 09:35:32 +08:00 via Android
    其实 pwsh7 还不错,很多 linux 工具用 scoop 也能装 win 的同名版本…wsl2 我主要用来跑 docker 了
    newmlp
        106
    newmlp  
       2022-07-25 09:52:42 +08:00
    作为一名合格的 IT 开发工程师,能灵活的在三大桌面系统中切换工作也是必备的技能
    byte10
        107
    byte10  
       2022-07-25 10:10:55 +08:00
    这个时候 vscode 远程开发就有优势了。我的给你一个方案了吧。D1581-16 核, 32G 内存, 板载 U 550+内存 32G -500 块钱,机箱电源 150 搞定。总价 1200 ,性能接近 5700G ,多核心适合 java 开发,可以安装 pve 系统,很稳定,无显卡运行。。然后笔记本远程到到这个机器上开发 java react,vue 就可以了。然后你再买一个 M1 air ,体验完美。

    windows 我给过十几个大学生安装过一些开发环境,有一个 ssh 免密配置就遇到过权限问题,config 文件有问题, 遇到过 5 次。其他的还好。。自己用 windows 的话,弹窗广告很多,也不知道去哪里下载 windows 软件,全是病毒和流氓软件,tamd 。。。
    lj2016
        108
    lj2016  
       2022-07-25 11:46:47 +08:00
    @bthulu #32 mac 上的 vs 居然比 win 的还好用么
    tianxin8431
        109
    tianxin8431  
       2022-07-25 12:00:29 +08:00
    @Nasei 支持 和 默认行为 能一样么。
    sukidesuka
        110
    sukidesuka  
       2022-07-25 12:51:53 +08:00
    @shoaly royal tsx
    yuruizhe
        111
    yuruizhe  
       2022-07-25 13:51:25 +08:00
    @tramm 同+1 ,linux 系统又不收费
    james2013
        112
    james2013  
       2022-07-25 16:32:27 +08:00
    一直都在用 window,开发 java,android,前端,python,微信小程序都开发过,觉得挺好的
    java 后端需要使用命令行吗?我好像基本没有用过
    Nasei
        113
    Nasei  
       2022-07-25 16:58:09 +08:00
    @tianxin8431 操作系统不会默认这种行为,这是应用层自己建立 socket 时的选项
    zhangjinghua
        114
    zhangjinghua  
       2022-07-25 17:11:43 +08:00
    @Maboroshii Mobaxteam
    tianxin8431
        115
    tianxin8431  
       2022-07-26 01:42:03 +08:00
    @Nasei 然而事实就是,在不做任何额外配置的情况下,同一个端口在 Linux 下监听两次,就是会报`Address already in use`,而 windows 下则不会。我使用`python -m http.server`在两个平台都试了,可以复现我说的情况。
    tianxin8431
        116
    tianxin8431  
       2022-07-26 02:20:53 +08:00
    @Nasei 事实上,在 Linux 下,SO_REUSEADDR 只支持绑定“同一个端口” + “不同的且非通配符地址”,同一个五元组是没法被 bind 两次的。( https://stackoverflow.com/questions/14388706/how-do-so-reuseaddr-and-so-reuseport-differ )如果想实现和 windows 等价的效果,需要用 SO_REUSEPORT 。而 Windows 下压根没有 SO_REUSEPORT 这个 flag 。

    ```python
    import socket

    host = 'localhost'
    port = 9999
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    s.bind((host, port))
    s.listen(1)
    print('Listening on port', port)
    conn, addr = s.accept()
    ```

    写了一段很简单的代码,在 Windows 下可以正常 bind ,Linux 还是会提示 Address in use 。在 Linux 下如果想实现重复监听的效果,需要将 flag 换成 SO_REUSEPORT 。

    从技术讨论的角度,平台的差异有助于我更好的学习相关的知识;然而从快速出活的角度考虑,这种差异只能让我更加痛苦。
    hanqy228
        117
    hanqy228  
       2022-07-26 16:11:43 +08:00
    @hhhanako 这个是啥型号的笔记本?
    hhhanako
        118
    hhhanako  
       2022-07-26 20:59:26 +08:00
    @hanqy228 sorry 是我没有审题,这是主机
    Nasei
        119
    Nasei  
       2022-07-27 00:33:59 +08:00
    @tianxin8431 这些选项确实不同操作系统不一样,而且即使 mac (bsd) 和 linux 也不完全一样,但这和我说的不冲突,任何操作系统在默认行为下,没有任何选项的时候,都不能不同进程同时监听同一个端口,windows 也一样,不管你说的 django 还是 python -m http.server ,都是应用层的东西,表现出来的行为是它们自己的选择
    Geon97
        120
    Geon97  
       2022-07-27 09:31:20 +08:00
    linux 虚机,本地开发环境使用 ssh 连接 linux 虚机
    FrankHB
        121
    FrankHB  
       2022-07-30 19:41:31 +08:00
    @ipcjs 经验如此。我没具体 profile ,不过我猜跟操作进程开销的多少有些类似,Windows 应用操作文件用的 API 经常套娃太多层了,干了很多不需要干的活,不像 Linux 本机应用一般系统调用往上 libc 套一层搞定。不过差距不会像创建进程那么夸张。当然资源管理器慢起来那是真的慢……有时候我都直接 dolphin& 了。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2163 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:55 · PVG 08:55 · LAX 16:55 · JFK 19:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.