国产精品成人免费视频_91丝袜美腿美女视频网站_国产一区二区三区在线看_亚洲欧美另类中文字幕_在线电影av不卡网址_国产视频丨精品|在线观看_日韩一区二区三区国产_国产欧美va欧美va香蕉在线_热re91久久精品国99热蜜臀_亚洲第一精品电影_久久九九亚洲综合_国产成人综合精品_97视频在线观看网址_精品视频久久久久久_日韩av片免费在线观看_久久精品国产99国产精品澳门

聚集網(jujiwang.com) - 收錄免費分類目錄信息軟文發布網址提交
免費加入

熱度:

編號:95401

分類:博客日志

加入:2024-10-28 01:25:05

點入:2024-10-28 01:25:05

備案:登錄可見

名稱:登錄可見

SEO更新時間
2024-10-28T01:25:10

百度權重:百度權重0
百度移動:百度移動0
360 權重:360權重0
搜狗權重:搜狗權重0
人生苦短

訪問網站

http://www.caorongduan.com

舉報/報錯
seo綜合信息
SEO信息 百度來訪IP:- | 移動端來訪IP:- | 出站鏈接:0 | 站內鏈接:0
IP網速: IP地址:114.215.114.30 [中國山東青島 阿里云] | 網速:104毫秒
ALEXA排名 世界排名:- | 預估IP:- | 預估PV:-
備案信息 登錄可見 | 名稱:登錄可見 | 已創建:9年7個月5天
收錄 百度 360 搜狗 谷歌
查詢 0 0 0 0
電腦關鍵詞 手機關鍵詞 頁面友好 首頁位置 索引 近期收錄
0 0 電腦端優秀 - 0 0
協議類型HTTP/1.1 200 OK 頁面類型text/html; charset=UTF-8 服務器類型Apache/2.2.22 (Ubuntu) 是否壓縮是 原網頁大小55760 壓縮后大小18343 壓縮比67.1%
網站快照

人 生 苦 短 當 前 網 頁 不 支 持 你 正 在 使 用 的 瀏 覽 器 . 為 了 正 常 的 訪 問 , 請 升 級 你 的 瀏 覽 器 . 人 生 苦 短 人 生 苦 短 , 我 愛 C o d i n g . . . 搜 索 關 鍵 字 搜 索 首 頁 關 于 配 置 文 件 用 H O C O N / . c o n f 還 是 j s o n 作 者 : 曹 容 端 時 間 : 2 0 2 0 0 7 2 2 分 類 : P y t h o n 評 論 簡 單 比 較 一 下 兩 種 配 置 文 件 的 優 缺 點 : J S O N : e a s y t o g e n e r a t e p r o g r a m m a t i c a l l y w e l l d e f i n e d a n d s t a n d a r d b a d f o r h u m a n m a i n t e n a n c e , w i t h n o w a y t o w r i t e c o m m e n t s , a n d n o m e c h a n i s m s t o a v o i d d u p l i c a t i o n o f s i m i l a r c o n f i g s e c t i o n s c o n f n i c e f o r h u m a n s t o r e a d , t y p e , a n d m a i n t a i n , w i t h m o r e l e n i e n t s y n t a x b u i l t i n t o o l s t o a v o i d c u t a n d p a s t e w a y s t o r e f e r t o t h e s y s t e m e n v i r o n m e n t , s u c h a s s y s t e m p r o p e r t i e s a n d e n v i r o n m e n t v a r i a b l e s T h e i d e a w o u l d b e t o u s e J S O N i f y o u r e w r i t i n g a s c r i p t t o s p i t o u t c o n f i g , a n d u s e H O C O N i f y o u r e m a i n t a i n i n g c o n f i g b y h a n d . I f y o u r e d o i n g b o t h , t h e n m i x t h e t w o . 簡 單 比 較 一 下 兩 種 配 置 文 件 的 優 缺 點 : J S O N : e a s y t o g e n e r a t e p r o g r a m m a t i c a l l y w e l l d e f i n e d a n d s t a n d a r d b a d f o r h u m a n m a i n t e n a n c e , w i t h n o w a y t o w r i t e c o m m e n t s , a n d n o m e c h a n i s m s t o a v o i d d u p l i c a t . . . P y t h o n R e c o r d s 庫 使 用 詳 解 作 者 : 曹 容 端 時 間 : 2 0 1 9 0 9 0 1 分 類 : P y t h o n 5 條 評 論 R e c o r d s 是 K e n n e t h R e i t z f o r H u m a n s ? 系 列 繼 r e q u e s t s 后 的 又 一 大 作 , 官 方 描 述 為 只 需 編 寫 S Q L , 其 他 交 給 R e c o r d s , 它 使 得 工 作 流 程 盡 可 能 簡 單 , 同 時 提 供 一 個 優 雅 的 方 式 處 理 查 詢 結 果 。 官 方 網 站 : h t t p s : / / g i t h u b . c o m / k e n n e t h r e i t z / r e c o r d s 2 0 1 9 年 1 0 月 2 1 日 更 新 : 在 目 前 的 版 本 中 存 在 一 個 b u g : 當 使 用 S Q L i t e 實 體 數 據 庫 而 非 內 存 數 據 庫 的 時 候 , 會 報 如 下 錯 誤 : s q l a l c h e m y . e x c . P r o g r a m m i n g E r r o r : ( s q l i t e 3 . P r o g r a m m i n g E r r o r ) C a n n o t o p e r a t e o n a c l o s e d d a t a b a s e . b u g i s s u e s 1 2 8 : h t t p s : / / g i t h u b . c o m / k e n n e t h r e i t z / r e c o r d s / i s s u e s / 1 2 8 原 因 可 能 是 : 當 我 們 執 行 操 作 的 時 候 , c u r s o r 可 能 已 經 關 閉 。 目 前 g d t r o s z a k 已 經 在 分 支 c o n n e c t i o n f i x r e d u x 中 修 復 了 這 個 b u g 連 接 數 據 庫 > > > i m p o r t r e c o r d s > > > d b = r e c o r d s . D a t a b a s e ( s q l i t e : / / / t e s t . d b ) R e c o r d s 使 用 s q l a l c h e m y 的 c r e a t e _ e n g i n e , D B A P I 可 以 完 全 參 照 s q l a l c h e m y 文 檔 , 如 下 示 例 列 出 了 連 接 P o s t g r e S Q L , M y S Q L , O r a c l e , M i c r o s o f t S Q L S e r v e r , S Q L i t e 的 D B A P I : 注 : D B A P I 是 符 合 R F C 1 7 3 8 U n i f o r m R e s o u r c e L o c a t o r s ( U R L ) 定 義 的 一 種 數 據 庫 連 接 方 式 P o s t g r e S Q L # d e f a u l t d b = r e c o r d s . D a t a b a s e ( p o s t g r e s q l : / / s c o t t : t i g e r @ l o c a l h o s t / m y d a t a b a s e ) # p s y c o p g 2 d b = r e c o r d s . D a t a b a s e ( p o s t g r e s q l + p s y c o p g 2 : / / s c o t t : t i g e r @ l o c a l h o s t / m y d a t a b a s e ) # p g 8 0 0 0 d b = r e c o r d s . D a t a b a s e ( p o s t g r e s q l + p g 8 0 0 0 : / / s c o t t : t i g e r @ l o c a l h o s t / m y d a t a b a s e ) M y S Q L # d e f a u l t d b = r e c o r d s . D a t a b a s e ( m y s q l : / / s c o t t : t i g e r @ l o c a l h o s t / f o o ) # m y s q l c l i e n t ( a m a i n t a i n e d f o r k o f M y S Q L P y t h o n ) d b = r e c o r d s . D a t a b a s e ( m y s q l + m y s q l d b : / / s c o t t : t i g e r @ l o c a l h o s t / f o o ) # P y M y S Q L d b = r e c o r d s . D a t a b a s e ( m y s q l + p y m y s q l : / / s c o t t : t i g e r @ l o c a l h o s t / f o o ) O r a c l e d b = r e c o r d s . D a t a b a s e ( o r a c l e : / / s c o t t : t i g e r @ 1 2 7 . 0 . 0 . 1 : 1 5 2 1 / s i d n a m e ) d b = r e c o r d s . D a t a b a s e ( o r a c l e + c x _ o r a c l e : / / s c o t t : t i g e r @ t n s n a m e ) M i c r o s o f t S Q L S e r v e r # p y o d b c d b = r e c o r d s . D a t a b a s e ( m s s q l + p y o d b c : / / s c o t t : t i g e r @ m y d s n ) # p y m s s q l d b = r e c o r d s . D a t a b a s e ( m s s q l + p y m s s q l : / / s c o t t : t i g e r @ h o s t n a m e : p o r t / d b n a m e ) S Q L i t e # f o r a r e l a t i v e f i l e p a t h d b = r e c o r d s . D a t a b a s e ( s q l i t e : / / / f o o . d b ) # f o r a a b s o l u t e f i l e p a t h # U N I X / M A C d b = r e c o r d s . D a t a b a s e ( s q l i t e : / / / / a b s o l u t e / p a t h / t o / f o o . d b ) # W i n d o w s d b = r e c o r d s . D a t a b a s e ( s q l i t e : / / / C : \ \ \ \ p a t h \ \ \ \ t o \ \ \ \ f o o . d b ) # W i n d o w s u s i n g r a w s t r i n g d b = r e c o r d s . D a t a b a s e ( r s q l i t e : / / / C : \ \ p a t h \ \ t o \ \ f o o . d b ) # f o r a m e m o r y d a t a b a s e d b = r e c o r d s . D a t a b a s e ( s q l i t e : / / ) 查 詢 R e c o r d s 可 以 方 便 的 使 用 S Q L 語 句 來 查 詢 數 據 , 通 過 調 用 q u e r y 方 法 , 對 返 回 的 結 果 , 我 們 無 需 過 多 處 理 , 就 可 以 方 便 的 使 用 。 > > > r o w s = d b . q u e r y ( S E L E C T * F R O M u s e r s ) 對 于 查 詢 語 句 來 說 , R e c o r d s 返 回 的 是 一 個 R e c o r d 對 象 或 R e c o r d 對 象 的 一 個 列 表 。 我 們 可 以 調 用 R e c o r d 對 象 內 置 方 法 , 比 如 : a s _ d i c t ( ) 作 為 一 個 字 典 返 回 。 a s _ d i c t ( o r d e r e d = T r u e ) 作 為 一 個 O r d e r e d D i c t 返 回 。 我 們 還 可 以 像 操 作 字 典 一 樣 去 操 作 R e c o r d 對 象 , 比 如 使 用 k e y s ( ) 和 v a l u e s ( ) # 處 理 單 條 數 據 > > > r o w s [ 0 ] > > > r o w s [ 0 ] . a s _ d i c t ( ) > > > r o w s [ 0 ] . n a m e 張 三 > > > r o w s [ 0 ] . g e t ( c i t y ) 南 京 # 處 理 多 條 數 據 > > > r o w s . a l l ( ) [ , , , ] > > > r o w s . a s _ d i c t ( ) [ , , , ] 我 們 也 可 以 像 處 理 任 何 可 迭 代 對 象 一 樣 使 用 循 環 來 遍 歷 每 一 行 數 據 。 # 循 環 數 據 集 > > > f o r r o w i n r o w s : p r i n t ( r o w . n a m e , r o w . c i t y ) 張 三 南 京 李 四 深 圳 王 五 上 海 張 三 北 京 R e c o r d s 使 用 t a b l i b 來 處 理 數 據 導 出 , t a b l i b 是 一 個 純 P y t h o n 編 寫 的 格 式 無 關 的 表 格 數 據 處 理 庫 , 使 用 t a b l i b 我 們 可 以 方 便 的 將 R e c o r d s 對 象 導 出 成 下 列 格 式 : E x c e l ( S e t s + B o o k s ) J S O N ( S e t s + B o o k s ) Y A M L ( S e t s + B o o k s ) P a n d a s D a t a F r a m e s ( S e t s ) H T M L ( S e t s ) J i r a ( S e t s ) T S V ( S e t s ) O D S ( S e t s ) C S V ( S e t s ) D B F ( S e t s ) 在 R e c o r d s 類 中 , 內 置 了 一 個 d a t a s e t 屬 性 , 用 來 生 成 一 個 t a b l i b 的 D a t a s e t 對 象 , 也 提 供 了 一 個 e x p o r t 方 法 , 可 以 將 D a t a s e t 對 象 轉 化 為 我 們 所 需 要 的 格 式 : > > > p r i n t ( r o w s . d a t a s e t ) i d | n a m e | a g e | c i t y | | | 1 | 張 三 | 2 7 | 南 京 2 | 李 四 | 3 2 | 深 圳 3 | 王 五 | 2 7 | 上 海 4 | 張 三 | 2 7 | 北 京 > > > r o w s . e x p o r t ( j s o n ) [ , , , ] > > > p r i n t ( r o w s . e x p o r t ( t s v ) ) i d n a m e a g e c i t y 1 張 三 2 7 南 京 2 李 四 3 2 深 圳 3 王 五 2 7 上 海 4 張 三 2 7 北 京 x l s , x l s x , d b f , o d s 這 類 二 進 制 數 據 , 可 以 直 接 保 存 成 文 件 > > > w i t h o p e n ( o u t p u t . x l s , w b ) a s f : f . w r i t e ( r o w s . e x p o r t ( x l s ) ) 命 令 行 工 具 R e c o r d s 還 提 供 了 一 個 命 令 行 工 具 , 方 便 的 在 終 端 使 用 : u s e a g e : r e c o r d s [ ] [ . . . ] [ u r l = ] r e c o r d s h > > > r e c o r d s s e l e c t * f r o m u s e r s t s v u r l s q l i t e : / / / t e s t . d b i d n a m e a g e c i t y 1 張 三 2 7 南 京 2 李 四 3 2 深 圳 3 王 五 2 7 上 海 4 張 三 2 7 北 京 其 他 操 作 正 如 官 方 的 s l o g a n 一 樣 : R e c o r d s : S Q L f o r H u m a n s ? , R e c o r d s 是 一 個 非 常 簡 單 , 但 是 很 強 大 的 , 使 用 原 生 的 S Q L 語 句 來 處 理 大 部 分 的 關 系 型 數 據 庫 的 操 作 。 # I N S E R T d b . q u e r y ( I N S E R T I N T O u s e r s ( n a m e , a g e , c i t y ) V A L U E S ( : n a m e , : a g e , : c i t y ) , n a m e = n a m e , a g e = a g e , c i t y = c i t y ) # U P D A T E d b . q u e r y ( U P D A T E u s e r s S E T c i t y = 成 都 W H E R E n a m e = 趙 六 ) # D E L E T E d b . q u e r y ( D E L E T E F R O M u s e r s W H E R E n a m e = 趙 六 ) 版 權 聲 明 ? 著 作 權 歸 作 者 所 有 允 許 自 由 轉 載 , 但 請 保 持 署 名 和 原 文 鏈 接 。 不 允 許 商 業 用 途 、 盈 利 行 為 及 衍 生 盈 利 行 為 。 參 考 文 檔 r e c o r d s 官 方 網 站 s q l a l c h e m y 官 方 文 檔 c r e a t e _ e n g i n e t a b l i b 官 方 網 站 p y t h o n r e c o r d s 使 用 方 法 R e c o r d s 是 K e n n e t h R e i t z f o r H u m a n s ? 系 列 繼 r e q u e s t s 后 的 又 一 大 作 , 官 方 描 述 為 只 需 編 寫 S Q L , 其 他 交 給 R e c o r d s , 它 使 得 工 作 流 程 盡 可 能 簡 單 , 同 時 提 供 一 個 優 雅 的 方 式 處 理 查 詢 結 果 。 官 方 網 站 : h t t p s : / / g i t h u b . c o m / k e n n e t h r e i t z / r e c o r d s 2 0 1 9 年 1 0 月 2 1 日 更 新 : 在 . . . 工 作 量 證 明 之 H a s h c a s h 算 法 , 了 解 一 下 ? 作 者 : 曹 容 端 時 間 : 2 0 1 8 1 1 2 6 分 類 : A l g o r i t h m 5 條 評 論 圖 片 來 源 于 網 絡 一 、 基 礎 概 念 H a s h c a s h 是 一 個 工 作 量 證 明 ( p r o o f o f w o r k ) 算 法 , 可 以 用 于 垃 圾 郵 件 過 濾 , 拒 絕 服 務 攻 擊 ( D D O S ) 等 領 域 。 比 特 幣 中 挖 礦 算 法 的 工 作 量 證 明 機 制 也 是 基 于 H a s h c a s h 來 實 現 的 。 H a s h c a s h 由 A d a m B a c k 于 1 9 9 7 年 首 次 提 出 , 論 文 戳 這 里 。 先 來 了 解 一 下 H a s h c a s h 算 法 的 原 理 吧 。 正 如 密 碼 學 中 的 數 學 問 題 — — 難 于 解 答 , 易 于 校 驗 , h a s h c a s h 算 法 的 設 計 靈 感 也 是 來 源 于 此 : 要 求 用 戶 計 算 一 個 中 等 難 度 但 不 難 解 決 的 功 能 , 以 便 獲 得 對 資 源 的 訪 問 權 限 , 從 而 防 止 輕 率 使 用 。 在 垃 圾 郵 件 和 D D O S 中 , 攻 擊 方 幾 乎 是 沒 有 代 價 的 。 垃 圾 郵 件 軟 件 可 以 批 量 、 高 并 發 的 發 送 郵 件 給 目 標 地 址 ; D D O S 可 以 利 用 海 量 的 肉 雞 對 目 標 主 機 進 行 網 絡 請 求 從 而 使 目 標 主 機 限 于 癱 瘓 。 H a s h c a s h 解 決 這 些 問 題 的 手 段 是 讓 攻 擊 方 付 出 一 些 計 算 資 源 的 「 代 價 」 。 首 先 , 目 標 方 會 按 照 既 定 規 則 給 出 一 道 數 學 題 , 這 道 數 學 題 的 結 果 不 可 復 用 ( 每 次 請 求 需 要 重 新 計 算 ) 。 為 了 得 出 結 果 , 需 要 一 些 C P U 的 計 算 資 源 , 然 后 把 計 算 結 果 附 在 請 求 上 提 交 給 目 標 方 , 目 標 方 可 以 非 常 輕 易 的 驗 證 結 果 是 否 正 確 。 這 道 數 學 題 的 難 度 可 以 定 義 。 具 體 來 說 , h a s h c a s h 是 基 于 h a s h 的 , 在 通 常 情 況 下 , 使 用 的 是 s h a 算 法 。 拿 電 子 郵 件 舉 例 , 我 要 求 所 有 發 給 我 的 電 子 郵 件 h e a d e r 中 必 須 包 含 一 個 合 法 的 「 戳 記 」 。 這 個 戳 記 中 包 含 著 一 個 特 定 的 比 特 值 和 我 的 電 子 郵 件 地 址 以 及 一 個 計 數 器 等 等 一 系 列 信 息 。 比 如 一 個 戳 記 的 比 特 值 是 2 0 , 那 么 我 要 求 通 過 這 個 戳 記 生 成 的 哈 希 值 的 前 面 2 0 個 比 特 位 都 是 零 。 這 樣 的 戳 記 我 認 為 是 合 法 的 。 為 了 得 到 這 個 戳 記 , 算 法 會 不 斷 的 累 加 計 數 器 進 行 h a s h 碰 撞 , 在 進 行 了 上 百 萬 次 的 計 算 后 , 終 于 得 到 了 2 0 個 比 特 位 的 前 導 零 。 對 于 目 前 的 主 流 電 腦 來 說 , 百 萬 次 h a s h 大 概 需 要 幾 秒 鐘 時 間 。 我 相 信 , 如 果 你 很 有 誠 意 發 送 一 個 郵 件 給 我 , 應 該 不 會 在 乎 這 幾 秒 鐘 。 但 是 , 對 于 垃 圾 郵 件 軟 件 和 D D O S 來 說 , 每 個 請 求 的 計 算 累 加 卻 是 及 其 昂 貴 的 , 難 以 實 現 批 量 的 、 大 規 模 的 網 絡 請 求 。 你 看 , 讓 你 每 次 作 惡 付 出 有 限 的 一 些 成 本 , 而 當 你 需 要 批 量 作 惡 的 時 候 , 累 加 的 高 昂 成 本 會 使 你 望 而 卻 步 。 來 具 體 看 看 h a s h c a s h 戳 記 是 長 這 個 樣 子 的 , 通 常 包 含 七 個 域 , 每 個 域 使 用 : 分 割 。 1 : b i t s : d a t e : r e s o u r c e : e x t : s a l t : s u f f i x 七 個 域 說 明 如 下 : 1 . 版 本 號 ( 版 本 0 更 簡 單 , 但 是 有 一 些 局 限 性 ) 。 2 . 聲 明 的 比 特 值 。 如 果 戳 記 沒 有 真 正 地 使 用 聲 明 的 前 導 零 比 特 進 行 散 列 , 那 么 它 就 是 非 法 的 。 3 . 生 成 戳 記 的 日 期 ( 和 時 間 ) 。 可 以 認 為 當 前 時 間 之 后 的 戳 記 以 及 那 些 在 很 久 以 前 的 戳 記 是 非 法 的 。 4 . 戳 記 為 哪 個 資 源 而 生 成 。 可 能 是 一 個 電 子 郵 件 地 址 , 但 是 也 可 能 是 一 個 U R I 或 者 其 他 命 名 的 資 源 。 5 . 特 定 應 用 程 序 可 能 需 要 的 擴 展 。 任 何 附 加 的 數 據 都 可 以 放 置 在 這 里 , 但 是 , 在 到 目 前 為 止 的 使 用 中 , 這 個 域 通 常 是 空 的 。 6 . 將 該 戳 記 與 其 他 所 有 人 為 相 同 的 資 源 在 同 一 日 期 生 成 的 戳 記 區 別 開 來 的 隨 機 因 子 ( s a l t ) 。 例 如 , 兩 個 不 同 的 人 可 以 合 情 合 理 地 在 同 一 天 向 我 的 同 一 個 地 址 發 送 電 子 郵 件 。 他 們 不 應 該 由 于 我 使 用 了 d o u b l e s p e n d 數 據 庫 而 無 法 發 送 成 功 。 但 是 , 如 果 他 們 每 個 人 都 使 用 一 個 隨 機 因 子 , 那 么 完 整 戳 記 將 是 不 同 的 。 7 . 后 綴 是 算 法 真 正 起 作 用 的 部 分 。 假 定 給 出 了 前 6 個 域 , 為 了 生 成 一 個 通 過 期 望 數 目 的 前 導 零 進 行 散 列 的 的 戳 記 , m i n t e r 必 須 嘗 試 很 多 連 續 的 后 綴 值 。 e g . # 2 0 比 特 位 h a s h c a s h , 一 個 十 六 進 制 字 符 代 表 4 個 比 特 位 # 耗 時 1 0 . 5 2 8 3 4 2 9 6 2 3 秒 , 計 算 2 2 3 0 4 2 7 次 1 : 2 0 : 1 8 1 1 2 6 : f o o : : + J B v h r p i : 2 2 0 8 9 b 0 0 0 0 0 b a 4 5 b 8 0 5 9 9 e 9 8 4 9 a 7 8 7 7 9 8 3 1 2 d c 7 5 3 3 c 7 e d 二 、 代 碼 實 現 這 里 是 D a v i d M e r t z , P h . D . 實 現 的 P y t h o n 版 本 的 h a s h c a s h i m p o r t s y s f r o m s t r i n g i m p o r t a s c i i _ l e t t e r s f r o m m a t h i m p o r t c e i l , f l o o r f r o m s h a i m p o r t s h a f r o m r a n d o m i m p o r t c h o i c e f r o m t i m e i m p o r t s t r f t i m e , l o c a l t i m e , t i m e E R R = s y s . s t d e r r # D e s t i n a t i o n f o r e r r o r m e s s a g e s D A Y S = 6 0 * 6 0 * 2 4 # S e c o n d s i n a d a y t r i e s = [ 0 ] # C o u n t h a s h e s p e r f o r m e d f o r b e n c h m a r k d e f m i n t ( r e s o u r c e , b i t s = 2 0 , n o w = N o n e , e x t = , s a l t c h a r s = 8 , s t a m p _ s e c o n d s = F a l s e ) : # 挖 掘 一 個 新 的 h a s h , 滿 足 前 導 零 為 b i t s 位 # # r e s o u r c e : 資 源 , 在 垃 圾 郵 件 過 濾 中 , 通 常 表 示 郵 箱 地 址 # b i t s : 比 特 位 , 默 認 2 0 , 表 示 h a s h 前 5 為 是 零 ( 十 六 進 制 每 字 符 4 比 特 位 ) # n o w : 日 期 # e x t : 擴 展 字 段 , 通 常 留 空 # s a l t c h a r s : 鹽 的 長 度 # s t a m p _ s e c o n d s : n o w 字 段 是 否 支 持 秒 級 別 # v e r = 1 n o w = n o w o r t i m e ( ) i f s t a m p _ s e c o n d s : t s = s t r f t i m e ( % y % m % d % H % M % S , l o c a l t i m e ( n o w ) ) e l s e : t s = s t r f t i m e ( % y % m % d , l o c a l t i m e ( n o w ) ) c h a l l e n g e = % s : * 6 % ( v e r , b i t s , t s , r e s o u r c e , e x t , _ s a l t ( s a l t c h a r s ) ) r e t u r n c h a l l e n g e + _ m i n t ( c h a l l e n g e , b i t s ) d e f _ s a l t ( l ) : # 返 回 一 個 l 長 度 的 隨 機 字 符 串 a l p h a b e t = a s c i i _ l e t t e r s + + / = r e t u r n . j o i n ( [ c h o i c e ( a l p h a b e t ) f o r _ i n [ N o n e ] * l ] ) d e f _ m i n t ( c h a l l e n g e , b i t s ) : # 部 分 h a s h 碰 撞 c o u n t e r = 0 h e x _ d i g i t s = i n t ( c e i l ( b i t s / 4 . ) ) z e r o s = 0 * h e x _ d i g i t s w h i l e 1 : d i g e s t = s h a ( c h a l l e n g e + h e x ( c o u n t e r ) [ 2 : ] ) . h e x d i g e s t ( ) i f d i g e s t [ : h e x _ d i g i t s ] = = z e r o s : t r i e s [ 0 ] = c o u n t e r r e t u r n h e x ( c o u n t e r ) [ 2 : ] c o u n t e r + = 1 d e f c h e c k ( s t a m p , r e s o u r c e = N o n e , b i t s = N o n e , c h e c k _ e x p i r a t i o n = N o n e , d s _ c a l l b a c k = N o n e ) : # 校 驗 s t a m p 是 否 合 法 # # 如 果 指 定 了 c h a c k _ e x p i r a t i o n ( 應 該 用 數 字 來 表 示 ) , 表 示 有 效 期 # > > > f r o m h a s h c a s h i m p o r t D A Y S # > > > c h e c k ( s t a m p , c h e c k _ e x p i r a t i o n = 2 8 * D A Y S ) # i f s t a m p . s t a r t s w i t h ( 0 : ) : # V e r s i o n 0 t r y : d a t e , r e s , s u f f i x = s t a m p [ 2 : ] . s p l i t ( : ) e x c e p t V a l u e E r r o r : E R R . w r i t e ( M a l f o r m e d v e r s i o n 0 h a s h c a s h s t a m p ! \ \ n ) r e t u r n F a l s e i f r e s o u r c e i s n o t N o n e a n d r e s o u r c e ! = r e s : r e t u r n F a l s e e l i f c h e c k _ e x p i r a t i o n i s n o t N o n e : g o o d _ u n t i l = s t r f t i m e ( % y % m % d % H % M % S , l o c a l t i m e ( t i m e ( ) c h e c k _ e x p i r a t i o n ) ) i f d a t e i n t ( c l a i m ) : r e t u r n F a l s e e l i f c h e c k _ e x p i r a t i o n i s n o t N o n e : g o o d _ u n t i l = s t r f t i m e ( % y % m % d % H % M % S , l o c a l t i m e ( t i m e ( ) c h e c k _ e x p i r a t i o n ) ) i f d a t e > > > f r o m h a s h c a s h i m p o r t m i n t , _ m i n t > > > m i n t ( f o o , b i t s = 1 6 ) 1 : 1 6 : 0 4 0 9 2 2 : f o o : : + A r S r t K d : 1 6 4 b 3 > > > _ m i n t ( f o o , b i t s = 1 6 ) 9 5 9 1 > > > f r o m s h a i m p o r t s h a > > > s h a ( f o o 9 5 9 1 ) . h e x d i g e s t ( ) 0 0 0 0 d e 4 c 9 b 2 7 c e c 9 b 2 0 e 2 0 9 4 7 8 5 c 1 c 5 8 e a f 2 3 9 4 8 > > > s h a ( 1 : 1 6 : 0 4 0 9 2 2 : f o o : : + A r S r t K d : 1 6 4 b 3 ) . h e x d i g e s t ( ) 0 0 0 0 a 9 f e 0 c 6 d b 2 e f c b c a b 1 5 1 5 7 7 3 5 e 7 7 c 0 8 7 7 f 3 4 三 、 應 用 場 景 B i t c o i n 我 們 還 需 要 一 個 類 似 于 A d a m B a c k 提 出 的 h a s h c a s h 。 在 進 行 隨 機 散 列 運 算 時 , 工 作 量 證 明 機 制 引 入 了 對 某 一 個 特 定 值 的 掃 描 工 作 , 比 方 說 S H A 2 5 6 下 , 隨 機 散 列 值 以 一 個 或 多 個 0 開 始 。 那 么 隨 著 0 的 數 目 的 上 升 , 找 到 這 個 解 所 需 要 的 工 作 量 將 呈 指 數 增 長 , 而 對 結 果 進 行 檢 驗 則 僅 需 要 一 次 隨 機 散 列 運 算 。 我 們 在 區 塊 中 補 增 一 個 隨 機 數 , 這 個 隨 機 數 要 使 得 該 給 定 區 塊 的 隨 機 散 列 值 出 現 了 所 需 的 那 么 多 個 0 。 我 們 通 過 反 復 嘗 試 來 找 到 這 個 隨 機 數 , 直 到 找 到 為 止 , 這 樣 我 們 就 構 建 了 一 個 工 作 量 證 明 機 制 。 只 要 該 C P U 耗 費 的 工 作 量 能 夠 滿 足 該 工 作 量 證 明 機 制 , 那 么 除 非 重 新 完 成 相 當 的 工 作 量 , 該 區 塊 的 信 息 就 不 可 更 改 。 由 于 之 后 的 區 塊 是 鏈 接 在 該 區 塊 之 后 的 , 所 以 想 要 更 改 該 區 塊 中 的 信 息 , 就 還 需 要 重 新 完 成 之 后 所 有 區 塊 的 全 部 工 作 量 。 — — 中 本 聰 ( S a t o s h i N a k a m o t o ) 《 比 特 幣 : 一 種 點 對 點 的 電 子 現 金 系 統 》 比 特 幣 使 用 類 似 h a s h c a s h 算 法 來 作 為 礦 工 的 工 作 量 證 明 , 在 h a s h c a s h 的 基 礎 上 , 比 特 幣 使 用 了 s h a 2 5 6 算 法 , 在 最 初 的 版 本 中 要 求 3 2 比 特 位 的 前 導 零 , 然 后 比 特 幣 網 絡 會 周 期 性 的 重 置 難 度 以 應 對 礦 工 日 益 提 升 的 硬 件 性 能 , 目 前 的 難 度 級 別 要 求 2 5 6 位 哈 希 7 2 比 特 位 的 前 導 零 。 比 特 幣 并 沒 有 完 全 照 搬 h a s h c a s h , 相 對 于 h a s h c a s h , 比 特 幣 做 了 如 下 改 進 : h a s h c a s h 使 用 了 s h a 1 ( 1 6 0 位 ) , 而 比 特 幣 使 用 了 s h a 2 5 6 ( 2 5 6 位 ) 。 為 了 提 高 安 全 性 , S a t o s h i 使 h a s h 運 行 了 兩 次 。 為 了 確 保 區 塊 創 建 率 不 變 ( 1 0 分 鐘 出 塊 ) , 周 期 性 調 整 難 度 ( 前 期 3 2 位 零 , 目 前 7 2 位 零 ) 。 四 、 參 考 鏈 接 h t t p : / / w w w . h a s h c a s h . o r g h t t p s : / / e n . w i k i p e d i a . o r g / w i k i / H a s h c a s h h t t p : / / w w w . g n o s i s . c x / d o w n l o a d / g n o s i s / u t i l / h a s h c a s h . p y h t t p s : / / w w w . i b m . c o m / d e v e l o p e r w o r k s / c n / l i n u x / l h a s h c a s h . h t m l 版 權 聲 明 ? 著 作 權 歸 作 者 所 有 允 許 自 由 轉 載 , 但 請 保 持 署 名 和 原 文 鏈 接 。 不 允 許 商 業 用 途 、 盈 利 行 為 及 衍 生 盈 利 行 為 。 圖 片 來 源 于 網 絡 一 、 基 礎 概 念 H a s h c a s h 是 一 個 工 作 量 證 明 ( p r o o f o f w o r k ) 算 法 , 可 以 用 于 垃 圾 郵 件 過 濾 , 拒 絕 服 務 攻 擊 ( D D O S ) 等 領 域 。 比 特 幣 中 挖 礦 算 法 的 工 作 量 證 明 機 制 也 是 基 于 H a s h c a s h 來 實 現 的 。 H a s h c a s h 由 A d a m B a c k 于 1 9 9 7 年 首 次 提 出 , 論 文 戳 這 里 。 先 來 了 解 一 下 H a s h c a s h 算 法 的 原 理 吧 。 正 如 密 碼 學 中 的 . . . Q u e u e : 應 用 于 生 產 者 消 費 者 模 式 的 P y t h o n 隊 列 作 者 : 曹 容 端 時 間 : 2 0 1 6 1 0 2 1 分 類 : P y t h o n 7 條 評 論 圖 片 來 源 于 網 絡 版 權 聲 明 ? 著 作 權 歸 作 者 所 有 允 許 自 由 轉 載 , 但 請 保 持 署 名 和 原 文 鏈 接 。 不 允 許 商 業 用 途 、 盈 利 行 為 及 衍 生 盈 利 行 為 。 什 么 是 Q u e u e ? Q u e u e 是 P y t h o n 標 準 庫 中 的 線 程 安 全 的 隊 列 ( F I F O ) 實 現 , 提 供 了 一 個 適 用 于 多 線 程 編 程 的 先 進 先 出 的 數 據 結 構 , 即 隊 列 , 用 來 在 生 產 者 和 消 費 者 ( ) 線 程 之 間 的 信 息 傳 遞 。 為 什 么 使 用 Q u e u e , 而 不 是 l i s t 或 者 d i c t ? l i s t 或 者 d i c t 是 非 線 程 安 全 的 , Q u e u e 是 線 程 安 全 的 也 即 意 味 著 : 如 果 使 用 l i s t 或 者 d i c t , 我 們 必 須 把 它 放 到 l o c k 程 序 塊 中 ( a c q u i r e 和 r e l e a s e ) , 以 防 止 發 生 競 態 條 件 。 使 用 l i s t 或 者 d i c t , 需 要 考 慮 線 程 同 步 的 問 題 , 即 需 要 額 外 考 慮 w a i t 和 n o t i f y 。 生 成 者 不 能 向 滿 隊 列 添 加 數 據 , 如 果 使 用 l i s t 或 者 d i c t , 需 要 額 外 的 代 碼 實 現 。 Q u e u e 則 封 裝 了 C o n d i t i o n 行 為 , w a i t ( ) n o t i f y ( ) a c q u i r e ( ) r e l e a s e ( ) 滿 隊 列 問 題 等 等 , 無 須 額 外 考 慮 。 先 來 了 解 一 些 概 念 生 產 者 消 費 者 模 式 ( P r o d u c e r C o n s u m e r ) P r o d u c e r C o n s u m e r 模 式 是 多 線 程 編 程 中 最 常 用 的 設 計 模 式 。 生 產 者 負 責 生 產 數 據 , 并 將 數 據 存 入 隊 列 , 消 費 負 責 消 費 數 據 , 不 斷 從 隊 列 中 取 數 據 來 使 用 。 這 里 面 有 兩 個 條 件 : 必 須 滿 足 線 程 互 斥 條 件 : 任 何 時 候 最 多 只 允 許 一 個 線 程 訪 問 數 據 , 其 他 線 程 必 須 等 待 。 這 稱 為 線 程 互 斥 。 必 須 滿 足 線 程 同 步 條 件 : 線 程 同 步 是 指 線 程 之 間 所 具 有 的 一 種 制 約 關 系 , 一 個 線 程 的 執 行 依 賴 另 一 個 線 程 的 消 息 , 當 它 沒 有 得 到 另 一 個 線 程 的 消 息 時 應 等 待 , 直 到 消 息 到 達 時 才 被 喚 醒 。 舉 個 例 子 : 在 線 程 方 式 下 , 生 產 者 和 消 費 者 各 自 是 一 個 線 程 。 生 產 者 把 數 據 寫 入 隊 列 , 消 費 者 從 隊 列 讀 出 數 據 。 當 隊 列 為 空 , 消 費 者 就 阻 塞 等 待 ( 稍 事 休 息 ) ; 當 隊 列 滿 ( 達 到 最 大 長 度 ) , 生 產 者 就 阻 塞 等 待 。 線 程 阻 塞 線 程 阻 塞 通 常 是 指 一 個 線 程 在 執 行 過 程 中 暫 停 , 以 等 待 某 個 條 件 的 觸 發 。 比 如 一 個 線 程 原 子 操 作 下 , 其 他 的 線 程 都 是 阻 塞 狀 態 的 ; 比 如 i n p u t 語 句 等 待 用 戶 的 輸 入 , 線 程 也 是 阻 塞 狀 態 ; 比 如 當 隊 列 任 務 為 空 的 時 候 , 線 程 等 待 新 的 任 務 , 這 時 候 線 程 也 是 阻 塞 的 。 線 程 安 全 比 如 一 個 A r r a y L i s t 類 , 在 添 加 一 個 元 素 的 時 候 , 它 可 能 會 有 兩 步 來 完 成 : 在 I t e m s [ S i z e ] 的 位 置 存 放 此 元 素 ; 增 大 S i z e 的 值 。 在 單 線 程 運 行 的 情 況 下 , 如 果 S i z e = 0 , 添 加 一 個 元 素 后 , 此 元 素 在 位 置 0 , 而 且 S i z e = 1 ; 而 如 果 是 在 多 線 程 情 況 下 , 比 如 有 兩 個 線 程 , 線 程 A 先 將 元 素 1 存 放 在 位 置 0 。 但 是 此 時 C P U 調 度 線 程 A 暫 停 , 線 程 B 得 到 運 行 的 機 會 。 線 程 B 向 此 A r r a y L i s t 添 加 元 素 2 , 因 為 此 時 S i z e 仍 然 等 于 0 ( 注 意 , 我 們 假 設 的 是 添 加 一 個 元 素 是 要 兩 個 步 驟 , 而 線 程 A 僅 僅 完 成 了 步 驟 1 ) , 所 以 線 程 B 也 將 元 素 存 放 在 位 置 0 。 然 后 線 程 A 和 線 程 B 都 繼 續 運 行 , 都 增 加 S i z e 的 值 , 結 果 S i z e 等 于 2 。 那 好 , 我 們 來 看 看 A r r a y L i s t 的 情 況 , 期 望 的 元 素 應 該 有 2 個 , 而 實 際 元 素 是 在 0 位 置 , 造 成 丟 失 元 素 , 而 且 S i z e 等 于 2 。 這 就 是 “ 線 程 不 安 全 ” 了 。 原 子 操 作 原 子 ( a t o m ) 本 意 是 “ 不 能 被 進 一 步 分 割 的 最 小 粒 子 ” , 而 原 子 操 作 ( a t o m i c o p e r a t i o n ) 意 為 不 可 被 中 斷 的 一 個 或 一 系 列 操 作 。 如 變 量 的 賦 值 , 不 可 能 一 個 線 程 在 賦 值 , 到 一 半 切 到 另 外 一 個 線 程 工 作 去 了 , 這 是 原 子 操 作 。 但 是 一 些 數 據 結 構 的 操 作 , 比 如 上 述 A r r a y L i s t 的 例 子 , 添 加 元 素 是 分 成 兩 個 步 驟 的 , 所 以 必 須 要 加 鎖 。 加 鎖 后 的 操 作 就 可 以 認 為 是 原 子 的 了 。 舉 個 小 栗 子 來 加 深 理 解 : 原 來 在 銀 行 辦 理 業 務 是 排 隊 的 形 式 的 , 雖 然 也 是 多 線 程 ( 多 個 窗 口 ) , 但 是 經 常 出 現 有 些 柜 臺 人 多 、 有 些 柜 臺 人 少 , 或 者 有 些 柜 臺 辦 理 完 了 , 有 些 柜 臺 還 排 著 長 隊 , 這 時 候 就 需 要 人 工 來 干 預 , 很 麻 煩 , 效 率 不 高 。 現 在 的 銀 行 都 是 叫 號 系 統 , 這 是 一 個 典 型 的 生 產 者 消 費 者 模 式 。 銀 行 提 供 四 排 座 椅 ( 隊 列 ) , 每 人 手 上 拿 一 個 號 , 先 來 先 辦 , 后 來 后 辦 ( 先 進 先 出 F i r s t i n F i r s t o u t ) ; 由 叫 號 機 ( 生 產 者 ) 來 打 印 一 個 號 , 來 一 個 顧 客 打 印 一 個 號 , 完 了 塞 到 隊 尾 ; 當 然 可 以 設 置 一 個 隊 列 最 大 數 , 比 如 1 0 0 人 , 超 過 1 0 0 人 在 隊 列 里 , 叫 號 機 就 不 打 印 , 直 到 隊 列 有 空 閑 位 置 。 銀 行 開 多 個 窗 口 ( 多 個 消 費 者 線 程 ) 從 隊 列 里 叫 號 , 辦 完 一 個 , 再 叫 一 個 。 辦 理 的 業 務 是 原 子 性 的 ( 存 或 者 取 都 在 一 個 人 手 上 完 成 , 中 間 流 程 不 可 分 割 ) 。 也 不 會 同 時 有 多 個 柜 臺 操 作 你 的 帳 戶 , 所 以 是 線 程 安 全 的 。 如 果 都 辦 理 完 了 , 叫 號 機 和 柜 臺 都 陷 入 了 等 待 狀 態 , 打 一 會 兒 瞌 睡 , 線 程 阻 塞 , 直 到 有 新 的 顧 客 來 辦 理 業 務 。 三 種 形 式 的 Q u e u e : F I F O 隊 列 圖 片 來 源 于 網 絡 c l a s s Q u e u e . Q u e u e ( m a x s i z e = 0 ) F I F O 即 F i r s t i n F i r s t O u t , 先 進 先 出 。 Q u e u e 提 供 了 一 個 基 本 的 F I F O 容 器 , 使 用 方 法 很 簡 單 , m a x s i z e 是 個 整 數 , 指 明 了 隊 列 中 能 存 放 的 數 據 個 數 的 上 限 。 一 旦 達 到 上 限 , 插 入 會 導 致 阻 塞 , 直 到 隊 列 中 的 數 據 被 消 費 掉 。 如 果 m a x s i z e 小 于 或 者 等 于 0 , 隊 列 大 小 沒 有 限 制 。 L I F O 隊 列 圖 片 來 源 于 網 絡 c l a s s Q u e u e . L i f o Q u e u e ( m a x s i z e = 0 ) L I F O 即 L a s t i n F i r s t O u t , 后 進 先 出 。 與 棧 的 類 似 , 使 用 也 很 簡 單 , m a x s i z e 用 法 同 上 P r i o r i t y 隊 列 c l a s s Q u e u e . P r i o r i t y Q u e u e ( m a x s i z e = 0 ) 構 造 一 個 優 先 隊 列 。 優 先 級 級 別 越 低 的 越 先 出 來 , m a x s i z e 用 法 同 上 。 常 用 方 法 創 建 一 個 隊 列 # m a x s i z e 表 示 隊 列 長 度 , 小 于 1 表 示 隊 列 長 度 無 限 。 i m p o r t Q u e u e q = Q u e u e . Q u e u e ( m a x s i z e = 1 0 ) 將 一 個 值 放 入 隊 列 # p u t ( i t e m [ , b l o c k [ , t i m e o u t ] ] ) # 參 數 i t e m 為 必 選 參 數 # b l o c k 為 可 選 參 數 , 默 認 為 T r u e # 如 果 隊 列 為 空 且 b l o c k = T r u e , p u t ( ) 使 得 調 用 線 程 阻 塞 , 直 到 空 出 一 個 數 據 單 元 。 # 如 果 隊 列 為 空 且 b l o c k = F a l s e , p u t ( ) 將 拋 出 F u l l 異 常 。 # 將 1 0 插 入 隊 尾 q . p u t ( 1 0 ) 將 一 個 值 從 隊 列 中 取 出 # g e t ( [ b l o c k [ , t i m e o u t ] ] ) # 參 數 b l o c k 為 可 選 參 數 , 默 認 為 T r u e # 如 果 隊 列 為 空 且 b l o c k = T r u e , g e t ( ) 使 得 調 用 線 程 阻 塞 , 直 到 有 新 數 據 產 生 。 # 如 果 隊 列 為 空 且 b l o c k = F a l s e , g e t ( ) 將 拋 出 E m p t y 異 常 。 # 從 對 列 頭 部 取 出 一 個 數 據 q . g e t ( ) 獲 取 隊 列 的 大 小 q . q s i z e ( ) 判 斷 隊 列 是 否 為 空 # 隊 列 為 空 返 回 T r u e , 反 之 返 回 F a l s e q . e m p t y ( ) 判 斷 隊 列 是 否 已 滿 # 隊 列 已 滿 返 回 T r u e , 反 之 返 回 F a l s e q . f u l l ( ) t a s k _ d o n e ( ) 意 味 著 之 前 入 隊 的 一 個 任 務 已 經 完 成 。 由 隊 列 的 消 費 者 線 程 調 用 。 每 一 個 g e t ( ) 調 用 得 到 一 個 任 務 , 接 下 來 的 t a s k _ d o n e ( ) 調 用 告 訴 隊 列 該 任 務 已 經 處 理 完 畢 。 如 果 當 前 一 個 j o i n ( ) 正 在 阻 塞 , 它 將 在 隊 列 中 的 所 有 任 務 都 處 理 完 時 恢 復 執 行 ( 即 每 一 個 由 p u t ( ) 調 用 入 隊 的 任 務 都 有 一 個 對 應 的 t a s k _ d o n e ( ) 調 用 ) 。 j o i n ( ) 阻 塞 調 用 線 程 , 直 到 隊 列 中 的 所 有 任 務 被 處 理 掉 。 只 要 有 數 據 被 加 入 隊 列 , 未 完 成 的 任 務 數 就 會 增 加 。 當 消 費 者 線 程 調 用 t a s k _ d o n e ( ) ( 意 味 著 有 消 費 者 取 得 任 務 并 完 成 任 務 ) , 未 完 成 的 任 務 數 就 會 減 少 。 當 未 完 成 的 任 務 數 降 到 0 , j o i n ( ) 解 除 阻 塞 。 其 他 q . p u t _ n o w a i t ( i t e m ) = = q . p u t ( i t e m , F a l s e ) q . g e t _ n o w a i t ( ) = = q . g e t ( F a l s e ) 一 個 最 簡 單 的 生 產 者 消 費 者 模 式 # c o d i n g : u t f 8 # f i l e n a m e : q u e u e . p y # a u t h o r : c a o r d @ s h o w w a n t . c o m i m p o r t t i m e i m p o r t Q u e u e i m p o r t t h r e a d i n g c l a s s P r o d u c e r ( t h r e a d i n g . T h r e a d ) : d e f _ _ i n i t _ _ ( s e l f , t h r e a d _ n a m e , q u e u e ) : t h r e a d i n g . T h r e a d . _ _ i n i t _ _ ( s e l f , n a m e = t h r e a d _ n a m e ) s e l f . d a t a = q u e u e d e f r u n ( s e l f ) : f o r i i n r a n g e ( 2 0 ) : p r i n t ( % s : % s i s p r o d u c i n g % d t o t h e q u e u e ! % ( t i m e . c t i m e ( ) , s e l f . g e t N a m e ( ) , i ) ) s e l f . d a t a . p u t ( i ) t i m e . s l e e p ( 1 ) p r i n t ( % s : % s f i n i s h e d ! % ( t i m e . c t i m e ( ) , s e l f . g e t N a m e ( ) ) ) t i m e . s l e e p ( 1 0 ) f o r i i n r a n g e ( 1 0 ) : s e l f . d a t a . p u t ( i ) c l a s s C o n s u m e r ( t h r e a d i n g . T h r e a d ) : d e f _ _ i n i t _ _ ( s e l f , t h r e a d _ n a m e , q u e u e ) : t h r e a d i n g . T h r e a d . _ _ i n i t _ _ ( s e l f , n a m e = t h r e a d _ n a m e ) s e l f . d a t a = q u e u e d e f r u n ( s e l f ) : w h i l e 1 : t r y : n u m = s e l f . d a t a . g e t ( ) p r i n t ( % s : % s i s c o n s u m i n g . % d i n t h e q u e u e i s c o n s u m e d ! % ( t i m e . c t i m e ( ) , s e l f . g e t N a m e ( ) , n u m ) ) e x c e p t : p r i n t ( % s : % s f i n i s h e d ! % ( t i m e . c t i m e ( ) , s e l f . g e t N a m e ( ) ) ) # b r e a k d e f m a i n ( ) : q u e u e = Q u e u e . Q u e u e ( m a x s i z e = 2 0 ) p r o d u c e r = P r o d u c e r ( p r o d u c e r , q u e u e ) c o n s u m e r = C o n s u m e r ( c o n s u m e r , q u e u e ) p r o d u c e r . s t a r t ( ) c o n s u m e r . s t a r t ( ) p r o d u c e r . j o i n ( ) c o n s u m e r . j o i n ( ) p r i n t ( A l l t h r e a d f i n i s h e d ) i f _ _ n a m e _ _ = = _ _ m a i n _ _ : m a i n ( ) 圖 片 來 源 于 網 絡 版 權 聲 明 ? 著 作 權 歸 作 者 所 有 允 許 自 由 轉 載 , 但 請 保 持 署 名 和 原 文 鏈 接 。 不 允 許 商 業 用 途 、 盈 利 行 為 及 衍 生 盈 利 行 為 。 什 么 是 Q u e u e ? Q u e u e 是 P y t h o n 標 準 庫 中 的 線 程 安 全 的 隊 列 ( F I F O ) 實 現 , 提 供 了 一 個 適 用 于 多 線 程 編 程 的 先 進 先 出 的 數 據 結 構 , 即 隊 列 , 用 來 在 生 產 者 和 消 費 者 ( ) 線 程 之 間 的 信 息 傳 遞 。 為 什 么 使 用 Q u e u . . . 深 入 淺 出 P y t h o n 多 線 程 ( 1 ) 創 建 線 程 作 者 : 曹 容 端 時 間 : 2 0 1 6 1 0 0 5 分 類 : P y t h o n 1 條 評 論 圖 片 來 源 于 網 絡 T h r e a d 對 象 T h r e a d 對 象 位 于 P y t h o n 標 準 庫 中 的 t h r e a d i n g . p y 中 。 它 的 初 始 化 方 法 是 這 樣 的 : d e f _ _ i n i t _ _ ( s e l f , g r o u p = N o n e , t a r g e t = N o n e , n a m e = N o n e , a r g s = ( ) , k w a r g s = N o n e , * , d a e m o n = N o n e ) 一 個 線 程 通 過 調 用 其 s t a r t ( ) 方 法 來 激 活 , 每 個 線 程 對 象 只 能 調 用 一 次 s t a r t ( ) , 否 則 會 拋 出 R u n t i m e E r r o r 錯 誤 。 假 設 我 們 現 在 有 一 場 跑 步 比 賽 , 共 有 5 名 運 動 員 參 加 。 發 令 槍 一 響 , 大 家 肯 定 同 時 開 始 跑 ( 并 發 ) , 直 到 所 有 的 運 動 員 跑 完 , 比 賽 結 束 。 在 這 個 例 子 里 面 , 我 們 可 以 把 賽 場 看 成 是 一 個 進 程 , 而 賽 場 里 面 的 每 個 運 動 員 占 用 一 條 跑 道 , 這 個 是 線 程 。 發 令 槍 一 響 , 所 有 線 程 啟 動 , 直 到 運 行 結 束 。 讓 我 們 模 擬 一 下 上 述 場 景 , 我 們 可 以 用 兩 種 方 式 來 實 現 。 為 了 模 擬 跑 步 , 我 們 引 入 一 個 r a n d o m 來 產 生 一 個 隨 機 事 件 , 然 后 使 用 t i m e . s l e e p 模 擬 跑 步 用 時 , 盡 量 使 得 結 果 看 起 來 像 那 么 回 事 : ) 使 用 函 數 創 建 線 程 i m p o r t t i m e i m p o r t r a n d o m i m p o r t t h r e a d i n g d e f r u n n e r ( n a m e ) : t i m e _ c o s t = r a n d o m . r a n d i n t ( 7 , 1 2 ) p r i n t ( : 我 開 始 跑 了 . f o r m a t ( n a m e ) ) t i m e . s l e e p ( t i m e _ c o s t ) p r i n t ( : 我 跑 完 了 , 用 時 秒 . f o r m a t ( n a m e , t i m e _ c o s t ) ) i f _ _ n a m e _ _ = = _ _ m a i n _ _ : # 我 們 有 5 個 運 動 員 , 創 建 5 個 線 程 , 分 別 調 用 s t a r t 方 法 激 活 線 程 n a m e _ l i s t = [ 張 三 , 李 四 , 王 五 , 趙 六 , 何 二 ] f o r n a m e i n n a m e _ l i s t : t = t h r e a d i n g . T h r e a d ( t a r g e t = r u n n e r , a r g s = ( n a m e , ) ) t . s t a r t ( ) 在 這 個 例 子 中 : 我 們 定 義 了 一 個 r u n n e r 函 數 , 來 模 擬 跑 步 的 行 為 。 我 們 通 過 實 例 化 t h r e a d i n g . T h r e a d 類 來 創 建 線 程 。 在 這 個 例 子 中 , 由 于 r u n n e r 函 數 是 一 個 帶 參 數 的 函 數 , 我 們 還 通 過 a r g s 把 參 數 傳 給 了 r u n n e r 最 后 分 別 調 用 線 程 對 象 的 s t a r t 方 法 , 來 開 啟 線 程 。 # 運 行 結 果 張 三 : 我 開 始 跑 了 李 四 : 我 開 始 跑 了 王 五 : 我 開 始 跑 了 趙 六 : 我 開 始 跑 了 何 二 : 我 開 始 跑 了 李 四 : 我 跑 完 了 , 用 時 7 秒 趙 六 : 我 跑 完 了 , 用 時 8 秒 何 二 : 我 跑 完 了 , 用 時 8 秒 張 三 : 我 跑 完 了 , 用 時 1 1 秒 王 五 : 我 跑 完 了 , 用 時 1 1 秒 我 們 發 現 , 幾 乎 第 一 時 間 , 5 個 人 都 打 印 了 我 開 始 跑 了 , 最 后 , 李 四 得 了 第 一 名 。 通 過 繼 承 T h r e a d 類 來 創 建 線 程 當 然 , 我 們 也 可 以 編 寫 面 向 對 象 的 代 碼 , 通 過 繼 承 T h r e a d 類 來 實 現 上 面 的 功 能 。 i m p o r t t i m e i m p o r t r a n d o m i m p o r t t h r e a d i n g c l a s s R u n n e r ( t h r e a d i n g . T h r e a d ) : d e f _ _ i n i t _ _ ( s e l f , n a m e ) : s u p e r ( ) . _ _ i n i t _ _ ( n a m e = n a m e ) d e f r u n ( s e l f ) : t i m e _ c o s t = r a n d o m . r a n d i n t ( 7 , 1 2 ) p r i n t ( : 我 開 始 跑 了 . f o r m a t ( s e l f . n a m e ) ) t i m e . s l e e p ( t i m e _ c o s t ) p r i n t ( : 我 跑 完 了 , 用 時 秒 . f o r m a t ( s e l f . n a m e , t i m e _ c o s t ) ) i f _ _ n a m e _ _ = = _ _ m a i n _ _ : # 我 們 有 5 個 運 動 員 , 實 例 化 5 個 R u n n e r 對 象 , 分 別 調 用 s t a r t 方 法 激 活 線 程 n a m e _ l i s t = [ 張 三 , 李 四 , 王 五 , 趙 六 , 何 二 ] f o r n a m e i n n a m e _ l i s t : t = R u n n e r ( n a m e ) t . s t a r t ( ) 在 這 個 例 子 中 : 我 們 創 建 了 一 個 類 R u n n e r , 讓 它 繼 承 自 t h r e a d i n g . T h r e a d 。 在 構 造 器 中 我 們 使 用 s u p e r ( ) 來 調 用 父 類 的 構 造 器 , 并 且 把 n a m e 傳 給 他 。 繼 承 T h r e a d 來 實 現 多 線 程 最 重 要 的 是 o v e r r i d e 父 類 的 r u n 方 法 , 我 們 把 跑 步 的 邏 輯 放 在 r u n 方 法 里 面 。 最 后 跟 上 個 例 子 的 邏 輯 類 似 , 只 是 我 們 通 過 實 例 化 R u n n e r 類 來 創 建 了 線 程 。 以 上 就 是 P y t h o n 創 建 線 程 的 兩 種 方 式 。 兩 種 方 式 如 何 選 擇 繼 承 T h r e a d 類 的 方 式 雖 然 可 行 , 但 是 這 樣 的 實 現 方 式 是 依 賴 t h r e a d i n g 庫 的 , 代 碼 只 能 在 線 程 上 下 文 中 使 用 。 而 第 一 種 方 式 , 實 現 的 代 碼 可 以 脫 離 線 程 上 下 文 , 可 以 在 其 他 上 下 文 使 用 。 如 果 業 務 邏 輯 簡 單 , 推 薦 第 一 種 方 式 ( 使 用 函 數 創 建 線 程 ) 。 如 果 業 務 相 對 復 雜 , 但 只 跟 線 程 相 關 , 推 薦 第 二 種 方 式 ( 通 過 繼 承 T h r e a d 類 來 創 建 線 程 ) 。 如 果 邏 輯 相 對 復 雜 , 又 不 是 純 線 程 業 務 的 , 可 以 實 現 一 個 類 , 還 是 以 實 例 化 T h r e a d 類 , t a r g e t 傳 參 數 的 方 式 去 做 , 比 如 : c l a s s R u n n e r ( o b j e c t ) : d e f _ _ i n i t _ _ ( s e l f , n a m e ) : s e l f . n a m e = n a m e d e f s t a r t ( s e l f ) : t = t h r e a d i n g . T h r e a d ( t a r g e t = s e l f . r u n ) t . s t a r t ( ) d e f r u n ( s e l f ) : # 線 程 邏 輯 p a s s . . . 節 外 生 枝 在 我 們 上 面 的 例 子 中 , 我 們 很 好 的 實 現 了 模 擬 賽 跑 的 一 個 效 果 。 但 是 別 高 興 的 太 早 , 這 時 候 主 辦 方 ( 產 品 經 理 ) 找 過 來 了 , 說 你 程 序 是 跑 完 了 , 但 是 還 沒 有 宣 布 比 賽 結 束 , 最 后 你 得 打 印 出 一 行 比 賽 結 束 才 行 。 這 還 不 簡 單 , 不 就 是 最 后 加 一 個 打 印 嗎 ? . . . i f _ _ n a m e _ _ = = _ _ m a i n _ _ : # 我 們 有 5 個 運 動 員 , 實 例 化 5 個 R u n n e r 對 象 , 分 別 調 用 s t a r t 方 法 激 活 線 程 n a m e _ l i s t = [ 張 三 , 李 四 , 王 五 , 趙 六 , 何 二 ] f o r n a m e i n n a m e _ l i s t : t = R u n n e r ( n a m e ) t . s t a r t ( ) p r i n t ( 比 賽 結 束 ) 我 們 來 看 看 結 果 : 張 三 : 我 開 始 跑 了 李 四 : 我 開 始 跑 了 王 五 : 我 開 始 跑 了 趙 六 : 我 開 始 跑 了 何 二 : 我 開 始 跑 了 比 賽 結 束 王 五 : 我 跑 完 了 , 用 時 8 秒 張 三 : 我 跑 完 了 , 用 時 9 秒 李 四 : 我 跑 完 了 , 用 時 9 秒 何 二 : 我 跑 完 了 , 用 時 9 秒 趙 六 : 我 跑 完 了 , 用 時 1 2 秒 W T F , 大 寫 的 黑 人 問 號 , 還 沒 跑 完 就 打 印 啦 , 這 不 科 學 啊 。 下 一 小 節 , 讓 我 們 來 試 著 分 析 并 解 決 這 個 不 同 尋 常 的 問 題 吧 。 版 權 聲 明 ? 著 作 權 歸 作 者 所 有 允 許 自 由 轉 載 , 但 請 保 持 署 名 和 原 文 鏈 接 。 不 允 許 商 業 用 途 、 盈 利 行 為 及 衍 生 盈 利 行 為 。 圖 片 來 源 于 網 絡 T h r e a d 對 象 T h r e a d 對 象 位 于 P y t h o n 標 準 庫 中 的 t h r e a d i n g . p y 中 。 它 的 初 始 化 方 法 是 這 樣 的 : d e f _ _ i n i t _ _ ( s e l f , g r o u p = N o n e , t a r g e t = N o n e , n a m e = N o n e , a r g s = ( ) , k w a r g s = N o n e , * , d a e m o n = N o n e ) 一 個 線 程 通 過 調 用 . . . 1 2 3 后 一 頁 ? 分 類 P y t h o n ( 1 0 ) G o l a n g ( 0 ) B l o c k c h a i n ( 0 ) A l g o r i t h m ( 1 ) 最 新 文 章 配 置 文 件 用 H O C O N / . c o n f 還 是 j s o n P y t h o n R e c o r d s 庫 使 用 詳 解 工 作 量 證 明 之 H a s h c a s h 算 法 , 了 解 一 下 ? Q u e u e : 應 用 于 生 產 者 消 費 者 模 式 的 P y t h o n 隊 列 深 入 淺 出 P y t h o n 多 線 程 ( 1 ) 創 建 線 程 深 入 淺 出 P y t h o n 多 線 程 ( 0 ) G I L 全 局 解 釋 器 鎖 的 前 世 今 生 P y t h o n 使 用 S A X 處 理 x m l 文 件 P y t h o n 抓 取 同 花 順 股 市 直 播 P y t h o n 開 發 的 一 些 技 巧 P y t h o n 對 象 的 賦 值 、 淺 拷 貝 和 深 拷 貝 機 制 最 近 回 復 w a h p : o r a c l e 連 不 上 熱 搜 榜 : 文 章 還 不 錯 , 支 持 一 下 今 日 新 鮮 事 : 文 章 非 常 好 超 喜 歡 今 日 新 聞 : 文 章 不 錯 支 持 一 下 吧 頭 條 新 聞 : 文 章 不 錯 非 常 喜 歡 今 日 新 鮮 事 : 文 章 不 錯 支 持 一 下 吧 熱 搜 榜 : 文 章 不 錯 非 常 喜 歡 頭 條 : 文 章 不 錯 支 持 一 下 吧 熱 搜 : 文 章 不 錯 非 常 喜 歡 今 日 新 聞 : 文 章 不 錯 非 常 喜 歡 其 它 登 錄 文 章 R S S 評 論 R S S T y p e c h o ? 2 0 2 4 人 生 苦 短 . 由 T y p e c h o 強 力 驅 動 . 蘇 I C P 備 1 6 0 6 4 0 7 0 號

站點概括

關于www.caorongduan.com說明:
www.caorongduan.com由網友主動性提交被聚集網整理收錄的,聚集網僅提供www.caorongduan.com的基礎信息并免費向大眾網友展示,www.caorongduan.com的是IP地址:114.215.114.30 [中國山東青島 阿里云],www.caorongduan.com的百度權重為0、百度手機權重為0、百度收錄為0條、360收錄為0條、搜狗收錄為0條、谷歌收錄為0條、百度來訪流量大約在-之間、百度手機端來訪流量大約在-之間、www.caorongduan.com的備案號是登錄可見、備案人叫登錄可見、被百度收錄的關鍵詞有0個、手機端關鍵詞有0個、該站點迄今為止已經創建9年7個月5天。

內容聲明:

1、本站收錄的內容來源于大數據收集,版權歸原網站所有!
2、本站收錄的內容若侵害到您的利益,請聯系我們進行刪除處理!
3、本站不接受違規信息,如您發現違規內容,請聯系我們進行清除處理!
4、本文地址:http://m.sycxjdsbhs.com/links/6e87404eedb3198cea87.html,復制請保留版權鏈接!


溫馨小提示:在您的網站做上本站友情鏈接,訪問一次即可自動收錄并自動排在本站第一位!
您可能還喜歡

天津同仁堂集團股份有限公司 | 片劑 | 硬膠囊劑 | 顆粒劑

天津同仁堂集團股份有限公司|片劑|硬膠囊劑|顆粒劑_天津同仁堂集團股份有限公司主營業務為中成藥的研發、生產和銷售,產品覆蓋片劑、硬膠囊劑、顆粒劑、糖漿劑、口服液、口服溶液劑、橡膠膏劑、散劑等8種劑型,涉及治療領域包括泌尿系統中的腎臟病、心腦血管疾病及周圍血管疾病等。

酷家樂 - 在線3D云設計平臺

酷家樂是一款在線高效云設計軟件,3步上手,10秒做出超清3D效果圖,平臺有著6500多萬的注冊用戶,合作企業達到了4萬多家,同時還為廣大業主朋友、房產從業者提供累計3.6億免費設計素材及3億+設計方案,覆蓋全國90%戶型的戶型圖以及海量裝修效果圖、3D模型素材。

河北仕途升學_高考志愿填報_志愿填報_河北高考志愿填報_河北單招報志愿_仕途升學

河北仕途升學是一家從事高考志愿填報、單招報志愿咨詢的一站式服務機構。致力于為更多學子提供志愿填報、單招報志愿,幫助學子做出多彩的規劃。仕途升學秉承“專業、精準、服務”的理念,將企業管理咨詢的經驗融入高考志愿填報、單招報志愿,全方位評估大學錄取的可能,給予多元化的升學咨詢方案。仕途升學所做的是成為你的“燈塔”,幫助你看清自己,指導你未來5-10年的積累和發展。仕途升學相信,您的未來需要專家的深度參與規劃。

河南省政采管理咨詢中心

河南省政采管理咨詢中心擁有一支技術熟練、業務精專職業化的專業團隊以及精通招標、采購工作的資深專家庫隊伍,可為采購方提供從項目立項、報批、編制可研報告、編制技術和商務標書、主持招標、開標、評標活動、進行業務談判直至簽訂采購合同等全過程的服務和咨詢。 團隊管理層均具有高級職稱,在招標行業具有豐富的實踐經驗,從業人員均通過政府采購從業人員的資格認證,85%的人員擁有本科以上高等教育學歷,且60%的人員具有中高級專業職稱。對招標采購文件編制、評標程序、招投標全過程均具有豐富的實踐經驗,具有鮮明的人才、技術等綜合優勢。公物團隊與各地區政府機構以及各領域建立了廣泛的聯系,建立了密切的合作關系,為公司業務發展奠定了堅實的基礎。 公司具有優越的辦公環境、先進的信息網絡化辦公設施及設備,并擁有多種 專業技術專家庫。所有開標大廳、評標廳、接待室,均配有現代化的多媒體設備,可根據不同需求提供更有針對性的個性化項目招投標服務,為開評標提供了場地保障。 公司嚴格遵守國家《政府采購法》、《招標投標法》等相關法律法規,秉持“公開、公平、公正、誠實信用”的原則,建立起規范化、專業化、流程化的現代企業管理模式。 “熱情、嚴謹、客觀、公正”是我們的服務宗旨,我們將繼續發揮行業、人才、信息和技術等綜合優勢,以獨特的系統效應為公共財政、為企事業單位、為我國的陽光工程做出更大的貢獻。

阿斯蘭品牌-納尼亞涂料,專業生產天然環保的凈味木蠟油、木油、水性漆和耐候色漿。

Narnia納尼亞涂料主要產品有環保健康的凈味內墻漆、凈味木蠟油、耐候木油、水性漆和耐候色漿等,具有防水、防污、防腐、耐候、抗紫外線、延緩木材開裂變形等特性;納尼亞木蠟油產品采用天然植物油、蠟等原料精制而成。

恒信集團

山東恒信集團有限公司位于山東省濟寧市,是一家集煤化工、新型炭材料及高溫煤焦油資源綜合利用、以氫能為主線的清潔能源、針狀焦為主的新材料、綜合貿易、物流運輸、房產置業、生態農業等產業于一體的跨行業、跨地域、多元化發展的大型現代化企業集團。旗下擁有山東恒信集團焦化有限公司、山東榮信集團有限公司、山東恒信科技發展有限公司、山東恒信高科有限公司、山東奔月新能源發展有限公司、山東恒信航運有限公司、山東恒信置業有限公司和山東恒信生物科技有限公司等子公司,以及運河碼頭兩座。

浙江溫州麗水松陽不銹鋼管廠家-304不銹鋼管|316L不銹鋼管|310S不銹鋼管-浙江至德鋼業有限公司

浙江至德鋼業有限公司是專業生產不銹鋼管廠家,始終以為客戶提供安全可靠不銹鋼管道及配件為宗旨,倉庫常備不銹鋼管現貨庫存1000余噸,鋼管價格實惠,可切割零售,常用規格當天發貨。另可為客戶提供各種不銹鋼管焊接,折彎,鉆孔,切割,拋光,車床加工等配套服務。

隨機文章
Contactsprovider 的強大優勢:更有效地管理您的聯系人 (contact 翻譯)

Contactsprovider 的強大優勢:更有效地管理您的聯系人 (contact 翻譯)

在當今信息爆炸的時代,聯系人管理已成為一項重要的任務,有效管理您的聯系人可以幫助您建立牢固的專業關系,提高工作效率并促進更好的溝通,而Contactsprovider正是一款專為滿足這些需求而設計的強大工具,Contactsprovider的主要優勢無縫集成,Contactsprovider可以輕松與您的Google、Outlook、...。

互聯網資訊 2024-09-30 16:31:28

利用 ReportViewer 解鎖數據可視化的新高度 (利用rEw測試軟件自制聲卡頻響教準)

利用 ReportViewer 解鎖數據可視化的新高度 (利用rEw測試軟件自制聲卡頻響教準)

ReportViewer是一款由Microsoft開發的免費開源的報告生成工具,它使開發人員能夠輕松地創建交互式、專業品質的報告,即使他們沒有設計或報告編寫方面的經驗,ReportViewer的優點易于使用,ReportViewer的直觀界面和拖放功能使其易于使用,即使對于初學者也是如此,強大的功能,ReportViewer提供了一系...。

互聯網資訊 2024-09-27 19:29:32

調試器的魔力:揭示代碼內部運行機制,助你成為編程專家 (調試器的魔力是什么)

調試器的魔力:揭示代碼內部運行機制,助你成為編程專家 (調試器的魔力是什么)

提高代碼質量,通過調試器識別和解決問題,你可以提高代碼的可靠性和魯棒性,減少壓力,調試器可以幫助你對代碼更有信心,因為你知道可以可靠地找出并解決問題,使用調試器的示例下面是一個使用調試器查找和解決問題的示例,代碼示例functionsum,a,b,returna,b,console.log,sum,1,2,預期結果,3...。

最新資訊 2024-09-26 17:10:48

從桌面端到移動端:如何無縫過渡你的網站 (桌面移動到)

從桌面端到移動端:如何無縫過渡你的網站 (桌面移動到)

隨著移動設備的普及,網站需要適應不同的屏幕尺寸才能為用戶提供良好的體驗,本文將介紹如何無縫地將你的網站從桌面端過渡到移動端,1.響應式設計響應式設計是一種網頁設計技術,可以讓網站自動適應不同的屏幕尺寸,它使用媒體查詢來根據設備的寬度調整布局和內容,要實現響應式設計,可以采用以下方法,使用CSS網格系統,如Bootstrap或Found...。

互聯網資訊 2024-09-17 05:56:40

C語言中背包問題的運作原理及其解決方案 (c語言背包問題 貪心算法)

C語言中背包問題的運作原理及其解決方案 (c語言背包問題 貪心算法)

背包問題簡介背包問題是一個經典的計算機科學問題,它描述了這樣的場景,有一個背包容量為W,里面裝有n件物品,每件物品的重量為w[i],價值為v[i],目標是挑選一種物品的組合,使得背包中的總重量不超過W,同時總價值最大化,C語言中背包問題的運作原理在C語言中,背包問題可以通過使用動態規劃算法來解決,該算法將問題分解成較小的子問題,并逐步...。

本站公告 2024-09-12 20:48:07

掌握PHP商城開發的精髓:打造成功的電子商務解決方案 (php做商城會不安全嗎)

掌握PHP商城開發的精髓:打造成功的電子商務解決方案 (php做商城會不安全嗎)

在當今數字時代,擁有一個強大的電子商務平臺對于企業在競爭激烈的市場中取得成功至關重要,PHP,作為一種功能強大且流行的編程語言,是構建安全、可擴展的商城解決方案的理想選擇,PHP商城開發優勢開源和免費,PHP是開源且免費的,這意味著您無需支付任何許可費用即可使用它,廣泛的社區支持,PHP擁有一個龐大且活躍的社區,為開發人員提供支持、資...。

互聯網資訊 2024-09-11 19:43:38

Keras(kerastase什么牌子)

Keras(kerastase什么牌子)

Keras是什么,Keras是一個高級神經網絡API,它基于TensorFlow,用于簡化深度學習模型的開發,Keras的主要特點包括,用戶友好的界面,易于使用和理解模塊化設計,使您可以輕松地定制模型支持各種深度學習任務,包括圖像分類、自然語言處理和時間序列預測與其他庫和框架集成,例如NumPy、Pandas和Scikit,learn...。

互聯網資訊 2024-09-08 17:56:40

告別編碼煩惱:選擇最適合你的 C 語言編輯器 (告別的代碼)

告別編碼煩惱:選擇最適合你的 C 語言編輯器 (告別的代碼)

C語言作為一種低級語言,廣泛應用于操作系統、嵌入式系統等領域,對于C語言開發者來說,選擇一款合適的編輯器至關重要,本文將介紹適用于C語言開發的各種編輯器,幫助你告別編碼煩惱,編輯器選擇因素在選擇C語言編輯器時,需要考慮以下因素,語法高亮,語法高亮可以幫助開發者快速識別代碼中的不同元素,選擇最適合你的編輯器可以大幅提高你的C語言開發效率...。

本站公告 2024-09-08 09:56:46

洞悉Java語言的本質:10個不可或缺的特性,定義其卓越 (洞悉的意思)

洞悉Java語言的本質:10個不可或缺的特性,定義其卓越 (洞悉的意思)

引言作為當今最流行的編程語言之一,Java因其卓越的特性而廣受歡迎,使其成為各種企業應用的理想選擇,本文將深入探討定義Java卓越性的10個不可或缺的特性,幫助您充分了解這門強大的語言,1.平臺獨立性Java的關鍵特性之一是跨平臺兼容性,它遵循一次編寫,隨處運行的原則,意味著在任何支持Java虛擬機,JVM,的平臺上都可以運行Java...。

最新資訊 2024-09-07 06:50:55

響應式建站源碼:讓你的網站在所有設備上完美呈現 (響應式建站什么意思)

響應式建站源碼:讓你的網站在所有設備上完美呈現 (響應式建站什么意思)

什么是響應式建站,響應式建站是指使用一種專門的網站設計方法,使網站能夠在各種設備,例如臺式機、筆記本電腦、平板電腦和智能手機,上以最佳方式呈現,它側重于創建靈活的頁面布局,可以根據屏幕大小和方向自動調整,為什么響應式建站很重要,增強的用戶體驗,響應式網站為用戶提供了始終如一且愉快的體驗,無論他們使用何種設備,提高搜索引擎排名,谷歌和其...。

最新資訊 2024-09-06 16:50:21

紅衣男事件:一場令人不安的網絡謎團 (08年紅衣少年案)

紅衣男事件:一場令人不安的網絡謎團 (08年紅衣少年案)

紅衣男事件,又稱08年紅衣少年案,是一起發生在2008年,至今尚未解決的網絡謎團,起源于一段在網上流傳的恐怖視頻,視頻內容在這段視頻中,一個穿著紅色連帽衫的男孩在漆黑的森林中行走,男孩的頭部沒有五官,只是空洞的白色,視頻中沒有聲音,只有男孩腳步聲和樹葉沙沙作響的聲音,最初的發現這段視頻最早出現在4chan網站上,并迅速在網絡上流傳開,...。

互聯網資訊 2024-09-04 02:14:11

南京碎尸案:慘絕人寰的細節曝光 (南京碎尸案破了嗎)

南京碎尸案:慘絕人寰的細節曝光 (南京碎尸案破了嗎)

2022年10月28日南京碎尸案于2022年7月21日發生,是一起令人發指的兇殺案,該案的犯罪嫌疑人洪某因涉嫌故意殺人罪已被警方逮捕,案件經過2022年7月21日,南京警方接到報警稱,在某小區內發現一名被肢解的女性尸體,經過調查,警方確定受害人系28歲的李某某,經過縝密偵查,警方很快鎖定犯罪嫌疑人洪某,并于當日將其抓獲,經審訊,洪某對...。

互聯網資訊 2024-09-03 05:13:46

Copyright ? 2025 聚集網 All Rights Reserved
此內容系本站根據來路自動抓取的結果,不代表本站贊成被顯示網站的內容或立場。
本頁閱讀量次 | 本站總訪問次 | 本站總訪客人 | 今日總訪問次 | 今日總訪客人 | 昨日總訪問次 | 昨日總訪客人 |
技術支持:聚集網

国产精品成人免费视频_91丝袜美腿美女视频网站_国产一区二区三区在线看_亚洲欧美另类中文字幕_在线电影av不卡网址_国产视频丨精品|在线观看_日韩一区二区三区国产_国产欧美va欧美va香蕉在线_热re91久久精品国99热蜜臀_亚洲第一精品电影_久久九九亚洲综合_国产成人综合精品_97视频在线观看网址_精品视频久久久久久_日韩av片免费在线观看_久久精品国产99国产精品澳门
国产精品国内视频| 国产精品美女www爽爽爽视频| 黑人精品xxx一区| 国产综合在线看| 欧美日韩美女在线观看| 国产日本欧美一区二区三区在线| 亚洲网在线观看| 青青久久av北条麻妃海外网| 欧美一级淫片播放口| 欧美国产日产韩国视频| 欧美高清视频在线播放| 成人伊人精品色xxxx视频| 国产精品久久久久77777| 精品久久久免费| 国产精品日韩在线一区| 国产日韩欧美另类| 亚洲jizzjizz日本少妇| 精品国产一区av| 福利微拍一区二区| 最近2019中文字幕一页二页| 亚洲精品乱码久久久久久金桔影视| 欧美黑人性视频| 欧美精品videossex性护士| 久久免费观看视频| 精品日韩视频在线观看| 亚洲精品欧美日韩专区| 欧美网站在线观看| 一本大道久久加勒比香蕉| 国产精品爱啪在线线免费观看| 国产免费一区二区三区在线能观看| 国产在线视频不卡| 国产亚洲精品高潮| 国产精品www网站| 亚洲最新视频在线| 久久免费视频在线观看| 国产日韩精品综合网站| 777午夜精品福利在线观看| 久久久亚洲影院你懂的| 亚洲精品自拍第一页| 色婷婷亚洲mv天堂mv在影片| 久久五月天综合| 中文字幕日韩专区| 欧美激情视频免费观看| 成人黄色免费在线观看| 亚洲欧美日韩爽爽影院| 欧美亚洲日本网站| 国产精品久久久久久一区二区| 黑人与娇小精品av专区| 欧美激情a∨在线视频播放| 尤物九九久久国产精品的特点| 国产精品女视频| 日产精品久久久一区二区福利| 日韩在线观看高清| 色噜噜国产精品视频一区二区| 一区二区三区回区在观看免费视频| 国产欧美日韩最新| 91精品国产综合久久香蕉| 日韩在线观看视频免费| 亚洲男人av电影| 国产精品88a∨| 亚洲片av在线| 久久91精品国产91久久跳| 日韩在线免费av| 成人在线激情视频| 国色天香2019中文字幕在线观看| 亚洲天天在线日亚洲洲精| 亚洲二区中文字幕| 91国产视频在线播放| 国产精品美女免费视频| 久久99热这里只有精品国产| 欧美日韩日本国产| 亚洲美女精品久久| 成人有码在线视频| 国产一区二区三区精品久久久| 伊人伊成久久人综合网小说| 欧美黑人性视频| 中文一区二区视频| 国产精品久久久久久久久久东京| 91网站免费观看| 日韩中文视频免费在线观看| 欧美日韩免费区域视频在线观看| 97在线看免费观看视频在线观看| 国产精品美女网站| 国产一区二区三区网站| 亚洲激情在线观看视频免费| 亚洲天堂网在线观看| 欧美大片在线看| 国产精选久久久久久| 日韩精品福利在线| 亚洲伊人久久综合| 日韩精品视频免费| 国产精品久久久久999| 精品日本美女福利在线观看| 欧美在线观看视频| 精品偷拍各种wc美女嘘嘘| 欧美视频在线观看 亚洲欧| 国产成人综合av| 在线视频中文亚洲| 成人午夜在线影院| 视频在线观看99| 国产精品成人免费电影| 亚洲护士老师的毛茸茸最新章节| 日韩欧美国产高清91| 日韩综合视频在线观看| 精品国产户外野外| 日韩av色在线| 日韩风俗一区 二区| 尤物九九久久国产精品的分类| 91精品国产91久久久久久不卡| 国产精品久久久久av免费| www.xxxx欧美| 亚洲性生活视频在线观看| 欧美日韩午夜激情| 永久免费毛片在线播放不卡| 日本精品中文字幕| 亚洲香蕉成人av网站在线观看| 日韩欧美国产骚| 欧美电影《睫毛膏》| 国产不卡在线观看| 亚洲人在线观看| 欧美成人合集magnet| 亚洲一区二区三区xxx视频| 97人人做人人爱| 中文字幕日韩精品在线| 欧美在线视频一区二区| 亚洲女人天堂av| 日韩视频欧美视频| 欧美激情xxxx| 久久久国产视频| 国产91在线播放| 国产精品香蕉在线观看| 国产成人精品最新| 中文字幕亚洲第一| 欧美成人午夜免费视在线看片| 国产精品日日做人人爱| 成人h视频在线观看播放| 亚洲欧美一区二区三区久久| 亚洲精品资源在线| 久久久欧美精品| 亚洲精品自在久久| 国产精品678| 5278欧美一区二区三区| 久久久av免费| 日韩亚洲精品视频| 国产精品久久久久91| 91精品视频在线免费观看| 欧美精品免费播放| 96国产粉嫩美女| 在线亚洲男人天堂| 亚洲免费伊人电影在线观看av| 成人免费观看a| 欧美在线www| 91网站免费看| 人人做人人澡人人爽欧美| 亚洲第一二三四五区| 久久久人成影片一区二区三区| 日韩不卡在线观看| 色一情一乱一区二区| 国产中文字幕日韩| 日韩有码在线电影| 欧美精品中文字幕一区| 北条麻妃在线一区二区| 最近2019中文字幕第三页视频| 欧美性猛交xxxx偷拍洗澡|