The document provides instructions on how to use Git and GitHub for version control and collaboration. It begins with an example scenario that illustrates issues with sharing code between developers without proper version control. It then introduces Git as a version control system that allows tracking changes to code through branches and commits. The document walks through setting up GitHub accounts and repositories, making commits locally and pushing them to a remote repository, and collaborating through pull requests. It also demonstrates common Git commands like cloning, branching, adding/committing, and pushing.
We will learn how to create repository, pushing, cloning and creating branches. Additionally we will talk about various workflows that are used by teams while collaborating in a project.
This document provides an introduction to using version control with Git. It covers why version control is useful, setting up Git locally and on GitHub, creating repositories, committing changes, branching, merging, forking repositories, and making pull requests. The document includes exercises for readers to practice these Git concepts. It aims to explain the key terminology and workflows for getting started with Git.
The document provides an overview of CodeMontage's CodeFlow process for contributing to open source projects on GitHub. It explains that contributors should fork a project repository to their GitHub account to make changes locally, then push those changes back to their fork and submit a pull request to the original project for review. The CodeFlow process encourages social coding by allowing people to collaborate on projects through GitHub repositories and pull requests.
BLUG 2012 Version Control for Notes DevelopersMartin Jinoch
?
This document discusses using version control for Notes developers. It recommends using a version control system like Git or Subversion to track changes made during development. It describes how to set up Git for use with Domino Designer using the EGit plugin. It also discusses using a branching model like git-flow to manage features, releases, and bug fixes. Finally, it provides resources for learning more about version control systems and tools that can be integrated into the development workflow.
The document outlines the steps to fix a bug in OpenStack code:
1. Set up your development environment by signing the CLA, creating a Launchpad account, adding yourself to the contributors wiki, and requesting membership in the openstack-cla group.
2. Get the source code of the Tempest project from GitHub and configure it using git-review.
3. Create a topic branch to remove the duplicate line, commit the change with a descriptive message, and submit it for review.
Once submitted, any OpenStack developer can review the change and two +2 reviews are needed for merging, with one additional +1 approval from a core reviewer to trigger automated testing and merging.
The document outlines the steps to fix a bug in OpenStack code:
1. Set up your development environment by signing the CLA, creating a Launchpad account, adding yourself to the contributors wiki, and requesting membership in the openstack-cla group.
2. Get the source code of the Tempest project from GitHub and configure it using git-review.
3. Create a branch to fix the duplicate lines, commit the change, and submit it for review. The change will be merged once it passes tests and gets two positive reviews and a "+1 Approved" vote from a core reviewer.
This document provides an overview of using Git for version control. It begins with cloning a project from the internet and creating a local Git project. It then covers committing changes, pushing commits to a remote repository on GitHub, and pulling updates. The document also discusses branching, forking projects on GitHub, and sending pull requests to contribute changes back to the original project.
Beginner Workshop for Student Developers - Tratech-presentation.pdfGDSCKNUST
?
Version control allows tracking changes to code over time and collaboration between developers. Git is a version control tool while GitHub is a platform that integrates with Git. This document discusses setting up Git locally and linking a Git repository to a GitHub account for collaboration and backup of code. Key steps include installing Git, configuring user settings, initializing a Git repository for a project, adding and committing files, and pushing the local repository to GitHub to sync changes and make the code accessible to others.
This document provides an overview of basic Git commands and workflows. It discusses what Git is, why it's useful for version control and collaboration, and how to install, set up, initialize and commit code to a Git repository. It also covers branching, merging, tagging, forking repositories, and resolving merge conflicts. The document recommends setting up a remote repository on a hosting service like GitHub and pushing and pulling changes between local and remote repositories. It challenges readers to participate in Hacktoberfest and suggests some GUI tools for Git.
This document provides an agenda and overview for a class on using Git, GitHub, and VSCode. It introduces command line basics, files and directories, terminal commands, text editors, GitHub, Git basics, and a homework assignment to create a GitHub repository and JavaScript program. Key topics covered include the Git workflow, essential Git commands, using GitHub Pages to host websites, and an introduction to JavaScript programming.
This document provides an agenda and overview for a class on using Git, GitHub, and VSCode. It introduces command line basics, files and directories, terminal commands, text editors, GitHub, Git basics, and a homework assignment to create a GitHub repository and JavaScript program. Key topics covered include the Git workflow, essential Git commands, using GitHub Pages, and an introduction to JavaScript programming.
The document provides information about version control systems like Git and tools from Atlassian like Bitbucket, Bamboo, and Jira. It discusses how Git is used to manage source code changes over time. It also explains how to install and configure Git, and commonly used Git commands. The document then describes how Bitbucket can be used as a code repository and linked to Jira for issue tracking. Bamboo is introduced as a tool for continuous integration and deployment that can be linked to Bitbucket and Jira as well. Steps for installing and configuring Bamboo pipelines are also outlined.
This document discusses how to use GitHub to organize projects. It explains that GitHub is a distributed version control system and hosting service that allows users to track changes, collaborate on projects, and manage workflows. The document provides an overview of basic Git commands like add, commit, push, and pull and demonstrates uploading a local folder to a GitHub repository. It recommends GitHub as a way to solve common development pain points like organization and project management.
The Information Technology have led us into an era where the production, sharing and use of information are now part of everyday life and of which we are often unaware actors almost: it is now almost inevitable not leave a digital trail of many of the actions we do every day; for example, by digital content such as photos, videos, blog posts and everything that revolves around the social networks (Facebook and Twitter in particular). Added to this is that with the "internet of things", we see an increase in devices such as watches, bracelets, thermostats and many other items that are able to connect to the network and therefore generate large data streams. This explosion of data justifies the birth, in the world of the term Big Data: it indicates the data produced in large quantities, with remarkable speed and in different formats, which requires processing technologies and resources that go far beyond the conventional systems management and storage of data. It is immediately clear that, 1) models of data storage based on the relational model, and 2) processing systems based on stored procedures and computations on grids are not applicable in these contexts. As regards the point 1, the RDBMS, widely used for a great variety of applications, have some problems when the amount of data grows beyond certain limits. The scalability and cost of implementation are only a part of the disadvantages: very often, in fact, when there is opposite to the management of big data, also the variability, or the lack of a fixed structure, represents a significant problem. This has given a boost to the development of the NoSQL database. The website NoSQL Databases defines NoSQL databases such as "Next Generation Databases mostly addressing some of the points: being non-relational, distributed, open source and horizontally scalable." These databases are: distributed, open source, scalable horizontally, without a predetermined pattern (key-value, column-oriented, document-based and graph-based), easily replicable, devoid of the ACID and can handle large amounts of data. These databases are integrated or integrated with processing tools based on the MapReduce paradigm proposed by Google in 2009. MapReduce with the open source Hadoop framework represent the new model for distributed processing of large amounts of data that goes to supplant techniques based on stored procedures and computational grids (step 2). The relational model taught courses in basic database design, has many limitations compared to the demands posed by new applications based on Big Data and NoSQL databases that use to store data and MapReduce to process large amounts of data.
Course Website http://pbdmng.datatoknowledge.it/
Contact me to download the slides
Git is a free and open source distributed version control system that allows creating local repositories based on remote repositories. GitHub is a web-based hosting service for Git repositories that allows collaboration on open source projects. Visual Studio Code is an advanced code editor that integrates with Git and GitHub, allowing developers to work with source code and repositories locally or on remote servers.
This document provides an overview of Git, a distributed version control system. It discusses Git's history, getting started, the three trees that make up a Git repository (HEAD, index, working directory), centralized vs distributed version control systems, basic workflows, branching and merging, and keeping workflows simple. Key points include that Git was created by Linus Torvalds for Linux kernel development, supports concurrent work and merging changes from multiple developers, and uses a commit graph and branching model to manage project versions.
Git is a source control management system that allows developers to work collaboratively by controlling versions from a central repository. Each team member has a local copy of the repository. Commands are used to upload and download changes from the central repository. Best practices for collaboration include using branches like develop and feature branches, and following a roadmap of branching, testing, merging into develop, and releasing to production.
The document provides instructions for creating a patch file from changes made to code in a repository. It explains that a patch file allows a developer to submit their code changes to another developer or a code repository. The steps are to add and commit all changes with descriptive messages, then use the 'git format-patch' command to generate a .patch file in the local repository directory. This patch file can then be submitted for review and merging into the main code branch. Verifying the patch file was created successfully completes the process of making a patch file to share code changes.
A practical step-by-step guide to Git, taking you through each phase of a project and explaining the use of Git at each step of the development process. Expect lots of how-to, but also some how-not-to, to avoid going down the wrong path.
Git is a distributed version-control system for tracking changes in source code during software development.
GitFlow is a branching model for Git which is very well suited to collaboration and scaling the development team.
Contributing to github is for everyoneMatt Heusser
?
This document provides an overview of how to contribute to GitHub. It begins with an introduction on the meta goal of getting the reader set up on GitHub that day. It then demonstrates how to create a first project by signing up for GitHub, creating a repository, making edits locally, committing changes, and pushing updates to GitHub. It discusses using branches to make separate changes and submitting pull requests to merge changes. Finally, it provides examples of other ways to use GitHub beyond code, such as running websites, writing books, creating lists, filing bugs, and finding projects to contribute to.
Github Desktop is a graphical user interface for GitHub that allows users to more easily perform version control functions like cloning repositories, committing and pushing code changes, resolving merge conflicts, and branching. Key features of Github Desktop include its compatibility with multiple operating systems, fast performance on terminals, and very user-friendly interface that makes collaboration easier compared to command line tools.
tech winter break workshop on git &git hub.pptxashishraulin
?
hands-on workshop to learn the fundamentals of Git and GitHub, including version control, collaboration, and best practices for managing your code. Whether you're a beginner or looking to enhance your skills, this session is perfect for developers of all levels.
Your ticket gives you access to virtual event venues.
Building High-Impact Teams Beyond the Product Triad.pdfRafael Burity
?
The product triad is broken.
Not because of flawed frameworks, but because it rarely works as it should in practice.
When it becomes a battle of roles, it collapses.
It only works with clarity, maturity, and shared responsibility.
Automated Engineering of Domain-Specific Metamorphic Testing EnvironmentsPablo G┏mez Abajo
?
Context. Testing is essential to improve the correctness of software systems. Metamorphic testing (MT) is an approach especially suited when the system under test lacks oracles, or they are expensive to compute. However, building an MT environment for a particular domain (e.g., cloud simulation, model transformation, machine learning) requires substantial effort.
Objective. Our goal is to facilitate the construction of MT environments for specific domains.
Method. We propose a model-driven engineering approach to automate the construction of MT environments. Starting from a meta-model capturing the domain concepts, and a description of the domain execution environment, our approach produces an MT environment featuring comprehensive support for the MT process. This includes the definition of domain-specific metamorphic relations, their evaluation, detailed reporting of the testing results, and the automated search-based generation of follow-up test cases.
Results. Our method is supported by an extensible platform for Eclipse, called Gotten. We demonstrate its effectiveness by creating an MT environment for simulation-based testing of data centres and comparing with existing tools; its suitability to conduct MT processes by replicating previous experiments; and its generality by building another MT environment for video streaming APIs.
Conclusion. Gotten is the first platform targeted at reducing the development effort of domain-specific MT environments. The environments created with Gotten facilitate the specification of metamorphic relations, their evaluation, and the generation of new test cases.
This document provides an overview of basic Git commands and workflows. It discusses what Git is, why it's useful for version control and collaboration, and how to install, set up, initialize and commit code to a Git repository. It also covers branching, merging, tagging, forking repositories, and resolving merge conflicts. The document recommends setting up a remote repository on a hosting service like GitHub and pushing and pulling changes between local and remote repositories. It challenges readers to participate in Hacktoberfest and suggests some GUI tools for Git.
This document provides an agenda and overview for a class on using Git, GitHub, and VSCode. It introduces command line basics, files and directories, terminal commands, text editors, GitHub, Git basics, and a homework assignment to create a GitHub repository and JavaScript program. Key topics covered include the Git workflow, essential Git commands, using GitHub Pages to host websites, and an introduction to JavaScript programming.
This document provides an agenda and overview for a class on using Git, GitHub, and VSCode. It introduces command line basics, files and directories, terminal commands, text editors, GitHub, Git basics, and a homework assignment to create a GitHub repository and JavaScript program. Key topics covered include the Git workflow, essential Git commands, using GitHub Pages, and an introduction to JavaScript programming.
The document provides information about version control systems like Git and tools from Atlassian like Bitbucket, Bamboo, and Jira. It discusses how Git is used to manage source code changes over time. It also explains how to install and configure Git, and commonly used Git commands. The document then describes how Bitbucket can be used as a code repository and linked to Jira for issue tracking. Bamboo is introduced as a tool for continuous integration and deployment that can be linked to Bitbucket and Jira as well. Steps for installing and configuring Bamboo pipelines are also outlined.
This document discusses how to use GitHub to organize projects. It explains that GitHub is a distributed version control system and hosting service that allows users to track changes, collaborate on projects, and manage workflows. The document provides an overview of basic Git commands like add, commit, push, and pull and demonstrates uploading a local folder to a GitHub repository. It recommends GitHub as a way to solve common development pain points like organization and project management.
The Information Technology have led us into an era where the production, sharing and use of information are now part of everyday life and of which we are often unaware actors almost: it is now almost inevitable not leave a digital trail of many of the actions we do every day; for example, by digital content such as photos, videos, blog posts and everything that revolves around the social networks (Facebook and Twitter in particular). Added to this is that with the "internet of things", we see an increase in devices such as watches, bracelets, thermostats and many other items that are able to connect to the network and therefore generate large data streams. This explosion of data justifies the birth, in the world of the term Big Data: it indicates the data produced in large quantities, with remarkable speed and in different formats, which requires processing technologies and resources that go far beyond the conventional systems management and storage of data. It is immediately clear that, 1) models of data storage based on the relational model, and 2) processing systems based on stored procedures and computations on grids are not applicable in these contexts. As regards the point 1, the RDBMS, widely used for a great variety of applications, have some problems when the amount of data grows beyond certain limits. The scalability and cost of implementation are only a part of the disadvantages: very often, in fact, when there is opposite to the management of big data, also the variability, or the lack of a fixed structure, represents a significant problem. This has given a boost to the development of the NoSQL database. The website NoSQL Databases defines NoSQL databases such as "Next Generation Databases mostly addressing some of the points: being non-relational, distributed, open source and horizontally scalable." These databases are: distributed, open source, scalable horizontally, without a predetermined pattern (key-value, column-oriented, document-based and graph-based), easily replicable, devoid of the ACID and can handle large amounts of data. These databases are integrated or integrated with processing tools based on the MapReduce paradigm proposed by Google in 2009. MapReduce with the open source Hadoop framework represent the new model for distributed processing of large amounts of data that goes to supplant techniques based on stored procedures and computational grids (step 2). The relational model taught courses in basic database design, has many limitations compared to the demands posed by new applications based on Big Data and NoSQL databases that use to store data and MapReduce to process large amounts of data.
Course Website http://pbdmng.datatoknowledge.it/
Contact me to download the slides
Git is a free and open source distributed version control system that allows creating local repositories based on remote repositories. GitHub is a web-based hosting service for Git repositories that allows collaboration on open source projects. Visual Studio Code is an advanced code editor that integrates with Git and GitHub, allowing developers to work with source code and repositories locally or on remote servers.
This document provides an overview of Git, a distributed version control system. It discusses Git's history, getting started, the three trees that make up a Git repository (HEAD, index, working directory), centralized vs distributed version control systems, basic workflows, branching and merging, and keeping workflows simple. Key points include that Git was created by Linus Torvalds for Linux kernel development, supports concurrent work and merging changes from multiple developers, and uses a commit graph and branching model to manage project versions.
Git is a source control management system that allows developers to work collaboratively by controlling versions from a central repository. Each team member has a local copy of the repository. Commands are used to upload and download changes from the central repository. Best practices for collaboration include using branches like develop and feature branches, and following a roadmap of branching, testing, merging into develop, and releasing to production.
The document provides instructions for creating a patch file from changes made to code in a repository. It explains that a patch file allows a developer to submit their code changes to another developer or a code repository. The steps are to add and commit all changes with descriptive messages, then use the 'git format-patch' command to generate a .patch file in the local repository directory. This patch file can then be submitted for review and merging into the main code branch. Verifying the patch file was created successfully completes the process of making a patch file to share code changes.
A practical step-by-step guide to Git, taking you through each phase of a project and explaining the use of Git at each step of the development process. Expect lots of how-to, but also some how-not-to, to avoid going down the wrong path.
Git is a distributed version-control system for tracking changes in source code during software development.
GitFlow is a branching model for Git which is very well suited to collaboration and scaling the development team.
Contributing to github is for everyoneMatt Heusser
?
This document provides an overview of how to contribute to GitHub. It begins with an introduction on the meta goal of getting the reader set up on GitHub that day. It then demonstrates how to create a first project by signing up for GitHub, creating a repository, making edits locally, committing changes, and pushing updates to GitHub. It discusses using branches to make separate changes and submitting pull requests to merge changes. Finally, it provides examples of other ways to use GitHub beyond code, such as running websites, writing books, creating lists, filing bugs, and finding projects to contribute to.
Github Desktop is a graphical user interface for GitHub that allows users to more easily perform version control functions like cloning repositories, committing and pushing code changes, resolving merge conflicts, and branching. Key features of Github Desktop include its compatibility with multiple operating systems, fast performance on terminals, and very user-friendly interface that makes collaboration easier compared to command line tools.
tech winter break workshop on git &git hub.pptxashishraulin
?
hands-on workshop to learn the fundamentals of Git and GitHub, including version control, collaboration, and best practices for managing your code. Whether you're a beginner or looking to enhance your skills, this session is perfect for developers of all levels.
Your ticket gives you access to virtual event venues.
Building High-Impact Teams Beyond the Product Triad.pdfRafael Burity
?
The product triad is broken.
Not because of flawed frameworks, but because it rarely works as it should in practice.
When it becomes a battle of roles, it collapses.
It only works with clarity, maturity, and shared responsibility.
Automated Engineering of Domain-Specific Metamorphic Testing EnvironmentsPablo G┏mez Abajo
?
Context. Testing is essential to improve the correctness of software systems. Metamorphic testing (MT) is an approach especially suited when the system under test lacks oracles, or they are expensive to compute. However, building an MT environment for a particular domain (e.g., cloud simulation, model transformation, machine learning) requires substantial effort.
Objective. Our goal is to facilitate the construction of MT environments for specific domains.
Method. We propose a model-driven engineering approach to automate the construction of MT environments. Starting from a meta-model capturing the domain concepts, and a description of the domain execution environment, our approach produces an MT environment featuring comprehensive support for the MT process. This includes the definition of domain-specific metamorphic relations, their evaluation, detailed reporting of the testing results, and the automated search-based generation of follow-up test cases.
Results. Our method is supported by an extensible platform for Eclipse, called Gotten. We demonstrate its effectiveness by creating an MT environment for simulation-based testing of data centres and comparing with existing tools; its suitability to conduct MT processes by replicating previous experiments; and its generality by building another MT environment for video streaming APIs.
Conclusion. Gotten is the first platform targeted at reducing the development effort of domain-specific MT environments. The environments created with Gotten facilitate the specification of metamorphic relations, their evaluation, and the generation of new test cases.
AI in Talent Acquisition: Boosting HiringBeyond Chiefs
?
AI is transforming talent acquisition by streamlining recruitment processes, enhancing decision-making, and delivering personalized candidate experiences. By automating repetitive tasks such as resume screening and interview scheduling, AI significantly reduces hiring costs and improves efficiency, allowing HR teams to focus on strategic initiatives. Additionally, AI-driven analytics help recruiters identify top talent more accurately, leading to better hiring decisions. However, despite these advantages, organizations must address challenges such as AI bias, integration complexities, and resistance to adoption to fully realize its potential. Embracing AI in recruitment can provide a competitive edge, but success depends on aligning technology with business goals and ensuring ethical, unbiased implementation.
Columbia Weather Systems offers professional weather stations in basically three configurations for industry and government agencies worldwide: Fixed-Base or Fixed-Mount Weather Stations, Portable Weather Stations, and Vehicle-Mounted Weather Stations.
Models include all-in-one sensor configurations as well as modular environmental monitoring systems. Real-time displays include hardware console, WeatherMaster? Software, and a Weather MicroServer? with industrial protocols, web and app monitoring options.
Innovative Weather Monitoring: Trusted by industry and government agencies worldwide. Professional, easy-to-use monitoring options. Customized sensor configurations. One-year warranty with personal technical support. Proven reliability, innovation, and brand recognition for over 45 years.
Convert EML files to PST on Mac operating systemRachel Walker
?
Mailvita EML to PST Converter for Mac is a useful program for Mac users, it can easily change several EML files into Outlook PST files with all attachments. This tool works with a lot of email programs, like Windows Live Mail, Thunderbird, and others. With its simple GUI, it's easy for both technical and non-technical people to convert files. Visit the official website to learn more about this program.
visit here: https://www.mailvita.com/eml-to-pst-converter-for-mac/
Getting the Best of TrueDEM C April News & Updatespanagenda
?
Webinar Recording: https://www.panagenda.com/webinars/getting-the-best-of-truedem-april-news-updates/
Boost your Microsoft 365 experience with OfficeExpert TrueDEM! Join the April webinar for a deep dive into recent and upcoming features and functionalities of OfficeExpert TrueDEM. We¨ll showcase what¨s new and use practical application examples and real-life scenarios, to demonstrate how to leverage TrueDEM to optimize your M365 environment, troubleshoot issues, improve user satisfaction and productivity, and ultimately make data-driven business decisions.
These sessions will be led by our team of product management and consultants, who interact with customers daily and possess in-depth product knowledge, providing valuable insights and expert guidance.
What you¨ll take away
- Updates & info about the latest and upcoming features of TrueDEM
- Practical and realistic applications & examples for troubelshooting or improving your Microsoft Teams & M365 environment
- Use cases and examples of how our customers use TrueDEM
Research Data Management (RDM): the management of dat in the research processHeilaPienaar
?
Presented as part of the M.IT degree at the Department of Information Science, University of Pretoria, South Africa. Module: Data management. 2023, 2024.
CIOs Speak Out - A Research Series by Jasper ColinJasper Colin
?
Discover key IT leadership insights from top CIOs on AI, cybersecurity, and cost optimization. Jasper Colin¨s research reveals what¨s shaping the future of enterprise technology. Stay ahead of the curve.
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.
Most people might think of a water faucet or even the tap on a keg of beer. But in the world of networking, "TAP" stands for "Traffic Access Point" or "Test Access Point." It's not a beverage or a sink fixture, but rather a crucial tool for network monitoring and testing. Khushi Communications is a top vendor in India, providing world-class Network TAP solutions. With their expertise, they help businesses monitor, analyze, and secure their networks efficiently.
En esta charla compartiremos la experiencia del equipo de Bitnami en la mejora de la seguridad de nuestros Helm Charts y Contenedores utilizando Kubescape como herramienta principal de validaci┏n. Exploraremos el proceso completo, desde la identificaci┏n de necesidades hasta la implementaci┏n de validaciones automatizadas, incluyendo la creaci┏n de herramientas para la comunidad.
Compartiremos nuestra experiencia en la implementaci┏n de mejoras de seguridad en Charts y Contenedores, bas│ndonos en las mejores pr│cticas del mercado y utilizando Kubescape como herramienta de validaci┏n. Explicaremos c┏mo automatizamos estas validaciones integr│ndolas en nuestro ciclo de vida de desarrollo, mejorando significativamente la seguridad de nuestros productos mientras manten┴amos la eficiencia operativa.
Durante la charla, los asistentes aprender│n c┏mo implementar m│s de 60 validaciones de seguridad cr┴ticas, incluyendo la configuraci┏n segura de contenedores en modo no privilegiado, la aplicaci┏n de buenas pr│cticas en recursos de Kubernetes, y c┏mo garantizar la compatibilidad con plataformas como OpenShift. Adem│s, demostraremos una herramienta de self-assessment que desarrollamos para que cualquier usuario pueda evaluar y mejorar la seguridad de sus propios Charts bas│ndose en esta experiencia.
All-Data, Any-AI Integration: FME & Amazon Bedrock in the Real-WorldSafe Software
?
Join us for an exclusive webinar featuring special guest speakers from Amazon, Amberside Energy, and Avineon-Tensing as we explore the power of Amazon Bedrock and FME in AI-driven geospatial workflows.
Discover how Avineon-Tensing is using AWS Bedrock to support Amberside Energy in automating image classification and streamlining site reporting. By integrating Bedrock¨s generative AI capabilities with FME, image processing and categorization become faster and more efficient, ensuring accurate and organized filing of site imagery. Learn how this approach reduces manual effort, standardizes reporting, and leverages AWS¨s secure AI tooling to optimize their workflows.
If you¨re looking to enhance geospatial workflows with AI, automate image processing, or simply explore the potential of FME and Bedrock, this webinar is for you!
Draginoプロダクトカタログ LoRaWAN NB-IoT LTE cat.M1斌瞳リストCRI Japan, Inc.
?
3DC Intro to Git Workshop
1. How to Git gud
3DC 29th May 2023
Thank you Zayne for the workshop name
Count the total number of cats
in this presentation! Github
logos don¨t count
4. Imagine this scenario´
A B C
Has the project code
v0 v1 v0
Finished Feature 1! Still working on Feature 2´
5. Imagine this scenario´
A B C
Has the project code
v1 v1 v0
Finished Feature 1! Still working on Feature
2´
v0 v1
6. Imagine this scenario´
A B C
Has the project code
v1 v1 v2
Finished Feature 1! Just finished Feature 2!
v1 v1
Merge over
7. Imagine this scenario´
B¨s Code C¨s Code
v1 v2
const x = 80;
const y = 200;
//B¨s new code
const z = y + x;
const x = 80;
const y = 200;
//C¨s new code
const z = y - x;
Merge
Conflict!
8. Imagine this scenario´
Merged Code? v3
const x = 80;
const y = 200;
const z = y + x; // from B
const w = y - x; // from C A B C
v1 v1 v3
9. Imagine this scenario´
Merged Code? v3
const x = 80;
const y = 200;
const z = y + x; // from B
const w = y - x; // from C A B C
v3 v3 v3
Was
working on
Feature 3 on
v1
Was
working on
Feature 4 on
v1
v4 v5
10. ¢ Multiple versions of the code are in circulation
¢ Back and forth sending of repositories to ensure everyone is
on the same page
¢ Merge conflicts
¢ Without proper communication, changes made to the code
are unknown to other developers
The issues:
Scenario was loosely inspired by this
11. ¢ Centralised Repository: Stores the source code and all
updates made to the code. Developers pull from this
centralised repository whenever it is updated so they are
kept on the same page
¢ Version tracking: Code changes are tracked. Developers
can switch between different versions if needed
¢ Branches: Multiple developers can implement different
features on the same code in separate branches, before
combining them back into the main branch to resolve
conflicts.
Introducing: Git
A version control system
13. Visual Git Diagram
Centralised
Repository
B creates Branch 1
from the repo and
develops Feature 1 on
that branch
A
B C
Branch 1
C creates Branch 2
from the repo and
develops Feature 2 on
that branch
Branch 2
Main
Branch
Simplified
14. Visual Git Diagram
Centralised
Repository
When B is done, they
push their branch to
main branch in the
repo, hence updating
it
with B¨s changes
A
B C
Branch 1 Branch 2
Main
Branch
Simplified
15. Visual Git Diagram
Centralised
Repository
A
B C
Branch 2
Main Branch
(with B¨s code)
Simplified
C pulls the updated code
from the main branch into
their own branch. Git will
notify C if there is a
conflict and guide them in
resolving the conflict
16. Visual Git Diagram
Centralised
Repository
A
B C
Branch 2 (with
B and C¨s code)
Main Branch (with
B¨s and C¨s code)
Simplified
When C is done, they
push their branch to
main branch in the
repo, hence updating
it
with C¨s changes
While C is still working, A and B can also create their own
separate branches first to work on other features
(Features 3 and 4 in the previous scenario!)
17. ¢ Kind of like Google Cloud for repositories with
?extra features? for collaboration
¢ Showcase the projects you have worked on (your
developer portfolio essentially)
¢ Platform for many open-source projects
An online platform owned by Microsoft
What¨s Github then?
18. Let¨s start!
What you¨ll need:
¢ A Github account
¢ Github Desktop
¢ Git installed on your OS (optional)
19. 1.Go to github.com
2.Click on Sign up (or
Sign in if you have an
account)
3.Create your account
4.Profit!
Github Account
1.Go to
desktop.github.com/
2.Download the
application for your
OS
3.Sign in to your Github
account in the app
4.Profit!
Github Desktop
1.Go to git-
scm.com/download/
2.Choose your OS and
download
3.Open terminal/Command
Prompt
4.Type in the following
commands
Git
git config --global user.name "[Your name]"
git config --global user.email "[Your email]"
21. Creating a repository
https://github.com/new
Name your repository! (No
spaces)
Set your repository as
Private (I mean, you can set
it to Public if you want)
Check the box
next to add a
README file
22. README? README!
¢A README file is sort of like a
landing page for your
repository on Github
¢Usually contains a
description of your project,
documentation of the code,
and instructions on how to
install and run the code
¢Written in Markdown
23. ¢ Click on the README.md file in your
repository
¢ Click on the pencil icon at the right
hand corner to edit
¢ Type anything that you would like to
showcase on your repository!
¢ There are different ways to style
your text in Markdown (see right!)
Let¨s edit our README page!
# Heading level 1
## Heading level 2
**Bold text**
*Italicised text*
> Here is a blockquote
`Here is some code`
https://www.markdownguide.org/ba
sic-syntax/
24. ¢ A commit signifies a change in a
code
¢ Edit the code ★ make a commit ★
push the commit into the
centralised repo
¢ Usually you commit after
implementing a feature
¢ You can create multiple commits
before pushing all of them to the
repo!
¢ If we commit directly on Github, the
commit is also automatically pushed
Committing (Not to a relationship)
Good commit messages are:
¢Concise
¢Clear and specific
25. Now let¨s explore the rest of Github
Congrats on making your first commit!
https://github.com/rappleit/routourist
(Totally not a shameless plug)
26. ¢ Create a new repository
¢ Name the repository with
your Github username
¢ Update the README.md
file!
¢ You can search online for
widgets such as Github
statistics
Bonus: Editing your profile on
README
29. Common Workflow
main/master repo
Project
Owner /Team
Lead
Developers fork and
clone the main repo
to create a local copy
on their computer
This is usually the workflow
for open-source projects!
30. Common Workflow
main/master repo
branch 1
in forked repo
branch 2
in forked repo
branch 3
in forked repo
branch 4
in forked repo
Project
Owner /Team
Lead
Developers then create
different branches in their
forked repos and start
working on their features
They then stage their
files and commit into
those branches
31. Common Workflow
main/master repo
Project
Owner /Team
Lead
Developers create a pull
request: A request to the
project owner to pull the
code from the branch in their
forked repo
branch 1
in forked repo
branch 2
in forked repo
branch 3
in forked repo
branch 4
in forked repo
32. Common Workflow
main/master repo
branch 1 branch 2 branch 3 branch 4
Project
Owner /Team
Lead
If everything¨s ok, the
project owner will merge
the developers¨ branch into
the main repo
34. ¢ The previous example is a common workflow for open-source
projects (developers are not listed as collaborators)
¢ For projects where the developers are collaborators, they
can work directly on the original repo without forking it
¢ Rather, they create a branch on the original repo itself and
commit their changes to said branch, and the project owner
reviews then merges that branch
Note:
35. ¢ You are a developer working on a project
¢ ´With 30+ other developers, who are also working on the
same project
¢ You are tasked with implementing one feature for the
project (a simple change to the code will suffice)
¢ The project: https://github.com/rappleit/3dc-github-
workshop
¢ We will be using Github Desktop
The scenario:
Time for some action
36. Step 1: Fork the repo!
Forking creates an isolated copy of the original repo for
yourself
37. Step 2: Clone the forked repo
Cloning creates a local copy of the repo onto your computer
38. Step 3: Create a new branch
You¨ll be working on the new feature in this branch
39. Step 4: Start editing the code!
Here¨s a quick guide:
Choose between cat1,
cat2, cat3, cat4 or cat5
40. Step 5: Stage, Commit and Push
Staging marks the files that you plan to commit. Github
Desktop helps with the staging so you don¨t need to do it
manually
41. Step 6: Make a pull request!
A pull request is a request to the project owner to ^pull ̄
the code from your repo into the original repo!
42. Live Demo of The
Merge?
Merging your pull requests into the main
repository!
44. Using git commands
So you can flex on everyone who
uses Github Desktop ?
Fork this project:
45. Step 0: Setting up
Open the terminal/command prompt. Make sure you are in the
folder that you would like to clone the repo to.
cd [folder name]
cd ..
Move into the directory
Move up a directory
46. Step 1: Clone the repo
git clone [repo url]
You don¨t need to do this since you already have the cloned
repo on your computer
47. Step 2: Create a new branch
git branch [branch name]
git checkout [branch name]
Create a new branch
Switch to working in this branch
instead of main
48. Step 3: Start editing!
Choose between cat1,
cat2, cat3, cat4 or cat5
49. Step 4: Stage, Commit, and Push
git add . Stages all changed files
git commit -m ^[message] ̄ Create a commit with a
message
git push origin [branch name] Pushes the commit to the
branch on Github
51. Fetching and pulling
git remote add upstream [original repo url]
git pull upstream
git checkout main
Switch to the main branch
Add original repo as the upstream repo
Fetch the original repo and merge it with your local main branch