最近看的代碼 yield 比較多,上次看到這么多 function* 還是在 koa1 時代,腦子中滿是 yield 和 next,而我自己用這個用的較少,就水個文章學習一下。
原文地址: https://github.com/vorshen/blog/blob/master/yield/index.md
原文地址:https://github.com/vorshen/blog/blob/master/callable-object/index.md
今天我們來聊一聊可調用對象,從底層來說,調用是指新建了棧幀,寄存器指向發生了變化。
從直觀上看可以加 () 執行的就是可調用對象!比如我們熟悉的 javascript 中函數。
或許在生活中大家都討厭定時器,比如周一早上的鬧鐘、承諾老板第二天一早給報告的 deadline;但是在代碼的世界里,定時器扮演著不可或缺的角色:定時任務、超時判斷、幀同步等等。
那定時器的本質是什么?我們使用的定時能力背后又暗藏著什么玄機,請繼續往下看。
HashTable,又稱散列表,一說到這個,可能很多人第一反應就是時間復雜度 O(1)!那是不是時間復雜度永遠都是 O(1) 呢?別人說所得 hash 碰撞又是什么呢?
其實 HashTable 還是有很多細節的,這片文章就帶大家梳理一下 HashTable 的細節,最后一起拜讀一下 v8 和 redis 的 HashTable 相關源碼。
最近團隊進行了一些線程的討論,這里抽空水了一篇關于線程的文章,希望給沒接觸過線程相關知識的同學入個門。
既然要說線程,那就不得不提它的兩個好兄弟,進程、協程。
進程大家應該是最了解的,平時用的 ps 命令就是查看計算機中的進程情況,進程的特點:
上篇回顧:我們說了斗地主游戲的渲染展示部分,最后也講了下 canvas 中交互的情況,下篇的重點就是游戲邏輯。
邏輯主要分成兩塊:流程邏輯和撲克牌對比邏輯。
github 地址:https://github.com/vorshen/landlord
背景:朋友來深圳玩,若說到在深圳有什么好玩的,那當然是宅在家里斗地主了!可是天算不如人算,撲克牌丟了幾張不全……大熱天的,誰愿意出去買牌啊。不過問題不大,作為移動互聯網時代的程序猿,當然是擼一個手機在線斗地主來代替實體牌了。
github 地址:https://github.com/vorshen/landlord
閱讀前注意:
本文分為上下兩篇,本篇講準備工作以及前端一些布局相關的知識;下一篇講 webassembly 實現核心邏輯和 server 端相關。
最近業務比較忙,但是我們追求 3D 世界的腳步不能停下來~某天在路上看到一輛輛飛馳而過的汽車,想到要不要弄一個賽車類的游戲
沒有再用原生,而是使用了 threejs,畢竟大點的 3D 項目,再用原生就是自己給自己找麻煩了……
本文從 0 到 1 講解了這個游戲的開發過程,其中沒有專門的介紹 webgl 和 threejs,沒有基礎的同學可以結合 threejs 文檔一起看,或者先學習一下 webgl 的基礎知識~
游戲地址如下:
相信大家對 Omi 應該都不陌生了,如果還有不了解的同學先看看這里。了解并使用 Omi 之后你會發現真的回不去了~~~
先簡單說一下吧,Omi 就是一個可以快速開發項目的組件化框架,和 vue/react 一樣為了節省生產力的。想了解 Omi 和 vue 還有 react 區別的,上面文檔有講解,或者加入群 256426170,可以面對面咨詢 Omi 作者 dnt。我這篇文章將使用 Omi 從 0 到 1 來完成一個移動端的項目,讓大家了解 Omi 開發的方便快捷。
上次文章介紹了如何用 webgl 快速創建一個自己的小世界,在我們入門 webgl 之后,并且可以用原生 webgl 寫 demo 越來越復雜之后,大家可能會糾結一點:就是我使用 webgl 的姿勢對不對。因為 webgl 可以操控 shader 加上超底層 API,帶來了一個現象就是同樣一個東西,可以有多種的實現方式,而此時我們該如何選擇呢?這篇文章將稍微深入一點 webgl,給大家介紹一點 webgl 的優化知識。
講 webgl 優化之前我們先簡單回憶一下 canvas2D 的優化,常用的 display list、動態區域重繪等等。用 canvas2D 多的同學應該對以上的優化或多或少都有了解,但是你對 webgl 的優化了解么,如果不了解的話往下看就對了~這里會先從底層圖像是如何渲染到屏幕上開始,逐步開始我們的 webgl 優化。
Copyright © 2011-2021 AlloyTeam. All Rights Reserved. Powered By WordPress
粵ICP備15071938號-2