真心佩服 Java WEB 程序员 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
owenliang
V2EX    Java

真心佩服 Java WEB 程序员

  •  
  •   owenliang
    owenliang 2017-11-15 18:02:53 +08:00 12573 次点击
    这是一个创建于 2955 天前的主题,其中的信息可能已经有所发展或是发生改变。

    为了写一个网站可以掌握那么多的 lib 和 conf,我试着学很快就感觉枯燥无味了,可以称为学习成本比较陡峭。

    虽然我知道很多 JAVAER 也只是停留在直接搬砖的水准,但是我仍旧佩服那些基础扎实的 JAVAER,他们学到今天真的很不容易。

    反观其他语言,只要有 web 开发经验,上手的心智压力貌似都不大,可惜他们基本都是脚本语言,跨界能力都各有局限。

    86 条回复    2017-12-01 10:25:02 +08:00
    FanError
        1
    FanError  
       2017-11-15 18:04:08 +08:00 via iPhone
    楼主试下 spring boot
    owenliang
        2
    owenliang  
    OP
       2017-11-15 18:05:31 +08:00
    @FanError 我不是讨论用什么简单,我是说一步一步搞上来的好 JAVAER,其实还是挺稀缺的。
    watzds
        3
    watzds  
       2017-11-15 18:06:47 +08:00 via Android
    特别是以前上学时,一上来就是 ssh 框架,看得我都怀疑自己能力了。
    bramblex
        4
    bramblex  
       2017-11-15 18:09:26 +08:00
    @owenliang

    一步一步搞上来的好程序员一直都很稀缺啊, 不管什么语言都一样啊.

    这是人靠谱, 基础扎实, 跟用什么语言关系不太大吧.
    owenliang
        5
    owenliang  
    OP
       2017-11-15 18:10:24 +08:00
    @watzds 是,上学时 JAVA 同学好几本砖头。。。开发不一定都要理解,这就是 JAVA 重框架轻原理(是指不需要完全理解就可以做事)的一个现实。
    xiaoshangmin
        6
    xiaoshangmin  
       2017-11-15 18:10:48 +08:00 via iPhone
    @watzds 哈哈哈 同感
    abcbuzhiming
        7
    abcbuzhiming  
       2017-11-15 18:10:49 +08:00   1
    脚本语言的最大问题不是跨界能力,python 怎么不能跨界了?脚本语言的最大问题是,类型系统的太随意导致组织大项目的时候很成问题。


    @FanError spring boot 仅仅是把一堆 lib 组装起来,让你开箱就能立即跑起来个 http server,跟 node.js 的思路类似。但是你若真想搞出个能用的 web server,你还是要自己配置很多额外的东西的,而且 spring boot 的文件组织和打包方式和常见 jar,war 都不太一样,这里面是有坑的,我非常不推荐没自己搞定过一套 spring 架构配置的人上手就去弄 spring boot
    owenliang
        8
    owenliang  
    OP
       2017-11-15 18:11:58 +08:00
    @bramblex 虽然可以这么说,但是语言归根结底是一个程序员的标志,除非真的所有语言都号称精通,否则总会有一个日常代表性的主要使用语言。
    p2pCoder
        9
    p2pCoder  
       2017-11-15 18:12:30 +08:00
    java 终究还是 一门 面向对象的 语言,面向对象 还是为了解决工程问题方便
    owenliang
        10
    owenliang  
    OP
       2017-11-15 18:13:01 +08:00   1
    @abcbuzhiming 其实目前从大家选择 JAVA 的理由来看,重要的还是轮子和工具比较先进为主。 技术生产力的提升是企业的追求,国家的追求。
    ming7435
        11
    ming7435  
       2017-11-15 18:13:17 +08:00
    一切为了生活
    mikicomo
        12
    mikicomo  
       2017-11-15 18:13:51 +08:00
    不知道为啥...可能没写过别的语言的 web 项目,感觉 ssm 还好吧...编译原理贼 jb 难
    TakWolf
        13
    TakWolf  
       2017-11-15 18:14:18 +08:00
    不觉得 Java 学习陡峭
    不认为 Java 重框架轻原理,应该懂得东西还是要懂
    觉得跟语言没关系,其他语言也有相同的问题
    owenliang
        14
    owenliang  
    OP
       2017-11-15 18:15:16 +08:00
    @p2pCoder 其实目前绝大多数语言都是 OO,但是 JAVA 是一个各方面都比较均衡的语言,这一点可以拿 PHP,PYTHON 来做比较,就会发现 JAVA 无论是语言本身,还是围绕 JAVA 的工具链都是先进的,整个发展的力量很大。
    Wicked
        15
    Wicked  
       2017-11-15 18:21:31 +08:00 via iPhone
    @owenliang JAVA 落到 oracle 手里不是也逐渐消沉了么?
    Wicked
        16
    Wicked  
       2017-11-15 18:22:19 +08:00 via iPhone   2
    C++程序员笑而不语,每一次标准发布都要重新学语法
    jatesun
        17
    jatesun  
       2017-11-15 18:25:13 +08:00
    楼主说的我都想哭了→_→
    owenliang
        18
    owenliang  
    OP
       2017-11-15 18:31:29 +08:00
    @Wicked 语言迭代慢点对程序员是好事,但是框架迭代越来越快了。
    owenliang
        19
    owenliang  
    OP
       2017-11-15 18:31:51 +08:00
    @jatesun 乐观点,坚强。
    owenliang
        20
    owenliang  
    OP
       2017-11-15 18:32:13 +08:00
    @Wicked 我也搞 C++,表示自从工作语言不用 C++后已经不学新语法了。
    yanjinbin
        21
    yanjinbin  
       2017-11-15 18:44:58 +08:00
    你写的那坨 还比不过 Java 基础好的
    nicevar
        22
    nicevar  
       2017-11-15 19:04:15 +08:00
    这些东西了解要不了多长时间,以后变动不大,其实 Java 的 lib 还好管理,配置稍微麻烦点,个人觉得 Nodejs 的库更麻烦,你看一些开源项目一大堆人按照 readme 都跑不起来的
    owenliang
        23
    owenliang  
    OP
       2017-11-15 19:10:09 +08:00 via Android
    @nicevar nodejs 除了拿来 react 也就不用了,async await 完全不看好,拿什么和 golang 比。
    nicevar
        24
    nicevar  
       2017-11-15 19:10:09 +08:00
    @Wicked C++没你说的那么夸张,新标准出来很长时间才会普及用,很多公司都是四五年之后才用,写 10 年的话也就学两次,一次花的时间也就是几天
    CtrlSpace
        25
    CtrlSpace  
       2017-11-15 19:15:35 +08:00   4
    1 其它语言没有 Spring 全家桶这么牛逼的开源社区和解决方案。

    2 Android 转 Java Web 的路过,发现 Android 开发真的是性价比很高,同样是 Java 语言,但是难度更低,一样拿到高薪,而 Java Web 需要做的学的,远远超过 Android 同时期所需掌握的技术。

    3 但因为如此,Java Web 的天花板更高,进可大数据,退可 CRUD ←。←
    owenliang
        26
    owenliang  
    OP
       2017-11-15 19:17:43 +08:00 via Android
    @CtrlSpace 感谢分享。
    sammo
        27
    sammo  
       2017-11-15 19:19:27 +08:00
    我佩服所有程序员
    nl101531
        28
    nl101531  
       2017-11-15 19:20:02 +08:00 via Android
    我觉得对于 java 程序员是很容易掌握其他技能
    owenliang
        29
    owenliang  
    OP
       2017-11-15 19:22:13 +08:00 via Android
    @nl101531 在 web 这块 spring 肯定是楷模了。
    shijingshijing
        30
    shijingshijing  
       2017-11-15 19:23:07 +08:00
    @nl101531 学了 C/C++,其他语言一周上手。
    nicevar
        31
    nicevar  
       2017-11-15 19:24:42 +08:00
    @owenliang 其实 Java Web 也有比较好用的地方,比如配置好一套之后,后面的项目基本上就用这个模子,特适合小型公司和个人项目,发布也方便,现在配合 kotlin 连代码都能省了
    owenliang
        32
    owenliang  
    OP
       2017-11-15 19:25:33 +08:00 via Android
    @shijingshijing 有工作驱动应该没问题,我是 c++服务端,后来转做 PHP 增删改查和 golang,c++基本没机会用了,一些扩展场景 c 还能用到。
    owenliang
        33
    owenliang  
    OP
       2017-11-15 19:26:18 +08:00 via Android   1
    @nicevar 重点就是有模板,懂原理,然后就进入搬砖模式了。
    shijingshijing
        34
    shijingshijing  
       2017-11-15 19:36:52 +08:00
    @nicevar 你说的这个从技术上是正确的,但是现实是,很多小企业都是用 PHP。一是 PHP 门槛低,二是 java web 起码还得上个 tomcat 吧,这个对于很多 web hosting 或者 VPS 有点不现实。

    @owenliang 我上面那句,其他语言不包含汇编
    dobelee
        35
    dobelee  
       2017-11-15 19:57:14 +08:00 via Android   2
    这说明 php 是世界上最好的语言。
    abbenyyy
        36
    abbenyyy  
       2017-11-15 20:02:05 +08:00
    @CtrlSpace 大佬能说一下怎么转 Java Web 么,我也想转...现在卡在不知道如何在新的云服务器上面部署 SpringBoot 项目(就是一个新的 linux 怎么跑 SpringBoot 项目)..搜索了一下,很少人讲这个东西。
    luban
        37
    luban  
       2017-11-15 20:03:15 +08:00 via iPhone
    @abbenyyy 这个和 win 上差不多,就是注意下环境变量 jdk 路径
    loopback
        38
    loopback  
       2017-11-15 20:23:44 +08:00
    @abbenyyy #36
    Spring Boot executable jar
    HYSS
        39
    HYSS  
       2017-11-15 20:32:21 +08:00
    试试 PHP 的 Symfony?
    yinzhili
        40
    yinzhili  
       2017-11-15 20:34:54 +08:00
    @abbenyyy 本身 Spring Boot 应用就可以打包成一个巨大的 jar,只要配置好 JAVA_HOME 不就完事了吗。
    Actrace
        41
    Actrace  
       2017-11-15 20:36:26 +08:00
    语音编程的我笑着路过。
    CtrlSpace
        42
    CtrlSpace  
       2017-11-15 20:42:20 +08:00   1
    @abbenyyy 新机器,先搭建环境,git / jdk / maven / mysql / nginx 等。
    至于部署,有 jar 部署和 war 部署,搜一下应该都有说明吧。
    一般 jar 部署,添加 spring-boot-maven-plugin 这个 maven 插件,执行 mvn clean package,然后 target 文件夹就有个 jar 文件了。最后直接 java -jar xx.jar 运行就行了。(一般写到 shell 文件,方便管理)


    不知道你问的是不是这个。。。


    转 Java Web 的话,多看书,多看开源的 Java Web 项目吧,模仿他们的套路,以下刚撸的书

    ![]( )
    weics
        43
    weics  
       2017-11-15 20:42:51 +08:00   1
    springboot 抽象太高了,有很多暗坑
    nicevar
        44
    nicevar  
       2017-11-15 20:42:59 +08:00
    @shijingshijing 小型企业都是 php 是你的个人印象造成的,你如果去看一些侧面统计数据就知道了,采用 java 的小企业并不比 php 少并且在三四线城市逐渐有上升趋势,只能说偏向前端型的用 php 比较多,另外现在入门的 vps 跑个 tomcat 放小型网站没啥问题,只要访问量不是太大的话
    pq
        45
    pq  
       2017-11-15 20:47:40 +08:00
    相对来说,php 入门甚至到中级水准,都要容易得多,小白一周内就可以弄个 demo 出来。。。:D
    yuanfnadi
        46
    yuanfnadi  
       2017-11-15 20:54:16 +08:00 via iPhone
    @abbenyyy 直接 gradle build 以后,放在 docker 容器里面跑
    anmaz
        47
    anmaz  
       2017-11-15 20:57:28 +08:00 via Android
    最近在弄.net ,各种恶心,对于我这种半桶水的 java 来说,居然觉得 java 的 lib 库等等是真的好
    loveship
        48
    loveship  
       2017-11-15 20:59:51 +08:00
    鄙视所有动态语言,真 tm 竟然有这种废物语言还有人用?
    Infernalzero
        49
    Infernalzero  
       2017-11-15 21:25:29 +08:00   1
    Java 这一堆框架虽然很多都不需要了解原理就能拿来干活,但这也只保证了你能干点简单的活,要保证不踩坑以及做更进阶的开发对这些框架的了解是必须的
    gmywq0392
        50
    gmywq0392  
       2017-11-15 22:25:24 +08:00 via Android   1
    写 Java,大多是生计所迫啊。特别是 WEB。

    有看过这样的类比,大多数程序员工作时是用购物时的心态写的,阿这个我要,阿这个可以换成这个,阿这个颜色好像更搭,阿这个东东我到底需不需要,阿这样会不会太多了……

    编程的视野是受货架决定的。

    这里主要 Java 的超市比较大。比较大。而且实惠又耐用,逛的人自然多了就。

    但光会逛也不行呐,bug 们可都在超市门口等着呢。
    otakustay
        51
    otakustay  
       2017-11-16 00:10:59 +08:00   1
    你那是没见过 npm 动不动装上百个包的
    EagleB
        52
    EagleB  
       2017-11-16 00:20:09 +08:00 via iPhone
    kran
        53
    kran  
       2017-11-16 00:30:49 +08:00 via iPhone
    其实本身就没有区别,那些框架提供的解决方案你可以不用嘛。
    之前的一个项目,只用 jre 的 HttpServer,没有依赖,配置只是一个 json,如果你选择,完全可以很简单不是吗?
    jimisun
        54
    jimisun  
       2017-11-16 04:47:30 +08:00 via Android
    想哭了………这个点
    yaoliyc
        55
    yaoliyc  
       2017-11-16 07:51:20 +08:00 via iPhone
    @owenliang 所谓的面向对象或面向接口编程就是要求了解结果就行,不需要了解做了什么怎么做的。
    notreami
        56
    notreami  
       2017-11-16 09:15:52 +08:00
    就连 PHP,都有一大堆包和配置,那种靠前排名的 lib 和 conf 少呢?
    ren2881971
        57
    ren2881971  
       2017-11-16 09:18:45 +08:00
    怎么每天都有人来黑 java 一下。。哭了 。
    wuethan
        58
    wuethan  
       2017-11-16 09:44:04 +08:00
    .net 创业市场大,java 给人打工一辈子
    swim2sun
        59
    swim2sun  
       2017-11-16 09:50:04 +08:00
    程序最核心的还是对业务的抽象,就算你只用 servlet/filter 也是完全可以的,Java Web 给的选择是很多的。

    一上来就用 ssh 那一套肯定会懵逼,但是脱离这些还是可以写出 web 程序的,既然选择了使用框架,就不要吐槽配置多,这就是“框架”和“库”的区别。“库”是你告诉它要怎么做,“框架”是它告诉你要怎么做
    Tenma
        60
    Tenma  
       2017-11-16 09:51:29 +08:00
    @ren2881971 朋友,有的黑就说明生命力还强着呢,假如完全没有话题性的语言基本就已经被历史抛弃了……( PS:Android 开发)
    xxdd
        61
    xxdd  
       2017-11-16 09:57:50 +08:00
    @CtrlSpace 以后卖书记得 at 我 哈哈哈
    wangxiaoer
        62
    wangxiaoer  
       2017-11-16 10:02:19 +08:00
    @owenliang 要说重框架轻原理,当初的 asp webform 还是按照桌面交互方式做 web 开发呢,多少半吊子程序员连 get post 都分不清………… java web 那一套搞下来起码我觉得一些基础概念是逼着你掌握的
    ZiLong
        63
    ZiLong  
       2017-11-16 10:26:44 +08:00
    @CtrlSpace 我一直在等特种兵的下册
    qq292382270
        64
    qq292382270  
       2017-11-16 10:34:47 +08:00
    一切为了生存 ...
    asuraa
        65
    asuraa  
       2017-11-16 10:35:29 +08:00
    misaka19000
        66
    misaka19000  
       2017-11-16 10:35:48 +08:00
    哎,感觉 V 站最近这种垃圾帖子越来越多了
    TZ
        67
    TZ  
       2017-11-16 10:40:46 +08:00
    直接搬砖的水准是啥意思
    pqee
        68
    pqee  
       2017-11-16 10:58:57 +08:00
    在 Spring Boot 里写了几个网页我已经快吐血身亡了
    linus3389
        69
    linus3389  
       2017-11-16 11:17:51 +08:00
    node_modules
    quickma
        70
    quickma  
       2017-11-16 11:44:16 +08:00
    lib 和 conf 也就码农水平啦哈哈哈哈哈
    ren2881971
        71
    ren2881971  
       2017-11-16 12:18:59 +08:00
    @pqee spingboot 那玩意还是适合做 api 服务
    lfmy
        72
    lfmy  
       2017-11-16 14:43:35 +08:00
    c++码农飘过,个人比较喜欢学习和是使用各种工具和库、框架这种开发方式,并乐此不疲,并不喜欢自己造轮子( ̄ ̄)~*
        73
    njwangchuan  
       2017-11-16 15:03:36 +08:00   1
    Java 那是工作中专用语言,一般都用在需求严谨、人员充足、周期较长得项目中。公司给政府和企事业单位做得项目大多属于这种。

    招人角度,大学和培训机构都开设 Java 课程,无论是招人还是找工作。北上广,你可以招 nodejs,招 laravel,招 python,招 react。二线以后城市,你想招程序员,基本就只能是 java,iOS / Android 这种 JD。

    我本人 java 出身,除了刚毕业那一两年,现在折腾自己得项目,无论 web、移动端、数据采集、API 接口、数据分析,早就没有 java 位置了。等你 java 把框架磨合出来得时间,其他技术栈功能都写完了。。
    lzhCoooder
        74
    lzhCoooder  
       2017-11-16 15:04:22 +08:00
    真心佩服 C 程序员,完全没什么 lib 可以用,只能默默撸,学的时候感觉语法超级简单,用起来全是坑,可以称为使用曲线陡峭。
    hhh 反方向娱乐一下
    kenshinji
        75
    kenshinji  
       2017-11-16 16:38:57 +08:00 via iPhone
    @CtrlSpace 最后那张图真是高级黑
    kylaCpp
        76
    kylaCpp  
       2017-11-16 16:49:45 +08:00
    一个项目的好坏主要取决于架构的灵活
    而不是语言
    windyboy
        77
    windyboy  
       2017-11-16 16:51:41 +08:00
    java 很多轻量的做法

    sparkjava
    ratpack
    vert.x

    简单干净
    spring 依赖确实很多,即便是 spring boot
    hantsy
        78
    hantsy  
       2017-11-17 08:07:32 +08:00
    要依赖少,回传统 JavaEE 吧,一个应用下来可能几十 K 的一个 war 就行了,尽量全部使用标准,应用服务器自带规范实现,不用把这些标准实现依赖进行打包。

    用 Spring Boot 少则 50M,依赖多一点 100M 也不奇怪。
    hantsy
        79
    hantsy  
       2017-11-17 08:09:33 +08:00
    hantsy
        80
    hantsy  
       2017-11-17 08:12:29 +08:00
    像我 Github 上例子,https://github.com/hantsy/ee8-sandbox Hello World 级别,打包出来都是几 K 到十几 K。

    同样 Hello World 级别的用 Spring Boot 的例子,https://github.com/hantsy/spring-reactive-sample,打包出来差不多都在几十 M。
    hantsy
        81
    hantsy  
       2017-11-17 08:34:01 +08:00
    实话说,单纯的比较这些包的大小,依赖,对开发没任何意义。

    Java 开源生态环境是其他语言不能相比的,不管解决哪个方面的问题,都有找到一系列开源方案。

    配置方面不管 Spring Boot 还是其他(本来 Java EE 8 中有配置相关标准,后来取消了,但 Eclipse Microprofile 规范加入相关标准,Apache Deltaspike 项目也提供了灵活的配置方案),在 Java 中配置是相当灵活,不管是编译时配置( Maven Profile ),还是运行时配置( Spring @Profile )基本都是可以考虑到 SDLC (开发,集成 /测试,生产环境),可以很简单应用到不同环境。

    其他语言(我也有过 PHP,NodeJS 经验)似乎没这么方便。PHP PSR 在模仿 JSR 机制开始定制了一系列规范。

    Java 的规范,套路( Design Pattern )等,看起来都是低效,笨拙,。。但它非常适用于团队开发大型应用,非常适合长期维护的项目。

    曾经与一个几年经验的 .net 程序员接触,他的印象,怎么一个简单的功能一到 Java 为什么要那么多第三依赖库。我不明白的是,他作为一个 .net 程序员,现在 .net 也那么开放,他天天用到的只有 VS。工作中,很多的第三方库可以简化操作,更实现一些通用功能。比如,.net 也有一些优秀 jwt/oauth 认证开源项目,奇怪的他对于第三库一概不知,一概不用。
    tcpdump
        82
    tcpdump  
       2017-11-17 09:54:55 +08:00
    @hantsy 是的,生态很大,新入门配个 maven, xml 那些,还有环境,都可以搞几天了。
    misaka20
        83
    misaka20  
       2017-11-19 11:38:56 +08:00 via iPhone
    test
    cuiswing
        84
    cuiswing  
       2017-11-22 22:56:15 +08:00
    @CtrlSpace CRUD 你太搞了
    johnniang
        85
    johnniang  
       2017-11-29 09:23:44 +08:00 via Android
    Java 的设计模式很重要,如果能完全掌握二十多种设计模式,也就能写出很优雅的代码,复用性很强的代码,我想这就是我们程序员所要追求的吧,不管是什么语言
    abcbuzhiming
        86
    abcbuzhiming  
       2017-12-01 10:25:02 +08:00   1
    @johnniang 这句话我非常强烈的反对,我恰恰认为 java 在大多数时候,要避免谈 xx 设计模式,因为绝大部分人的 java 项目根本就不大,开始就谈什么复用,很容易陷入过度设计的泥坑里,几年前 java 被批判就是因为这个,后来诞生了一大批轻量级框架都在降低设计的复杂度。而且。我真心不觉得基于 Simula67 学派的面向对象体系谈的上优雅,基于这种思想搞出来的,稍微大一点的项目,没有 uml 类图做指导,压根就看不懂他们写的东西。代码这东西,可阅读性应放在第一位,因为代码是一次编写,多次阅读的
    /td>
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4935 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 09:05 PVG 17:05 LAX 01:05 JFK 04:05
    Do have faith in what you're doing.
    ubao msn 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