
学习笔记
文章平均质量分 57
binling
这个作者很懒,什么都没留下…
展开
-
Shell Programming的一些常见问题
引号单引号 v.s. 双引号单引号不进行变量替换,双引号会进行变量替换变量是否加引号一个保险的做法是变量总是加引号, 因为变量的值有可能带空格[[ ]]内会把变量替换后的值当成一个整体,但[ ]不会[ ] 和 [[ ]][ 等于 test, 是一个程序,会把] 当成参数列表里最后一个参数[[ ]] 是bash specific的,是bash关键字。[ -f “a.txt” ] && [ -f "b.txt ] 中的&&是连接两个命令的运算符;[原创 2021-12-15 12:32:50 · 654 阅读 · 0 评论 -
面向对象课程学习
设计一般流程:黑盒:1用例分析白盒:2 识别类:分析阶段只identify 问题领域的类,设计阶段可能添加软件世界特有的类,或者 3 识别类之间的关系(关联,泛华,聚合,组合,依赖) 4)画顺序图,结合用例图,完善类图类图是结构设计,顺序图是动态交互设计设计还有一个重要部分是:控制驱动设计,识别主动对象。系统可以看作是一堆对象,对象可以接受消息提供服务,但是一般原创 2015-09-06 16:01:43 · 566 阅读 · 0 评论 -
多线程、锁,可重入,同步,原子性,可见性,非阻塞算法
问题1 什么是Re-entrant Lock锁的acquire是per thread 的, 而不是per call的,也就是同一个线程再次申请已经获得的锁,直接成功返回。如果是非re-entrant的锁,一个线程试图获取已经获得的锁会死锁,因为当前线程会挂起,没有机会release锁synchronized的锁和 ReentrantLock都是 Re-entrant Lock问原创 2015-07-15 19:20:23 · 1546 阅读 · 0 评论 -
map reduce takeaways
首先是数据的partition, share nothing parallel architecture, 执行task的machine独立,各自处理自己的partition,不需要通信暴露给用户的控制点只有2个 map function 和 reduce function,但是整个流程包含更多的步骤,(其他的步骤是infrastructure做的)load: 文件写到 hdfs 就完原创 2016-04-13 11:03:09 · 452 阅读 · 0 评论 -
关系代数,关系数据库基本概念
Data Model:1)structure 2) constraints 3) operationhierarchy/Treelike(give me my children), table, graph, stream(give me next n bytes)数据库 key ideaphysical data independence : interface with原创 2016-04-12 16:16:03 · 969 阅读 · 0 评论 -
关于树的算法的总结
之前总结过,主要分为liang'da'lie原创 2014-09-21 11:52:33 · 1921 阅读 · 0 评论 -
STL 的一些数据结构比较
从功能的角度,基本上vector都支持,这里重点是支持的高效的操作。每种数据结构支持不同的高效操作,所谓高效操作就是O(1) 或者O(lgn)的复杂度。stack 高效的尾部增删vector 高效的尾部增删,但是开放了其他的操作,这些操作是低效的queue 高效的尾部增,头部删deque 高效的头尾都可以增删list 高效的头尾都可以增删,基于双向链表。基于原创 2015-06-04 10:50:57 · 1717 阅读 · 0 评论 -
卡塔兰数的应用
卡塔兰数定义f(n) =原创 2014-09-29 20:17:29 · 892 阅读 · 0 评论 -
session/cache 过期如何实现?
naive的做法是,定时轮询,一个单独线程检查原创 2014-10-27 19:34:09 · 885 阅读 · 0 评论 -
Augmenting Existing Data structure 总结
动态Order Statistic 系统(动态ranking 系统)原创 2014-10-04 17:57:22 · 669 阅读 · 0 评论 -
多进程访问文件的同步
一般面对的都是同一进程中的多线程同步问题,可以用,原创 2014-10-27 18:59:53 · 1272 阅读 · 0 评论 -
数据库索引
术语表:heap table, RID, bookm原创 2014-08-21 00:57:08 · 442 阅读 · 0 评论