The document provides an overview of the speaker's approach to writing JavaScript for web applications. It discusses some of the shortcomings of Rails' approach of generating JavaScript (RJS) and embedding it directly in views. The speaker advocates for treating JavaScript as a first-class language by: writing it in standalone files organized into classes; structuring classes based on behavior and page location; and test-driving JavaScript code using the Jasmine framework. This allows JavaScript to be developed and tested independently using an object-oriented approach.
This document introduces Ruby as an open-source, multi-paradigm programming language created by Yukihiro Matsumoto. Ruby is interpreted, which means code is read and executed by an interpreter rather than being pre-compiled. The document provides instructions for installing Ruby on Windows, Mac OS X, and Linux. It recommends text editors for writing Ruby code and introduces the irb interactive shell for testing code. A simple "Hello, World" program is presented to demonstrate running Ruby code.
How To Be A Real Developer In Two Easy Stepsnorthofnormal
?
Have some imposter syndrome? Worried that you aren't a *real* developer? You're in luck! There's an easy, anybody-can-do-it two-step process you can follow to conquer your fears and become a Real Developer. What are those two steps? Well...that's where it gets complicated. Come with Anne as she recounts her path into the world of software development, overcomes her fears, questions the nature of reality, and shows off a super cool Ruby script.
The document discusses moving away from focusing solely on Ruby and instead embracing service-oriented architecture (SOA) and diversifying programming languages. It argues that picking the best tool for each job rather than sticking with just one language like Ruby will allow for more reuse between projects and easier upgrades. Specific alternatives mentioned include using Go for backends instead of Ruby and moving away from JavaScript for frontends.
Moving the Needle: How SF Ruby Got to 18%Sarah Mei
?
The document discusses efforts to increase female participation in the SF Ruby Meetup group from 2% to 18% between January 2009 and January 2010. It describes implementing an "XTREME COMMUNITY" approach with three parts: 1) Set specific goals focused on issues that can be addressed, 2) Host targeted events and tie them to goals, 3) Cultivate new participants through outreach, visibility, and follow up. The approach resulted in not only more female attendees but an more active community overall with varied talks and newbie-friendly events. Sustaining progress remains difficult due to entrenched social issues and need for leadership commitment.
The document discusses how to namedrop various JavaScript MVC frameworks like Backbone.js, Ember.js, and Angular.js to sound knowledgeable in casual conversations. It lists the major frameworks and some of their key features and tradeoffs. The document is intended to help readers learn about these frameworks at a high level so they can casually discuss them without coming across as ignorant.
Ruby APIs for NoSQL - Polyglot Persistence - GoGaRuCo 2010Sarah Mei
?
This document discusses Ruby APIs for NoSQL databases. It begins by describing the traditional Rails baseline of using a SQL database like MySQL or PostgreSQL. It then shows how NoSQL databases like MongoDB, Redis, Solr and S3 have been integrated with Rails using adapter gems. The document questions how to unify a data model across multiple data stores and replace the primary store. It explains these challenges have not been fully solved yet but Rails 3 provides a way to replace the primary store by allowing models to work with different adapters.
The document discusses teaching Ruby programming to kids. It argues that teaching programming is important because programming literacy is increasing and it is rewarding to share your excitement about programming with others. It recommends using an agile approach to teaching, with short iterations, listening to student feedback, and adapting lessons. The goals should be specific, measurable, and achievable, like getting students interested or excited about programming. Tools like Shoes, Hackety Hack and Ruby can be used to keep lessons interactive and visual. Practice is important, as is following student interests and looking for teachable moments.
This document provides an introduction to a Ruby on Rails training being conducted by James and Dana Gray. It discusses the structure of the training, including introducing the teachers and having students introduce themselves. It also provides an overview of what will be taught in the training, including building web applications using Rails, with roughly half the time spent on hands-on labs where students will build a working Rails application.
This document discusses the author's experience with Ruby on Rails over 10 years. It outlines both the benefits and drawbacks of Rails. The good parts include how easy it is to build prototypes, get help online, and find jobs. However, Rails can also make developers overly reliant on its frameworks, opinions, and gems. This dependence limits learning and flexibility. The author advocates learning first principles, stepping outside comfort zones, and understanding underlying technologies like SQL instead of just using Rails as a black box.
JRuby allows developers to use the Ruby programming language on the Java platform. It provides the ability to leverage existing Java libraries and frameworks from Ruby code. This allows developers to benefit from the agility of Ruby and dynamic languages for web development while still taking advantage of robust Java technologies for the backend. Rails applications can also be deployed as WAR files to be run on Java application servers and benefit from features like scalability. Overall, JRuby provides a way to incorporate Ruby into Java/JEE projects for improved productivity through rapid prototyping and dynamic web frameworks while still using reliable Java infrastructure.
Charla/taller realizado en la Universidad de La Rioja para las sesiones de "Loading...". Era una breve presentaci¨®n de Ruby, Ruby on Rails y una parte pr¨¢ctica con Ruby on Rails 3.
Languages used by web app development services remotestac xRemote Stacx
?
This document provides an overview of various programming languages that can be used for web application development, including both object-oriented and functional languages. It discusses languages like Java, Scala, Clojure, Ruby, JavaScript, Haskell, Erlang, JRuby, Lisp, OCaml, and Scheme. The key points are that Scala allows both object-oriented and functional programming on the JVM, Clojure is a Lisp dialect designed for functional programming, and many languages like Ruby and JavaScript support some functional paradigms even if not purely functional. The document encourages trying different languages to experience their features and paradigms.
The document introduces Ruby and Rails. It discusses that Ruby is an object-oriented scripting language created by Matz to bring joy to programming. Rails is a web framework that makes building database-driven web applications easy through conventions like MVC, templates, and ORMs. The document then provides an overview of major Ruby features like objects, variables, arrays, hashes, symbols, blocks and iterators. It also demonstrates building a simple class in Ruby. Finally, it shows a quick demo of generating a TODO list application in Rails.
The document provides an overview of JavaScript concepts including:
- History of JavaScript from its creation in 1995 to present use for web, mobile, and server-side applications
- Core JavaScript syntax concepts like variables, data types, operators, and comments
- Evolution of JavaScript through additions in ECMAScript standards to become a powerful multi-paradigm programming language
- Distinction between JavaScript the language and APIs provided by environments like browsers and Node.js
The document provides an overview of JavaScript concepts including:
- History and evolution of JavaScript from its beginnings to present use
- Core JavaScript syntax concepts such as variables, data types, expressions, and operators
- Popular JavaScript paradigms like object-oriented programming and functional programming
- Advanced topics like asynchronous programming, promises, classes and inheritance
The document is intended as an introduction for JavaScript beginners to learn the essential concepts in an approachable way.
Ruby and rails around the web fun, informative sites for new and experienced...Durga Prasad Tumu
?
This Article discusses on the useful website resources for Ruby On Rails Developers.You can find more of these useful resources at our blog (http://blog.amzur.com)
This document provides an introduction to Ruby on Rails. It discusses what Rails is, why to use a web framework, and key aspects of Rails including its model-view-controller architecture, ActiveRecord object-relational mapping, routing, and more. It also provides additional resources for learning Rails such as books, websites, and the Ruby programming language.
An overview of Ruby, jRuby, Rails, Torquebox, and PostgreSQL that was presented as a 3 hour class to other programmers at The Ironyard (http://theironyard.com) in Greenville, SC in July of 2013. The Rails specific sections are mostly code samples that were explained during the session so the real focus of the slides is Ruby, "the rails way" / workflow / differentiators and PostgreSQL.
I gave this talk at the code.talks 2015 conference in Hamburg, Germany: https://www.codetalks.de/2015/programm/there-is-no-javascript.
JavaScript is a truly bizarre language: at once interpreted and compiled, functional and mutative, prototypal and syntactically poor, chaotic and elegant. It is the lowest high-level language of the amorphous operating system known as the web. It has evolved rapidly, sidelining all competition and building up a huge ecosystem of libraries and tools and symbiotic users.
And yet, its very popularity is bringing about its demise, whether by the introduction of the low-level WebAssembly or innumerable higher-level languages or even the reimagined ECMAScript 6 and other descendants. In this talk, we will explore JavaScript's evolution from a mere amoeba in Brendan Eich's bubbling pool to a dinosaur in John Resig's slightly more recent Mesozoic lair and all the way to its inevitable disappearance into civilized ubiquity.
Noam Kfir - There is no Java Script - code.talks 2015AboutYouGmbH
?
The document discusses the history and evolution of JavaScript over time. It began as a language created in 10 days by Brendan Eich in 1995. While initially misunderstood and fragmented across browsers, JavaScript has adapted and survived through open source contributions, a changing web, and maturation of the industry. The language is constantly evolving in unpredictable ways to shoot out in new directions. Its adaptability is key to its survival, and continued change will help ensure it does not stagnate. There is no single definition of JavaScript due to its ubiquity and ability to evolve.
The document discusses the performance of Ruby and Rails frameworks. While Ruby is acknowledged to be a slower language, several contributors note that performance improvements are underway and hardware continues to get faster. Merb 2.0 is presented as focusing on modularity, integration, and rapid prototyping. Contributors are thanked for their work on Merb.
Adventures of java developer in ruby worldOrest Ivasiv
?
This document provides an overview of the speaker's experience transitioning from Java to Ruby. It includes an agenda covering the speaker's background, project issues that led to choosing Ruby, a brief history of Ruby, examples of early debates between Ruby and other languages, and a review of the Ruby ecosystem including implementations, tools, testing, debugging, and community aspects.
JRuby allows Ruby code to run on the Java Virtual Machine. It provides the ability to reuse existing Java libraries and deploy Ruby applications in scalable and enterprise-ready environments. While Java may have a reputation for being slow, JRuby performance is on par with CRuby for most web applications due to JIT compilation optimizations in the JVM. Calling between Ruby and Java code is seamless, allowing Ruby code to leverage Java libraries and Java code to leverage Ruby code. JRuby applications can be packaged and deployed like standard Java applications.
Java has evolved beyond just being a programming language. It can now be used to run various other languages by compiling them to bytecode that runs on the Java Virtual Machine. This opens up new possibilities and ways of programming. While Java once had issues with complexity and verbosity, new technologies like Bean Scripting Framework and Java Specification Requests have helped make it easier to integrate other languages and scripting into Java applications.
UiPath Community Dubai: Discover Unified AppsUiPathCommunity
?
This session gives an overview on what are unified apps:
- how one can use this concept to leverage the app development with ease
- how one can have a unified experience of app development and process linking within one integrated platform
- how one can have a unified experience of app development and process linking within one integrated platform
Participants will learn:
- how this approach simplifies workflows & reduces development complexity
- how to ensure seamless process linking across different applications
By leveraging unified apps, organizations can achieve greater efficiency, consistency, and scalability in their app development processes, ultimately fostering a more connected and integrated digital ecosystem.
??? Speakers:
Lovely Sinha, UiPath MVP, Manager - Automation Center of Excellence, @Dubai Holding
Harika Mudiam, UiPath MVP, Hyper Automation Consultant @FAB
This session streamed live on April 10, 2025, 19:00 GST.
Check out all our upcoming UiPath Community sessions at
? https://community.uipath.com/dubai/
Weekly cyber hits: NK hackers drop BeaverTail via 11 npm pkgs (5.6k dl¡¯s) targeting devs. Ivanti flaw (CVE-2025-22457) hit by China pros¡ªpatch by 4/11! PoisonSeed spams Coinbase; PyPI pkgs (39k dl¡¯s) swipe data. Lock it down! Like & share for more!
This document provides an introduction to a Ruby on Rails training being conducted by James and Dana Gray. It discusses the structure of the training, including introducing the teachers and having students introduce themselves. It also provides an overview of what will be taught in the training, including building web applications using Rails, with roughly half the time spent on hands-on labs where students will build a working Rails application.
This document discusses the author's experience with Ruby on Rails over 10 years. It outlines both the benefits and drawbacks of Rails. The good parts include how easy it is to build prototypes, get help online, and find jobs. However, Rails can also make developers overly reliant on its frameworks, opinions, and gems. This dependence limits learning and flexibility. The author advocates learning first principles, stepping outside comfort zones, and understanding underlying technologies like SQL instead of just using Rails as a black box.
JRuby allows developers to use the Ruby programming language on the Java platform. It provides the ability to leverage existing Java libraries and frameworks from Ruby code. This allows developers to benefit from the agility of Ruby and dynamic languages for web development while still taking advantage of robust Java technologies for the backend. Rails applications can also be deployed as WAR files to be run on Java application servers and benefit from features like scalability. Overall, JRuby provides a way to incorporate Ruby into Java/JEE projects for improved productivity through rapid prototyping and dynamic web frameworks while still using reliable Java infrastructure.
Charla/taller realizado en la Universidad de La Rioja para las sesiones de "Loading...". Era una breve presentaci¨®n de Ruby, Ruby on Rails y una parte pr¨¢ctica con Ruby on Rails 3.
Languages used by web app development services remotestac xRemote Stacx
?
This document provides an overview of various programming languages that can be used for web application development, including both object-oriented and functional languages. It discusses languages like Java, Scala, Clojure, Ruby, JavaScript, Haskell, Erlang, JRuby, Lisp, OCaml, and Scheme. The key points are that Scala allows both object-oriented and functional programming on the JVM, Clojure is a Lisp dialect designed for functional programming, and many languages like Ruby and JavaScript support some functional paradigms even if not purely functional. The document encourages trying different languages to experience their features and paradigms.
The document introduces Ruby and Rails. It discusses that Ruby is an object-oriented scripting language created by Matz to bring joy to programming. Rails is a web framework that makes building database-driven web applications easy through conventions like MVC, templates, and ORMs. The document then provides an overview of major Ruby features like objects, variables, arrays, hashes, symbols, blocks and iterators. It also demonstrates building a simple class in Ruby. Finally, it shows a quick demo of generating a TODO list application in Rails.
The document provides an overview of JavaScript concepts including:
- History of JavaScript from its creation in 1995 to present use for web, mobile, and server-side applications
- Core JavaScript syntax concepts like variables, data types, operators, and comments
- Evolution of JavaScript through additions in ECMAScript standards to become a powerful multi-paradigm programming language
- Distinction between JavaScript the language and APIs provided by environments like browsers and Node.js
The document provides an overview of JavaScript concepts including:
- History and evolution of JavaScript from its beginnings to present use
- Core JavaScript syntax concepts such as variables, data types, expressions, and operators
- Popular JavaScript paradigms like object-oriented programming and functional programming
- Advanced topics like asynchronous programming, promises, classes and inheritance
The document is intended as an introduction for JavaScript beginners to learn the essential concepts in an approachable way.
Ruby and rails around the web fun, informative sites for new and experienced...Durga Prasad Tumu
?
This Article discusses on the useful website resources for Ruby On Rails Developers.You can find more of these useful resources at our blog (http://blog.amzur.com)
This document provides an introduction to Ruby on Rails. It discusses what Rails is, why to use a web framework, and key aspects of Rails including its model-view-controller architecture, ActiveRecord object-relational mapping, routing, and more. It also provides additional resources for learning Rails such as books, websites, and the Ruby programming language.
An overview of Ruby, jRuby, Rails, Torquebox, and PostgreSQL that was presented as a 3 hour class to other programmers at The Ironyard (http://theironyard.com) in Greenville, SC in July of 2013. The Rails specific sections are mostly code samples that were explained during the session so the real focus of the slides is Ruby, "the rails way" / workflow / differentiators and PostgreSQL.
I gave this talk at the code.talks 2015 conference in Hamburg, Germany: https://www.codetalks.de/2015/programm/there-is-no-javascript.
JavaScript is a truly bizarre language: at once interpreted and compiled, functional and mutative, prototypal and syntactically poor, chaotic and elegant. It is the lowest high-level language of the amorphous operating system known as the web. It has evolved rapidly, sidelining all competition and building up a huge ecosystem of libraries and tools and symbiotic users.
And yet, its very popularity is bringing about its demise, whether by the introduction of the low-level WebAssembly or innumerable higher-level languages or even the reimagined ECMAScript 6 and other descendants. In this talk, we will explore JavaScript's evolution from a mere amoeba in Brendan Eich's bubbling pool to a dinosaur in John Resig's slightly more recent Mesozoic lair and all the way to its inevitable disappearance into civilized ubiquity.
Noam Kfir - There is no Java Script - code.talks 2015AboutYouGmbH
?
The document discusses the history and evolution of JavaScript over time. It began as a language created in 10 days by Brendan Eich in 1995. While initially misunderstood and fragmented across browsers, JavaScript has adapted and survived through open source contributions, a changing web, and maturation of the industry. The language is constantly evolving in unpredictable ways to shoot out in new directions. Its adaptability is key to its survival, and continued change will help ensure it does not stagnate. There is no single definition of JavaScript due to its ubiquity and ability to evolve.
The document discusses the performance of Ruby and Rails frameworks. While Ruby is acknowledged to be a slower language, several contributors note that performance improvements are underway and hardware continues to get faster. Merb 2.0 is presented as focusing on modularity, integration, and rapid prototyping. Contributors are thanked for their work on Merb.
Adventures of java developer in ruby worldOrest Ivasiv
?
This document provides an overview of the speaker's experience transitioning from Java to Ruby. It includes an agenda covering the speaker's background, project issues that led to choosing Ruby, a brief history of Ruby, examples of early debates between Ruby and other languages, and a review of the Ruby ecosystem including implementations, tools, testing, debugging, and community aspects.
JRuby allows Ruby code to run on the Java Virtual Machine. It provides the ability to reuse existing Java libraries and deploy Ruby applications in scalable and enterprise-ready environments. While Java may have a reputation for being slow, JRuby performance is on par with CRuby for most web applications due to JIT compilation optimizations in the JVM. Calling between Ruby and Java code is seamless, allowing Ruby code to leverage Java libraries and Java code to leverage Ruby code. JRuby applications can be packaged and deployed like standard Java applications.
Java has evolved beyond just being a programming language. It can now be used to run various other languages by compiling them to bytecode that runs on the Java Virtual Machine. This opens up new possibilities and ways of programming. While Java once had issues with complexity and verbosity, new technologies like Bean Scripting Framework and Java Specification Requests have helped make it easier to integrate other languages and scripting into Java applications.
UiPath Community Dubai: Discover Unified AppsUiPathCommunity
?
This session gives an overview on what are unified apps:
- how one can use this concept to leverage the app development with ease
- how one can have a unified experience of app development and process linking within one integrated platform
- how one can have a unified experience of app development and process linking within one integrated platform
Participants will learn:
- how this approach simplifies workflows & reduces development complexity
- how to ensure seamless process linking across different applications
By leveraging unified apps, organizations can achieve greater efficiency, consistency, and scalability in their app development processes, ultimately fostering a more connected and integrated digital ecosystem.
??? Speakers:
Lovely Sinha, UiPath MVP, Manager - Automation Center of Excellence, @Dubai Holding
Harika Mudiam, UiPath MVP, Hyper Automation Consultant @FAB
This session streamed live on April 10, 2025, 19:00 GST.
Check out all our upcoming UiPath Community sessions at
? https://community.uipath.com/dubai/
Weekly cyber hits: NK hackers drop BeaverTail via 11 npm pkgs (5.6k dl¡¯s) targeting devs. Ivanti flaw (CVE-2025-22457) hit by China pros¡ªpatch by 4/11! PoisonSeed spams Coinbase; PyPI pkgs (39k dl¡¯s) swipe data. Lock it down! Like & share for more!
Automating Behavior-Driven Development: Boosting Productivity with Template-D...DOCOMO Innovations, Inc.
?
https://bit.ly/4ciP3mZ
We have successfully established our development process for Drupal custom modules, including automated testing using PHPUnit, all managed through our own GitLab CI/CD pipeline. This setup mirrors the automated testing process used by Drupal.org, which was our goal to emulate.
Building on this success, we have taken the next step by learning Behavior-Driven Development (BDD) using Behat. This approach allows us to automate the execution of acceptance tests for our Cloud Orchestration modules. Our upcoming session will provide a thorough explanation of the practical application of Behat, demonstrating how to effectively use this tool to write and execute comprehensive test scenarios.
In this session, we will cover:
1. Introduction to Behavior-Driven Development (BDD):
- Understanding the principles of BDD and its advantages in the software development lifecycle.
- How BDD aligns with agile methodologies and enhances collaboration between developers, testers, and stakeholders.
2. Overview of Behat:
- Introduction to Behat as a testing framework for BDD.
- Key features of Behat and its integration with other tools and platforms.
3. Automating Acceptance Tests:
- Running Behat tests in our GitLab CI/CD pipeline.
- Techniques for ensuring that automated tests are reliable and maintainable.
- Strategies for continuous improvement and scaling the test suite.
4. Template-Based Test Scenario Reusability:
- How to create reusable test scenario templates in Behat.
- Methods for parameterizing test scenarios to enhance reusability and reduce redundancy.
- Practical examples of how to implement and manage these templates within your testing framework.
By the end of the session, attendees will have a comprehensive understanding of how to leverage Behat for BDD in their own projects, particularly within the context of Drupal and cloud orchestration. They will gain practical knowledge on writing and running automated acceptance tests, ultimately enhancing the quality and efficiency of their development processes.
Ricardo Jebb Bruno is a skilled Structural CAD Technician with over 10 years of experience. He specializes in structural analysis, design, and project management, and is proficient in AutoCAD, Revit, and SolidWorks. A graduate of the University of Miami with a degree in Civil Engineering, he currently works at Metrix Structural Group. Ricardo is a member of the American Society of Civil Engineers and the National CAD Society, and volunteers with Habitat for Humanity. His hobbies include 3D printing and sci-fi media.
Build Your Uber Clone App with Advanced FeaturesV3cube
?
Build your own ride-hailing business with our powerful Uber clone app, fully equipped with advanced features to give you a competitive edge. Start your own taxi business today!
More Information : https://www.v3cube.com/uber-clone/
Cloudflare¡¯s Game-Changing Move The First Remote MCP Server for AI Agent Deve...davidandersonofficia
?
Discover how Cloudflare¡¯s groundbreaking remote MCP server, launched April 7, 2025, is revolutionizing AI agent development. Paired with Durable Workflows and a free Durable Objects tier, this innovation simplifies building secure, scalable AI solutions. Learn why it matters, what you can create, and how to get started with Cloudflare¡¯s game-changing tools.
SAP Automation with UiPath: Top 10 Use Cases Across FI/MM/SD/Basis/PP Modules...DianaGray10
?
Explore the top 10 SAP use cases across various modules in this informative webinar. This session is for SAP professionals and people who like automation. It will show you how UiPath can automate important processes in SAP modules like FI, MM, SD, Basis, PP, and more. Learn about practical applications, benefits, and how to get started with automating these use cases on your own.
BrightonSEO April 2025 - hreflang XML E-Commerce - Nick Samuel.pdfNick Samuel
?
Brighton April 2025 was my first ever attempt at public presentation. Full title was "XML + hreflang: A Practical Guide for Large E-Commerce Sites
The presentation was suitable for anyone involved in deploying or managing hreflang for ecommerce websites (big and small).
This talk challenges the sometimes-held assumption that HTML hreflang is automatically the ¡°better¡± option compared to XML hreflang Sitemaps by exploring the advantages and disadvantages of each method.
Drawing upon 12 years of experience in International SEO, I shared common scenarios where XML hreflang Sitemaps could be more effective compared to HTML, as well as practical tips for prioritising and troubleshooting your hreflang deployment.
By reading this deck you will be aware of the possibilities of XML hreflang Sitemaps, and an understanding of when they might be suitable to use for your own website.
New from BookNet Canada for 2025: BNC SalesData and BNC LibraryDataBookNet Canada
?
Lily Dwyer updates us on what 2024 brought for SalesData and LibraryData. Learn about new features, such as the Age Range data and Page Count data filters, improvements to our internal Admin tool, and what¡¯s in store for 2025.
Link to video and transcript: https://bnctechforum.ca/sessions/new-from-booknet-canada-for-2025-bnc-salesdata-and-bnc-librarydata/
Read more:
- https://www.booknetcanada.ca/salesdata
- https://booknetcanada.atlassian.net/wiki/spaces/UserDocs/pages/53707258/SalesData+Help+Manual
Presented by BookNet Canada on April 8, 2025 with support from the Department of Canadian Heritage.
From SBOMs to xBOMs to Transparency - Pavel Shukhman at OWASP Ottawa on 2025-...Pavel Shukhman
?
Pavel Shukhman's slides from OWASP Ottawa presentation on 2025-03-19. Discusses Software Bills of Materials (SBOMs) and Bills of Materials in general (xBOMs) and infrastructure around them.
YouTube recording -
Codequiry: A Code Similarity Checker Every Developer Should KnowCode Quiry
?
Every developer values originality¡ªand Codequiry makes it easy to protect it. This powerful code similarity checker analyzes structure, logic, and syntax to detect plagiarism with precision. With support for 50+ programming languages and in-depth comparison across web, peer, and internal sources, Codequiry is an essential tool for anyone serious about writing clean, authentic, and uncompromised code.
Misc: The Internet Story - How Data Travels, Transit Works, and the Role of C...3G4G
?
Ever wondered how the Internet really works? In this tutorial, we break it all down¡ªfrom how your home or office connects to the wider web, to the role of Internet Service Providers (ISPs), Transit Networks, Peering, Content Delivery Networks (CDNs), and Multi-access Edge Computing (MEC).
? You¡¯ll learn about:
? How ISPs interconnect and form transit chains
? What peering is and how it helps reduce latency and cost
? How content like Netflix and Facebook reaches your screen
? Real-world case studies like Swisscom vs Netflix & Init7
? The difference between CDN and MEC¡ªand when each is used
We also explore technical infrastructure using simple diagrams to explain how web servers, app servers, and storage systems come together to deliver your favourite content in real time.
? Whether you¡¯re a student, tech enthusiast, or just curious about how the Internet works behind the scenes¡ªthis video is for you.
? Got questions or insights? Drop them in the comments¡ªwe¡¯d love to hear from you!
All our #3G4G5G slides, videos, blogs and tutorials are available at:
Tutorials: https://www.3g4g.co.uk/Training/
Videos: https://www.youtube.com/3G4G5G
ºÝºÝߣs: /3G4GLtd
Our channels:
3G4G Website ¨C https://www.3g4g.co.uk/
The 3G4G Blog ¨C https://blog.3g4g.co.uk/
Telecoms Infrastructure Blog ¨C https://www.telecomsinfrastructure.com/
Operator Watch Blog ¨C https://www.operatorwatch.com/
Connectivity Technology Blog ¨C https://www.connectivity.technology/
Free 5G Training ¨C https://www.free5gtraining.com/
Free 6G Training ¨C https://www.free6gtraining.com/
Private Networks Technology Blog - https://blog.privatenetworks.technology/
How to Achieve High-Accuracy Results When Using LLMsAggregage
?
Ben Epstein, Stealth Founder & CTO, is here to share how he and his team engineered a system that employs reproducible test variations and enables non-LLM evaluation metrics for at-scale production guardrails. This walk-through will provide practical, battle-tested techniques you can immediately apply to your own LLM-powered SaaS solutions!
Scot-Secure is Scotland¡¯s largest annual cyber security conference. The event brings together senior InfoSec personnel, IT leaders, academics, security researchers and law enforcement, providing a unique forum for knowledge exchange, discussion and high-level networking.
The programme is focussed on improving awareness and best practice through shared learning: highlighting emerging threats, new research and changing adversarial tactics, and examining practical ways to improve resilience, detection and response.
This slide is from a Build with AI beginner workshop that was hosted by Google Developer Groups Harare. It takes you through a step by step approach to creating a multiple speaker podcast using Google Cloud and the Gemini API. . It also details how the Gemma models can be used to build different applications and solutions.
3. ¥á¥¤ ¥µ¥é
ÃûÇ°¤Ï MEI Sarah ¤Ç¤¹¡£
I¡¯m Sarah Mei.
3
¤Ê¤Þ¤¨?¤Ï?Mei Sarah?¤Ç¤¹¡£¤Ï¤¸¤á¤Þ¤·¤Æ¡¢¤É¤¦¤¾¤¦?¤è¤í¤·¤¯?¤ª¤Í¤¬¤¤¤·¤Þ¤¹¡£
4. ÈÕ±¾Ó郎¤è¤¯»°¤»¤Ê¤¤¤Ç¤¹¤«¤é¡¢
¤¹¤ß¤Þ¤»¤ó¡£
I don¡¯t speak Japanese very well, so
thanks in advance for your patience.
4
¤Ë¤Û¤ó¤´?¤¬?¤è¤¯?¤Ï¤Ê¤»¤Ê¤¤?¤Ç¤¹?¤«¤é¡¢¤¹¤ß¤Þ¤»¤ó¡£
13. What I like about Ruby
10
I want to set the stage by talking about what I enjoy about Ruby. First and foremost, it¡¯s the
language itself. I love the expressiveness and accessibility.
But as a working developer, what I appreciate the most is the ability to test-drive everything.
Between rspec, test::unit, cucumber, capybara, webrat, shoulda, steak....I can pick the most
appropriate test tools for each project.
14. What I like about Ruby
? The language itself.
10
I want to set the stage by talking about what I enjoy about Ruby. First and foremost, it¡¯s the
language itself. I love the expressiveness and accessibility.
But as a working developer, what I appreciate the most is the ability to test-drive everything.
Between rspec, test::unit, cucumber, capybara, webrat, shoulda, steak....I can pick the most
appropriate test tools for each project.
15. What I like about Ruby
? The language itself.
? I can test-drive everything.
10
I want to set the stage by talking about what I enjoy about Ruby. First and foremost, it¡¯s the
language itself. I love the expressiveness and accessibility.
But as a working developer, what I appreciate the most is the ability to test-drive everything.
Between rspec, test::unit, cucumber, capybara, webrat, shoulda, steak....I can pick the most
appropriate test tools for each project.
16. What I like about Ruby
? The language itself. JavaScript
? I can test-drive everything. JavaScript
11
So let¡¯s see how these options stack up in JavaScript. The language itself...?
17. What I like about Ruby
? The language itself. X
JavaScript
? I can test-drive everything. JavaScript
12
Well, I¡¯m never going to be able to change that. I don¡¯t dislike JavaScript, but Ruby ?ts my
personality better. But what about test-driving?
18. What I like about Ruby
? The language itself. X
JavaScript
O
? I can test-drive everything. JavaScript
13
We should be able to test-drive JavaScript. But until earlier this year, I didn¡¯t. And some of the
best Rails developers I know, who test-drive all their Ruby code, still don¡¯t test-drive their
JavaScript. So the question is...
19. http://www.?ickr.com/photos/petereed/496392956
14
Why not? Why do we make JavaScript development so painful?
I think part of it is a philosophical mismatch in the way Rails treats JavaScript.
20. 15
Web applications are fundamentally written in multiple languages. Here¡¯s a very generic
representation of a Ruby web application. On the front end, there¡¯s HTML, CSS, and
Javascript, and on the back end there is one (or more!) server languages, plus SQL. And of
course, normal applications have other front-end languages too, like ActionScript or
Objective-J, and other back-end languages interacting with Ruby, and usually additional data
stores as well. I can¡¯t remember the last time I worked on an application that had ONLY a
relational database for storage.
But traditionally, in this setup, programming languages sit here in the middle. But
frameworks try to extend on either side. That¡¯s what Rails does.
21. ActiveRecord
Rails
16
For example, Rails extends this direction, and abstracts away SQL with ActiveRecord. It¡¯s
pretty successful with that. Even on really complex applications, I can get away with the
generated SQL most of the time.
22. erb
sass
rjs
ActiveRecord
Rails/gems Rails
17
But it also extends the way with erb and rjs to generate HTML and JavaScript. And with other
gems, you can generate CSS too. And although this was a good idea with SQL and
ActiveRecord, and it works decently well with HTML and CSS, RJS is kind of a disaster. I¡¯ll show
you an example in moment.
But ?rst I want to point out that this is not a failing of Rails, or of the people who wrote it.
This is the nature of Javascript. It might be the one language whose use is evolving even
faster than Ruby. SQL has an ISO standard and a committee, and if they make any signi?cant
changes, we¡¯ll have ?ve years¡¯ notice. Moreover, the database products that implement SQL
have committees, so as SQL end-users, we¡¯re exceedingly well-insulated from any language
churn.
23. JavaScript Developers
http://www.?ickr.com/photos/gem66/387400306
18
But Javascript...is the wild west. It¡¯s the frontier. While the language itself is relatively stable,
its libraries and usage patterns are changing faster than that of Ruby, or of Rails, or of any
other framework.
What does that mean for us as web application developers, as multi-lingual programmers?
24. erb
sass
rjs
ActiveRecord
Rails/gems Rails
19
It means we need to opt-out, to make an exception, and to handle JavaScript differently.
Now, that¡¯s the philosophical reason - now I want to show you the practical reason.
25. 20
In Rails 2, using RJS means you have little bits of Javascript all over your code.
Here¡¯s an example I adapted from the ¡°complex forms¡± railscast. This is a to-do list app, in
which you can create a project with any number of tasks attached. This is the new project
form. It has 3 task text?elds, but you can add another one by clicking ¡°Add a task¡±, and you
can delete one by clicking the ¡°remove¡± link that¡¯s next to it. Both of these are implemented
as simple JavaScript that modi?ed the DOM. For the purposes of this example, we¡¯re going to
focus on the remove link.
So let¡¯s look at how that¡¯s implemented.
26. 21
This is the partial that is rendered for each task. The important part is the link_to_function,
where when we click remove, it calls that little piece of javascript.
27. 22
Here¡¯s what the rendered HTML looks like. You¡¯ve got that little bit of inline javascript, which
on its own, is fairly simple. But it¡¯s not really testable.
Sure, you could write a selenium test that tests that it actually removes the dom element.
However, Selenium is slow. This is one simple interaction - in a typical modern web
application, there¡¯s likely to be dozens of these on one page, if not hundreds. Testing them
all with Selenium would mean you¡¯d have a test suite that never stopped running.
Plus, Selenium is an integration test. If all you¡¯re doing is integration tests, you¡¯re doing it
wrong. You need both unit tests and integration tests to probe all the behavior of your code.
So how can we re-do this in a way that is testable and repeatable?
28. A different approach
23
1. Forget RJS - it gets in your way once you do anything beyond the very simple.
2. Put your JS in classes - of course JS is a prototype-based language instead of an
inheritance-based language, but you can still organize your functions into sets. I¡¯ll show you
what that looks like in a moment.
3. Organize your JS by behavior, and by location.
4. Test-drive all your JS.
29. A different approach
? Forget RJS - write functions
23
1. Forget RJS - it gets in your way once you do anything beyond the very simple.
2. Put your JS in classes - of course JS is a prototype-based language instead of an
inheritance-based language, but you can still organize your functions into sets. I¡¯ll show you
what that looks like in a moment.
3. Organize your JS by behavior, and by location.
4. Test-drive all your JS.
30. A different approach
? Forget RJS - write functions
? Put your functions in classes
23
1. Forget RJS - it gets in your way once you do anything beyond the very simple.
2. Put your JS in classes - of course JS is a prototype-based language instead of an
inheritance-based language, but you can still organize your functions into sets. I¡¯ll show you
what that looks like in a moment.
3. Organize your JS by behavior, and by location.
4. Test-drive all your JS.
31. A different approach
? Forget RJS - write functions
? Put your functions in classes
? Organize classes by behavior and
location
23
1. Forget RJS - it gets in your way once you do anything beyond the very simple.
2. Put your JS in classes - of course JS is a prototype-based language instead of an
inheritance-based language, but you can still organize your functions into sets. I¡¯ll show you
what that looks like in a moment.
3. Organize your JS by behavior, and by location.
4. Test-drive all your JS.
32. A different approach
? Forget RJS - write functions
? Put your functions in classes
? Organize classes by behavior and
location
? Test-drive your classes.
23
1. Forget RJS - it gets in your way once you do anything beyond the very simple.
2. Put your JS in classes - of course JS is a prototype-based language instead of an
inheritance-based language, but you can still organize your functions into sets. I¡¯ll show you
what that looks like in a moment.
3. Organize your JS by behavior, and by location.
4. Test-drive all your JS.
33. A different approach
Unobtrusive JavaScript
? Forget RJS - write functions
? Put your functions in classes
? Organize classes by behavior and
location
? Test-drive your classes.
24
These ?rst two techniques are collectively known as ¡°unobtrusive JavaScript.¡± I am happy to
report that Rails 3 is moving to unobtrusive JavaScript. So Rails 3 will help this problem quite
a bit, but, as you can see, there is more to do beyond ¡°unobtrusiveizing.¡± Let¡¯s look at how
we¡¯d do it.
34. 25
Here¡¯s our original example, with the remove link. How we could re-implement it? Before, the
code looked like this...
35. 26
But we can simplify this now. All we really have here is a link that we want to add a behavior
to.
36. 27
So in the erb template, we¡¯ll just make a link with a class on it. No reference to JavaScript
anywhere here. And here is...
37. 28
...the HTML it generates. So. If we don¡¯t put our Javascript in the HTML...where should we put
it?
38. public/javascripts !
29
In general, I keep my JavaScript ?les in public/javascripts. So we¡¯ll create a ?le in public/
javascripts called project_form.js
39. project_form.js
30
In this ?le, we create a class called RubyKaigi.ProjectForm, and we put in two functions. The
two functions are initialize and remove_task.
40. project_form.js
31
In initialize, we add a click event to all links with class .remove-link. When that link is clicked,
our other function is called.
41. project_form.js
32
That function, remove_task, actually removes the element with class ¡®task¡¯ from the DOM.
42. project_form.js
33
The last thing that¡¯s important here is the document.ready, which calls initialize, which sets
up the click events, once the page is loaded.
43. 34
So I¡¯ve created a JavaScript class that encapsulates the behavior of the project form. Once I
implement the ¡°Add a task¡± link, that behavior will go in the same class.
44. 35
Then it might look something like this, with a new function at the bottom, and some extra
initialization at the top.
51. Jasmine
@jasminebdd
41
That¡¯s where Jasmine comes in. Jasmine is Pivotal¡¯s open-source JavaScript testing
framework.
It lets you do ¡°rspec-style¡± testing.
The philosophy of Jasmine is that JavaScript should be tested with JavaScript. There are gems
out there such as harmony that let you test JavaScript with Ruby, but that just adds another
layer of indirection. JavaScript should be a ?rst-class language in web applications.
Also, it is not dependent on the DOM, so it can be used to test other types of JavaScript, such
as for WebOS.
52. Jasmine
? Open-source JavaScript test
framework from Pivotal
@jasminebdd
41
That¡¯s where Jasmine comes in. Jasmine is Pivotal¡¯s open-source JavaScript testing
framework.
It lets you do ¡°rspec-style¡± testing.
The philosophy of Jasmine is that JavaScript should be tested with JavaScript. There are gems
out there such as harmony that let you test JavaScript with Ruby, but that just adds another
layer of indirection. JavaScript should be a ?rst-class language in web applications.
Also, it is not dependent on the DOM, so it can be used to test other types of JavaScript, such
as for WebOS.
53. Jasmine
? Open-source JavaScript test
framework from Pivotal
? BDD in the style of rspec
@jasminebdd
41
That¡¯s where Jasmine comes in. Jasmine is Pivotal¡¯s open-source JavaScript testing
framework.
It lets you do ¡°rspec-style¡± testing.
The philosophy of Jasmine is that JavaScript should be tested with JavaScript. There are gems
out there such as harmony that let you test JavaScript with Ruby, but that just adds another
layer of indirection. JavaScript should be a ?rst-class language in web applications.
Also, it is not dependent on the DOM, so it can be used to test other types of JavaScript, such
as for WebOS.
54. Jasmine
? Open-source JavaScript test
framework from Pivotal
? BDD in the style of rspec
? Philosophy:
@jasminebdd
41
That¡¯s where Jasmine comes in. Jasmine is Pivotal¡¯s open-source JavaScript testing
framework.
It lets you do ¡°rspec-style¡± testing.
The philosophy of Jasmine is that JavaScript should be tested with JavaScript. There are gems
out there such as harmony that let you test JavaScript with Ruby, but that just adds another
layer of indirection. JavaScript should be a ?rst-class language in web applications.
Also, it is not dependent on the DOM, so it can be used to test other types of JavaScript, such
as for WebOS.
55. Jasmine
? Open-source JavaScript test
framework from Pivotal
? BDD in the style of rspec
? Philosophy:
? Test JavaScript with JavaScript
@jasminebdd
41
That¡¯s where Jasmine comes in. Jasmine is Pivotal¡¯s open-source JavaScript testing
framework.
It lets you do ¡°rspec-style¡± testing.
The philosophy of Jasmine is that JavaScript should be tested with JavaScript. There are gems
out there such as harmony that let you test JavaScript with Ruby, but that just adds another
layer of indirection. JavaScript should be a ?rst-class language in web applications.
Also, it is not dependent on the DOM, so it can be used to test other types of JavaScript, such
as for WebOS.
56. Jasmine
? Open-source JavaScript test
framework from Pivotal
? BDD in the style of rspec
? Philosophy:
? Test JavaScript with JavaScript
? No DOM dependency
@jasminebdd
41
That¡¯s where Jasmine comes in. Jasmine is Pivotal¡¯s open-source JavaScript testing
framework.
It lets you do ¡°rspec-style¡± testing.
The philosophy of Jasmine is that JavaScript should be tested with JavaScript. There are gems
out there such as harmony that let you test JavaScript with Ruby, but that just adds another
layer of indirection. JavaScript should be a ?rst-class language in web applications.
Also, it is not dependent on the DOM, so it can be used to test other types of JavaScript, such
as for WebOS.
58. 43
When you install jasmine, it comes with a rake task that creates a javascripts directory under
spec.
59. 44
I create a new ?le called project_form_spec.js. In this ?le I describe the behavior of the
functions in the RubyKaigi.ProjectForm class. Here¡¯s the spec for removeTask.
60. 45
It starts with a ¡°describe¡±, like rspec, and the describe contains an ¡°it¡± block. Both the
describe and the it take a string describing the behavior you¡¯re expecting.
Jasmine comes with a small set of matchers - here you see expect().toEqual(). You can also
write custom matchers, as in rspec.
61. 46
It comes with a little server built in, that starts on port 8888 by default, where you can run
your specs in a browser.
To re-run them, just reload the page.
Jasmine also comes with a continuous integration task that runs the specs in a browser and
uses selenium to determine whether they pass or fail. There are plug-ins that run your specs
headlessly.