作为程序员你是如何搭建自己的 windows 开发环境的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
daguaochengtang
V2EX    Windows

作为程序员你是如何搭建自己的 windows 开发环境的?

  •  
  •   daguaochengtang 2024-07-02 11:30:29 +08:00 7033 次点击
    这是一个创建于 469 天前的主题,其中的信息可能已经有所发展或是发改变。
    作为程序员,如果你拿到一个新的 windows 笔记本,你会如何搭建自己的开发环境(其实不局限于开发环境,包括日常的其它工作和使用场景)?

    主要是我过段时间有个新的 windows 本,想提前想好需要注意的点,我目前考虑的几个点,v 友们可以帮忙解答和补充其它的点:

    1. 硬盘是否有必要分区?分区和不分区各有什么注意点?(比如我现在的电脑就没分区,但是会把 desktop 、download 文件夹等这些移动到其它盘。比如会把所有快捷方式放在一个文件夹然后放进环境变量里,通过 win+r 直接打开)
    2. 考虑减少重复配置的成本,用 docker 来配置大部分的环境的可行性怎么样?比如 git,node,nginx 等都跑在一个 docker 里,本机不装这些环境,会不会有性能问题?有没有谁这样实践过的
    3. windows 下你们会用包管理器嘛?用的什么?
    4. windows terminal 怎么配置? wsl 你们平常会用吗(一直不懂 wsl 的使用场景,你们会直接在 wsl 上开发、写代码嘛)?
    5. 。。。
    58 条回复    2024-12-12 16:54:36 +08:00
    tool2dx
        1
    tool2dx  
       2024-07-02 11:38:34 +08:00
    我个人是用 vhd 进行开发配置,第一尽可能用 portable 的软件,第二很多公司陈旧项目编译依赖特别多,只能通过 vhd 挂载和同步代码。

    还有一些 COM 组件注册很多的程序,都被我扔到虚拟机里运行的。

    别的好像也没什么,git 我用 msys ,没用 wsl ,反正常用软件来说,两者都大同小异。
    murmur
        2
    murmur  
       2024-07-02 11:39:34 +08:00
    不用 wsl ,java 和前端就 win 自己就够了,真的需要 linux 开虚拟机,win 的虚拟化贼麻烦,有的要开 supervisior ,有的不能开

    linux 配虚拟机挺简单的,双网卡,里面开 docker ,不开发的时候虚拟机关了就完了,也多不了几个资源,随便买都是 32g 内存的电脑
    murmur
        3
    murmur  
       2024-07-02 11:40:05 +08:00
    *supervisior->hypervisor
    AoEiuV020JP
        4
    AoEiuV020JP  
       2024-07-02 11:42:43 +08:00
    用什么装什么, 尽量优先考虑官网下载 exe 安装包,能选择安装路径的都指定到 D 盘目录里,
    terminal 默认 cmd ,其他不改,
    wsl 用过几年不打算再用了, 整个 hyperv 关了,改用现在免费的 vmware,
    开发机也不是服务器, 和 docker 不太搭,有需要的在 vmware 里 linux 跑,git ,node 之类都是直接装,
    不用包管理器,感觉 win 压根没有这个生态, 包管理器只是个 exe 下载器,
    快捷方式会放在一个文件夹里,文件夹放开始菜单里,同时固定在文件管理器左边的快速访问里, 用鼠标打开,
    yunv2
        5
    yunv2  
       2024-07-02 11:46:35 +08:00
    楼主以前用的是 windows 吗?
    到手配置开发环境,一般按文档执行一遍,就装全了。

    1.没必要分区,现在笔记本两个 ssd ,都不分区,C 盘 1T ,D 盘 2T ;
    2.git 和 node ( nvm )安装在本机了,nginx 是用 docker 跑;
    3.没用过,日常吃饭挣钱的工具,都有安装文档。windows 官版系统安装官方软件一般不会出错,装完就不动了。仅代表个人观点。
    4.windows 是图形化界面,terminal 用的很少,除非远程 linux 或者 wsl ; wsl 用来装 docker on wsl ,只用来测试运行环境;写代码还是在 windows 的 jetbrains 系列软件。
    fish267
        6
    fish267  
       2024-07-02 11:46:44 +08:00
    简单,安装个 Linux 虚拟机
    tool2dx
        7
    tool2dx  
       2024-07-02 11:48:44 +08:00
    @AoEiuV020JP "快捷方式会放在一个文件夹里"

    我快捷方式是写了一个程序,常驻任务栏,用双击 Ctrl 打开跳转界面。速度快的飞起。
    dobelee
        8
    dobelee  
       2024-07-02 11:53:01 +08:00
    代码和开发全套都跑在 WSL 的文件系统。Win 上只有一个 Jetbrains 的壳。
    非常稳健,用了五六年了。
    KMpAn8Obw1QhPoEP
        9
    KMpAn8Obw1QhPoEP  
       2024-07-02 12:01:15 +08:00 via Android
    vscode devcontainer 其他爱咋咋
    gloye
        10
    gloye  
       2024-07-02 12:45:17 +08:00
    佬们太 city 了,我就下载 node,git,vscode(同步),就开始撸代码了,最多再配一个 oh-my-posh
    缺什么工具就去该工具官网上找
    eslizn
        11
    eslizn  
       2024-07-02 12:47:55 +08:00
    包管理 chocolatey
    zsxzy
        12
    zsxzy  
       2024-07-02 12:51:49 +08:00
    Android studio + vscode 就齐活了
    clf
        13
    clf  
       2024-07-02 12:54:12 +08:00
    git 、jetbrains 、vscode 、nvm 、jdk 、tabby terminal 、VMWare 、数据库连接工具。
    ysc3839
        14
    ysc3839  
       2024-07-02 12:58:14 +08:00 via Android
    MSYS2 + Git for Windows 的补丁 https://github.com/git-for-windows/git/wiki/Install-inside-MSYS2-proper (非官方支持,有滚包滚炸的可能,看需求选择)
    终端用 MSYS2 的 mintty ,shell 用 zsh+oh-my-zsh+powerlevel10k
    Visual Studio 选择 C++ 和 C#
    VSCode
    用 fnm 安装 Node.js https://github.com/Schniz/fnm
    用 Python 官网的安装包安装 Python
    seafox
        15
    seafox  
       2024-07-02 12:59:36 +08:00
    我是先下个 vscode 再下个 visual studio 主要用 vscode 写 构建工具用用 xmake 包啊啥的看看 xmake 里面有没有 没用就用 vcpkg 还有些东西比较麻烦的还是要装个 linux 虚拟机
    securityCoding
        16
    securityCoding  
       2024-07-02 13:02:11 +08:00
    不怎么折腾了申请了开发机 32 核 64g 云开发机, 全部 vscode remote ssh
    lanytcc
        17
    lanytcc  
       2024-07-02 13:04:38 +08:00 via Android
    win 本?我感觉你这个有必要在 win 上吗,拿回来换 linux ,docker 在 win 下只有 50 %的效率,除非你是 win for arm
    zsj1029
        18
    zsj1029  
       2024-07-02 13:07:37 +08:00
    @murmur 非也,win 自带的 hyper 不要太好用,吊打市面所有虚机,效率很高
    lyusantu
        19
    lyusantu  
       2024-07-02 13:08:23 +08:00
    一个 IDEA ,一个 VM ,VM 里装 Docker ,所有环境跑在 Docker 里
    ysc3839
        20
    ysc3839  
       2024-07-02 13:11:23 +08:00 via Android
    1. 不分区。除非哪天 Windows 能有很简单的方法把“整个 Users 文件夹”迁移到其他分区,且有类似 APFS 或 btrfs subvolume 这种多分区共享可用空间的机制,我才会考虑分区。
    在 Linux 上我选择 btrfs 且使用多个 subvolume 。
    2. 不如虚拟机。
    3. 用。参见前一条,用 MSYS2 的 pacman 包管理。我目前不太会考虑 winget 等“软件管家”式的,没有统一包格式的包管理。
    4. 默认配置。我只用 Windows Terminal 配合 cmd 和 PowerShell 用。
    用 WSL1 ,使用 wslbridge 等项目在 mintty 中使用,不用 Windows Terminal 。

    为什么不用 Windows Terminal ,因为 Windows Terminal 要兼容 Windows 曾经的控制台设计,实际工作模式是类似 screen/tmux 那样:程序输出,然后 Windows Console 更新一个内部 buffer ,再计算 buffer 的差异,再把差异部分用 ANSI escape sequence 输出给终端。
    加了这么一层转换之后难免会引入问题,也不支持一些高级功能。曾经遇到最严重的问题是,用 Git 附带的 ssh 客户端连接服务器,按 Ctrl+C 直接把本地的 ssh 客户端结束掉了。
    cxsz
        21
    cxsz  
       2024-07-02 13:11:46 +08:00
    windows terminal 用 pwsh 当默认终端,插件装 PSReadLine 、oh-my-posh 、Terminal-Icons
    bqn
        22
    bqn  
       2024-07-02 13:17:58 +08:00
    winget
    kdwycz
        23
    kdwycz  
       2024-07-02 13:33:12 +08:00
    把 wsl2 打包还原到新电脑,安装 vscode
    BeforeTooLate
        24
    BeforeTooLate  
       2024-07-02 14:44:52 +08:00
    vagrant+virturlbox+debian+docker
    搭配一次,永久有效,还机子了也没有任何问题,换 mac 了也可以。
    EndlessMemory
        25
    EndlessMemory  
       2024-07-02 17:34:46 +08:00
    用到了再配
    magicfield
        26
    magicfield  
       2024-07-02 17:36:40 +08:00
    1. 没必要分区,一个盘一个区最后,之前一台开发机 C 盘只分了 200G 后续很痛苦
    2. 如果要直接配一个通用部署环境可以考虑 vm 虚拟机一把梭,你在虚拟机里塞 docker 都行,但基础的开发环境,node 、git 之类最好还是本地环境
    3. 包管理看什么语言,但不是很推荐用 ide 原生功能的包管理,最好自己建本地库
    4. 不是很推荐用 wsl ,首先本身 hyper-v 就和 wsl 不兼容,想要兼容很困难,而且还要处理一堆其他问题,比如 wsl2 到 win11 新版本前配置静态路由都极其狗屎,显卡调用也极其狗屎
    win 下好用的 Terminal 也足够多了,目前在用 Tabby Terminal ,虚拟机也是用它连的
    4Et5ShxMIq58n6Lr
        27
    4Et5ShxMIq58n6Lr  
       2024-07-02 17:38:50 +08:00
    不分区,直接一个盘, 开启 wsl2 ,配合 vscode 爽歪
    magicfield
        28
    magicfield  
       2024-07-02 17:41:05 +08:00
    @magicfield 查了下有点误解了,hyper-v 和很多 vm 不是很兼容
    daguaochengtang
        29
    daguaochengtang  
    OP
       2024-07-02 18:07:21 +08:00
    @murmur
    @zsj1029
    @magicfield 虚拟机没玩过,不过根据我之前网上看来的浅薄的经验,虚拟机好像会比较卡吧,你们用着体验怎么样呢?
    zsj1029
        30
    zsj1029  
       2024-07-02 18:08:23 +08:00
    @daguaochengtang win 自带的 hyper 虚机,效率很高,内存足够的话一点不卡
    AItsuki
        31
    AItsuki  
       2024-07-02 18:28:45 +08:00
    1. 没必要
    2. git 和 node 等工具类型必须本机安装,放 docker 估计是想折腾自己,怎么用。
    3. 没必要用包管理器,用处不大。非要用的话 winget 就够了
    4. terminal 默认配置就行。不用 wsl ,宁愿开虚拟机
    5. 哪有那么多机会给你搭建开发环境,缺啥装啥也不花时间。
    yunye
        32
    yunye  
       2024-07-02 18:39:48 +08:00
    xampp 、vscode 双击安装完事
    magicfield
        33
    magicfield  
       2024-07-02 19:15:03 +08:00
    @daguaochengtang win 自己的虚拟化 hyper-v 快不少,vmware 之类的虚拟机对性能折损挺大的
    isnullstring
        34
    isnullstring  
       2024-07-02 22:50:13 +08:00
    vs+git ,一直下一步就完事
    hefish
        35
    hefish  
       2024-07-02 23:02:04 +08:00
    首先买一台新电脑。然后开机。然后跟着感觉走。。。
    0o0O0o0O0o
        36
    0o0O0o0O0o  
       2024-07-02 23:12:58 +08:00   1
    1. 不分区,不改路径,何苦给未来的自己挖坑
    2. windows 上的 docker 没用过,WSL 2 里的 docker 不知道可用程度如何,性能从不担心,敲代码跑跑编译而已
    3. 用,winget scoop chocolatey ,一些必需软件从里面找,实在没有你可以考虑自己维护个源或者提交一个进去
    4. 不怎么配置 wt ,主要用 WSL 里的终端

    > 你们会直接在 wsl 上开发、写代码嘛

    很多人都是从 Windows 上的 IDE 连进去吧? JetBrains 和 VSCode 都支持

    > 考虑减少重复配置的成本

    首先很赞同 #9 ,尽管我不了解它在 Windows 上是不是那么好用
    其次还是建议围绕 WSL 来构建你自己的 dotfiles
    最后,如果都接受围绕 WSL 开发了,何不 Linux 双系统,省太多事了

    我总觉得当 Windows 用户产生了避免重复配置的念头时,结局几乎就注定了,兜兜转转到最后,要么放弃这个念头因为确实也没那么重要,要么投向 Linux 。。。

    这是我上次重装时的简单记录,目前也是日常用 /t/1001795

    再贴一个你可能会感兴趣的东西 https://learn.microsoft.com/en-us/windows/package-manager/configuration/create
    ColdBREW1999
        37
    ColdBREW1999  
       2024-07-02 23:14:41 +08:00
    scoop wsl
    bandian
        38
    bandian  
       2024-07-03 00:25:01 +08:00
    VSCode + Linux 虚拟机
    mingl0280
        39
    mingl0280  
       2024-07-03 02:11:23 +08:00 via Android
    我自己撸的镜像,dism 直接刷
    daguaochengtang
        40
    daguaochengtang  
    OP
       2024-07-03 09:10:04 +08:00
    @0o0O0o0O0o 感谢认真的回答
    zhumengyang
        41
    zhumengyang  
       2024-07-03 10:16:37 +08:00
    1 全装 d 盘
    2 个人电脑会装 docker
    3 git-fork
    4 公司电脑 phpstudy ,个人电脑配置了 wsl2
    mmdsun
        42
    mmdsun  
       2024-07-03 13:04:49 +08:00 via iPhone
    Dev Drive 开发驱动器
    WSL2 LINUX 版本 docker
    VSCODE 远程开发
    xiaoguai945yeah
        43
    xiaoguai945yeah  
       2024-07-03 13:27:47 +08:00
    作为科研相关人员(属于自学吊车尾程序员吧……)硬答一下:
    1. 没必要分区,除非双系统。您说的 Desktop,Download 这些移动过去也可以,我都是直接把 Desktop/Documents 指到 OneDrive 下的目录,然后 Download 只用来下载/保存临时文件,哪天心血来潮/系统提醒了,就全删掉都行。快捷方式这个操作挺好,学到了(我用 Listary/PowerToys 也都能启动软件,用惯了)
    2. 没用过
    3.不太用,每次都官网下载,默认安装到 C 盘,但给爸妈电脑装了个 wingetUI (以后会改名叫 UnigetUI ),让他们尽量在那里装软件(也防不住继续用 360 软件管家……)
    4. 给 terminal/powershell 换个好看的字体(例如 Inziu IosevkaCC Slab SC )。wsl 之前做前端的时候用过,配合 VSCode 用挺无感的,现在也不用了,换新电脑都没再开启过……

    曾经事无巨细地写了 win+linux 双系统安装和配置的步骤到 OneNote 里,但后来发现根本懒得打开照着操作,而且当时 win10 各种设置的方法和位置,在现在的 win11 也都过时了……需求也会跟着变,对电脑的认知已经从“我的电子朋友”变成了“我的工作的一部分”,有时间更想花在休息、兴趣、陪家人上。
    esee
        44
    esee  
       2024-07-03 13:57:30 +08:00
    1 、分区啊,系统一个盘,文件和程序一个盘,够用了。主要是平时养成区分好工作文件的习惯,这样重装系统的时候不至于还得去费劲去定位需要迁移的文件。
    2 、win 上现在就一个 vscode 、笔记文件、和一个终端管理,开发环境都在另外的 ubuntu 服务器上。远程开发,本地的 win 环境基本不用动,换个电脑也能同步工作进度,比如打开的文件夹,打开的哪个文件。等等。
    boxy123
        45
    boxy123  
       2024-07-03 16:54:22 +08:00
    如果只有一个盘,又不分区的话,那之后重装系统要做数据备份
    WuLiSenSen
        46
    WuLiSenSen  
       2024-07-03 19:00:24 +08:00
    程序员不都是用 macos 吗
    CodeAllen
        47
    CodeAllen  
       2024-07-03 20:21:32 +08:00
    1.分 CD 盘足够了,我在 D 盘开了一个共享目录,方便 smb 挂在到 HyperV 虚拟机中,而且一堆 git 项目我也放在 D 盘,集中管理,我默认不显示桌面图标,运行程序直接 win+关键字基本秒开,公司的文档记录什么的用 OneDrive 同步,定期打包备份,根本不担心电脑突然坏;
    2.docker 我安装在 HyperV 的 ubuntu 虚拟机上,主要是固定版本的编译环境,Go 、Java 、NodeJS 程序直接就安装了,这个没啥版本问题,也可能是我没那么大的需求;
    3.PowerShell 里面装软件?没用过,有点难用;
    4.只要是 Linux 环境需求,首先去 wsl ,wsl 如果不行,再换 HyperV 里面的正经 Ubuntu 发行版,goland 都支持连接 wsl 进行开发;
    5.目前上班主要是 win 笔记本远程 NUC 主机使用,win 笔记本主要登录企业微信、微信等,开发主要环境在 NUC 主机上,而且都安装了 zerotier ,在外可以连上 NUC 主机直接用,公司虽然有 VPN ,但是并不能知道 NUC 主机的 IP 是多少,VPN 登录没法用 mDNS 有网段隔离只能连确定的 IP ,市面上的各种远控不放心。
    workingpad2
        48
    workingpad2  
       2024-07-04 09:48:34 +08:00
    VSCode + WSL, Tabby
    artiga033
        49
    artiga033  
       2024-07-04 10:19:27 +08:00 via Android
    1. ssd 完全不需要分区,不过我会单独拉一个 ReFS 的开发卷专门用来放各种编译工具链的缓存以及代码。

    2. 见 4

    3. winget 和 scoop ,不过严格来讲 winget 不算是包管理器

    4. 配色文件,Nerd 字体,然后一些常用快捷键,还有 profile 可以直接指定为任意指令,比如 ssh 到某个设备,还是很方便的。
    非微软生态(C#,msvc 之类)的开发我现在完全放到 wsl 里了,~~i use arch btw~~,想要什么数据库、redis 、mq 之类的直接 docker 起一个,甚至 windows 端也能访问到。对于 golang 之类的优先面向 linux 的语言在 Windows 上搞也是折磨自己。而且很多很重的开发环境直接 wsl --shutdown 之后 Windows 就可以进入游戏模式了,在 Windows 上做开发总感觉有后台清不干净,一般直接重启。
    另外 wsl 和 Windows 的互操作性比 vm 强多了,比如你可以直接在 wsl 里复用 Windows 端的 ssh 、git 配置,甚至是用 wsl 的 git 调用 Windows 的 gpg 签名,反之亦然。以及还有 wslg 临时用一下 linux 下独占的 gui 软件也挺好的。
    而且我的显卡是 intel 的 arc a770 ,这玩意跑机器学习的各种软件包在 linux 下都是比 Windows 既新又快。
    另外使用 wsl 还能用 btrfs 等新型文件系统,透明压缩真的是救了 rust 和 node 开发者的命
    tooyoungtoo
        50
    tooyoungtoo  
       2024-07-04 10:50:19 +08:00
    windows terminal+zsh+wsl+vscode remote 。
    git nginx 和 docker 这些全部装 wsl 里面,windows 上面都不装。
    jones2000
        51
    jones2000  
       2024-07-04 11:27:25 +08:00
    专职前端开发( c++/js). 无后台开发需求。
    就 2 个盘,c: 盘 250G , 其他给 D 盘。

    开发工具
    VSCode, vs2013 , vs2022, CMake ,git, svn, 各种小程序开发工具
    调试工具
    windbg, fiddler, Wireshark, Microsoft Network Monitor. 手机模拟器
    浏览器
    chrome ,Edge, Firefox
    数据备份
    OneDrive

    笔记本 2 年一换,新本子 2 年内坏的概率比较小。
    ByteCat
        52
    ByteCat  
       2024-07-04 14:19:53 +08:00
    包管理器 scoop ,然后安 WSL2 ,完事
    ryanlid
        53
    ryanlid  
       2024-07-04 15:06:54 +08:00
    不分区,所有软件用默认配置一键安装,不折腾。空间不够的话加个机械硬盘,存视频和一些大的文件

    vscode ,Jetbrains 连 wsl ,创建多个 wsl 也能环境隔离
    catamaran
        54
    catamaran  
       2024-07-04 16:29:11 +08:00
    是我用 windows 太久了吗?区和盘啥区别?除开物理设备不说,就操作系统层面,楼主说不分区,但是又把 download 移到其他盘,这是啥操作? windows 上说 c 盘,一般是指 disk 1 上面的 partition 1 ,这个区,我理解就是盘吧?
    NotAProgrammer
        55
    NotAProgrammer  
       2024-07-04 16:47:23 +08:00
    @dobelee #8 老哥能具体说一下嘛
    smdbh
        56
    smdbh  
       2024-07-04 18:52:30 +08:00
    看你工作行业。我是除了 office 和 ide ,基本都是绿色软件,d:\program 直接复制就能用。个别需要双击 reg ,添加进右键一次。
    Chuckle
        57
    Chuckle  
       2024-07-04 19:48:47 +08:00
    固态没必要分盘,按文件夹分就行,装环境的、软件的各种文件夹,all in vscode ,配合 wsl ,也有人喜欢把数据库、环境都装 docker 里,我是习惯本地装,工具集合用 utools ,主打一个操作越少越好。还有固态+硬盘盒+Ventoy 搞的多系统已经吃灰了,VMware 也吃灰但也得装好。所有软件的快捷键都扔桌面,用 Coodesker 分类保存。
    joey9696
        58
    joey9696  
       306 天前
    @dobelee goland 访问 wsl 的文件不会卡吗,我看我项目稍微大一点,检索索引的时候就很慢了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3302 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 11:52 PVG 19:52 LAX 04:52 JFK 07:52
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86