1. 程式人生 > >2018年中總結(二)工作中遇到的問題(上)

2018年中總結(二)工作中遇到的問題(上)

年初在一家使用golang的公司待了一段時間,當時抱著一顆學習的心態試圖挑戰一下自己,結果因為自己基礎薄弱,能力不足,沒能堅持下去,但是卻學到了非常多的東西,是一段非常寶貴的工作經歷,這裡記錄一下在工作中遇到的奇奇怪怪的問題,儘量將具體的工作內容剝離出去,記錄問題及解決思路和方法等。

1.由於GFW的問題,在國內使用golang是相當困難的,常常需要自備梯子,或者使用公司的vpn,不過這個問題是glide的問題,報錯如下:

The Remote does not match the VCS endpoint.

產生原因是glide的快取沒有清理,使用命令glide cc,之後再make

即可,可見here

2.因為和GitLab做了關聯,所以有時會出現大量多次詢問ssh帳密授權的資訊,解決方案是新增上私鑰:

ssh-add -k ~/.ssh/id_rsa

可以看一下這個問題中的400+讚的高票答案(在下方)。

在使用上述命令報錯

Could not open a connection to your authentication agent.

可以使用ssh-agent bash,然後再進行ssh-add

ssh -T git@xxx.com

使用ssh與git倉庫進行連線。

3.vim編輯中文設定utf-8編碼,參考文章

附:vim的常用命令


附:vim快捷鍵
最常用的自動補全:Ctrl + pCtrl + n
gg跳轉到檔案頭,Shift + g跳到檔案尾,跳轉指定行行數+gg,如123gg

4.一個簡單的git工作流:阮一峰的Git文章
首先fork別人的專案,關於fork
之後在本地操作:

git clone "fork後的在你的倉庫的專案地址"
git remote add upstream "fork的別人倉庫的專案地址"
git fetch upstream 遠端獲取最新版本
//不是必要的一步
git rebase upstream/branchname  將某分支的最新版rebase到本地

之後新建分支以做修改

git checkout -b fix_xxx
git add xxx yyy zzz
git commit
git push origin fix_xxx

然後去提pr(pull request),等待別人merge。

但是當我們提pr時發現自己的commit數量太多,想要合併的時候該怎麼做呢?如here
其實就是用上面說的rebase;首先要知道,當我們檢視git的log時,commit的記錄不只是你一個人的,也有可能有其他人的commit參雜其中,所以在使用rebase的時候需要注意的就是,保證自己的commit記錄是連續的,這樣才能夠比較方便的進行合併commit的操作。
使用git rebase -i HEAD~num , 注意符號~還有那個num,就是你之前的commit的記錄條數,或使用git rebase -i commit的hash值(推薦),然後會進入到一個操作介面,裡面主要就是修改pick為squash,但是要保留一個pick,保留的pick就是主commit資訊,其他的都會合併到這條資訊上。

如果我們想要回滾git程式碼,則可以使用

git reset --hard hash

7.編寫Makefile,使用make命令編譯,生成可執行檔案。
這裡推薦大牛陳皓的跟我一起寫Makefile系列,共計14篇。

8.在linux下全域性搜尋檔案,使用grep命令

 grep "target" *    搜尋當前目錄下所有檔案中是否含有target欄位
 grep "target" */* 搜尋當前目錄的下級所有目錄中的檔案是否含有target欄位

以此類推

解壓命令 unzip

 sudo unzip  xxx.zip  -d  filepath    將檔案解壓到某路徑下

關於命令sudo apt-get updateWhat does “sudo apt-get update” do?

linux的檔案許可權
衍生問題:cd進入目錄所需許可權。

curl命令,其實這個並不是Linux的內建命令。curl是利用url語法在命令列方式下工作的開原始檔傳輸工具。全稱是:CommandLine Uniform Resource Locator

9.mock測試, 指在測試中,對於某些不容易構造或者不容易獲取的物件,用一個虛擬的物件來建立以便測試的測試方法。 mock本身有虛假意。
關鍵步驟是: 使用一個介面來描述物件,mock物件就是真實物件在除錯期間的代替品。

其他的筆記中的內容大概掃了一下,很多都是和具體的業務場景有關,再或者就是和golang的使用有關,有很多內容都是比較基礎,但是當時沒掌握的那種,等等。所以大概就提煉出這點東西,希望以後回顧,或者對有緣人能有些許幫助。

相關推薦

LeetCode:236. Lowest Common Ancestor of a Binary Tree叉樹最小祖先

Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. According to the definition of LCA on Wikipedia: “Th

2018年中總結工作遇到的問題

年初在一家使用golang的公司待了一段時間,當時抱著一顆學習的心態試圖挑戰一下自己,結果因為自己基礎薄弱,能力不足,沒能堅持下去,但是卻學到了非常多的東西,是一段非常寶貴的工作經歷,這裡記錄一下在工作中遇到的奇奇怪怪的問題,儘量將具體的工作內容剝離出去,記錄問

滲透測試基本流程針對工作的滲透測試

封裝 測試的 編寫 pro 滲透測試 log 方法 相對 image 這裏介紹的滲透測試流程主要是針對工作中的,因此僅供參考! &wmap;滲透測試就是通過模擬惡意攻擊者的技術和方法,挫敗目標系統安全控制措施,取得訪問控制權,並發現具備業務影響後果安全隱患的一種安

python的字符串編碼問題——4.unicode編解碼以實際工作遇到的韓文編碼為例

兼容 技術分享 range window下 byte 分享 pos osi eba 韓文unicode編解碼 問題是這樣,工作中遇到有韓文數據出現亂碼,說是unicode碼。 類似這樣: id name 323 52186863 149 6363

介面測試系列:工作所用三:__read_config.py檔案

import os from common import fileUtil def __read_config(): base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) settings_file

深度學習計算機視覺面試問題

博主在前面一篇部落格,已經把面試問到的問題敘述了11個,接下來把最近遇到的問題拿出來分享,回答的的不對,麻煩指正,謝謝。前面一篇部落格為:深度學習面試常問問題(一) 1、1*1卷積作用。 答:1. 實現跨通道的互動和資訊整合 2. 進行卷積核通道數的降維和升維 3、實現多個featu

介面測試系列:工作所用六:測試套件

測試套件檔案下的testcase import importlib import sys, time, unittest from gevent import os import os from common import file_util, BSTestRunner from

接口測試系列:工作所用六:測試套件

testcase none util 批量 script desc run 套件 cal 測試套件文件下的testcase import importlib import sys, time, unittest from gevent import os import

介面測試系列:工作所用十:配置檔案的讀寫操作 configparser模組

global_cache.py # -*- codeding: utf-8 -*- import configparser import hashlib import os from common.base import ENV class globalInfo: def get_

劍指offer————在維數查詢python

題目描述 在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。 def f(a,n): c,r = len(a)-1,len

java的javap命令工作補充的知識

背景: 上週針對某信得壓力測試demo進行場景復現,但是隻提供了class檔案,只能通過反編譯的軟體進行檢視,在復現的過程中報錯某某某行,這裡我以xx行代替,因為是class檔案,所以並不能確定具體到底是第幾行出現了問題。 解決: 在大神的幫助下,又學習到一個新

linux下根據根據程序號查埠、根據埠號查程序號彙總,以及netstat的相關資料工作匱乏的知識

根據埠查程序: lsof -i:port netstat -nap | grep port 根據程序號查埠: lsof -i|grep pid netstat -nap | grep pid 根據程序名

ClassLoader的工作原理Java中和Andriod的一些區別

早期使用過 Eclipse 等 Java 編寫的軟體的同學可能比較熟悉,Eclipse 可以載入許多第三方的外掛(或者叫擴充套件),這就是動態載入。這些外掛大多是一些 Jar 包,而使用外掛其實就是動態載入 Jar 包裡的 Class 進行工作。這其實非常好理解,Ja

python爬蟲實戰關於工作遇到的問題

主要是說一下大體的思路,在爬蟲網站的時候遇到樂一些困難,最後解決。 需要爬蟲的網站:http://www.jisilu.cn/ 在這個網站中,需要對實時投資資料進行爬取,涉及到四個頁面分級A、分級B、母基金、分級套利。 主要是採集表格中的資料:

隨想錄工作的常用軟體

【 宣告:版權所有,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】    現在不管是軟體,還是網路都很發達。很多以前特別複雜的事情,現在都可以通過軟體來做。所以,這裡

Java併發程式設計:volatile關鍵字解析.併發程式設計的三個概念

在併發程式設計中,我們通常會遇到以下三個問題:原子性問題,可見性問題,有序性問題。我們先看具體看一下這三個概念: 1.原子性   原子性:即一個操作或者多個操作 要麼全部執行並且執行的過程不會被任何因素打斷,要麼就都不執行。   一個很經典的例子就是銀行賬戶轉賬問題

任正非:向谷歌學習,殺出一條血路谷歌軍團的編制不大,戰鬥力極強。任何產品都是架構第一。算法團隊直接殺入到項目去,一線既有算法又有數據,就容易突破,抽象的平臺一定要有實踐東西檢驗。藍軍不一定是有學歷的。我們幫助他們在工作中完成學歷教育

工程 研究院 就是 激活 敢於 所在 邊緣計算 老師 約束 IT之家1月22日消息 日前,華為心聲社區公布了任正非在1月9日在杭州研究所業務匯報會上的講話。在本次講話中,任正非表示在軟件工程能力提升上,我們最缺乏的是對宏觀架構有清醒認識的人才。建立公司是一個架構;建立公司的

叉樹BST叠代器非遞歸序遍歷——Binary Search Tree Iterator

tor col 初始化 turn clas return sta style stack 用棧來實現二叉樹的非遞歸中序遍歷 1、棧初始化:從根節點出發一路向左,將一路上的節點push到棧中 2、取next並進行棧的調整:從stack棧頂pop出來的節點即為要取的next

JMeter接口測試——參數化從文件讀取參數

cycle com 步驟 變量名 recycle con 線程 use 分隔符 從文件中讀取,三個步驟 1、讀取文件 2、取文件內容裏面的參數,給它一個名字 3、使用值 從文件讀取的話,需要在線程組裏面添加一個CSV Data Set Config,它就是做前面兩步的操作的

工廠模式think in java的設計模式

org 我們 import lac otf 返回值 類型 int ava 工廠模式:工廠模式是利用工廠類的工廠方法創建對象的一種設計模式,目的是創建對象,但是很多時候創建對象我們會考慮很多其他因素~~~~比如限定輸入,限定返回值是否某個,比如在創建的過程中進行一些判斷,通過