小编dkr*_*etz的帖子

什么是最常见的SQL反模式?

我们所有使用关系数据库的人都已经学习(或正在学习)SQL是不同的.引出期望的结果,并且有效地进行,涉及一个繁琐的过程,其部分特征是学习不熟悉的范例,并发现我们最熟悉的一些编程模式在这里不起作用.您见过(或自己承诺)的常见反模式有哪些?

sql anti-patterns

226
推荐指数
28
解决办法
7万
查看次数

在vim中为源代码添加行号

如何在vim中的行范围中添加行号?不像":set nu" - 这只显示数字,但不会将它们添加到文件中.

vim line-numbers

70
推荐指数
4
解决办法
3万
查看次数

使用文档存储vim设置

有没有办法用文档保存vim设置的状态?

澄清:我正在编辑文档,我更改了一堆设置.我不一定记得哪个; 除了当前文档之外,我不想再次使用这些设置.我不想手动设法记住我改变了什么; 或者我改变的设置的神奇缩写是什么.我只想拥有"mydoc.txt",一个"mydoc.vim"文件,它让我回到我离开的地方,设置文件将根据vim设置自动保存,比方说,或者可能是ctrl-key在退出之前完成.如果vim可以自动查找这样的文件,那将会很方便.

并且最好不要将设置编辑进出文档本身.

vim settings

52
推荐指数
4
解决办法
3万
查看次数

VARCHAR像90年代一样吗?

  1. VARCHAR不存储Unicode字符.
  2. NVARCHAR存储Unicode字符.
  3. 今天的应用程序应始终与Unicode兼容.
  4. NVARCHAR需要两倍的空间来存储它.
  5. 第4点无关紧要,因为存储空间非常便宜.

Ergo:今天设计SQL Server数据库时,应始终使用NVARCHAR.

这听起来有道理吗?有没有人不同意任何前提?今天有没有理由在NVARCHAR上选择VARCHAR?

sql-server nvarchar

47
推荐指数
7
解决办法
1万
查看次数

记得Alan Kay的一句话

几年前引用Alan Kay的话说,在过去的20年中,软件中只有三件新东西(实际上是PC的寿命).其中一个是Spreadsheets.

有人还记得其他两个吗?

Alan Kay是谁?(有些人可能会问.)他在施乐公园的工作可以说比其他任何影响更能塑造我们当前的软件范式.

quotes history innovation

38
推荐指数
4
解决办法
2万
查看次数

访问后我们会怎么做?

微软似乎一心要贬低数据库工具的瑞士军刀.facading/file-swapping/cloning/name-your-acronym-连接任意数据库服务器/电子表格/ CSV/flatfiles还有什么其他结果?

您从Access中挤出了哪些奇怪的功能?还有什么可以取代它的位置?

ms-access

34
推荐指数
8
解决办法
3736
查看次数

Wordpress会话管理

我正在使用Wordpress建立一个网站,我想捎带它的会话.但我找不到任何插件,甚至文档.在我开始黑客攻击之前有任何建议或参考吗?

注意:我询问WP是否以及如何使用标准PHP会话本身,而不是如何使用session_start()添加PHP会话.显然任何WP所维持的状态都是通过其他方式完成的.因此,如果我想使用PHP会话,我需要完全自己添加和维护它,使用线程中的技术.

谢谢大家!

wordpress session-management

22
推荐指数
4
解决办法
4万
查看次数

早期约束与晚期约束:比较利弊是什么?

在讨论计算机语言的演变时,Alan Kay说他的Smalltalk最重要的一个属性是后期绑定; 它赋予语言可塑性和可扩展性,并允许不适当的耦合随着时间的推移被重构.你同意吗?是否有早期约束的补偿优势可以解释为什么它似乎是两个范式的主导,哪个域可以使用?

基于使用javascript,jQuery,jsext,actionscript,php,java,RoR和asp.net实现Web应用程序的个人经验(不是广泛或深度不具有权威性)似乎暗示了后期绑定和膨胀之间的正相关减少.早期绑定我肯定有助于检测和防止某些类型的安全错误,但自动完成和良好的IDE以及一般的良好编程实践也是如此.因此,在我的风险规避方面恢复我的理性观点之前,我倾向于抓住自己为后期约束方而生根.

但我对如何平衡权衡并没有很好的理解.

smalltalk late-binding early-binding

20
推荐指数
2
解决办法
2万
查看次数

软件史上的关键次优决策

纵观软件发展的历史,有时会发生一些人(通常是未知的,可能不知不觉地)做什么,在当时,似乎改变了编程的世界琐碎的,短期的决定.我想到了这种性质的事件,以及我们行业对缓解疼痛的反应是什么?

插图(最大的一个我能想到的):当IBM设计了最初的PC,并决定选择半脑死亡8088具有8位寻址存储器,以节省制造成本几元钱,而不是的一个16位选项(8086,680n等),让我们接受20年的地址偏移计算.

(作为回应,unix平台开发中的许多职业都开始了.)

某处向天平的另一端位于代替Ctrl键制作成具有怪物换档锁键位于键盘的左侧端的决定的人.

history

17
推荐指数
15
解决办法
1412
查看次数

YAGNI - 敏捷的做法一定不能命名?

随着我越来越多地将敏捷思维吸收到我的工作方式中,yagni("你不会需要它")似乎变得越来越重要.在我看来,它是过滤错误的优先事项并决定下一步不会起作用的最有效的规则之一.

然而,yagni似乎是一个在SO处几乎没有低声说过的概念.我运行了强制性搜索,它只显示在一个问题标题中 - 然后是次要角色.

为什么是这样?我是否过高估计其重要性?

免责声明.为了抢先回答,我相信我会反对,让我强调yagni是快速和肮脏对立面.它鼓励您将宝贵的时间和精力集中在获得您需要的部件上.

以下是一些人们可能会问的非正式问题.

我的单元测试是根据用户要求或框架结构选择的吗?

我是否安装(并测试和维护)仅在那里的单元测试,因为它们不属于框架?

我的框架生成了多少代码我从未看过(但有一天仍然可能会咬我,即使是yagni)?

我花了多少时间来处理我的工具而不是用户的问题?

对编程时,观察者的角色价值通常在于"yagni".

你使用CRUD工具吗?是否允许(不,鼓励)您将其用作_RU_工具或C__D工具,或者您只需要一个或两个时创建四个代码(加上四个单元测试)?

agile unit-testing extreme-programming yagni

15
推荐指数
1
解决办法
2090
查看次数