- เครดิต
- 220
- เพื่อน
- ทักทาย
- บล็อก
- อัลบั้ม
- โพสต์
- กระทู้
- แชร์
- สำคัญ
- สิทธิ์อ่าน
- 180
- จำนวนผู้ติดตาม
- จำนวนผู้กำลังติดตาม
- เพศ
- ไม่บอก
|
แก้ไขครั้งสุดท้ายโดย aaa.111 เมื่อ 2013-5-9 17:09
- [' d$ n; g5 ~3 M: _& X4 F4 m+ S3 Z$ f$ u" g7 P2 [/ P$ {
ตอนแรกจะเขียนเป็นบทความ แต่ตัวเองอ่านไปแล้วไม่เข้าใจเลยเลิกละ% x0 A# y4 t% L% M; ]! ]
( b. p8 V( F; S# P* E# C
ก็ตรงๆเลยนะ
# G2 V1 L* V! G% B) H
v; n5 ^; w- x# Q; z8 V6 j) A. qลองใช้เป็น ลิงก์ "แจ้งลบ" ข้างๆ เหมือนพวก @ อ้างอิง
% S/ c2 O+ b4 u; Yแล้วเอาไปวิเคราะห์ดู
9 L9 @2 ?" A. L6 E
. n' g+ p( }5 p% W5 y! `หลักๆ ก็เป็น
4 t! n! k* A7 ~( f' A0 c1) ตรวจสอบว่าเป็นการโพสโดยคนๆ เดียวใช่หรือไม่ (เก็บค่า a), y6 V0 w' u. m5 H2 V! e
2) ตรวจว่าข้อความนั้น ตรงกับ ข้อความใดบ้างในแชท (หาผู้ร่วมกระทำผิด ) (เก็บค่า b)# O1 T5 C, ^# X0 `7 k: r
3) ครวจว่าเป็นระยะเวลาห่างกันเท่าไร (เก็บค่า c)7 D+ G5 X) q7 q& m4 m) S- c
7 g+ j k7 k4 K9 d1 P8 b4 n& c
เหมือ a b c เป็นการเก็บแบบ array
0 r3 h" s5 P) u! T* x& s, P# G$ }ข้อใช้เป็น โครงสร้าง ภาษา C ฟิชเชอร์ริง กับ php นะ (อย่าไปดูโค๊ตมันไม่ถูกหรอก)0 y' y- Z6 F/ p; f9 w
1 Q2 U! X, \# I
- f8 \/ n9 N+ x( C0 W% b5 tfunction a($uid){ ตรวจว่า ในช่วงนั้น $uid นี้ โพสติดกันเท่าไร ; return จำนวนโพสติด;}
, @5 \( X+ m, e" r' Zfunction b($str){ ค้นหาจำนวนส่วนของข้อความเหมือนกัน($str) ; } //จะได้ array ของ chat_id => 'chat_text'
* n% ?5 a& t) }% ^function c($datetime1, $datetime2){ หาผลต่างของเวลา if( $def_time < ค่าที่ตั้งไว้){return 1;}}" {+ C4 W; o+ w
6 @0 ^7 m# T8 z# |3 [
0 Q( |6 H. W1 b! `( W# ~. c |% ~$ {; I- f& U& W
ทั้งหมดแล้ว
# A" g$ l# U' T5 w7 `แค่ต้องการบอกว่า
# Y* T3 T" g9 N, x' X& a4 S9 A- j- ?$ d% d; f3 D7 i$ t9 [
ทำลิงค์ แจ้งลบ ไปเถอะ
, x: j3 C: L% K/ h8 c ^. [& [( |! M: l5 b
แต่ ใช้จำนวนคนที่แจ้งลบ มาเป็นตัวตัดสินไม่ได้นะ เพราะ บางคนก็ไม่กด บ้าง ก็ ระดมรีพอท
' N/ x, v7 A* `ใช้ระบบวิเคราะห์เอา จากสีส้ม5 c; |) }2 ~7 G% }$ q# M0 n
4 q& J' |7 n4 J/ _1 e6 s ?3 N' `' N8 J! q5 w9 `& ^ `0 ~
ปล อ่านแค่ข้อความสีจะรู้เรื่องกว่า แล้วถ้าว่าง หายมึน แล้วจะมาแก้ไขกระทู้ใหม่& p; d# \2 i5 O0 q) Y
+ C; t( Z; e: ^# \6 @2 r//ฝากพี่ๆ ออกมาเปิดประเด่นหน่อยนะ เพราะผมถนัดเขียนแบบ อธิบายแชทมากกว่า/ ?* O: X7 g6 m& }$ x8 R' s6 y' L
, P9 m& p; N& q: W3 }3 \! n) [
1 i; g% v7 {0 n+ Lลองเสนอทฤษฎีการฟลัด
. ]+ S% v6 e/ S# V7 z. c0 [# nก่อนที่จะเขียนบทความนี้ ก็ไม่ได้แตะแชท ดิสคัส หรือ ภาษาคอม ทุกภาษามานานละ ตั้งใจเรียนอย่างเดียว >///<6 e; r$ \% O, F: ~# h; W' c
55 เหมือนจะไม่น่าเชื่อถือ
5 B1 \1 F9 N. f, p0 P' i& S$ O2 i" G1 R! j5 N+ L( u" f
อย่างแรกเลย นิยามก่อน (ตามที่ผมเข้าใจนะ)6 l% Y0 K, n6 w4 ]* I, N: o7 x2 t
การฟลัดข้อความ (Flooding) ส่วนใหญ่มักจะเจอในหน้าๆที่ ที่ให้สมาชิก สมารถโพสข้อความ หรือ ฯลฯ
3 d* J: s, O; U% J& Wจะพบมากใน กล่องสนทนา (Chat box) ซะส่วนใหญ่ 3 Z: H) o6 e: w9 k( e
2 q" G% }; e/ f/ Hวิธีป้องกัน พื้นฐานที่สุดเลยคือ การ หน่วงเวลา (Delay) ไม่ให้โพสข้อความลงติดๆกันได้
3 v3 `. B$ R( A0 s! [. R; gที่นี่ มันก็จะมีปัญหากับไอ่พวกชอบถาม อย่างผม
$ Q$ n4 j: g: b2 @9 ~มักจะพิมพ์ว่า
* {( s, y; k% h0 ^- f& H+ X, n: v<!!( _, ?- a* v5 i- J% Z
เออ...
: b" u9 k/ h! Q& e% ~+ ]ขอโทษครับ ไม่ทราบว่า การ เออ...) r. Y* f1 F( A' D0 k
การแก้โจทย์ของ Dx/dm โดยใช้ ขั้นตอน9 X" a2 X" ^/ T- y$ _
...- @1 ~. @# c* Z1 }3 `3 P' E5 I
เงียบเลยแหะ$ l7 |6 s" K5 p: I
!!>! @' \* i8 v8 g
8 Q6 A/ |$ n9 I' d
แต่ละข้อความใช้เวลาพิมพ์ ห่างกัน 1 วินาที
* p+ W* N6 K0 ^' ~, J2 Kถ้าใครเล่น เฟสบุ๊ค (Facebook) เมื่อก่อน ตอนพิมพ์แชทติดๆกัน มันจะรวมเป็นบรรทัดเดียวกันเลยใช่ไหม
3 k* o( h: F5 z/ `( m6 O& L$ U S
) M/ u: L$ U) n: p+ J9 wอะ คราวนี้ มาฟังทฤษฎีผมมั้ง
5 J& t6 [0 t. p$ W# C; u3 {2 U; ~5 q8 Q+ Z, c
มันอาจจะเรียกว่า การป้องกันการฟลัดข้อความไม่ได้หรอกมั้ง
+ r1 \8 Z6 ^' v. f# \มันเหมือน ระบบแจ้งลบ ข้อความ ซะมากกว่า o# \; d! [7 l* ]* z* R3 G
* N1 S3 m, `8 ^5 F9 {; q
+ v; J5 `3 w! E! o* [7 y. Fกรณีที่ 1 : ห้องแชทโล่งๆ (มีคนออน 2-3 คน)
2 c' z, i+ i" x# Rการฟลัแชท ในกรณีนี้ ก็อาจจะเป็นพวกเว็บบอร์ดความรู้ สาระ ส่วนตัว ฯลฯ ที่คนไม่เยอะเท่าไร
8 H7 i/ }2 P( {5 q$ i# y( s3 ]3 jอยู่มาวันหนึ่ง ก็จะมี เกรียนขายของ เข้ามา ฟลัดโฟสขายของแบบรัวๆ ! i3 m" e2 I, _
% v0 K3 j' P5 K# Q9 o
แน่นอนว่า ระบบ delay เราช่วยไว้ได้มาก แต่ถ้าเราคุยกับสมาชิกปกติละ โครตน่ารำคาญ delay มากเลย3 G5 P1 w" |0 X n6 I& y
) ?: A" v C3 _2 U. \
เอาละ
6 z0 F7 |# D1 i* J$ B: Q+ o0 @8 kจุดที่หลายคนพอสังเกตได้คือ 6 l# E: ?3 m2 n8 o7 Q3 I) L# V
& s. @3 ^5 Y6 u7 b$ H3 R, b1) จะเป็นการโพสโดยคนเดียวอย่างต่อเนื่อง; T4 M( H; \1 a2 g7 J
2) ข้อความเรียงติดกัน& b; ^8 t0 `2 ~! Z5 @
3) เวลาใกล้เคียงกัน
/ \6 ~& y, d: o7 @/ {5 z$ E2 z: @. G5 P7 k; {% e
" ?: V7 x7 Y3 D' {: y8 d' a5 h. r+ j
วิธีแก้ปัญหา คือ (รูปแบบผมจะเขียนเป็น if else แบบย่อนะครับ แนวการอ่าน \ n "1) ข้อความ" ? ข้อความใช่ : ข้อความไม่ใช่
+ `+ R9 y& C( y2 `1) ตรวจสอบว่าเป็นการโพสโดยคนเดียวหรือไม่หรือไม่ แบ่งเป็น 2 กรณี( n! [. c9 q7 a$ d5 i
1.1) กรณีโพสคนเดียว แต่ระยะเวลาห่างกันนานมาก => แก้โดยการเปรียบเทียบข้อความ
8 U4 J1 S% Y9 I 1.2) กรณีโพสคนเดียว เวลาติดๆ กัน => ฟลัดโพสแน่นอน (เพราะถ้ามีคนกดแจ้งเตือนมา แสดงว่าฟลัดโพสอยู่แล้ว)
; Z9 S4 {% ?9 ^. X) b3 Q; L! A<!!-- แต่วิธีที่ 1 ก็ยังคงเป็นจุดด้อยอยู่ คือ ถ้า มีคนแกล้ง มันก็จะลบใช่ไหม ดูต่อวิธี 2 -->" L' Y) Y, g3 j1 `& n/ m
i9 I) t) f8 L1 y; `
2) ตรวจสอบจากข้อ 1.2 |
คะแนน
-
ดูบันทึกคะแนน
|
|
|
|
|
|