GNU/Linux >> Belajar Linux >  >> Linux

3 alasan Quarkus 2.0 meningkatkan produktivitas pengembang di Linux

Tidak peduli berapa lama Anda bekerja sebagai pengembang aplikasi dan tidak peduli bahasa pemrograman apa yang Anda gunakan, Anda mungkin masih berjuang untuk meningkatkan produktivitas pengembangan Anda. Selain itu, paradigma baru, termasuk komputasi awan, DevOps, dan pengembangan berbasis pengujian, telah secara signifikan mempercepat siklus pengembangan untuk pengembang individu dan tim multifungsi.

Anda mungkin berpikir alat sumber terbuka dapat membantu memperbaiki masalah ini, tetapi menurut saya banyak kerangka kerja pengembangan sumber terbuka dan alat untuk pengkodean, pembuatan, dan pengujian membuat tantangan ini lebih buruk. Selain itu, tidak mudah untuk menemukan alat pengembangan Kubernetes yang sesuai untuk diinstal pada distribusi Linux karena dependensi sistem dan batasan dukungan.

Untungnya, Anda dapat meningkatkan produktivitas pengembangan di Linux dengan Quarkus, tumpukan Java asli Kubernetes. Quarkus 2.0 dirilis baru-baru ini dengan fitur baru yang berguna untuk pengujian di konsol pengembang.

UX/UI pengembang interaktif

Lebih banyak sumber daya Linux

  • Lembar contekan perintah Linux
  • Lembar contekan perintah Linux tingkat lanjut
  • Kursus online gratis:Ikhtisar Teknis RHEL
  • Lembar contekan jaringan Linux
  • Lembar contekan SELinux
  • Lembar contekan perintah umum Linux
  • Apa itu container Linux?
  • Artikel Linux terbaru kami

Jika Anda perlu menambahkan lebih dari 10 dependensi (mis., koneksi database, pemetaan relasional objek, pemformatan JSON, spesifikasi REST API) ke proyek Java Maven Anda, Anda harus menentukan lebih dari 60 konfigurasi dengan kunci dan nilai dalam satu application.properties file. Lebih banyak konfigurasi mengurangi keterbacaan untuk masing-masing pengembang dan lebih sulit untuk dikelola oleh tim pengembang.

Quarkus memiliki antarmuka interaktif untuk menampilkan semua dependensi yang telah ditambahkan. Ini tersedia di localhost:8080/q/dev titik akhir setelah Anda memulai mode dev Quarkus dengan mvn quarkus:dev memerintah. Anda juga dapat memperbarui konfigurasi di antarmuka pengguna DEV (UI), seperti yang ditunjukkan Gambar 1, dan perubahan akan secara otomatis disinkronkan dengan application.properties berkas.

(Catatan:Anda dapat menemukan seluruh kode aplikasi Quarkus untuk artikel ini di repositori GitHub saya.)

Pengujian berkelanjutan yang lebih baik

Saat mengembangkan aplikasi, mulai dari monolit hingga layanan mikro, Anda harus menguji kode Anda. Seringkali, tim jaminan kualitas (QA) khusus yang menggunakan alat integrasi berkelanjutan (CI) eksternal bertanggung jawab untuk memverifikasi pengujian unit. Itu bekerja selama bertahun-tahun, dan masih, tetapi Quarkus memungkinkan pemrogram untuk menjalankan tes di lingkungan runtime di mana kode mereka berjalan saat sedang dikembangkan. Quarkus 2.0 menyediakan fitur pengujian berkelanjutan ini melalui antarmuka baris perintah (CLI) dan UI DEV, seperti yang ditunjukkan pada Gambar 2.

Pengujian berkelanjutan tidak berjalan saat aplikasi Quarkus dimulai. Untuk memulainya, klik "Tes tidak berjalan" di kanan bawah UI DEV. Anda juga dapat membuka terminal web dengan mengklik "Buka" di sisi kiri DEV UI. Kedua opsi tersebut disorot pada Gambar 2, dan contoh hasil pengujian ditunjukkan pada Gambar 3.

Jika Anda mengubah kode (mis., "Halo" menjadi "Hai" di hello() metode) tetapi bukan kode pengujian (terlepas dari apakah fitur berfungsi), pengujian akan gagal, seperti yang ditunjukkan pada Gambar 4. Untuk memperbaikinya, perbarui kode pengujian bersama dengan kode logika.

Anda dapat menjalankan kembali kasus uji yang diterapkan di src/test/java/ direktori. Fitur ini mengurangi kebutuhan untuk berintegrasi dengan alat CI eksternal dan memastikan fungsionalitas sambil mengembangkan logika bisnis secara terus-menerus.

Konfigurasi nol dengan layanan dev

Saat Anda mengembangkan untuk target tertentu, penting bahwa lingkungan pengembangan Anda merupakan cerminan akurat dari lingkungan tempat lingkungan itu dimaksudkan untuk dijalankan. Itu bisa membuat penginstalan database di tempat seperti lingkungan lokal sedikit sulit. Jika Anda mengembangkan di Linux, Anda dapat menjalankan database yang diperlukan dalam sebuah wadah, tetapi database tersebut cenderung berjalan secara berbeda berdasarkan sumber daya yang tersedia, dan lingkungan lokal Anda mungkin tidak memiliki sumber daya yang sama dengan lingkungan produksi target.

Quarkus 2.0 membantu memecahkan masalah ini dengan menyediakan layanan dev yang dibangun di atas Testcontainers. Misalnya, Anda dapat menguji aplikasi jika bekerja di database produksi, PostgreSQL, daripada di penyimpanan data dalam memori H2 dengan konfigurasi berikut:

quarkus.datasource.db-kind = postgresql (1)
quarkus.hibernate-orm.log.sql = true

quarkus.datasource.username=person (2)
quarkus.datasource.password=password (3)
quarkus.hibernate-orm.database.generation=drop-and-create

%prod.quarkus.datasource.db-kind = postgresql (4)
%prod.quarkus.datasource.jdbc.url = jdbc:postgresql://db:5432/person (5)
%prod.quarkus.datasource.jdbc.driver=postgresql

quarkus.datasource.devservices.image-name=postgres:latest (6)

Pada kode di atas:

(1) Jenis database yang akan Anda hubungkan untuk pengembangan dan pengujian

(2) Nama pengguna sumber data

(3) Sandi sumber data

(4 ) Jenis database yang akan Anda sambungkan untuk produksi

(5) URL Sumber Data

(6) Nama gambar penampung yang akan digunakan untuk penyedia DevServices; jika penyedia tidak berbasis container (mis., database H2), maka ini tidak akan berpengaruh

Ketika Quarkus restart dengan konfigurasi baru, image container Postgres akan dibuat dan mulai berjalan secara otomatis, seperti pada Gambar 5.

Fitur ini memungkinkan Anda menghapus uji integrasi penyimpanan data produksi. Ini juga meningkatkan produktivitas pengembangan Anda karena menghindari kesenjangan lingkungan dalam lingkaran pengembangan.

Kesimpulan

Quarkus 2.0 meningkatkan produktivitas pengembang dengan pengujian berkelanjutan bawaan, UI DEV interaktif, dan layanan pengembang. Selain itu, ia menawarkan fitur tambahan untuk meningkatkan pengalaman pengembang seperti pengkodean langsung, mode pengembangan jarak jauh di Kubernetes, dan konfigurasi terpadu yang mempercepat loop pengembangan. Quarkus 2.0 tentu saja tidak terkecuali! Cobalah sendiri di sini!


Linux
  1. 3 lembar contekan Linux penting untuk produktivitas

  2. Cara menggunakan rangkaian produktivitas KDE, Kontak

  3. 5 alasan untuk menggunakan Linux di tahun 2020

  1. 10 alasan untuk mencintai Linux pada tahun 2021

  2. 10 ALASAN MENGUBAH WINDOWS 10 KE LINUX

  3. 10 ALASAN MENGUBAH WINDOWS 11 KE LINUX GRATIS

  1. 5 alasan untuk menggunakan manajer paket Linux

  2. 5 alasan mengapa saya suka coding di Linux

  3. 5 alasan untuk memberikan Linux untuk liburan