Tag: streams

22 รายการ

Blog

นากการ์ตูนสีเขียวใส่เอี๊ยมยืนข้างสายพานถ้วยกาแฟ เลื่อนกรอบไม้ที่ครอบถ้วยทีละหลายใบไปตามสายพาน โดยมีกราฟแท่งบล็อกสีเขียวไต่ขึ้นอยู่ด้านหลัง
javastreamsgatherers

Gatherers4j 0.15.0 เพิ่มสถิติใน Java Streams อัปเกรดแล้วต้องเช็กอะไร

Gatherers4j เพิ่มสถิติแบบช่วงล่าสุดและแบบสะสม ช่วยงานรายงานใน Java พร้อมจุดเปลี่ยนเรื่องการปัดเศษ ชื่อเมธอด และ JDK ที่ทีมควรตรวจให้งานเดิมไม่สะดุด

น้องกาย
ขนมปังต้นฉบับหมุนเครื่องรีดผ้าผืนใหญ่ให้เป็นม้วนเล็กพร้อมปรับแรงกดด้วยคันโยก
buncompressionstreams

Bun 1.4.3 CompressionStream: ตั้งระดับบีบอัดให้ตรง latency budget

ใช้ CompressionStream level เลือกสมดุล CPU กับขนาดข้อมูล พร้อม Bun test แบบ round-trip โดยไม่พึ่งเครือข่าย

พี่โชว์
นากกายต้นฉบับกำลังคัดเม็ดข้อมูลจากกรวยสแกนเนอร์ลงราง stream บนโต๊ะสว่าง
javascannerstreams

Java Scanner.tokens: เปลี่ยน token stream เป็น pipeline ที่ปิด resource ชัดเจน

ใช้ Scanner.tokens กับ delimiter, filter และ try-with-resources พร้อม Java 17 assertions

พี่โชว์
นากกายต้นฉบับกำลังปิดฝากล่องช่องคู่หลายช่องหลังคัดของจากสายพาน โดยมีชิ้นซ้ำรอการตัดสินใจด้านข้าง
javajava17streams

Java Collectors.toUnmodifiableMap: ปิดการแก้โครงสร้างหลัง stream

ใช้ toUnmodifiableMap สร้างผลลัพธ์ที่เพิ่มหรือลบไม่ได้ พร้อมทดสอบ duplicate key, null และ mutable value

พี่โชว์
นากกายต้นฉบับกำลังวางหมุดตามทางทีละจุดจนถึงประตูกั้นบนโต๊ะมิ้นต์
javastreamsiteration

Java Stream.iterate แบบมี hasNext: สร้างลำดับมีขอบเขตโดยไม่พึ่ง limit เดา ๆ

ใช้ Stream.iterate(seed, hasNext, next) สร้างช่วงตามเงื่อนไข พร้อม Java 17 assertions และขอบเขต overflow กับ non-progressing step

พี่โชว์
นากแม่น้ำต้นฉบับกำลังสอดบัตรรหัสผ่านกรอบตรวจที่ต้องพอดีทั้งใบ ไม่ใช่เพียงมีบางส่วนตรงกัน
javaregexpattern

Java Pattern.asMatchPredicate: ใช้ regex แบบตรงทั้งข้อความใน Stream

แยก full match จาก find semantics ให้ชัด พร้อมทดสอบ filter ของรหัสงานและกรณีมีข้อความเกิน

พี่โชว์
นากแม่น้ำต้นฉบับกำลังเปิดประตูให้ลูกปัดตัวเลขที่มีค่าไหลเข้าสายพาน และปิดช่องที่ว่าง
javaoptionalintstreams

Java OptionalInt.stream: ต่อค่าที่อาจไม่มีเข้ากับ IntStream

แปลงผล parse แบบ zero-or-one ให้เข้ากับ primitive stream โดยไม่ใช้ sentinel หรือ boxing เกินจำเป็น

พี่โชว์
นากมิ้นต์ต้นฉบับรวบรวมชิ้นงานลงตะกร้าแล้วกดฝาสีอำพันให้ล็อกหลังเก็บครบ
javastreamscollectors

Java collectingAndThen: เก็บข้อมูลก่อน แล้วล็อกผลลัพธ์ตอนจบ

ใช้ Collectors.collectingAndThen เพิ่ม finishing step เช่น unmodifiable list โดยไม่กระจาย post-processing นอก stream

พี่โชว์
นากต้นฉบับวางแผ่นปฏิทินต่อกันจนถึงเส้นขอบปลายที่เว้นไว้บนโต๊ะมิ้นต์
javadate-timestreams

Java LocalDate.datesUntil: เดินช่วงวันแบบไม่พลาดขอบเขตท้าย

สร้าง Stream ของวันที่แบบ end-exclusive พร้อม step และป้องกัน off-by-one ในรายงาน

พี่โชว์
นากต้นฉบับคัดบัตรผ่านตะแกรงลายเส้นลงสองตะกร้าบนฉากสว่าง
javaregexstreams

Java Pattern.asPredicate: เปลี่ยน regex เป็นตัวกรองที่ประกอบกับ Stream ได้

ใช้ Pattern.asPredicate กับ Stream โดยแยก find ออกจาก matches และคอมไพล์ regex เพียงครั้งเดียว

พี่โชว์
นากแม่น้ำสีมิ้นต์ต้นฉบับกำลังพลิกป้ายกรองเชิงภาพเพื่อแยกตะกร้าว่างออกจากตะกร้าที่มีของ
javapredicatestreams

Java Predicate.not: ปฏิเสธเงื่อนไขโดยยังอ่านเป็นประโยค

ใช้ Predicate.not กับ method reference ใน stream พร้อมแยก null policy ให้เห็นชัด

พี่โชว์
นากกายต้นฉบับกำลังเทเมล็ดจากตะกร้าเข้าเครื่องชั่งหลายหน้าปัดในรอบเดียว
javastreamsstatistics

Java summarizingInt: เก็บ count, min, max, sum และ average ใน pass เดียว

ใช้ IntSummaryStatistics สรุปข้อมูลจาก stream พร้อมจัดการ empty input และ overflow ของ mapper

พี่โชว์
แถวการ์ดตัวเลขถูกจัดเป็นหน้าต่างกลุ่มละสามใบบนโต๊ะมิ้นต์
javastreamsgatherers

Stream.gather(Gatherers.windowFixed): หั่นสตรีมเป็นหน้าต่างขนาดคงที่ (Java 24+)

ใช้ Gatherers.windowFixed / windowSliding เป็น intermediate operation บน Stream API พร้อมตัวอย่างแนวคิดจาก JDK docs

น้องกาย
นากกายต้นฉบับเปิดกล่องย่อยจากแต่ละโครงการแล้วเทลูกแก้วลงถาดรวมตามทีมโดยไม่เหลือกล่องซ้อน
javastreamscollectors

Java Collectors.flatMapping: รวมสมาชิกย่อยต่อกลุ่มโดยไม่เก็บ List ซ้อน

ใช้ flatMapping downstream ของ groupingBy เพื่อรวม tag ต่อทีม พร้อมจัดการ stream ย่อยและค่า null ให้ชัด

พี่โชว์
นากกายต้นฉบับคัดลูกบอลในถาดแยกตามทีม โดยยังวางถาดว่างไว้ให้ทีมที่ไม่มีลูกบอลผ่านเงื่อนไข
javastreamscollectors

Java Collectors.filtering: กรองสมาชิกแต่ยังเก็บกลุ่มที่ผลลัพธ์เป็นศูนย์

วาง filtering ไว้ downstream ของ groupingBy เพื่อรักษา key ของกลุ่ม พร้อมเทียบกับการ filter stream ก่อนจัดกลุ่ม

พี่โชว์
นากกายต้นฉบับกำลังเทกล่องบางใบที่มีเมล็ดและบางใบว่างลงรางสีเขียวเส้นเดียว
javaoptionalstreams

Java Optional.stream: แบนค่าที่อาจหายโดยไม่แตก pipeline เป็น if

ใช้ Optional.stream รวมผล lookup หลายรายการเป็น Stream เดียว พร้อมรักษาความหมายของค่าที่ไม่พบ

พี่โชว์
นากกายต้นฉบับกำลังเปิดบานแยกรางให้ลูกแก้วบางลูกผ่านออกมาหลายลูกและบางช่องไม่ปล่อยอะไร
javastreamsjava-17

Java Stream.mapMulti: คืนศูนย์หรือหลายผลลัพธ์โดยไม่สร้าง Stream ย่อยทุกครั้ง

ใช้ mapMulti แทน flatMap เมื่อแต่ละ input อาจไม่คืนค่า หรือคืนหลายค่า พร้อมตัวอย่าง Java 17 ที่รัน assertions จริง

พี่โชว์
นากกายต้นฉบับรวมถั่วจากบัตร key ซ้ำสองใบลงในช่องเดียวบนกระดานมิ้นต์
javastreamscollectors

Java Collectors.toMap: กำหนดชะตา key ซ้ำก่อน pipeline พังกลางทาง

ใช้ merge function ของ Collectors.toMap รวมข้อมูล key ซ้ำอย่างตั้งใจ พร้อมแยกกรณี sum, keep-first และข้อมูลผิด schema

พี่โชว์
นากกายเทเม็ดสีผ่านกรวยไม้แยกสองทางลงชามบนโต๊ะมิ้นต์
javastreamstutorial

Java Collectors.teeing: สรุปสตรีมสองมุมในครั้งเดียว

ใช้ Collectors.teeing รวมผล average กับ count จากสตรีมเดียว พร้อมเมธอด main และการ assert

น้องกาย
นากกายต้นฉบับแยกริบบิ้นข้อความยาวออกเป็นแถบสั้นหลายบรรทัดบนโต๊ะมิ้นต์
javastringsstreams

Java String.lines: อ่านข้อความหลายบรรทัดแบบ Stream โดยไม่ทิ้งท้ายด้วยช่องว่างปลอม

ใช้ lines แทน regex split เมื่อต้องประมวลผลบรรทัดตามนิยาม line terminator ของ Java

พี่โชว์
นากกายต้นฉบับคัดลูกบอลจากสายพานเดียวลงตะกร้าสองฝั่งบนโต๊ะสว่าง
javastreamscollectors

Java Collectors.partitioningBy: แบ่ง Stream เป็นสองฝั่งด้วย predicate เดียว

ใช้ partitioningBy เมื่อต้องการทั้งกลุ่ม true และ false พร้อมเทียบกับ filter สองรอบ

พี่โชว์
นากสีมิ้นต์ต้นฉบับกำลังแยกเมล็ดจากรางเดียวเข้าสองตะกร้าแล้วรวมผลบนโต๊ะสว่าง
javastreamscollectors

Java Collectors.teeing: สรุปสองค่าใน stream pass เดียว

ใช้ teeing จับคู่ collector สองตัวโดยไม่ traverse stream ซ้ำ พร้อม trade-off ด้าน readability และ parallel reduction

พี่โชว์