Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Ruby
Ruby
  1. Ensure Ruby Efficiency: RSpec Tests สำหรับ Object Allocation

    ทุกคนพูดเรื่อง Ruby performance 近来 有 好 理由 小小 tweaks code เพิ่ม performance ได้ถึง 99.9% มี articles เยอะเรื่อง how to optimize code แต่ทำไงให้ code คงที่ optimized? อาจไม่คิดถึง consequences เวลา embed string literal แทน frozen constant ใน regularly called method เหมือนเกินไปที่จะ lose savings ของ o

  2. เร่งความเร็ว Ruby Gem Installations: ปิด RDoc & RI Documentation ทั่วระบบ

    Gem installs ช้า 原因ใหญ่คือ documentation ทุกครั้ง install gem เครื่องต้อง scan source และ generate documentation มีประโยชน์ถ้าต้อง check gem documentation offline รัน gem server เปิด https://localhost:8808 เข้าถึงได้ ri command หา documentation จาก terminal ก็สะดวก แต่น่าจะเหมือนผม ไม่ใช้ local docs

  3. เข้าใจ Ruby: Exception vs StandardError - ความแตกต่างสำคัญ

    Never rescue Exception in Ruby! อาจได้ยินมาก่อน คำแนะนำดีแตสับสนถ้ายังไม่ในวงใน มาแยก statement นี้ดู คุณรู้ว่าใน Ruby rescue exceptions ได้แบบนี้: begin do_something() rescue => e puts e # e is an exception object containing info about the error. end Rescue specific errors โดยให้ classname ของ

  4. Capture STDOUT, STDERR และ Exit Status ของ Shell Commands ใน Ruby

    tl;dr อยากรัน shell command จาก Ruby capture stdout, stderr และ return status ดู Open3.capture3 method อยาก process stdout/stderr data แบบ streaming ดู Open3.popen3 So Many Bad Choices มี 492 วิธี execute shell commands จาก ruby แต่ละอันทำงานต่างกันนิดหน่อย คุณน่าจะเคยใช้ approach หนึ่งในนี้ back-ti

  5. เชี่ยวชาญ Custom Exceptions ใน Ruby: คู่มือขั้นตอนละเอียด

    สร้าง custom exceptions ใน Ruby ง่ายมาก แค่ทำตามขั้นตอน: 1. สร้าง Class ใหม่ Exceptions เป็น classes เหมือนทุกอย่างใน Ruby! สร้าง exception ใหม่ แค่สร้าง class inherit จาก StandardError หรือ children ของมัน class MyError < StandardError end raise MyError Convention: custom exceptions ชื่อ class

  6. เชี่ยวชาญ Ruby Exception Hierarchy: คู่มือครบครัน

    Exceptions ใน Ruby แค่ classes Exception hierarchy ประกอบด้วย classes ทั้งหมดที่ inherit จาก Exception นี่คือ exception hierarchy สำหรับ Ruby 2.1 standard library: Exception NoMemoryError ScriptError LoadError NotImplementedError SyntaxError SecurityError SignalException Interrupt StandardError -- d

  7. เชี่ยวชาญ Exception Handling ใน Pry: เทคนิคขั้นสูงสำหรับ Rails Console

    ถ้าคุณแบบผม ใช้ Rails console บ่อย และตอนนี้ทุกคนคิดว่า Pry คือสิ่งดีที่สุดเกิดขึ้นกับ Rails console ตั้งแต่...เมื่อไหร่ก็ตาม Built-in ใน pry มี features cool ที่ทำให้จัดการ exceptions ง่ายกว่า IRB ทั่วไปมาก View Full Backtrace เวลา exceptions เกิดใน Pry (หรือ IRB) ได้ shortened backtrace ปกติพอ แต่

  8. เชี่ยวชาญ Environment Variables สำหรับ Ruby on Rails: คู่มือสมบูรณ์

    อยากจัดการ web apps ใน development และ production ได้อย่างมีประสิทธิภาพ ต้องเข้าใจ environment variables ไม่ได้เป็นแบบนี้ตลอดมา แค่ไม่กี่ปีก่อน ไม่ค่อยมีใคร config Rails apps ด้วย environment variables แล้ว Heroku เกิดขึ้น Heroku introduce developers ไปสู่ 12-factor app approach ใน manifesto วาง bes

  9. รักษาความปลอดภัย Environment Variables: Best Practices ปกป้อง Sensitive Data

    บทความก่อนหน้า The Rubyists Guide To Environment Variables แสดงว่าระบบ environment variables ทำงานยังไง และ debunk myths แต่ reader ชี้ให้เห็นว่าเราพูดน้อยเกินไปเรื่อง security ตอนนี้ใช้ env vars เก็บ secret API keys และข้อมูลสำคัญมาก เข้าใจ security implications สำคัญ มาดู: Worst Case Scenario โจรก

  10. เชี่ยวชาญ Lambdas ใน Ruby: จากพื้นฐานจนถึงเทคนิคขั้นสูง

    Blocks สำคัญมากใน Ruby ยากที่จะจินตนาการภาษานี้โดยไม่มีมัน แต่ lambdas? ใครรัก lambdas? อาจใช้ไม่ได้นานปีๆ มันดู像 relic จากยุคเก่า ...แต่นั่นไม่จริงทั้งหมด Lambdas มีทริคน่าสนใจเวลาขุดลึกดู บทความนี้เริ่มจาก basics ของ lambda usage แล้วไป advanced usages ถ้าใช้ lambdas ทุกวันรู้หมดแล้ว scroll ลงไปเล

  11. Profile Gem Memory Usage ใน Rails ด้วย Derailed: วิธีมีประสิทธิภาพ

    Rails app ใช้ RAM มาก แต่อาจไม่ได้แค่ เป็นแบบนี้ อาจเป็น gems ที่ bloated ทำให้ memory footprint ใหญ่ขึ้น ผมเจอ project cool ของ Richard Schneeman ชื่อ derailed - automatic benchmarking tools ชุดนึง GitHub repo ที่นี่ เพิ่มใน Gemfile: gem derailed, group: :development gem stackprof, group: :developm

  12. เชี่ยวชาญ Bitwise Operations ใน Ruby: เทคนิคและทริคต่างๆ

    โอกาสที่ต้องทำ bitwise math ในงานประจำวันน้อยมาก Ruby bitwise AND/OR operators (& และ |) ใช้โดยบังเอิญมากกว่าใช้จริง ใครไม่เคยพิมพ์ & ตอนที่อยากพิมพ์ &&? แต่ถ้าโตมากับ lower-level languages เช่น C, Assembler หรือในกรณีผมคือ Turbo Pascal น่าจะเคย bit twiddling บ้าง Bitwise solutions ส

  13. ผลกระทบของ OpenStruct ต่อ Performance: ทำไมมันอาจทำให้ Ruby Apps ช้าลง

    เรา Rubyists รัก Hashes แต่ Hashes มีข้อบกพร่องที่รู้จักกันดี ตามที่ Richard 指出ใน Hashie Considered Harmful มันอาจ flexible เกินไป - typo เล็กน้อยก็ assign/reference keys ที่ไม่ได้ตั้งใจ a = { type: F150 } a[:typo] # nil Hash Alternatives ปוצบบ ถ้าใช้ hashes เก็บ structured data อาจตัดสินใจว่าไม่ต้

  14. สร้าง RSS-to-Email Digest Tool ด้วย Ruby: ขั้นตอนง่ายๆ

    ผมอยากได้แบบนี้ การตั้งค่า newsletter อยู่ใน todo list นานเกินไป วันนี้จะทำให้เสร็จ ถ้าอยากสมัครรับได้ที่นี่ ผมไม่ชอบ newsletter ยาวๆ ที่ชอบคือ curated digests ของเนื้อหาน่าสนใจ เช่น RubyWeekly หรือ Wistia blog digest ประกอบ digest เองใช้เวลามาก แต่อัตโนมัติเต็มๆ ไร้ความรู้สึกส่วนตัว ผมอยากได้ semi-

  15. เชี่ยวชาญ Ruby Hashes: เทคนิคขั้นสูงและฟีเจอร์แอบแฝง

    เวลาใช้ Hash บ่อยๆ อย่างนักพัฒนา Ruby น่าจะคิดว่าเคยเห็นหมดแล้ว แต่ผมบอกเลยว่า Hash ที่ดูธรรมดานี้ยังมีทริคหลายอย่างให้คุณค้นพบ ไกล่จากระบบ key-value ธรรมดา Hash object ให้อำนาจทำสิ่งน่าสนใจและซับซ้อนได้ Object ใดๆ ก็เป็น Hash key ได้ ก่อนไปต่อ ผมอยากชี้ให้เห็นอย่างหนึ่งที่อาจไม่ชัดเจน แม้เรามักใช้

  16. เชี่ยวชาญ Shortcut &: ใน Ruby: ทำให้ items.map(&:name) เรียบง่ายขึ้น

    เวลาทำ iteration บน arrays มี shorthand ชิ้นหนึ่งที่ผมใช้บ่อยมาก คือ trick &: หรือเรียกว่า ampersand colon หรือ pretzel colon ถ้ายังไม่คุ้นเคย ดูตัวอย่างได้เลย: words = [would, you, like, to, play, a, game?] # นี้... words.map &:length # ..เทียบเท่ากับนี้: words.map { |w| w.length } จนเมื่อเร็ว

  17. เปลี่ยนชื่อ Process ของ Ruby Script ให้มองเห็นได้ใน top และ ps อย่างง่ายดาย

    ทุกครั้งที่คุณรันโปรแกรมบน Linux หรือ macOS โปรแกรมนั้นจะทำงานภายใน process (กระบวนการ) และทุก process จะมีชื่อของตัวเอง ชื่อนี้คือสิ่งที่คุณเห็นเมื่อรันคำสั่งเช่น ps หรือ top หรือ htop htop แสดงชื่อ process ในคอลัมน์ขวาสุด ชื่อ Process เริ่มต้นอาจไม่ค่อยช่วยได้ โดยค่าเริ่มต้น ชื่อของ process จะมาจ

  18. ประมวลผล Incoming Email ใน Rack Application ใดๆ ได้ราบรื่น

    So your client just called... เขาอยากให้ app จัดการ incoming email เหมือน Basecamp ไม่เป็นไร คิดว่ามี services เยอะส่ง email โดย POST ไป app ควรจะง่าย ถูกไหม? Nope. แต่ละ service ใช้ proprietary format บางอันส่ง parsed email บางอันส่ง raw บางอันส่ง authentication signature บางอันไม่ส่ง ไม่ดีไหมถ้าคุ

  19. ทำไม Self-Hosting Ruby Gems ถึงปลอดภัยกว่า RubyGems.org ใน Production

    บทความราว + screencast แสดงวิธี host gems เอง มาทำความเข้าใจกันก่อน: gems เป็นสิ่งยอดเยี่ยม และ RubyGems.org เป็น service ที่ดี ...แต่近期 ผมรู้สึก queasy ทุกครั้งที่เพิ่ม gem ใหม่ใน app ยิ่งคิดยิ่งรู้สึกว่าวิธีที่เราใช้ gems ไม่ได้แค่ flawed มันคือ disaster waiting to happen Social engineering FTW ไ

  20. เร่งความเร็ว Rails Apps ด้วย Hotwire: Server-Side Rendering โดยไม่ต้อง JavaScript

    หากคุณมองหาวิธีเร่งการเปลี่ยนหน้าและการส่งฟอร์ม และแบ่งหน้าที่ซับซ้อนเป็น components โดยไม่เขียน JavaScript code บทความนี้จะช่วยนำ Rails สู่ระดับต่อไปด้วย Hotwire บทความนี้จะสอนการใช้ tool สำหรับ server-side rendering Hotwire คืออะไร? Hotwire ให้วิธีสร้าง modern web applications โดยไม่เขียน JavaScr

Total 654 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:32/33  20-คอมพิวเตอร์/Page Goto:1 26 27 28 29 30 31 32 33