V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hejw19970413
V2EX  ›  程序员

PHP 小白菜,想寻求突破。

  •  1
     
  •   hejw19970413 · May 12, 2020 · 4323 views
    This topic created in 2178 days ago, the information mentioned may be changed or developed.
    自己学历不是很高,感觉自己也很笨。工作大概一年半了,现在的问题就是不知道如何的突破自己,感觉现在自己越来越菜,什么都不会一样,心里很烦躁。现在就是每天抽出 3 个小时来学习算法,阅读框架的源代码,感觉还是越来越菜。听好多人说,如果实在不行可以学习其他的语言来突破自己。求求各位大佬,给点意见和经验。
    42 replies    2020-05-12 23:30:46 +08:00
    akagishigeru
        1
    akagishigeru  
       May 12, 2020 via iPhone   ❤️ 7
    越学越觉得菜 那说明方向对了
    somalia
        2
    somalia  
       May 12, 2020
    1# 过来人
    Chenamy2017
        3
    Chenamy2017  
       May 12, 2020
    可以突破转 go
    U7Q5tLAex2FI0o0g
        4
    U7Q5tLAex2FI0o0g  
       May 12, 2020
    语言大体上是互通的,是什么让你觉得学其他语言就可以突破自己?
    zoharSoul
        5
    zoharSoul  
       May 12, 2020
    可以突破转 java
    liuxu
        6
    liuxu  
       May 12, 2020
    1 楼大实话,我补充一下,如果你感觉学习特别困难看不懂,先去看看相关的书和视频教程,帮助你学习,自己死啃有时候效率很低
    imnpc
        7
    imnpc  
       May 12, 2020
    由简到难 先做一些普通功能 然后逐渐深入做复杂的功能
    不要试图一下看懂框架代码 很多框架是很多人+很多年+国内外各种资料逐步做起来的
    hejw19970413
        8
    hejw19970413  
    OP
       May 12, 2020
    @littleylv 其实我也不清楚,我请教过前辈们,他们说要不要学一学其他语言。我感觉 PHP 追求的就是简单,快速,缺点就是不稳定。我现在并没有去考虑怎么在语言上提升自己。我在空闲时间,去看一些基础,比如说算法,数据结构,计算机网络,以及通信协议。现在我感觉看不到一条清晰的路,自己感觉在蒙着眼睛走路。一步一步的扶着墙在走。所以就很焦虑
    as94boy
        9
    as94boy  
       May 12, 2020
    只能用傻瓜方法,一次看不懂就看两次。每次都带着思考去看,那么你每次就能有新的理解。你要相信一个人不懂的东西是占多数的。可以先不去学框架,先学习算法、网络等等,框架只是工具,可以在以后理解深了的时候再去看。共勉~
    hejw19970413
        10
    hejw19970413  
    OP
       May 12, 2020
    @imnpc 我从 5 月 1 号为了能多了解框架里面的核心,我就去看一些设计模式,但是现在还是一知半解。看框架代码感觉人家这样做好厉害,但是说不出理由。其实最后我总结的时候,就是不懂,感觉自己做了一些无用功
    uuus008
        11
    uuus008  
       May 12, 2020
    想那么多干啥,先把工作中遇到的问题,都研究透彻。 慢慢的就会豁然开朗
    hejw19970413
        12
    hejw19970413  
    OP
       May 12, 2020
    @Chenamy2017 我现在没了解过 go 。如果转 go 的话,会不会还是一样的一知半解,如果转的话,重点可以看什么地方?
    ethanSong
        13
    ethanSong  
       May 12, 2020
    向下学习,遇到一个知识点不懂,就学习哪个知识点,转过来再理解,举个例子,看源码不懂为什么整体上为什么这样设计,有时候你觉得莫名其妙,那你可以看看设计模式,看看设计模式你回来再看源码说不定就懂为什么这么设计了。
    hejw19970413
        14
    hejw19970413  
    OP
       May 12, 2020
    @ethanSong 谢谢您。大概明白了您的意思了。
    ben1024
        15
    ben1024  
       May 12, 2020
    语言的设计思想不同,实现技术的方案也有出入,换语言能拓展解题思路,不能帮助解题
    如果是针对业务方向发展应该去拓展业务方向,如果是针对发展技术深度那就需要研究语言源码
    hejw19970413
        16
    hejw19970413  
    OP
       May 12, 2020
    @ben1024 谢谢您
    bojue
        17
    bojue  
       May 12, 2020
    我自己学习基础的知识《 http 权威指南》,算法,计算机原理,设计模式,平时也可以看看源码,顺便看看面试题目检测一下水平
    youxiachai
        18
    youxiachai  
       May 12, 2020
    老实说..java 是目前最好的入门语言.....轮子也多...一通百通
    首先...java 的搬砖工多...不愁以后没工作....
    然后,很多经典资料都有 java 版本例子.....
    工程化方面..java 的版本也是最简单...(让一个小白学 cmake 工作流的话.估计配环境都配到死...)
    shellic
        19
    shellic  
       May 12, 2020 via Android
    1 楼说的对
    tuboshuv1
        20
    tuboshuv1  
       May 12, 2020
    入行 Java,能挤死你。一年经验就要分布式,Redis 、mysql 调优、jvm 原理、垃圾回收了。
    一年经验能熟练 crud 就不错了。进来就等着被挤压吧。
    wenqiang1208
        21
    wenqiang1208  
       May 12, 2020   ❤️ 1
    python 也一样
    Dogergo
        22
    Dogergo  
       May 12, 2020
    两年多经验的,突然想加个好友,一起学习
    sunshinev
        23
    sunshinev  
       May 12, 2020
    转 golang 吧,PHP 就是一套 for if class function array
    chinvo
        24
    chinvo  
       May 12, 2020
    @hejw19970413 #12 不要转

    请先学好一门

    看那些自己领域还没搞明白的人整天转转转的,

    就知道为什么 Java 和 Go 领域那么多干不过培训班的人了
    em70
        25
    em70  
       May 12, 2020
    光学是学不会的,做项目,解决实际问题,遇到困难不要绕过,不睡觉也要努力解决,每次卡壳都是一次突破,次数多了就进步了
    sparrww
        26
    sparrww  
       May 12, 2020
    语言真不重要
    zachlhb
        27
    zachlhb  
       May 12, 2020 via Android
    语言是互通的,多学几门语言在一定程度上可以帮助理解的,因为很多语言都是相互借鉴的,觉得其他语言这个特性不错,然后就借鉴过来,借鉴过来后因为又缺乏另一种特性,就会进行调整来满足自己的语言,这样的话如果只是使用完全没问题,但要深入理解就很蛋疼,因为你只看到了其二,不知道其一
    hejw19970413
        28
    hejw19970413  
    OP
       May 12, 2020
    @chinvo 那我现在还是老老实实看基础吧。看看人家是怎么写代码的。
    nxcdJaNnmyF9O90X
        29
    nxcdJaNnmyF9O90X  
       May 12, 2020
    学 swoole 。协程吊打 java 多线程
    nianyu
        30
    nianyu  
       May 12, 2020
    你太着急了主要是心态问题. 我当初也是如此
    什么都想几天 几小时 几分钟学会导致越看越不会. 从而产生焦虑感
    放平心态就好了
    Evilk
        31
    Evilk  
       May 12, 2020
    @xingjue 老哥,也用 swoole?
    default7
        32
    default7  
       May 12, 2020
    其实我一开始只想着赚钱,根本就没想过做什么伟大的程序员,工程师。
    只是为了糊口而已啊,却没想到 20 岁干到 30 岁越来越干不动了,被比自己小的嫌弃,自己也忧心忡忡,每次换工作都心慌没底 …… (一个搞 PHP 12 年的中年)
    star7th
        33
    star7th  
       May 12, 2020
    方向不对。突破算法和框架源码是高级进价的时候学的。然后学另一门语言也是更高阶的做法。现在为时尚早,只会让你不精通。
    你现在最重要的是先学会怎么使用框架来解决现实问题。找几个典型场景,搜索下业界通常是怎么解决的。
    比如说 即时通讯 / 电商 / 博客 / 社交 / 管理系统 / 等等。这些场景怎么高效解决,前端和后端分别用户什么框架技术,数据库怎么设计。你自己写的话有没有信心搞一个。然后再去研究服务器层面的性能优化问题。这个过程中会慢慢需要你了解一些底层机制。同时把本语言内的框架文档都看一遍,能比较出不同点和相同点。
    随手打字比较随意,反正大概是这样的思路。当掌握了一种语言,再扩展其他语言。别一开始把自己陷进了漩涡,比如说一开始过分追求框架源码 /其他语言如 go 的机制。
    crist
        34
    crist  
       May 12, 2020
    可以学 Java,这样装起逼来如鱼得水!
    Ymk1
        35
    Ymk1  
       May 12, 2020
    都给出了明确的方向。。跟着这些老哥们的建议走不会有错的。附加一条:赶紧专升本。
    jinzhongyuan
        36
    jinzhongyuan  
       May 12, 2020
    @ethanSong 有道理
    jinzhongyuan
        37
    jinzhongyuan  
       May 12, 2020
    @tuboshuv1 扎心啊,事实如此啊,人太多了
    lolizeppelin
        38
    lolizeppelin  
       May 12, 2020   ❤️ 1
    我也有过你的阶段, 最后我突破这个阶段通过学习 openstack

    几个建议,目前阶段

    算法不是那么重要,但你必须有基本算法思想,能写二叉树,熟悉分治算法,几个排序算法都熟悉就可以了,起码你看到某个地方特意用了某个排序算法,能理解这里为什么用这个算法来排序
    设计模式大概读一下就行了,设计模式是用来解决问题的,你没感受到问题光看很难理解的
    多线程、异步要自己好好写一下,不要流于表面,一个简单的聊天服务器作业能让你基本熟悉
    熟悉多线程异步以后,认真把协程过一遍.我推荐读 python 的 eventlet 源码,读透,所有协程都难不倒你了

    上面几个达成以后,
    你应该去读懂一个完整的“项目”, 项目做什么解决什么问题,如何实现,当你比较熟悉这个项目的时候,很多问题就自然解决了
    然后你照着这个项目实现你自己的东西,在模仿过程中你会更深入了解这个项目的痛点以及解决问题的思路,这样你就提升非常大了

    目前比较适合模仿的项目有 k8s 啊 openstack 啊什么的,不要去刻意去读框架,因为框架不重要,特别是 PHP 的 web 框架


    因为我自己学的是 python,对 linux 和 qemu 和 openvswitch 比较熟悉,于是学习了 openstack,非常幸运的就突破了写代码的瓶颈阶段,后面对 openstack 的模仿越来越深,提升也相当快


    记住,人类写程序的思路和人类应对现实问题的思路是一致的,比如说网络包其实是邮件信封邮筒之类的抽象
    解决任何程序或者代码的问题思考方式和现实是关联的


    你先要有问题,再解决问题才能提高

    最后别光瞎看...写起来
    accacc
        39
    accacc  
       May 12, 2020
    @tuboshuv1 同意 Java 的东西太多了 spring 全家桶真的就够小白受的 这还只是用 更别说中间件和 jvm 进阶之类的 哈哈 对楼主半路出家的更难了
    hedgehog0921
        40
    hedgehog0921  
       May 12, 2020
    学得越多觉得越菜那才是正确的方向。你把你想成一个圆,圆内部是你所学,圆外部是无知的世界。当圆越来越大的时候,你所接触的无知也越多。你所要做得是,在巩固你现在所学的基础上,去进一步探索未知。
    hejw19970413
        41
    hejw19970413  
    OP
       May 12, 2020
    谢谢各位大佬。现在也能看到亮光了,谢谢各位,加油努力去了
    hercule
        42
    hercule  
       May 12, 2020 via iPhone
    @default7 同感,我也是 6.7 年的 php 了,前有几年感觉时间一下子就过来,自己就这么混过来。本身工作在重庆,都是一些小公司,要流量没流量,要技术没技术,所以接触的东西又少,自己又怎么学习,现在感觉懂的太少。头大,现在辞职了,找工作心里没底。慌得一逼
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3582 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 95ms · UTC 04:45 · PVG 12:45 · LAX 21:45 · JFK 00:45
    ♥ Do have faith in what you're doing.