Arts 第一周 20190325

ARTS
Algorithm 每周至少作一个 Leetcode 的算法题。主要是为了编程训练和学习。
Review 每周阅读并点评至少一篇英文技术文章。主要是为了学习英文。
Tip 每周学习至少一个技术技巧。主要是为了总结和概括你在平常工做中所遇到的知识点。
Share 每周分享一篇有观点和思考的技术文章。主要是为了创建你的影响力,可以输出价值观。html

Algorithm

给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出全部知足条件且不重复的三元组。linux

public static List<List<Integer>> threeSum2(int[] nums) {
        List<List<Integer>> result = new LinkedList<>();
        Arrays.sort(nums);
        for (int i = 0; i < nums.length - 2; ) {
            int j = i + 1;
            int k = nums.length - 1;
            while (j < k) {
                if (nums[j] + nums[k] == -nums[i]) {
                    List<Integer> list = new ArrayList<>(3);
                    list.add(nums[i]);
                    list.add(nums[j]);
                    list.add(nums[k]);
                    result.add(list);
                    k--;
                    j++;
                    while (j < k && nums[j] == nums[j - 1]) {
                        j++;
                    }
                    while (j < k && nums[k] == nums[k + 1]) {
                        k--;
                    }
                } else if (nums[j] + nums[k] > -nums[i]) {
                    k--;
                    while (j < k && nums[k] == nums[k + 1]) {
                        k--;
                    }
                } else {
                    j++;
                    while (j < k && nums[j] == nums[j - 1]) {
                        j++;
                    }
                }
            }
            i++;
            while (i < nums.length - 2 && nums[i] == nums[i - 1]) {
                i++;
            }
        }
        return result;
    }

复制代码

Review

docker-curriculum.com/#what-is-do…算法

  • Docker是什么
    Docker是一个工具,容许开发人员,系统管理员等将他们的应用程序部署在容器中,以便在主机操做系统(即Linux)上运行。Docker的主要优势是它容许用户将具备全部依赖关系的应用程序打包到容器中。容器开销小,可以更有效地使用底层系统和资源。
  • 容器是什么
    经过利用主机操做系统的底层机制,容器以一小部分计算能力提供大部分虚拟机的功能
  • 为何咱们要使用容器
    容器具备良好的可移植性。提供了一种打包机制,能够将应用程序实际运行环境中分离出来。不管系统环境是私有数据中心,公有云,仍是我的笔记本电脑,均可以经过容器屏蔽操做系统层面的差别,使程序运行环境保持一致,而且能够在任何地方运行。
  • 经过这个教程咱们会学到什么
    系统掌握Docke应用技术。在云上构建和部署本身的Web应用程序的实践经验。在云上使用docker部署静态网站和动态Web应用程序。

Tips:CentOS 7建立root权限用户并配置SSH

建立用户

参考连接:www.cnblogs.com/mylinux/p/5…docker

adduser tommy //添加一个名为tommy的用户
passwd tommy //修改密码
usermod -g root tommy //添加tommy用户到root用户组

复制代码

配置用户root权限

增长 sudoers 文件写权限编程

chmod +w /etc/sudoers
复制代码

编辑 sudoers 文件数组

vi /etc/sudoers
复制代码

增长tommy ALL=(ALL) ALLbash

## Allow root to run any commands anywhere
root ALL=(ALL) ALL
tommy ALL=(ALL) ALL //增长帐户root权限
复制代码

取消 sudoers 文件写权限ssh

chmod -w /etc/sudoers
复制代码

配置ssh权限

vi /etc/ssh/sshd_config
复制代码

修改如下内容工具

PermitRootLogin no //阻止root用户登录
AllowUsers sirius //容许制定用户使用SSH登录
systemctl restart sshd
复制代码

解决登陆以后,用户显示 -bash-4.2$ 问题

cd /etc/skel/
cp .bash* /home/tommy
复制代码

Share

工做了有一段时间了,最近一直在思考,怎么样才算把技术用好了,怎么样才能让技术助力公司实现业务价值的最大化,而不是一味地堆新技术,堆新功能。产品和技术在一个公司发展的初期很重要,等公司发展到必定规模,运营的价值会凸显出来。因此技术的价值应该体如今两个方面:公司发展早期技术主要是帮助公司研发优秀的产品;公司业务发展到必定阶段,技术主要是产品迭代、研发新产品,帮助提升运营管理。学习

相关文章
相关标签/搜索