你如何把表放在首要位置?...人们称这些“链接”表为“关系”,但没有生命的非常愚蠢的人把所有表都成为“关系”,并且热衷于使那些想要完成工作的人困惑。在我的书中,具有数据的表是“表”,将表连接在一起的表称为“关系”。...第一种形式是更明确的风格,最有可能是你应该使用的东西。它指定要插入的列,后跟VALUES,然后要包括的数据。这两个列表(列名和值)都在括号内,并以逗号分隔。...在这些表中,我创建了第三个关系表来链接它们。你如何摆脱这个关系表person_pet,并将这些信息优雅放在person里面?这个变化暗示了什么?...如果你可以把一行放入person_pet,你是否可以放多行?你如何记录一个疯狂的猫女士与 50 只猫? 为人们可能拥有的汽车创建另一个表,并创建其对应的关系表。
让我们倒退一步 每一个线上业务,无论是实体店还是电商网站,都可能会费尽心思来作出网站应该如何被看待、被感受和该如何构建的决策。 最大的决策通常是这样的:我们该如何构建我们的网站?...那么我们应该在URL哪里添加文件夹呢? 这里是两个我常会提出的问题: 我需要将这个模板中的页面一起分组吗?...Ø 如果存在我想要做的常见分组,那么我应该考虑把它放在URL中,除非那些分组数据是可以改变的。 我们来看几个例子。 让我们先回到产品示例:假设我们正在为一家时尚网店设置产品URL。...我需要把产品一起分组吗?是的,几乎可以肯定。显然我们需要在URL中进行分组,且应该把它们放在一个“/product/” 的文件夹中。 在这个模板中,我该如何给这些URL分组?...例如,添加以下文件夹可以让你轻松衡量到顶级文章的效果: 旅行 体育 新闻 当然,既然不按类别分组,你就应该把它们放在“/ blog /”或“/ guides /” 之类的文件夹里。
一个变量对应了多个值,那我们是如何找到test变量下的每一个具体的值的呢?很简单,列表型变量通过‘值’在列表中的位置进行定位。‘值在列表中的位置’就是索引。每个索引都指向唯一的一个值。...我们可以对每个列表中的值进行操作,也可以把它们揉在一起操作: ? 好了,到目前为止,你应该知道什么叫做列表型变量,以及如何找到这个列表下面的每一个值。...下面我们来引入一些基本的操作列表型变量的方法(method)。 操作列表型变量的一些方法(method) 如果你还记得那篇介绍string的文章,我相信你应该还记得什么叫做‘方法’。...它可以把接收到的参数放在列表的末尾。让我们把test列表赋值为空(这样方便观察),然后做做实验: ? 然后调用.append()方法。...Insert方法接收两个参数,第一个参数是我们想要在列表的那个索引位置上进行插入,第二个是我们想要插入的值。我再次强调,列表的索引值是从0开始的。。。
文章作者提供了一个提炼的小技巧,你如果不知道如何提炼分解这个类,你可以去查看客户端是如何使用他们的,然后通过Extract Interface提炼接口,借助于这些提炼接口,可以帮助你知道如何更好的分解这个过大类...但如果你此时函数的参数列表过长或者变化太频繁,你确实应该采取本手法来进行重构。 Divergent Change(发散式变化) 我们需要软件更容易被修改。...如果一个函数中,只有一部分受这种“依恋之苦”,你应该用Extract Method把这一部分提炼出来,然后通过Move Method把这个提炼的函数移动到他所依恋的类中去。...如果出现一个函数需要用到几个类的时候,我们会很难判断究竟应该把它放哪。这个时候有个小技巧你只要记住,这个函数获取哪个类的数据最多,就把这个函数移动到哪个类中去。...总之最根本的原则就是:将总是一起变化的东西放在一块儿,数据和引用这些数据的行为总是一起变化的。
这些问题很棘手,如何解决确实困扰了很久 有一个方案,就是分流,多提供几个CDN的域名进行轮询,也就是下载分流。...但它依然面临的问题是域名解析,被ISP运营商劫持就over了(电信、移动它们经常干这种事情) 后来内部讨论的结果是说把这些请求全部放到BGP机房(成本会高一些),然后较大的补丁文件放到CDN上,购买几家...我们来做这样一个实验,使用libcurl访问www.baidu.com,正常情况下应该是直接返回百度首页,现在我在本地配置nginx(但未配置hosts),规则如下图: ?...然后我访问http://127.0.0.1/index.html ? 这样访问就直接到我本机了,使用了我本机的配置(下图是Nginx的访问日志)。 ? 如何做到的呢?...其实还是有解析的,只是这一步完全交给腾讯的那个动态接口了,它会根据域名来返回离我当前请求网络最近的ip列表 希望这篇文章对同样被域名解析所困扰的同行有所帮助吧,如果你有更好的方案,欢迎一起讨论:) 本文参考链接
既然MVC是一种设计模式,那么他就应该在任何地方都可以使用。比如三层。 有人说MVC里的V相当于三层里的UI,M相当于三层里的DAL + BLL。...假设我们要显示博客园的首页,再缩小一下范围,我们要实现首页的里博文列表。美工做出来的html是这样的(代码一),那么这个是不是V呢? 下一步,我们要把数据库里的数据填充上。...然后我们要把html和数据合在一起,我们可以写一段js(代码三)来实现。那么这段js是什么呢?这个我也有一些犹豫,不知道是属于M还是应该属于C。暂且先放在这里。 这些东西如何配合工作呢?...页面加载后触发,加载V,加载M,调用代码三,把html和数据合在一起。 那么我上面说的这些是不是应用了MVC设计模式呢?这个我还真不敢确定。如果你说,这些都是三层里的UI,那么我同意。...不过如果你说这些都是MVC里的V,那么我就不同意了。呵呵。 刚刚学习jQuery,js的底子也比较烂,所以代码比较惨不忍赌了,希望能够把我的意思表达出来,大家多多包涵。
既然属性名称、个数是固定的,只是值不一样,那么我们是不是可以把属性值放在XML文件里面呢?用的时候读取出来给分页控件的属性赋值就ok了,这样赋值的代码写一遍就可以了。 ...(分页控件负责提取数据,不负责如何显示) 第二步:显示数据 一般我们会使用GridView这一类的控件来显示数据,确实是很方便很强大,这个我确实是佩服。...这个问题再加上前面的分页控件的属性的问题,我们可以合在一起考虑。我的思考结果是设置几个表来存放这些信息。 如下图: ? ...等等,新闻列表里面怎么能有新闻内容呢?这个文字也太多了呀,显示不下吧,应该去掉,那么怎么办呢?...不过我只说把信息放在了数据库里面,并没有说我们要手动去修改数据库的记录呀。我们可以给自己写一个管理程序,通过这个程序来管理这些信息。“我写项目的步骤” 这里说的工具就是维护这些信息的。
虽然,官方把它叫做 PPA,但是你不能像其他 PPA 一样将它添加到你软件源列表中,并指望它自动升级你的内核。实际上,它只是一个简单的网页,你应该浏览并下载到你想要的内核。...你需要下载 3 个文件并保存到它们自己的文件夹中(如果你喜欢的话可以放在下载文件夹中),以便它们与其它文件相隔离: 针对架构的含“generic”(通用)的头文件(我这里是64位,即“amd64...”) 放在列表中间,在文件名末尾有“all”的头文件 针对架构的含“generic”内核文件(再说一次,我会用“amd64”,但是你如果用32位的,你需要使用“i686”)...你把它们放在各自的文件夹下,对么?...这这样一起安装就可以避免这个问题。如果你不清楚cd和sudo是什么。
我应该只需要调用 listGroup([‘Cras justo’, ‘Dapibus ac’])方法就行了。这个函数应该了解我要做什么。...const listGroup = items => compose(listGroupTag, listGroupItems)(items) 让我们把这两种方法放在一起,对比一下差异和相似之处。...我还为Dom操作专门创建了一个dom.js,(下面codepen有样例)。 把代码分成不同的库文件使我们能在不同项目中复用这些函数。...我把最终的app放在codepen上,这样你就可以添砖加瓦了。...code` const login = pipe( validateInput, getCustomer, getAuthToken loginResponse); 这就是各种各样的函数了,我强烈推荐把这些函数放在
并不考虑到底如何把汽车生产出来(至少不是重点)。流水线的目的呢,就是要把汽车生产出来,至于汽车是如何设计的并不关心。 ...宽度、高度、最大字符数、Item的填充,这些统统的都是设置属性,简单方便,而且还有一个配套的程序(配置信息管理程序)来辅助修改这些属性。那么是如何实现的呢?请看下面的说明。 ? ...这是一只困扰我的问题,我觉得如果能够把字段作为最小单位,让他们可以灵活的拆分组合,需要哪些字段就把哪些字段组合在一起,这样就简单多了,延迟加载也就完全没有必要了。 ...类的设计是按照类型、结构来设计的,同类的放在一起,其他的放在另一个类里面。而数据库设计是按照数据的异同来设计的。同样的数据放在一起,不一样的放在另一个表里面。 ...我很懒,我觉得这些都很麻烦,我知道有“代码生成器”这个东东,但是他是治标不治本,只能更快的生成代码,而不能根本上解决这个烦恼。
循环可能运行n次,因为在更糟的情况下,我们可能必须遍历整个列表。 所以这个方法的运行时间与列表的长度成正比。 接下来,这里是我的双参数add方法的实现。同样,你应该尝试对其进行划分,然后再阅读说明。...所以放在一起,add是线性的。...用测试ArrayList.add的代码填充这个方法的主体,总是把新元素放在开头。如果你以profileArrayListAddEnd的副本开始,你只需要进行一些更改。...当我们把新元素放在开头,填充profileLinkedListAddBeginning并使用它划分LinkedList.add。你期望什么性能?结果是否符合你的期望?...我将在下一章中展示结果并回答这些问题。
我曾经用它安排过两次假期旅行,还搜索过一些回我老家的短途航班信息。 如果你想要弄得专业一点,你可以把这个程序放在服务器上(一个简单的树莓派就够了),让它每天运行上一两次。...在完成了上面的这些步骤之后,搜索结果应该已经显示出来了。那么,如果我们要把所有搜索结果的字符串都读取出来,保存在一个列表对象里面,该怎么做呢?小菜一碟。...那么,我们只需要用 xpath 把所有包含这个类的元素都抓下来,再弄个循环把它们塞进列表里就完事了。如果你能理解这个部分,那接下来的绝大部分代码应该都难不住你啦。...这个函数还返回一个数据表对象 flights_df 以便我们可以把各种不同排序的结果分门别类,并最后整合在一起。 我试着让变量名看起来比较清晰易懂一些。...但我之前提到过,我们的程序要能自动保存、发邮件通知你等等,这些功能我都已经放在 start_kayak 函数里面啦! 首先,你需要指定出发/到达的城市和乘机日期。
虽然听说一些不错的模块将被加入到Java 9.x 中,但目前为止这是我最大的槽点了。 非暴力不合作 我遇到的最大的麻烦就是如何一起使用基本元素和对象。...例如, 把一个char[] 类型的变量转换成一个列表别提有多费劲了,而且我感觉这种操作根本没必要这么麻烦。 给大家推荐一个java内部学习群:725633148,进群找管理免费领取学习资料和视频。...大佬小白都欢迎,大家一起学习共同进步! 心愿单 我最想要的就是像 Perl 中那种上下文相关的函数了,以及当处理真正的异常时,这些函数可以在一个语言中所扮演的角色。...这些是我最先想到的,不过觉得应该还有更多。认真地说,使用回调函数一直是一个大问题,因为它太麻烦了。不过Java 8 中解决了这个问题,我还是很开心的 =) 愚蠢的默认值 默认的可见性。...Java 中应该提供一个可写的集合接口,现在集合继承自这个可写的接口,只是把所有改变集合内容的方法屏蔽掉。
前言: 前面我们已经学习过lambda的入门,也感性的了解了lambda可以帮助我们解决什么问题,今天跟大家一起深入的学习如何使用、以及在哪里使用lambda表达式。...Lambda表达式的语法 在哪里使用、如何使用lambda Lambda扩展 一、lambda表达式语法 如果你见过lambda表达式、或者你看过我的上一篇文章,你应该见过类似下面的代码 Thread...我们发现lambda表达式主要包括三个部分: 1、参数列表:()里面的内容,如果为空,那么就没有参数 2、箭头:把参数列表和主体分开 3、Lambda主体:是一个表达式或者{}的内容,有返回值(返回值可能为...好了,我相信到这里,小伙伴们应该都会使用lambda表达式了。我们有没有想过,lambda表达式是如何和函数式接口发生关联的呢?当我们使用下面的代码他是如何工作的呢?...好了希望通过这篇文章可以让小伙伴们学会如何使用lambda表达式,下面我还会跟大家一起学习Stream流和Optional等java8的新特性。
我做了一些搜索,但找不到其他来源。我本打算从论文里将机构提取出来,但在浏览了几篇论文之后,我发现论文并没有标准化作者栏的格式,以至于它本应该是一项快速任务,现在看起来像一个大工程。...9月份和12月份文章列表的区别 9月份和12月份两个版本的文章数量没有变化,但是其中有部分的文章标题稍做调整,部分文章甚至把标题完全改变(这使得两个版本间的匹配非常困难)。...我没有把谷歌和DeepMind放在一起,这样能看出谷歌多占比例之大。卡耐基梅隆,麻省理工,斯坦福和伯克利是前四的大学。谷歌,微软和IBM是跻身前列的公司。 这些数据和ICML的很相似。...*有关机构名称的备注 让我突然感到有点搞笑的,我花了好多功夫来研究这个展示着在最新的机器学习研究的世界性的学术会议,虽然好像我的任务看起来很简单,只是要把这些数字整合在一起。...下图展示了我如何把最常变换名字的机构整合到一起的小部分代码,我打赌你不知道IBM有11种拼写方法: 原文地址: https://unsupervisedmethods.com/nips-accepted-papers-stats
您也可以把您遇到的一些情况都来算作是一种资源。关于资源先说这些,下面还有详细的说明。...规定一下这个资源到底是什么,到底是什么样子的,应该在编码的时候如何去实现这个资源?这个恐怕每个人的想法就有都不一样了,这个就没有对错之分了,只有适合不适合的问题。...所以放在后在展开来的。 【图五】 ? ...每个列表页面都有自己的按钮,按钮是不重复的。 这个其实和权限是没有什么关系的,就是说没有权限他们也是存在的,也是必须的。通过这些资源就可以做到功能到节点、功能到按钮、功能到字段。...这个图是把角色和过滤方案和在一起了,应该分开的,我这里偷了个懒,截图也不是容易的事情呀,呵呵。看图就差不多理解了吧。 7、 全家福 【图七】 ? 把这几个图和在一起,来个全家福。
大家应该还记得在上一篇文章中出现的字符串类型(string)吧!说白了,string类型其实就是一堆单词的集合;把这些单词放在两个英文双引号之间,python就会把它识别为字符串类型。...为什么需要处理字符串 Python程序在接收用户的输入时,会默认把用户的输入当作字符串类型。所以,当我们对这些输入的数据进行操时,可能需要先进行一些处理。...提示 python有一种可以把一堆同类型变量捆在一起使用的变量类型,这种类型被叫做list(列表)类型。...在以后的文章里,我们会更经常的使用这种类型,但现在我们不准备进行更深入的讨论,你只需要知道一个列表类型是多个变量打包在一起的,就足够了。 .split()方法会把你给它的任何变量撕成一个列表。...这么做之后的效果仅仅是整个字符串被放在了列表下面。 现在,再让我们试试传个参数进去,看看能不能把它切成”Null”和”Byte”: ?
为了“有效率”,我们试图在一个工作日内塞进尽可能多的小时,但最终一切都更多地取决于你的注意力,积极性和良好状态(这些都是直接与精力等级联系在一起)而不是工作时间 。...把他们写在一个笔记本上,放进待办事项列表的应用程序里,记在手机里,或是告诉Siri,我不在意你使用的方法。 8. 尽量少使用工具。...不要把查邮箱当做你一天里的第一件事,也不要在晚上看它(这件事毁掉了我的很多个晚上),试着一天只查三次:早上十一点,下午两点和下午五点。你的收件箱并不是一个待办事项列表。...把它清空:每一封邮件都应该是一个可操作的任务(把它和待办列表连在一起),或是一个参考文献(把它发到Evernote或存档),或是现在就应该删掉。 13. 对手机来说也是一样的。...把最重要的事情放在早晨做,并且尽可能地让所有事情自动化(委托,分批等等)。美国总统不需要每天选择他们的菜单和衣服颜色,否则他们的意志力会在晚些他们需要按下(或不按)红色按钮时耗尽。 17.
2.如何组织拆分出的组件文件?拆分出来的组件应该放在哪里呢?一个常见的错误做法是一股脑放在一个名为components文件夹里,最后搞得这个文件夹特别臃肿。我的建议是相关联的代码最好尽量聚合在一起。...为了让相关联的代码聚合到一起,我们可以把页面搞成文件夹的形式,在文件夹内部存放与当前文件相关的组成部分,并将表示页面的组件命名为index放在文件夹下。...关于项目文件的组织方式已经超过本文讨论的范畴,我打算放到以后专门出一篇文章说下如何组织项目文件。这里只说下页面级别的文件如何进行组织。...如何把文章开头说的视图、交互逻辑和业务逻辑区分开来,是衡量一个组件质量的重要标准。以一个用户模块为例。...针对逻辑并不复杂的组件,我个人觉得和组件放到一起也未尝不可。为了简便,我们可以只把业务逻辑封装成hooks,而组件的交互逻辑就直接放在组件里面。如下: <!
对于这个游戏应该拥有什么样的直觉。那么什么驱动着这些直觉呢? ---- 灵感的来源 创意来源于其它领域。 lens #11: 无限的灵感 停止寻找类似你的游戏的游戏。...询问自己如下问题: 我真正试图去解决的是哪个或是哪些问题? 我是否做了一些与真实问题无关的假设限制了我的思路呢? 游戏是不是解决这个问题最好的方法呢? 我如何判断这个问题被我的游戏解决了?...(原文是控制潜意识、抑制欲望,我认为这并不能更好地使用潜意识。事实上,关于如何倾听自己的感受,我推荐阅读「非暴力沟通」这本书。)...空间记忆,把东西放在墙上时,有时候能帮你利用空间位置记住一些东西。 记录每件事,拥有一个好创意的方法就是首先拥有一堆创意。 用数字标记你的列表,比用点点标记你的列表更好记。...混合搭配类别,把你对四大元素的想法集中在一起,然后混搭它们。 自言自语,把事情说出来比让它们在脑子里打转要更加真实。 寻找一个伙伴,一只橡皮鸭也可以,对他说出你的想法。
领取专属 10元无门槛券
手把手带您无忧上云