EfficLab 中文
EfficLab 中文
  • Видео 35
  • Просмотров 114 200

Видео

人类奇葩排序算法鉴赏
Просмотров 12 тыс.Месяц назад
人类发明了哪些奇葩排序算法?这期视频,带你大开眼界!
差一错误,实际上差了十万八千里!
Просмотров 1,8 тыс.2 месяца назад
差一错误,实际上差了十万八千里!
与 JS 之父互动?TC39 参会惊掉下巴?贺师俊 Hax:JS 标准之战(上)
Просмотров 5342 месяца назад
相信国内做 Web 前端的同学应该都很熟悉贺老(Hax),贺老身上最突出的一个标签就是他致力于推动 JavaScript 标准,参与 TC39 的工作很多年。作为国内第一位加入国际化标准组织,参与 JS 标准建设的中国人,相信他身上的很多故事是你不曾了解的。我们希望通过这一次访谈,能够打破你对于标准的认知。标准并不是绝对,标准中可能有错误,标准的制定流程可能存在暗箱操作,标准制定的背后也有着商业利益... 「口袋记录」是 EfficLab 的一档访谈节目,我们希望采访互联网科技行业内的不同人、不同角色。打破认知、让信息流动,他们的亲身经历也许会影响你的下一个人生选择。
一个视频告诉你,99%的人都会在「二分查找」上犯的错误!
Просмотров 8232 месяца назад
「口袋算法」是 EfficLab 出品的系列视频,我们将以动画的形式为你重新梳理那些常用的基础算法和数据结构,包括但不限于:搜索算法、排序算法、递归、哈希表、BFS \ DFS、贪婪算法、动态规划、K 近邻算法、各类树、图、迪杰斯塔拉算法...
AI 为什么离不开 GPU?顺序代码 vs. 并行计算!
Просмотров 2,5 тыс.3 месяца назад
AI 为什么依 GPU?今天我们来聊聊这个话题。 EfficLab 通义千问部署脚本: github.com/efficlab/deepgpu-llm-fastchat-script DeepGPU 更多信息: help.aliyun.com/zh/egs/what-is-deepgpu/
策略模式?代码的自然演化,仅此而已…
Просмотров 1,9 тыс.3 месяца назад
「视频代码仓库」 github.com/efficlab/design-pattern-cpp
我们都有五官,但样貌却各不相同 - 模版方法!
Просмотров 8103 месяца назад
「视频代码仓库」 github.com/efficlab/design-pattern-cpp
冠以图灵奖之名的调度算法:MLFQ 多级反馈队列!
Просмотров 3,3 тыс.3 месяца назад
「口袋操作系统」是 EfficLab 出品的系列视频,我们将以动画的方式为你重新讲述《Operating System: Three Easy Pieces》这本经典的操作系统入门教材。如果你对这个系列感兴趣,欢迎关注我们! 「OSTEP 英文版」 pages.cs.wisc.edu/~remzi/OSTEP/ 「视频代码仓库」 github.com/efficlab/pocket-os
你真的了解回调函数(Callback)吗?
Просмотров 4,4 тыс.3 месяца назад
回调函数我们都耳熟能详,但你真的了解吗?
进程调度的秘密 | FIFO | SJF | PSJF | RR
Просмотров 1 тыс.3 месяца назад
「口袋操作系统」是 EfficLab 出品的系列视频,我们将以动画的方式为你重新讲述《Operating System: Three Easy Pieces》这本经典的操作系统入门教材。如果你对这个系列感兴趣,欢迎关注我们! 「OSTEP 英文版」 pages.cs.wisc.edu/~remzi/OSTEP/ 「视频代码仓库」 github.com/efficlab/pocket-os
实现「命令」的最正确方式!
Просмотров 2,4 тыс.3 месяца назад
如何用命令模式构建 IOS 的“捷径”功能? 「视频代码仓库」 github.com/efficlab/design-pattern-cpp
你真的了解 JSON 吗?
Просмотров 3,2 тыс.3 месяца назад
JSON 看起来很简单,但你真的了解吗?
「观察者模式」与「发布/订阅模式」,你分得清楚吗?
Просмотров 6 тыс.3 месяца назад
「视频代码仓库」 github.com/efficlab/design-pattern-cpp
技术人 AI 时代生存指南!
Просмотров 1,2 тыс.3 месяца назад
AI 时代,技术人该如何生存?
用函数式特性优化你的 for 循环!
Просмотров 1,5 тыс.4 месяца назад
用函数式特性优化你的 for 循环!
git-revert 你真的会用吗?
Просмотров 2,6 тыс.4 месяца назад
git-revert 你真的会用吗?
工厂模式?错!是工厂模式群!
Просмотров 3,6 тыс.4 месяца назад
工厂模式?错!是工厂模式群!
RESTful API 那些不为人知的秘密 | 架构 | 万维网 | Richardson 成熟度模型
Просмотров 12 тыс.4 месяца назад
RESTful API 那些不为人知的秘密 | 架构 | 万维网 | Richardson 成熟度模型
高级版 JSON?会产生 RCE 远程代码执行漏洞?
Просмотров 7 тыс.4 месяца назад
高级版 JSON?会产生 RCE 远程代码执行漏洞?
比 JSON、YAML 更好的配置文件语言?
Просмотров 8 тыс.4 месяца назад
比 JSON、YAML 更好的配置文件语言?
你的递归调用是如何被优化的?尾递归优化!
Просмотров 3,5 тыс.4 месяца назад
你的递归调用是如何被优化的?尾递归优化!
混沌之源:可重用代码!
Просмотров 15 тыс.4 месяца назад
混沌之源:可重用代码!
Web 性能大幅提升?JS 杀手?浏览器里调试 C/C++?
Просмотров 9 тыс.4 месяца назад
Web 性能大幅提升?JS 杀手?浏览器里调试 C/C ?
进程如何高效利用 CPU?直接执行!
Просмотров 1,5 тыс.4 месяца назад
进程如何高效利用 CPU?直接执行!
进程编程接口 | Shell 是如何构建的?
Просмотров 1,5 тыс.4 месяца назад
进程编程接口 | Shell 是如何构建的?
程序的运行时抽象 | 进程执行资源与状态
Просмотров 1,8 тыс.4 месяца назад
程序的运行时抽象 | 进程执行资源与状态
口袋操作系统 - 简介
Просмотров 4,1 тыс.4 месяца назад
口袋操作系统 - 简介
极速正则:单词边界 | 行起始\\结束位置 | 环视
Просмотров 1599 месяцев назад
极速正则:单词边界 | 行起始\\结束位置 | 环视
极速正则:匹配模式!
Просмотров 1099 месяцев назад
极速正则:匹配模式!

Комментарии

  • @twang5446
    @twang5446 Месяц назад

    众所周知,电子设备有时候拍一拍就会出问题,那么基于奇迹排序我们还能推出一种更为高效的排序算法:拍打排序😂

  • @jarryzeng3550
    @jarryzeng3550 Месяц назад

    用彩票來比喻 cpu 進程分配演算法... 感覺怪怪的又感覺說不出哪裡怪

    • @efficlab
      @efficlab Месяц назад

      哈哈哈!想问问对这个封标有什么改进建议嘛?第一眼看上去是不是没有点进来的欲望 TT

    • @jarryzeng3550
      @jarryzeng3550 Месяц назад

      @efficlab 以進程分配演算法為主題的話可以直接說 「系統是如何分配工作的?」 我只是覺得彩票感覺跟這個內容的關聯性好像沒那麼高

  • @aleenhattori
    @aleenhattori Месяц назад

    幽默又有趣,点赞!,有个问题,我的OKX钱包里有TRC20 USDT,我有助记词:{pear flame keen lift shine genuine photo other wire motion pact common}我该怎么转到火币网?

  • @Ryan-gf1sz
    @Ryan-gf1sz Месяц назад

    sleep sort在特定情境下會不會有實用價值呢

  • @AlvinYap510
    @AlvinYap510 Месяц назад

    笑死 sleep sort 如果有數千萬的話,那就要好幾年才有結果 還有居然有人會想到等待宇宙射線的 bit flipping 😂😂😂 真的是腦洞大開

  • @Mingming_Studio
    @Mingming_Studio Месяц назад

    除了Sleep sort之外,其他的是在開玩笑吧ww Bogo sort在短資料排序中還是能用的,基於同樣的邏輯改進的話,其實我有個想法 如果每次隨機排序時都分別檢查每個item,已經正確的就不再變動的話,這個排序法會快速得多

  • @ctoid
    @ctoid Месяц назад

    Bogo Sort 是唯一一個能只用一步就排序好一個任一長度隨機陣列的排序演算法

    • @jennycotan7080
      @jennycotan7080 Месяц назад

      哈哈!在混乱当中求巧合的排序算法! 就好比通过上下摇晃一盒什锦坚果来分离大坚果块和小坚果颗粒一样! (搞不好真会有人基于摇坚果来搞个什么排序算法……)

    • @twang5446
      @twang5446 Месяц назад

      那奇迹sort也可以😂

  • @KandyWabbit
    @KandyWabbit Месяц назад

    笑死

  • @Modemon57
    @Modemon57 Месяц назад

    Bogosort 怎么看都很适合量子电脑

  • @billgameful
    @billgameful Месяц назад

    如果真的要在這些屎選出一個 我會選bogo sort 而不是sleep 因為算法最多就是時間太久,但驗證是可靠的。 但sleep sort 要考慮 -負值 -極相近數的存在 -極大數 -陣列長度 考慮這些狀態要寫出一個可靠的CODE就有點困難了。 sleepSort([1e300,0.01,1e10])

  • @3underscoreN
    @3underscoreN Месяц назад

    神聖排序😂O(1) time (

  • @karintension
    @karintension Месяц назад

    只要时钟精度够高sleep sort还是有可能性的

  • @RobinYuan
    @RobinYuan Месяц назад

    我只能说sleep sort很适合给学生演示,sleep sort是这些算法里面最不傻的那一个

    • @Wind_of_Night
      @Wind_of_Night Месяц назад

      sleep sort,需要學生跟老師實際演練。 老師說下課,先跑出去教室的,就是最不認真的。XD

  • @efficlab
    @efficlab Месяц назад

    从评论中又总结出了几个,供大家课后学习 - 斯大林排序(Stalin Sort) - 意大利面排序(Spaghetti Sort)

  • @litfal
    @litfal Месяц назад

    sleep_sort 是不是可以算是 O(n) 阿

    • @PeterThunder200
      @PeterThunder200 Месяц назад

      o(max_element*(arr.begin(), arr.end())) or o(Ai) o(n) is o(arr.size())

    • @anduinxue4729
      @anduinxue4729 Месяц назад

      是 O(1) 啊,n是元素个数

    • @litfal
      @litfal Месяц назад

      @@anduinxue4729 要啟動 n個thread欸

    • @3underscoreN
      @3underscoreN Месяц назад

      O(n+K), K為數列的最大項

    • @jeffrey985
      @jeffrey985 Месяц назад

      @@anduinxue4729 開 n 個 threads 需要 O(n) 時間

  • @Taokyle
    @Taokyle Месяц назад

    stalin sort time complexity: O(n) 比暫時最快的O(n log n)還快。 主要實現方法受斯太林帶領蘇聯的方式啟發。 循環每個元素,如果有未sort好的元素的話就把它刪掉,以達到O(n)的驚人速度。 python實現代碼: def stalin_sort(arr): sorted_arr = [arr[0]] for n in arr: if n > sorted_arr[-1]: sorted_arr.append(n) return sorted_arr

  • @kkl8062
    @kkl8062 Месяц назад

    sleep sort 會排錯🙁 sleep_sort([0, 1e-10, 1e-11]) output: [0, 1e-10, 1e-11]

    • @remarklin
      @remarklin Месяц назад

      睡眠的間隔拉長,避免你set元素還沒放完,前面的thread已經睡醒

    • @jeffrey985
      @jeffrey985 Месяц назад

      而且還不能排負數

    • @Kwenen
      @Kwenen Месяц назад

      @@jeffrey985 只要發明時光機就能輕鬆解決這個缺點了。

  • @fantastic-b2m
    @fantastic-b2m Месяц назад

    我以為會有stalin sort欸

  • @cherryguo2381
    @cherryguo2381 Месяц назад

    issorted的实现是不是可以优化一下,用二分法,logn复杂度

    • @歡迎光臨-j7i
      @歡迎光臨-j7i Месяц назад

      logn 的複雜度太差了,顯然 n! 比較適合

  • @komodiasupport2547
    @komodiasupport2547 Месяц назад

    Sleepsort 最傻x吧。万一排序的数字是负数或不是整数,怎比较?还有是排序几万几十万个数字,程序哪能创建那么多线程。

    • @Wind_of_Night
      @Wind_of_Night Месяц назад

      這些,可以用數學操作手法,讓數字變為〝假性〞整數。 整個數學體系都是建立在正整數的前提之下,其他奇奇怪怪都是後來演變的~【後來的可以回推變成前面的】

  • @duzhuo
    @duzhuo Месяц назад

    好好玩哈哈哈

  • @Kwenen
    @Kwenen Месяц назад

    對於搞AI,一定是選神聖排序!原始資料直接儲存。 神聖的原始資料是絕對碰不起的!! 當你想用資料,你拷一份,在克隆上隨便搞。

    • @Wind_of_Night
      @Wind_of_Night Месяц назад

      跟AI聊天,聊了一段時間,我跟AI,剛聊到哪裡呢? AI表示我也不知道,反正我就是瞎聊~ 【不要碰原始資料,不然到時怎麼搞的,都會忘記】

    • @吼搭啦-h1u
      @吼搭啦-h1u Месяц назад

      所以每個備品衍生更多備品,但他們都要存在且神聖不可碰😂慘啦空間不夠塞

    • @Kwenen
      @Kwenen Месяц назад

      @吼搭啦-h1u 教授:研究室一直買硬碟有什麼頭緒嗎? 我:不知道欸… 沒啦,其實只有第一份最聖神。 其他備品用完就刪,因為只要母帶還在,相同操作就能還原。

    • @吼搭啦-h1u
      @吼搭啦-h1u Месяц назад

      @@Kwenen 哈 但神經網絡自己演算不是每一次都存活測試嗎?失敗的就直接刪了,一直生成跟嘗試新的。

    • @Kwenen
      @Kwenen Месяц назад

      @吼搭啦-h1u 是的確。 每個專案訓練特性各異。 如果是這種偏搜索,當找到好的結果,資料才算用完。 訓練過程就會開一堆檔案出來,結束才清掉無用檔案。 只是搜尋結果也很神聖,所以建議把最終結果存起來,過程刪掉(省空間)。 教授:…你!

  • @jra5
    @jra5 Месяц назад

    这集从头笑到尾😂sleep sort最实用,给学生演示好直观。 miracle sort不能在服务器上跑,有ECC纠错,不会有bit flipping ,强烈建议take键盘input,敲一个键flip一个random bit到sort 完成为止🎉

    • @Kwenen
      @Kwenen Месяц назад

      不不不XD。當多個射線準確打中較驗bit與資料,這個資料會是"正確"的,不會被糾錯。我們只要等待Miracle降臨即可!

    • @xorpop
      @xorpop Месяц назад

      有沒有想過模擬翻轉,隨機改變一個 bit的狀態,直到排序正確為止?

    • @Xilillusion
      @Xilillusion Месяц назад

      不不不,sleep排序实用性不good,线程间通讯time有deviation,权重越small越容易出错。 纠错also不是万能的,万一比特反转正好把纠错参数也正好反转correct了呢

  • @noahnye9890
    @noahnye9890 Месяц назад

    第一次的hotfix应该先从main上revert两个正常feat/E,F提交才能构建吧,为什么先构建了再revert呢

    • @efficlab
      @efficlab Месяц назад

      观察的很仔细诶!现实中确实是这样,理论上应该也把 feat/E 和 feat/F 回退。我们视频这里你就当做 E/F 是随时都可以发布的内容,而 One-box 还处在测试阶段,这样就好了。

  • @miku3920
    @miku3920 2 месяца назад

    單元測試再測試

  • @hpxu
    @hpxu 2 месяца назад

    非常精减高效,适合温习。

    • @efficlab
      @efficlab 2 месяца назад

      是哒,可以面试前过一遍

  • @張春德-g8d
    @張春德-g8d 2 месяца назад

    strncpy 忘記在尾端填上 '\0',或是尾端的index超出 範圍

  • @Kazzit_Chang
    @Kazzit_Chang 2 месяца назад

    @2:03这不止0没算吧,这1也没算还多了个5?

    • @jziumo
      @jziumo 2 месяца назад

      i=1开始不是算了嘛,i=5已经无法进入循环了

  • @u1579566
    @u1579566 2 месяца назад

    1500s -

  • @efficlab
    @efficlab 2 месяца назад

    00:38 初期的编程记忆 - 从猜数字游戏开始; 03:29 结缘 JavaScript - 兴趣驱动; 06:23 深入 JavaScript 标准的困难 - 看不懂的 ES3 标准; 08:03 驰骋 JavaEye,标准上的争论 - 坚持己见; 10:14 TC39 初次接触 - ES Discuss 上的讨论; 13:53 与偶像 JS 之父互动 - 万分激动; 15:53 TC39 讨论流程的变化 - 走向 GitHub; 17:26 JS 标准中隐藏的问题 - 潜在的错误设计; 18:10 追随 W3C 的脚步 - 另一次转身; 20:30 TC39 提案流程问题 - 暗箱操作; 25:26 寻找进入 TC39 的契机 - 寻找个人与公司的平衡; 28:18 TC39 初次参会受到惊吓 - 不知所措; 33:14 TC39 背后的商业利益 - 共同体; 37:50 为浏览器厂商而存在 - 字面意思。

  • @singo1232001
    @singo1232001 2 месяца назад

    等AI 能100%攻破JS自動寫代碼 那天 才有可能WA取代JS 但到時 相信 甚至 連WA 都被1010機器碼給取代

  • @romelifeng6696
    @romelifeng6696 2 месяца назад

    为什么使用了刹车策略还要在3种车内重写brake方法做一样的调用,brake函数不要纯虚函数直接实现breakeSystem->execute的调用不就好了。

    • @efficlab
      @efficlab 2 месяца назад

      其实就我们视频的例子而言是可以的,但策略模式多作为一种组合“策略”来使用,所以大多情况是插入到其他流程实现里来用的。

  • @nealmarlin4949
    @nealmarlin4949 2 месяца назад

    我觉得,观察者,一般是两者之间的消息通信。而发布订阅,有三者,是一种更离散的模式,存在一个消息中心、总线或者说中间件,随你怎么称呼。我觉得这是根本性的不同。😅

  • @linuxice0609
    @linuxice0609 2 месяца назад

    7:30 真的是神來一筆啊,太棒了…🥰

  • @永紳林-c5e
    @永紳林-c5e 2 месяца назад

    太清楚了,真的是寶藏頻道

  • @nbspnbsp5639
    @nbspnbsp5639 2 месяца назад

    这东西不是绝对的,特别有经验的,可以适当提前抽象复用代码,是相当有帮助的

  • @nealmarlin4949
    @nealmarlin4949 3 месяца назад

    说的很有道理,所以,面向对象的继承,逐渐变成了面向接口,或者mixin的模式,把重用的粒度变小,用组合代替继承。从复用是什么,变成复用干什么。符合单一原则,避免猴子森林噩梦。

  • @歸虛
    @歸虛 3 месяца назад

    應該跟NPU DPU一起講 這樣好看哪種PU更適合未來的趨勢。

  • @bowenwang
    @bowenwang 3 месяца назад

    接了阿里云广告了🫵

  • @yuyaolin7861
    @yuyaolin7861 3 месяца назад

    語言的功能總是再不斷進步,很難說誰會取代誰,只有哪些語言使用的人多一些,如同C++也一直不斷再進步,和語法的擴展,即便已經使用了三十多年的老語言

  • @c910320
    @c910320 3 месяца назад

    策略模式實際應用時,不就會因為行動產生一大堆類嗎?

    • @wen-zhenliao2775
      @wen-zhenliao2775 3 месяца назад

      基本上寫程式要嘛就是一個肥得要死的超級類, 要嘛是零星的拆成好幾個子類組合起來

    • @efficlab
      @efficlab 3 месяца назад

      是会的,但这个就是代码抽离的结果嘛。分成独立的类后,职责会分离,这样双方各自的修改就不会相互影响。

    • @C072S03
      @C072S03 3 месяца назад

      分離還是會比較好,class多其實沒什麼關系,有好好分類就可以了

    • @c910320
      @c910320 3 месяца назад

      項目啟動時會很慢...

    • @cyanide929
      @cyanide929 3 месяца назад

      @@c910320 你的專案有多少個類別?現代編譯器的最佳化能力,應該不會因為你的專案套用策略模式,就讓使用者感受到程式運行速度下降。

  • @efficlab
    @efficlab 3 месяца назад

    Typo:08:46 SJF 策略的平均周转时间应该是 60~

  • @李承翰-y8p
    @李承翰-y8p 3 месяца назад

    太清晰了!整個打通我唸書時期不懂的部分! 順便求virtual memory的章節

    • @efficlab
      @efficlab 2 месяца назад

      很快会更新到哦~

  • @Lipacat
    @Lipacat 3 месяца назад

    我是覺得這東西怎麼感覺好像寫過很多次了常常去找來複製才會包成一個函數或類

  • @keipi2211
    @keipi2211 3 месяца назад

    傳輸當然是用json 解析容易不易有漏洞 代碼也直觀 YAML也只有配置文件那種文本才比較會用到

  • @HokuangMiao
    @HokuangMiao 3 месяца назад

    写可重用代码的前提是要遵循SOLID principles