2018年中總結(二)工作中遇到的問題(上)
年初在一家使用golang的公司待了一段時間,當時抱著一顆學習的心態試圖挑戰一下自己,結果因為自己基礎薄弱,能力不足,沒能堅持下去,但是卻學到了非常多的東西,是一段非常寶貴的工作經歷,這裡記錄一下在工作中遇到的奇奇怪怪的問題,儘量將具體的工作內容剝離出去,記錄問題及解決思路和方法等。
1.由於GFW的問題,在國內使用golang是相當困難的,常常需要自備梯子,或者使用公司的vpn,不過這個問題是glide的問題,報錯如下:
The Remote does not match the VCS endpoint.
產生原因是glide的快取沒有清理,使用命令glide cc
,之後再make
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 + p
或Ctrl + 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 update
:What 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 工廠模式:工廠模式是利用工廠類的工廠方法創建對象的一種設計模式,目的是創建對象,但是很多時候創建對象我們會考慮很多其他因素~~~~比如限定輸入,限定返回值是否某個,比如在創建的過程中進行一些判斷,通過