小公司同学们来分享一下你们在用,但大公司可能不会采用的技术吧 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
qq1340691923
V2EX    程序员

小公司同学们来分享一下你们在用,但大公司可能不会采用的技术吧

  •  
  •   qq1340691923 2021-12-17 09:32:18 +08:00 16283 次点击
    这是一个创建于 1461 天前的主题,其中的信息可能已经有所发展或是发生改变。
    123 条回复    2023-07-24 15:51:10 +08:00
    1  2  
    oyasumi
        1
    oyasumi  
       2021-12-17 09:34:32 +08:00 via Android
    dbflute
    agagega
        2
    agagega  
       2021-12-17 09:38:01 +08:00 via iPhone   2
    rails
    teem
        3
    teem  
       2021-12-17 09:41:42 +08:00
    ACTFramework
    jyeeren
        4
    jyeeren  
       2021-12-17 09:41:51 +08:00
    @agagega rails 的开发体验还是很不错的,可惜都没什么人用了
    MoYi123
        5
    MoYi123  
       2021-12-17 09:44:59 +08:00   17
    服务器 cpu 负载太高了, 解决方案不是优化代码,而是在关键处加上 time.sleep.
    sagaxu
        6
    sagaxu  
       2021-12-17 09:45:23 +08:00 via Android   9
    1. 直接登生产环境改 PHP 代码,人肉跑脚本
    2. 2017 年初用 Kotlin 重构服务端
    3. 2018 年 SpringBoot 重构到 Vertx
    4. 2019 年异步回调重构到协程

    2 3 4 全程没有测试参与,也没有 unit test ,基本没有因此产生 bug
    qq1340691923
        7
    qq1340691923  
    OP
       2021-12-17 09:46:19 +08:00
    @MoYi123 哈哈,time.sleep,看来是用的 go 语言
    qq1340691923
        8
    qq1340691923  
    OP
       2021-12-17 09:49:20 +08:00
    @sagaxu 我去过的用 php 的公司都曾经生产环境直接改过代码,即使是大公司的 bff 层的 phper 也偷偷这么改过,虽然他事后被组长说了一顿
    qq1340691923
        9
    qq1340691923  
    OP
       2021-12-17 09:50:41 +08:00
    @jiangwenwenmodes 至少这次 log4j 危机你们躲过去了
    HHAO2019
        10
    HHAO2019  
       2021-12-17 09:51:32 +08:00
    云效 devops
    txwd
        11
    txwd  
       2021-12-17 09:52:50 +08:00   4
    生产环境修改代码,修改数据库
    aladdinding
        12
    aladdinding  
       2021-12-17 09:53:24 +08:00
    生产环境直接改代码修 bug
    lxfxf
        13
    lxfxf  
       2021-12-17 09:56:34 +08:00
    前公司,用 ScalaCss ,ScalaJS 。然后我只能辞职了
    KevinQi
        14
    KevinQi  
       2021-12-17 09:56:34 +08:00
    jfinal 框架,大公司应该用的是 springboot 吧
    LinkinLaw
        15
    LinkinLaw  
       2021-12-17 09:56:46 +08:00   27
    用微信 QQ 等社交软件直接互传代码,再用文件比对软件合并代码,以达到合作开发的目的。
    cyy564
        16
    cyy564  
       2021-12-17 09:56:47 +08:00
    flask ,应该没有大厂会用 python 写 web 了吧
    itechnology
        17
    itechnology  
       2021-12-17 10:03:18 +08:00
    Java ,前公司,不用持久化框架,用原生 jdbc 来操作数据库,美名其曰数据量少,用不着持久化框架,然后我们就得手动写 SQL+手动开启和释放事务
    3dwelcome
        18
    3dwelcome  
       2021-12-17 10:06:03 +08:00
    用长连接写交互式网页,技术选型可以为所欲为。

    大公司正常写网页,至少要写个 form 让浏览器去提交。我喵的全部长连接 websocket 内搞定。
    3dwelcome
        19
    3dwelcome  
       2021-12-17 10:09:14 +08:00   4
    大公司正常写网页,至少有个 json 对象。

    嗯。我首创无 json 写网页,完全没一个 json 对象。核心对象全部二进制流加密传输,应该是前无古人,后无来者了。
    qq1340691923
        20
    qq1340691923  
    OP
       2021-12-17 10:12:20 +08:00
    @3dwelcome 没,我之前看 thinkingdata 也是这么做的
    xwhxbg
        21
    xwhxbg  
       2021-12-17 10:12:36 +08:00   1
    erlang ,其实写通讯类服务用 erlang 还是很爽的,它的 gen server ,sup 和 statem 机制很容易把业务解耦和抽象,只是性能和各方面已经渐渐比不上现在的主流 rust 和 c 了
    纯函数式的上手难度还是略大一点,想要找接盘侠确实不容易
    Mistwave
        22
    Mistwave  
       2021-12-17 10:12:37 +08:00 via iPhone
    @lxfxf 哈哈哈哈哪家这么勇?
    qq1340691923
        23
    qq1340691923  
    OP
       2021-12-17 10:13:30 +08:00
    @3dwelcome 不过他们应该是需要实时获取后台数据分析的进度,所以才用的 websocket
    sarices
        24
    sarices  
       2021-12-17 10:14:48 +08:00
    ftp 上去生产环境修改 PHP 代码,使用 phpmyadmin 登录数据库修改
    ajax 聊天室
    使用 Dreamweaver 写 php+html 结合的页面,网页布局用 table 一把刷
    qq1340691923
        25
    qq1340691923  
    OP
       2021-12-17 10:15:15 +08:00
    @xwhxbg 挺多游戏服务器用 erlang 的,我现在在的这家游戏公司,以前也是用的 erlang ,这两年转的 golang
    3dwelcome
        26
    3dwelcome  
       2021-12-17 10:16:56 +08:00
    @qq1340691923

    “ 没,我之前看 thinkingdata 也是这么做的”

    我是 WASM+WebSocket ,由于 WASM 可以做到操纵 DOM ,所以甚至可以不写 Javascript ,也就不需要 JSON 。

    这种技术栈也就是小公司能用用,已经完全脱离传统前端开发的概念了。
    pigspy
        27
    pigspy  
       2021-12-17 10:17:29 +08:00
    @xwhxbg hhh ,我也很喜欢 erlang
        28
    so1n  
       2021-12-17 10:19:40 +08:00
    日志通过 syslog 传到一台机器 然后用 awk grep 之类的命令查询
    7gugu
        29
    7gugu  
       2021-12-17 10:20:01 +08:00
    @3dwelcome 说不定是 fulture ,因为这样子就可以增加前端数据安全了
    zh6335901
        30
    zh6335901  
       2021-12-17 10:20:26 +08:00
    .net core orleans
    7gugu
        31
    7gugu  
       2021-12-17 10:20:35 +08:00
    @3dwelcome 有 demo 可以学习一下吗?很好奇效果是怎么样子的。
    qq1340691923
        32
    qq1340691923  
    OP
       2021-12-17 10:24:55 +08:00
    @so1n 为啥不用 efk
    sheffield
        33
    sheffield  
       2021-12-17 10:26:54 +08:00   2
    编辑 excel 文件,每个人轮流改完发到微信群一次,然后我的文件目录下面全是(1)(1)(1)(1)(1)(1)(1)(1).xlsx
    goldenalex
        34
    goldenalex  
       2021-12-17 10:28:27 +08:00   17
    只要大叫技术人员名字就能叫来的技术支持。。。
    so1n
        35
    so1n  
       2021-12-17 10:2:36 +08:00
    @qq1340691923 elk 集群要钱啊 而且就几个人看
    bruce0
        36
    bruce0  
       2021-12-17 10:35:06 +08:00   2
    生产环境直接人工修改数据库, 大公司估计不会这么干吧,估计开发也没权限
    DT37
        37
    DT37  
       2021-12-17 10:39:27 +08:00
    @sagaxu 巧了一模一样,难道是同事?
    ericls
        38
    ericls  
       2021-12-17 10:41:15 +08:00 via iPhone
    elm, elixir
    rb6221
        39
    rb6221  
       2021-12-17 10:42:12 +08:00
    几年前的一家,还在用 eclipse+oracle+extjs
    Chism
        40
    Chism  
       2021-12-17 10:42:44 +08:00
    入职第一年没有年假,入职第 11 个月公司改主体重新签合同,年假要再等一年才给(真人真事),这算老板的技术吧
    qq1340691923
        41
    qq1340691923  
    OP
       2021-12-17 10:44:25 +08:00
    @janus77 除了 extjs ,其他两个挺正常的吧
    delectate
        42
    delectate  
       2021-12-17 10:47:27 +08:00
    vb
    qW7bo2FbzbC0
        43
    qW7bo2FbzbC0  
       2021-12-17 10:50:36 +08:00
    @zh6335901 #30 没有用过 orleans ,我使用的 consul + health 接口完成注册访问,一个 Internal 包保存互访方法和接口定义,看了下 orleans ,没太明白怎么实现注册发现
    crazypig14
        44
    crazypig14  
       2021-12-17 11:09:29 +08:00
    @sarices 我上次这么干还是北京奥运会之前
    Bigglesworth
        45
    Bigglesworth  
       2021-12-17 11:13:37 +08:00
    之前用 JSP 写前端,有的需求还得按客户给的图还原出来
    codingbear
        46
    codingbear  
       2021-12-17 11:13:50 +08:00
    @HHAO2019 我怀疑你和我是同事,不知坐标深蓉杭哪里
    krapnik
        47
    krapnik  
       2021-12-17 11:14:54 +08:00
    eval 注入执行逻辑,性能去 tm
    kensoz
        48
    kensoz  
       2021-12-17 11:22:33 +08:00   7
    敏捷开发:开发一把梭,扔到服务器里能用就行,让用户测试
    高效迭代:从来不写文档,从不区分环境,从不优化,部署后开始写设计书
    分支集中管理:所有人用一个 branch ,不让新建
    数据高效管理:拷贝到优盘里坐地铁送给客户
    见证历史:cobol ,早期 java 版本,vue1 ,windows98
    FallenMax
        49
    FallenMax  
       2021-12-17 11:29:37 +08:00   1
    前端,个人,开发爽上天但无法推广到大公司的技术:

    - 前后端都用 Javascript ,一个代码仓库,代码和类型共用。
    - 前端代码通过 rpc 调用(封装 http 请求)访问后端方法,后端接口类型变更可以触发前端类型错误。
    - 部署用 rsync 增量传输,用 yarn 增量安装,秒级更新上线
    - git 提交信息一般只写一个字母

    不正规但爽
    MoYi123
        50
    MoYi123  
       2021-12-17 11:31:16 +08:00
    @xwhxbg erlang 24 新的 jit 性能怎么样? 我已经从 erlang 转 go 了,不太清楚.
    gesse
        51
    gesse  
       2021-12-17 11:33:04 +08:00
    @MoYi123
    > 解决方案不是优化代码,而是在关键处加上 time.sleep.

    谁说大公司不用? 我觉得苹果在 IOS 上就经常用。
    viator42
        52
    viator42  
       2021-12-17 11:37:39 +08:00 via Android
    一个商城 app 的后端用 WordPress 搭建,各种功能都是插件解决
    SWALLOWW
        53
    SWALLOWW  
       2021-12-17 11:38:40 +08:00
    .net
    codingbody
        54
    codingbody  
       2021-12-17 11:39:13 +08:00
    @MoYi123 #5 如果某个线程当前没有要处理的任务,要怎么处理呀?我是 sleep 把 cpu 让出去。
    hb1988
        55
    hb1988  
       2021-12-17 11:42:32 +08:00
    混合 app 开发技术: ionic3 ,估计绝大数前端都没听过。
    MoYi123
        56
    MoYi123  
       2021-12-17 11:44:01 +08:00
    @codingbody

    erlang 代码,可能和你理解的有些差别.
    erlang 里正经的做法可以参考 rabbitmq 的 gen_server2 里的休眠策略.
    https://github.com/rabbitmq/rabbitmq-server/blob/master/deps/rabbit_common/src/gen_server2.erl
    codingbody
        57
    codingbody  
       2021-12-17 11:54:03 +08:00
    @MoYi123 #56 看不太懂,大概的意思是不是使用 loop,而是采用类似 notify 的方式吗?
    scr
        58
    scr  
       2021-12-17 11:59:12 +08:00   6
    生产环境开 IDE 断点调试。
    pckillers
        59
    pckillers  
       2021-12-17 12:15:06 +08:00
    部署时使用 MobaXterm 的 MutiExec 功能,同时在 8 台服务器上敲命令更新代码。
    chengyunbo
        60
    chengyunbo  
       2021-12-17 12:27:43 +08:00
    @MoYi123 大公司也在 sleep
    liyhu
        61
    liyhu  
       2021-12-17 12:34:08 +08:00
    svn ,用 root 账号部署
    vstar
        62
    vstar  
       2021-12-17 13:04:45 +08:00
    ios 马甲包
    CasualYours
        63
    CasualYours  
       2021-12-17 13:11:40 +08:00   1
    经常登录生产服务器替换文件,以及改生产数据库...
    KouShuiYu
        64
    KouShuiYu  
       2021-12-17 13:22:01 +08:00
    @3dwelcome 我想问一下是只用一个 WebSocket 链接吗?所有的数据传输用 json ,解析不同类型用不同的事件监听触发?
    Protocol
        65
    Protocol  
       2021-12-17 13:32:49 +08:00
    易语言
    abersheeran
        66
    abersheeran  
       2021-12-17 13:37:13 +08:00
    在用 index-py(hintapi)、cool 、mingshe ,这三玩意肯定是没大公司用的
    Charod
        67
    Charod  
       2021-12-17 13:37:55 +08:00
    @hb1988 前几年很多人用
    chenmobuys
        68
    chenmobuys  
       2021-12-17 13:45:14 +08:00
    @FallenMax Git 提交信息是给你自己看的,到时候难受的还是自己
    JadeLove
        69
    JadeLove  
       2021-12-17 14:06:43 +08:00
    @KevinQi #14 之前呆的一家也是用的 jfinal ,写的时候还挺爽,维护真头大
    luckyc
        70
    luckyc  
       2021-12-17 14:08:30 +08:00
    microsoft access
    luckyc
        71
    luckyc  
       2021-12-17 14:10:30 +08:00
    自动编译用 java 写的, 检出提交人提交的 svn 路径内的代码, 再执行代码内的 bat 编译, 编译好之后上传结果.
    嘎嘎嘎
    patrickl
        72
    patrickl  
       2021-12-17 14:20:21 +08:00
    crontab + pgdump 备份。scp/lrzsz 上传包。远程服务器命令行 /reboot 重启服务。
    kennnnnnnnnnn
        73
    kennnnnnnnnnn  
       2021-12-17 14:32:15 +08:00
    qt
    lvma0shu1gua1
        74
    lvma0shu1gua1  
       2021-12-17 14:39:03 +08:00
    svelte
    wupher
        75
    wupher  
       2021-12-17 14:39:23 +08:00
    groovy / GORM 其实就是把 GRails 嫁接到 spring boot 上。
    component
        76
    component  
       2021-12-17 14:41:03 +08:00   20
    压力测试靠公司人工同时点鼠标
    chenyu8674
        77
    chenyu8674  
       2021-12-17 14:48:08 +08:00   1
    徒手画饼,全民全栈
    Mirachael
        78
    Mirachael  
       2021-12-17 14:48:13 +08:00
    @component 哈哈哈
    Mirachael
        79
    Mirachael  
       2021-12-17 14:50:55 +08:00
    cordova 用于打包 Phaser3 开发的游戏为混合应用
    kazarin
        80
    kazarin  
       2021-12-17 14:51:37 +08:00
    NestJS
    xwhxbg
        81
    xwhxbg  
       2021-12-17 14:57:13 +08:00
    @MoYi123 没有实测,不过 24 默认不带 beam 了,都是 native 估计性能能提升不少
    qq1340691923
        82
    qq1340691923  
    OP
       2021-12-17 15:41:02 +08:00
    @kazarin nestjs 挺好的啊,nodejs 中的 spring
    3dwelcome
        83
    3dwelcome  
       2021-12-17 15:56:37 +08:00
    “我想问一下是只用一个 WebSocket 链接吗?所有的数据传输用 json ,解析不同类型用不同的事件监听触发?”

    对于各种表单展示,只用一个 websocket 基本上够用了。只有上传大文件的时候,估计会另外开一个。

    然后 websocket 走的是私有协议,加上 WASM 可以随便处理二进制,所以是不是 json 已经完全不重要了,和服务器交互的备选数据格式有很多。
    easylee
        84
    easylee  
       2021-12-17 15:59:15 +08:00
    @sagaxu 2/3/4 太香了
    kazarin
        85
    kazarin  
       2021-12-17 16:00:20 +08:00
    @qq1340691923 但是公司会用的情况并不多。如果 JS 一把梭而且前端是 vue 或者 react ,没理由不用 Nuxt 或者 NextJS ;如果不是想要全栈 JS 一把梭就是单纯写个 API ,在 Golang/Java/Python/JS/TS 之间选 TS 的比例能有多大;就算是认定了只用 TS 写个后端服务和 API ,我同事也是觉得 Express 足够好用而且也用惯了没什么理由用 NestJS 。我这项目刚开始的时候是我单人开发的所以才用了 NestJS ,后来为了保下来不重写简直一把辛酸泪……
    gowk
        86
    gowk  
       2021-12-17 16:03:37 +08:00
    @LinkinLaw 卧槽,2021 年了……
    fisherwei
        87
    fisherwei  
       2021-12-17 16:05:59 +08:00
    因为历史遗留问题,汽车之家用 .net + sql server ,不过已经很少了
    sks4728
        88
    sks4728  
       2021-12-17 16:19:01 +08:00
    .net6
    lllllliu
        89
    lllllliu  
       2021-12-17 16:34:45 +08:00
    - - ThinkPHP
    m1ch3ng
        90
    m1ch3ng  
       2021-12-17 16:45:29 +08:00
    loki+grafana
    xiaowangge
        91
    xiaowangge  
       2021-12-17 16:52:06 +08:00 via iPhone
    vert.x
    aurtech
        92
    aurtech  
       2021-12-17 16:55:37 +08:00
    flutter ,顺便求一名 flutter 开发工程师啊~在深圳的
    declandragon
        93
    declandragon  
       2021-12-17 17:25:47 +08:00
    宝塔运维,人肉浏览器 FTP 发布,线上改代码是经常的事
    Maiiiiii
        94
    Maiiiiii  
       2021-12-17 17:29:53 +08:00
    修复好的 zip 不重命名直接替换到线上,再手动刷 cdn
    Maiiiiii
        95
    Maiiiiii  
       2021-12-17 17:31:14 +08:00
    国内裸连越南服务器 ftp ,2kb/s 速度传文件
    AmaQuinton
        96
    AmaQuinton  
       2021-12-17 17:31:39 +08:00
    某银行柜面系统, spring/struts2/ hibernate + Oracle + JSP, 甚至可以看到 08 年的代码
    binhb
        97
    binhb  
       2021-12-17 17:37:49 +08:00
    @chenyu8674 #77 哈哈哈 给整笑了
    Maiiiiii
        98
    Maiiiiii  
       2021-12-17 17:49:54 +08:00
    一个老哥前后端一把梭,所有的请求都携带全部流程需要用到的三四十个参数,还全 tm 是拼音缩写,没有文档
    f360family123
        99
    f360family123  
       2021-12-17 18:17:50 +08:00
    @hb1988 ionic 不是用的人也很多吗
    f360family123
        100
    f360family123  
       2021-12-17 18:21:11 +08:00
    在用 react-query ,不知道大公司用不用
    1  2  
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 47ms UTC 13:17 PVG 21:17 LAX 05:17 JFK 08:17
    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