Refactoring code in .net - Các kĩ thuật Refactoring code trong .NET. Đây là một kỹ thuật không thể thiếu nếu các bạn muốn các dòng code của mình ngày một trong sáng, dễ hiểu hơn, clean hơn. Đặc biệt đây là một kỹ thuật không thể thiếu nếu bạn muốn áp dụng Agile/Extreme Programming với Unit Test.
http://tungnt.net/meetup-ve-cac-ky-thuat-refactoring-code-trong-net/
SV Digital India, Pune teaches the entire syllabus of the entire Stack Web Development Certification Course. Includes Full Web Development and Mains Stack Advance Advance. This helps web developers to become a stack developer course in Pune.
.NET is both a business strategy from Microsoft and its collection of programming support for what are known as Web services, the ability to use the Web rather than your own computer for various services.
http://www.thinkittraining.in/dotnet
SV Digital India, Pune teaches the entire syllabus of the entire Stack Web Development Certification Course. Includes Full Web Development and Mains Stack Advance Advance. This helps web developers to become a stack developer course in Pune.
.NET is both a business strategy from Microsoft and its collection of programming support for what are known as Web services, the ability to use the Web rather than your own computer for various services.
http://www.thinkittraining.in/dotnet
What is the purpose of a Test Automation Framework? What challenges does it solve for the development team? Learning how to use a tool like Selenium to create automated tests is not enough to be successful with an automation effort. You also need to know how to build an automation framework that can support creating tests that are not so fragile that they constantly break. This is the real key to success in any automation effort.In this meetup we'll find out how to create a test automation framework using selenium & .NET following the page pattern.
In this session, we will rethink the role of designers, the purpose of a CMS, and how we manage and consume content. We will discuss:
(1) The tension between a design and a CMS. Should your design be optimized for your CMS? Or should you modify your CMS to achieve your design? In other words, are you walking the dog, or is the dog walking you?
(2) "Headless" Drupal: Drupal as a backend with multiple frontends. Drupal's theming layer is difficult to master and expensive to upgrade between major releases. We will discuss how the frontend and backend can be decoupled to provide better experiences for users, developers, and designers alike.
(3) Content as a service. Decoupling isn't just about separating the frontend from the backend or making upgrades easier. In fact, the real power of headless Drupal is separating content from presentation, allowing you to connect any number of websites, channels, or devices to a single source of content through an API!
(4) TWiT.tv case study. We'll close by discussing how Four Kitchens work with This Week in Tech to relaunch TWiT.tv as a decoupled Drupal site with an exposed API allowing their fanbase to directly access content.
Get ready for some really big, innovative ideas!
(This session was delivered at Twin Cities DrupalCamp on June 27, 2015.)
Building Chrome Extensions For SalesforceAbhinav Gupta
Salesforce + Chrome extensions are amazing combination. This slide deck covers:
- Overview of Chrome extensions and architecture.
- Chrome Extension use cases for Salesforce.
- Demo + Code walk thru of Salesforce Debug Log extension.
As the PHP frame work is adding value to its users. We have shown here the types of PHP, similarities between Laravel and Yii, difference between Laravel and Yii, Reason for using them and conclusion.
CRM Science - Dreamforce '14: From Admin to Developer: Learning to Code on F...CRMScienceKirk
Are you an Administrator interested in learning more about how and when to use the programmatic tools in Salesforce? Join us for an introduction to Apex and Visualforce that is geared towards Salesforce Administrators. This session will include best practices, real life experiences with using code in Salesforce, and useful resources. You will leave this session with a foundation to start learning how to code in Salesforce and develop on the Force.com platform.
This presentation looks at what has changed in the Visual Studio world in regards to plugins and how they are created. It then covers the two heavy weights: CodeRush and Resharper and ends with some other plugins worth your attention.
It is a nice simple "MVC PHP Framework", which is powerful, lightweight, very flexible, transparent. One can easily modify as per their need. It is not complex or very restricted like other frameworks.
SynapseIndia gives an overview on comparison in PHP & ASP.NET in Terms of Cos...SynapseIndia
SynapseIndia gives comparison in PHP & ASP.NET in aspects of Costs, Scalability & Performance. ASP.NET and PHP are equally popular web development frameworks that come equipped with a host of features to simplify web development for developers.
This file contains the entire details of the topics covered in this Certification course in .NET (Dotnet). It covers basis of .NET(Dotnet) along with detailed training related to language like C# or VB .NET. ASP.NET is also covered in detail.
Kiến trúc phần mềm cho các site chịu tải lớn – Software architecture for high traffic Website
Case study giới thiệu về kiến trúc của một site traffic lớn đó là stackoverflow.com - trang hỏi đáp về lập trình rất nổi tiếng
Bài trình bày của bạn Ngô Xuân Hòa tại Meetup 4 của Ha Noi .NET Group.
Chi tiết vui lòng xem tại: http://tungnt.net
Refactoring of code for more readable, scalable modules based on The book titled "Refactoring - Improving the Design of Existing Code" written by Martin Fowler
What is the purpose of a Test Automation Framework? What challenges does it solve for the development team? Learning how to use a tool like Selenium to create automated tests is not enough to be successful with an automation effort. You also need to know how to build an automation framework that can support creating tests that are not so fragile that they constantly break. This is the real key to success in any automation effort.In this meetup we'll find out how to create a test automation framework using selenium & .NET following the page pattern.
In this session, we will rethink the role of designers, the purpose of a CMS, and how we manage and consume content. We will discuss:
(1) The tension between a design and a CMS. Should your design be optimized for your CMS? Or should you modify your CMS to achieve your design? In other words, are you walking the dog, or is the dog walking you?
(2) "Headless" Drupal: Drupal as a backend with multiple frontends. Drupal's theming layer is difficult to master and expensive to upgrade between major releases. We will discuss how the frontend and backend can be decoupled to provide better experiences for users, developers, and designers alike.
(3) Content as a service. Decoupling isn't just about separating the frontend from the backend or making upgrades easier. In fact, the real power of headless Drupal is separating content from presentation, allowing you to connect any number of websites, channels, or devices to a single source of content through an API!
(4) TWiT.tv case study. We'll close by discussing how Four Kitchens work with This Week in Tech to relaunch TWiT.tv as a decoupled Drupal site with an exposed API allowing their fanbase to directly access content.
Get ready for some really big, innovative ideas!
(This session was delivered at Twin Cities DrupalCamp on June 27, 2015.)
Building Chrome Extensions For SalesforceAbhinav Gupta
Salesforce + Chrome extensions are amazing combination. This slide deck covers:
- Overview of Chrome extensions and architecture.
- Chrome Extension use cases for Salesforce.
- Demo + Code walk thru of Salesforce Debug Log extension.
As the PHP frame work is adding value to its users. We have shown here the types of PHP, similarities between Laravel and Yii, difference between Laravel and Yii, Reason for using them and conclusion.
CRM Science - Dreamforce '14: From Admin to Developer: Learning to Code on F...CRMScienceKirk
Are you an Administrator interested in learning more about how and when to use the programmatic tools in Salesforce? Join us for an introduction to Apex and Visualforce that is geared towards Salesforce Administrators. This session will include best practices, real life experiences with using code in Salesforce, and useful resources. You will leave this session with a foundation to start learning how to code in Salesforce and develop on the Force.com platform.
This presentation looks at what has changed in the Visual Studio world in regards to plugins and how they are created. It then covers the two heavy weights: CodeRush and Resharper and ends with some other plugins worth your attention.
It is a nice simple "MVC PHP Framework", which is powerful, lightweight, very flexible, transparent. One can easily modify as per their need. It is not complex or very restricted like other frameworks.
SynapseIndia gives an overview on comparison in PHP & ASP.NET in Terms of Cos...SynapseIndia
SynapseIndia gives comparison in PHP & ASP.NET in aspects of Costs, Scalability & Performance. ASP.NET and PHP are equally popular web development frameworks that come equipped with a host of features to simplify web development for developers.
This file contains the entire details of the topics covered in this Certification course in .NET (Dotnet). It covers basis of .NET(Dotnet) along with detailed training related to language like C# or VB .NET. ASP.NET is also covered in detail.
Kiến trúc phần mềm cho các site chịu tải lớn – Software architecture for high traffic Website
Case study giới thiệu về kiến trúc của một site traffic lớn đó là stackoverflow.com - trang hỏi đáp về lập trình rất nổi tiếng
Bài trình bày của bạn Ngô Xuân Hòa tại Meetup 4 của Ha Noi .NET Group.
Chi tiết vui lòng xem tại: http://tungnt.net
Refactoring of code for more readable, scalable modules based on The book titled "Refactoring - Improving the Design of Existing Code" written by Martin Fowler
This will help you to identify the scope to refactor your code. Compiled from Refactoring: Improving the Design of Existing Code by Martin Fowler et al.
Deep diving SignalR with ASP.NET MVC 6.
Speaker: Mr Sherman Chen - Telerik Senior Architect/Advocate with more than 15 years developing desktop, web and mobile apps
Refactoring Strategies: Beyond the BasicsDanilo Sato
Refactoring is a fundamental practice for an agile developer. Each refactoring is a small and isolated activity, but the value comes when you perform a sequence of refactorings to effect larger changes. This workshop will guide participants through hands-on exercises designed to teach three essential skills to become good at refactoring:
1. Identifying what needs refactoring: what makes code smell, confusing, or complex?
2. Identifying the end goal: what are the design options and which one will yield the best results?
3. Tracing a strategy to get the code from 1 to 2.
Docker for .net developer, Container, Hyper-V, Docker Tool for VS, Windows Container, Images, Layer, Docker architecture, What is Docker, Docker Engine
TMS - Schedule of Presentations and ReportsMichel Alves
Ten Minute Speech - Schedule of Presentations and Reports. Subjects: dissertation themes, results using capacity-constrained distribution, image-based reconstruction with color consistency, seamless montage and stats from slideshare!
FLTK Summer Course - Part II - Second Impact - Exercises Michel Alves
FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation. FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes. FLTK is provided under the terms of the GNU Library Public License, Version 2 with exceptions that allow for static linking. More informations in http://www.fltk.org.
Git hooks are scripts that are executed by Git before/after events such as: commit, push, and receive. Git hooks are a built-in feature so there is need to download or install anything.
Git hooks helps you to improve your programming skills. Additionally, they help teams to setup and apply rules for the development cycle.
EuroPython 2013 - FAST, DOCUMENTED AND RELIABLE JSON BASED WEBSERVICES WITH P...Alessandro Molina
Web development is more and more moving to rich JavaScript and mobile applications, building a fast and reliable API server has become a core foundation in such situations.
The new 2.3 version of TurboGears2 is aiming at providing a great toolkit on both Python3 and Python2 for such cases thanks to builtin support for:
New minimal mode for small single file applications.
Gevent based deploy on Mozilla Circus using the new GearBox toolkit
The TGJSonAutodoc sphinx extension for automatically documenting JSON based API
Out of the box support for MongoDB using the Ming ODM
The DebugBar profiler and query analyzer for MongoDB
Those tools can make really easy to quickly prototype a fully working and documented web service, greatly improving a developer life and quality of the services. Even deployment can become a single line command thanks to the GearBox toolkit integration with Mozilla Circus while the jsoncall sphinx extension can really speed up service documentation thanks to its tgjsonautodoc directive.
"Git Hooked!" Using Git hooks to improve your software development processPolished Geek LLC
Famous last words: "Works for me!" Sometimes, even though code works for you, when you push it to the remote repository or install it on the production site, suddenly you're faced with pesky errors that escaped the testing process. The later bugs are found during development, the more expensive a project becomes in terms of time, frustration, and money. One way to improve your code quality is to use automated testing with Git hooks.
In this session, Milton Bryant will walk you through some practical applications of automated testing using Git hooks. He'll demonstrate how to get Git hooks working with existing PHPUnit tests, to allow you to test your code as you commit it.
Presented at the Joomla World Conference 2014 in Cancun, Mexico - November 7, 2014
FLTK Summer Course - Part VII - Seventh ImpactMichel Alves
FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation. FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes. FLTK is provided under the terms of the GNU Library Public License, Version 2 with exceptions that allow for static linking. More informations in http://www.fltk.org.
Second "code school lesson" for Eurosport's developers.
1. Refactoring : when? why? how?
2. Single Responsability
3. Practical case : clean architecture.
Scripting experts from Inductive Automation cover general best practices that will help you add flexibility and customization to HMI, SCADA, IIoT, and other industrial applications. Some specific tips about using scripting in the Ignition platform will be included as well.
In this webinar, learn more about:
• Common scripting pitfalls and how to avoid them
• The best programming languages to use
• Things to consider before using scripting
• How scripting environments work
• Scripting timesavers
• And more
Scripting experts from Inductive Automation cover general best practices that will help you add flexibility and customization to HMI, SCADA, IIoT, and other industrial applications. Some specific tips about using scripting in the Ignition platform will be included as well.
In this webinar, learn more about:
• Common scripting pitfalls and how to avoid them
• The best programming languages to use
• Things to consider before using scripting
• How scripting environments work
• Scripting timesavers
• And more
How to Write the Fastest JSON Parser/Writer in the WorldMilo Yip
How RapidJSON is developed in order to achieve highest performance among 20 C/C++ JSON libraries. Benchmarks, some C++ design, algorithm and low-level optimizations are covered.
Want to learn how to use Selenium from the ground up? This presentation will show you how to start from nothing and build out a well factored, maintainable, resilient, and parallelized set of tests that will run locally, on a Continuous Integration server, and in the cloud. These tests will not only work well, but exercise relevant functionality that matters to the business.
Presentation on writing clean and maintainable good. I have present really simple steps to write high quality code and share many more benefit of writing clean code.
Static analysis, unit testing, compatibility, and coding standards are all important metrics to monitor and perform regularly. However, the time to set up the various tools takes time and patience to set up and run...until now.
We'll see how using pre-configured Docker images make easy to have PHP code quality tools at our fingertips, ready to run or automate on a moments notice. Then will share tips to run the various tools, and/or create automation around running them regularly.
Code we've written once has to be kept readable, maintainable, understandable and extensible for many years. Good code is not self-serving but the foundation for working together.
Refactoring can help you to keep the quality of the relevant parts of our systems high.
The technique is really easy (almost too easy) - improve the naming, structure, and responsibility in small steps that don't change behavior and run your tests after each step.
18 years ago I got hooked on Refactoring when Martin Fowler's first book came out. I've been using it since then on a daily basis on many different projects. Since then a lot has changed, especially with the help of modern IDEs with their automated refactorings and intentions.
Now he asked me to help review the 2nd edition. Our discussions reminded me that each generation of developers should be taught this crucial skill. That's why I want to give an overview of core refactorings and code-smells but also demonstrate the tips and tricks of today's tools that make this task so much easier.
Plus a sneak preview of the upcoming book.
Clan code is extremely essential to build scalable application which can be maintained quite easily and improved further
Slide was prepared with contribution to my colleague
and i thank them for the help!
You will learn why naming is really difficult if done right, why coding and style guidelines are crucial, code structuring, exception handling and why other elements of coding often define the tipping point between success and failure of projects. Following the principles of software craftsmanship will allow you to end up with better maintainability and extensibility of your software and the success of the project in the end. All 3 Clean Code presentations provide great value by themselves, but taken together are designed to offer a holistic approach to successful software creation.
Why writing Clean Code makes us more efficient Over the lifetime of a product, maintaining the product is actually one - if not the most - expensive area(s) of the overall product costs. Writing clean code can significantly lower these costs. However, writing clean code also makes you more efficient during the initial development time and results in more stable code. You will be presented design patterns and best practices which will make you write better and more easily maintainable code, seeing code in a holistic way. You will learn how to apply them by using an existing implementation as the starting point of the presentation. Finally, patterns & practices benefits are explained.
This presentation is based on C# and Visual Studio 2013. However, the demonstrated patterns and practice can be applied to every other programming language too.
Note: Moving forwards this presentation will be updated with the latest version of the slides for the last event I did the presentation instead of creating new separate slide decks here on SlideShare.
Presentation dates and locations:
2015-06-27 SoCal Code Camp - San Diego, CA
2014-11-14 SoCal Code Camp - Los Angeles, CA
2014-10-18 Desert Code Camp - Chandler, AZ
This presentation is a part of the COP2271C college level course taught at the Florida Polytechnic University located in Lakeland Florida. The purpose of this course is to introduce Freshmen students to both the process of software development and to the Python language.
The course is one semester in length and meets for 2 hours twice a week. The Instructor is Dr. Jim Anderson.
A video of Dr. Anderson using these slides is available on YouTube at:
https://youtu.be/KcFCcCsn6mM
How to contribute to an open source project and don’t die during the Code Rev...Victor Morales
Reviewing changes is an essential part of the software development. This process involves the collaboration of several team members who ensure to keep quality standards. In open source projects, the process can be overwhelming for newbies. Along this presentation, I will share experiences and best practices acquired a long of my years contributing to different open source projects, like OpenStack, Kubernetes, CNCF and OPNFV and how to improve that collaboration between contributors and reviewers.
This presentation is part of one of my webinar in clean code webinar series. The contents are slightly edited to share the information in public domain. In this presentation, I tried to provide detailed introduction to code refactoring practice.
This presentation will be useful for software architects/Managers,developers and QAs. Do share your feedback in comments.
Continuous Integration - Continuous Delivery (CI-CD) with Visual Studio 2015 and Team Foundation Server 2015
1) CI/CD Introduction: CI/CD Advantages; CI/CD Practices
2) CI/CD with VS2015&TFS2015
3) Continuos Inspection with SonarQube
Agile .NET Development with BDD and Continuous IntegrationTung Nguyen Thanh
Agile .NET Development with BDD and Continuous Integration
Áp dụng CI là một phần không thể thiếu nếu bạn mong muốn nâng cao năng suất và giảm thiểu lỗi lầm khi phát triển cũng như deploy sản phẩm qua việc sử dụng các practices và tools để tự động hóa các khâu
Bài trình bày của anh Trương Anh Quân tại Meetup của Ha Noi .NET Group.
Chi tiết vui lòng xem tại: http://tungnt.net
Test Driven Development - Phương pháp phát triển phần mềm theo hướng viết test trước.
Áp dụng TDD sẽ đem lại cho bạn thiết kế phần mềm trong sáng hơn và quản lý được chất lượng từng dòng code của mình viết ra.
Bài trình bày của bạn Lê Anh tại Meetup của Ha Noi .NET Group.
Chi tiết vui lòng xem tại: http://tungnt.net
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
2. About me
• Nguyen Thanh Tung
• Software architect at MISA JSC
• Microsoft Certified Professional Developer
• Technologies:
• Windows/Windows Phone
• ASP.NET
• XAML/Silverlight
• Windows Forms
• …
• Blog at: http://tungnt.net
• Facebook Page: https://www.facebook.com/tungnt185
• Meetup group: http://www.meetup.com/Ha-Noi-NET-Meetup/
3. http://tungnt.net
Table of contents
• Refactoring General
– What is refactoring?
– Who will refactor code?
– Why we need refactor code?
– When to refactor code?
– Where to refactor code?
• How to refactor code?
7. http://tungnt.net
Why we need refactor code?
• Code constantly changes and its quality
constantly degrades (unless refactored)
• Requirements often change and code needs
to be changed to follow them
8. http://tungnt.net
When to refactor code?
• Bad smells in the code indicate need of refactoring
• Refactor when you
– Add a new method or class
– Fix an existing bug
– Reviewing someone else’s code
– Implement TDD (Test-Driven-Development)
• Unit tests guarantee that refactoring does not change the
behavior
– If there are no unit tests, write them
9. http://tungnt.net
Where to refactor code?
• Code smells - certain code structures have possibility of refactoring
• Types of code smells:
• Duplicated code
• Long method
• Large class
• Long parameter list
• Switch statements
• Improper naming
• Data members are public
• …