如何从普通程序员进阶到高级程序员

本文强调了程序员解决问题能力的重要性,提倡从实战中学习,避免盲目追求新技术,重视代码架构与重构,提升思维与时间管理能力,建立个人技术体系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

程序员最强的是解决问题的能力

在日常工作中评价一个人是否优秀关键在于:他解决了什么问题。

对于学习

  • 由易到难 一口吃不成个胖子,本着二八原则。20%的知识大概可以解决80%工作中遇到的问题,剩下20%的问题则需要80%的知识与经验才可以解决
  • 不要沉迷于新鲜技术 世界上的事:万变不离其宗。到最后拼的是算法,思维。新技术的衍生都是在原有的事物上出现的
  • 最好的学习方法就是去实战 实战有以下几点好处:
    1. 认清自己的知识盲点,学习知识盲点。以解决没有解决过的问题来掌握知识盲点
    2. 提高自己的思维能力。解决的问题多了。自己面对未知的事物便不会过于仓促
    3. 架构:重要的事说三遍。代码都是狗屎。重要的是架构,是思维。为什么有的程序员写的代码3年没事,然而有的1个周都得改一次
    4. 重构:通过重构代码可以使代码逻辑更加清晰,弥补以前的不足

学习的深度

  • 同样还是28定律:20%的知识可以解决80%的工作所遇到的问题,但是剩下的20%的问题需要80%的知识去弥补。这也是大多数人所缺失的
  • 书本只是工具,代码也只是工具。以围绕问题的方式去看书,通过学习知识点从而解决了什么样的问题
  • 对于新技术的热爱:新技术的架构思想,设计思想。这些都是可以通过读懂源码来学习的。但是当自己有了一定的编程水平最好先自己去实现那个功能,然后再与源码比对,看二者的差别以及自己所欠缺的。

代码能力

  • 代码写出来:一是给自己看,二是给同事看。用最直接,最简洁,个人觉得效率可以的方式去实现功能,而不是为了装逼去搞复杂的东西
  • 代码的优化:性能的优化,根据现实条件的优化

更多的是在思考,而不是写代码

  • 第一步 思维导图,数据流向
  • 第二步 实现功能
  • 第三步 第一次重构(拓展性,思维流向)
  • 第四步 性能优化
  • 第五步 debug,测试
  • 第六步 总结文档,技术体系

时间管理能力

  • 尽可能少做,或不做那些效率不高的事情,对于学习来说:效率,状态

善于总结,归纳。形成自己的技术体系与知识谱图

转载于:https://my.oschina.net/u/3869821/blog/2960879

### LSTM的输入与输出机制 #### 输入结构 LSTM是一种特殊的循环神经网络(Recurrent Neural Network, RNN),其设计目的是解决传统RNN在处理长时间序列时存在的梯度消失或爆炸问题。LSTM通过引入门控机制来控制信息流,从而能够有效捕捉长期依赖关系。 对于LSTM而言,其输入通常是一个三维张量,形状为 `(样本数, 时间步长, 特征维度)`。具体来说: - **样本数**表示数据集中有多少条独立的时间序列。 - **时间步长**指每一条时间序列包含多少个时间点的数据。 - **特征维度**则代表每个时间点上的特征向量长度[^1]。 例如,在自然语言处理任务中,如果我们将一句话看作是一组单词组成的序列,则这里的“时间步长”就是句子中的词数量,“特征维度”可以是每个词经过嵌入层后的向量大小。 #### 输出形式 LSTM 的输出取决于具体的配置方式以及应用场景: 1. 对于单层 LSTM 来说,它会针对每一个时间步返回隐藏状态 \(h_t\) 和细胞状态 \(c_t\) 。其中隐藏状态作为当前时刻该节点对外界表达的信息载体;而细胞状态内部存储着更深层次的历史记忆信息[^2]。 2. 当构建深层 LSTM 结构 (即堆叠多个 LSTM 层) 时,前一层的所有时间步输出将被送至下一层作为新输入继续传播计算直到最后一层结束为止。 3. 实际应用过程中往往还需要附加额外操作比如加入全连接层(FC),以便最终得到符合需求的目标值——无论是连续型变量还是离散类别标签等不同类型的任务目标都可以通过调整 FC 后面激活函数的形式达成目的。 4. 在某些特定情况下如仅关心整个序列最后一步的状态而非中间过程变化情况的话可以直接取最后一个时间步对应的 h_T 或 c_T 进行后续处理而不是保留全部历史记录下来。 5. 另外值得注意的是当涉及到多维或多模态数据源联合建模的时候可能还会存在更加复杂的组合模式比如说同时考虑视觉图像帧加上音频片段共同作用影响未来趋势走向等问题此时就需要灵活运用不同类型的编码解码器架构配合起来完成相应功能实现[^3]。 ```python import tensorflow as tf model = tf.keras.Sequential([ tf.keras.layers.LSTM(units=64, input_shape=(None, feature_dim), return_sequences=True), tf.keras.layers.Dense(output_size, activation='softmax') ]) ``` 上述代码展示了一个简单的基于 TensorFlow/Keras 构造出来的带有单层 LSTM 单元并设置 `return_sequences` 参数为 True 表明希望获取每一时刻 t 所产生的隐含层状态 ht 给予下一个 Dense Layer 做进一步分类决策使用的例子。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值