Podcasts about monkey patching

  • 12PODCASTS
  • 13EPISODES
  • 58mAVG DURATION
  • ?INFREQUENT EPISODES
  • Mar 15, 2024LATEST

POPULARITY

20172018201920202021202220232024


Best podcasts about monkey patching

Latest podcast episodes about monkey patching

The Real Python Podcast
Exploring Duck Typing in Python & Dynamics of Monkey Patching

The Real Python Podcast

Play Episode Listen Later Mar 15, 2024 50:46


What are the advantages of determining the type of an object by how it behaves? What coding circumstances are not a good fit for duck typing? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder's Weekly articles and projects.

monkeys dynamics python duck typing monkey patching
Smart Software with SmartLogic
Web Development Frameworks: Elixir and Phoenix vs. Ruby on Rails with Owen Bickford & Dan Ivovich

Smart Software with SmartLogic

Play Episode Listen Later Dec 7, 2023 41:41


On today's episode, Elixir Wizards Owen Bickford and Dan Ivovich compare notes on building web applications with Elixir and the Phoenix Framework versus Ruby on Rails. They discuss the history of both frameworks, key differences in architecture and approach, and deciding which programming language to use when starting a project. Both Phoenix and Rails are robust frameworks that enable developers to build high-quality web apps—Phoenix leverages functional programming in Elixir and Erlang's networking for real-time communication. Rails follows object-oriented principles and has a vast ecosystem of plug-ins. For data-heavy CRUD apps, Phoenix's immutable data pipelines provide some advantages. Developers can build great web apps with either Phoenix or Rails. Phoenix may have a slight edge for new projects based on its functional approach, built-in real-time features like LiveView, and ability to scale efficiently. But, choosing the right tech stack depends heavily on the app's specific requirements and the team's existing skills. Topics discussed in this episode: History and evolution of Phoenix Framework and Ruby on Rails Default project structure and code organization preferences in each framework Comparing object-oriented vs functional programming paradigms CRUD app development and interaction with databases Live reloading capabilities in Phoenix LiveView vs Rails Turbolinks Leveraging WebSockets for real-time UI updates Testing frameworks like RSpec, Cucumber, Wallaby, and Capybara Dependency management and size of standard libraries Scalability and distribution across nodes Readability and approachability of object-oriented code Immutability and data pipelines in functional programming Types, specs, and static analysis with Dialyzer Monkey patching in Ruby vs extensible core language in Elixir Factors to consider when choosing between frameworks Experience training new developers on Phoenix and Rails Community influences on coding styles Real-world project examples and refactoring approaches Deployment and dev ops differences Popularity and adoption curves of both frameworks Ongoing research into improving Phoenix and Rails Links Mentioned in this Episode: SmartLogic.io (https://smartlogic.io/) Dan's LinkedIn (https://www.linkedin.com/in/divovich/) Owen's LinkedIn (https://www.linkedin.com/in/owen-bickford-8b6b1523a/) Ruby https://www.ruby-lang.org/en/ Rails https://rubyonrails.org/ Sams Teach Yourself Ruby in 21 Days (https://www.overdrive.com/media/56304/sams-teach-yourself-ruby-in-21-days) Learn Ruby in 7 Days (https://www.thriftbooks.com/w/learn-ruby-in-7-days---color-print---ruby-tutorial-for-guaranteed-quick-learning-ruby-guide-with-many-practical-examples-this-ruby-programming-book--to-build-real-life-software-projects/18539364/#edition=19727339&idiq=25678249) Build Your Own Ruby on Rails Web Applications (https://www.thriftbooks.com/w/build-your-own-ruby-on-rails-web-applications_patrick-lenz/725256/item/2315989/?utm_source=google&utm_medium=cpc&utm_campaign=low_vol_backlist_standard_shopping_customer_acquisition&utm_adgroup=&utm_term=&utm_content=593118743925&gad_source=1&gclid=CjwKCAiA1MCrBhAoEiwAC2d64aQyFawuU3znN0VFgGyjR0I-0vrXlseIvht0QPOqx4DjKjdpgjCMZhoC6PcQAvD_BwE#idiq=2315989&edition=3380836) Django https://github.com/django Sidekiq https://github.com/sidekiq Kafka https://kafka.apache.org/ Phoenix Framework https://www.phoenixframework.org/ Phoenix LiveView https://hexdocs.pm/phoenixliveview/Phoenix.LiveView.html#content Flask https://flask.palletsprojects.com/en/3.0.x/ WebSockets API https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API WebSocket connection for Phoenix https://github.com/phoenixframework/websock Morph Dom https://github.com/patrick-steele-idem/morphdom Turbolinks https://github.com/turbolinks Ecto https://github.com/elixir-ecto Capybara Testing Framework https://teamcapybara.github.io/capybara/ Wallaby Testing Framework https://wallabyjs.com/ Cucumber Testing Framework https://cucumber.io/ RSpec https://rspec.info/

Syntax - Tasty Web Development Treats
Polyfills, Transpiling and Monkey Patching

Syntax - Tasty Web Development Treats

Play Episode Listen Later Jul 26, 2023 58:53


In this episode of Syntax, Wes and Scott talk about what polyfills, transpiling, and monkey patching mean, how and when to do it, and libraries that can help you out. Show Notes 00:10 Welcome 01:07 Toast follow up 02:45 What are transpiling, ponyfill, polyfill, and monkey patching TC39 Proposals Pretty excited about the new JavaScript non-mutating array methods. Currently in stage 3 11:18 Transpiling unsupported CSS 15:11 Polyfills Popover polyfill 19:22 Polyfilling CSS 21:06 HTML polyfills 27:47 How to transpile and polyfill Babel TypeScript: JavaScript With Syntax For Types CoffeeScript Civet cronn/jsxtransformer: Pipeline for transforming JSX files using Babel.js and Uglify.js Svelte • Cybernetically enhanced web apps Polyfill.io core-js - npm 35:46 Shiv and shims Shim vs Shiv 38:16 Monkey patching 49:08 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Scott: Cable sleeve Wes: Air Purifier AliExpress Shameless Plugs Scott: Sentry Wes: Wes Bos Tutorials Tweet us your tasty treats Scott's Instagram LevelUpTutorials Instagram Wes' Instagram Wes' Twitter Wes' Facebook Scott's Twitter Make sure to include @SyntaxFM in your tweets Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky

Maintainable
Benjamin Wood: Rescuing Ruby on Rails Projects

Maintainable

Play Episode Listen Later Mar 8, 2021 42:17


Robby speaks with Benjamin Wood, CEO and Co-Founder of Hint. They discuss the importance of being able to iterate quickly, and the optimal code-to-test ratios. Benjamin also talks about the pros and Cons of using Monkey Patching, as well as suggestions for where to prioritize tests on a legacy Ruby on Rails application.Helpful LinksHint.ioGithub.com/hintmedia/railsdockBenjamin on Twitter[Book Recommendation] The E-Myth Revisited, Michael E. GerberSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.

Talking Roots
Metaprogramación en Ruby

Talking Roots

Play Episode Listen Later Nov 20, 2020 39:28


Tres desarrolladores de Rootstrap nos acompañan para charlar sobre Ruby y la metaprogramación. [1:20] - Introducción. ¿Qué es? ¿Para qué sirve? [4:40] - Ejemplos de metaprogramación en Ruby [8:30] - Concurrencia y metaprogramación [10:50] - Impacto en la performance del sistema. Monkey Patching y ActiveSupport. [18:12] - DSLs y RSpec [23:22] - Los find_by dinámicos de Rails y el method_missing approach [26:00] - Caso de uso: Formularios web [30:00] - Macros y reflección [34:35] - Palabras finales Este episodio es parte de la miniserie exclusiva sobre Ruby. Bruno @brunvez github.com/brunvez Juan Manuel @jotaeme_r github.com/juanmanuelramallo Kalil @kaoz_165 github.com/kaozdl Hecho con ❤️ en Rootstrap.

Yakut
Bölüm #28

Yakut

Play Episode Listen Later Oct 16, 2017


[ Dinle ]Ruby Türkiye Ankara Buluşması #1 Ruby Türkiye İstanbul Buluşması #3Ruby 2.5.0-preview1 ReleasedUnsafe Object Deserialization Vulnerability in RubyGemsIntroducing hanami-cliMonkey Patching in Ruby - Real World ExampleRails 5.2 adds expiry option for signed and encrypted cookies and adds relative expiry time7 Little-Known Ruby Methods To Help You Write Better CodeUpload Images to S3 in GraphQL Using Rails and PaperclipRails directory structure guideUpdating Deeply Nested Attributes with RSpecSıtkı Bağdat röportajı

Devchat.tv Master Feed
226 JSJ Test Doubles with Justin Searls

Devchat.tv Master Feed

Play Episode Listen Later Aug 24, 2016 64:11


React Remote Conf and Angular Remote Conf   03:15 - Justin Searls Introduction Twitter GitHub Blog Test Double JavaScript Jabber Episode #038: Jasmine with Justin Searls 04:13 - Testing testdouble.js teenytest Sinon.JS 08:44 - Mocking Growing Object-Oriented Software, Guided by Tests by Steve Freeman and Nat Pryce Jim Weirich 14:45 - Starting These Concepts as a Junior Developer Test-driven Development 17:55 - testdouble.js vs. sinon.js NIH = Not Invented Here 26:39 - Duck Typing, Monkey Patching, Duck Punching 32:22 - Node.js Negativity Design, Resources Martin Fowler’s Refactoring and Patterns Books Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans 42:52 - Community 45:08 - The AAA Rule: Arrange, Act, Assert 51:19 - Error Messages   Picks Unemployment (Jamison) React Rally (Jamison) Julia Evans' Tweet: how to be a wizard programmer  (Jamison) See the good in people (Aimee) Sinon.JS (Joe) How to Stay Motivated: Developing the Qualities of Success by Zig Ziglar (Chuck) The Harry Potter Series (Chuck) RetroPie (Justin) How Elm can Make you a Better JavaScript Programer (Justin) NEJS Conf (Justin)

JavaScript Jabber
226 JSJ Test Doubles with Justin Searls

JavaScript Jabber

Play Episode Listen Later Aug 24, 2016 64:11


React Remote Conf and Angular Remote Conf   03:15 - Justin Searls Introduction Twitter GitHub Blog Test Double JavaScript Jabber Episode #038: Jasmine with Justin Searls 04:13 - Testing testdouble.js teenytest Sinon.JS 08:44 - Mocking Growing Object-Oriented Software, Guided by Tests by Steve Freeman and Nat Pryce Jim Weirich 14:45 - Starting These Concepts as a Junior Developer Test-driven Development 17:55 - testdouble.js vs. sinon.js NIH = Not Invented Here 26:39 - Duck Typing, Monkey Patching, Duck Punching 32:22 - Node.js Negativity Design, Resources Martin Fowler’s Refactoring and Patterns Books Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans 42:52 - Community 45:08 - The AAA Rule: Arrange, Act, Assert 51:19 - Error Messages   Picks Unemployment (Jamison) React Rally (Jamison) Julia Evans' Tweet: how to be a wizard programmer  (Jamison) See the good in people (Aimee) Sinon.JS (Joe) How to Stay Motivated: Developing the Qualities of Success by Zig Ziglar (Chuck) The Harry Potter Series (Chuck) RetroPie (Justin) How Elm can Make you a Better JavaScript Programer (Justin) NEJS Conf (Justin)

All JavaScript Podcasts by Devchat.tv
226 JSJ Test Doubles with Justin Searls

All JavaScript Podcasts by Devchat.tv

Play Episode Listen Later Aug 24, 2016 64:11


React Remote Conf and Angular Remote Conf   03:15 - Justin Searls Introduction Twitter GitHub Blog Test Double JavaScript Jabber Episode #038: Jasmine with Justin Searls 04:13 - Testing testdouble.js teenytest Sinon.JS 08:44 - Mocking Growing Object-Oriented Software, Guided by Tests by Steve Freeman and Nat Pryce Jim Weirich 14:45 - Starting These Concepts as a Junior Developer Test-driven Development 17:55 - testdouble.js vs. sinon.js NIH = Not Invented Here 26:39 - Duck Typing, Monkey Patching, Duck Punching 32:22 - Node.js Negativity Design, Resources Martin Fowler’s Refactoring and Patterns Books Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans 42:52 - Community 45:08 - The AAA Rule: Arrange, Act, Assert 51:19 - Error Messages   Picks Unemployment (Jamison) React Rally (Jamison) Julia Evans' Tweet: how to be a wizard programmer  (Jamison) See the good in people (Aimee) Sinon.JS (Joe) How to Stay Motivated: Developing the Qualities of Success by Zig Ziglar (Chuck) The Harry Potter Series (Chuck) RetroPie (Justin) How Elm can Make you a Better JavaScript Programer (Justin) NEJS Conf (Justin)

Devchat.tv Master Feed
248 RR The Crystal Programming Language with Erik Michaels-Ober

Devchat.tv Master Feed

Play Episode Listen Later Feb 24, 2016 78:35


01:49 - Erik Michaels-Ober Introduction Twitter GitHub Ruby Rogues Episode #127: Erik Michaels-Ober 02:07 - The Crystal Programming Language and Statically Typed Programming Languages Erik Michaels-Ober: An Introduction to Crystal @ PolyConf 15 06:54 - Type Inference Union Types Duck Typing Monkey Patching Sandi Metz Blog Post on the Wrong Abstraction 15:06 - Crystal vs Rust or Go 20:10 - Linting Rubocop 20:44 - Type Annotations and Perimeters Keyword Arguments 22:53 - The History of Crystal and its Development as a Language Crystal Docs Crystal GitHub Repo The Future of Crystal (Christmastime Blog Post) 24:41 - Annotation and Return Value 25:35 - Type Inferencing (Cont’d) 28:24 - Crystal REPL (ICR) 32:15 - Getting Involved with Crystal and the Development of the Language Crystal to_proc 40:08 - Threading and Concurrency 44:28 - Crystalshards Crystal Weekly 49:30 - Use Cases and Benchmarks Crystal Standard Library wc.cr 01:03:15 - Compile Errors     More on Crystal Erik Michaels-Ober: Crystal Programming Language @ RubyC 2015 Interview for RubyC-2015 with Erik Michaels-Ober Built-in formatting tool Issue Picks Easy Bash Prompt Generator (Jessica) Logitech Wireless Headset Dual H820e Double-Ear Stereo Business Headset (David) Ruby Rogues Episode #127: Erik Michaels-Ober (Erik) fish shell (Erik) Rails Girls Summer of Code (Erik) RescueTime (Avdi) The 7 Habits of Highly Effective People: Powerful Lessons in Personal Change by Stephen R. Covey (Avdi) Whiplash White IPA (Avdi)

All Ruby Podcasts by Devchat.tv
248 RR The Crystal Programming Language with Erik Michaels-Ober

All Ruby Podcasts by Devchat.tv

Play Episode Listen Later Feb 24, 2016 78:35


01:49 - Erik Michaels-Ober Introduction Twitter GitHub Ruby Rogues Episode #127: Erik Michaels-Ober 02:07 - The Crystal Programming Language and Statically Typed Programming Languages Erik Michaels-Ober: An Introduction to Crystal @ PolyConf 15 06:54 - Type Inference Union Types Duck Typing Monkey Patching Sandi Metz Blog Post on the Wrong Abstraction 15:06 - Crystal vs Rust or Go 20:10 - Linting Rubocop 20:44 - Type Annotations and Perimeters Keyword Arguments 22:53 - The History of Crystal and its Development as a Language Crystal Docs Crystal GitHub Repo The Future of Crystal (Christmastime Blog Post) 24:41 - Annotation and Return Value 25:35 - Type Inferencing (Cont’d) 28:24 - Crystal REPL (ICR) 32:15 - Getting Involved with Crystal and the Development of the Language Crystal to_proc 40:08 - Threading and Concurrency 44:28 - Crystalshards Crystal Weekly 49:30 - Use Cases and Benchmarks Crystal Standard Library wc.cr 01:03:15 - Compile Errors     More on Crystal Erik Michaels-Ober: Crystal Programming Language @ RubyC 2015 Interview for RubyC-2015 with Erik Michaels-Ober Built-in formatting tool Issue Picks Easy Bash Prompt Generator (Jessica) Logitech Wireless Headset Dual H820e Double-Ear Stereo Business Headset (David) Ruby Rogues Episode #127: Erik Michaels-Ober (Erik) fish shell (Erik) Rails Girls Summer of Code (Erik) RescueTime (Avdi) The 7 Habits of Highly Effective People: Powerful Lessons in Personal Change by Stephen R. Covey (Avdi) Whiplash White IPA (Avdi)

Ruby Rogues
248 RR The Crystal Programming Language with Erik Michaels-Ober

Ruby Rogues

Play Episode Listen Later Feb 24, 2016 78:35


01:49 - Erik Michaels-Ober Introduction Twitter GitHub Ruby Rogues Episode #127: Erik Michaels-Ober 02:07 - The Crystal Programming Language and Statically Typed Programming Languages Erik Michaels-Ober: An Introduction to Crystal @ PolyConf 15 06:54 - Type Inference Union Types Duck Typing Monkey Patching Sandi Metz Blog Post on the Wrong Abstraction 15:06 - Crystal vs Rust or Go 20:10 - Linting Rubocop 20:44 - Type Annotations and Perimeters Keyword Arguments 22:53 - The History of Crystal and its Development as a Language Crystal Docs Crystal GitHub Repo The Future of Crystal (Christmastime Blog Post) 24:41 - Annotation and Return Value 25:35 - Type Inferencing (Cont’d) 28:24 - Crystal REPL (ICR) 32:15 - Getting Involved with Crystal and the Development of the Language Crystal to_proc 40:08 - Threading and Concurrency 44:28 - Crystalshards Crystal Weekly 49:30 - Use Cases and Benchmarks Crystal Standard Library wc.cr 01:03:15 - Compile Errors     More on Crystal Erik Michaels-Ober: Crystal Programming Language @ RubyC 2015 Interview for RubyC-2015 with Erik Michaels-Ober Built-in formatting tool Issue Picks Easy Bash Prompt Generator (Jessica) Logitech Wireless Headset Dual H820e Double-Ear Stereo Business Headset (David) Ruby Rogues Episode #127: Erik Michaels-Ober (Erik) fish shell (Erik) Rails Girls Summer of Code (Erik) RescueTime (Avdi) The 7 Habits of Highly Effective People: Powerful Lessons in Personal Change by Stephen R. Covey (Avdi) Whiplash White IPA (Avdi)

Podcast Z
Podcast Z #2: Animalario con lenguajes dinámicos

Podcast Z

Play Episode Listen Later Mar 21, 2011 34:58


Monkey Patching, Duck Typing e Inyección de Dependencias. http://podcast.jcea.es/podcastz/2 Notas: 00:50: Se utiliza un caso real para explicar estas técnicas con más facilidad. 01:50: La librería estándar para el envío de correo electrónico en Python, la SMTPlib, se nos queda pequeña (para este proyecto en concreto). 02:01: ¡Sí!, ¡por supuesto que usamos Python!. 02:12: Pero estas técnicas son aplicables también a otros lenguajes dinámicos. 02:48: Los motivos por los que la SMTPlib se me quedaba pequeña: Quiero "timeouts" dinámicos, quiero limitar el número de conexiones simultaneas por servidor de correo, y quiero controlar la IP de origen de la conexión saliente. 05:52: ¿Por qué no modificamos el código directamente o utilizamos los mecanismos de herencia normales?. Por mantenimiento de código y porque lo que queremos modificar no es fácilmente accesible por herencia porque está muy "profundo" en la clase original. 09:04: Por fin entramos en materia. Empezamos con Monkey Patching. Modificación de código, clases y objetos en memoria. 12:44: ¿Cuándo es preferible utilizar Monkey Patching en vez de mecanismos más habituales?. 13:30: Otro ejemplo de Monkey Patching: Los "hot fixes" tradicionales de ZOPE. 16:29: Por supuesto, esta técnica es compleja y delicada, y tiene sus riesgos. 18:17: Pasamos a hablar de Duck Typing. Polimorfismo sin herencia. Frase del día: "Es un pato a efectos prácticos". O su corolario posterior: "Si parece un pato, es un pato. Aunque no lo sea" :-). 20:25: En lenguajes estáticos como Java, se utiliza el concepto de "interfaces abstractos", verificados en tiempo de compilación. Con Python no se realiza ninguna comprobación, y la compatibilidad de tipos se decide en tiempo de ejecución, cuando se invocan métodos concretos con parámetros concretos. 22:19: Los interfaces abstractos te permite definir dos objetos como compatibles, aunque no hereden de las mismas clases. 22:28: Un ejemplo de interfaces es la abstracción de ficheros en Python (o, por ejemplo, en la filosofía UNIX de que todo es un fichero). 22:54: El Duck Typing también tiene sus problemas. 25:09: Hay dos escuelas de pensamiento en casi todo, dicotomías por doquier. 26:00: Una forma de estar tranquilos es tener una buena batería de test. 26:45: Hablamos ahora de inyección de dependencias. Recapitulamos y, ahora, todo encaja. 28:41: Desvinculamos la dependencia implícita interna que tiene una librería, y la hacemos explícita y manipulable. 29:00: La inyección de dependencias te facilita mucho la vida a la hora de probar el código. 30:40: Bueno, en realidad el programa de ejemplo que he usado para ilustrar la descripción de estas técnicas no funciona como se ha descrito :-). Se emplea también Monkey Patching, pero de forma diferente y más estable ante actualizaciones python. Lo detallé en mi web en 2007. 31:40: Fé de erratas.