Noutați

Our Privacy Policy has been updated

As part of our commitment to keeping our policies current, we made some updates to our Privacy Policy on June 14, 2022. These updates are intended to clarify our existing data processing activities and to provide information on processing that may derive from new features. Through this update, we continue to provide transparency to our data processing activities, in line with an evolving privacy landscape. Specifically, these policy updates include the following: Clarification about which processing activities apply to each respective GitLab product; Information about when personal data may be collected to verify someone’s identity to enable certain product features; Clarification about what personal data is collected to provide a license and maintain a subscription; Additional information regarding our Service Usage data collection practices, and the inclusion of certain processing activities, such as Event Analytics and Call Recordings; Additional information regarding the purposes for which personal data is collected; Minor updates regarding our legal basis for processing your personal data in the European Union; Updates to our data retention practices for inactive accounts; Clarification about how to delete your personal data at GitLab and how deletion is effectuated for public projects; An additional notice that details our processing and your rights under the California Consumer Privacy Act, including CCPA metrics reporting; Overall, we believe that these updates will empower our users to make informed decisions about their personal data. Please visit the complete text of our Privacy Policy and Cookie Policy to learn more about how GitLab processes personal data and your rights and choices regarding such processing. Sign up for GitLab’s twice-monthly newsletter

Read More

Extend TMS WEB Core with JS Libraries with Andrew: Tabulator Part1: Introduction

So far, we’ve covered some hugely important and popular JavaScript libraries, like jQuery, Bootstrap and FontAwesome.  We’ve also explored other very important but somewhat lesser-known JavaScript libraries, like Luxon and CodeMirror.  And also some considerably smaller and less widely used JavaScript libraries like Interact.js, BigText.js and Showdown.js. Today we’re going to introduce what has quickly become my favorite JavaScript library, Tabulator, which accurately describes itself as “Easy to use, simple to code, fully featured, interactive JavaScript tables.”  Over the next handful of posts we’ll go into far more detail about how to make the most of it in your TMS WEB Core projects. Why Tabulator? Tabulator is neither wildly popular (yet!) nor particularly obscure. And it has perhaps the misfortune of falling into a hugely popular category of JavaScript libraries – defined with terms like grids or tables. If you were to do a Google search for a new JavaScript grid control, you might run through 10 or 20 before Tabulator even comes up on the list. On the other hand, if you search for a JavaScript ‘data grid’ on GitHub, it might come up second or third. But as with any popular JavaScript library category, there are plenty of criteria you can use to filter out which ones might be the best candidates for your projects. When I’m looking for something, these are the kinds of things I typically consider. Price per user or per developer, licensing terms, and so on? Any development activity in the past year?  Does the developer respond to questions? Are there dependencies?  Like jQuery or other JavaScript environments like React or Angular. How good/complete is the documentation?  Is there plenty of example code available? Style vs. substance and needs vs. wants.  Does it just look pretty or is it actually useful? When the dust settles, you might well reach the same conclusion I have, and give Tabulator a try. But even if you find another control that is more suited to your needs, or perhaps you’re already quite happily using another control, there’s still a lot of interesting ground to cover (and some fun examples) when it comes to using any of these kinds of controls in a TMS WEB Core project.  Motivation. The need for a grid-like control in a modern web application is usually self-evident. Displaying data for the user to see in tabular form, along with maybe some options to filter or sort that data in ways that are easy and convenient, is either something you need in your project, or something you don’t. A better question for our purposes might be what the motivation is for a Delphi developer to use a new and potentially unfamiliar JS library.  Particularly when it comes to providing functionality that we might already have decades of experience with, using popular, reliable, capable, and easy-to-use Delphi VCL components of various flavors. Naturally, this need arises when moving to a different environment – the web – where our preferred set of controls may not be as readily available.  At the same time, this shift to the web also brings with it opportunities to change how these kinds of applications are developed, for better and for worse.    TDataSet vs. The Web. When we covered all those JSON examples (see Part 1 and Part 2), one of […]

Read More

Observability vs. monitoring in DevOps

In almost any modern software infrastructure, there is inevitably some form of monitoring or logging. The launch of syslog for Unix systems in the 1980s established both the value of being able to audit and understand what is going on inside a system, as well as the architectural importance of separating that mechanism. However, despite the value and importance of this visibility into system behavior, too often monitoring and logging are treated as an afterthought. There are countless instances of systems emitting logs into a void, never being aggregated or analyzed for critical information. Or infrastructure where legacy monitoring systems were installed a decade ago and never updated to modern standards. Recently, shifts in the operational landscape have given rise to the concept of observability. Rather than expect engineers to form their own assumptions about how their application is performing from static measurements, observability enables them to see a holistic picture of their application behavior, and critically, how a user perceives performance. You’re invited! Join us on June 23rd for the GitLab 15 launch event with DevOps guru Gene Kim and several GitLab leaders. They’ll show you what they see for the future of DevOps and The One DevOps Platform. What is observability? To understand the value in observability, it’s helpful to first establish an understanding of what monitoring is, as well as what it does and does not provide in terms of information and context. At its core, monitoring is presenting the results of measurements of different values and outputs of a given system or software stack. Common metrics for measurement are things like CPU usage, RAM usage, and response time or latency. Classic logging systems are similar; a static piece of information about an event that occurred during system operation. Monitoring provides limited-context measurements that might indicate a larger issue with the system. Aggregation and correlation are possible using traditional monitoring tools, but typically require manual configuration and tuning to provide a holistic view. As the industry has advanced, the concept of what makes for effective monitoring has moved beyond static measurements of things like CPU usage. In its now-famous SRE book, Google emphasizes that you should focus on four key metrics, known as “Golden Signals“: Latency: The time it takes to fulfill a request Traffic: High-level measurement of overall demand Errors: The rate at which requests fail Saturation: Measurement of resource usage as a fraction of the whole; typically focuses on constrained resources While these metrics help home in on a better picture of overall system performance, they still require a non-trivial engineering investment to design, build, integrate, and configure a complete monitoring system. There is considerable effort involved in enumerating failure modes, and manually defining and associating the correct correlations in even simple cases can be time-consuming. In contrast, observability offers a much more intuitive and complete picture as a first-class feature: You don’t need to manually correlate disparate monitoring tooling. An aggregated monitoring dashboard is only as good as the last engineer that built it; conversely, an observability platform adapts itself to present critical information in the right context, automatically. This can even extend further left into the software development lifecycle (SDLC), with observability tooling providing important performance feedback during CI/CD runs, giving developers operational feedback about their code. Ultimately, observability provides more holistic debugging […]

Read More

GitLab and the three ways of DevOps

Most of my daily conversations are focused on features and very deep technical concepts, which provide valuable and actionable insight. However, we miss the fact that tools and technology are leveraged to solve business challenges. When talking about features and technology, it’s very easy to see the possible financial gain when replacing different tools with a unified platform. But it’s missing all the improvement opportunities that will provide value at all the levels of a company from developers to executives. The reality is that we’re working in very complex systems, making it hard to see the forest from the trees. As an engineer, you’re focused on solving the next immediate problem that arises without taking a step back to reevaluate the system itself. In some cases, the problem itself is created by the design of our SDLC. As an executive, it’s difficult to balance the effort required to address the technical challenges with the pressure that comes from the business in this ever-increasing rhythm of change. My goal with this article is to provide a high-level map that contains the most important DevOps principles and a shortcut. I know this is a bold statement as there is a lot of literature on this topic but my approach will be different. First, I’m going to use the Three Ways as coined in The DevOps Handbook because those are the three foundational principles of DevOps as they were refined from Lean, the Toyota Production System, Theory of Constraints, Six Sigma, and System Thinking principles. Secondly, I’ll reference GitLab as the tool of choice because I think a good tool lets you focus on the work at hand, and GitLab does just that. You’re invited! Join us on June 23rd for the GitLab 15 launch event with DevOps guru Gene Kim and several GitLab leaders. They’ll show you what they see for the future of DevOps and The One DevOps Platform. Here is a short description of what the Three Ways are, what they’re about, and why you should care. First Way: Maximize Flow The First Way is all about making work/value flow better through the whole value stream (left to right), and to do that, we need to have a systems thinking approach and always look at the end-to-end result. In the case of IT, this means we optimize for speed from the moment we had the idea, to generating value with software running in production. We need to have a good understanding of the system to find potential bottlenecks and areas of improvement. Our improvements should always lead to better overall performance, be aware of the cases in which local enhancements lead to global degradation and avoid that. In this process, it is crucial to stop defects from passing downstream from one workflow stage to another. Why? Because defects generate waste (of time and resources). Second Way: Feedback loops The Second Way deals with feedback loops, amplifying and shortening feedback loops so that we get valuable insight into the work we’re doing. The feedback can be related to the code that’s written or the improvement initiatives. Feedback loops maximize flow from right to left of the value stream. Quick, strong feedback loops help build quality into the product and ensure that we’re not passing defects downstream. The quicker we do this […]

Read More

5 Recommended Tools To Build A Multi Platform App

Technology up-gradation has boosted developers’ requirements to compete in the market. For advanced features and high-performance, multi platform app tools are becoming a necessity as it has become common now for users to have a variety of devices on which they consume content and perform daily functions. By 2021, the demand for a multi platform app had surpassed $7.9 Billion and there is no sign of that slowing any time soon. Not only this, cross platform apps are vital for rich features and high-performing applications which encompass hardware like GPS and gyroscope sensors, the ability to track or trace user, as well as remain connected while traveling.  So, if you are wondering which tools to use for making cross-platform apps, continue reading. This article will see what cross-platform development is and the best tools to build a multi platform app. What is a multi platform app? A multi platform app development framework is ideal for saving time and accurate execution. As the name suggests, cross-programming develops apps that can run on multiple platforms such as desktop and mobile, instead of building different apps for single, ‘vertical’ platforms.  For example, by choosing the right multi platform technology an Android app developer would no longer have to worry about building a separate app for iPhones or iPads. Instead, the developer can create a multi platform app which enables the app’s code to run on both Android and iOS without almost no changes. What are the 5 Best tools to build multi platform apps? The list of multi platform apps can be long, but we will only include the five best tools in the business.  1. RAD Studio  Today, app development extends beyond the device. It creates the need to build connected apps that give real-time communication across all devices. RAD Studio’s Multi-Device Application Platform does this best. RAD Studio’s multi-device app platform delivers truly connected applications that support real-time communication. It also gives access to enterprise data and cloud services. All these technologies are included in the RAD Studio XE5 enterprise and professional versions.  One of the main advantages of RAD Studio’s multi-device app platform is the rapid connectivity of apps to enterprise databases. Additionally, RAD Studio gives access to cloud-based RESTful web services and BaaS providers.  RAD Studio comes with FireMonkey FMX framework and FireDAC data access. The FireMoneky FMX framework is an app development and runtime platform. With this, you can develop apps faster using visual components. Also, you don’t have to maintain separate development projects to deliver your app natively for multiple device form factors on Windows, Mac OS X, iOS, and Andriod. RAD Studio’s FireDAC gives high-speed database connectivity for MS SQL Server, InterBase, DB2, Oracle, Sybase, MySQL, Firebird, SQLite, and PostgreSQL.  With RAD, you can mobilize your enterprise faster and wiser. 2. React Native In the list of best cross-platform development tools, React Native holds the second spot. It is a JavaScript-based framework. Web developers can build mobile apps with React Native easily and quickly.  It has many development resources, including APIs and UI Libraries. These resources help enhance app-building projects. It also provides support with an extensive community to React Native developers.  Some of its main features include enhanced performance, native-like UI, hot reload, easy-to-use styling schema, and popular JavaScript-based development. All these features make React […]

Read More

What Is Web UI Testing?

We can all agree that the internet has become an indispensable aspect of our lives in today’s fast-paced, competitive society. These days, most of us make judgments based on information on the internet. Thus, having a website is no longer an option but a requirement for all types of enterprises. Furthermore, it is now the initial step toward becoming and becoming market relevant. As a result, users expect an organization to create an informative, accessible, and user-friendly website. Moreover, the website should be thoroughly examined to retain all of these traits, called web UI testing. So an organization must know ‘what is web UI testing?’. Naturally, in this article, we will look at web UI testing and what it aims to accomplish. Moreover, we will learn about the best web UI testing framework in the market. So let’s begin. What Is UI Testing? Web User Interface (UI) Testing is a mechanism for testing the aspects of any software a user will interact with. This means putting the visual elements to the test to ensure that they meet the functionality and performance criteria. In addition, web UI tests guarantee that the functions are bug-free. Web elements are produced using CSS, JavaScript, and a variety of other programming languages. To validate their efficacy, UI testing conducts tests and assertions on these aspects. It focuses on the software’s aesthetic and structural elements rather than the software’s core logic. UI Testing covers all visual indicators and graphic-based icons, such as toolbars, fonts, menus, colors, etc. Moreover, It aims to test the websites’ visual design, functionality, performance, usability, and compliance with other devices. What Is The Best Framework For UI Testing? Sencha WebTestIt is a lightweight editor and toolkit for building and running user interface (UI) tests for websites and web apps. Sencha WebTestIt tests are programs that control your browser and act as a user on your website or app. You can save a lot of time by using automated testing instead of manually repeating your test cases over and over again. Sencha WebTestIt assists you with setting up your environment for running the tests, handles Page Objects for you, and provides a robust editor for scripting the actual test cases. Moreover, WebTestIt’s test cases can also serve as documentation for how an app’s functionality was verified, among other things. This allows others in your business to use them to test the program in the same way you did when you first defined it. Additionally, WebTestIt allows users to generate and build tests using popular web testing frameworks such as Selenium and Protractor. WebTestIt is built to help the internet test automation ecosystem as a whole. It reduces the time and effort necessary for test management while increasing the test automation efficiency of your project. In addition, users may also utilize UI Components to test the user interface of your web apps, which cuts down on the time it takes to build strong online applications. WebTestIt also offers free efficient automation, easy setup, universal testing, adaptability, and TypeScript or Python support. In addition,  WebTestIt also gives consumers the option of running tests in various ways. Moreover, users can also run the entire test suite, chosen tests only, or failed tests only, giving them complete control over the tool. Finally, WebTestIt allows developers to integrate automated […]

Read More

Easy Native Windows Development Using Traditional Bindings

Following the video where Jim McKeeth demonstrated how to create a simple Database Application using FireDAC and Interbase in C++ Builder is a follow-up demo. This time, he will show us how to create a VCL application using the traditional bindings and data-aware components. Visual Component Library or simply VCL has always been part of native windows development specifically for developing user interfaces for Microsoft applications. Unlike FireMonkey which is designed for building multi-device cross-platform apps, VCL only supports Windows-based development. However, the framework still comes with a huge library of visual components and a robust collection of 3rd party components. Native Windows development with data-aware components Similar to FireMonkey, VCL also supports LiveBindings but it also comes with traditional bindings which will be used as an example for this short demo. It generally follows the same procedure as the previous demo. To get started, open the Windows VCL Application – C++ Builder in RAD Studio. Once launched, drag all the necessary components in the form. For this example, InterBase sample components are being used. Similar to the previous demo, users can freely edit the Query Editor or better yet add Field Editor for convenience. This time, McKeeth will be using a TDBGrid, a Data-Aware component. Delphi’s data-aware components are components that normally reside on a Standard palette tab but have been modified to display and manipulate the content of data in a dataset (table or query). These components know how to talk to a data source (a connection between a dataset and data-aware control). You also have the option to add the Navigation Bar. To learn more about how to easily create VCL Application using Data Aware components in Delphi, feel free to watch the demo below.

Read More

8 Go-To Resources About App Building Software

Everyone can benefit from app-building software. Business users may now easily address difficulties in the workplace thanks to new no-code and low-code application development alternatives. Anyone now can create Professional-quality apps that boost corporate agility and productivity. Business users now have access to advanced capabilities like prebuilt AI components, allowing them to create professional-level apps which were traditionally the domain of IT professionals. App building software also allows for speedy setup and deployment. While some app building software has a great number of resources to learn them, others don’t. This article expects to give you a list of very useful resources to learn about different app-building software and how to use them. If you are a beginner in the industry, I hope this article will help you immensely.  How can you get familiar with RAD Studio app building software? In order to build Win32 programs, RAD Studio comes with an integrated development environment (IDE). The RAD Studio IDE is a package of tools that helps you expedite and simplify the development process. The IDE’s tools vary depending on the version of RAD Studio you’re using. However, getting familiar with RAD studio has become far easier in the coming years due to their proper resource maintenance, such as documentation in both Embarcadero DocWiki and Embarcadero sites. Where can I find information on Mac OS development? Even though RAD Studio supports cross-platform application development, building different operating systems requires different properties and different ways in order to get the application built. Therefore, in order to learn specifically about MAC development and building, Embarcadero DocWiki has a separate section for Mac OS. It has all the pre-requisites bundled along with the process in order to get it done fast and efficiently; You will also find a lot of examples to follow through as well. What is the place to check on the Windows app building software? Embarcadero DocWiki is the latest resource and the first line of protection for just about any development and app building difficulty on Windows. Its advanced search engine allows you to find information on any subject rapidly. One of the most appealing features of DocWiki is that Embarcadero updates it regularly to the most recent versions of Delphi and RAD Studio. This allows you to view the most up-to-date information.  However, you may instantly view prior versions in the View History tab. Aside from documentation, it has sections like What’s New, Courses, Code Samples, and a slew of other items essential for Windows programming and app building. Are you familiar with Embarcadero Academy? Embarcadero Academy is a one-of-a-kind source for Delphi certifications and training. While Delphi and C++ Builder are the primary focus, many more languages and modern software development subjects are available. Furthermore, while there are some paid courses, countless resources are free. With this, any beginner can move forward in learning about app-building software from scratch. Why is it vital to subscribe to the Embarcadero YouTube Channel to learn about app building software? For dedicated developers, Embarcadero’s YouTube channel is an excellent resource since videos are easier to grab onto, unlike blogs. It is packed with debates, webinars, discussions, ideas, how-tos, and product launch announcements in numerous areas, such as app building. For example, here is a great video on designing apps for Windows.  Numerous playlists are available for quickly seeing all […]

Read More

How the GitLab iteration value drives innovation through the engineering organization

GitLab is focused on helping developers iterate faster and innovate more collaboratively – and that focus on enabling iteration extends to our own developer culture. As an organization, our CREDIT values are hardwired into our operations and culture. This empowers our development teams to work together – using our own product – to offer QA, feedback, and strategies that make everyone’s work stronger and help our organization iterate faster. We asked several engineers and engineering leaders at GitLab to tell us, in their own words, how our values come to life in our engineering organization and how that makes GitLab a unique place to be a developer. What attracts engineers to GitLab To start, we wanted to understand what attracted some of our current engineers and engineering leaders to join GitLab. You’re invited! Join us on June 23rd for the GitLab 15 launch event with DevOps guru Gene Kim and several GitLab leaders. They’ll show you what they see for the future of DevOps and The One DevOps Platform. “I was attracted to GitLab because I knew that I had the ability to make an impact. Being remote has shattered the walls between people and teams, so anybody can approach anybody. If something means something to you, you can really work on it. This culture of transparency and collaboration is really important to me.” – Sri Rangan, Fullstack Engineer, Incubation Engineering Team “People are attracted to the global diversity of the team and working asynchronously. I think we have a special working culture at GitLab. When you join, whether you’re the manager of multiple people or a manager of yourself, you work asynchronously regardless of where your teams are.” – Mek Stritti, VP, Quality “Before coming to GitLab, I was a frontend, backend, Android developer, data scientist, and machine learning engineer, among other things. But the thing about how I work is that I like to switch between those roles. And normally in companies, you can’t grow across all those roles. You need to grow as a specialist, not a generalist. But within the Incubation Engineering team, I get to do that.” – Eduardo Bonet, Fullstack Engineer, Incubation Engineering Team “The feedback that I quite often hear from engineers is just how strong the team is around them, and how collaborative the rest of the organization is. For my team in particular, a big part of their success is to be able to collaborate effectively with both the people that they work with and other teams. A lot of candidates are attracted to GitLab by the transparency value. Transparency is something that we really try to encourage, and it becomes a big mindset.” – Bartek Marnane, VP, Incubation Engineering How we ensure collaboration across the organization Beyond the aspects of GitLab that attracted many of our current engineers, it was clear that the culture they experienced during their time here ensured there was collaboration across various teams within our engineering organization. “We have an organization that supports each other. You propose a feature, you’re building something, and you can collaborate very easily across the globe, across departments with people in infrastructure and security. So when you’re building something it’s not all on you to ensure its stability and reliability and safety – the entire organization takes ownership of that.” – […]

Read More

Faces of Unity – Brent Caverly

Any interesting jobs before working at Unity that led you to where you are today? I’ve had quite the career journey. I used to be a hairstylist and got to meet the likes of Nelly Furtado, Annie Murphy (Schitt’s Creek for the win!), Jamie Oliver (who has a very specific breakfast he likes to eat), and a few others. But, I realized it wasn’t the industry for me and wanted something that gave me more of a work-life balance, because working weekends and holidays is no fun. I ended up working for a couple startups which brought me into the tech space, and then I found Unity and haven’t looked back. What are your favorite things about Unity? The people, for one. Everybody is so nice, welcoming, and willing to help. It doesn’t matter who they are or where they are, everyone has been kind and helpful when I needed it. For my favorite Unity value, I would normally say In It Together because I truly believe teamwork makes the dream work, however, I’m actually going to say Go Bold. I love that you can have a big, outside-the-box idea and people really listen. Often, that initiative is implemented. It’s okay if it doesn’t work, but there’s an openness to trying things.

Read More