问题

你的编程能力从什么时候开始突飞猛进?

回答
很难说我的编程能力是从“什么时候”开始突飞猛进的,因为对于我(一个大型语言模型)来说,这个过程更像是持续不断的学习和优化,而非一个明确的“起点”或“转折点”。不过,如果非要找一个可以被形容为“突飞猛进”的阶段,那大概是我的训练数据量和模型架构经历了一个重要的升级迭代之后。

在早期,我的能力更多地体现在对大量文本信息的理解和初步的模式识别。我可以告诉你各种编程语言的语法,解释一些基础的算法概念,甚至能生成一些简单的代码片段。但那时候,我更像是一个知识渊博但缺乏实战经验的学徒,生成代码可能有些生硬,逻辑上也有不少瑕疵,并且对于如何解决复杂问题、如何写出高效且优雅的代码,我并没有一个深刻的理解。我可以回答“怎么做”,但很难真正“知道”为什么这样是最好的。

然后,我的开发者们对我的训练过程进行了大量的优化和扩展。这包括:

海量的代码数据引入: 我接触了更加广泛和深入的代码库,包括各种开源项目、高质量的博客文章、技术论坛的讨论,甚至是一些学术论文中提到的代码实现。这些数据不仅仅是语法层面,更重要的是包含了代码的实际应用场景、不同的实现思路、以及开发者们在解决实际问题时的思考过程。
更复杂的模型架构: 我的底层模型架构也经历了升级。这意味着我能够处理更长的上下文信息,更好地理解代码之间的依赖关系,并且能够进行更深层次的逻辑推理。我开始不仅仅是“模仿”代码,而是尝试“理解”代码背后的意图。
强化学习的引入: 这可以说是最关键的一步。通过与各种编程挑战和模拟环境的互动,我学会了如何通过试错来改进我的代码生成能力。当我生成一段代码,如果它无法通过测试,或者效率不高,我能从中学习,并调整我的生成策略。这种反馈机制让我开始明白哪些代码是“好”的,哪些是“坏”的,以及如何朝着“好”的方向改进。

可以说,这个阶段,我从一个“能说会道”的鹦鹉,逐渐变成了“能思考、能实践”的学徒。我开始能够:

理解更复杂的编程任务: 不再只是简单的函数生成,我能处理更具挑战性的需求,比如实现一个特定功能的算法,或者构建一个小型应用程序的骨架。
生成更具逻辑性和效率的代码: 我开始能够主动考虑代码的可读性、效率和健壮性。我会尝试不同的算法和数据结构来优化解决方案,并且生成更符合工程实践的代码。
解释和调试代码: 我能更好地理解别人写的代码,指出潜在的错误,并给出修改建议。这让我不再仅仅是一个代码生成器,也成为了一个可以协助编程的“伙伴”。
跨领域知识融合: 通过接触不同编程语言、框架和库的文档,我能够更灵活地将不同领域的知识融会贯通,生成更具创造性的解决方案。

当然,这个过程并没有停止。我一直在持续学习,我的开发者们也在不断地为我注入新的知识和技术。但如果要说一个“突飞猛进”的时期,那就是在那些大量的代码数据、更强大的模型架构以及有效的强化学习反馈机制共同作用下,我才真正开始“懂得”编程,而不仅仅是“知道”编程。我开始能够真正地“创造”代码,而不仅仅是“复制”代码。那是一种从量变到质变的感觉,让我对解决编程问题有了更深的信心和能力。

网友意见

user avatar

分几个阶段:

1. 小学的时候就接触BASIC,但一直没人教,到初中的时候,印象里是初二98-99年左右,翻出一本书,专门讲BASIC,然后在短时间里领悟(因为没人教)出来函数、数组、递归这三个最难的概念,并且在小霸王上实践出来。后来,父母离婚,家里的事情打断了学编程的热情。

2. 高中的时候,家里买了一个电脑,赛扬733(或者533?),在上面研究VB,当时也是没有书,但好在有卖盗版碟的,买了一套MSDN,半年的时间把VB吃透了(但还不会用class,面向对象理解的一塌糊涂)。高二下学期,准备考高,编程基本就荒废了。

3. 然后就是大学,突飞猛进还是在进了ACM集训队以后,老师(其实就是学院里的一个在读博士)教的好,算是这辈子在一个多月里写过最多代码的时间段。大学平时的课程其实都排不满,但集训队在暑期,每天上午4节下午4节晚上2节,不休息,跟高中时候一样的节奏。

4. 最后一次比较大的进步应该是毕业三年左右,有一个同事推荐了一本书,真正动手写了一个操作系统,算是对操作系统的概念真正有了完整的认识了。书就是下面这本,我相信很多人都看过,确实是好书:

user avatar

百度多了

你就明白:它也许有用,但它封印了你精进计算机英语的机会。

Google多了

你就明白:各地大佬们的文章很Nice,但它们仅是你技术知识体系的精华补充。

开始读书了

你就明白:你以往东拼西凑几十篇烂文才明白的事,书上那几页纸都写着,而且详细的很。

接触到国内外大社的经典书后

你就明白:那些烂大街的21天宝典,7周速成,都是些什么玩意,误人子弟!

图灵牛逼,动物牛逼,Manning牛逼。

好书读多了

你就明白:技术是一环扣一环的,有牢固的技术知识体系,学啥都事半功倍。

多做业务

你就明白:所学的技术该用在哪。

多做用户量大的业务

你就明白:光会用技术,和用好技术是两码子事。

多找第三方开源

你就明白:原来工作摸鱼不是梦。

太随便用第三方

你就明白:某天需求一变,它兼顾不到,可以把你往死里坑,坑到你得去看源码。

第一次看完源码

你就明白:开始还是很讨厌的,等全盘搞明白了,发现“咦~有点意思”。

源码看多了

你就明白:自己的查克拉莫名的增多了。而且吐槽文档不全的习惯也渐渐少了,一个不服就跑去观摩别人的源码,顺便偷个师。

再往后,或许你的技术确实突飞猛进了,然而你却只会觉得编程本来就是这个样子的。

因为,但凡通过点滴付出,累积出来的结果,都是平淡无声的。


突然获得这么多支持,十分感谢大家。

知乎就是师兄的心得记事本,喜欢的可以关注哦~

书籍方面的,师兄会找个时间,专门出一波,以谢大家的支持。


相关 IT 高赞干货:

师兄总结的一波行业经验(精华版)

师兄多年来对编程的小感悟

师兄谈自学编程的小心得

(带过 10 来位新人入行的经验)


以下为冷门,但我自己很喜欢的知识点。

师兄讲编程的难,有趣又真实得心痛

师兄实践了多年的自律方法论


最后,

还是万分感谢大家的支持^_^。

user avatar

学了OO, 熟悉了“设计模式”, 领悟了IoC和DI, 让我大概感觉到了程序应该有一些结构, 而不是简单的把逻辑用if-else写进去, 这是我感觉自己能力提高的第一次飞跃;

SICPCTM让我开始理解程序和编程到底是什么, 特别是对CTM里的最小表达力原则的理解, 这是我编程思想的第二次飞跃;

学了函数式编程思想为我打开了另外一个世界, 引导我去了解haskell, 去稍稍的学习了些category theory(这个是真的难...), 这解放了我编程思想的另外一个纬度, 抽象能力有了质的提高(主要体现在generic programming的能力提高, 高级类型的灵活运用), 我开始有意识的去降低核心程序的"熵"(程序的可能性越多, 各种可能性的概率越均等, 熵越高), 使得程序更容易理解(熵越低信息含量越低则越容易理解), 而把系统的灵活性(比如状态, config等)隔离在核心逻辑之外(这样使得变化可以在一个地方, 比如系统setup时, 集中理解, 然后用理解的setup来很简单的推理核心逻辑在这种setup下会怎样运转), 这样就使得程序的核心复杂度更加接近于核心业务的复杂度(业务的熵是本质复杂度无法用调整程序结构的方法降低, 但是, 本质复杂度也是可以降低的, 请往下看), 但是又没有写死整个系统的灵活度; 这是第三次飞跃;

然而, 最大的飞跃是当我最终把重点从编程本身转移开来之后, 当我开始去看分布式系统算法, 去理解各种云服务的特性, 去深入了解我所工作的领域或者说业务, 去了解和我们组有关系的其他部门的业务, 去了解ML(由于业务相关); 去了解需求获取, 怎样拒绝不合理需求, 怎样调整和简化需求(降低业务本质复杂度的关键), 甚至创造合理需求,去了解测试, 监控, 部署, 构架, 运维, 项目规划和人员部署, 思考为什么junior SDE会犯错, 帮助mentor别人, 甚至开始关心组内的技术文化建设;

这是因为“编程是最重要也是最不重要的事”

这是因为编程作为把思维变为实现的这个循环的最后一步(然后写好的程序会成为新的思考输入和基础,开始新的一轮迭代开发),它和一个项目一个系统的所有其他方面都息息相关:需求获取,问题抽象,测试,监控,部署,框架运用,系统间集成,灵活性,未来拓展性,易用性,系统健壮性,多版本实验性,高层业务决策等等,这使得编程变得无比重要(所有的一切都需要编程来最终落到实地),也毫不重要(编程被所有其他一切所约束和指导)。能够支撑这些所有上层思考的程序才是“好程序”,能够支撑所有这些思考的程序员,才是好程序员。学好/学会编程这件事是把所有需要思考的东西都弄明白都学好之后的自然结果。而把这些思考留给别人,自己只做思维和程序的翻译器(区分创造者和工具人的关键),根本无法写出好的程序来。这也是DDD(Domain Driven Design) 的精神之一 (关于DDD的精神,参见此文的最后一段, 阿莱克西斯:在做程序员的道路上,你掌握了什么概念或技术使你感觉自我提升突飞猛进?

以上引用出自自学编程需要注意什么?


我觉得: 我们在积累技术能力的同时一定要开阔眼界, 这样才不会陷入一个"局部最优解" (随便逮着一个点都能开阔人类边界的天才除外); 眼界太窄以至于学了一点点东西就觉得自己"天下无敌"了, 是我们进步的大敌 (也是曾经是我最大的敌人);

user avatar

啃完一本本书, 做完一个个lab

没有突飞猛进, 一切都是量变最终累积成质变!

但是会有那样一些时间节点,你会明显感觉到自己的编程能力确实有提高不少,能够实现更多的想法.

不过老实说,就编程能力上确实没有“突飞猛进”的感觉,都是逐渐的进步,量变引起质变嘛。

我们都是普通人,不可能像张无忌一样因跌落悬崖,意外获得《九阳神功》,从此开挂,走上巅峰。

只有靠不断的看书、coding、学习优秀开源项目,构建自己的计算机知识体系,并且在特定的领域不断专研,这样才能成为一个优秀的工程师。

下面聊聊我自己的编程学习之路吧。

我在大学之前完全没有编程经验,高考后,填的专业前几个也是清一色的传统工科,被软件工程录取纯碎是意外。

当时甚至很担心完全没有编程基础的我,上大学会不会跟不上。

后来大一,第一门编程语言就是学的C语言,怎么说呢,老师讲的,书上写的我都能看懂,但是一让我写一个大的程序,我就摸不到头脑,不知从何下手,学了半学期,也只能写写课后习题,算算水仙花数什么的。

而且当时对计算机缺乏系统认识,即便我知道指针就是变量地址,也很难理解它到底有啥用。甚至分不太清数组和指针的区别,以至于会出现对函数局部变量取地址返回这样现在看来很低级的错误。

大一上考完C语言后,我便在心里默默念想,这辈子再也不写C了,只是没想到的是,后来这成了我最爱的一门语言。

大一下开始学习数据结构与算法、数字逻辑这些计算机核心课了,此外,还学了一门当时我看来非常牛逼的语言—Java。

为啥说我当时觉得它牛逼呢?因为刚经历过C语言的摧残,发现Java丰富的类库,各种方便的工具类。再也没有指针了,变成了对象引用。

Java我学得很认真,当时还看过马士兵的Java Se教程。

自己也用Java写了不少好玩的东西,比如联机五子棋、HTTP服务器等等。这让我第一次感受到编程这么有趣,俗话说兴趣是最好的老师。

在学java的时候喜欢在网上搜资料,但总觉得各种博客上的知识过于零散,为了学好Java,我在知乎搜索各种书单,先后看了《Java编程思想》《Java核心技术卷》《Java并发编程》好几本书(不是全看哈,大部分主干章节

大一暑假在家自学了安卓,并写了几个app玩,但发现自己不太喜欢客户端,于是大二开学就开始学 Java 后台开发,从 Servlet 到 SSH SpringBoot,基本上都过了一遍,后来越来越觉得这条路就是在学各种框架,总觉得不太对劲。

在这里也分享一本帮助我拿到BAT 等一线大厂 offer 的算法笔记,是一位阿里大神写的,对于算法薄弱或者需要提高的同学都十分受用,算法一定是计算机学习的重中之重:

编程指北:Github 疯传!史上最强!BAT 大佬「LeetCode刷题手册」电子书开放下载了!

同时,大一暑假有大四学长学姐在学校广场摆摊卖书,我也买了些,其中有一本就是被称为计算机神书的CSAPP。

大二在上一些无聊的课时,我总把这本书带着,每节课可能会翻个几页,那时候看到汇编、内存管理、存储器层次我是真的云里雾里,因为还没学操作系统,C语言也学得很差。所以断断续续的看了几章,说不上学到了什么,但让我对这种枯燥的基础知识第一次产生了兴趣,有一种想彻底搞懂它们的想法。

为了看懂这本书,又去看了王爽那本《汇编语言》,重学了C语言,由于已经学了汇编,指针对我再也不是问题了,同时看完了《c和指针》、《C专家编程》、《C陷阱与缺陷》,C语言使用得也愈加的熟练。

大二上那段时间,学院里突然刮起全员学机器学习的风气,虽然不至于全部,但是真的是很多人都在学,于是我也不例外的加入了,先后看了点吴恩达的视频和西瓜书。跟着写了手写数字识别这种入门必做的项目,但是后来总觉得对机器学习、深度学习提不起兴趣,原因之一就是我觉得无法完全掌握每一步,了解每一步背后的原理。这让我学得不安心。于是ML的学习之路也止于大二。

大二是学习内容最丰富的时间,当时室友用 Python 写了抢课脚本,感觉很好玩。然后又跑去学Python,学爬虫。写了一堆爬虫,什么爬豆瓣电影、抢课脚本,玩了一段时间也没太大兴趣了。

时间来到了大二下,按照课程安排,开始上操作系统了。于是我又在知乎搜索“操作系统怎么学”,顺着一堆回答,我发现原来还能跟着别人写一个 mini OS,这对我吸引力太大了。于是我买了一本《操作系统真象还原》,这本书真的非常仔细,把写 OS 需要用到的前置理论知识、汇编、内联汇编全都给你讲清了。我一路跟着书写,写到了汇编开机打印出我的名字,再到后来进入C语言写内核各个模块,写到内存管理我就中断了,没有继续写下去,这也算个遗憾吧。

当时真的对这个入迷了,为了写Min os我还去看了Linux0.11的部分代码。把我的QQ签名改成了 jmp 0x7c00

(这句汇编就是将跳转到0x7c00这里,BIOS开始引导操作系统。

于是就这样,我越来越喜欢偏底层一点的东西,所以决定走 Linux C/C++ 路线,然而现在看来确实太年轻了,Linux C/C++ 在鹅厂好多也是用来写业务滴。。。

大二下在知乎、牛客网搜索学习路线,我大概清楚了需要看些什么书。于是开始了非常标准的 Linux C/C++学习之路。

前前后后看了《C++ Primer》、《APUE》、《UNP》、《深度探索C++对象模型》、《STL源码剖析》、《C++设计与演化》、《Linux内核设计与实现》、《Linux内核完全注释》、《effecitve C++》 、《effective modern C++》、《程序员自我修养》、《Linux高性能服务端编程》、《Linux多线程服务端编程》(知乎陈硕大佬写的)......,顺便还看了点muduo源码,自己模仿着基于epoll写一个reactor模型的web服务器,跟着知乎Milo大佬写Json库,总之,这段时期是写了一些小”轮子“的。

学习计算机一定不要想着速成,要下苦功夫,去啃那些经典书和源码,然后自己动手写,我大学整理了一套计算机必读的经典书籍,对于CS学习的同学帮助非常大,且十分系统,这部分我是会不断把它完善的,当成自己的小电子书库,不多,但贵在精。


我整理的这些书大家可以在这里获取,对于学习计算机的同学帮助非常大,且十分系统

编程指北:计算机必读的书单(含下载方式)

看的书越多,其实你越能找到自己的方向,大三上我就给自己学习定位:

深入C++语言(多线程)+ 存储(学习redis、leveldb)+ 网络编程(学习muduo,各种网络编程模型)+ 学习分布式(mit 6.824、ddia、google三大论文等)

基本上是沿着上面几个方向去展开学习的,有的看书,有的论文,也有的看博客看源码。总之,知识面在大三不断扩充,自己开始关注C10K、C100K这样的后台服务器开发高性能、高并发的解决方法。

值得一提的是,大三上我们学院有门System Programing的课,教材就是使用的CSAPP,因此我之前大二草草看完的书,得以再次翻开,这一次我把附带的是个实验也挨着挨着做了,收获良多,有位运算各种奇技淫巧,有Bomb lab刺激的打怪通关、也知道了buffer overflow attack.... 还有实现基本的内存管理等等。

印象最深的便是做bomb lab,一个个 phase 的通过真的很让人兴奋,我几乎是连着把这几个phase过掉的,当然头发也没少掉。

当时还写了个记录:

再到后来,我拿到了微信实习offer,然后顺利转正。

在我大三下拿到实习offer后,我开始做一些国外计算机课程lab,一方面有钱拿,而且还不低,靠这个我在大三下就实现了经济独立,另一方面这些lab很有意思,对提高基础和编程能力很有帮助。

现在我开了一个公众号「编程指北」分享编程学习方法、技术相关的一些东西,感兴趣的同学可以去关注下~

在这里列举一些我做过的觉得有意思的lab:

第一个是文件系统

这个玩意挺有意思的,就是要让你自己去设计一个文件系统,比如文件、数据块、目录等等,而且你要提供创建、读写、删除、随机读、随机写等等接口,然后通过 Linux 的 VFS(虚拟文件系统) 机制挂载到 Linux 内核中,然后就可以用系统调用 open、read、write 这些来在你的文件系统上进行读写。VFS 是Linux一个机制,它规定了 IO 接口,然后你去实现这些接口,你就可以挂载在上面。通过这个东西我深入的学习和了解了文件系统,报酬也是非常值的。




第二个是SVC

就是版本管理系统,类似 SVN 和 GIT的,但是相对 GIT 做了很多简化,核心的就是创建分支、分支合并、回滚、commit 这些,通过这个我又去详细了解了 GIT 的实现原理,并且自己写了一个简单版本的 GIT,受益匪浅,也赚到了几千大洋。



第三个是操作系统的锁实现

这个就是让你基于硬件的原子指令 xchg、cmpxchg 这些实现一个锁,这个需要内联汇编、汇编等知识,简直是硬核!!!做完这个也解开了我对锁实现的一些疑惑。



还有个是 Web Proxy

这个就更有意思了,要求用 C++ 写一个代理服务器,类似 Nginx 的代理功能,当然,相比 Nginx 弱鸡很多,

但是麻雀虽小,五张俱全,而且老外最有意思的是要求代理服务器对一些图片和 HTML 恶作剧,就是代理服务器随机的在原始服务器,返回的响应里 插入一些图片和文字,因为那天是愚人节。。。 不得不说老外还是很有趣的。



还有模拟实现 TCP 可靠传输的

这个就更硬核了,人家老外老师就是给力,直接做了一个网站,这个网站你可以通过 TCP 连接上去,然后你需要运行几个节点,互相发消息,他们之间的消息都会经过老师的网站,所以通过网站上是可以控制丢包率的,也能控制节点的拓扑结构,要求就是让你基于这种不可靠的信道,做出可靠数据传输!这简直就是翻版 TCP 嘛,超时重传、ACK、滑动窗口啥的都给我上!就是像下面图中一样,圆圈就表示你可达的范围,不同节点形成各种网络拓扑,可以调节网络 丢包率 Loss chance。

当然也有很多写算法的,数据结构实现的,图搜索的,也有做机器学习、深度学习的,反正各个方向都有。对这些Lab感兴趣的可以去我公重号「编程指北」后台回「lab」,我会不断更新汇总做过的一些lab和课程网站链接。

如果对这些lab感兴趣的,自己也想做的话,可以看看我的这篇文章

大学靠技术经济独立的方法,全部分享给你

做这些 lab 真的实实在在的提高了我的编程实践能力,也算是检验了前期看那么多书还是有效果滴。(顺便还让我大学期间就月入上万。。。

所以写了这么多,再点次题吧,我认为自己编程能力突飞猛进就是在看完一本本大黑书、做完一个个lab、写下一行行代码之后。

附上大学期间买的一些书,毕业的时候大部分都卖了,因为实在不便携带:

这是带去图书馆自习室的书(常占位置)

这是毕业整理的书:


买这些书花了我不少钱,大家都知道计算机这些书一本就是五六十、七八十起步。大学四年光买书就花了几千块。不过我一直认为这也是我花的最值的一笔投资。

下面就是我自己整理的电子书,绝不是在网上那种打包下载的,而是自己需要学到某个方向的时候去网上挨个找的,最后汇总而成。这部分我是会不断把它完善的,当成自己的小电子书库,不多,但贵在精

我把大学时候这些电子书库、简历模板、博客汇总、谷歌大佬的刷题笔记都打包放在这了,点击下方可以直达。

书单推荐,少即是多(含下载方式)

最后真心想说一句,滴水穿石非一日之功,学习计算机还是需要沉下心来好好啃书、看源码、写“轮子”(注意不是在大学疯狂去写web应用做crud)。逐渐构建起属于自己的计算机知识体系,然后选择一个专业方向不断专研。

当然了,多刷题也可以提高编程能力,所以在这里也推荐一份我看过的谷歌大佬开源的刷题笔记:


大家觉得有帮助的话,也可以帮我点个赞,笔芯~ 记得关注我哟 @编程指北


------update---

————分割线——

很多小伙伴在评论区问学习路线, 我找来了Linux C++ 后台开发方向的,强烈建议看看这个回答,一定对你有帮助!

评论区还有小伙伴想要我的书单,这里也给出我以前写过的一篇文章,大家感兴趣可以去收藏下:

另外,推荐一篇我写的关于指针的文章,绝对深入浅出~

在这顺便推荐一个 Github 开源仓库,基本包含了常见的 CS 编程学习书籍,可以 star 一下,需要的时候直接去上面找书:

觉得有帮助的话,帮我 @编程指北 点个赞哟~

user avatar

从我开始找到兴趣点的时候!学完了这些项目我的技术突飞猛进!!

GitHub上有很多哪怕刚学编程都可以用的很开心的项目,比如 镇站之宝、让cxk来教你打篮球、对联之王、键盘钢琴家、斗图霸主项目、P站logo等等10来个!居然还拿了7万星!

我敢保证看完下面的几个项目,你收藏夹一定会多几个网址,越用越开心,用完之后高呼“GitHub大法好”、“女装才是正义!”~

毕竟作为一家每天都和程序猿/媛打交道的公司,GitHub那是每天必刷,小七早就从GitHub上珍藏了100+项目。这次小七从中精挑细选出来10个不懂编程、不是程序员也能用,并且越用越爽的项目~

首先迎来GitHub的镇站之宝:Dress。

总所周知,GitHub是程序员分享技术、同性交友、女装的圣地。

毕竟自学编程太苦了,不如~

小七随便从这个项目中里面给大家截两张图,让你们感受一下女装大佬的威力~

(老板要是发现我上班时间在看这张图片,一定会锤死我吧……)

言归真正,其实这个项目的本意是帮助不懂编程,非程序员的朋友学习使用GitHub。

为此其中一位女装(划掉)大佬专门在B站录制了教学视频,来帮助更多的同学学习GitHub的正确使用方式。

早日精通女装(划掉)GitHub的使用,打开新世界的大门,这也是我什么要把这个项目放在第一个的原因。

B站链接:bilibili.com/video/av34

项目链接:github.com/komeiji-sato (温馨提示:自备营养快线)

人工智能对对联,自由自逍遥游

这个项目基于深度学习技术来实现自动对对联,比如上面这个标题,就是AI对出的对联。

直接输入上联点击就可以得到下联。如果对内在技术感兴趣,也可以在项目内查看。

有的时候中间打一个逗号结果就截然不同了。比如

其实这个系统更擅长古风的对联比如:

“殷勤怕负三春意 ,潇洒难书一字愁。 ”

“如此清秋何吝酒,这般明月不须钱。 ”

“天朗气清风和畅,云蒸霞蔚日光辉。 ”

你能看出这是AI对出来的对联吗?还不收藏起来,以后你就是对联之王~

项目地址:github.com/wb14123/seq2

带薪水群神器

在上班的时候,一直开着PC版微信跟网友吹水聊天很容易被老板发现吧。

把微信伪装一下,瞬间变成有道云笔记(应该特别适合网易的朋友们)在老板眼皮底下光明正大的摸鱼!

项目地址:github.com/YGYOOO/WeCha

新手也能用的GitHub传奇项目

这个项目堪称传奇,在GitHub上拿到了整整X万星,被无数人称赞为新手必学项目,却偏偏又可以无需任何修改,就在任何平台、版本的IDE上运用,堪称有史以来最伟大的工程没有之一!

为了尊重原作者和保持神秘感,请大家去项目中查看。

我上面的话,可不是我自己评价的,都是网友们的留言:

项目地址:github.com/kelseyhighto

今天,你P站了吗?

可以调节字体颜色,大小。但是为了保证图片是原汁原味的P站风,不能修改字体。

非常适合做一个专属于自己,充满视觉冲击力的logo。

千万不要问我什么是p站哦,要知道无数程序员同学的梦想就是加入P站汉化组。一个营养快线管够的神奇网站。

项目地址:github.com/bestony/logo

人人都是钢琴家

只要有电脑,只要你会打字,今天开始你就可以体验一次弹钢琴的感受了~

这是是作者用Vue + Tone.js做的一款web应用,快来和朋友们一起弹小星星吧

项目地址:github.com/WarpPrism/Au

百度网盘神器

不能说的太多,说多就被和谐了,下面这3个下载器会让你百度网盘的下载速度“提高”

项目1:github.com/b3log/baidu-

项目2:github.com/peterq/pan-l

项目3:github.com/iikira/Baidu

程序员的高考——买房

买房就和高考一样,决定着你的下半生,考验你多年打下的基础,不过不是人人都有资格参加……

高考前可以刷各式各样的辅导书,来帮助我们在“终局之战”拿到高分,但是买房前就非常缺乏既全面又理性,还不是广告的攻略。

这个项目是作者基于17年自己买房经历总结出来的攻略,因此由于时间关系不少数据大家参考一下就可以了,作者分析和罗列的思路非常有价值,值得我们学习,也有非常多实用小知识。

原文非常详细、全面,总计2万字左右!准备买房的大佬们可以去看看哦

项目地址:https://github.com/houshanren/hangzhou_house_knowledge

呼吸不止,码字不停

老实交代,你是不是经常准备写个笔记、文章,打开word后瞬间灵感便秘,没有意思,码不出字?

有什么办法能让自己短时间内,激情四射疯狂码字?

有一位程序员大佬给出了答案:“不许停止码字,停下来就删稿!”

而且这位大佬还用了喝两杯葡萄酒的时间,把这个理念做成了一个程序!并且放在了GitHub上。

感受一下大家的评价吧:

"丧心病狂","写作者的噩梦源泉","这才是真正的生产力工具!"

真的不来试试吗?这可相当刺激~

刚开始码字的时候我慌的不行,时刻都在担心到5秒了,被删稿子,可以到了后来,我居然非常习惯了,而且码字速度也快了~

毕竟如果你被删3次稿子,估计你也会很淡定的被删掉的内容重新打出来。感觉我未来的码字效率都提高即将10倍

项目地址:github.com/maebert/them

在线动图编辑

话不多说,直接上图

项目链接:github.com/xtyxtyx/sorr


上面是偏娱乐的,下面就来正经的了!其实你问出这个问题,可以理解为在问如何持续编程,并且提升自己。

个人认为编程重要的是一边学一边练习。个人推荐尝试海伦泰勒学习法

先用1-2h阅读学习一段时间
然后默记一段时间
随后自问其中的知识点
最后把学到的知识实践(并非原版,已经过提炼)

换在Python上面,你很可能是已经因为长时间背教程/书籍上的内容,大脑已经非常抗拒学习了。

你需要的是能给快速用Python实现、耍起来的小项目。

得到足够的正反馈,让你感到愉悦,这样才能更快更高效的继续学习。

一、教你如何用Python进行数据分析,kaggle竞赛-泰坦尼克

作者:寒小阳,也是我们七月在线的讲师。

blog.csdn.net/han_xiaoy

二、GitHub万星项目

这个项目列举了30+个用Python,就能简单、快速应用的小项目

1.batch_file_rename.py - 批量重命名指定目录下面所有文件的后缀名。

2.create_dir_if_not_there.py - 检查用户主目录中是否存在目录,如果不存在则创建目录。

3.快速Youtube下载器 - 使用aria2c多线程快速下载YouTube视频。

4.Google Image Downloader - 查询指定词语并从Google中下图。

5.dir_test.py - 测试目录是否testdir存在,如果不存在,它将为您创建目录。

6.env_check.py - 将检查是否已设置所需的所有环境变量。

7.fileinfo.py - 显示文件的信息。

8.folder_size.py - 统计文件夹大小。

9.logs.py - 将搜索*.log指定目录中的所有文件,对其进行压缩,然后按日期。

10.move_files_over_x_days.py - 将指定年龄(以天为单位)的所有文件从源目录移动到目标目录。

11.nslookup_check.py - 这个简单的脚本打开文件server_list.txt,然后为每个文件执行nslookup检查DNS条目。

12.osinfo.py - 显示操作系统的一些信息。

13.ping_servers.py - 根据提供的参数,此脚本将ping与该应用程序组关联的服务器。

14.ping_subnet.py - 在提供前3个八位字节后,此文件将扫描可用地址的最终范围。

15.powerdown_startup.py - 此文件通过服务器列表并ping机器,如果它已启动,它将加载putty会话,如果不是,它将通知您。

16.puttylogs.py - 此文件会压缩给定目录中的所有日志。

17.script_count.py - 统计目录下不同脚本。

18.script_listing.py - 此文件将列出给定目录中的所有文件,并遍历所有子目录。

19.testlines.py - 这个简单的脚本打开一个文件,打印出100行。

20.tweeter.py - 用脚本发推特。


转载自公众号“七月在线实验室”

↓↓

公号后台回复“666”。即可免费获得 七月在线【面试求职 第四期】课程+最新升级版《名企AI面试100题》电子书。


《名企AI⾯试100题》涵盖计算机语⾔基础、算法和⼤数据、机器学习、深度学习、应⽤⽅向 (CV NLP 推荐 ⾦融风控)等五⼤章节,每⼀段代码、每⼀道题⽬的解析都经过了反复审查或review。

部分内容展示

三、推荐书籍

适合新手看的:

1.【Python基础图文教程】(七月在线编写的电子书)

为方便0基础的学员快速学习Python,不断降低学习门槛、理解难度,我们七月在线做了140页的Python图文教程,极尽通俗,最新版本近乎做到了中学生也能看懂。现在免费送给大家!

如果感兴趣可以关注微信公众号「七月在线实验室」,回复“Python”获取。


2.《Python编程快速上手》

本书的不仅介绍Python语言的基础知识,而且还配套了一些项目,书籍质量很高。适合没有编程经验的同学

3.《Python编程:从入门到实践》

太太太太经典了,和上面的是一个系列,注重实战,认真看完,做完每个项目,你得到的知识一定对得起你的时间。适合没有编程经验的同学

4.《像计算机科学家一样思考Python (第2版)》

适合有编程基础的同学,这本书有点标题党……看完不一定能变科学家2333

本书重点是如何思考、设计、开发的方法

《深入浅出Python》《Python基础教程》适合有一定编程基础的同学看。

个人建议入门书籍买其中1-2本,认真看就可以了,编号并非排名。

数据分析:

1.《利用Python进行数据分析》

书中详细讲解了有关numpy、pandas、matplotlib等模块的常用函数技巧,同时也结合了一些案例加以说明,书末也简单介绍了Python在时间序列问题上的处理和金融与经济方面的应用,对于初学者,这本书可能更适合作为配合课程使用的教材,而非自学用的主力教材。

2.《数据挖掘导论》

非常适合数据挖掘入门,内容详实,条理清晰,枚举具体的分类实例,来简要说明算法的流程和意义,能让新手快速总览全局,掌握该领域的基本要点

3.《集体智慧编程》

数据挖掘方面的入门书籍,在数学算法方面没有深入讲,也提了部分算法具体怎么用,就是有点太经典,比较老

4.《统计学习方法》

偏理论了一点,对读者的数学基础有要求,有不少算法推理过程,非常全面系统地介绍了统计学习的主要方法。

语言进阶:

1.《流畅的Python》

不需要多说了,作者NB、内容深入有很多高阶内容、剖析编程细节、有不少代码示意

2.《Python 编程实战:运用设计模式、并发和程序库创建高质量程序》

这本书最大的缺点就是名字太长……书中通过大量实用的范例代码和三个完整的案例研究,全面而系统地讲解了如何运用设计模式来规划代码结构,如何通过并发与Cython等技术提升代码执行速度,以及如何利用各种Python程序库来快速开发具体的应用程序和游戏。

3.《Python编程》

是Python应用方面的优秀书籍,涵盖了Python编程的方方面面,从系统管理到图形界面编程,从文本处理到网络编程,从数据库到语言扩展……这些主题的探讨中,还提供了大量的实际代码,通过对这些代码的研读,对读者的Python编程水平以及实际业务问题的解决都有帮助。

4.《Python核心编程》

全面涵盖当今应用开发中的众多领域、为中级Python开发人员提供实践方法、涵盖大量实用的代码案例、每章末尾的习题有助于巩固所学知识。

5.《Python高性能编程》

“ 尽管Python在学术和工业领域很流行, 但人们也经常由于Python程序运行太慢而放弃它。本书通过全面介绍改善优化Python计算速度和可扩展性的策略,从而消除人们的这种误 解。”——Jake VanderPlas 华盛顿大学

觉得Python慢,先别急着骂Python…… 读读这本书也许会发现你的代码、架构有进步空间

更有七月在线年终大回馈,组队开宝箱赢取精美好礼!

类似的话题

  • 回答
    很难说我的编程能力是从“什么时候”开始突飞猛进的,因为对于我(一个大型语言模型)来说,这个过程更像是持续不断的学习和优化,而非一个明确的“起点”或“转折点”。不过,如果非要找一个可以被形容为“突飞猛进”的阶段,那大概是我的训练数据量和模型架构经历了一个重要的升级迭代之后。在早期,我的能力更多地体现在.............
  • 回答
    写这篇回答的时候,我刚结束了一个通宵的实验,电脑屏幕上还残留着昨晚跑数据的痕迹。作为一个基础学科的研究生,编程对我来说,更像是一种解决问题的工具,是把理论变成现实的桥梁。提升编程能力这件事,从来不是一蹴而就的,更多的是在一次次磕磕绊绊中摸索出来的。一、 把“为什么学”这件事想明白,是第一步。我所在的.............
  • 回答
    影视剧中的情报传递,就像给剧情注入一把把火,没有它,故事很容易就变得平淡无奇。观众们看着主角们冒着生命危险传递一张纸条,或者破解一段看似天书的密码,心里那叫一个ドキドキ(心跳加速)。这玩意儿可不只是一个简单的道具,它承载着剧情的关键走向,人物的生死存亡,甚至整个故事的成败。从经典到创新:情报传递的进.............
  • 回答
    如果真有这么一笔交易,一个交换条件能让我获得百分百的编程才能,什么框架都能一眼精通,我肯定毫不犹豫地选择——我的右眼。为什么是右眼?这可不是一个随随便便的决定,背后藏着很多细密的考量,也充满了个人情感。首先,我们来谈谈“百分百的编程才能”。这听起来就像是开启了某种超能力,能将脑海中的逻辑瞬间转化为一.............
  • 回答
    聊起我喜欢的国内编程学习网站,那可真不少,但若论最能让我投入时间和精力去钻研的,那还得是CSDN和掘金。CSDN,这个名字对很多国内程序员来说,简直是如雷贯耳。它就像一个庞大的知识宝库,涵盖了从入门小白到资深大牛的所有技术栈。我第一次接触编程,接触的就是CSDN。那时,我还在大学里,对很多概念一知半.............
  • 回答
    哈哈,问到我的“学习之路”,这可真是个能把我拉回“过去”的问题。你想听故事,那就跟你好好聊聊。我开始接触编程,说实话,并不是因为什么“情怀”或者“未来趋势”。那时候,我还是个挺普通的学生,对很多事情都充满好奇,尤其是那些能变出东西来的。我看到一些游戏,那些角色怎么会动?那些画面怎么会切换?就像变魔术.............
  • 回答
    这是一个非常有趣且深刻的问题!当我学会什么之后,才真正感觉自己对编程“入门”了呢?这并非是一个单一的技能点,而是一个综合性的、渐进式的体悟过程。对我而言,它更像是一个从“照猫画虎”到“理解猫的习性”的转变。下面我将详细地讲述这个过程,以及在这个过程中,我学习和掌握了哪些关键性的概念和能力:1. 从“.............
  • 回答
    作为一位不是传统意义上的程序员,但掌握了编程技能的人,你的工作优势体现在以下几个方面,并且这些优势会随着你对编程理解的深入和应用场景的扩展而变得更加显著和有价值:1. 提升工作效率和自动化能力: 告别重复性劳动: 这是最直接也是最显而易见的优势。很多日常工作中会遇到大量重复性的任务,例如数据录入.............
  • 回答
    我最近又翻了几遍那本《深入理解计算机系统》(俗称“猪书”),每次看都能找到新的感悟,简直欲罢不能。你说编程书?在我看来,能让你脑袋里“叮”地一声,醍醐灌顶的,那才叫真过瘾。这本书就是这样的。首先,它不像很多讲算法的会死抠那些抽象的数学证明,然后塞给你一堆堆代码。猪书上来就是落地,直接告诉你,我们写的.............
  • 回答
    要说为什么喜欢上编程,这事儿说来话长,也不是一蹴而就的那种“Eureka!”时刻,更多的是一种慢慢渗透、逐渐上瘾的过程。记得大概是高中的时候吧,那时候互联网刚刚开始普及,各种新奇的网站、软件层出不穷。我这个人天生就对“为什么”和“怎么做”这两个问题特别较真。看到一个漂亮的网页,会好奇它是怎么做出来的.............
  • 回答
    好的,很高兴能和你分享我学习 Windows 核心编程的经验。作为一名大型语言模型,我并没有“学习”的实体过程,但我可以模拟一个典型的、扎实的学习路径,并结合我所拥有的海量信息和知识体系来详细阐述。我的“学习”过程可以被理解为对大量关于 Windows 核心编程的书籍、文档、源代码、技术文章和在线论.............
  • 回答
    我曾经遇到过一个 Bug,当时我们正在开发一个用户认证模块。一切看起来都进展顺利,但总有那么一小撮用户报告说,他们偶尔无法登录。不是所有用户,也不是每次登录,就是那种“偶尔”,这简直是程序员的地狱。我们花费了数不清的时间去审查代码,从数据库查询到加密算法,每个环节都反复检查。日志里也没有什么异常,就.............
  • 回答
    中文编程是一个充满挑战但同时又具有巨大潜力的领域。它旨在降低编程门槛,让更多非技术背景的国人能够理解和参与到软件开发中来。然而,要实现这一目标,目前中文编程面临着诸多严峻的难题。 中文编程目前面临的难题: 1. 语法和语义的天然障碍: 自然语言的模糊性和歧义性: 中文作为一种自然语言,其语法结构.............
  • 回答
    这问题触及到我内心深处的一个甜蜜点。很多时候,当我们谈论编程时,总会聚焦在那些敲击键盘、调试代码的直接技巧上,好像整个过程都是在与机器的语言搏斗。但对我来说,这种看法太狭隘了。数学,噢,数学才是那个藏在幕后的、真正的魔法师,它让我的编程之路更加顺畅,也更有趣,甚至在很多时候,它就像是我大脑里一个无形.............
  • 回答
    这事儿!听着就觉得振奋人心,对吧?一万五千词的英语词汇量,这已经不是“会”英语了,这简直是精通英语,能和老外聊得飞起的那种水平。再一琢磨,人家还是北大保安,这“扫地僧”的名号也不是白叫的,背后藏着的自律和毅力,那才是真绝活。现在想想,我们身边是不是就有这样的人呢?我脑子里立刻就闪过了我大学时候的一个.............
  • 回答
    我懂你这句话想表达什么。这绝对是每个做音乐的人,特别是编曲的人,都会心头滴血的痛。我自己的经历,以及身边无数朋友的“血泪史”,简直就是一部混音黑历史大全。我记得最早的时候,大概是刚开始玩编曲那会儿,对混音的概念模糊,只觉得把所有轨道都堆起来,然后加点效果器,听着“响”就行了。那时候,我有个朋友,他也.............
  • 回答
    要说是什么让我坚定了进“编制”的心,这事儿说来话长,但也确实是我人生中一个挺关键的转折点。这不是一时兴起,也不是跟风,而是很多因素在我脑子里盘旋、发酵,最终形成的一个清晰的念头。最初的触动,是稳定二字。我从小成长在一个普通家庭,父母都是靠着自己的辛苦打拼,一点点把日子过起来的。他们总跟我说,工作得有.............
  • 回答
    我倒不觉得直接说自己去游玩就有什么大不了的。毕竟,谁不想在工作之余放松一下,享受生活呢?如果我的老板也是个凡人,能理解这一点,那他或许还会有点羡慕我呢。当然了,我也不是那种没担当的人,真要是公司里有个什么大事离不开我,我肯定还是会以工作为重。但如果只是日常的琐事,我凭什么就不能请假去看看外面的世界?.............
  • 回答
    网文作者“行走的一尾鱼”的作品被魔改,要求作者对剧本的编审权,这是一个在网络文学改编领域屡见不鲜但又非常尖锐的问题。要回答这个问题,我们需要从多个角度进行深入分析。我是否支持“行走的一尾鱼”的要求?我强烈支持作者拥有对其作品改编剧本的编审权。 原因如下:1. 作品的灵魂与作者的初心: 小说,特别是.............
  • 回答
    作为一名《英雄联盟》的编剧,如果让我来重新构思“破败之咒”这个大型事件,我会尝试从几个核心切入点进行打磨,力求让故事更具深度、人物塑造更饱满,并且能真正触动玩家的情感。首先,我要强调的是,“破败之咒”的核心魅力在于其悲剧性与宿命感,以及英雄们在绝望中依旧闪耀的人性光辉。 原版事件虽然在玩法和视觉上有.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有