草庐IT

读程序员的制胜技笔记11_与Bug共存(上)

1. bug只与规则有关1.1. 如果根本没有任何规则,那么bug也就不存在了1.2. 公司也就可以不用拙劣的借口“哦,那只是一个feature”来做危机公关1.3. 你不需要为规则写一份书面文档——你可以只让它存在于自己的脑海里1.4. Bug是衡量软件质量的基准参考2. 类型有大用2.1. 快速并不仅仅涉及代码编写速度,你还得算上代码维护的速度2.2. 软件开发是一场马拉松,而不是短跑2.3. 指定数据类型是在编程中防止数据编码出现冲突的最早防范措施之一2.4. 类型让你尽早受挫,让你在代码中的隐患酿成大错之前,修复它们2.5. 使用强类型2.5.1. 类型检查可以算是对代码正确性的免费初

读程序员的制胜技笔记10_可口的扩展

1. 可扩展性1.1. 土耳其的一句谚语:“路到眼前必有车”1.1.1. “别为还没到来的事情烦恼”1.2. 单纯的高性能并不能使一个系统具有可扩展性,你需要让所有方面的设计都得能够迎合越来越多的用户1.3. 没有一个单一的方案可以解决我们所有的问题,我们需要把所有用来解决问题的方法放在我们的工具箱里,根据手头的问题来使用正确的方法1.4. 从系统的角度来看,提升可扩展性意味着投入更多的硬件来让系统变快1.5. 从编程的角度来看,可扩展的代码可以在面对日益增长的需求时保持网站的响应速度不变1.6. 某些代码所能提供的负载是有上限的,而编写可扩展代码的目标就是尽可能地提升这个上限1.7. 从零开

读《mysql是怎样运行的》有感

最近读了一本书《mysql是怎样运行的》,读完后在大体上对mysql的运行有一定的了解。在以前,我对mysql有以下的为什么:InnoDB中的表空间、段、区和页是什么?redolog为什么就能实现事务的持久性?到底什么是意向锁?意向锁有什么用?mysql中的外连接、内连接到底是什么?事务中的一致性到底是什么意思?一致性和原子性有什么不一样?现在我对这些为什么都有了答案,下面说说我看书后的个人理解。以下都是以InnoDB而言。问题:InnoDB中的表空间、段、区和页是什么?什么是页?为什么要有页?假设没有页,mysql和磁盘间的交互是这样的:每当有一条数据改动,都要进行磁盘IO。如果修改的数据很

一分钟读懂:矩阵的特征值分解、奇异值分解和伪逆矩阵

通过把矩阵运算分解成多个矩阵的乘法,可以简化矩阵运算,也可发现对应线性变换的一些内在规律和特性。根据不同的目的,有不同的分解策略。本文我们讨论最常用的特征值分解和奇异值分解。1.矩阵的乘方运算定义了矩阵的加、减、乘、除(逆)运算后,数学家们自然希望探索矩阵更多的计算技巧。其中,矩阵的乘方运算AnA^nAn(AAA是方阵)成为一个引人注目的目标。例如,在离散系统动力学这类应用中,需要经常研究下述计算:xn=Axn−1=Anx0\bm{x}_n=A\bmx_{n-1}=A^n\bmx_0xn​=Axn−1​=Anx0​2.特征值分解矩阵的特征值分解可以解决矩阵的乘方问题,最关键的公式如下:A=PD

英韧科技PCIe 5.0 SSD主控4K随机读延时12us,为目前市场最低

2023中国闪存市场峰会(CFMS2023)于3月23日在深圳举行,本次峰会以“探讨未知•探索未来”为主题,齐聚全球领域内核心的存储产业链厂商、终端应用领域企业的负责人和高层管理人员,共商产业未来,寻找存储新机!英韧科技携旗下多款SSD主控及模组产品一同亮相本次CFMS2023。英韧科技的SSD主控产品布局完善,截至目前,主控产品已经完成了从消费级到企业级、从SATA到PCIe的全覆盖,并在本次展会上进行了部分产品的展示。在消费级市场,英韧科技的PCIe3.0主控Shasta+(IG5216)可以提供优质的成本优化方案,完全契合主流PC市场的需求,其中,最新的QLCNAND参考设计将成为高容量

Eclipse 深色主题内容帮助不可读

我正在使用EclipseCDT4.5.2和安装在Windows7上的EclipseColorTheme。问题是当我使用EclipseColorTheme中的“SublimeText2”主题时内容辅助中的第一项(Ctrl-空格菜单)不可读likethat.有没有什么办法可以在不改变整体主题的情况下专门改变那种颜色? 最佳答案 Devstyle拥有DarkestDark和DeepBlack主题,它们真正改进了darkeclipse主题。默认主题经过定制以确保所有颜色看起来都很棒。您可以从Eclipse市场获取:https://marke

读程序员的制胜技笔记09_死磕优化(下)

1. 造成延迟的3个方面1.1. CPU1.2. I/O1.3. 人2. 不要打包数据2.1. 一个打包的数据结构2.1.1. C#structUserPreferences{publicbyteItemsPerPage;publicbyteNumberOfItemsOnTheHomepage;publicbyteNumberOfAdClicksICanStomach;publicbyteMaxNumberOfTrollsInADay;publicbyteNumberOfCookiesIAmWillingToAccept;publicbyteNumberOfSpamEmailILoveToGe

c++ - 如何写入文件然后读回以验证其内容,确保您获得的是磁盘上的内容而不是缓存

我在Windows上使用native/C++/Win32/MFC代码通过MFC序列化保存文档文件。我在写入过程中插入了我自己的CFile派生类,使我可以在写入数据时访问数据。这使我能够在数据输出到文件时计算数据的校验和(或哈希等)。保存文件后,我想允许验证文件的选项。这个想法是重新打开文件并通读它以验证校验和/哈希/等。不过,我想知道是否有可能在刚刚写入文件后,当我立即读回文件时,操作系统可能会给我未写入的数据。在这种情况下,测试并没有真正告诉我文件在磁盘上看起来不错。我的担忧是否成立?如果是这样,有什么办法可以避免这个问题吗? 最佳答案

windows - 为所有用户存储具有读\写权限的应用程序数据的最佳目录?

在WindowsVista之前,我将我的应用程序数据保存到程序所在的目录中。最常见的位置是“C:\ProgramFiles\MyApplication”。众所周知,在Vista及之后的版本中,普通用户是没有权限在“ProgramFiles”文件夹下进行写操作的。所以我的第一个想法是将应用程序数据保存在“AllUsers\ApplicationData”文件夹下。不过这个文件夹好像也有写限制啊!综上所述,我的要求是:该文件夹应存在于WindowsXP及以上版本。系统的所有用户都应该对该文件夹及其子文件夹和文件具有读\写\创建权限。我只想为所有用户提供一个file\files的副本。

单片机读/写端口或引脚区别及具体1个用例(一种基于STC8G1K08A最小8脚嵌入式单片机LED安全夜灯方案)

51单片机读引脚和读端口测试总结_单片机怎么读取引脚电平_爱嘟嘟的小屁孩的博客-CSDN博客近期看了几篇有关单片机读/写端口或引脚的区别的文章,其中上面引用本CSDN的这篇文章,总结的2点感觉还不错,先引用一下:1.51单片机里对某一个I/O口进行读--改--写(例如上面的取反后写回)操作时,读取的是与之对应的锁存器的输出,而不是实际物理引脚的电平;其他非读--改--写(例如上面的ifXX==0)指令读取的是引脚电平。2.读引脚电平时一定要先向该端口写1,然后再读取引脚电平!其中:第2点说的可能是针对已设置I/O为双向的情况! 实际可能不用写1,只需临时改写端口为高阻态也行的,高阻态时不用管原