日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

背景

今天雙十一,昨晚有好多電商行業的 IT 工程師們挑燈夜戰,為這個全民狂歡的購物節護航。還記得三年前我們公司一個產品上線前一周時,辦公室內拉起“跟 Bug 死扛到底”的橫幅,Bug 可以說是程序員的死穴。我每次預感到代碼有 Bug 時,神色立馬緊張起來。

編程路上,Bug 載道;前車之鑒,后車之師。本文整理了一些我在問答技術網站上看到的、回答過的有價值的問題。權當是個人知識庫了!

IDEA 編輯的功能

IDEA 強大的自動代碼補全功能快捷鍵 Tab,代碼標簽輸入完成后,按Tab,生成代碼。

  1. div.class.out + Tab
  2. 常用的有 fori/sout/psvm+Tab 即可生成循環
  3. System.out、main 方法等 boilerplate 樣板代碼,要輸入 for(User user : users) 只需輸入user.for+Tab
  4. 輸入 for(User user : users) 只需輸入user.for+Tab
  5. 要輸入Date birthday = user.getBirthday(); 只需輸入user.getBirthday().var+Tab 即可。

Python/ target=_blank class=infotextkey>Python 中查看某個模塊的用法

Python 命令行輸入后,可以使用 help 方法查看方法的用法,例如:

import re
help(re.compile)

在控制臺輸出得到該方法的描述信息:

Python列表邊遍歷邊刪除,怎么用才不報越界錯誤呢?

 

Python 不忽略首行

Python 處理 csv 文件時,pandas.read_csv(“data.csv”) 默認會將第一行作為標題行信息,不做處理。怎么讓它從第一行開始處理呢?header=None 可以達到該目的。

df =  pd.read_csv("data.csv", header=None)

對象晉升到老年代的過程

對象優先在Eden分配,且新生代對象晉升到老年代有多種情況
(1)、Eden 區滿時,進行 Minor GC,當 Eden 和一個 Survivor 區中依然存活的對象無法放入到 Survivor 中,則通過分配擔保機制提前轉移到老年代中。
(2)、若對象體積太大, 新生代無法容納這個對象,-XX:PretenureSizeThreshold 即對象的大小大于此值, 就會繞過新生代, 直接在老年代分配, 此參數只對 Serial 及 ParNew 兩款收集器有效。
(3)、存活期限長的對象直接進入老年代。

Python 邊遍歷邊刪除

邊遍歷邊刪除數組會導致數組索引范圍變化,導致程序出錯,這在 JAVA 中也是需要注意的問題。但是,Python 的數據處理方法提供了一個巧妙的處理方法。

Python列表邊遍歷邊刪除,怎么用才不報越界錯誤呢?

 


使用 sorted(list) ,會產生一個新的數組,所以據此刪除原來數組的元素,不會改變下標,不會出錯。即遍歷過程中是用 sorted(list) 返回的新數組,而刪除是操作原來的數組,即遍歷用了一份拷貝,修改完原數據后得到最終需要的結果了。

__name__的含義

經常看到 Python 會看到 if __name__ == '__main__':這樣的代碼,這段代碼是什么作用呢,去掉這段代碼后,為什么程序不會執行呢?

__name__ 是系統內置變量,代表所在模塊名字,也即所在文件名。當模塊直接運行時,如 demo_list.py 文件被直接運行,__name__ 的值為 “__main__”,所以 if __name__ == '__main__': 通常是觸發主流程的。

推導式的過程

推導式的過程:是將整個最后的結果再存入容器的,而不是一邊遍歷一邊推導的。
會在推導式執行完成后,一次性將結果寫入 tmp_list 變量,而不是執行推導式的過程中就直接寫入 tmp_list 變量。

tmp_list = [i for i in num_list if i not in tmp_list]

這是無效的,tmp_list 并不是預期推導的值。

解析 ngix 日志按小時統計行數

給定一個 ngix 日志文件,解析時間列并按時間統計每小時的日志行數。日志文件格式為:

192.168.1.1 [22/Oct/2019:23:58:54 +0800] "POST /dasdhj/sadqwda/q.log HTTP/1.1" 200 133 0.022 "-" "Apache-HttpClient/4.3.3 (java 1.5)" "-"

編寫 Shell 解析命令為:

awk '{ print $2}' ngix.log  | awk -F ":" '{a[$2]=a[$2]+1} END {for(i in a) { print "time:",i,"count:",a[i]}}'

思路:

  1. 先進對日志按空格分割,得到第二列的日志記錄時間戳列
  2. 再對時間列按冒號分割,得到時間列,并按時間列累加
  3. 輸出時間和累加值

input 表單不觸發 onclick 事件

一個簡單的觸發隱藏一個 h1 標簽的事件,但是沒有執行,代碼為:

<h1 id="EleId">請點擊此文本!</h1>
<input type="button" value="點擊隱藏" οnClick="alert('111');"> 

反復測試,最終確認是 input 的用法錯誤了,使用 button 按鈕元素就可以了:

<button id="clear-button" onclick="clearInput();">點擊隱藏</button>

線程池關閉導致 AtomicInteger 計數不準確問題

AtomicInteger 類是使用 CAS 原則來實現對數值類型的原子操作的,而且并發效率比 synchronized 高很多。今天看到一個因為線程池提前關閉,導致任務中對 AtomicInteger 計數操作未執行,進而打印的計數值不準確的問題。

這個問題側面驗證了原子類的高效,此外,還有一個知識點是關于 ConcurrentLinkedQueue 類的,判斷隊列是否還有元素,應該使用 isEmpty() ,而非 size()。因為是鏈表,size 操作需要遍歷列表統計元素總數;而 isEmpty() 直接判斷 first 是否為 null ,效率比前者高。

ajax 請求 415 問題

SSM 項目中出現 ajax 415,出現了請求類型為 json 時后臺 415 的問題,這個主要是提交請求時的文件類型和 SpringMVC 配置的類型不一致導致的:

  1. type:json
  2. 后臺要指定 medias 包含 json 類型

分享到:
標簽:Python
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定