Go modules are here to stay and it’s about time to start modularizing your code. In this talk at the Atlanta Go Meetup Group, we’ve covered:
What Go modules are and why you need them
What GoCenter is and why we built this free module repository
What the benefits are of using modules
What are the differences between modules and the things we did before that
What you need to do to "switch" to modules.
Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes…Leon Stigter
Go modules are here to stay and it’s about time to start modularizing your code. In this talk at Woman Who Go in Atlanta we looked at:
What Go modules are and why you need them
What the benefits are of using modules
The differences between modules and the things we did before that
What you need to do to "switch" to modules.
Refactoring to Go modules: why and howLeon Stigter
Go modules are here to stay and it’s about time to start modularizing your code. In this lightning session, we’ll:
* fly through what Go modules are and why you need them
what the benefits are of using modules
* the differences between modules and the things we did before that
* We’ll look at what you need to do to "switch" to modules.
Building a Kubernetes Powered Central Go Modules RepositoryLeon Stigter
Today, Kubernetes is the defacto standard if you want to run container workloads in a production environment. As we set out to build our next generation of products, and run them smoothly in the cloud, we needed to move to Kubernetes too! In the process of building tools like KubeXray and GoCenter we learned a whole bunch.
At CloudExpo I got to talk about how to get started with Kubernetes and how we got started at JFrog building our new tools. After the session you will know:
How we got to Kubernetes (and why we chose it)
How to know what you have in your apps and containers (and how we built ours)
How we’re running GoCenter at scale.
Trusting Your Ingredients - What Building Software And Cheesecake Have In CommonLeon Stigter
As a developer, I always thought that security, like documentation, would be done by someone else. While that might have been true in the past, in today’s world that model no longer works. As a developer you’re responsible for the security of your app. Security in this case should be seen in the broadest sense of the word, ranging from licenses to software packages. A chef creating cheesecake has similar challenges. The ingredients of a cheesecake are similar to the software packages a developer uses. The preparation is similar to the DevOps pipeline, and recipe is similar to the licenses for developers. Messing up any of those means you have a messy kitchen, or a data breach!
In this talk during the Docker Atlanta Meetup we looked at:
Why do we care about licenses?
How does Sec get into the early stages of DevSecOps?
What can chefs and devs learn from each other?
Where did my modules GO? Building and deploying Go Apps w/ GoCenter & CodefreshLeon Stigter
Go is the language of choice for a lot of (cloud-native) projects because it creates very streamlined binaries. We used to “vendor” in all dependencies, but with Go Modules we now have real dependency management. We’ll show you a few pipelines from code to production and see if Modules are that much better to make builds lightning quick and hassle-free.
The “rise” of the containers created very interesting opportunities for running and deploying micro-services and distributed software in general, like any good thing, it comes with a price. Building a Cloud-Native CI/CD infrastructure utilizing the advantages of containers is quite challenging. In this session, we will introduce the challenges of CI/CD in the cloud native world including building our CI/CD infrastructure as code and working with dynamic workers. We will explore popular projects aiming to help us with these challenges: Bloody Jenkins, Jenkins X and more.
Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes…Leon Stigter
Go modules are here to stay and it’s about time to start modularizing your code. In this talk at Woman Who Go in Atlanta we looked at:
What Go modules are and why you need them
What the benefits are of using modules
The differences between modules and the things we did before that
What you need to do to "switch" to modules.
Refactoring to Go modules: why and howLeon Stigter
Go modules are here to stay and it’s about time to start modularizing your code. In this lightning session, we’ll:
* fly through what Go modules are and why you need them
what the benefits are of using modules
* the differences between modules and the things we did before that
* We’ll look at what you need to do to "switch" to modules.
Building a Kubernetes Powered Central Go Modules RepositoryLeon Stigter
Today, Kubernetes is the defacto standard if you want to run container workloads in a production environment. As we set out to build our next generation of products, and run them smoothly in the cloud, we needed to move to Kubernetes too! In the process of building tools like KubeXray and GoCenter we learned a whole bunch.
At CloudExpo I got to talk about how to get started with Kubernetes and how we got started at JFrog building our new tools. After the session you will know:
How we got to Kubernetes (and why we chose it)
How to know what you have in your apps and containers (and how we built ours)
How we’re running GoCenter at scale.
Trusting Your Ingredients - What Building Software And Cheesecake Have In CommonLeon Stigter
As a developer, I always thought that security, like documentation, would be done by someone else. While that might have been true in the past, in today’s world that model no longer works. As a developer you’re responsible for the security of your app. Security in this case should be seen in the broadest sense of the word, ranging from licenses to software packages. A chef creating cheesecake has similar challenges. The ingredients of a cheesecake are similar to the software packages a developer uses. The preparation is similar to the DevOps pipeline, and recipe is similar to the licenses for developers. Messing up any of those means you have a messy kitchen, or a data breach!
In this talk during the Docker Atlanta Meetup we looked at:
Why do we care about licenses?
How does Sec get into the early stages of DevSecOps?
What can chefs and devs learn from each other?
Where did my modules GO? Building and deploying Go Apps w/ GoCenter & CodefreshLeon Stigter
Go is the language of choice for a lot of (cloud-native) projects because it creates very streamlined binaries. We used to “vendor” in all dependencies, but with Go Modules we now have real dependency management. We’ll show you a few pipelines from code to production and see if Modules are that much better to make builds lightning quick and hassle-free.
The “rise” of the containers created very interesting opportunities for running and deploying micro-services and distributed software in general, like any good thing, it comes with a price. Building a Cloud-Native CI/CD infrastructure utilizing the advantages of containers is quite challenging. In this session, we will introduce the challenges of CI/CD in the cloud native world including building our CI/CD infrastructure as code and working with dynamic workers. We will explore popular projects aiming to help us with these challenges: Bloody Jenkins, Jenkins X and more.
Gianluca Esposito - It's time to go Native! (with JavaScript and React Native...Codemotion
I limiti della piattaforma Web in ambito Mobile in termini di performance ed UX sono palesi a tutti. D'altro canto il mondo nativo è un ambiente ostile in termini di produttività e DX (Developer Experience). Cosa succederebbe se si potesse sviluppare con gli strumenti (e linguaggi) a cui tutti siamo abituati col Web e produrre App native? Ecco React Native. La vera novità è che React Native è già sull'App Store da Gennaio con "Facebook Groups" e "Facebook Ads Manager". Da Giugno, anche su Play Store. Il mantra suo è: Learn Once, Write Anywhere.
Agenda:
After covering the basics about how to find and interact with UI elements, we will look into techniques of writing maintainable tests with selendroid.
In the end we will run our tests in parallel using the Selenium Grid.
The workshop repository can be found here:
https://github.com/DominikDary/selendroid-workshop
We discuss things to be taken into account when deciding on a policy for your CI/CD pipelines. This might include Git workflows, testing approaches, and shipping strategies.
jsDay - Javascript as a programming languageMarco Cedaro
Versioning, Test Driven Development and Continuous Integration: how to setup up a stable javascript continuous integration environment and why you need it. Through a real life example, it explains all the benefits of having real control over javascript codebase and analyses developer and webapps needs and the tools that fit those requirements.
An introductory session on modern administration topics. Git, Jenkins, Ansible, Installation Manager. Come and learn how this can improve your everyday job.
Engage 2018 adm04 - The lazy admin winsMatteo Bisi
We spent the last 6 months deep diving into automation (DevOps) tools to make our life easier.
We applied it to Connections (On-Prem) and other technologies. Come and see how Ansible, Jenkins (and many others) can be friends with Administrators (let’s steal developer tools).
Deploy IBM Connections components, install fix-packs, automate tedious tasks and more.
Magento 2 Performance: Every Second CountsJoshua Warren
On the web, every second counts. Studies have shown that a 1 second delay in load time can cost a mid-sized eCommerce company $2.5 million per year in lost revenue. Let’s look at what Magento 2 has done to improve performance and how we can take things a step further to ensure the Magento 2 sites we build and maintain are well designed, well written and very, very fast.
Presented at php[world] 2016.
An interactive way to understand lightning concepts with your favorite Marvel superheroes, walkthrough basics of Lightning, Locker Service. Learn how to move to Lightning in a fun manner with your favorite comic characters
Juliette Reinders Folmer - Promote your open source project with GitHub Pages...Codemotion
Need a website for an open source project of which the code is on GitHub ? GitHub Pages might be a viable option. GitHub Pages allows you to build a site based on simple markdown text files and with a sprinkling of magic stardust you can pull in the changelog of your project from GitHub, show off a list of the contributors to the project and more. Join me to learn what GH Pages are and how to get your project web presence with little effort.
Modernisation of legacy PHP applications using Symfony2 - PHP Northeast Confe...Fabrice Bernhard
PHP and its community has evolved really fast in the last few years to allow for professional architectures and solutions. However, there are thousands of existing PHP applications which have not evolved in the meantime and are now crippled and unmaintainable because of that. These applications represent a real threat to the competitiveness of the business that relies on them.
The best approach in terms of business to solve this problem is progressive rewrite. Symfony2 and its modular architecture make it possible. This talk covers the main technical difficulties of the progressive approach when rewriting legacy PHP applications, and the corresponding solutions, some of which rely on the modularity of Symfony2.
As developers, we all want to be more productive. Serverless helps you do just that, by letting you focus on the business logic while shifting operations somewhere else. As more companies discover this emerging technology, we also discover drawbacks like state management. In this session, we’ll focus on what serverless is, how it helps developers, what potential drawbacks exist, and how we can add state management into serverless.
Test driving event-driven apps on kubernetes with kind, tekton, and knativeLeon Stigter
As developers, we all want to be more productive. Knative, a Kubernetes based platform to deploy and manage modern serverless works, helps to do just that. The idea behind Knative is to abstract away the complexity of building apps on top of Kubernetes as much as possible and Tekton is a powerful and flexible open-source CI/CD tool. How can you bring those two together on your local machine to try a few things out or even develop your apps? During this talk, we looked at setting up a KinD cluster, bootstrapping Knative and Tekton, and deploying an app!
More Related Content
Similar to Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes…
Gianluca Esposito - It's time to go Native! (with JavaScript and React Native...Codemotion
I limiti della piattaforma Web in ambito Mobile in termini di performance ed UX sono palesi a tutti. D'altro canto il mondo nativo è un ambiente ostile in termini di produttività e DX (Developer Experience). Cosa succederebbe se si potesse sviluppare con gli strumenti (e linguaggi) a cui tutti siamo abituati col Web e produrre App native? Ecco React Native. La vera novità è che React Native è già sull'App Store da Gennaio con "Facebook Groups" e "Facebook Ads Manager". Da Giugno, anche su Play Store. Il mantra suo è: Learn Once, Write Anywhere.
Agenda:
After covering the basics about how to find and interact with UI elements, we will look into techniques of writing maintainable tests with selendroid.
In the end we will run our tests in parallel using the Selenium Grid.
The workshop repository can be found here:
https://github.com/DominikDary/selendroid-workshop
We discuss things to be taken into account when deciding on a policy for your CI/CD pipelines. This might include Git workflows, testing approaches, and shipping strategies.
jsDay - Javascript as a programming languageMarco Cedaro
Versioning, Test Driven Development and Continuous Integration: how to setup up a stable javascript continuous integration environment and why you need it. Through a real life example, it explains all the benefits of having real control over javascript codebase and analyses developer and webapps needs and the tools that fit those requirements.
An introductory session on modern administration topics. Git, Jenkins, Ansible, Installation Manager. Come and learn how this can improve your everyday job.
Engage 2018 adm04 - The lazy admin winsMatteo Bisi
We spent the last 6 months deep diving into automation (DevOps) tools to make our life easier.
We applied it to Connections (On-Prem) and other technologies. Come and see how Ansible, Jenkins (and many others) can be friends with Administrators (let’s steal developer tools).
Deploy IBM Connections components, install fix-packs, automate tedious tasks and more.
Magento 2 Performance: Every Second CountsJoshua Warren
On the web, every second counts. Studies have shown that a 1 second delay in load time can cost a mid-sized eCommerce company $2.5 million per year in lost revenue. Let’s look at what Magento 2 has done to improve performance and how we can take things a step further to ensure the Magento 2 sites we build and maintain are well designed, well written and very, very fast.
Presented at php[world] 2016.
An interactive way to understand lightning concepts with your favorite Marvel superheroes, walkthrough basics of Lightning, Locker Service. Learn how to move to Lightning in a fun manner with your favorite comic characters
Juliette Reinders Folmer - Promote your open source project with GitHub Pages...Codemotion
Need a website for an open source project of which the code is on GitHub ? GitHub Pages might be a viable option. GitHub Pages allows you to build a site based on simple markdown text files and with a sprinkling of magic stardust you can pull in the changelog of your project from GitHub, show off a list of the contributors to the project and more. Join me to learn what GH Pages are and how to get your project web presence with little effort.
Modernisation of legacy PHP applications using Symfony2 - PHP Northeast Confe...Fabrice Bernhard
PHP and its community has evolved really fast in the last few years to allow for professional architectures and solutions. However, there are thousands of existing PHP applications which have not evolved in the meantime and are now crippled and unmaintainable because of that. These applications represent a real threat to the competitiveness of the business that relies on them.
The best approach in terms of business to solve this problem is progressive rewrite. Symfony2 and its modular architecture make it possible. This talk covers the main technical difficulties of the progressive approach when rewriting legacy PHP applications, and the corresponding solutions, some of which rely on the modularity of Symfony2.
As developers, we all want to be more productive. Serverless helps you do just that, by letting you focus on the business logic while shifting operations somewhere else. As more companies discover this emerging technology, we also discover drawbacks like state management. In this session, we’ll focus on what serverless is, how it helps developers, what potential drawbacks exist, and how we can add state management into serverless.
Test driving event-driven apps on kubernetes with kind, tekton, and knativeLeon Stigter
As developers, we all want to be more productive. Knative, a Kubernetes based platform to deploy and manage modern serverless works, helps to do just that. The idea behind Knative is to abstract away the complexity of building apps on top of Kubernetes as much as possible and Tekton is a powerful and flexible open-source CI/CD tool. How can you bring those two together on your local machine to try a few things out or even develop your apps? During this talk, we looked at setting up a KinD cluster, bootstrapping Knative and Tekton, and deploying an app!
Building Event-Driven Workflows with Knative and TektonLeon Stigter
As Kubernetes and micro-services have gained widespread adoption in the enterprise developer community, event-driven architectures have become the standard way to build and deploy new applications. Knative and Tekton are two Kubernetes-native technologies that make it easier than ever for developers to get started: Knative as a platform to build event-driven applications and Tekton to continuously deploy them. In this workshop you will get hands-on with Knative and Tekton to:
Set up a Kubernetes cluster using KinD
Deploy Knative, Octant, and Tekton and configure those services to work with your new cluster
Deploy services using both Knative serving and eventing
Build event-driven pipelines to deploy your services using Tekton
With everything going on in DevOps, I think we can safely say that building pipelines is the way to deploy your applications to production. But knowing what you deploy to production and whether it is actually okay needs more data, like security checks, performance checks, and budget checks. We’ve come up with a process for that, which we call Continuous Verification “A process of querying external systems and using information from the response to make decisions to improve the development and deployment process.” In this session, we’ll look at extending an existing CI/CD pipeline with checks for security, performance, and cost to make a decision on whether we want to deploy our app or not.
Every Talk Has To Be Unique @ DevRel Meetup Leon Stigter
Whether you're a product manager or developer advocate, once you start you think that every presentation has to be unique... spoiler alert, it doesn't have to be
Continuous Verification in a Serverless WorldLeon Stigter
At VMware, we define Continuous Verification as:
“A process of querying external systems and using information from the response to make decisions to improve the development and deployment process.”
At #OSSDay, I got a chance to not only talk about what that means for serverless apps and how you can build it into your existing pipelines using tools like GitLab, CloudHealth, Wavefront, and Gotling.
Continuous Verification in a Serverless WorldLeon Stigter
Continuous Verification, by default, means it’s an extension to the existing development and deployment processes that companies already have. That extension focuses on optimizing both the development and deployment experience for those companies by looking at security, performance, and cost. At most companies, some of these steps are done manually or scripted, but hardly ever are they really part of the deployment pipeline. In this session at Serverless Nashville, we’ll look at extending an existing CI/CD pipeline with checks for security, performance, and cost to make a decision on whether we want to deploy our app or not.
Trusting Your Ingredients @DevOpsDays Columbus 2019Leon Stigter
As a developer, I always thought that security, like documentation, would be done by someone else. While that might have been true in the past, in today’s world that model no longer works. As a developer you’re responsible for the security of your app. Security in this case should be seen in the broadest sense of the word, ranging from licenses to software packages. A chef creating cheesecake has similar challenges. The ingredients of a cheesecake are similar to the software packages a developer uses. The preparation is similar to the DevOps pipeline, and recipe is similar to the licenses for developers. Messing up any of those means you have a messy kitchen, or a data breach!
Persistence is futile (or is it?) - How to Manage, Version, and Promote Docke...Leon Stigter
We get that a lot: Docker images are amazing for managing software, but the data and the configuration we want to reuse is on volumes. Now what?
In this talk, we'll demonstrate how can you manage and reuse Docker volumes with data and configuration. In our example, we'll show to deploy a pre-configured Jenkins server using a binary repository as a pipeline for Docker volumes management.
DevОps is usually viewed from a traditional perspective of a collaboration of Dev, Ops, and QA, driven by the change in Culture, People, and Process. But how do you know where you stand and where to move? As in almost any field, data and metrics give you the gauges and instruments. In this talk, we’ll talk about the key measurements for the DevOps transformation process and provide you with 3 metrics you can start measuring tomorrow.
DevOps Theory vs. Practice: A Song of Ice and Tire FireLeon Stigter
In many talks, you hear how everything is DevOps unicorns and rainbows, and you feel like you’re the last person on earth with “suboptimal” processes, tools and environment. But no despair, DevOps talks are like Instagram, hаve nothing to do with real life. In this talk, we’ll reveal the truth.
The Art of Deploying Artifacts to Production With ConfidenceLeon Stigter
Learn about the main challenges facing software development specifically when building and deploying tons of new microservices using Cloud-Native technologies and how JFrog Xray helps you safely deploy your artifacts to production with full confidence.
Project Flogo: Serverless Integration, Powered by Flogo and LambdaLeon Stigter
No matter the metric, serverless is definitely gaining interest. It’s the dream of every developer, supplying the ability to deploy services in the cloud in no time, automatically scale them, enjoy automagic management by a cloud provider—and, most important, keep it all cost effective! How does this dream become a reality?
This session covered what serverless is all about and the benefits of running your apps in the serverless environment. It covers the monoliths-microservices-functions progression and when, where, and why to use serverless architecture and how Project Flogo fits in to the overall picture
Project Flogo: An Event-Driven Stack for the EnterpriseLeon Stigter
In today's world everyone is building apps, most times those apps are event-driven and react to what happens around them. How do you take those apps to, let's say, a Kubernetes cluster, or let them communicate between cloud and on-premises, and how can developers and non-developers work together using the same tools?
Companies must find a way to join both paths and view the transition to digital as a unified journey, with the end goal clearly defined, then utilize APIs to help them get there faster. The question then becomes, how can companies and developers leverage ESBs, APIs, and a Fast Data platform to cultivate innovation?
In my session at 19th Cloud Expo (Nov 2016), I explored this topic further, highlighting specific use cases and the true value that can be gained from the cloud and APIs in this quest
Building serverless apps with Go & SAMLeon Stigter
“Serverless” allows developers to focus on writing their code, and a cloud provider, like AWS, takes care of all the other bits. Building serverless apps means the developer doesn't have to worry about server management, scaling, or high availability, a convenience that usually comes with the added benefit of lower operational cost. We’ll be showing how to use the Project Flogo® lightweight integration engine and open source framework to deploy functions to AWS Lambda using SAM.
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Looking for a reliable mobile app development company in Noida? Look no further than Drona Infotech. We specialize in creating customized apps for your business needs.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
Transform Your Communication with Cloud-Based IVR SolutionsTheSMSPoint
Discover the power of Cloud-Based IVR Solutions to streamline communication processes. Embrace scalability and cost-efficiency while enhancing customer experiences with features like automated call routing and voice recognition. Accessible from anywhere, these solutions integrate seamlessly with existing systems, providing real-time analytics for continuous improvement. Revolutionize your communication strategy today with Cloud-Based IVR Solutions. Learn more at: https://thesmspoint.com/channel/cloud-telephony
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
Do you want Software for your Business? Visit Deuglo
Deuglo has top Software Developers in India. They are experts in software development and help design and create custom Software solutions.
Deuglo follows seven steps methods for delivering their services to their customers. They called it the Software development life cycle process (SDLC).
Requirement — Collecting the Requirements is the first Phase in the SSLC process.
Feasibility Study — after completing the requirement process they move to the design phase.
Design — in this phase, they start designing the software.
Coding — when designing is completed, the developers start coding for the software.
Testing — in this phase when the coding of the software is done the testing team will start testing.
Installation — after completion of testing, the application opens to the live server and launches!
Maintenance — after completing the software development, customers start using the software.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Launch Your Streaming Platforms in MinutesRoshan Dwivedi
The claim of launching a streaming platform in minutes might be a bit of an exaggeration, but there are services that can significantly streamline the process. Here's a breakdown:
Pros of Speedy Streaming Platform Launch Services:
No coding required: These services often use drag-and-drop interfaces or pre-built templates, eliminating the need for programming knowledge.
Faster setup: Compared to building from scratch, these platforms can get you up and running much quicker.
All-in-one solutions: Many services offer features like content management systems (CMS), video players, and monetization tools, reducing the need for multiple integrations.
Things to Consider:
Limited customization: These platforms may offer less flexibility in design and functionality compared to custom-built solutions.
Scalability: As your audience grows, you might need to upgrade to a more robust platform or encounter limitations with the "quick launch" option.
Features: Carefully evaluate which features are included and if they meet your specific needs (e.g., live streaming, subscription options).
Examples of Services for Launching Streaming Platforms:
Muvi [muvi com]
Uscreen [usencreen tv]
Alternatives to Consider:
Existing Streaming platforms: Platforms like YouTube or Twitch might be suitable for basic streaming needs, though monetization options might be limited.
Custom Development: While more time-consuming, custom development offers the most control and flexibility for your platform.
Overall, launching a streaming platform in minutes might not be entirely realistic, but these services can significantly speed up the process compared to building from scratch. Carefully consider your needs and budget when choosing the best option for you.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
Takashi Kobayashi and Hironori Washizaki, "SWEBOK Guide and Future of SE Education," First International Symposium on the Future of Software Engineering (FUSE), June 3-6, 2024, Okinawa, Japan
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
4. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
Who am I?
• Developer Advocate
• Passionate about Serverless,
Containers, and all things
Cloud
• I love dadjokes, cheesecake
and Go
@LeonStigter
Leon Stigter, Developer Advocate
5. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
Dadjokes?
What happens when you hold a Unix terminal to your ear?
You can hear the C
7. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
When did you start with Go?
Let’s turn to the audience for a poll…
1.0
2012
1.2
2013
1.5
2015
1.8
2017
1.11
2018
8. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
A quick history of go
Go 1.0
First major
milestone as a
long term
stable release
2012 2015
Go 1.5
First release to
no longer use C
(except for cgo)
2017
Go 1.8
Introduction of
Go plugins
2018
Go 1.11
This is where
the magic is! (at
least for this
talk J)
10. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
“Tis impossible to be sure of anything
but Death and Taxes”
- Christopher Bullock
11. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
At JFROG, we really like pipelines and promotions
CI
SERVER
Integration System Testing
If quality
requirments are hit
If quality
requirments are hit
If quality
requirments are hit
Staging
- Quality gates -
Production
1 2 3 4
*
12. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
At jfrog, we absolutely love Immutable and repeatable builds
The best way to guarantee issues is force push
Immutable dependencies
Who doesn’t remember left-pad with Node.js?
Lost Dependencies
Even build when GitHub is down!?
Internet Issues
15. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
Discovery
Go
Notifier
Go
Processor
Go
Validator
Go
UI Backend
Go
UI
Node.js
Built out of a few microservices
17. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
In Go, We had a
Problem…
Source: Go at Google https://www.infoq.com/presentations/Go-Google
18. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
One easy solution…?
Dependencies are sources!
Remote imports are in VCS
Dump everything into a single folder
Compile…
Profit!!
19. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
• Which dependencies I use?
• Which dependencies you
used?
• Which dependencies I should
use?
• Which code I’m editing right
now?
• What is going on?!
But… how do I know…
20. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
Vendoring – the worst kind of forking
“Copy all of the files at some version from one version
control repository and paste them into a different version
control repository”
21. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
• History, branch, and tag information
is lost
• Pulling updates is impossible
• It invites modification, divergence,
and bad fork
• It wastes space
• Good luck finding which version of
the code you forked
But what is wrong with vendoring?
22. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
Build your own dependency manager…
“It’s not the role of the tooling provided by
the language to dictate how you manage
your code (...)”
23.
24. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
• Working in project directories
• Local cache for dependencies
• Version declarations
• Conflict resolution
Go dep – Proper dependency management?
25. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
Who is using Go modules?
Let’s turn to the audience for another poll…
Yes No
26. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
Module
A module is a collection of
related Go packages that
are versioned together as a
single unit.
Let’s go over some definitions
27. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
Sources
A module is a tree
(directory) of Go source
files with a go.mod file in
the root directory.
Let’s go over some definitions
28. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
Version Control
Most often, a single version-
control repository
corresponds exactly to a
single module
Let’s go over some definitions
29. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
Set the environment variable
GO111MODULE to ON
Use go outside of your
$GOPATH
Using go modules
1 2
30. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
mkdir mymodule
cd mymodule
go mod init github.com/retgits/mymodule
Creating a module
31. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
• Import dependencies from Gopkg.lock
go mod init <module path>
• Remove unnecessary imports and add indirect imports
go mod tidy
• Delete the vendor folder
rm –rf vendor/
• Delete Gopkg files
rm Gopkg.*
Moving from DEP to modules
35. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
module github.com/retgits/mymodule
go 1.12
require (
github.com/naoina/go-stringutil v0.1.0
github.com/some/dependency v1.2.3
github.com/google/go-github/v25 v25.0.1
)
replace github.com/some/dependency ../../Downloads/dependency
Works with local folders too!
36. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
• You can create the vendor folder
go mod vendor
• You can use the vendor folder during builds
go build –mod=vendor
This does mean you need to have all dependencies
listed in your go.mod file
But I kinda like the vendor folder?
37. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
• If you run `go mod vendor`, the `vendor` directory it creates should
reflect your `replace` directives. (That is: it should put the
replacement content in the `vendor` directory rather than the
original module content.)
• But if as you say, `-mod=vendor` bypasses go.mod that makes
sense.
• So does `-mod=vendor` require you to have vendored all your
dependencies? (edited)
• Yes. If you have a complete `go.mod`, `go mod vendor` will do that
for you (as Bryan said, including taking into account `replace`
statements).
But I kinda like the vendor folder?
39. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
The <module>@v<version> construct should be immutable
That means that
github.com/retgits/checkiday/@v/v1.0.0
Should forever be the same…
Modules are immutable
40. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
But are they really?
”Friends don’t let friends do git push -f”
- Aaron Schlesinger
41. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
Using the goproxy variable
export GOPROXY=https://myawesomeproxy.com
go get github.com/retgits/checkiday
42. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
Keeping modules
Immediate access, not shared, can be wiped…
Local cache ($GOPATH/pkg/mod)
Fast access, requires infra, shared across devs
Organizational cache (private proxy)
Highly available, CDN, no infra, free
Public cache (public proxy)
44. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
Before modules
go get github.com/project-flogo/cli
git clone https://github.com/project-flogo/cli
<build module locally>
With modules
go get github.com/project-flogo/cli
GET github.com/project-flogo/cli/@v/list
GET github.com/project-flogo/cli/@v/v1.0.0.mod
GET github.com/project-flogo/cli/@v/v1.0.0.zip
Go get my module!
45. @JFrog | jfrog.com/shownotes | #GoCenter | @LeonStigter
• If you haven’t, start with Go modules:
GO111MODULE=on
• Start working outside of your $GOPATH
• Use a public proxy server for immutable Go modules (like
GoCenter.io)
• Think about running your own proxy server (like Project
Athens)
Final thoughts