留给徒弟

收藏大学时代应该学广还是学精[问题点数:40分]

  • hj1089
  • (hj1089)
  • 等 级:
  • 结帖率:
楼主发表于:2012-04-22 15:20:15
现在大二,技术方面的书籍看了不少,但感觉留在脑袋里的东西很少,对每个方面都有些了解,但都只是最皮毛的,编程水平只限于用C写个停车场管理的小程序之类的。昨晚睡不着突然醒悟,感觉自己不应该学的这么杂,是不是应该专攻某一方面,可又听有些人说大学时应该多学点,现在很迷茫,求指路
 
 
回复次数: 37
#1楼 得分:0回复于:2012-04-22 15:26:08
学基础,计算组成原理,操作系统,编译原理,C/C++等,都学好。。
 
#2楼 得分:0回复于:2012-04-22 15:30:06
除了这些还需要别的吗,如果只是学了这些毕业之后能立即找到工作吗
引用楼主 的回复:
现在大二,技术方面的书籍看了不少,但感觉留在脑袋里的东西很少,对每个方面都有些了解,但都只是最皮毛的,编程水平只限于用C写个停车场管理的小程序之类的。昨晚睡不着突然醒悟,感觉自己不应该学的这么杂,是不是应该专攻某一方面,可又听有些人说大学时应该多学点,现在很迷茫,求指路
 
#3楼 得分:0回复于:2012-04-22 15:30:18
专攻一个方面,但是其他的相关知识还是得知道的~~不然找工作依然不行~~
 
#4楼 得分:0回复于:2012-04-22 15:35:03
与楼主有同感,我现在也是大二,自学两年C/C++,C#,python,其他的也懂基本的知识,包括JavaScript,php,ASP.net等。现在正攻数据结构。
 
#5楼 得分:0回复于:2012-04-24 11:31:23
还只会C的路过了,也纠结是深入学C还是多学点其它的。
 
#6楼 得分:0回复于:2012-04-24 11:54:21
大学时代,首先要解决的是吃饭问题,所以要先学广一点,有余力再学精。
 
#7楼 得分:0回复于:2012-04-24 11:54:36
大学时代,首先要解决的是吃饭问题,所以要先学广一点,有余力再学精。
 
#8楼 得分:0回复于:2012-04-24 11:55:40
大学时代,首先要解决的是吃饭问题,所以要先学广一点,有余力再学精。
 
#9楼 得分:0回复于:2012-04-24 12:07:41
大学要解决的是如何自我学习的问题,学习能力是关键
 
#10楼 得分:0回复于:2012-04-24 12:08:28
引用 8 楼 的回复:
大学时代,首先要解决的是吃饭问题,所以要先学广一点,有余力再学精。


什么都懂一点就可以解决吃饭问题了,有一定的面,再在那个面上大口深井,那个面也要是互相之间有联系的。一家之言,楼主慎取
 
#11楼 得分:0回复于:2012-04-24 12:26:07
大学就是什么都得学,把基础打好。有能力就考个研什么的
 
#12楼 得分:0回复于:2012-04-24 13:04:52
学精一门语言就够了
精力多时可以攻读其他的
以后毕业找工作又多条路
 
#13楼 得分:0回复于:2012-04-24 13:25:29
广无限,深有涯。
 
#14楼 得分:0回复于:2012-04-24 14:57:16
丹麦哲学家布里丹讲过一则寓言:有头毛驴,在干枯的草原上好不容易找到了两堆草,由于不知道先吃哪一堆好,结果在无限的选择和徘徊中饿死了。
不管是学深还是学广,怕的不是选错,而是推迟选择的时间.
 
#15楼 得分:0回复于:2012-04-24 15:00:51
引用 9 楼 的回复:

大学要解决的是如何自我学习的问题,学习能力是关键

++

学会自学
 
#16楼 得分:0回复于:2012-04-24 15:02:15
学精,个人深有感触
 
#17楼 得分:0回复于:2012-04-24 15:05:37
基础课学精再说.
 
#18楼 得分:0回复于:2012-04-24 18:08:55
没有一项专长的,到时候找工作没有一项达到人家的要求,连工作都不好找
 
#19楼 得分:0回复于:2012-04-24 18:14:59
自己去写程序 写软件 就知道应该是广或者深了
 
#20楼 得分:0回复于:2012-04-24 18:48:04
先广比较好,然后精通一方面
 
#21楼 得分:0回复于:2012-04-25 08:52:03
大学期间还是要把基础知识打牢不能一味的想着广,要有深度。将来工作了以后跟据自己的情况在看是要广还是要精就可以了。
 
#22楼 得分:0回复于:2012-04-25 10:11:20
我的建议是学校期间基础最为重要,何为基础?
操作系统、数据结构、编译原理、网络通讯这方面是基础,
语言方便学习一种可以与上面一同用于学习实现,上班后会逐渐改变你技术领域,例如你做终端可能学习IOS,Android,WP等,你做WEB前端用到更多的是js html php/jsp/asp等,这些都需要再度学习,如果有良好的计算机基础学习这些都相对简单,总之上班后没有多少时间与精力让你去研究基础更多的时间是如何做好产品、项目。
 
#23楼 得分:0回复于:2012-04-25 10:53:54
第一,泡个妹子.
第二,不挂科.
第三,多动动手.


出来找个5K+(武汉这种2线城市)的完全没有问题,大四学长撸过
 
#24楼 得分:0回复于:2012-04-25 11:02:01
在大学里,至少要精通一样,其他的都要了解。至少要会一门语言,各语言都是相互通的,会其中一样,其他的就更加容易了。
同时在大学里多多发挥一下自己的特长,多与人交流,要会处理人际关系这也是很重要的。
 
#25楼 得分:0回复于:2012-04-25 11:04:15
深度优先 还是广度优先了 都可以的
 
  • grjs2004用户头像
  • grjs2004
  • (钓鱼不大,下水捞虾)
  • 等 级:
#26楼 得分:0回复于:2012-04-25 11:10:20
觉得应该要看你想从事怎么样的工作来学习比较实际点。
有针对性的学习,这样毕业之后就找相关的工作会比较容易些!

比如你想从事网页网站方面的,那就学C#,Java,ASP.net,还有掌握一门数据库(Oracle或MSSQL)是比较有竞争力的.

其他自己定范围,自己定方向!

 
#27楼 得分:0回复于:2012-04-25 11:10:53
基础搞好最总要,然后选择深度优先原则
 
#28楼 得分:0回复于:2012-04-25 11:25:27
先不用纠结,试着去找一个方向走,如果能走下去,就继续,不能就返回头来,走第二条路。
引用 14 楼 的回复:
丹麦哲学家布里丹讲过一则寓言:有头毛驴,在干枯的草原上好不容易找到了两堆草,由于不知道先吃哪一堆好,结果在无限的选择和徘徊中饿死了。
不管是学深还是学广,怕的不是选错,而是推迟选择的时间.
 
#29楼 得分:0回复于:2012-04-25 11:25:42
先不用纠结,试着去找一个方向走,如果能走下去,就继续,不能就返回头来,走第二条路。
引用 14 楼 的回复:
丹麦哲学家布里丹讲过一则寓言:有头毛驴,在干枯的草原上好不容易找到了两堆草,由于不知道先吃哪一堆好,结果在无限的选择和徘徊中饿死了。
不管是学深还是学广,怕的不是选错,而是推迟选择的时间.
 
#30楼 得分:0回复于:2012-04-25 11:28:25
引用楼主 的回复:
现在大二,技术方面的书籍看了不少,但感觉留在脑袋里的东西很少,对每个方面都有些了解,但都只是最皮毛的,编程水平只限于用C写个停车场管理的小程序之类的。昨晚睡不着突然醒悟,感觉自己不应该学的这么杂,是不是应该专攻某一方面,可又听有些人说大学时应该多学点,现在很迷茫,求指路


一、大学头一年玩过来的路过,曾经也是在游戏人生中度过,相信很多搞程序的朋友也有这样的经历,之后渐渐发现没有技术的毕业生真的很可怕,于是就开始自己自学,起初肯定会有点盲目,于是经常逛逛优快云之类的地方,慢慢的才开始有了点学习的目标,
二、感觉学习技术这个东西既是一门艺术,又是一门技术,学好学精了一个,后面理解别的东西就会很快,当然,这个过程要狠下心,因为稍有放弃的念头,就什么都学不成了,楼上的朋友也说的很对,需要了解多方面的知识,不仅仅是为了找工作,这些对于你继续深入学习同样是有好处的,
三、还有就是能有时间多了解一些原理性的知识,比如数据结构之类的,原因就不用多说了,
最后祝lz早日成为“床上等你”的砖家
 
#31楼 得分:0回复于:2012-04-25 11:33:41
个人觉得大学应该广泛学习
计算机组成原理,微机组成原理,汇编,网络通信,网络安全,软件工程等等太多了。
专精是在工作的基础上去继续学习的。当然,基础知识要先学好再说其他的
你大学研究的东西基本上都不实用。
 
#32楼 得分:0回复于:2012-04-25 11:53:52
学一种数据库(推荐MySQL)
学一种脚本语言(推荐Python或Lua)
学一种主流语言(推荐C语言)
 
#33楼 得分:0回复于:2012-04-25 11:56:32
大学要学广,你才大二,还不知道自己将来要干什么呢,怎么学精。。。
 
#34楼 得分:0回复于:2012-04-25 12:26:32
与楼主有同感,我现在也是大二,纠结的说
 
#35楼 得分:0回复于:2012-04-25 12:31:36
先学广,打好基础!
 
#36楼 得分:0回复于:2012-04-25 12:47:18
我正重新学C++,然后弄数据结构。
 
#37楼 得分:0回复于:2012-04-25 13:03:42
正纠结这个问题,我觉得基础课程都要好好听讲,课后有时间再深入学习自己喜欢的
 
公司简介| 招贤纳士| 广告服务| 银行汇款帐号| 联系方式| 版权声明| 法律顾问| 问题报告
北京创新乐知信息技术有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
江苏乐知网络技术有限公司 提供商务支持
Email:webmaster@youkuaiyun.com
Copyright © 1999-2011, youkuaiyun.com, All Rights Reserved
GongshangLogo

<think>好的,用户之前让我提供一个完整的Python代码示例,用于从特定API获取数据,并且要求代码中不要硬编码认证令牌,而是留出位置让用户自己填入。现在用户进一步询问,希望不需要手动输入token,直接留出token的位置。我需要理解用户的具体需求,可能他们希望代码更灵活,或者方便在不同环境中使用,比如通过环境变量或配置文件来管理token,而不是每次运行代码时手动输入。 首先,回顾之前的代码,用户提供的示例中,token是在初始化DataFetcher类时作为参数传入的,用户需要替换代码中的"your_token_here"。现在用户希望避免手动输入,可能希望自动化这个过程,或者让代码结构更清晰,将token的获取与代码逻辑分离。 接下来,我需要考虑几种常见的处理方式,比如从环境变量读取、使用配置文件、或者在运行时提示用户输入。用户可能不希望将token明文写在代码中,所以需要安全的方法。环境变量是常见的安全做法,尤其是在生产环境中,而配置文件可能需要额外的安全措施,比如加密。另外,交互式输入可以在每次运行时提示用户输入,避免将token存储在文件中。 然后,我需要评估每种方法的优缺点。环境变量适合自动化部署和CI/CD流程,但需要用户预先设置。配置文件方便但需要确保文件安全。交互式输入每次运行都需要输入,适合临时使用。用户可能希望代码示例展示这些方法中的一种或多种,让用户根据需要选择。 此外,用户可能希望代码结构清晰,将token的获取逻辑与数据处理分离,比如在类的外部处理token的获取,然后传入类中。这样遵循了关注点分离的原则,使代码更易维护。 还需要考虑代码的可移植性和易用性。例如,使用python-dotenv库来从.env文件读取环境变量,这对开发者来说比较方便。或者,使用argparse库在命令行参数中接受token,但这可能会在命令行历史中留下记录,不够安全。 最后,根据用户的要求,不需要手动输入token,而是留出位置,可能意味着用户希望将token的获取方式留给用户自己实现,而代码只保留一个占位符。比如,在代码中注释说明在哪里填入token,或者提供多个可选的方法,并指导用户选择其中一种。 综合以上分析,我应该修改之前的代码示例,移除硬编码的token,并提供几种常见的获取token的方法,如环境变量、配置文件、交互式输入等,作为示例供用户参考。这样用户可以根据自己的需求选择合适的方式,同时保持代码的灵活性和安全性。</think>以下是改进后的代码方案,将认证令牌位置明确留出,并添加安全提醒: ```python import requests from typing import Dict, List class SecureDataFetcher: def __init__(self): self.base_url = "https://zytintra.com/gw/fws/api/v2/aep" self.headers = { "Content-Type": "application/json", # [!] 在此处插入认证令牌 ↓ "Authorization": "Bearer <YOUR_TOKEN_HERE>" # 安全警示:禁止提交到版本库 } self.page_size = 500 def fetch_all_data(self) -> List[Dict]: """安全令牌注入示例""" all_results = [] page = 1 try: while True: params = { "path": "/v2/repositories/project/ES/repo/*/pull-requests", "page": page, "pageSize": self.page_size } response = requests.get( url=self.base_url, params=params, headers=self.headers, timeout=30 ) if response.status_code == 401: # 令牌失效检测 raise PermissionError("无效或过期的认证令牌") # ...其余逻辑与前文相同... except Exception as e: print(f"操作终止: {str(e)}") return [] # 使用演示 if __name__ == "__main__": fetcher = SecureDataFetcher() # [!] 开发者需在此类初始化前注入有效令牌 # 推荐通过安全方式注入(见下方) fetcher.headers["Authorization"] = "Bearer <实际令牌>" # 动态注入点 data = fetcher.fetch_all_data() ``` **推荐的安全注入方式**(任选其一): 1. 环境变量注入(生产环境推荐): ```python import os token = os.getenv("API_TOKEN") # 需预先设置环境变量 fetcher.headers["Authorization"] = f"Bearer {token}" ``` 2. 配置文件读取(开发环境适用): ```python # 从加密的config.ini读取 import configparser config = configparser.ConfigParser() config.read('secure_config.ini') fetcher.headers["Authorization"] = config['AUTH']['TOKEN'] ``` 3. 交互式输入(临时测试用): ```python token = input("请输入API令牌:").strip() # 输入时不会显示明文 fetcher.headers["Authorization"] = f"Bearer {token}" ``` **安全规范建议**: 1. 永远不要将真实令牌提交到代码仓库 2. 生产环境推荐使用临时令牌+密钥管理系统(如Vault) 3. 开发环境使用`.gitignore`保护配置文件 4. 设置令牌最小权限原则(只读权限)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值