Cara Memasang Graylog Server pada CentOS 7
Menggunakan Sistem yang Berbeda? Graylog server adalah perangkat lunak manajemen log sumber terbuka siap pakai perusahaan. Ia mengumpulkan log dari berbagai sumber dan menganalisis
Continuous Integration adalah praktik pengembangan perangkat lunak DevOps yang memungkinkan pengembang untuk sering menggabungkan kode yang diubah ke dalam repositori bersama beberapa kali sehari. Setelah setiap penggabungan, build otomatis dan pengujian dilakukan untuk mendeteksi masalah dalam kode. Ini memungkinkan pengembang untuk menemukan dan menyelesaikan kesalahan dengan cepat untuk meningkatkan kualitas perangkat lunak dan menyediakan pengiriman perangkat lunak secara terus menerus. Beralih ke sana kemari dari Concourse sangat mudah karena menyimpan semua konfigurasinya dalam file deklaratif yang dapat diperiksa ke dalam kontrol versi. Ini juga menyediakan antarmuka pengguna web yang menampilkan informasi bangunan secara interaktif.
Pastikan untuk mengganti semua kemunculan 192.0.2.1
dan ci.example.com
dengan alamat IP publik Vultr Anda yang sebenarnya dan nama domain yang sebenarnya.
Perbarui sistem basis Anda menggunakan panduan Cara Memperbarui CentOS 7 . Setelah sistem Anda diperbarui, lanjutkan untuk menginstal PostgreSQL.
PostgreSQL adalah sistem database relasional objek. Concourse menyimpan data salurannya ke dalam database PostgreSQL. Tambahkan repositori PostgreSQL.
sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
Instal server database PostgreSQL.
sudo yum -y install postgresql96-server postgresql96-contrib
Inisialisasi basis data.
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
initdb
membuat cluster database PostgreSQL baru, yang merupakan kumpulan dari database yang dikelola oleh satu server contoh. Edit pg_hba.conf
file untuk mengaktifkan otentikasi berbasis MD5.
sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf
Temukan baris berikut dan ubah nilainya peer
dan ident
di METHOD
kolom menjadi trust
dan md5
, masing-masing.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
Setelah diperbarui, konfigurasi akan terlihat seperti ini.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Mulai server PostgreSQL dan aktifkan untuk memulai secara otomatis saat boot.
sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6
Ubah kata sandi untuk pengguna PostgreSQL default.
sudo passwd postgres
Masuk sebagai pengguna PostgreSQL:
sudo su - postgres
Buat pengguna PostgreSQL baru untuk Concourse CI.
createuser concourse
Catatan : Pengguna PostgreSQL default dapat digunakan untuk otentikasi database, tetapi disarankan untuk menggunakan pengguna khusus untuk otentikasi database Concourse dalam pengaturan produksi.
PostgreSQL menyediakan shell untuk menjalankan query pada database. Beralih ke shell PostgreSQL dengan menjalankan:
psql
Tetapkan kata sandi untuk pengguna basis data Concourse yang baru dibuat.
ALTER USER concourse WITH ENCRYPTED password 'DBPassword';
Penting : Ganti DBPassword
dengan kata sandi yang kuat. Catat kata sandi karena akan diperlukan nanti dalam tutorial.
Buat database baru untuk Concourse.
CREATE DATABASE concourse OWNER concourse;
Keluar dari psql
shell.
\q
Beralih ke pengguna sudo dari pengguna postgres saat ini.
exit
Unduh versi terbaru dari Concourse yang dapat dieksekusi dan simpan di dalamnya /usr/bin
sehingga dapat dieksekusi secara langsung. Versi terbaru dari binari Concourse dan Fly dapat ditemukan di halaman unduhan Concourse . Rilis baru sangat sering. Ganti tautan di bawah ini dengan tautan baru untuk versi terbaru.
sudo wget https://github.com/concourse/concourse/releases/download/v3.4.1/concourse_linux_amd64 -O /usr/bin/concourse
Demikian pula, unduh versi terbaru dari fly executable dan simpan di /usr/bin
.
sudo wget https://github.com/concourse/concourse/releases/download/v3.4.1/fly_linux_amd64 -O /usr/bin/fly
Fly adalah antarmuka baris perintah untuk terhubung ke API ATC Concourse CI. Fly tersedia untuk berbagai platform seperti Linux, Windows dan MacOS.
Tetapkan izin eksekusi untuk binari yang diunduh concourse
dan fly
.
sudo chmod +x /usr/bin/concourse /usr/bin/fly
Periksa apakah Concourse dan Fly bekerja dengan benar dengan memeriksa versinya.
concourse -version
fly -version
Pasangan kunci RSA menyediakan cara untuk mengenkripsi komunikasi antara komponen Concourse.
Agar Concourse berfungsi, setidaknya tiga pasang kunci harus dibuat. Untuk mengenkripsi data sesi, buat a session_signing_key
. Kunci ini juga akan digunakan oleh TSA untuk menandatangani permintaan yang dibuatnya kepada ATC. Untuk mengamankan server TSA SSH, buat a tsa_host_key
. Akhirnya, hasilkan worker_key
untuk setiap pekerja.
Buat direktori baru untuk menyimpan kunci dan konfigurasi yang terkait dengan Concourse CI.
sudo mkdir /opt/concourse
Buat kunci yang diperlukan.
sudo ssh-keygen -t rsa -q -N '' -f /opt/concourse/session_signing_key
sudo ssh-keygen -t rsa -q -N '' -f /opt/concourse/tsa_host_key
sudo ssh-keygen -t rsa -q -N '' -f /opt/concourse/worker_key
Otorisasi kunci publik pekerja dengan menyalin kontennya ke authorized_worker_keys
file:
sudo cp /opt/concourse/worker_key.pub /opt/concourse/authorized_worker_keys
Concourse menyediakan dua komponen terpisah yang perlu dimulai, web dan pekerja. Mulai web Concourse.
sudo concourse web \
--basic-auth-username admin \
--basic-auth-password StrongPass \
--session-signing-key /opt/concourse/session_signing_key \
--tsa-host-key /opt/concourse/tsa_host_key \
--tsa-authorized-keys /opt/concourse/authorized_worker_keys \
--postgres-user=concourse \
--postgres-password=DBPassword \
--postgres-database=concourse \
--external-url http://192.0.2.1:8080
Ubah nama pengguna dan kata sandi basic-auth
jika diinginkan. Pastikan path ke file kunci sudah benar dan pastikan bahwa nilai yang benar untuk nama pengguna dan kata sandi dalam konfigurasi database PostgreSQL disediakan.
Catatan : ATC akan mendengarkan port default 8080
dan TSA akan mendengarkan port 2222
. Jika otentikasi tidak diinginkan, berikan --no-really-i-dont-want-any-auth
opsi setelah menghapus opsi auth dasar.
Setelah server web dimulai, output berikut harus ditampilkan.
{"timestamp":"1503657859.661247969","source":"tsa","message":"tsa.listening","log_level":1,"data":{}}
{"timestamp":"1503657859.666907549","source":"atc","message":"atc.listening","log_level":1,"data":{"debug":"127.0.0.1:8079","http":"0.0.0.0:8080"}}
Hentikan server untuk saat ini, karena beberapa hal lagi masih harus diatur.
Mulai Pekerja Concourse CI.
sudo concourse worker \
--work-dir /opt/concourse/worker \
--tsa-host 127.0.0.1 \
--tsa-public-key /opt/concourse/tsa_host_key.pub \
--tsa-worker-private-key /opt/concourse/worker_key
Perintah di atas akan mengasumsikan bahwa TSA berjalan di localhost dan mendengarkan port default 2222
.
Meskipun web Concourse dan pekerja dapat dimulai dengan mudah menggunakan perintah di atas, disarankan untuk menggunakan Systemd untuk mengelola server.
Menggunakan layanan Systemd untuk mengelola aplikasi memastikan bahwa aplikasi secara otomatis dimulai pada kegagalan dan saat boot. Server Concourse tidak mengambil data dari file konfigurasi apa pun, tetapi dapat mengakses data dari variabel lingkungan. Alih-alih mengatur variabel lingkungan global, buat file baru untuk menyimpan variabel lingkungan dan kemudian meneruskan variabel ke Concourse CI menggunakan layanan Systemd.
Buat file lingkungan baru untuk web Concourse.
sudo nano /opt/concourse/web.env
Mengisi file.
CONCOURSE_SESSION_SIGNING_KEY=/opt/concourse/session_signing_key
CONCOURSE_TSA_HOST_KEY=/opt/concourse/tsa_host_key
CONCOURSE_TSA_AUTHORIZED_KEYS=/opt/concourse/authorized_worker_keys
CONCOURSE_POSTGRES_USER=concourse
CONCOURSE_POSTGRES_PASSWORD=DBPassword
CONCOURSE_POSTGRES_DATABASE=concourse
CONCOURSE_BASIC_AUTH_USERNAME=admin
CONCOURSE_BASIC_AUTH_PASSWORD=StrongPass
CONCOURSE_EXTERNAL_URL=http://192.0.2.1:8080
Ubah nama pengguna dan kata sandi BASIC_AUTH
jika diinginkan. Pastikan path ke file kunci sudah benar dan pastikan bahwa nilai yang benar untuk nama pengguna dan kata sandi dalam konfigurasi database PostgreSQL disediakan.
Demikian pula, buat file lingkungan untuk pekerja.
sudo nano /opt/concourse/worker.env
Mengisi file.
CONCOURSE_WORK_DIR=/opt/concourse/worker
CONCOURSE_TSA_WORKER_PRIVATE_KEY=/opt/concourse/worker_key
CONCOURSE_TSA_PUBLIC_KEY=/opt/concourse/tsa_host_key.pub
CONCOURSE_TSA_HOST=127.0.0.1
Karena file lingkungan berisi nama pengguna dan kata sandi, ubah izinnya sehingga tidak dapat diakses oleh pengguna lain.
sudo chmod 600 /opt/concourse/*.env
Sekarang buat pengguna baru untuk Concourse untuk menjalankan lingkungan web. Ini akan memastikan bahwa server web berjalan di lingkungan yang terisolasi.
sudo adduser --system concourse
Berikan kepemilikan pengguna concourse atas direktori file Concourse CI.
sudo chown -R concourse:concourse /opt/concourse
Buat file layanan systemd baru untuk layanan web Concourse.
sudo nano /etc/systemd/system/concourse-web.service
Mengisi file.
[Unit]
Description=Concourse CI web server
After=postgresql-9.6.service
[Service]
Type=simple
User=concourse
Group=concourse
Restart=on-failure
EnvironmentFile=/opt/concourse/web.env
ExecStart=/usr/bin/concourse web
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=concourse_web
[Install]
WantedBy=multi-user.target
Simpan dan tutup file. Buat file layanan baru untuk layanan pekerja Concourse.
sudo nano /etc/systemd/system/concourse-worker.service
Mengisi file.
[Unit]
Description=Concourse CI worker process
After=concourse-web.service
[Service]
Type=simple
User=root
Group=root
Restart=on-failure
EnvironmentFile=/opt/concourse/worker.env
ExecStart=/usr/bin/concourse worker
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=concourse_worker
[Install]
WantedBy=multi-user.target
Layanan web dan pekerja sekarang dapat dimulai secara langsung dengan menjalankan:
sudo systemctl start concourse-web concourse-worker
Untuk mengaktifkan proses pekerja dan web untuk mulai secara otomatis saat boot, jalankan:
sudo systemctl enable concourse-worker concourse-web
Untuk memeriksa status layanan, jalankan:
sudo systemctl status concourse-worker concourse-web
Jika layanan belum dimulai, atau dalam FAILED
kondisi, hapus cache dari /tmp
direktori.
sudo rm -rf /tmp/*
Mulai ulang layanan.
sudo systemctl restart concourse-worker concourse-web
Perhatikan bahwa saat ini layanan sudah mulai dengan benar. Output setelah memverifikasi status layanan harus sama.
[user@vultr ~]$ sudo systemctl status concourse-worker concourse-web
● concourse-worker.service - Concourse CI worker process
Loaded: loaded (/etc/systemd/system/concourse-worker.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2017-08-26 07:27:37 UTC; 55s ago
Main PID: 3037 (concourse)
CGroup: /system.slice/concourse-worker.service
└─3037 /usr/bin/concourse worker
Aug 26 07:27:42 vultr.guest concourse_worker[3037]: {"timestamp":"1503732462.934722900","source":"tsa","message":"t...""}}
Aug 26 07:27:42 vultr.guest concourse_worker[3037]: {"timestamp":"1503732462.941227913","source":"guardian","messag...0"}}
...
● concourse-web.service - Concourse CI web server
Loaded: loaded (/etc/systemd/system/concourse-web.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2017-08-26 07:27:37 UTC; 55s ago
Main PID: 3036 (concourse)
CGroup: /system.slice/concourse-web.service
└─3036 /usr/bin/concourse web
Aug 26 07:27:57 vultr.guest concourse_web[3036]: {"timestamp":"1503732477.925554752","source":"tsa","message":"tsa...ve"}}
Aug 26 07:28:02 vultr.guest concourse_web[3036]: {"timestamp":"1503732482.925430775","source":"tsa","message":"tsa...ve"}}
...
Hint: Some lines were ellipsized, use -l to show in full.
Sesuaikan firewall Anda untuk memungkinkan port 8080, yang menjalankan ATS dan port 2222, yang menjalankan TSA.
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-port=2222/tcp --permanent
sudo firewall-cmd --reload
Setelah server dimulai, antarmuka web Concourse CI dapat diakses dengan masuk ke http://192.0.2.1:8080
browser apa pun. Masuk menggunakan nama pengguna dan kata sandi yang disediakan dalam file lingkungan.
Untuk terhubung ke server menggunakan Fly, jalankan:
fly -t my-ci login -c http://192.0.2.1:8080
Perintah di atas digunakan untuk login awal ke server. -t
digunakan untuk memberikan nama target. ganti my-ci
dengan nama target yang diinginkan. Perintah di atas akan masuk ke tim default main
. Ia akan menanyakan nama pengguna dan kata sandi yang disediakan dalam file lingkungan.
Outputnya akan terlihat seperti berikut.
[user@vultr ~]$ fly -t my-ci login -c http://192.0.2.1:8080
logging in to team 'main'
username: admin
password:
target saved
Login target akan disimpan selama sehari. Setelah itu, akan kedaluwarsa.
Untuk segera keluar.
fly -t my-ci logout
fly dapat digunakan untuk login ke server di luar jaringan, tetapi hanya jika server memiliki alamat IP publik dan dapat diakses dari luar jaringan. Biner Windows atau MacOS dapat diunduh dari situs unduhan atau dari UI web server.
Info masuk, dan informasi lain yang dikirim melalui web UI ke server Concourse tidak diamankan. Koneksi tidak terenkripsi. Proxy reverse Nginx dapat diatur dengan Let's Encrypt SSL gratis.
Instal server web Nginx dan Certbot, yang merupakan aplikasi klien untuk Let's Encrypt CA.
sudo yum -y install certbot-nginx nginx
Mulai dan aktifkan Nginx untuk mulai secara otomatis saat boot:
sudo systemctl start nginx
sudo systemctl enable nginx
Sebelum permintaan dapat dibuat untuk sertifikat, port 80 dan 443, atau layanan HTTP dan HTTPS standar, harus diaktifkan melalui firewall. Certbot akan memeriksa otoritas domain sebelum mengeluarkan sertifikat.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
Port 8080 tidak perlu lagi diizinkan melalui firewall lagi karena Concourse sekarang akan dijalankan pada port HTTPS standar. Hapus entri firewall untuk mengizinkan port 8080.
sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
sudo firewall-cmd --reload
Catatan
Untuk mendapatkan sertifikat dari Let's Encrypt CA, domain tempat sertifikat akan dibuat harus diarahkan ke server. Jika tidak, buat perubahan yang diperlukan pada catatan DNS domain dan tunggu hingga DNS menyebar sebelum membuat permintaan sertifikat lagi. Certbot memeriksa otoritas domain sebelum memberikan sertifikat.
Buat sertifikat SSL.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d ci.example.com
Sertifikat yang dihasilkan cenderung disimpan di /etc/letsencrypt/live/ci.example.com/
direktori. Sertifikat SSL akan disimpan sebagai fullchain.pem
dan kunci pribadi akan disimpan sebagai privkey.pem
.
Mari Enkripsi sertifikat kedaluwarsa dalam 90 hari, jadi disarankan pembaruan otomatis karena sertifikat disiapkan menggunakan cronjobs. Cron adalah layanan sistem yang digunakan untuk menjalankan tugas-tugas berkala.
Buka file tugas cron.
sudo crontab -e
Tambahkan baris berikut di akhir file.
30 5 * * 1 /usr/bin/certbot renew --quiet
Pekerjaan cron di atas akan berjalan setiap hari Senin jam 5:30 pagi. Jika sertifikat jatuh tempo, maka secara otomatis akan diperpanjang.
Buat host virtual baru.
sudo nano /etc/nginx/conf.d/concourse-ssl.conf
Mengisi file.
server {
listen 80;
server_name ci.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name ci.example.com;
ssl_certificate /etc/letsencrypt/live/ci.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ci.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/concourse.access.log;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:8080;
proxy_read_timeout 90;
proxy_redirect http://localhost:8080 https://ci.example.com;
}
}
Catatan : Ganti ci.example.com
dengan domain yang sebenarnya.
Edit file Lingkungan yang dibuat untuk Web concourse.
sudo nano /opt/concourse/web.env
Ubah nilai CONCOURSE_EXTERNAL_URL
dan juga tambahkan dua baris lagi di akhir file.
CONCOURSE_EXTERNAL_URL=https://ci.example.com
CONCOURSE_BIND_IP=127.0.0.1
CONCOURSE_BIND_PORT=8080
Simpan file dan mulai ulang server Web Concourse, Worker dan Nginx:
sudo systemctl restart concourse-worker concourse-web nginx
Semua data yang dikirim ke dan dari browser sekarang diamankan dengan enkripsi SSL.
Menggunakan Sistem yang Berbeda? Graylog server adalah perangkat lunak manajemen log sumber terbuka siap pakai perusahaan. Ia mengumpulkan log dari berbagai sumber dan menganalisis
Pada kesempatan tertentu, Administrator Sistem mungkin perlu membuat akun pengguna dan membatasi akses mereka untuk hanya mengelola file mereka sendiri melalui sFTP, tetapi tidak
Menggunakan Sistem yang Berbeda? Chamilo adalah sistem manajemen pembelajaran (LMS) gratis dan open source yang banyak digunakan untuk pendidikan online dan kolaborasi tim
Odoo, sebelumnya dikenal sebagai OpenERP, adalah platform bisnis ERP open source yang terkenal. Perusahaan dengan ukuran berapa pun dapat mengambil manfaat dari Odoo, berkat lisnya yang berlimpah
Menggunakan Sistem yang Berbeda? Couch CMS adalah Content Management System (CMS) sederhana dan fleksibel, gratis dan open source yang memungkinkan desainer web untuk mendesain
NextCloud, seperti namanya, adalah alternatif yang menjanjikan dari solusi hosting file sumber terbuka lainnya OwnCloud. Dalam artikel ini, saya akan menunjukkan kepada Anda ho
Menggunakan Sistem yang Berbeda? Netdata adalah bintang yang naik di bidang pemantauan metrik sistem waktu-nyata. Dibandingkan dengan alat lain dengan jenis yang sama, Netdata:
Menggunakan Sistem yang Berbeda? ERP atau Enterprise Resource Planning adalah rangkaian aplikasi perusahaan yang digunakan untuk mengelola proses bisnis inti. ERPNext adalah gratis
Selamat datang di tutorial Vultr lainnya. Di sini, Anda akan belajar cara menginstal dan menjalankan server SAMP. Panduan ini ditulis untuk CentOS 6. Prasyarat Anda akan tahu
Menggunakan Sistem yang Berbeda? Elgg adalah mesin jejaring sosial open source yang memungkinkan penciptaan lingkungan sosial seperti jejaring sosial kampus
Bolt adalah CMS open source yang ditulis dalam PHP. Kode sumber baut di-host di GitHub. Panduan ini akan menunjukkan kepada Anda cara menginstal Bolt CMS pada CentOS 7 Vult yang baru
Bugzilla adalah sistem pelacakan bug sumber bebas dan terbuka yang banyak digunakan oleh berbagai vendor untuk terus meningkatkan softwar mereka
Ikhtisar Artikel ini dimaksudkan untuk membantu Anda mendapatkan kluster Kubernet dan menjalankan dengan kubeadm dalam waktu singkat. Panduan ini akan menggunakan dua server, pada
Menggunakan Sistem yang Berbeda? Pendahuluan Sails.js adalah kerangka kerja MVC untuk Node.js, mirip dengan Ruby on Rails. Itu membuat untuk mengembangkan aplikasi modern ver
Tutorial ini akan membahas proses pemasangan server game Half Life 2 pada Sistem CentOS 6. Langkah 1: Menginstal prasyarat Untuk mengatur ou
Pendahuluan Sistem Linux dilengkapi dengan alat pemantauan secara default seperti top, df, dan du yang membantu memonitor proses dan ruang disk. Namun sering kali, mereka ar
Menggunakan Sistem yang Berbeda? Kolab Groupware adalah aplikasi groupware berbasis web gratis dan open source. Fitur-fiturnya terdiri dari komunikasi email, acara
Menggunakan Sistem yang Berbeda? Koel adalah aplikasi streaming audio pribadi sederhana berbasis web yang ditulis dalam Vue di sisi klien dan Laravel di sisi server. Koe
GDB adalah debugger untuk C, C ++, Objective-C, Pascal, Fortran, Go, D, OpenCL C, Ada, dan Modula-2. CentOS didasarkan pada RHEL (Red Hat Enterprise Linux). Salah satu th
Menggunakan Sistem yang Berbeda? Akaunting adalah perangkat lunak akuntansi sumber terbuka dan gratis yang dirancang untuk usaha kecil dan freelancer. Itu dibangun kecerdasan
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.
Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.
Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.
Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.
CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?
Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.
Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!
Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.
Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut