- Видео 108
- Просмотров 1 210 826
码农高天
Добавлен 14 авг 2015
加州工作的微软码农,CPython核心开发者,VizTracer作者。B站:码农高天。
用注释对测试进行分类?这给你能的!
有的时候我们需要对我们的测试进行分类,然后在不同的环境和场合下运行不同的测试集。这次我和大家分享一下我在工作中遇到的一个真实问题,以及我最后给出的解决方案。
Просмотров: 7 812
Видео
想做个人开源项目,应该如何选择方向?
Просмотров 11 тыс.14 дней назад
很多程序员都会想做一个自己的开源项目,这其中最重要的一步就是选对方向。这期视频就来聊一下,个人开源项目应该做什么样的东西,如何判断自己选的题材能不能做成。
【Code Review】把异步写成同步?async可未必就异步了!
Просмотров 5 тыс.21 день назад
Code Review是提升代码水平最快的方式之一,这期视频我们review一个比较复杂的项目的一部分。这个代码使用了异步的架构,然而出现了async就一定异步成功了么? 本次代码:github.com/sunrisewestern/bilipod
【python】C扩展里这些METH_都是干啥的?聊聊C模块的方法传参
Просмотров 2,6 тыс.Месяц назад
可能有很多人并不知道Python的C extension里,当我们定义一个面向Python的方法的时候,给的这个参数是什么意思,分别对应了哪种Python的调用形式,以及在C语言中如何获取Python参数。这期视频我们来好好聊聊这个细节。
【python】queue是个啥?能干啥?啥是任务分配?
Просмотров 8 тыс.Месяц назад
这期视频聊聊queue这个数据结构和python上的应用场景。也讨论了一下producer-consumer模型。尽可能细致地给大家讲解了一下为什么要用queue,以及它有什么好处。
【Code Review】parser是那么好写的么?超级脆弱的代码
Просмотров 7 тыс.Месяц назад
Code Review是提升代码水平最快的方式之一,这期视频我们review一个parser的代码。这个parser写的非常基础,我们可以从这个基础的代码中了解为什么写parser是个难度很大的事情,感受一下有多少corner case是没有被作者考虑到的。 本次代码:github.com/cesaryuan/docx_tag_parser
【Code Review】while loop超时检查?不可能实现的设计?
Просмотров 8 тыс.Месяц назад
Code Review是提升代码水平最快的方式之一,这期视频我们review一个初学者很短的代码,这个功能可能很多人想过,但是大家能意识到这个设计有什么问题么? 本次代码:github.com/songyuc/timeplus
复杂度越低的算法就越好么?
Просмотров 45 тыс.Месяц назад
在我们了解了复杂度这个概念之后,经常会在实际编程中去追求复杂度更低的算法。然而,复杂度越低的算法真的就越合适么?甚至,复杂度越低的算法就越快么?
聊聊3.13中你们感兴趣的特性,和我实现的功能
Просмотров 7 тыс.2 месяца назад
3.13正式发布啦,我们来聊几个新功能。其中包括万众期待的no-gil和JIT,新的REPL,还有我实现的PEP 667以及几个pdb的feature。
【python】我用了多进程怎么程序反而变慢了?
Просмотров 13 тыс.2 месяца назад
这期视频我们聊一下为什么很多人用了multiprocessing之后,程序没有变得理想中那么快,甚至还变慢了。我们会用到VSCode的viztracer插件来直观地展示各个进程到底都做了什么。
Python之禅作者因坏坏被踢出Python社区?
Просмотров 11 тыс.3 месяца назад
上个月Python社区发生了一件大事,今天我们来聊聊它。Python之禅的作者Tim Peters,怎么就忽然被suspend了?
【python】详解变量作用域,局部闭包还是全局?
Просмотров 1,7 тыс.3 месяца назад
这期视频聊一下Python中对变量的作用域的判断方式,以及一些常见的问题。视频的最后留了一个小问题,大家可以自行研究。
【python】闭包的实现机制。嵌套函数怎么共享变量的?
Просмотров 2,5 тыс.3 месяца назад
这期视频我们讲一下闭包,也就是closure的实现机制。我们在一个函数里定义另一个函数的时候,会发现内部的函数可以直接使用外部函数的变量,那这个机制的内部实现是什么样的呢?
【Code Review】raise还是assert?降低重复代码?给视障人士的支持!
Просмотров 6 тыс.3 месяца назад
Code Review是提升代码水平最快的方式之一,这期视频我们review一个NVDA的插件。代码比较简单,但是也有不少可以讨论的地方。更重要的是,希望大家了解视障人士这个群体。(投币捐款的活动是在B站做的,已经结束啦,大家就看code review就好) 本次代码:github.com/hwf1324/NVDAUpdateMirror/blob/feature-API-Update/addon/globalPlugins/updateMirror.py 支持NVDA:www.nvaccess.org/support-us/
【python】Unreachable的对象咋回收的?generation又是啥?
Просмотров 4,1 тыс.3 месяца назад
【python】Unreachable的对象咋回收的?generation又是啥?
【python】weakref是什么?带你入门弱引用!看了才知道程序可以这么写
Просмотров 8 тыс.5 месяцев назад
【python】weakref是什么?带你入门弱引用!看了才知道程序可以这么写
【python】Faster CPython的重要力量--Specialized Instruction
Просмотров 6 тыс.5 месяцев назад
【python】Faster CPython的重要力量 Specialized Instruction
【python】来学学debugger吧,不能只会用print调试呀!
Просмотров 19 тыс.5 месяцев назад
【python】来学学debugger吧,不能只会用print调试呀!
如何正确地提github issue?开源项目作者来和你聊聊这个重要技能
Просмотров 6 тыс.6 месяцев назад
如何正确地提github issue?开源项目作者来和你聊聊这个重要技能
【python】如何做字典的键值判断?if,get还是try?一个视频讲清楚!
Просмотров 7 тыс.6 месяцев назад
【python】如何做字典的键值判断?if,get还是try?一个视频讲清楚!
哈哈哈,根本进不了repo因为你code review都过不了🤪
蠻有趣的想法
很棒的概念, 謝謝分享!
牛逼
挺讚的 謝謝哥
一直在用了, 而且全程都是 ai 写的.
React: 'use sercer', 'use client', 'use cache' Python: ''' #use gpu '''
牛啊!大道至簡!!!
理解了,有意思
挺讚的 再搭配VSCode的Todo Tree模組管理標籤也很香
初始化局部变量有一个好处,不管用什么语言编程,都不会出现诡异的值,通用性好。
我不是Python專家,不能使用裝飾器來標記函數嗎?
1:17 就有講了,也講了缺點
@@dojjy5798不能自己實作裝飾器達到opt in的效果嗎?
@@dojjy5798自己實作裝飾器也達不到opt in的效果嗎?
缺點是skip if 不是裝飾器?
decorator實際是重新包裝函數,所以一定會對函數有所更動 有時候出錯很難判斷是不是因為decorator才出錯的 所以才找了一個完全不影響函數進行的方式
我还以为用pytest的mark。 这个用法挺有意思
Thanks. 希望pytest能将tagging加入到framework native supported features 里面去
它给我推荐看标题点进来的, 没想到是你! 看到你这张脸立刻点赞!
看到大家骂得那么起劲,我就放心了。
老闆挑剔你代碼過長怎麼辦
哇操...居然是這樣的..
寫的很好 下輩子再寫
man you're a gen.
python 小白,看得一愣一愣,深知multithreading 还有 multiprocessing有待提高
我不知道描述器是多么重要的东西,因为你没讲它有什么用😂
请问这个 写编程的软件是啥啊
关于绝对引用和相对引用问题,是不是我哪里理解有出入,希望不吝赐教:)请参考PEP8,其中指出:Absolute imports are recommended, as they are usually more readable and tend to be better behaved (or at least give better error messages) if the import system is incorrectly configured (such as when a directory inside a package ends up on sys.path). Standard library code should avoid complex package layouts and always use absolute imports.
進攻型編程: 呦?又在寫bug啦?
看到一半就覺得他就是想同步的作法去寫~
这年级就满头白发。好恐怖!
1. **明确目标**:个人开源项目的成功以用户数为指标,只要有一定数量的人在使用你的项目,就算成功。 2. **选择项目方向**: - **选小不选大**:选择一个狭窄的领域,最好是你熟悉的领域,以便能够做出比其他人更好的成果。 - **竞品调研**:了解市场上是否已有类似项目,避免重复造轮子,确保你的项目能明显优于现有项目。 - **预估开发时间**:对于个人开发者,第一个可展示的版本应在几周到几个月内完成,以保持热情并及时获得反馈。 - **项目独立性**:即使在用户很少的情况下,项目也必须能够成立,不依赖于大量用户才能运作。 - **成本考量**:评估项目可能带来的经济支出,尤其是对于需要GPU等资源的项目,避免因成本过高而影响项目进展。 3. **项目推广**:项目开发到第一个版本发布的时间不应超过一个月,以便快速获得用户反馈和调整方向。 4. **持续发展**:即使选好了方向,项目的成功最终还是要靠项目本身的质量。 5. **建议**:在项目初期,避免涉及金钱,专注于开发工具和有趣的项目,直到积累了足够的经验后再考虑涉及金钱的项目。
超級清楚
太實用了,跟別人合作寫code一直衝突😢
開源項目要到哪宣傳呢?
更好的防御性编程:跳槽到一个你很清楚在很长的未来经费都充足的项目和善待员工的公司
也许你的最终目标是 有XXX牛逼功能的YYY. 那么, 你可以先基于YYY, 做一个XXX功能的插件, 或者fork出来开发.
一开始要构思好, 最快的时间做出一个MVP 一方面是花时间想好, 哪些功能是MVP必要的, 多想想, 这个功能能不能先不做, 那个功能能不能先不做. 一方面是, 次要考虑界面美观, 因为这些可以找别人帮忙. 你自己要优先把核心流程搭出来.
"上来就做一个新的操作系统怎么能够成功呢..." Linus Torvalds: "我做了一个小开源操作系统,你们看看有没有什么想要的功能”
高天哥哥能談談如何加入大型開源項目嗎
写翻墙的 Star 很好赚
油管上没那期脱口秀啊
開源要如何營利呢? 寫程式也是要生活的,沒錢沒動力啊。
有几种: 1. 开源项目的支援服务。 2. 开源版和付费版的区分。 3. 开源版和云端版。
又或者,自己维护开源项目,然后大公司就会抛橄榄枝了🎉
如果自己的经济抗风险能力不强,那么最好不要全职做开源,只把开源项目当业余爱好。劣势是很容易被主职工作消磨掉热情,但至少不会让你没饭吃。 现实情况就是只有少数有一定规模的开源项目能走向盈利(通常有大公司或基金会的赞助),大部分则是连捐赠都收不上来多少。
天哥,最近想更新一下開發用電腦,想問問您意見。 我知道你在微軟上班,但macos跟windows哪個對於個人開發者來說更好用呢?雖然在兩個環境好像基本上應該都有解決方案,但就是想參考大佬的意見😂
下次希望可以分享你的选择和经历
讲的挺好的,为你点赞
超讚,我也認為小而精,短期且具體,快速迭代才是對的方向
自私的程序員如我,希望有一個能和 Rails / Laravel 比肩的 Python 框架。
很不錯也很現實經驗的分享,感謝~
谢谢分享
省流 1. 選題的領域夠窄 避免競爭者 獲得先發優勢 2. 做好競品調研 3. 估計好初版release時間 不求完美但求有競爭力 最好在幾周到幾個月 4. user很少也要能成立 5. 考慮經濟成本
除了教學,我也很喜歡看這種談話類型的影片, 實用的內容、精神的語氣、豐富的表情和手勢,真的讓我對天哥的談話性影片很有印象, 尤其是之前 Windows 藍屏事件的那隻,我很喜歡。
我是典型的反面教材了。我的第一个开源项目是个文献笔记管理工具Sophosia,从开发到上线几乎用了一年多快两年。项目太大了,我还得从零学前后端那些东西。
肃然起敬!不过你可以用这个项目的经验和热情去应聘相关公司的职位,然后再用公司的经验和时间反过来补充你的项目,这样才能良性循环
其实我关注笔记+文献软件也有好几年了,因为也想开发一款自己的。结果在收集资料阶段,我发现了200款各种不同语言开发的笔记软件!!我都没有时间去试用一遍!! 所以你这个方向,我是不看好,有问题可以继续交流~
牛逼。
你超级厉害!!!当然不是反面教材!!!!
感觉大家都在开疆拓土寻宝,然后有人守着家里那点破烂儿不舍得撒手