软件分析与设计
Pages: 1/7 First page 1 2 3 4 5 6 7 Next page Final page [ View by Articles | List ]
Jul 28
保存为扩展名.reg的注册表文件后,双击导入注册表即可



Jun 21

 各位读者好,我最近在 Github 上面发起了一个 JavaScript 算法和数据结构 的仓库,里面有经典算法的集合,还有带有解释的以及进一步阅读的文章链接和 YouTube 的链接的用 JavaScript ES6 实现的数据结构。也有 算法和数据结构 的 YouTube 的播放列表,包含了所有在仓库中提到的视频,你或许会很方便地点击链接就进入课程学习了:)

因此我猜想你已经掌握了项目的主要理念 - 帮助开发者学习和练习算法并且通过 JavaScript 实现。

为了让这个过程更顺畅,我试着为每一个算法和数据结构放了图解的插画,有助于掌握和记住那些算法背后的原理。

你或许在根 README 文件里面发现一些实践的信息,你学习的时候会很方便。一些例如这样的信息:

        
  • 大 O 记号图 - 快速查看哪些算法是最糟的 O(n!) 或者 O(n²)
  •     
  • 一些最常用的大 O 记号列表和它们的性能比较 - 理解 10! 有多大(是 3628800)
  •     
  • 数据结构操作的复杂性 - 为不同的数据结构搜索,读取,插入有多快
  •     
  • 排序算法复杂度的比较表 - 帮助你根据实际情况选择更合适的排序算法。

所有的代码都有 100% 的测试覆盖率。这样做不仅保障了代码能够正确的运行,也给了一个每一个算法和数据结构是如何工作的说明,它们都有哪些基础的操作(假设轮询堆)和边界情况是什么(如果图是有向做什么)。

仓库也有一个训练场(playground)。这仅仅是一个带有空测试案例的小函数模板,在你克隆这个仓库后帮助你开始测试或者运行算法。

当前涵盖有以下数据结构

        
  • 链表(Linked List)
  •     
  • 队列(Queue)
  •     
  • 栈(Stack)
  •     
  • 哈希表(Hash Table)
  •     
  • 堆(Heap)
  •     
  • 优先队列(Priority Queue)
  •     
  • 前缀树/字典树(Trie)
  •     
  • 树(二叉查找树,平衡二叉树)(Tree Binary Search Tree,AVL Tree)
  •     
  • 图(有向和无向)(Graph both dirented and undirected)
  •     
  • 分离集(Disjoint Set)

最重要的是数据结构有超过 50 个流行算法实现。有 排序,查找算法,图/树/集合/字符串/数学 相关的算法。所有的算法也会按照他们的模式归类:

        
  • 暴力破解算法(Brute Force Algorithms) - 查看所有的可能性和选择最好的方案。
  •     
  • 贪婪算法(Greedy Algorithms) - 在当前时间做最好的选择,不用为未来考虑。
  •     
  • 分而治之算法(Divide and Conquer Algorithms) - 将问题分为更小的部分,然后解决它们。
  •     
  • 动态规划算法(Dynamic Programming Algorithms) - 根据之前发现的小解决方案构建一个解决方案。
  •     
  • 回溯算法(Backtracking Algorithms) - 类似于暴力破解,尝试生成所有可能的解决方案,但是每次生成一个解决方案测试是否满足所有的条件,再产生后续的解决方案。否则回溯,然后从不同的路径开始寻找解决方案。

JavaScript 算法和数据结构 仓库仍在开发状态,后面还有更多的算法和数据结构。你可以贡献你的代码为仓库的一部分,也可以是一些众所周知的算法的实现!

希望这个仓库对你有帮助!享受编程吧!

May 21
包管理工具npm和yarn缓存
npm
缓存命令
npm cache 提供了三个命令,分别是npm cache add, npm cache clean, npm cache verify。

npm cache add
官方解释说这个命令主要是 npm 内部使用,但是也可以用来手动给一个指定的 package 添加缓存。(This command is primarily intended to be used internally by npm, but it can provide a way to add data to the local installation cache explicitly.)

npm cache clean
删除缓存目录下的所有数据。从 [email protected] 开始,为了保证缓存数据的有效性和完整性,需要加上 --force 参数。

npm cache verify
验证缓存数据的有效性和完整性,清理垃圾数据。

缓存策略
npm 的缓存目录是通过 cache 变量指定的,一般默认是在 ~/.npm 文件夹(Windows 系统在 %AppData%/npm-cache 文件夹),可以执行下面的命令查看

npm config get cache
[email protected] 以前,每个缓存的模块在 ~/.npm 文件夹中以模块名的形式直接存储,例如 koa 模块存储在 ~/.npm/koa 文件夹中。而 [email protected] 版本开始,数据存储在 ~/.npm/_cacache 中,并且不是以模块名直接存放。

npm 的缓存是使用 pacote 模块进行下载和管理,基于 cacache 缓存存储。由于 npm 会维护缓存数据的完整性,一旦数据发生错误,就回重新获取。因此不推荐手动清理缓存,除非需要释放磁盘空间,这也是要强制加上 --force 参数的原因。

目前没有提供用户自己管理缓存数据的命令,随着你不断安装新的模块,缓存数据也会越来越多,因为 npm 不会自己删除数据。

离线安装
npm 提供了离线安装模式,使用 --offline, --prefer-offline, --prefer-online 可以指定离线模式。

–prefer-offline / --prefer-online
“离线优先/网络优先”模式。

如果设置为 --prefer-offline 则优先使用缓存数据,如果没有匹配的缓存数据,则从远程仓库下载。

如果设置为 --prefer-online 则优先使用网络数据,忽略缓存数据,这种模式可以及时获取最新的模块。

–offline
完全离线模式,安装过程不需要网络,直接使用匹配的缓存数据,一旦缓存数据不存在,则安装失败。

yarn
缓存命令
yarn cache 提供了三个命令,分别是yarn cache ls, yarn cache dir, yarn cache clean。

yarn cache ls
列出当前缓存的包列表。

yarn cache dir
显示缓存数据的目录。

yarn cache clean
清除所有缓存数据。

缓存策略
官方文档没有详细介绍缓存策略,不过进入缓存目录也可以看出一些端倪。在 ~/Library/Caches/Yarn 文件夹中,每个缓存的模块被存放在独立的文件夹,文件夹名称包含了模块名称、版本号等信息。

离线安装
yarn 默认会使用 “prefer-online” 的模式,也就是先尝试从远程仓库下载,如果连接失败则尝试从缓存读取。yarn 也提供了 --offline 参数,即通过 yarn add --offline 安装依赖。

另外 yarn 还支持配置离线镜像,通过以下命令设置离线缓存仓库。具体细节参照官方博客《Running Yarn offline》。

yarn config set yarn-offline-mirror ./npm-packages-offline-cache
May 7
有后台的,npm组件的,基于ts的,集成单元测试的,更多可git上撸一下
Highslide JS
https://github.com/typescript-project

Apr 27
移动的端的1px,你懂的,这个是真的,挺好用的


使用
Mar 5
《css秘密花园》下载
Jan 24
vue-tools vue程序员必备,实时查看组件data数据和vuex数据等
Download ( 3125 downloads)


juejing 掘金谷歌插件,实时显示热门技术
Download ( 2745 downloads)


草料,显示当前页面为二维码
Download ( 2724 downloads)

Pages: 1/7 First page 1 2 3 4 5 6 7 Next page Final page [ View by Articles | List ]