JavaRush /Blog Java /Random-MS /Coffee break #120. Pengendali Java &, && (DAN) || (ATAU)....

Coffee break #120. Pengendali Java &, && (DAN) || (ATAU). Pengenalan kepada GitOps dan DevOps untuk Pembangun

Diterbitkan dalam kumpulan

Pengendali Java &, && (DAN) || (ATAU)

Sumber: freeCodeCamp Dalam bahasa pengaturcaraan Java, kami menggunakan operator untuk melaksanakan operasi pada pembolehubah. Operator dibahagikan kepada kategori yang berbeza: operator aritmetik, operator tugasan, operator perbandingan, operator logik, dan sebagainya. Coffee break #120.  Operator Java – &, && (DAN) ||  (ATAU).  Pengenalan kepada GitOps dan DevOps untuk Pembangun - 1Dalam artikel ini, kita akan bercakap tentang operator bitwise AND ( & ), serta operator logik AND ( && ) dan OR ( || ).

Cara menggunakan operator bitwise AND

Simbol & menandakan pengendali DAN bitwise. Ia menilai nilai binari nombor yang diberikan. Hasil binari nombor ini akan dikembalikan kepada kami dalam asas 10. Apabila operator & memulakan kerjanya, ia akan menilai nilai aksara dalam kedua-dua nombor, bermula dari kiri. Mari lihat contoh untuk membantu memahami perkara ini dengan lebih baik:
System.out.println(10 & 12);
// returns 8
Bagaimana untuk menjelaskan perkara ini? Nilai binari 10 ialah 1010. Nilai binari 12 ialah 1100. Inilah yang perlu kita pertimbangkan sebelum kita memulakan operasi: 1 dan 0 => 0 0 dan 1 => 0 1 dan 1 => 1 0 dan 0 = > 0 Jadi mari kita lakukan operasi. Simbol pertama untuk 10 ialah 1, simbol pertama untuk 12 juga 1, oleh itu: 1 dan 1 = 1. Beralih kepada simbol kedua - 0 untuk 10 dan 1 untuk 12: 1 dan 0 = 0. Untuk simbol ketiga - 1 untuk 10 dan 0 untuk 12: 1 dan 0 = 0. Untuk aksara keempat - 0 untuk 10 dan 0 untuk 12: 0 dan 0 = 0. Sekarang mari kita gabungkan semua aksara yang dikembalikan. Ini memberi kita 1000. Nilai binari 1000 dalam asas 10 ialah 8, jadi operasi kami mengembalikan 8.

Cara Menggunakan Operator Logik DAN

Ambil perhatian bahawa kami menggunakan operator Boolean untuk menilai keadaan. Mereka kembali benar atau salah bergantung pada syarat yang diberikan. Simbol && mewakili operator AND. Ia menilai dua pernyataan/syarat dan mengembalikan benar hanya jika kedua-dua pernyataan/syarat adalah benar. Inilah rupa sintaksnya:
statment1/condition1 && statemnt2/condition2
Seperti yang anda lihat di atas, terdapat dua pernyataan/syarat yang dipisahkan oleh pernyataan. Operator menilai nilai kedua-dua pernyataan/syarat dan memberikan kami hasil - benar atau salah . Berikut ialah contoh:
System.out.println((10 > 2) && (8 > 4));
//true
Operasi akan kembali benar kerana kedua-dua syarat adalah benar: 10 lebih besar daripada 2 dan 8 lebih besar daripada 4. Jika mana-mana keadaan mempunyai logik yang salah, kami akan menerima false . Untuk lebih memahami operator && , anda harus tahu bahawa kedua-dua syarat mestilah benar untuk menilai kepada benar . Berikut ialah contoh lain yang mengembalikan false :
System.out.println((2 > 10) && (8 > 4));
// false
Di sini 2 tidak lebih daripada 10, dan 8 lebih besar daripada 4 - jadi kita mendapat false . Ini kerana salah satu syarat adalah tidak betul.
  • Jika kedua-dua syarat adalah benar => benar

  • Jika salah satu daripada dua syarat adalah palsu => palsu

  • Jika kedua-dua syarat adalah palsu => palsu

Cara menggunakan operator Boolean OR

Untuk menandakan operator OR kami menggunakan simbol || . Operator ini mengembalikan palsu hanya jika kedua-dua syarat adalah palsu. Iaitu, jika kedua-dua syarat adalah benar, kita akan mendapat benar , dan jika salah satu daripada kedua-dua syarat adalah benar, maka kita juga akan mendapat benar . Inilah sintaksnya:
statment1/condition1 || statemnt2/condition2
Mari lihat beberapa contoh.
System.out.println((6 < 1) || (4 > 2));
// true
Benar dikembalikan kepada kita kerana salah satu syaratnya adalah benar.
  • Jika kedua-dua syarat adalah benar => benar

  • Jika salah satu syarat adalah benar => benar

  • Jika kedua-dua syarat adalah palsu => palsu

Kesimpulan

Dalam artikel ini, kami mempelajari cara menggunakan bitwise & operator dan operator logik && dan || dalam Java. . Kami juga mempelajari nilai yang dikembalikan oleh setiap operasi bergantung pada keadaannya.

Pengenalan kepada GitOps dan DevOps untuk Pembangun

Sumber: Hackernoon Salah satu matlamat utama DevOps adalah untuk membantu pembangun menggunakan ciri untuk pengeluaran secepat dan seaman mungkin. Ini bermakna mencipta alat dan proses yang melakukan segala-galanya daripada menyediakan persekitaran pembangunan persendirian kepada menggunakan dan menjamin beban kerja pengeluaran. Pada masa yang sama, tergesa-gesa tidak seharusnya membawa kepada kegagalan kritikal. Coffee break #120.  Operator Java – &, && (DAN) ||  (ATAU).  Pengenalan kepada GitOps dan DevOps untuk Pembangun - 2GitOps ialah satu cara untuk mengautomasikan DevOps. Lebih khusus lagi, ia adalah taktik automasi menggunakan alat pembangunan Git. Memandangkan pembangun sudah menyerahkan kod ke repositori Git terpusat (menggunakan sesuatu seperti GitHub, GitLab atau BitBucket), pembangun DevOps boleh memasangkan mana-mana skrip kerja mereka untuk membina, menguji atau menggunakan aplikasi untuk dijalankan selepas setiap perubahan kod dibuat. Ini bermakna pembangun boleh bekerja secara eksklusif dengan Git, dan semua yang membantu mereka memasukkan kod mereka ke dalam pengeluaran akan diautomasikan.

Mengapa GitOps?

Sebelum ini, kaedah DevOps dan CI/CD ialah satu set skrip dan alatan proprietari yang melaksanakan tugas harian: menjalankan ujian, menyediakan infrastruktur atau menggunakan aplikasi. Walau bagaimanapun, ketersediaan alatan infrastruktur baharu seperti Kubernetes, ditambah dengan peningkatan seni bina perkhidmatan mikro, memerlukan pembangun untuk lebih terlibat dalam proses CI/CD. Perubahan ini menimbulkan masalah yang berkaitan dengan senario pengguna, mengakibatkan aliran kerja yang mengelirukan dan tidak konsisten, pertindihan usaha dan penurunan mendadak dalam kelajuan pembangunan. Untuk memanfaatkan alatan dan seni bina awan, pasukan memerlukan pendekatan yang konsisten dan automatik kepada CI/CD. Ini akan membolehkan pembangun untuk:
  • Berhenti membuat dan mengekalkan skrip proprietari dan sebaliknya gunakan proses universal.

  • Bina apl dan perkhidmatan dengan lebih pantas dengan proses penggunaan universal yang ditentukan.

  • Gunakan lebih pantas selepas membuat perubahan kod.

  • Dayakan penggunaan automatik untuk keluaran yang lebih pantas, lebih kerap dan lebih dipercayai.

  • Lakukan pemulangan semula dan audit untuk pematuhan dengan corak reka bentuk deklaratif.

Pembangun menyukai GitOps

Atas semua sebab yang dinyatakan di atas (dan banyak lagi), syarikat memerlukan pendekatan terurus dan automatik kepada CI/CD dan DevOps untuk berjaya membina dan menyelenggara aplikasi awan. Tetapi jika automasi semua yang ada padanya, maka mengapakah GitOps lebih baik daripada strategi lain (seperti SlackOps, penempatan berjadual atau skrip mudah)? Jawapannya mudah: pembangun menyukai GitOps.

Git - satu alat untuk menguruskan semuanya

Dalam beberapa tahun kebelakangan ini, telah menjadi jelas bahawa GitOps ialah salah satu strategi automasi DevOps yang dinilai paling tinggi dalam kalangan pembangun, dan tidak sukar untuk mengetahui sebabnya. Pemaju tinggal di Git. Mereka menyimpan perubahan sementara dalam git, bekerjasama menggunakan git, menyemak kod menggunakan git, dan menyimpan sejarah serta jejak audit setiap perubahan yang pernah dilakukan oleh sesiapa sahaja, juga dalam git. Oleh kerana pembangun telah banyak bergantung pada git, terdapat alat khas yang tersedia untuk bekerja dengannya. Dalam sistem penyepaduan berterusan moden yang paling kerap digunakan untuk menyokong GitOps, seperti CircleCI , Github Actions , Gitlab CI dan lain-lain, konfigurasi yang menyokong saluran paip terletak terus dalam repositori Git. Seperti kod sumber aplikasi, konfigurasi ini dikawal versi dan boleh dilihat oleh setiap pembangun yang bekerja pada projek itu. Mereka bukan sahaja dapat melihat proses saluran paip, tetapi mereka juga boleh membuat perubahan dengan cepat dan mudah mengikut keperluan. Kemudahan akses untuk pembangun ini adalah penting kerana mereka menulis ujian untuk aplikasi mereka dan memastikan keselamatan dan kestabilan mereka.

Layan diri penuh

Ciri baharu atau pembetulan pepijat tidak dianggap lengkap sehingga ia dikeluarkan ke dalam pengeluaran. Ini bermakna apa-apa sahaja yang menghalang perubahan kod daripada dibuat dalam pengeluaran membuang masa dan tenaga pembangun. Katakan pembangun perlu menunggu sedikit masa untuk pasukan atau orang lain menyelesaikan beberapa tugas sebelum dia boleh menutup langkah kerjanya. Ini boleh mewujudkan pergeseran dan konflik dalam organisasi. Memudahkan kerjasama antara pasukan adalah salah satu faedah utama GitOps. Pembangun bukan sahaja mendapat peluang untuk bekerja dalam alat biasa, tetapi mereka juga boleh mengeluarkan kod mereka ke dalam pengeluaran tanpa campur tangan manual. Ini bermakna mereka tidak menunggu orang lain menyelesaikan tugas mereka.

Kerja berterusan dalam segala hal

Satu lagi faedah besar GitOps ialah semua proses sentiasa berjalan! Setiap perubahan yang kami buat mencetuskan binaan ujian dan penggunaan tanpa sebarang langkah manual. Memandangkan pembangun akan menggunakan git dengan atau tanpa GitOps, menyambung kepada aliran kerja sedia ada mereka untuk menjalankan proses DevOps ialah pilihan yang ideal untuk automasi.

GitOps dalam amalan

Sememangnya, penglibatan pembangun dalam proses itu telah menyebabkan pasukan menggunakan alat mesra pengguna secara meluas seperti Git. Ini juga mewujudkan ketekalan semula jadi untuk fasa penyepaduan/pengerahan CI/CD. Lagipun, terdapat begitu banyak perkara yang tersedia dalam repositori Git (cth. commit, buka/tutup permintaan tarik, gabungan, dll.), jadi rupa dan rasa kebanyakan pelaksanaan GitOps melibatkan satu set langkah biasa:

1. Tarik permintaan, ujian dan persekitaran pratonton

Selepas pembangun meluangkan masa menulis kod untuk ciri baharu mereka, mereka biasanya menyerahkan kod itu kepada cawangan Git baharu dan menyerahkan permintaan Tarik atau Gabung permintaan kembali ke cawangan utama repositori. Pembangun melakukan ini setiap hari. Gesaan memerlukan pengurus teknikal menyemak perubahan kod dan meluluskannya untuk digabungkan ke dalam kod aplikasi utama. Ini adalah peluang yang baik untuk DevOps untuk menambah tugasan tambahan. Dengan menyambung kepada acara buka/tutup yang dijana oleh proses permintaan tarik ini menggunakan alat penyepaduan berterusan (CI), pasukan DevOps boleh mencetuskan pelaksanaan ujian unit, penciptaan persekitaran pratonton dan pelaksanaan ujian penyepaduan terhadap persekitaran tersebut. Perkakas ini membolehkan jurutera mewujudkan kepercayaan dengan cepat dalam perubahan kod dan membolehkan pengurus produk melihat perubahan kod melalui persekitaran pratonton pragabung. Kepercayaan yang lebih rapat bermakna gabungan yang lebih cepat. Semakin kurang dan lebih kerap data dimasukkan, semakin sedikit pengembalian yang kompleks dan mengelirukan. Teknik GitOps ini adalah kunci kepada pasukan pembangunan dan pengeluaran yang lebih pantas, sihat.

2. Gabung dengan induk dan gunakan untuk pementasan

Setelah semua pihak menyemak perubahan, kod itu boleh digabungkan ke dalam cawangan induk repositori bersama-sama dengan perubahan yang dibuat oleh seluruh pasukan pembangunan. Cawangan induk ini sering digunakan sebagai kawasan pementasan untuk kod yang hampir siap untuk pengeluaran. Masih ada masa untuk menyelesaikan beberapa tugas operasi seperti ujian dan penggunaan. Walaupun kami biasanya menguji kod untuk setiap permintaan tarik sebelum menggabungkannya, adalah idea yang baik untuk menjalankan semula ujian untuk memastikan kod itu berfungsi dengan perubahan lain yang dibuat oleh seluruh pasukan. Ia juga berbaloi untuk menggunakan semua perubahan ini kepada persekitaran biasa (dipanggil "pementasan") yang boleh digunakan oleh seluruh pasukan untuk menyemak dan menguji perubahan terkini sebelum ia dikeluarkan kepada pelanggan.

3. Kurangkan keluaran dan gunakan untuk pengeluaran

Akhir sekali, selepas pengurus dan jurutera mempunyai masa untuk menyemak dan menguji perubahan terbaharu pada cawangan huluan, pasukan bersedia untuk mengeluarkan keluaran dan mengerahkannya ke pengeluaran! Tugas ini selalunya dilakukan oleh pengurus keluaran, ahli pasukan yang berdedikasi (atau berputar) yang ditugaskan untuk melaksanakan skrip penggunaan dan memantau keluaran. Tanpa menggunakan GitOps, ahli pasukan ini mesti menyemak di mana skrip yang betul, susunan untuk menjalankannya dan sama ada semua perpustakaan dan pakej yang betul yang diperlukan untuk menjalankan skrip dipasang pada mesin mereka. Dengan GitOps, kami boleh memautkan penggunaan ini kepada acara berasaskan Git yang lain—penciptaan keluaran atau teg. Apa yang perlu dilakukan oleh pengurus keluaran ialah mencipta "keluaran" baharu, selalunya menggunakan semver untuk nama tersebut. Tugas untuk membina dan menggunakan perubahan kod akan dijalankan secara automatik. Seperti kebanyakan tugas yang dilakukan oleh alat CI, mereka akan dikonfigurasikan dengan lokasi skrip dan susunan perpustakaan serta pakej yang diperlukan untuk menjalankannya.

Alat GitOps

Alat penyepaduan berterusan yang mantap dan intuitif bukanlah satu-satunya perkara yang diperlukan untuk menginstrumen proses GitOps seperti yang diterangkan dalam artikel ini. Sistem CI boleh mencetuskan skrip berdasarkan peristiwa git, tetapi anda masih memerlukan alat berkuasa untuk menjalankan skrip tersebut dan menjadikannya mudah dan selamat untuk dijalankan dan diselenggara. Menggunakan perubahan kod (juga dikenali sebagai penghantaran berterusan, CD) ialah salah satu langkah paling sukar untuk diautomatikkan. Itulah sebabnya kami telah memilih beberapa kategori alat yang boleh membantu anda dalam perjalanan GitOps anda:

Kontena dengan Docker

Docker membawa pembangunan awan ke dalam persekitaran teragih yang sepenuhnya baharu dan membantu pembangun mula mempertimbangkan secara realistik seni bina perkhidmatan mikro sebagai pilihan yang berdaya maju. Salah satu perkara yang menjadikan Docker begitu berkuasa ialah betapa mudahnya untuk pembangun berbanding dengan penyelesaian maya generasi sebelumnya. Seperti konfigurasi CI deklaratif yang terdapat dalam repositori kami, pembangun hanya perlu menulis dan menyelenggara Fail Docker dalam repositori mereka untuk membolehkan binaan automatik mesin maya yang digunakan dalam bekas. Pengkontenaan ialah taktik yang sangat berkuasa untuk pasukan awan dan harus menjadi alat teras dalam himpunan anda.

Infrastruktur sebagai Kod (IaC)

Banyak yang perlu dilakukan untuk menyediakan infrastruktur dan menggunakan aplikasi yang tidak disimpan dalam Dockerfile. Untuk segala-galanya, terdapat penyelesaian infrastruktur-sebagai-kod (IaC) seperti Terraform , Cloudformation dan lain-lain. Penyelesaian ini membenarkan pembangun untuk menerangkan bahagian lain aplikasi, seperti sumber Kubernetes, pengimbang beban, rangkaian, keselamatan dan banyak lagi, dengan cara deklaratif. Sama seperti konfigurasi CI dan Dockerfiles yang diterangkan sebelum ini, templat IaC boleh dikawal versi dan dikongsi merentas semua pembangun dalam pasukan anda.
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION