I will introduce the learning contents that I am working on on a daily basis as a technician blog. This time, it is the third unit on the theme of infrastructure.
The third unit is managing the Dandelions’ internal network. To strengthen its security, we have introduced a UTM device called FortiGate. “UTM” is an abbreviation for “Unified Threat Management”. In other words, one device can manage the entire network security.
In this technician blog, we will introduce three functions of FortiGate.
① Email filter
As a measure against spam, FortiGate can check the contents of the emails it receives and add any tag to the subject of emails that are detected as suspected spam.
② Intrusion prevention
This function prevents program vulnerabilities, botnets, and other intrusions. “Other intrusions” are, for example, attempts to access the server’s authentication files.
③ Application Control
You might think that this is a function that allows you to disable certain applications (programs), but it can also restrict the use of websites, not just programs that can be executed individually.
As a technical blog, I would like to introduce the learning content that I am working on on a daily basis.
This time, it is the second unit, which is themed on low-code development.
Theme of this time: “About Outsystems Developer Cloud” We, the second unit, are currently conducting low-code development using OutSystems 11, and in this blog we introduce the development method and other aspects. This time, we will introduce “OutSystems Developer Cloud”, which was released in Japan by OutSystems in April 2023.
What is an Outsystems Developer Cloud?
Outsystems Developer Cloud (hereinafter referred to as ODC) is a cloud-native (created to run on the cloud) low-code application development platform provided by OutSystems.
It is based on the native cloud service of Amazon Web Service (AWS) and supports Kubernetes, Linux containers, microservices, etc.
Technologies used in ODC
As a cloud-native platform, ODC uses technologies to provide benefits such as agility, availability, and fault tolerance, and is used to support the above services. Here are some of those technologies.
Microservices Microservices is a technique for building one large application by combining multiple independent small services through communication via APIs and web services. Since the correlation between individual functions is low, failures or increased load in one function are less likely to affect other functions. In addition, since changes and expansions of functions can be made only to the target service, agility in changes and expansions is high. However, since it is more difficult to maintain consistency as a whole system than creating a single application, attention must be paid to the design of the whole system, data management, and API management.
Containerization Containerization is a technology in virtualization technology that combines the elements required to run in any computing environment (from the execution environment to the application) into one package. It enables rapid development without having to worry about the underlying environment.
Autoscaling Autoscaling is a function that monitors the CPU and RAM usage of each application and automatically increases or decreases the capacity of the application according to the load. Autoscaling allows the build service and other services to be used simultaneously without degrading the performance of the platform.
Advantages of ODC
Usually, building a cloud-native application platform requires huge costs and time. With ODC, OutSystems handles the tedious work involved in building it, so you can introduce cloud-native services with less effort than building it from scratch.
Although there are some differences from OutSystems’ existing low-code development platform, OutSystems 11, there are no major differences in basic functions.
With ODC, you can design, develop, and deploy by taking advantage of the high productivity of OutSystems 11 and the advantages of cloud-native services.
Currently, ODC does not have a free trial that you can immediately install like Outsystems 11, but UI images of the development screen are posted on the Outsystems website.
If you have not tried Outsystems products, try installing a trial of Outsystems 11 first and compare it with the ODC screen.
About the trial installation of Outsystems 11: Engineer blog: Introducing Outsystems and creating sample screens – dandelionS Blog About the ODC UI: UI overview of ODC Portal and ODC Studio – ODC Documentation (outsystems.com)
Summary
This time, we introduced “Outsystems Developer Cloud”. Our company is currently using OutSystems 11, so in the future I would like to delve deeper into the differences between OutSystems 11 and ODC, how to use them for development purposes, and what to do if you want to migrate to ODC!
In the second unit, we will continue to publish blogs for engineers using low-code tools such as OutSystems, so stay tuned.
As a technical blog, I would like to introduce the learning content that I am working on on a daily basis. This is the first unit on the theme of AI and big data. The theme this time is OpenAI’s latest model, ChatGPT-4o. For each section, we will have ChatGPT4o create images and image descriptions.
In the world of artificial intelligence, OpenAI has always been at the forefront of innovative advancements, especially in the field of large-scale language models (LLMs). The newly announced ChatGPT-4o represents a breakthrough in the field of conversational AI, introducing various enhancements that allow users to interact with language in unprecedented ways.
Unlocking the Power of ChatGPT-4o ChatGPT-4o builds on the foundations of its predecessor, ChatGPT, and introduces a set of sophisticated features that take its capabilities to new heights. Let’s take a closer look at the key features that set ChatGPT-4o apart.
Enhanced Speed and Efficiency:
ChatGPT-4o runs twice as fast as its predecessor while cutting computational costs in half. This incredible efficiency translates into a smoother and more responsive user experience, especially when conducting complex tasks or long conversations.
Expanded Message Limits:
Free users of ChatGPT-4o now have a 5x increase in message allowance, allowing them to interact with the model for extended periods of time without restrictions and explore its full potential. This answers the growing demand to freely explore language capabilities.
Multilingual Mastery:
ChatGPT-4o transcends language boundaries, enabling seamless conversations across multiple languages. This multilingual capability allows users to engage in meaningful interactions with audiences around the world, fostering intercultural understanding and cooperation.
Multimodal Integration:
ChatGPT-4o seamlessly integrates text, audio, and visual data for a more comprehensive and immersive conversational experience. This multimodal capability opens new avenues for creative expression, knowledge exploration, and interactive storytelling.
Explore the applications of ChatGPT-4o ChatGPT-4o’s enhanced features empower users across a range of sectors to explore its potential.
Content Creation:
ChatGPT-4o can be a powerful tool for content creators, generating a variety of creative text formats, translating languages accurately, and creating engaging content that resonates with audiences.
Education and Learning:
In the education sector, ChatGPT-4o innovates the learning experience by providing personalized instruction, answering questions in an informative manner, and generating summaries of complex topics. This personalized approach caters to individual learning styles and promotes deeper understanding.
Business Solutions:
Businesses can leverage ChatGPT-4o in a variety of ways to enhance their operations. From developing customer service chatbots that provide 24/7 support to conducting market research analysis and generating compelling marketing copy, ChatGPT-4o streamlines business processes and drives growth.
Conclusion: A Look into the Future of Conversational AI ChatGPT-4o marks an important milestone in the evolution of conversational AI, offering a glimpse into a future where humans and machines can interact with unprecedented levels of understanding and nuance. Its enhanced speed, expanded features, and multilingual capabilities will make ChatGPT-4o a valuable tool for individuals and organizations across sectors. As ChatGPT-4o continues to evolve, we expect to see even more groundbreaking applications emerge, transforming the way we communicate, learn, and create.
script>(g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))}) ({key: "{APIキー}", v: "beta"});</script>
As an engineer blog, I would like to introduce the learning content that I am working on on a daily basis. This is the second unit with the theme of low-code development.
This time’s theme: “Using JavaScript in Outsystems”
In our second unit, we regularly use Outsystems for low-code development. Outsystems provides tools that allow you to develop intuitively by dragging and dropping parts without having to code as much as possible.
However, if you want to implement details such as the UI part as you want, there may be cases where the properties provided by Outsystems are not enough. In such a case, you may be able to implement your ideal by using JavaScript. This time I will introduce one such example.
今回やりたいこと
This time, I would like to change the UI of DataGrid in Outsystems using JavaScript. Specifically, we will introduce the following contents. ・Cancel the DataGrid’s default setting of coloring every other row. ・Color a specific column of DataGrid with your favorite color
How to use DataGrid How to use the OutSystems Data Grid
DataGridのデフォルト色付け設定を解除する
First, we will change the coloring of every other row of the grid, which is set by DataGrid by default.
Normally, if no settings are made, every other row of the grid will be colored automatically, as shown below. We will change this using JavaScript.
First, prepare a ClientAction (DataGridOnInitialize) for displaying the DataGrid in the screen element where the grid is located, and add an Input parameter called GridWidgetId.
Next, in the Event item of the DataGrid property to which you want to apply JavaScript, set the ClientAction you created earlier to Handler. At this time, also set the GridWidgetId added with the Input parameter.
Set the following JavaScript in the ClientAction you created last. (When defining a variable in JavaScript, the Input parameter GridWidgetId is specified.)
//Get the Grid information created on the screen var grid = GridAPI.GridManager.GetGridById($parameters.GridWidgetId).provider; //Abolish coloring for each row grid.alternatingRowStep = 0;
Color only specified columns of DataGrid
Next, we will use JavaScript to color only specific columns of the grid. I would like to color only the Name and Age columns in the grid above in gray to make it easier to visually understand that they are non-editable columns.
This time, we will implement it by first coloring the entire grid gray, and then making only the editable Email column white.
First, write the following CSS in the Style Sheet of the screen.
.wj-cell{ background: lightgray; }
.rowcolor{ background-color: white; }
Next, add the following code to the JavaScript in ClientAction to complete the process.
//Set format for the acquired Grid grid.itemFormatter = function(panel,r,c,cell){ //Color the Email column (3rd column) with white if(c === 2 ){ //Add class definition to cell wijmo.addClass(cell,’rowcolor’); } };
Summary
As you can see, OutSystems provides a variety of properties, but I found that you can implement them the way you want by using JavaScript. It felt like I was able to reach out to a specific area of concern, and I felt that the scope of development was expanding.
Why not consider using JavaScript if you cannot achieve the desired results using Outsystems properties alone?
In the second unit, we will continue to develop blogs for engineers using low-code tools such as OutSystems, so please look forward to it.