- เครดิต
- 220
- เพื่อน
- ทักทาย
- บล็อก
- อัลบั้ม
- โพสต์
- กระทู้
- แชร์
- สำคัญ
- สิทธิ์อ่าน
- 180
- จำนวนผู้ติดตาม
- จำนวนผู้กำลังติดตาม
- เพศ
- ไม่บอก
|
แก้ไขครั้งสุดท้ายโดย aaa.111 เมื่อ 2013-5-9 17:09 & @- M9 p+ o( ^' J, b
& Z; R3 ]+ N# N9 a/ G& G
ตอนแรกจะเขียนเป็นบทความ แต่ตัวเองอ่านไปแล้วไม่เข้าใจเลยเลิกละ! [: u+ c" [8 f" E; B, b: n
5 Z3 \& I* U- w: ^3 v
ก็ตรงๆเลยนะ9 {- L0 C i9 n' f5 P# U9 w
8 U. M3 z3 S/ o- B5 s3 zลองใช้เป็น ลิงก์ "แจ้งลบ" ข้างๆ เหมือนพวก @ อ้างอิง$ b, T1 C+ m. y" x/ W% u* f; I
แล้วเอาไปวิเคราะห์ดู5 `: x Z2 {0 u* s$ c
' w" P5 b( u4 n% [5 Cหลักๆ ก็เป็น( F6 R4 ?0 {9 A0 o4 T; ]
1) ตรวจสอบว่าเป็นการโพสโดยคนๆ เดียวใช่หรือไม่ (เก็บค่า a)
X* G/ f/ H+ @0 ~# L8 D% s2) ตรวจว่าข้อความนั้น ตรงกับ ข้อความใดบ้างในแชท (หาผู้ร่วมกระทำผิด ) (เก็บค่า b)
. l2 k- u* o# F% U3) ครวจว่าเป็นระยะเวลาห่างกันเท่าไร (เก็บค่า c)
# Z/ X8 k9 J& s
& M% K6 I1 t$ J9 yเหมือ a b c เป็นการเก็บแบบ array4 y0 D4 Q% L- Z! A- E% C: q
ข้อใช้เป็น โครงสร้าง ภาษา C ฟิชเชอร์ริง กับ php นะ (อย่าไปดูโค๊ตมันไม่ถูกหรอก)) b! o. O' N. x7 I
' v0 y1 r* [0 r6 m
7 k4 o* h$ t& N/ P/ ?function a($uid){ ตรวจว่า ในช่วงนั้น $uid นี้ โพสติดกันเท่าไร ; return จำนวนโพสติด;}
1 S* m y* M( q' N% H$ ?1 pfunction b($str){ ค้นหาจำนวนส่วนของข้อความเหมือนกัน($str) ; } //จะได้ array ของ chat_id => 'chat_text'- X8 E- r! Z+ \* w& ?# p
function c($datetime1, $datetime2){ หาผลต่างของเวลา if( $def_time < ค่าที่ตั้งไว้){return 1;}}9 t" ?+ @3 E* h# c1 p* r# u8 N
( [' g' D$ I4 }/ f4 ]
! J" Y& z9 B, `1 w
; [# \; Y& @& m: V
ทั้งหมดแล้ว! q, p- _4 V- ~8 j. O
แค่ต้องการบอกว่า4 y4 |5 [2 R8 U8 {$ s0 h! d6 R u
+ J) ]7 O: x' l" u
ทำลิงค์ แจ้งลบ ไปเถอะ
: i9 w+ k% R) n( f* J
: D& L q4 ~" T& M6 i8 Gแต่ ใช้จำนวนคนที่แจ้งลบ มาเป็นตัวตัดสินไม่ได้นะ เพราะ บางคนก็ไม่กด บ้าง ก็ ระดมรีพอท
# l- k P; ^8 n6 e. K- j, {ใช้ระบบวิเคราะห์เอา จากสีส้ม
h K, C2 @( a( U; @& z5 M( D& O0 u5 C s- w7 R+ }
: U% `! r/ p9 }5 ^( ~
ปล อ่านแค่ข้อความสีจะรู้เรื่องกว่า แล้วถ้าว่าง หายมึน แล้วจะมาแก้ไขกระทู้ใหม่
+ D) @3 R2 S+ j5 p z
! B6 y; X" h1 t3 C; a, g//ฝากพี่ๆ ออกมาเปิดประเด่นหน่อยนะ เพราะผมถนัดเขียนแบบ อธิบายแชทมากกว่า( }3 c9 A) [. }( S. Z& v
/ A4 R, W& ~7 v: w0 d" X! E' D7 T, ?1 t6 m+ N2 t, c& S' h$ @2 p
ลองเสนอทฤษฎีการฟลัด; { Z$ s. W" \
ก่อนที่จะเขียนบทความนี้ ก็ไม่ได้แตะแชท ดิสคัส หรือ ภาษาคอม ทุกภาษามานานละ ตั้งใจเรียนอย่างเดียว >///<( V3 k: B! m, H j" Q
55 เหมือนจะไม่น่าเชื่อถือ
2 i. I7 Q- N6 t7 L
* i |2 p7 H, i& a( U5 D2 r0 r' t* iอย่างแรกเลย นิยามก่อน (ตามที่ผมเข้าใจนะ)
* `' @. U8 `8 `1 G/ o6 Y1 `4 L6 hการฟลัดข้อความ (Flooding) ส่วนใหญ่มักจะเจอในหน้าๆที่ ที่ให้สมาชิก สมารถโพสข้อความ หรือ ฯลฯ
/ T% u6 C. o; T# V3 s" Jจะพบมากใน กล่องสนทนา (Chat box) ซะส่วนใหญ่
5 Q1 ^& d1 l9 R8 H: x: V0 w5 K. ?+ O7 `: h
วิธีป้องกัน พื้นฐานที่สุดเลยคือ การ หน่วงเวลา (Delay) ไม่ให้โพสข้อความลงติดๆกันได้
2 v6 L! z+ `; r8 o" ?ที่นี่ มันก็จะมีปัญหากับไอ่พวกชอบถาม อย่างผม % C' X; S' A! M) \$ f' M$ r
มักจะพิมพ์ว่า; J' z3 T- W6 F
<!!% M' G- S3 f8 u5 ?, Q2 p0 a; X
เออ...& { L7 a4 U! z
ขอโทษครับ ไม่ทราบว่า การ เออ..., C) a# I/ e/ d# r% W. G, ~# V' G
การแก้โจทย์ของ Dx/dm โดยใช้ ขั้นตอน
& A0 Q6 t% |/ p4 W4 c6 ]...
! s2 z4 ?) T+ O. eเงียบเลยแหะ
! D- Y, Z8 E. k2 S8 U!!>
% J! ^ _) x0 V2 `: L4 N
; h- c, I4 D. @$ n$ C6 ~แต่ละข้อความใช้เวลาพิมพ์ ห่างกัน 1 วินาที
* F8 h0 I# b0 h: B& Xถ้าใครเล่น เฟสบุ๊ค (Facebook) เมื่อก่อน ตอนพิมพ์แชทติดๆกัน มันจะรวมเป็นบรรทัดเดียวกันเลยใช่ไหม
: G9 S0 Y5 N$ P% g9 l+ R1 d# |' F: K5 J: `) M
อะ คราวนี้ มาฟังทฤษฎีผมมั้ง0 C' M B6 I6 C! d( n# w4 e
& R0 R2 L, A3 K% c# d% Mมันอาจจะเรียกว่า การป้องกันการฟลัดข้อความไม่ได้หรอกมั้ง
& n. F; |( c$ j6 B% j& G/ K7 `/ Uมันเหมือน ระบบแจ้งลบ ข้อความ ซะมากกว่า
* s- f. ]" p& }$ J" |, u6 z: B/ `/ ~. A
3 g) I3 } X3 m- g; X/ w; V, G6 oกรณีที่ 1 : ห้องแชทโล่งๆ (มีคนออน 2-3 คน)
* h6 T+ f, w, ~4 t9 dการฟลัแชท ในกรณีนี้ ก็อาจจะเป็นพวกเว็บบอร์ดความรู้ สาระ ส่วนตัว ฯลฯ ที่คนไม่เยอะเท่าไร
1 e1 h6 Y V3 R; k3 j& kอยู่มาวันหนึ่ง ก็จะมี เกรียนขายของ เข้ามา ฟลัดโฟสขายของแบบรัวๆ
5 G' f- J* r7 {! m2 a: c8 n* @2 \8 Y( f0 R5 B, Z
แน่นอนว่า ระบบ delay เราช่วยไว้ได้มาก แต่ถ้าเราคุยกับสมาชิกปกติละ โครตน่ารำคาญ delay มากเลย
' z/ p+ D7 Q4 Y3 R+ R; B) A) a9 z8 m# j8 ?
เอาละ
7 ]: w9 Q0 V7 L8 C+ Jจุดที่หลายคนพอสังเกตได้คือ 9 J8 t, H' _# S8 C7 l( L
/ o Q' \, o$ Q/ e( V
1) จะเป็นการโพสโดยคนเดียวอย่างต่อเนื่อง5 j6 u( s6 ]* a7 M4 Z! x) B% k
2) ข้อความเรียงติดกัน
' l8 H4 q6 ?! F3 b% H3) เวลาใกล้เคียงกัน
/ R& m+ ^; ^5 P, l$ ]4 o7 {& n; y8 q0 ^2 j
" e! I! X6 p1 V# c$ O% ]1 I% C; U" P; U
( K. y# _3 I# F# s4 C' @วิธีแก้ปัญหา คือ (รูปแบบผมจะเขียนเป็น if else แบบย่อนะครับ แนวการอ่าน \ n "1) ข้อความ" ? ข้อความใช่ : ข้อความไม่ใช่: A& u# F$ M+ X5 P; g
1) ตรวจสอบว่าเป็นการโพสโดยคนเดียวหรือไม่หรือไม่ แบ่งเป็น 2 กรณี9 n! L* s- Y/ ^( {
1.1) กรณีโพสคนเดียว แต่ระยะเวลาห่างกันนานมาก => แก้โดยการเปรียบเทียบข้อความ
7 a* m/ Q. Z' c$ A! D [ 1.2) กรณีโพสคนเดียว เวลาติดๆ กัน => ฟลัดโพสแน่นอน (เพราะถ้ามีคนกดแจ้งเตือนมา แสดงว่าฟลัดโพสอยู่แล้ว)
* |2 M( O4 b% N$ G; X<!!-- แต่วิธีที่ 1 ก็ยังคงเป็นจุดด้อยอยู่ คือ ถ้า มีคนแกล้ง มันก็จะลบใช่ไหม ดูต่อวิธี 2 -->8 |0 y% u/ P2 m$ d0 g" Q0 z5 v
0 o: E x/ U/ {4 J9 ~& x2 j2) ตรวจสอบจากข้อ 1.2 |
คะแนน
-
ดูบันทึกคะแนน
|
|
|
|
|
|