首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
宝塔
V2EX  ›  程序员

工作快一年的程序员,应该如何摆脱 CRUD?

  •  
  •   Keppel · 69 天前 · 7819 次点击
    这是一个创建于 69 天前的主题,其中的信息可能已经有所发展或是发生改变。

    平时每天下班回去会晚上看一个小时书,不过由于没有实践的关系记忆不深刻,看视频感觉太浪费时间。 我应该如何高效的成长?

    86 回复  |  直到 2019-09-16 09:56:58 +08:00
        1
    z550665887   69 天前
    跳槽 or 找领导申请非 CRUD 工作
        2
    wunonglin   69 天前   ♥ 1
    这不是基础么?最好自己给自己布置项目才能有提升,依赖公司做的东西是肯定不够的
        3
    Keppel   69 天前
    @z550665887 明年年初打算去试试水,我也参与过面试,面过几个三四年的感觉还不如我。。。
        4
    mynamewang0   69 天前
    我也有同样的困惑,希望大佬指明路。
        5
    Keppel   69 天前
    @wunonglin 我一直想自己做个小东西,但是感觉自己不知道怎么设计一个应用
        6
    omniversia   69 天前
    我都快四年了照样大部分工作内容还是 CRUD,但是我还同时做前端工作。如果深度感觉不合适或者暂时没动力,我觉得你可以试试提升广度。比如学前端,跟领导申请比如,弄大数据,爬虫或者其他语言工作。业余时间可以找找有没有自己感兴趣的技术方向之类的。有一本书叫《软件开发者路线图》我觉得可以翻翻试试。不过话说回来我觉得一年的话可以学和做的事情还是挺多的。往上也有很多学习路线可以参考。我个人主要还是跟着书籍学习,视频觉得太慢,博客知识太散,质量不一,官网文档有点像技术手册,不太合适初学入门,只适合参考和补充。
        7
    areless   69 天前
    告诉你一个秘籍,不使用数据库
        8
    Keppel   69 天前
    @omniversia 嗯,谢谢,我平时也是看书,但是看完感觉就是看完了,没记住太多内容, 你平时看书是怎么记住书中的内容的呢? 学习前端的话,是有这个想法,感觉自己做个小玩意前后端都自己写的话感觉能提升很多
        9
    omniversia   69 天前   ♥ 1
    @Keppel 边学边用用导图总结,比如 xmind 或者 mindmaster,特别是那些学了很难或者不能致用的知识。然后我说的那本《软件开发者路线图》里也提过,多分享,多记录自己的学习经历是有好处的。我觉得 1 年左右这本书很适合看看的。
        10
    ackfin01   69 天前
    同问,工作快四年的程序员,应该如何摆脱 CRUD ?
        11
    yidinghe   69 天前
    自己想办法将工作自动化,减少工作量,这样才能摆脱 CRUD
        12
    wunonglin   69 天前   ♥ 1
    @Keppel

    #5 比如我前端的,我看 mac 上没有喜欢的音乐播放器,pc 上虽然有 foobar2000,但是 mac 版本实在是鸡肋,所以我自己基于 electron+angular+dexie.js 写了个本地音乐播放器,现在能实现播放列表、文件添加删除,音乐 meta 信息解析,下一步准备做歌词解析,如果没有合适插件那就自己写正则解析。

    所以我可以通过这个项目来积累 angular 的经验,新学习了 electron,新接触了 IndexedDB,还准备接触令人崩溃的正则。所以要自己给自己布置需求才行
        13
    tabris17   69 天前
    该行当前端
        14
    Keppel   69 天前
    谢谢前辈,我尝试去总结学习历程到博客上
        15
    Keppel   69 天前
    @wunonglin 明白了,谢谢
        16
    hkitdog   69 天前 via iPhone   ♥ 1
    做底层活。写游戏脚本。做外挂比 CRUD 爽很多
        17
    Droi   69 天前
    我是看到了草莓果酱 ox 头像进来的。不想 CRUD 那就看看源码呗。sqlite 源码 编译原理 LEMON 语法分析生成器。很枯燥。
        18
    dadieshaonian   69 天前
    没字幕的视频我开 2.5 倍速,有字幕的 3 倍速,感觉和看书效率差不多。。
        19
    StarkWhite   69 天前
    可以用 Facebook 的 GraphQL 自动解决一些接口问题,腾出时间干别的事情
    https://www.v2ex.com/t/589138?p=1
        20
    zjsxwc   69 天前
    不想做后端 crud 的话,
    当然是写前端调 css 了,

    233333
        21
    lolizeppelin   69 天前
    能啃下 openstack 包你脱胎换骨,比现在强一大截
        22
    murmur   69 天前
    CURD 我认为比前有挑战,当然是纯前端,计算机图形学、艺术、3d 建模这些不算
        23
    xkeyideal   69 天前   ♥ 2
    工作第一年领导只分配你做 CURD 的任务很正常,想提升还是靠自己。

    1. 是不是你做的所有项目都仅仅只有 CURD 的功能,如果还有其他高级功能,能不能去读一下同事的代码,了解别人的编程思想,了解整个项目的架构思想,从而提升自己
    2. 项目使用的相关技术,深入了解,读一遍源码,优质的源码多读几遍
    3. 思考一下,整个项目如果自己来设计会怎么做,能否用更好的架构,获得更好的功能和性能,为此付诸实践,写个 demo 验证自己的想法
    4. 找准机会,把自己的思想真实的付诸实际项目中,成功后回报会很大,在此之前需要很多技术储备

    等等,提升的方式有很多,自己要懂得思考,不是一味的询问别人如何提升

    另外补充一下,虽然工作了,还是要多了解算法,关键时候很有用
        24
    geekdocs   69 天前
    工作 2 年了,才开始 CURD。。。
        25
    sunny1688   69 天前
    应用层还想咋样
        26
    Keppel   69 天前   ♥ 1
    @xkeyideal 谢谢,我们目前做的是一个积分平台,我负责的是管理端的功能,我们这个项目比较有技术的就是规则那一块,我经常会看我们组的一个大佬的代码,模仿他的风格,现在感觉也提升不少。
    源码的话感觉没有注释看不太懂,不知道从哪里切入去看,现在用的技术比较主流,就像你说的用的太浅,看来自己需要深入,但是还是需要实践,算法的话打算要看,但是不知道优先级是钻研算法还是深入学习框架。
        27
    Keppel   69 天前
    @geekdocs 那你之前干嘛
        28
    taogen   69 天前 via Android
    把基础学好,修炼内功。其它的看官方文档一把梭。参考计算机基础书单 https://github.com/tagnja/resources-of-learning/blob/master/%23cs-foundations.md
        29
    12tall   69 天前
    写一个拜托 curd 的轮子啊
        30
    xkeyideal   69 天前
    @Keppel 啥,看代码还要注释?我英语不行,有注释我也看不懂,代码非常细节才需要注释。
    第一遍读源码是了解架构思想,第二遍读源码是了解核心部分的功能实现,能否移植到自己项目中,第三遍读源码是纠结下核心部分为什么要这么写,能改的更好么?第四遍读源码,第五遍读源码 .....

    另外发现一点,很多人都喜欢深入学习框架的使用,暂能不能学学如何写框架
        31
    x7395759   69 天前
    摆脱不了,对不起
        32
    wangkun025   69 天前
    我都六年了。
        33
    Keppel   69 天前
    @xkeyideal 可能自己太菜了,我看 HashMap 的 putVal 方法看的有点晕,一堆 ifelse,你说的是对的吧,我想看看 Spring 的源码,但是不知道从哪切入
        34
    StarkWhite   69 天前
    @12tall ORM 库? Prisma 还不错,可以搭配 GraphQL 来用
        35
    xkeyideal   69 天前
    @Keppel HashMap 都看不懂,说明算法功底欠缺,我不会 Java,此类 HashMap 都带自动扩容和缩容策略,那么怎么操作,怎么解决 hash 碰撞问题,同时还要解决并发安全,这些都是很基础的知识,看这个都吃力的话,那你需要沉淀的东西还很多。提升是需要时间,不要着急,切记今天一个想法,明天一个想法。
    可以先从中上层开始,跟着项目去思考架构和代码思想,从代码思想去了解实现逻辑和需要算法,用到哪些补哪些
        36
    0xljh   69 天前
    我 5 年了,都还没摆脱
        37
    geekdocs   69 天前
    @Keppel 前端~
        38
    akira   69 天前
    整天写 crud 很烦 >>> 痛点

    写一个提升 写 crud 效率的工具 >>> 解决痛点
        39
    Beeethoven   69 天前
    @yidinghe 工作中的 crud 基本都是结合实际工作项目逻辑的 crud 同一个类两个方法逻辑可能差非常多 虽然结果概括出来都是 crud

    请问这种时候写一些什么工具或者逻辑能更自动一些呢?例如 java 那种 mybatisHelperPro 类的插件,算是个类似的工具吧,我就觉得基本没用,安上去从来没用过
        40
    Keppel   69 天前
    @xkeyideal 嗯,你说的是,因为我不是科班出身的,所以对算法很不熟悉,看来自己需要平时多补补基础了。
    感觉自己最近太浮躁了,还是要踏踏实实的脚踏实地的学习基础
        41
    airfling   69 天前
    不如转职做外卖?
        42
    ymz   69 天前
    @omniversia 大佬各种中间件如何有效学习呢。因为公司项目对有些中间件没用到,自己写些小 demo 觉得会用了,但是跳槽面试的时候都是要根据具体项目问的,这个要怎么解决呢大佬。
        43
    ymz   69 天前
    @geekdocs 怎么转后端了
        44
    omniversia   69 天前
    @ymz 最有效的方式是换更合适的团队和合理跳槽。其次是针对面试常见问题去准备,没用过至少让别人觉得你基础不错,也是可以的。
        45
    ymz   69 天前
    @omniversia 都说现在行情不好 然后就不敢随便辞职了 ....
        46
    charlie21   69 天前 via iPhone
    检查自己是否发自内心地讨厌 CRUD:
    给你月薪一百万,让你做一辈子 CRUD 你做不做?

    你答做,那就是没有技术追求。既然没有技术追求,那么就一辈子做 CRUD 就好了嘛,做到 顶级 CRUD boy 也可以月薪一二三四五万的

    那些没有技术追求的人呢 老老实实做 CRUD 就好了。

    如果你的回答是:给我月薪一百万让我做 CRUD 老子也不做,那么你还是一个可塑之才 ...

    -
        47
    s2555   69 天前
    赶紧上位当领导,让下面的人 crud
        48
    jorneyr   69 天前
    Hibernate, MyBatis 都是 CRUD 发展来的,同一个世界,在不同人眼里却是不同的世界。
        49
    snail00   69 天前
    曾经公司有个古老的项目, 单纯的 CRUD 和业务代码, 接任者也在之前的基础上写 CRUD.

    直到一个人重构了这个项目, 各种一句话代码, 大量的抽象 /泛型 /反射, 秀到飞起.

    上手慢了一些, 熟悉了之后接口开发很快.
        51
    cwjokaka   69 天前
    好像只有改前端了
        52
    omniversia   69 天前
    @ymz 我觉得不要听别人说,得自己投投试试,有机会集中约一个时间去一起面面,如果你不介意其他城市,那么机会更多,如果上班不是 996,可以多用空余时间,针对面试准备一下相关知识。
        53
    wpf375516041851   69 天前
    1.工作一年,还很年轻,"要性" 很重要,要结果,要影响力,要钱,不要怕,失错是第一步
    2.多尝试,多思考,尝试自己带一个项目,思考某一块落地代码是否有进步空间
    3.学会拒绝,拒绝需求,拒绝垃圾信息
    4.让自己成为精炼的人,技术在一个领域达到顶尖,业务上有自己的见地和前瞻性,莫要三心二意
        54
    omniversia   69 天前
    @ymz 不要听别人说,得自己投投试试,有机会集中约一个时间去一起面面,如果你不介意其他城市,那么机会更多,如果上班不是 996,可以多用空余时间,针对面试准备一下相关知识。
        55
    wpf375516041851   69 天前
    @wpf375516041851
    有个好的领路人很重要,程序员不仅仅是代码
        56
    ymz   69 天前
    @omniversia 嗯 谢谢
        57
    BubbleNoodle   69 天前
    CRUD 怎么了?我工作 8 年了还是 CRUD。
        58
    fxxwor99LVHTing   69 天前   ♥ 1
    @Keppel 看 spring 源码,我的体会是可以从‘设计模式’切入,也就是先熟悉一下设计模式,可以结合‘spring 框架高级编程’这本书,虽然这书讲的是 spring1.2.x,但是 spring 发展至今,很多思想 /原理是没有多大改变的,甚至你会发现整体的代码结构都是差不多一致的,而且这本书可是 spring 框架的作者写的!
    所以,书籍推荐:
    0. 《设计模式:可复用面向对象软件的基础》,之所以需要熟悉设计模式,是因为这样你可以从高一点的层次看懂 spring 代码的设计 /结构思想,而不是一开始就陷入复杂的代码逻辑中。有很多讲设计模式的书,强烈推荐这本。
    1. 《 spring 框架高级编程》
    再分享一下我一直使用的 maven 网站 /仓库
    http://mvnrepository.com/
        59
    masker   69 天前 via Android
    写前端
        60
    Amance   69 天前
    别好高骛远行么,CRUD 看不起是么?看看 CRUD 怎么实现的,别没事出来装
        61
    xuanbg   69 天前
    楼主这个理想的实现难度几乎是难比登天。。。谁能不写点 CRUD 呢?林纳斯的 Linux 内核代码里面都有 CRUD !
        62
    loryyang   69 天前   ♥ 12
    上面讲怎么提高技术的都是理想主义者。我来点实际的吧(以下优先级和顺序无关):
    1. 提升人脉,多结识比你优秀的人。一是向他们学习,二是以后方便内推,三是你如果成长很快,表现好,他可能以后会带上你一起发展
    2. 多总结工作,提取工作中的难点,自己的闪光点。别觉得 CRUD 就没亮点,任何困难都有其特点,任何解法都有其优劣,重点是你能体现出你和别人不一样的地方,体现出你思考了,你的方案是特定场景下的一个好方案。具体的就不多说了,看悟性和第三点的执行力了
    3. 多面试,知道更好的公司需要的是你的什么能力,面试考察的是什么。回来多多反思,落实到工作中去。跳槽就如打怪练级,你在现公司打怪,跳槽就如升级。不是一次就升到 BAT,是一次次慢慢上去的
    4. 多培养非技术能力,以你现在的起点,纯吃技术饭,难度很大。提升自己的软实力(重点是沟通),是让自己在一群书呆子中脱引而出的最简单直接的方式。抛弃那些无意义的坚持,不要把技术当做你心中唯一的明珠,世界是圆的,每个技能都是有其价值的。当你无法达到某一个技术的顶峰,那应该考虑如何练出一套组合技能
    5. 培养健康的生活习惯,关注心理健康,关注家人、爱人(如果有的话),学会爱与被爱
    其实上面的也都很抽象,具体的操作还是得靠自己去悟,去实践,做事情要有定力,有魄力,不怕失败
        63
    geekdocs   69 天前
    @ymz 前后一起干~
        64
    connection   69 天前
    每次提高一点点
        65
    leekafai   69 天前 via Android
    serverless
        66
    Leigg   69 天前 via Android
    自己写框架,把学的用上
        67
    crist   69 天前
    CRUD 怎么你了?我 CRUD 我快乐!
        68
    qoras   69 天前
    可以关注下如何优化个人效率和工作流程, 解决项目中的痛点, 工具可视化自动化等, 也可以学习别人如何沟通和管理
        69
    magiclz233   69 天前
    其实不管工作多长时间,深入到业务里面来不都是 crud,如果想增强自己,两方面,看基础,底层数据结构算法之类的,看新东西。其实很多东西在 crud 的过程中都是可以展现的,比如缓存,事务,日志。
        70
    tedzhou1221   68 天前 via Android   ♥ 2
    你们系统的主键生成策略是什么? UUID ?还是主键自增?

    就从这些最基本的点入手,你就可以学到很多东西。例如:ID 策略有哪些,如雪花、redis 生成全局唯一递增主键等

    然后你还可以进一步去看看,各种策略的优缺点,或者还能不能优化。如 redis 能不能从单机生成到使用集群生成。

    很多东西学,就怕没这么多时间。

    以前集成 Activiti 工作流到项目,然后有空看看 activiti 的源码,就学到了它的 ID 生成策略,还学到它如何使用命令模式。
        71
    tedzhou1221   68 天前 via Android
    还有就像#62 所说的也有道理,😄

    我们技术管理,技术也很差,但也随便拿个 30k,他天天就开开会,代码都不会写了。
        72
    ThinkCat   68 天前
    为什么都觉得 CRUD 很 low ?
        73
    kiddingU   68 天前
    工作才一年就不想做 CURD 了?
        74
    MotherShip   68 天前
    看一遍 ddia
        75
    amwyyyy   68 天前
    先把 CRUD 做好才有机会摆脱
        76
    StarkWhite   68 天前
    之前还有个人在 v 站推广自动生成 CRUD 的工具
    https://www.v2ex.com/t/507187
        77
    UnrealEngine   68 天前
    @loryyang 我承认我是个书呆子……
        78
    loryyang   68 天前
    @UnrealEngine #77 搞技术有几个不是书呆子的。但不能说现在我是个书呆子,所以我一辈子要做个书呆子。那这辈子岂不是很无聊。多尝试一下,生活会更加有色彩
        79
    yamasa   68 天前
    crud 又看不起,轮子源码又看不懂,算法又不熟,难玩。搞软工就不能脚踏实地一点吗?叫你去写个支撑高并发 crud 的轮子指不准写出来一堆 bug 没得用。
        80
    UnrealEngine   68 天前
    @loryyang 当然
        81
    realpg   68 天前
    说实话 CRUD 也能写出别人达不到的高度
        82
    UnrealEngine   67 天前 via iPhone
    @loryyang 在我的技术水平还搬不上台面前我还是继续做书呆子吧
        83
    Keppel   64 天前
    @fxxwor99LVHTing 谢谢,我尝试去做
        84
    Keppel   64 天前
    @loryyang 谢谢你的建议
        85
    Keppel   64 天前
    @tedzhou1221 你说的很多,还是要从基本的多思考
        86
    Keppel   64 天前
    看了大家的回复,感觉自己太好高骛远了,先从现在好好做好现在的工作的,优化自己写的代码。谢谢大家的建议
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1100 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 30ms · UTC 23:04 · PVG 07:04 · LAX 15:04 · JFK 18:04
    ♥ Do have faith in what you're doing.