Auto-generate Flow Chart from Java/C++ Codes:

Raptor Flowchart Tutorial For Beginners

Monday, November 05, 2018

Maksud Docker Dan Kubernetes


.

Maksud Docker Dan Kubernetes Dari Perspektif Senibina

Memahami kedua-dua Docker dan Kubernetes adalah penting jika kita mahu membina dan menjalankan infrastruktur awan moden. Lebih penting lagi untuk memahami bagaimana penyelesaian arkitek dan pemaju boleh menggunakannya semasa mereka bentuk penyelesaian berasaskan awan yang berbeza. Kedua-dua VM dan Kontena ini bertujuan untuk meningkatkan penggunaan pelayan dan mengurangkan pemisahan pelayan fizikal dan jumlah kos pemilikan untuk jabatan IT. Walau bagaimanapun, jika kita dapat melihat pertumbuhan dari segi penggunaan dalam beberapa tahun kebelakangan ini, terdapat pertumbuhan eksponen dalam penggunaan awan berasaskan kontena.

Asas-asas Konsep VM dan Docker

Mesin maya menyediakan keupayaan untuk mencontohi OS berasingan (tetamu), dan dengan itu komputer yang berasingan, dari dalam OS anda yang sedia ada (tuan rumah).Mesin Maya terdiri daripada ruang pengguna ditambah ruang kernel bagi sistem operasi. VM berjalan di atas mesin fizikal menggunakan "hypervisor," juga dikenali sebagai pengurus mesin maya, yang merupakan program yang membolehkan sistem operasi berbilang untuk berkongsi hos perkakasan tunggal.
Terdapat dua mod operasi dalam CPU, mod pengguna dan mod kernel. Apabila kita memulakan aplikasi mod pengguna, OS mewujudkan satu proses dengan ruang alamat maya peribadi untuk dimainkan. Kami mungkin mempunyai banyak proses pengguna ruang yang berjalan tetapi mereka boleh dibuat untuk dijalankan secara berasingan supaya jika satu proses runtuh maka proses lain tidak terluka. Walau bagaimanapun, proses pengguna mungkin memerlukan perkhidmatan khas dari OS (misalnya, I / O, penciptaan proses kanak-kanak, dan sebagainya) yang boleh dicapai dengan melaksanakan panggilan sistem yang memindahkan proses ke mod kernel secara sementara dengan kaedah yang dikenali sebagai perangkap. Arahan yang hanya boleh dilaksanakan dalam mod kernel (misalnya, panggilan sistem) dipanggil arahan yang sensitif. Terdapat juga satu set arahan yang boleh dijebak jika dilaksanakan dalam mod pengguna dipanggil sebagai arahan istimewa.
Kontena adalah satu cara perisian pembungkusan, terutamanya semua kod aplikasi, perpustakaan dan kebergantungan. Mereka menyediakan persekitaran maya yang ringan yang mengelompokkan dan mengasingkan satu set proses dan sumber seperti memori, CPU, cakera, dan lain-lain, dari tuan rumah dan mana-mana bekas lain. Pengasingan menjamin bahawa apa-apa proses di dalam bekas tidak dapat melihat apa-apa proses atau sumber di luar bekas. Sebuah bekas menyediakan operasi virtualisasi peringkat sistem dengan abstrak ruang pengguna. Kontena juga menyediakan kebanyakan ciri yang disediakan oleh mesin maya seperti alamat IP, pemasangan volum, pengurusan sumber (CPU, memori, cakera), SSH (exec), imej OS, dan imej bekas, tetapi kontena tidak menyediakan sistem init sebagai bekas direka untuk menjalankan satu proses. Secara amnya, kontena menggunakan ciri-ciri kernel Linux seperti ruang nama (ipc, uts, mount, pid, rangkaian dan pengguna), kumpulan untuk menyediakan lapisan abstraksi di atas contoh kernel sedia ada untuk mewujudkan persekitaran terpencil yang serupa dengan mesin maya.
Tajuk imej
Rajah 1: Perbezaan antara VM dan Container
Ruang nama: Salah satu fungsi OS yang membolehkan perkongsian sumber global seperti rangkaian dan cakera untuk proses iaitu sumber global dibungkus dalam ruang nama supaya ia hanya dapat dilihat oleh proses-proses yang berjalan dalam ruang nama yang sama. Kita boleh mengambil contoh di mana pengguna perlu mendapatkan sepotong cakera dan meletakkannya di ruang nama "A" dan kemudian memproses berjalan di ruang nama "B" tidak dapat melihat atau mengaksesnya. Begitu juga, proses dalam ruang nama "A" tidak dapat mengakses apa-apa dalam memori yang diperuntukkan kepada ruang nama "B." Proses juga dalam "A" tidak dapat melihat atau bercakap dengan proses di ruang nama "B." Fungsi namespace ini memberikan pengasingan untuk sumber global dan inilah cara kerja Docker. Kernel OS mengetahui ruang nama yang diberikan kepada proses dan semasa panggilan API ia memastikan proses itu hanya dapat mengakses sumber dalam ruang nama sendiri. Docker menggunakan ruang nama ini bersama-sama untuk mengasingkan dan memulakan penciptaan bekas.
Terdapat beberapa jenis ruang nama dalam kernel yang digunakan oleh Docker, sebagai contoh:
BERSIH: Ia menyediakan bekas dengan pandangan sendiri tentang susunan rangkaian sistem (contohnya alamat IP, jadual Routing, nombor port, yang lain.
PID (ID Proses): Ruang nama PID (arahan Linux " ps -aux  "PID lajur) menyediakan kontena pandangan imbasan mereka sendiri proses termasuk init independen (PID 1), yang merupakan nenek moyang semua proses.
MNT: Ia menyediakan kontena pandangan sendiri tentang "mount" pada sistem. Oleh itu, proses-proses dalam ruang nama gunung berlainan mempunyai pandangan yang berbeza mengenai hirarki sistem fail.
UTS ( UNIX Timesharing System): Ia menyediakan satu proses untuk mengenal pasti pengenal sistem (iaitu nama host, nama domain, dll.). UTS membolehkan bekas mempunyai nama hos mereka sendiri dan nama domain NIS yang bebas daripada bekas lain dan sistem tuan rumah.
IPC (Komunikasi Interprocess) : Ruang nama IPC bertanggungjawab untuk mengasingkan sumber IPC antara proses yang berjalan di dalam setiap bekas.
USER: Ruang nama ini digunakan untuk mengasingkan pengguna dalam setiap bekas. Ia berfungsi dengan membenarkan kontena mempunyai pandangan yang berbeza dari julat UID (ID pengguna) dan gid (kumpulan ID) yang boleh berbeza di dalam dan di luar ruang nama pengguna yang menyediakan proses untuk mempunyai pengguna yang tidak berharga di luar bekas tanpa mengorbankan keistimewaan akar di dalam bekas.
Kumpulan kawalan (kumpulan): Ini adalah ciri kernel Linux yang mengasingkan dan menguruskan sumber yang berbeza seperti penggunaan CPU, memori, cakera I / O, rangkaian, dan sebagainya. Cgroup juga memastikan bahawa satu bekas tidak membuang salah satu daripada sumber tersebut dan membawa keseluruhan sistem ke bawah.

Bekas Docker

Docker adalah teknologi berasaskan bekas dan bekas hanya ruang pengguna sistem operasi. Pada tahap yang rendah, sebuah bekas hanyalah satu set proses yang terpencil dari seluruh sistem, berjalan dari imej yang berbeza yang menyediakan semua fail yang diperlukan untuk menyokong proses. Ia dibina untuk menjalankan aplikasi. Dalam Docker, bekas yang menjalankan berkongsi kernel OS tuan rumah.Docker adalah projek sumber terbuka berdasarkan bekas Linux. Ia menggunakan ciri-ciri Linux Kernel seperti ruang nama dan kumpulan kawalan untuk membuat bekas di atas sistem pengendalian. Docker melampirkan perisian aplikasi ke dalam kotak yang tidak kelihatan dengan semua yang diperlukan untuk berjalan seperti OS, kod aplikasi, Run-time, alat sistem dan perpustakaan dan lain-lain. Bekas docker dibina dari imej Docker dan imej hanya baca, So Docker menambahkan sistem fail baca-tulis melalui sistem fail baca sahaja imej untuk membuat bekas. Docker pada masa ini merupakan bekas yang paling popular dan mengapa komponen-komponen seni bina yang sangat popular dan berbeza, menggunakan kes akan menerangkan secara terperinci di bawah seksyen.

Komponen Docker:

Docker terdiri daripada enam komponen yang berbeza iaitu:
  • Docker Client;
  • Docker Daemon;
  • Docker Images;
  • Pendaftar Docker;
  • Kontena
  • Enjin Docker
Tajuk imej
Rajah 2: Komponen Docker Container Tahap Tinggi

Docker Client: Ini adalah alat CLI (Command Line Interface) yang digunakan untuk mengkonfigurasi dan berinteraksi dengan Docker. Apabila pemaju atau pengguna menggunakan arahan seperti docker run , klien menghantar arahan ini kepada Docker daemon (dockerd) yang membawa mereka keluar. Perintah docker menggunakan API Docker dan pelanggan Docker boleh berkomunikasi dengan lebih daripada satu daemon.
Docker Daemon: Ini adalah pelayan Docker yang berjalan sebagai daemon. Daemon ini mendengarkan permintaan API dan menguruskan objek Docker (imej, bekas, rangkaian, dan jumlah). Daemon juga boleh berkomunikasi dengan daemon lain untuk menguruskan perkhidmatan Docker.
Imej: Imej adalah templat / snapshot baca sahaja yang digunakan untuk membuat bekas Docker dan Imej-imej ini boleh ditarik dan ditarik dari repositori awam atau swasta.Inilah komponen pembina dermaga. Imej ringan, kecil, dan pantas berbanding dengan Imej Mesin Maya.
Fail dok: Digunakan untuk membina imej
Kontainer: Aplikasi yang dijalankan menggunakan bekas dan kontena adalah contoh yang menjalankan imej. Kita boleh membuat, menjalankan, berhenti, bergerak, atau memadamkan bekas menggunakan CLI dan juga boleh menyambungkan bekas ke satu atau lebih rangkaian, melampirkan storan ke sana, atau membuat imej baru berdasarkan keadaan semasa.
Pendaftar Docker: Ini adalah komponen pengedaran docker atau dipanggil sebagai repositori Pusat imej Dock yang menyimpan imej Docker. Hab Docker dan Docker Cloud adalah pendaftaran awam yang boleh digunakan sesiapa sahaja, dan Docker dikonfigurasikan untuk mencari imej di Hab Docker secara lalai. Apabila kami menggunakan perintah pelarik tarik atau pelindung pantau maka imej yang diperlukan ditarik dari pendaftaran yang dikonfigurasikan kami. Apabila kami menggunakan perintah push docker, imej kami akan didaftarkan ke registry dikonfigurasikan kami. Kami boleh menaik taraf aplikasi dengan menarik versi baru imej dan mengimport semula bekas.
Enjin Docker: Gabungan daemon Docker, API Rehat dan alat CLI

Kelebihan Docker

  • Mudah untuk mengalihkan aplikasi antara platform awan
  • Mengedarkan dan berkongsi kandungan
  • Mempercepat pemaju onboarding
  • Memberi kreativiti pemaju
  • Menghapuskan ketidakkonsistenan persekitaran
  • Perisian kapal lebih cepat
  • Mudah untuk skala permohonan
  • Isu pemantauan dengan cekap
  • Ringan
  • Mudah dimulakan (beberapa saat)
  • Mudah untuk berhijrah
  • Penyelenggaraan OS yang sangat kurang

Kes Use Key Docker

  • Memodenkan Aplikasi Tradisional
  • DevOps (CI / CD)
  • Awan Hibrid
  • Microservices
  • Pengoptimuman Infrastruktur
  • Data besar

Orkestra Container Docker Menggunakan Kubernetes

Dalam persekitaran kluster Docker, terdapat banyak tugas yang diperlukan untuk mengurus seperti penjadualan, komunikasi, dan kebolehkerjaan dan tugas-tugas ini dapat dijaga oleh mana-mana alat orkestrasi yang terdapat di pasaran tetapi beberapa alat yang diakui industri adalah Swap Docker yang Alat penyusun alat docker asli dan "Kubernetes" yang merupakan salah satu projek halaju tertinggi dalam sejarah sumber terbuka.
Kubernetes adalah alat pengurusan kontena (alat orkestrasi) sumber terbuka. Ia adalah tanggungjawab pengurusan kontena termasuk penggunaan kontena, penskalaan, dan penyingkiran bekas dan keseimbangan beban kontena.Terdapat perkhidmatan Kubernet berasaskan Awan yang dipanggil KaaS (Kubenetes sebagai Perkhidmatan) juga tersedia iaitu AWS ECS, EKS, Azure AKS, dan GCP GKE.
Tajuk imej
Rajah 3: Pandangan Aras Tinggi Kubernetes

Komponen Induk: Komponen induk menyediakan satah kawalan kluster dan bertanggungjawab untuk aktiviti global mengenai kluster seperti penjadualan, mengesan dan menanggapi peristiwa cluster.
  • Server API: Mengekspos API Kubernetes dan merupakan bahagian depan untuk pesawat kawalan Kubernetes.Server API adalah titik masuk untuk semua arahan REST yang digunakan untuk mengawal kluster. Ia memproses permintaan REST, mengesahkannya dan melaksanakan logik perniagaan terikat.
  • dan lain-lain: Semua data kluster disimpan dalam penyimpanan dll dan kedai kunci-kunci yang sederhana, diedarkan, konsisten. Ia digunakan terutamanya untuk penemuan konfigurasi dan penemuan perkhidmatan. Ia menyediakan API REST untuk operasi CRUD.
  • Pengawal-pengurus: Pengurus pengawal menjalankan pengawal yang mengendalikan tugas-tugas rutin dalam kluster seperti Pengawal Replikasi, Pengawal Akhir Pengawal dan lain-lain Pengawal menggunakan pelayan API untuk melihat keadaan bersama kluster dan membuat perubahan pembetulan pada keadaan semasa untuk mengubahnya kepada yang dikehendaki satu.
  • Penjadual: Penjadual mempunyai maklumat mengenai sumber yang tersedia pada anggota kelompok. Penjadual juga menonton pod baru yang tidak mempunyai nod yang ditugaskan dan memilih nod untuk dijalankan.
Komponen Nod: Komponen nod berjalan pada setiap nod, mengekalkan polongan dan menyediakannya kepada lingkungan runtime Kubernetes.
  • kubelet: Ejen nod utama yang mengawasi pod yang ditugaskan ke simpulnya dan melakukan tindakan untuk menjaga kesihatan dan berfungsi seperti vols pod volum, memuat rahasia pod, mengendalikan bekas, melakukan pemeriksaan kesihatan dan lain-lain. Kubelet mendapat konfigurasi pod dari apiserver dan memastikan bahawa bekas yang diletupkan itu berjalan dan berjalan. Ini adalah perkhidmatan pekerja yang bertanggungjawab untuk berkomunikasi dengan nod induk. Ia juga berkomunikasi dengan etcd, untuk mendapatkan maklumat tentang perkhidmatan dan menulis butiran mengenai yang baru dicipta.
  • kube-proxy: Membolehkan abstraksi perkhidmatan Kubernetes dengan mengekalkan peraturan rangkaian pada hos dan melaksanakan penghantaran sambungan.kube-proksi bertindak sebagai proksi rangkaian dan pengimbang beban untuk perkhidmatan pada satu nod pekerja tunggal. Ia menangani routing rangkaian untuk paket TCP dan UDP.
  • Docker: Ia digunakan untuk sebenarnya menjalankan bekas. Docker berjalan pada setiap nod pekerja, dan menjalankan pod dikonfigurasi. Ia mengambil alih memuat turun imej dan memulakan bekas.
.
Diterjemah dari sumber: https://dzone.com/articles/docker-containers-and-kubernetes-an-architectural
.

12 Perkara Yang Memusnahkan Produktiviti Pembangun Perisian aka Programmer

kami melihat banyak pasukan yang mengalami kerugian produktiviti yang besar dalam beberapa cara yang negatif 


.
Banyak artikel menangani peranan petunjuk teknologi dan pengurus kejuruteraan. Satu tema biasa yang sering kita temui ialah bagaimana meningkatkan produktiviti pasukan . Tetapi sebelum anda menumpukan tenaga anda untuk meningkatkan produktiviti mereka, anda mungkin perlu mempertimbangkan apa yang memusnahkannya, untuk mempunyai asas bunyi yang boleh anda bina. Malangnya, walaupun Peopleware telah diterbitkan hampir 30 tahun yang lalu, kami melihat banyak pasukan yang mengalami kerugian produktiviti yang besar dalam beberapa cara yang negatif (negatif)!
Tiada siapa yang mengharapkan seorang pengaturcara untuk mendapatkan kerja yang dilakukan tanpa akses kepada komputer, tetapi terdapat banyak syarikat yang mengharapkan pengaturcara untuk mendapatkan kerja yang dilakukan tanpa akses kepada fikiran mereka. Ini sama sekali tidak realistik.
Jadi marilah kita menyelam dalam senarai 12 perkara yang menghalang pemaju anda daripada masuk "ke zon" dan menjadi produktif. Saya akan cuba untuk mengutamakan senarai ini dari yang paling kurang kepada yang kurang berkesan. Jangan ragu untuk komen!
Jika anda tertanya-tanya sama ada semua ini bernilai pelaburan, hanya pertimbangkan gaji pemaju. Malah produktiviti 10% lebih banyak!

1) Gangguan & Mesyuarat

Gangguan adalah pembunuh produktiviti utama untuk pemaju, dalam fikiran saya. Pemaju tidak boleh dengan mudah kembali ke tempat yang betul sebelum gangguan. Mereka perlu masuk ke dalam pemikiran untuk pembangunan dan kemudian perlahan-lahan mengesan kembali ke mana mereka berhenti. Ini boleh mengambil masa lebih daripada 30 minit.Dan lebih banyak gangguan, lebih banyak kekecewaan, kerja yang kurang berkualiti, semakin banyak pepijat - dan ia berterusan.
"Semakin banyak kali anda mengarahkan saya semasa saya cuba memulakan - semakin lama setiap kali saya cuba. Jika anda mengisi pagi saya dengan gangguan - jangan terkejut apabila hari itu tidak produktif. "-A pemaju di Reddit
Bagaimana dengan mesyuarat? Satu-satunya perbezaan antara mesyuarat dan gangguan adalah bahawa mesyuarat adalah gangguan yang dirancang, yang menjadikannya lebih buruk lagi. Pemaju tidak boleh maju ke atas tugas jika mereka tahu bahawa mereka akan mengalami gangguan ketika mengerjakannya. Jadi jika mereka mengadakan pertemuan dalam satu atau dua jam, mereka tidak akan dapat maju apa-apa, kerana kebanyakan tugas kejuruteraan memerlukan lebih banyak masa.
Seperti yang ditulis Paul Graham , "Satu pertemuan tunggal boleh meniup seluruh petang dengan memecahnya menjadi dua keping, masing-masing terlalu kecil untuk melakukan apa-apa yang sukar."
Bagaimanakah ini boleh dielakkan? Bahagian ini didokumenkan dengan baik; anda tidak mempunyai alasan.Mengadakan mesyuarat status pendek pada awal hari atau sebelum makan tengah hari, sebagai contoh, untuk mengelakkan gangguan yang tidak perlu.

2) Pengurusan mikro

Daripada jenis pengurus yang berbeza, pengurus mikro mungkin paling buruk dari segi produktiviti pemaju. Pasti, pengurus mikro cenderung mempunyai lebih banyak mesyuarat dan gangguan yang tidak dirancang. Tetapi itu bukan hanya itu. Mereka menunjukkan kekurangan kepercayaan, dan dengan berbuat demikian, anda merasakan mereka sentiasa melemahkan kemahiran anda dan keupayaan anda untuk menyelesaikan sesuatu. Mana-mana motivasi pemaju yang ada antara gangguan akan pergi pada ketika itu.Kesannya melampaui produktiviti. Pengurus mikro mungkin menjadi alasan pertama untuk pemaju meninggalkan, atau sekurang-kurangnya, untuk menukar pasukan.

3) Ketiadaan

Terdapat banyak cara untuk menggambarkan kekaburan.Laporan bug seperti "Ia rosak, memperbaikinya!" Tidak mempunyai maklumat yang mencukupi untuk pemaju berfungsi. Dengan cara ini, mempunyai template laporan pepijat boleh membantu dalam kes itu.
Atau spesifikasi yang tidak jelas mengenai ciri, di mana pemaju akan mula melaksanakan apa yang dirasakan tepat kepada mereka sebelum mereka perlu bermula semula dari awal sekali apabila pengurus lebih terperinci mengenai perilaku yang diharapkan.
Keutamaan yang tidak jelas juga tergolong dalam kategori ini.Masa yang dibelanjakan seorang pembangun yang tertanya-tanya jika mereka bekerja pada tugas yang betul boleh dengan mudah dielakkan. Dan sekiranya mereka mendapat komen dari pengurus yang bertanya mengapa mereka bekerja pada tugas tertentu (sementara keutamaan tidak ditakrifkan) ... baik, anda mendapatkannya - banyak kekecewaan ...

4) Pengurusan Seagull

Pernahkah anda mendengarnya? Ia berlaku apabila pengurus benar-benar tidak terlibat dalam kerja, tetapi ... mereka hanya menyerang sekali seketika untuk mengelak segala-galanya."Ini salah, dan ini, dan ini kelihatan buruk," dan sebagainya, sebelum terbang lagi. Saya perlu mengakui saya suka imej, tetapi malangnya, ini berlaku lebih kerap daripada yang kami mahukan. Tingkah laku ini sangat mengecewakan kepada pemaju; mereka tidak dapat kembali ke zon dalam beberapa jam ke depan, dan kadang-kadang tidak selama beberapa hari.

5) Kredit Kerakitan

Pernahkah anda mempunyai pengurus atau pemaju lain yang mengambil semua kredit untuk kerja yang telah anda lakukan dalam beberapa minggu yang lalu? Pemaju nilai kecekapan di atas semua. Mengambil kredit untuk orang lain mengambil kecekapan yang lain untuk diri sendiri dan membuangnya dari dia. Ini cukup tinggi dalam senarai saya, kerana saya rasa ia mencetuskan ketegangan sehingga ia hanya memusnahkan produktiviti keseluruhan pemaju untuk seketika.

6) Persekitaran - Bunyi, Gerak, Rangka Kerja Ruang Kerja ...

Ini mungkin kelihatan aneh untuk bukan pengaturcara, tetapi persekitaran di mana pemaju bekerja mempunyai kesan penting terhadap aktiviti mereka. Sebagai contoh, mempunyai bunyi bising putih - AC kuat, kereta dan trak pendengaran digulung - membantu mereka memberi tumpuan lebih baik.Itulah sebabnya banyak daripada kita meletakkan alat dengar!Saya sebenarnya telah menemui RainyMood - sangat hebat!
Begitu juga, jika ruang kerja direka untuk mempunyai gerakan sebanyak mungkin, itu tidak akan menolong mereka fokus!Atau mempunyai skrin komputer desktop berorientasikan sedemikian rupa sehingga mereka dapat dilihat oleh para pengurus ... dengan baik, yang menimbulkan beberapa tekanan tambahan dan lebih banyak kesempatan untuk terganggu.

7) Skop Penyerapan

Skop rayapan (juga dikenali sebagai rayap fokus, merayap keperluan, merayap ciri, dan kadang-kadang sindrom sink dapur) dalam pengurusan projek merujuk kepada perubahan yang tidak terkawal dalam skop projek. Ini boleh berlaku apabila skop projek tidak ditakrifkan, didokumenkan, atau dikawal dengan betul.
Skop rayapan bertukar permintaan yang agak sederhana ke dalam raksasa yang sangat kompleks dan memakan masa!Dan kebanyakan masa ia berlaku semasa pembangunan!Sebagai contoh, untuk ciri mudah: 
  • Versi 1 (sebelum pelaksanaan): ciri ini ialah "Papar peta lokasi" 
  • Versi 2 (apabila versi 1 hampir selesai): ciri ditukar kepada "Tunjukkan peta 3D lokasi" 
  • Versi 3 (apabila versi 2 hampir selesai): ciri ini sekali lagi ditukar kepada "Tunjukkan peta 3D lokasi yang pengguna boleh terbang melalui"

8) Proses Definisi Produk

Jadi ini mungkin kelihatan aneh pada pandangan pertama tetapi sebenarnya agak mudah dimengerti. Jika pasukan produk menentukan keutamaan pasukannya tanpa mengesahkan (melalui maklum balas pelanggan atau apa-apa cara lain) kepentingan ciri-ciri yang sepadan, dan pemaju melihat bahawa kebanyakan ciri akhirnya tidak digunakan, mereka akan merasakan bahawa apa yang mereka lakukan adalah sia-sia dan akan kehilangan motivasi mereka. Kita semua mahu merasa berdampak, dan itu mungkin lebih penting kepada pemaju!

9) Kurangnya Pertimbangan Hutang Teknikal

Hutang teknikal adalah keputusan yang disengajakan untuk melaksanakan penyelesaian bukan terbaik atau menulis kod yang paling tidak tepat untuk melepaskan perisian dengan lebih cepat. Mengambil beberapa hutang teknikal tidak dapat dielakkan dan boleh meningkatkan kelajuan dalam pembangunan perisian dalam jangka pendek. Walau bagaimanapun, dalam jangka panjang, ia menyumbang kepada kerumitan sistem, yang melambatkan pemaju ke bawah. Bukan programmer sering meremehkan kehilangan produktiviti dan tergoda untuk sentiasa bergerak ke hadapan, dan itu menjadi isu. 
Tetapi jika refactoring tidak pernah menjadi sebahagian daripada keutamaan, ia bukan sahaja akan memberi kesan kepada produktiviti tetapi juga kualiti produk.

10) Alat Multiplicity & Hardware

Pemaju menggunakan banyak alat untuk program, menolak dan menggabungkan kod mereka setiap hari. Semakin banyak automasi, semakin baik. Ia tidak mengatakan bahawa jika anda menggunakan alat "kuno", ini akan memberi kesan kepada produktiviti anda. Begitu juga, mempunyai skrin besar vs hanya komputer riba yang boleh memberi impak.Memandangkan kos perkakasan dan gaji pemaju, hanya memperoleh keuntungan produktiviti sebanyak 5% pasti bernilai apa-apa pelaburan pada ketika itu! Hanya beri alat dan perkakasan yang dikehendaki oleh pasukan pembangun anda (secara individu untuk perkakasan, tetapi sebagai kumpulan untuk alat).

11) "Bagaimana" Dokumentasi

Apabila belajar bagaimana untuk kod, kami diberitahu untuk memberi komen awal dan sering. Idea ini adalah lebih baik untuk mempunyai terlalu banyak komen daripada terlalu sedikit. Malangnya, banyak pengaturcara tidak betul mentafsirkan ini bermakna mereka mesti memberi komen setiap baris kod, sebab itulah kami sering melihat kod seperti ini (dari jawatan Jeff Atwood pada "Coding Without Comments" ):
r = n / 2; // Set r to n divided by 2 // Loop while r — (n/r) is greater than t while ( abs( r — (n/r) ) > t ) { r = 0.5 * ( r + (n/r) ); // Set r to half of r + (n/r)} 
Adakah anda mempunyai idea apa kod ini? Saya tidak.Masalahnya adalah bahawa walaupun terdapat banyak komen menggambarkan apa yang dilakukan oleh kod, tidak ada yang menggambarkan mengapa ia melakukannya. Sekiranya terdapat bug dalam program ini dan anda tersandung kod ini, anda tidak akan tahu di mana hendak bermula.

12) Deadlines yang Ketat

Yang terakhir ini dikaitkan dengan kecenderungan para pengurus untuk meminta pemaju untuk membuat anggaran, kemudian tolak mereka untuk menurunkan anggaran tersebut sebanyak mungkin, dan kemudian secara ajaib menganggapnya sebagai tarikh akhir! Pengurus akan menganggapnya, kerana pemaju sendiri "membuat keputusan" atas anggaran, mereka komited kepada tarikh akhir, dan oleh itu, tarikh akhir harus dianggap cukup sah untuk dikongsi dengan pengurusan atasan.
Tidak menghairankan, pemaju merasakan bahawa tarikh akhir tersebut tidak munasabah dan sewenang-wenangnya ketat; ini mewujudkan ketegangan dan ketidakupayaan untuk memberi tumpuan.
Bagaimana semua perkara yang unik kepada pemaju? Jika anda melihat semua 12 perkara, mereka sebenarnya cukup biasa untuk kebanyakan pekerjaan berasaskan projek lain.Hanya impak setiap ini adalah lebih penting bagi pemaju, kerana mereka memerlukan fokus yang mendalam untuk maju ke atas tugas mereka.
Jika anda mengenali beberapa perkara yang disebutkan di atas dalam syarikat anda, mungkin menarik untuk mengatasinya dengan pemaju anda. Bercakap dengan mereka;mengetahui sama ada ini adalah isu dan bagaimana ia dapat diselesaikan. Apa sahaja yang mereka katakan, perkara yang paling penting ialah mempercayai maklum balas dan pandangan mereka. Dan sementara teknologi hari ini sangat berbeza dari 30 tahun yang lalu, pelajaran masih sama. Anda tidak boleh mengabaikan faktor manusia apabila anda mempertimbangkan produktiviti pasukan. Terangkan proses, persekitaran dan tabiat kerja anda dengan pasukan anda, dan biarkan mereka membimbing anda tentang bagaimana produktiviti dan impak yang tinggi.
.
Diterjemah dari sumber asal: https://dzone.com/articles/top-12-things-that-destroy-developer-productivity?edition=407250
.

Sunday, November 05, 2017

Penang floods: FB activates Safety Check


.
PETALING JAYA: Facebook users can now use ‘The Flooding in Penang, Malaysia’ Crisis Response page to stay informed and coordinate help for the Penang floods.

Available at http://bit.ly/2hIa6oU, the page also provides the Safety Check feature so people can connect with their friends and loved ones.

According to Facebook’s Help Centre, Safety Check is activated if enough people in an affected area post about an incident.

“When an incident such as an earthquake, hurricane, mass shooting or building collapse occurs where people might be in danger, a global crisis reporting agency alerts Facebook,” it added.


Other can check in on their friends in the affected area with the ‘Ask If Safe’ feature,

Clicking on the Support tab will aid Facebook users in giving or finding help, should one be in the affected areas.

As of Sunday night, there are 20 posts asking for assistance and over 150 posts offering help, with people extending aid in the form of food, water, transportation, school uniforms, and even pet supplies.


Read more at http://www.thestar.com.my/news/nation/2017/11/05/fb-safety-check-penang-floods/#7yDO9KRKhcRcL4H3.99.

Monday, October 02, 2017

Apakah kuasa elektrik?

Sistem komputer kebiasaannya dihidupkan dengan kuasa elektrik. Maka seseorang pengguna atau penyelenggara sistem komputer perlu mengetahui sedikit pengetahuan tentang kuasa elektrik.


1. Sistem komputer kebiasaannya dihidupkan dengan kuasa elektrik. Maka seseorang pengguna atau penyelenggara sistem komputer perlu mengetahui sedikit pengetahuan tentang kuasa elektrik.

2. Kuasa elektrik bermaksud kuasa yang dihasilkan melalui aliran cas elektrik. Menurut kajian, sesuatu unit kecil bahan kimia yang dipanggil atom mengandungi partikel proton, neutron dan electron. Kesemuanya berada di dalam atom kecuali Electron berlegar di luar dan boleh berpindah di antara atom.




3. Terdapat keadaan di mana elektron ditendang keluar dari dari satu orbit atom dan masuk ke orbit yang lain. Keadaan inilah yang menghasilkan arus elektrik atau kuasa elektrik.





Wednesday, August 23, 2017

Tips Menulis Tajuk Yang Mencapai Rating Tinggi


.
Tips Menulis Tajuk: Bayangkan bagaimana pengguna mencari tajuk artikel anda
Tajuk adalah elemen terpenting bagi sesebuah artikel. Ia adalah elemen permulaan yang akan dicari dan dinilai pembaca sebelum mereka melihat elemen lain seperti gambar atau petikan.
Untuk memudahkan pengguna mencari artikel anda, fikirkan perkataan-perkataan yang mungkin timbul di fikiran mereka ketika membuat carian samada melalui Google atau Facebook. Gunakan perkataan yang biasa digunakan dalam bidang yang anda tulis. Elakkan perkataan yang jarang digunakan atau istilah paras tinggi yang mungkin wujud dalam bidang tersebut tetapi kurang digunakan.
Fokus utama kita menyediakan tajuk adalah untuk memudahkan pembaca mencari dan mendapat gambaran keseluruhan tentang apa yang kita tulis. Oleh itu pilihlah tajuk yang mudah difahami pembaca dan bukan tajuk yang kita seorang sahaja faham atau suka.
Di bawah ini adalah contoh tajuk yang saya sediakan bagi kandungan teknikal untuk blog www.Programming-Steps.blogspot.com (Perhatikan tajuknya yang sudah memberi gambaran tentang kandungan blog tersebut)
Tajuk-tajuk yang digunakan adalah ringkas sahaja. Tajuk yang ringkas akan lebih mudah dijumpai kerana perkataan-perkataan yang digunakan hampir menyamai apa yang terlintas untuk ditaip oleh pengunjung di dalam Carian Google atau Facebook.
Jika anda lawat artikel bertajuk Hello World Program Flow Chart, anda akan dapati kandungannya sedikit sahaja. Pengajarannya, tajuk yang ‘power’ berupaya menarik perhatian pembaca dan menaiki ranking Carian Google. (Tajuk ini menduduki tempat pertama bagi jumlah keseluruhan artikel carian sebanyak 1,470,000 bertarikh 24 Ogos 2017).

Saya dapati laman aplikasi diagram Creately.com cuba mengambil kesempatan di atas populariti artikel ini dengan menyelitkan pautan kepada www.creately.com dalam komen seorang pengunjung. (Lihat screenshot di bawah). Nakal juga mereka ini.😂


Tajuk artikel kedua iaitu Modular Program Flow Chart menduduki tempat pertama dalam ranking Carian Google dari sejumlah 6,210,000 artikel yang berkaitan bertarikh 24 Ogos 2017. Setiap perkataan dalam tajuk ini mempunyai pemberatnya (kerap dicari) maka sebab itu jumlah artikel yang berkaitan sangat tinggi.

Jika anda perhatikan tajuk artikel ketiga pula iaitu Edit Array Values Program Flow Chart, sebenarnya ia adalah gabungan dua tajuk iaitu  “Edit Array Values” dan “Program Flow Chart”. Pengajarannya, tajuk bagi artikel yang disiarkan di Internet tidak semestinya tajuk yang lengkap atau sempurna tatabahasanya. Perkataan kata sendi seperti “and” atau “the” dan simbol seperti “,” atau “:” atau “;” akan disisihkan oleh Enjn Carian. Asalkan perkataan atau frasa itu munasabah untuk dicari dan difahami, ia akan mudah menaiki ranking Carian Google. (Tajuk ini menduduki tempat pertama bagi jumlah keseluruhan artikel carian sebanyak 2,650,000 bertarikh 24 Ogos 2017).
.