Tuesday, December 06, 2016

Soalan Asas Linux



1. Apakah Linux?

Linux adalah sejenis Sistem Operasi Komputer berdasarkan UNIX yang diperkenalkan oleh Linus Torvalds. Ia berasaskan Linux Kernel, dan boleh dijalankan di atas berbagai pelantar perkakasan (hardware platform) yang dikeluarkan oleh Intel, MIPS, HP, IBM, SPARC dan Motorola.

2. Apakah jenis pengkelasan Sistem Operasi Linux?

Linux adalah sistem operasi yang menyokong Multi User, Multi Tasking, dan menjalankan pelbagai proses yang melaksanakan berbagai tugas serentak.

3. Apakah perbezaan di antara UNIX dan LINUX?

UNIX berasal dari sistem operasi yang dibangunkan oleh Bell Laboratories, yang kemudiannya berkembang menjadi berbagai versi komersil. Manakala Linux pula adalah percuma, sumber terbuka dan disasarkan untuk menjadi sistem kegunaan semua.

4. Apakah kelebihan Sumber Terbuka?

Sumber terbuka membolehkan kita mengedarkan perisian, termasuk kod sumbernya kepada sesiapa sahaja yang berminat. Pembangun perisian boleh menambahkan ciri-cirinya malah boleh memperbetulkan ralat yang terdapat di dalam kod sumber. Dengan itu, ia memberi manfaat kepada komuniti.

5. Apakah komponen asas Linux?

Komponen asas terdiri daripada: kernel, shell dan GUI, utiliti dan aplikasi. Apa yang membezakan Linux berbanding Sistem Operasi yang lan adalah segenap aspeknya mempunyai ciri tambahan dan kesemua kod program boleh dimuat turun secara percuma.

6. Apakah teras Sistem Operasi Linux?

Teras Linux adalah Kernel.

7. Apakah Linux Kernel?

Linux Kernel adalah perisian paras-rendah (low-level) yang berperanan mengawal perkakasan. Ia juga menyediakan antaramuka untuk interaksi manusia-mesin.

8. Apakah Linux Shell?

Linux shell adalah bahasa arahan interpreter yang melaksanakan arahan yang diterima melalui peranti input (keyboard) atau fail. Shell bukan sebahagian dari Kernel Sistem, tetapi ia menggunakan Kernel Sistem untuk menjalankan perisian, mencipta fail dll.

9. Apakah Linux BASH?

BASH adalah akronim untuk Bourne Again SHell. Ia ditulis oleh Steven Bourne sebagai ganti kepada Bourne Shell (yang diwakili oleh /bin/sh). Ia menggabungkan semua ciri yang ada pada Bourne Shell bersama fungsi tambahan yang lebih mudah dan selesa digunakan. Ia telah diterima sebagai default shell bagi sistem yang menjalankan Linux.

10. Apakah Linux Script?

Script adalah koleksi arahan yang disimpan di dalam fail untuk melaksanakan tugas secara automatik.

11. Apakah CLI?

CLI adalah singkatan kepada Command Line Interface. Ia membantu pengguna memberikan arahan kepada komputer melalui teks yang bersifat deklaratif iaitu gabungan perkataan yang boleh dibaca dan difahami secara literal.

12. Apakah contoh Arahan Linux?

Command [options][arguments]

13. Apakah GUI?

GUI, Antaramuka Grafik Pengguna, menggunakan imej dan ikon yang boleh diklik oleh pengguna sebagai cara pengguna berintreaksi dengan komputer. Pengguna tidak perlu mengingati teks arahan sebaliknya mengecam penggunaan grafik atau ikon sebagai simbol mewakili arahan tertentu.

14. Apakah kaedah alternatif kepada pemasangan Linux secara GUI?

Linux juga boleh dipasang secara arahan teks.

15. Terangkan root account.

Root account adalah seperti akaun pentadbir sistem. Ia membolehkan kita mengawal keseluruhan sistem. Melalui akaun ini, akaun pengguna lain akan dicipta. Root account adalah default account apabila Linux dipasang ke sistem komputer.


Diterjemah dari: http://www.learnitguide.net/2015/11/linux-interview-questions-and-answers-for-beginners.html




Sunday, August 28, 2016

Kenapakah Ionic Popular?


.
KENAPA IONIC? DI MANAKAH IA DIGUNAKAN?

Ionic adalah sejenis Framework untuk pembangunan aplikasi mobile berdasarkan HTML5 Framework yang mana sasarannya adalah untuk menghasilkan Hybrid Mobile Apps.

Hybrid Mobile Apps bermaksud website kecil yang dijalankan melalui browser shell di dalam Mobile Apps yang mampu mengakses fungsi native sesebuah mobile platform. Hybrid Mobile Apps mempunyai banyak kelebihan terutamanya dari segi sokongan platform, kepantasan pembangunan dan capaian kepada 3rd party code.

Bayangkan Ionic sebagai satu front-end framework yang menguruskan look-and-feel dan UI interactions yang diperlukan oleh Mobile Apps anda supaya ia menarik. Hal ini seumpama "Bootstrap untuk Native", tetapi pada masa yang sama masih mempunyai sokongan dari berbagai native mobile components, animasi yang lancar dan rekabentuk yang cantik.

Berbeza dengan Responsive Framework, Ionic mempunyai paparan yang sama seperti native-styled mobile UI dan layout. Namun demikian, oleh kerana Ionic masih lagi sejenis HTML5 Framework, ia memerlukan Native Wrapper seperti Cordova atau PhoneGap untuk membolehkan ia berfungsi seperti mana sifat Native Mobile Apps. Pencipta Ionic mengesyorkan pembangun menggunakan Cordova.


KENAPA IONIC DIBINA?

Ionic dibina kerana penciptanya percaya bahawa HTML5 akan mendominasi persekitaran mobile pada suatu hari nanti sepertimana hal yang berlaku pada persekitaran desktop. Apabila komputer desktop mempunyai keupayaan yang tinggi dan teknologi browser semakin maju, hampir setiap orang menghabiskan masanya dengan browser dan pembangun perisian berlumba-lumba membangunkan aplikasi berasaskan Web. Dengan meningkatnya keupayaan mobile technology, smartphones dan tablets, hal yang sama akan berlaku di sini pada suatu hari nanti.

Dengan Ionic, penciptanya mahu membina HTML5 Mobile Development Framework yang memberi tumpuan kepada Native atau Hybrid Apps dan bukan Mobile Websites, kerana pembangunan website kini sudahpun mempunyai tools yang hebat. Maknanya, Ionic tidak dihasratkan untuk dijalankan di dalam mobile browser app seperti Chrome atau Safari sebaliknya di dalam low-level browser shell seperti UIWebView dalam iOS atau WebView dalam Android yang akan dibalut (wrap) oleh teknologi seperti Cordova/PhoneGap.

Penciptanya juga mahukan Ionic menjadi sumber terbuka dengan disokong oleh pembangunan komersil dan terbuka serta menyediakan komuniti yang kuat bagi projek ini. Sudah terdapat beberapa framework sumber terbuka mirip Ionic di pasaran tetapi hakikatnya mereka masih menghendaki pembangun membeli Lesen Komersil untuk meraih semua manfaatnya.

MEMBINA HYBRID APPS DENGAN IONIC

Mereka yang sudah biasa dengan pembangunan akan mendapati struktur ionic mudah. Pada dasarnya, ia adalah web page yang dijalankan di dalam native app shell! Ini bermakna kita akan menggunakan apa sahaja kaedah HTML, CSS dan JavaScript yang kita kehendaki. Bezanya, tanpa membangunkan website kebiasaan, kita membina aplikasi mobile yang tersendiri.

Hampir kebanyakan kod ditulis dalam HTML, JavaScript dan CSS. Jika pembangun berminat, mereka boleh turut melihat native code di dalam Plugin Cordova (tetapi tanpa berbuat demikianpun anda masih boleh menjadi pembangun Ionic yang hebat).

Ionic juga menggunakan AngularJS Framework sebagai terasnya. Walaupun anda boleh mengelak dari menggunakan kod AngilarJS di dalam projek anda, adalah disyorkan ia turut disekalikan kerana ia adalah antara kaedah terbaik bagi membina aplikasi berdasarkan browser pada hari ini.


Artikel ini disesuaikan dari kandungan asal di http://ionicframework.com/docs/guide/preface.html





Saturday, August 27, 2016

Maksud DevOps


.
Apakah Maksud DevOps?

DevOps adalah gabungan dua perkataan iaiatu DEVeloper dan OPerationS. Ia adalah budaya, pergerakan atau amalan yang menekankan perlunya kolaborasi dan komunikasi di antara pembangun perisian dengan pakar IT yang lain semasa proses automasi penyerahan perisian dan perubahan infrastruktur.


DevOps (a clipped compound of development and operations) is a culture, movement or practice that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the process of software delivery and infrastructure changes.
DevOps - Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/DevOpsWikipedia

Peringkat Pembangunan Sistem Tipikal Masakini


.
Apakah peringkat tipikal yang terlibat dalam pembangunan aplikasi masakini?
What are the typical stages involved in the application development nowadays?

Kebanyakan projek pembangunan aplikasi masakini mengamalkan pendekatan Waterfall atau Agile. Namun, peringkat tipikal pembangunan melibatkan perkara yang hampir sama iaitu bermula dengan lakaran rekabentuk dan antaramuka, diikuti dengan prototype/mockup dan disudahi dengan pembangunan Back-End seperti database.


Artikel di bawah membincangkan dengan lebih lanjut tentang Waterfall dan Agile. (Diambil dari: http://www.base36.com/2012/12/agile-waterfall-methodologies-a-side-by-side-comparison/) (Baca juga: http://www.seguetech.com/waterfall-vs-agile-which-is-the-right-development-methodology-for-your-project/)

Agile & Waterfall Methodologies – A Side-By-Side Comparison

There’s a saying that goes “there’s more than agileone way to skin a cat.” Fortunately for cats everywhere, we’re not going to skin one. We’re simply applying this logic to software development.

There are several ways to develop software, two of the most prominent methods being waterfall and Agile. And as anytime there are two ways to go about something, a debate rages about which is best. Does it matter really? Doesn’t either way give you a product (or, well, a skinned cat)?

We’ll let you decide. Today, we’re arming you with information about both waterfall and Agile methodologies so that you can make an informed decision as to what you think is best.





What is the waterfall methodology?
Much like construction and manufacturing workflows, waterfall methodology is a sequential design process. This means that as each of the eight stages (conception, initiation, analysis, design, construction, testing, implementation, and maintenance) are completed, the developers move on to the next step.

As this process is sequential, once a step has been completed, developers can’t go back to a previous step – not without scratching the whole project and starting from the beginning. There’s no room for change or error, so a project outcome and an extensive plan must be set in the beginning and then followed carefully.





Advantages of the Waterfall Methodology
1. The waterfall methodology stresses meticulous record keeping. Having such records allows for the ability to improve upon the existing program in the future.

2. With the waterfall methodology, the client knows what to expect. They’ll have an idea of the size, cost, and timeline for the project. They’ll have a definite idea of what their program will do in the end.

3. In the case of employee turnover, waterfall’s strong documentation allows for minimal project impact.





Disadvantages of the Waterfall Methodology
1. Once a step has been completed, developers can’t go back to a previous stage and make changes.

2. Waterfall methodology relies heavily on initial requirements. However, if these requirements are faulty in any manner, the project is doomed.

3. If a requirement error is found, or a change needs to be made, the project has to start from the beginning with all new code.

4. The whole product is only tested at the end. If bugs are written early, but discovered late, their existence may have affected how other code was written.

Additionally, the temptation to delay thorough testing is often very high, as these delays allow short-term wins of staying on-schedule.

5. The plan doesn’t take into account a client’s evolving needs. If the client realizes that they need more than they initially thought, and demand change, the project will come in late and impact budget.





When should you use waterfall methodology?
1. When there is a clear picture of what the final product should be.

2. When clients won’t have the ability to change the scope of the project once it has begun.

3. When definition, not speed, is key to success.





What is Agile?
Agile came about as a “solution” to the disadvantages of the waterfall methodology. Instead of a sequential design process, the Agile methodology follows an incremental approach.

Developers start off with a simplistic project design, and then begin to work on small modules. The work on these modules is done in weekly or monthly sprints, and at the end of each sprint, project priorities are evaluated and tests are run. These sprints allow for bugs to be discovered, and customer feedback to be incorporated into the design before the next sprint is run.

The process, with its lack of initial design and steps, is often criticized for its collaborative nature that focuses on principles rather than process.





Advantages of the Agile Methodology
1. The Agile methodology allows for changes to be made after the initial planning. Re-writes to the the program, as the client decides to make changes, are expected.

2. Because the Agile methodology allows you to make changes, it’s easier to add features that will keep you up to date with the latest developments in your industry.

3. At the end of each sprint, project priorities are evaluated. This allows clients to add their feedback so that they ultimately get the product they desire.

4. The testing at the end of each sprint ensures that the bugs are caught and taken care of in the development cycle. They won’t be found at the end.

5. Because the products are tested so thoroughly with Agile, the product could be launched at the end of any cycle. As a result, it’s more likely to reach its launch date.





Disadvantages of Agile Methodology
1. With a less successful project manager, the project can become a series of code sprints. If this happens, the project is likely to come in late and over budget.

2. As the initial project doesn’t have a definitive plan, the final product can be grossly different than what was initially intended.





When should you use Agile methodology?
1. When rapid production is more important than the quality of the product.

2. When clients will be able to change the scope of the project.

3. When there isn’t a clear picture of what the final product should look like.

4. When you have skilled developers who are adaptable and able to think independently.

5. When the product is intended for an industry with rapidly changing standards.





Both the Agile and waterfall methodologies have their strengths and weaknesses. The key to deciding which is right for you comes down to the context of the project. Is it going to be changing rapidly? If so, choose Agile. Do you know exactly what you need? Good. Then maybe waterfall is the better option. Or better yet? Consider taking aspects of both methodologies and combining them in order to make the best possible software development process for your project.

Maksud Elasticsearch


.
Apakah maksud Elasticsearch?

Elasticsearch adalah sejenis enjin carian berdasarkan sistem Lucene. Ia menyediakan enjin carian bagi persekitaran perkomputeran teragih melalui antaramuka web dan format JSON (Java Script Object Notation). Ia dibina menggunakan Bahasa Java dan diedarkan sebagai Sumber Terbuka melalui Perlesenan Apache. Ia adalah sejenis Enterprise Search Engine yang popular dikikuti kemudiannya oleh Apache Solr, yang juga berdasarkan Lucene.

Elasticsearch dibangunkan oleh Shay Banon melalui projek perintis Compass pada tahun 2004. Kemudiannya aplikasi ini ditulis semula agar dapat menyokong konsep "scalable search solution" menggunakan antaramuka kebanyakan iaitu JSON dan HTTP yang membolehkan sistem ini turut dapat digunakan oleh bahasa pengaturcaraan selain Java. Versi pertama Elasticsearch diedarkan pada Februari 2010.

Syarikat Elasticsearch BV telah ditubuhkan pada tahun 2012 untuk menawarkan perkhidmatan komersial yang berkaitan dengan Elasticsearch. Pada bulan Jun 2014, kira-kira 18 bulan selepas ia ditubuhkan, syarikat tersebut mengumumkan telah berjaya mengumpul dana sebanyak 70 Juta US Dollar. Ini menunjukkan bahawa terdapat minat yang tinggi di kalangan stakeholders terhadap teknologi seumpama ini.

Elasticsearch boleh digunakan untuk mencari maklumat dalam berbagai jenis dokumen. Ia boleh dijalankan dalam sistem perkomputeran teragih. Antara pengguna utama Elasticsearch adalah Wikimedia, Facebook, StumbleUpon, Mozilla, Quora, Stack Exchange, Pixabay dan lain-lain.


.