手滑的故事

手滑的故事

最近看到这篇文章《小伙伴们手滑集》,觉得感慨很多,强烈推荐大家阅读。比如这样的例子:

UPDATE没有WHERE条件

而我则经历过delete没有写where条件的惨剧,这个惨剧是某些case下面代码调用触发的,不是手动执行SQL发生的。

还有臭名昭著的,我没有经历过,但是我有不止一个同事干过这样的事情:

rm -rf

都只是手稍稍地温柔地“滑了一下”而已嘛……

这些事情我觉得一下子很亲

[......]阅读全文

分享到:

建立动态规划状态转移方程的练习

建立动态规划状态转移方程的练习

大学里面算法课老师教导过动态规划,但是就像看书要把书看厚再看薄一样,要把动态规划彻底理解,还是需要一些时间的锻炼。解动态规划问题,每个人都有自己的习惯的套路,我的理解是最核心的过程有两部,一个是找出问题的一个一个子“状态”,再一个就是建立“状态转移方程”(就是所谓的“递推关系式”)。把这个过程搞定,基本上动态规划的题目就解

[......]阅读全文

分享到:

一点美中医疗的对比

一点美中医疗的对比 最近耳道感染,左耳朵又堵又疼,在美国几次就医,本人虽非医学专业出身,但从局外人的角度,想到和国内那些求医的历史,还是有一些比较可言。

首先对于医生的划分,国内基本上就是根据科室来完成,一个医生在一个科室,时间久了,经验丰富,遂成为出名的医生。好处在于医生更能够专精于自己的一亩三分地,专科阅历容易积累。而看看许多国内的专家,有大量的机会见各种各样奇怪的病人,并且手术的机会也会非常多,因此我猜测经

[......]阅读全文

分享到:

夏威夷游记

6天7夜,仅游玩了O'ahu一个岛,后来总结如果高效率地行进,可能这个岛屿4天就可以玩的差不多了。我很喜欢旅行,但是在旅行计划方面不太在行。夏威夷和我以前去过的菲律宾长滩岛比起来,更加现代一点,价格也贵了接近一倍。期间我们没有坐公交车,全程都租了车行进,并且我觉得花掉的钱里面,租车是最值得的。我把这篇文字记录下来,如果你也有夏威夷的出行计划,那么可以参考参考。

家人和我一起来,都说三个女

[......]阅读全文

分享到:

读写模型整理笔记

读模型

1、主键读

最常见的读模型,说是主键,其实也包括其它索引键,或者联合主键。

常见实现:hash,时间复杂度可以接近O(1);B树或变种:时间复杂度接近O(log(n))。

关于B树和变种:

B树(B-树):本质上是二叉查找树的升级版,变成了平衡的N叉查找树,这个N的范围根据磁盘一次读取的块大小来调整,这样复杂度log n的底数就从2变成一个更大的数,减少了树的高度。除此以外,还有一些额外的

[......]阅读全文

分享到:

从Java和JavaScript来学习Haskell和Groovy(类型系统)

从Java和JavaScript来学习Haskell和Groovy(类型系统) 接上文《从Java和JavaScript来学习Haskell和Groovy(引子)》

首先搞清几个概念:

  • 动态类型(Dynamic Typing)和静态类型:区别的核心在编译期还是运行时。静态类型的语言系统在编译期就明确知道每一个变量的类型,如果发现不合法的类型赋值就在编译期报错;动态类型则直到运行时才会报错。
  • 类型推导(Type Inference),类型推断是指可以在上下文中,编译

[......]阅读全文

分享到:

从Java和JavaScript来学习Haskell和Groovy(引子)

从Java和JavaScript来学习Haskell和Groovy(引子) 我记得刚接触计算机的时候,我就受到了两个非常巨大的错误观念的影响,这个观念最初是来自于老师的传授还是学长的教诲已经记不清了,但是直到我工作几年以后,才慢慢有了实际的体会:

  1. 学习和使用什么编程语言不重要,重要的是算法和设计;
  2. 程序员学习的精髓是面向对象的设计模式,掌握以后,一通百通。

简直就是是胡扯啊。也许在某个极其狭隘的上下文中还能这样说,但是泛泛而谈,这样的态度无疑是误人子弟的。

就说第一条

[......]阅读全文

分享到:

生活的鱼和熊掌

生活的鱼和熊掌 前方鸡汤高能预警。

读书的时候,曾经听到这样的说法,最近几个月,则又听到了两三次,人生选择论,鱼和熊掌说,或者生活跷跷板理论。跷跷板的特点就是,一头摁下去,另一头就起来。本人向来鄙视鸡汤,不过这个理论还是比较赞同的,看来今天破一次例。选择了A,就失去了B;选择了B,就无法得到A。所谓鱼和熊掌无法兼得便是如此。

生活总会值得吐槽

毕业后在南京工作的时候,觉得气候还算过得去,吴侬软语听起来也顺

[......]阅读全文

分享到:

系统设计典型问题的思考

系统设计典型问题的思考系统设计方面的问题问题是非常考验经验和思维过程的,而且和常见的算法问题、语言基础问题不同,涉及的面很广,还没有比较一致的判别标准。但无论如何,还是可以归纳一些常见的思路和典型问题的线索。

首先,反复沟通和澄清系统需求。只有把需求澄清清楚了,才可以开始思考并落到纸面上。但是需求的沟通应该是持续和循序渐进的,问题很难从一开始就思考全面。最重要的条目包括:

  • use cases,通常问题只需要2~3个u

[......]阅读全文

分享到:

一道随机数题目的求解

一道随机数题目的求解 有这样一道算法题:

给定一个能够生成均匀1~5随机枚举数的函数,请设计一个能够生成均匀1~7随机枚举数的函数。

就是说,有一个生成随机数的函数rand5,可能返回1、2、3、4、5这5个枚举值,其中每个值被返回的概率都是严格的1/5,现在需要设计一个类似的随机数函数rand7,可能返回1、2、3、4、5、6、7这几个枚举值,每个值被返回的概率都是严格的1/7。

先掩卷思考,脑海中

[......]阅读全文

分享到:

再谈程序员学英语

再谈程序员学英语

2012年的时候,我曾经写了一篇《程序员学英语》,总结了一些我对于英语学习的看法,包括为什么英语对于程序员来说如此重要,还有一些自己总结的英语学习的方法。时过境迁,在西雅图待了半年多了,于是在这些内容基础上,我现在有了一些新感触,以tips的记录在这里,希望对于像我这样对于英语学习天赋平平的程序员来说有所帮助。

先说明一点,通常情况下我不太赞同高强度的语言训练,譬如连续地花时间背诵红宝书,我没有

[......]阅读全文

分享到:

A page widgetization practice

A page widgetization practice

I was working on the page reconstruction recently, and here is how I divide a page into widgets and how do they interacts in this new attempt.

Core Concepts

Page and widget: A page is composed by sev

[......]阅读全文

分享到:

Java容器类型复习笔记

Java容器类型复习笔记 最近抽空把java.lang下面常用的那些容器类型(数据结构)复习了一下,这些东西是基础,平时使用的时候也可以很容易查得到,有些方法大概知道,但是总是弄混,如果可以记住那些重要方法,并且能够熟练使用的话,还是可以让编码过程变得容易很多。另外一个是实现机制,对于常用数据结构的实现机制,应该说是必须要熟知的。

另外,并发容器我之前整理过,放在这篇文章里。

Queue

  1. add和offer的区别在于达

[......]阅读全文

分享到:

直面歧视

直面歧视

最近在知乎上面看到不少关于歧视讨论的帖子,大部分人的观点都是,歧视是负面的,要避免歧视,尤其是在公众场合歧视的人,要惩戒。这条观点展开来的话题,大部分我都认同,只是我想补充的是,其实歧视没有那么遥远,不要把歧视的事情全部看做多么罪恶深重的事情,事情要一码一码分开来看,有轻有重,我向来厌恶鸡汤,统一的道德帝是可恶的。

首先,来澄清“歧视”的概念:歧视,是针对特定族群的成员,仅仅由于其身份或归类,而

[......]阅读全文

分享到:

LeetCode数据库十道题解答

之前做算法题的途中发现,LeetCode上面推出了数据库解答,有十道题,于是这两天晚上时间就给做了。解答是次要主要的好处是,正好复习复习SQL一些查询语句的写法,比如自定义变量和常用函数。题目都比较简单,少做解释,以贴题目和答案为主。

 

175 Combine Two Tables 32.5% Easy[......]阅读全文

分享到:

XML和JSON

XML和JSON 不久前看到一个讨论帖,说的是XML和JSON的比较,说着说着后来就变成了JSON到底比XML牛逼在哪里。不吹不黑,客观地来比较一下二者的异同。

XML比JSON更胖吗?

有的情况下是的,但也不一定,比较这样的片段:

<user age="18">
    <address>
        <city name="Seattle" />
    </add

[......]阅读全文

分享到:

LeetCode算法题目解答汇总

LeetCode算法题目解答汇总

只要不是特别忙或者特别不方便,最近一直保持着每天做几道算法题的规律,到后来随着难度的增加,每天做的题目越来越少。我的初衷就是练习,因为一方面我本身算法基础并不好,再一方面是因为工作以后传统意义上所谓算法的东西接触还是太少。为了题目查找方便起见,我把之前几篇陆陆续续贴出来的我对LeetCode上面算法题的解答汇总在下面,CTRL+F就可以比较方便地找到。由于LeetCode上的题在不断更新,因此

[......]阅读全文

分享到:

LeetCode题目解答——Hard部分

以下是LeetCode题目解答的最后一部分:Hard部分。

Text Justification
14.0%
Hard

Search in Rotated Sorted Array
28.6%
Hard

Binary Tree Maximum Path Sum
20.2%
Hard

Reverse Nodes in k-Group
24.9%
Hard

Binary Tree[......]阅读全文

分享到:

浮躁

浮躁

最开始是想写一篇2014年总结的,就像《2013年特别回顾》《2012年回顾和2013年计划》一样,2014年我的生活变动如此之大。但是转念一想,一年下来,回忆中可称得上大事的有那么几条,对于新一年的期冀也历历可数,都深深地刻在脑海里面,并不需要单独列成一篇文字,即便需要,微博这样的速食媒介就足够了。但是这其中,有一点我希望做得更好,概括起来,就是希望在2015年可以尽量远离浮躁,静下心来做

[......]阅读全文

分享到:

为什么现在那么多人应聘产品经理岗位?

为什么现在那么多人应聘产品经理岗位?

做程序员?说会coding,一个快排都写得支支吾吾的。

做测试?测试多没地位啊,多没技术含量啊。

做运维?什么操作系统、网络,我也不会啊。

做销售?奔波劳累,还得口才好,我不行。

设计师?我TMD哪有艺术细胞啊。

……

产品经理?这个牛逼!听起来就霸气侧漏啊!不是产品专员、不是产品工程师,是产品“经理”啊,好歹是个经理啊。

举个栗子,看看产品经理的职位要求:

  • 1、大学本科以上学历,3年以上计算

[......]阅读全文

分享到:

Preview on Feedage: