Arts 第一周 20190325

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

Algorithm

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

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…

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

复制代码

配置用户root权限

增加 sudoers 文件写权限

chmod +w /etc/sudoers
复制代码

编辑 sudoers 文件

vi /etc/sudoers
复制代码

增加tommy ALL=(ALL) ALL

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

取消 sudoers 文件写权限

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

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

转载于:https://juejin.im/post/5c976f7e5188252db2525563

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值