windump 的一次實踐
windump -d
可以列出當前的裝置列表。
我在windows7 下有時候會出現只能列出一個的問題,這時候需要把不可見的裝置Disable後再次Enable
然後再次 windump -d 就可以看到了。
windump -i x x是第幾個裝置,注意是 1Base , 不是0Base
windump host 10.9.16.88 and(10.9.16.254) 可以監聽 10.9.16.88 和 10.9.16.254 之間的對話
其他連結:
重讀TCP
TCP 的資料流
TCP的資料流大致可以分為兩類,互動資料流與成塊的資料流。互動資料流就是傳送控制命令的資料流,比如relogin
很明顯,TCP在傳輸這兩種型別的包時的效率是不一樣的,因此為了提高TCP的傳輸效率,應該對這兩種型別的包採用不同的演算法。
總之,TCP的傳輸原則是儘量減少小分組傳輸的數量。
TCP的互動式資料流
Ø經受時延的確認技術
TCP的互動式資料流通常使用“經過時延的確認”技術。通常Server在接收到從Client傳送過來的資料時,並不馬上傳送ACK,而是等一小段時間,看看本機是否有資料要反饋給Client,如果有,就將資料包含在此ACK包中,以前傳送給Client。一般情況下這個時延為200ms。需要注意的時這個200ms
ØNagle演算法分析。
Nagle演算法主要用來預防小分組的產生。在廣域網上,大量TCP小分組極有可能造成網路的擁塞。
Nagle時針對每一個TCP連線的。它要求一個TCP連線上最多隻能有一個未被確認的小分組。在改分組的確認到達之前不能傳送其他小分組。TCP會蒐集這些小的分組,然後在之前小分組的確認到達後將剛才蒐集的小分組合併發送出去。
有時候我們必須要關閉Nagle演算法,特別是在一些對時延要求較高的互動式操作環境中,所有的小分組必須儘快傳送出去。
我們可以通過程式設計取消Nagle演算法,利用TCP_NODELAY選項來關閉Nagle演算法。
TCP成塊資料流
和TCP成塊資料流相關的東西有很多,比如流量控制,緊急資料傳輸,資料視窗大小調整等等。
Ø正常資料流
TCP通常不會對每個到達的資料分段進行確認操作,通常一個ACK報文可以確認多個成塊資料段報文,通常情況下是兩個成塊資料報文段需要一個ACK報文確認。通常是由下面的原有造成的:當收到一個報文後,此TCP連線被標識未一個未完成的時延確認,當再次收到一個數據報文後,此連線有兩個未確認的報文段,TCP馬上傳送一個ACK,當第三個資料報文到達後,第四個報文到達前,通常此TCP連線已經經過了200ms延時,因此一個ACK被髮送,這樣的迴圈周而復始,從而出現了一個ACK確認兩個資料報文的情況。當然,ACK的產生很大程度上和其接收資料報文段的時間緊密相關,也就是和Client段傳送資料的頻率相關,和網路擁塞程度相關,和Client與Server兩端的處理能力相關,總是是一個多因素決定的結果。
ØTCP的滑動視窗協議
TCP使用滑動視窗協議來進行流量控制。特別需要注意的是,滑動視窗是一個抽象的概念,它是針對每一個TCP連線的,而且是有方向的,一個TCP連線應該有兩個滑動視窗,每個資料傳輸方向上有一個,而不是針對連線的每一端的。
視窗左邊沿向右邊滑動叫做視窗合攏,表示傳送方傳送了資料或者接收到了確認;視窗右邊沿向右邊滑動叫做視窗的張開,表示資料已經被使用者空間程序接收並且釋放了快取;視窗左邊沿向左移動則表明此ACK是重複ACK,應該丟棄;視窗右邊沿向左移動叫做視窗收縮,一般不會有人這樣做。
當左邊沿和右邊沿重合的時候表明視窗大小是0,此時傳送方不應該在傳送資料了,因為接收方的接收緩衝區已滿,使用者程序還沒以接收。當用戶程序接收完成後,接收方應該傳送一個ACK,表明此時的接收視窗已經恢復,此ACK的序號同前一個win為0的ACK相同。
同樣,在實現中,傳送方不必傳送一個全視窗的資料,但是它當然可以這樣做。ACK總是將視窗向右邊滑動,視窗的大小可以減小,接收方在傳送ACK之前不必等待視窗被填滿(即變為0),很多實現是收到兩個資料報文段後立刻傳送ACK。
ØTCP視窗大小的調整
TCP視窗的大小通常由接收端來確認,也就是在TCP建立連線的第二個SYN+ACK報文的Win欄位來確認。
當然,程式可以隨時改變這個視窗(快取)的大小。預設的視窗大小是4096位元組,但是對於檔案傳輸來說這並不是一個理想的數字,如果程式的主要目的是傳輸檔案,那麼最好將這個快取設定到最大,但是這樣可能會造成傳送端連續傳送多個數據報文段後,接收方才反饋一個ACK的情況,當然,這也沒有什麼不可以的,只要不超時,就不算錯。
ØTCP的PUSH包
PUSH是TCP報頭中的一個標誌位,傳送方在傳送資料的時候可以設定這個標誌位。該標誌通知接收方將接收到的資料全部提交給接收程序。這裡所說的資料包括與此PUSH包一起傳輸的資料以及之前就為該程序傳輸過來的資料。
當Server端收到這些資料後,它需要立刻將這些資料提交給應用層程序,而不再等待是否還有額外的資料到達。
那麼應該合適設定PUSH標誌呢?實際上現在的TCP協議棧基本上都可以自行處理這個問題,而不是交給應用層處理。如果待發送的資料會清空傳送快取,那麼棧就會自動為此包設定PUSH標誌,源於BSD的棧一般都會這麼做,而且,BSD TCP STACK也從來不會將收到的資料推遲提交給應用程式,因此,在BSD TCP STACK中,PUSH位是被忽略的,因為根本就沒有用。
ØTCP的慢啟動(擁塞視窗)
TCP在區域網環境中的效率是很高的,但是到了廣域網的環境中情況就不同了,在傳送方和接收方之間可能存在多個Router以及一些速率比較慢的鏈路,而且一些中繼路由器必須快取分組,還可能分片,所以在廣域網的環境中,TCP的效率可能出現問題。
為了解決這個問題,現在的TCP棧都支援“慢啟動”演算法,即擁塞視窗控制演算法。該演算法通過觀察到新分組進入網路的速率與另一端返回ACK的速率相同而工作。其實,擁塞視窗是傳送方使用的一種流量控制演算法。
慢啟動為TCP
windump -d可以列出當前的裝置列表。我在windows7 下有時候會出現只能列出一個的問題,這時候需要把不可見的裝置Disable後再次Enable然後再次 windump -d 就可以看到了。windump -i x x是第幾個裝置,注意是 1Base
相關介紹連結:
CSS3中的mix-blend-mode和background-blend-mode
css mix-blend-mode 混合模式
<!doctype html>
<html lang="en">
<head>
<meta c 最近需要做一個表格元件,元件需求:
指定行、列
可以跨行、跨列
行和行之間有分割線
最終採用grid實現需求。實現的時候遇到一個問題,如果css和js分開寫,css只能是定值,沒有靈活性。所以考慮採用css in js的形式。關於css in js相關的概念介紹可以參考阮一峰老師的文章:
在github上看了swagger-api專案(https://github.com/swagger-api/swagger-codegen)中的一些文件以及swagger-codegen的使用說明,還是覺得有些麻煩,該專案中有提到使用swagger-codeg
github地址:https://github.com/shenAlexy/MVVM,喜歡就star一個!
說明:本專案採用MVVM架構,重寫iOS頭條客戶端。轉載請註明出處!
前言:
本例基於AFN封裝了網路請求系列庫,以滿足自己需求,後期易於擴充套件;使用JSO
背景
所在專案Go服務之前部署在測試機器上,最近再把Go的配置遷移到etcd,但是因為etcd沒有對應的測試環境,而公司裡面網段是隔離的,導致了原本的Go服務再接入etcd之後跑不起來。
讓Go服務正常啟動,
其他依賴方,比如前端、閘道器少做修改
前一段時間資料探勘組的同學向我返回說自己的一段pyspark程式碼執行非常緩慢,而程式碼本身非常簡單,就是查詢hive 一個檢視中的資料,而且通過limit 10限制了資料量。
不說別的,先貼我的程式碼吧:
from pyspark.sql import
把所有憂慮的東西都列出來:
1.年底兩篇專利難寫,不想寫
2.驕陽計劃上線和使用有風險
3.年底接下來的KPI
4.新員工培訓成本高
5.自己未來的定位與方向
6.缺錢
7.牙齒一直沒去治
8.骨幹員工離職
然後給每個憂慮標記權重:
1.年底兩篇專利難寫,不想寫 場景
隨著網際網路應用的深入,很多傳統行業也都需要接入到網際網路。我們公司也是這樣,保險核心需要和很多保險中介對接,比如阿里、京東等等。這些公司對於介面服務的效能有些比較高的要求,傳統的核心無法滿足要求,所以資訊科技部領導高瞻遠矚,決定開發網際網路接入服務,滿足來自效能的需求。
概念
CompletionSe dac target 百度 define key 捕獲 只有一個 show 一個
事情是這樣的,目前在做一個醫療項目,需要定時在某個時間段比如午休時間和晚上讓我們的App休眠,那麽這個時候在休眠時間段如果用戶按了電源鍵點亮屏幕了,我們就需要彈出一個全屏的窗口去做一個人性化 .net 電源 屬性 amp nsa troy 界面 lag turn
事情是這樣的,目前在做一個醫療項目,需要定時在某個時間段比如午休時間和晚上讓我們的App休眠,那麽這個時候在休眠時間段如果用戶按了電源鍵點亮屏幕了,我們就需要彈出一個全屏的窗口去做一個人性化的提示 spa ack ext frame owin its else int 記分 //類Score
package com.java.bowlingscore;
public class Scorer {
public void addThrow(int pins){
itsT ofo ace 加載 名稱 mman date 頁簽 一鍵安裝 route 前言
最近收到一個這樣的需求,要求做一個基於 vue 和 element-ui 的通用後臺框架頁,具體要求如下:
要求通用性高,需要在後期四十多個子項目中使用,所以大部分地方都做成可配置的.
1、先按照初學者思維程式碼應該是這樣的
1 #coding:utf-8
2 import os
3 text = os.popen("adb shell command cat /proc/cpuinfo",'r').read().split("\n")
4 i = 0
5 for j i 愛康體檢寶 PC(www.tijianbao.com/) 算是一個“老”專案,為什麼說“老”呢,因為在前端技術日新月異,每天都有新知識、新概念,甚至新框架的今天,它還是基於vue-cli 2.x、webpack 3.x構建,顯然有些老了。其次,在早期開始這個專案的時候,由於倉促上線,也沒有過多的考慮效能及載入 隊名:起床一起肝活隊 組長部落格:https://www.cnblogs.com/dawnduck/p/9972061.html 作業部落格:班級部落格本次作業的連結
組員情況
組員1(隊長):白晨曦
過去兩天完成了哪些任務 描述:
很胖,剛學,照貓畫虎做了登入與註冊介面。
展示GitHub當日程式 and 後臺 單元 bubuko 團隊 工具 .html 功能實現 頁面 隊名:起床一起肝活隊
組長博客:https://www.cnblogs.com/dawnduck/p/9972061.html
作業博客:班級博客本次作業的鏈接
組員情況
組員1(隊長):白晨曦
過去 實踐的時間很短,感覺還沒學夠就結束了,但是在這短暫的時間裡卻讓我發現了許多值得學習的東西。
首先,這次的實踐是由公司的老師指導的,工作經驗很豐富,主導的實踐內容是設計一個智慧監控系統,但因時間有限,所 記一次ES節點擴容、資料遷移實踐
背景
之前ES叢集裡的資料越來越大,日增500G日誌資料,需要做一波擴容。
節點資訊
目前叢集中的節點資訊如下:
節點
CPU、MEM
DISK
磁碟使用率
節點角色
es01 Minecraft簡介
Minecraft是一款沙盒遊戲,整個遊戲沒有劇情,玩家在遊戲中自由建設和破壞,透過像積木一樣來對元素進行組合與拼湊,輕而易舉的就能製作出小木屋、城堡甚至城市,玩家可以通過自己創造的作品來體驗上帝一般的感覺。在這款遊戲裡,不僅可以單人娛樂,還可以多人聯機,玩家也可以安裝一些模組來增加 相關推薦
windump 的一次實踐
CSS3混合模式的一次實踐
Css in Js 一次實踐
基於openapi3.0的yaml檔案生成java程式碼的一次實踐
MVVM架構的一次實踐
Nginx做代理的一次實踐
一次實踐:spark查詢hive速度緩慢原因分析並以此看到spark基礎架構
運用卡內基消除憂慮的一次實踐
非同步併發利器:實際專案中使用CompletionService提升系統性能的一次實踐
記一次在廣播(BroadcastReceiver)或服務(Service)裏彈窗的“完美”實踐
記一次在BroadcastReceiver或Service裏彈窗的“完美”實踐
敏捷軟件開發:原則、模式與實踐 一次編程實踐 保齡球記分代碼
記一次基於vue的spa多頁簽實踐經驗
[專案實踐] 在專案實戰中提升程式碼效率的的一次應用實踐-----使用列表解析式輸出當前android裝置的CPU核數
記一次 VUE 專案優化實踐
軟工實踐 - 第十一次作業 Alpha 衝刺 (3/10)
軟工實踐 - 第十一次作業 Alpha 沖刺 (3/10)
20181113_大學最後一次集中實踐
記一次ES節點擴容、資料遷移實踐
記一次Minecraft遊戲伺服器搭建實踐經歷