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

工做了有一段時間了,最近一直在思考,怎麼樣纔算把技術用好了,怎麼樣才能讓技術助力公司實現業務價值的最大化,而不是一味地堆新技術,堆新功能。產品和技術在一個公司發展的初期很重要,等公司發展到必定規模,運營的價值會凸顯出來。因此技術的價值應該體如今兩個方面:公司發展早期技術主要是幫助公司研發優秀的產品;公司業務發展到必定階段,技術主要是產品迭代、研發新產品,幫助提升運營管理。學習

相關文章
相關標籤/搜索