Developer Advocate at MariaDB plc
Alejandro Duarte is a Software Engineer, published author, and award winner. He currently works for MariaDB plc as a Developer Relations Engineer. Starting his coding journey at 13 with BASIC on a rudimentary black screen, Alejandro quickly transitioned to C, C++, and Java during his academic years at the National University of Colombia. Relocating first to the UK and then to Finland, Alejandro deepened his involvement in the open-source community. He's a recognized figure in Java circles, credited with articles and videos amassing millions of views, and presentations at international events. You can contact him through his personal blog at programmingbrain.com and on X (Twitter) @alejandro_du.
Stats
Reputation: | 3725 |
Pageviews: | 1.8M |
Articles: | 51 |
Comments: | 41 |
IoT
Getting Started With Vaadin 10
Comments
Apr 12, 2024 · Alejandro Duarte
I could have mentioned it in the article, but MaxScale can be replicated. It automatically syncs its configuration: https://www.youtube.com/watch?v=snLntgYlevE
Mar 13, 2024 · Alejandro Duarte
This is an adaptation from Chapter 4 of my upcoming book "MariaDB for Developers". Check it out: https://mariadbfordevelopers.com/
Jul 17, 2023 · Jailson Evora
Good article. I would add Distributed SQL (for example MariaDB Xpand) to the strategies. It's a bit like sharding, but fully automated and prevents hotspots among other things.
Feb 27, 2023 · Alejandro Duarte
Here's another tip. To disable swap until the next boot:
To disable swap on boot:
Jan 05, 2023 · Alejandro Duarte
Keep in mind that if you use an emulated virtual machine, the performance of the database (like any other software running on the emulated machine) drastically degrades. It will be slow. However, Xpand is fast when running non-emulated environments. The emulated virtual machine is just a way to quickly try Xpand on ARM computers and check that your application can connect to it. Move to SkySQL to get a much more performant Xpand database up and running in the cloud.
Oct 16, 2022 · marcytillman25
Great article! I was wondering, where and how do you see Distributed SQL in the picture?
Jul 25, 2022 · Alejandro Duarte
Agree. And they released 2 new themes: https://vaadin.com/blog/meet-breeze-and-carbon-the-two-new-theme-add-ons-available-in-directory
Jun 02, 2022 · Alejandro Duarte
For those interested, I wrote an article on how to build a Raspberry Pi cluster with 8 nodes, 24 cores, 64 GB of RAM, and 2TB of storage: https://dzone.com/articles/building-a-24-core-raspberry-pi-cluster-from-scrat
May 31, 2022 · Alejandro Duarte
I created a GitHub repository with Ansible playbooks to configure and manage a cluster like this. Check it out: https://github.com/alejandro-du/raspberry-pi-cluster-ansible-playbooks
May 30, 2022 · Alejandro Duarte
To run this automatically when the machine boots, you can use crontab:
And then add:
May 30, 2022 · Alejandro Duarte
One more finding. SSH connections were painfully slow. I fixed this by disabling the WiFi power-saving feature as follows:
sudo apt install iw
sudo iw wlp3s0 set power_save off
May 20, 2022 · Alejandro Duarte
I just discovered that you can install avahi-daemon to make the computer visible by its hostname without having to configure a static IP address if you prefer. This also makes the hostname visible to all other devices in the network without having to add an entry to each /etc/hosts file. Simply run the following in the server:
sudo apt-get install avahi-daemon
May 13, 2022 · Alejandro Duarte
Thanks for your feedback!
Sep 09, 2021 · Alejandro Duarte
Definitively try it out and let us know how it goes!
Sep 09, 2021 · Alejandro Duarte
Hi, no, it's not. It has official integrations for Spring Boot and Jakarta EE but they are optional.
Aug 31, 2021 · Alejandro Duarte
Simple: new Html("your <b>html</b> here");
Aug 31, 2021 · Alejandro Duarte
Try https://vaadin.com/api/platform/14.6.8/com/vaadin/flow/component/Html.html
Aug 26, 2021 · Alejandro Duarte
You will have to implement/use a UI component that is able to how HTML in the chat layout.
Jul 16, 2021 · Alejandro Duarte
Glad to hear! Would you like to contribute the fix to the original repo? Make a PR and I'll merge it if you want.
Jul 15, 2021 · Alejandro Duarte
Ok, so it's Maven's HTTP blocker. See this SO thread for workarounds: https://stackoverflow.com/questions/66980047/maven-build-failure-dependencyresolutionexception
Jul 15, 2021 · Alejandro Duarte
What's the error message? (You didn't copy/paste the actual error message)
Jul 15, 2021 · Alejandro Duarte
Try compiling the project at https://github.com/alejandro-du/vaadin-ai-chat to see if you get the same errors. If, so, there might be a problem with your local Maven repository so you can try deleting it. If not, there must be a problem with your project configuration.
Jul 15, 2021 · Alejandro Duarte
Try adding the maven-compiler-plugin to the pom.xml file. You'll find plenty of examples online.
Jun 01, 2021 · Alejandro Duarte
AuthorizedRoute is defined as a Java record in line 4 of AuthService. You need Java 14 or later to use Java records. https://openjdk.java.net/jeps/395
Sep 26, 2020 · Alejandro Duarte
The article is fixed now.
Sep 21, 2020 · Alejandro Duarte
Hi, yeah sorry about that. You can ignore steps 3, 4, and 5 in the Defining the Bean to Access the Bot Logic section. They are not needed. For some reason, I made a mistake while uploading the article, I guess, because I have another article on the same topic (https://vaadin.com/blog/building-a-chatbot-in-java). Cheers.
May 28, 2020 · Alejandro Duarte
Sure. Can you share the stack trace?
May 07, 2020 · Alejandro Duarte
Good catch! Yes, copy/paste with Cmd+D in IntelliJ Idea. I'll fix it. Thanks for reporting and for the feedback!
May 17, 2018 · Alejandro Duarte
Well, if you use "environment variables" you have an externalized configuration, which is indeed an alternative to using Spring Cloud Config. Since I'm using Spring Cloud + Netflix OSS in this series of articles, it makes sense to use Spring's offer since it has many out-of-the-box features: Version controlled configuration, dynamic configuration (maximizing availability since there are less instance deploys/restarts), and automatic propagation (particularly useful in containerized environments with unknown number of underlying hardware nodes).
May 16, 2018 · Alejandro Duarte
Yes, automated deployment is a must when you have that many instances running. Moreover, instances might be started and stopped automatically according to some load balancing strategy in an elastic way. A key advantage of having a centralized configuration cluster is that the applications don't need to be redeployed. Why not just redeploying all the instances when a change in the configuration is required? Well, that basically breaks one of the principles of microservices (actually, of a twelve-factor app): Build once and deploy it in any environment (in other words, have one-time builds and move the binaries across environments). Another advantage of using Spring Cloud Config is that the configuration can be version-controlled.
May 16, 2018 · Alejandro Duarte
You can use Spring Cloud Bus to propagate configuration changes without even having to know how many instances are running or where these instances are.
May 02, 2018 · Alejandro Duarte
Does it work with other browsers?
May 02, 2018 · Alejandro Duarte
I'm afraid not. This is specific to Vaadin Framework.
May 15, 2017 · Alejandro Duarte
I'm afraid it's not available. But the code is:
https://github.com/alejandro-du/mysql-jdbc-vaadin/tree/58262db8fbe2c7ea8667c8ec4cdad97ccbd87b0a
May 15, 2017 · Alejandro Duarte
That would be a good idea indeed. Meanwhile, here there are two interesting readings about it:
https://vaadin.com/blog/-/blogs/filter-based-spring-security-in-vaadin-applications
https://vaadin.com/blog/-/blogs/a-hybrid-approach-to-spring-security-in-vaadin-applications
May 15, 2017 · Alejandro Duarte
You guys have some good points. Thanks. To clarify, I meant: Program with only the Java Programming Language and get an HTML5 web interface to show data in a MySQL instance without having to use HTML, CSS, and without coding JavaScript, TypeScript, or any other programming language for the browser. In contrast to formal papers, characters in blog titles are scarce ;)
Having said so, the term Plain Old Java Object does indeed include having no classpath "interference".
May 07, 2014 · Venu Thomas
Hi Hans-Jörg,
Good to know that commercial support is also a good reason to pick up Vaadin. Regarding the Visual Editor, I would say that it is a good think to have when you are learning the framework. For me it was like a couple of days and I realized that you won't use it frequently once you learn the API. On the other hand, I would say NetBeans should work (and I think they are already doing it) to get the Vaadin Visual Designer for NetBeans given its importance for developers learning the framework.
Regards.
May 07, 2014 · Venu Thomas
Hi Hans-Jörg,
Good to know that commercial support is also a good reason to pick up Vaadin. Regarding the Visual Editor, I would say that it is a good think to have when you are learning the framework. For me it was like a couple of days and I realized that you won't use it frequently once you learn the API. On the other hand, I would say NetBeans should work (and I think they are already doing it) to get the Vaadin Visual Designer for NetBeans given its importance for developers learning the framework.
Regards.
May 07, 2014 · Venu Thomas
Hi Hans-Jörg,
Good to know that commercial support is also a good reason to pick up Vaadin. Regarding the Visual Editor, I would say that it is a good think to have when you are learning the framework. For me it was like a couple of days and I realized that you won't use it frequently once you learn the API. On the other hand, I would say NetBeans should work (and I think they are already doing it) to get the Vaadin Visual Designer for NetBeans given its importance for developers learning the framework.
Regards.
May 07, 2014 · Venu Thomas
Hi Hans-Jörg,
Good to know that commercial support is also a good reason to pick up Vaadin. Regarding the Visual Editor, I would say that it is a good think to have when you are learning the framework. For me it was like a couple of days and I realized that you won't use it frequently once you learn the API. On the other hand, I would say NetBeans should work (and I think they are already doing it) to get the Vaadin Visual Designer for NetBeans given its importance for developers learning the framework.
Regards.
May 05, 2014 · Venu Thomas
Hi Dan,
No doubt Apache Isis is in a different level. It would be great to collaborate to implement a Vaadin-based viewer. Actually, given the dynamic nature of the generated user interfaces of Apache Isis applications, I think it is very convenient to use Vaadin.
Please let me know your ideas on this. Maybe you can open a new discussion in a forum or contact me.