Published on

ARTS 第14周

Authors

第十四周ARTS。国庆节接近尾声了,这个十一过得有点痛苦,给孩子断奶、孩子发烧,折腾了5天,心疼宝宝啊,感慨下为人父母的不容易

Algorithm

package org.nocoder.leetcode.solution;

/**
 * 21. Merge Two Sorted Lists
 * <p>
 * Merge two sorted linked lists and return it as a new list.
 * The new list should be made by splicing together the nodes of the first two lists.
 * <p>
 * Example:
 * <p>
 * Input: 1->2->4, 1->3->4
 * Output: 1->1->2->3->4->4
 *
 * @author jason
 * @date 2018/10/7.
 */
public class MergeTwoSortedLists {

    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
        ListNode dummy = new ListNode(0);
        ListNode l3 = dummy;
        
        while (l1 != null && l2 != null) {
            if (l1.val <= l2.val) {
                l3.next = l1;
                l1 = l1.next;
            } else {
                l3.next = l2;
                l2 = l2.next;
            }
            l3 = l3.next;
        }
        
        if (l1 != null) {
            l3.next = l1;
        }
        
        if (l2 != null) {
            l3.next = l2;
        }
        
        return dummy.next;
    }

    /**
     * Definition for singly-linked list.
     */
    public class ListNode {
        int val;
        ListNode next;

        ListNode(int x) {
            val = x;
        }
    }
}

Review

CAP theorem

左耳听风-分布式系统架构经典资料

  • Consistency: Every read receives the most recent write or an error
    • 一致性:每次读取要么获得最近写入的数据,要么获得一个错误
  • Availability: Every request receives a response that is not an error
    • 可用性:每次请求都能获得一个响应,并非一个错误
  • Partition tolerance: The system continues to operate despite an arbitrary number of messages being dropped (or delayed) by the network between nodes
    • 分区容忍:尽管网络丢包或延迟,系统任然继续运行

CAP定理表明,在存在网络分区的情况下,一致性和可用性必须二选一。而在没有发生网络故障时,一致性和可用性是可以被同时满足的。

Tip

Sorry, There is no tip this week.

Share

不能改变,那就接受

分享一篇去年写的关于抱怨的短文

办公室里,大街上,火锅店里,电话里… 很多地方你都能听到各种抱怨的声音,诸如此类:

“这个傻叉写的什么烂代码,格式化一下都不会嘛” “出尔反尔啊,本来你不是这么说的啊,这个傻叉,卧槽” “一会儿让我这么干,一会儿让我那么干,真是搞笑,哎” “这加班加的,还让不让人活了,真TMD不想干了” …

当然,我也说过类似的话,而且不止一次。

那,咱们来说道说道,“抱怨怎么了,有什么不对吗?”

或许你认为抱怨是发泄愤怒情绪的一种方式,爆几句粗口,然后转过身,眼不见心不烦,不了了之,但是当你再次遇到相同的情况,可能情绪会更加糟糕,并且可能予以更激进的抱怨。

结果呢,问题并没有解决。

什么是抱怨

抱怨:表达哀伤、痛苦或者不满。

抱怨是人出来的。“抱怨”和“陈述事实”有区别,它们表达的情绪不一样。抱怨的时候会散发负能量,唉声叹气,爆粗口等,如果你身边有这样的人,他可能也会影响到你的情绪或者处事的方式。

抱怨使我们关注问题本身,以至于我们不会去考虑解决问题、改善境遇的方法。

不管是对自己、还是对别人抱怨,都产生不了积极的影响,只会让事情变得更糟糕。

最近团队新来了2个初级程序员,工作年限都是2年,能力相仿,但是面对公司封装的框架,他们几乎可以说要从零开始学习。我把他们安排在不同的小组,a在A组,b在B组,由于工位紧张,暂时给他们安排的工位离团队比较远。 a的负责人对他要求很高,认为a工作了两年应当具备一定的技术能力,在a遇到问题、耽误进度的时候,面对着巨大交付压力的A组长,对他发了脾气,“哎,还要我怎么说,不如让我直接做了算了”,“你连这个都不会,那你说怎么办”…a的工作效率越来越低。 b的负责人很有耐心的解答着新员工的问题,时而给予表扬,b逐渐能负责更多的模块,也经常跑过来沟通需求,融入团队的速度很快。

我不否认他们有性格上的差异,但是仍然能反应一个事实,那就是,负能量会让人更加消极,正能量促使人进步的更快。如果A组长多一些耐心指导,换以表扬鼓励的方式对待a,那么a的表现肯定比现在要出色得多。

如果你发现了让你不满的事情,就尝试改善它吧,如果你没有办法改变,那就接受现状。

优化一下让你愤怒的烂代码,或者找author谈谈重构,或者提交一个BUG。

难吃的饭可以不吃,也可以请老板换一碗,或者我下次不光顾了。

赞美一下你的同事、你的家人,他们会更加努力,展现出更好的自己。

最后,奉劝一下自己,要少说点脏话。