Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Công-nghệ-và-công-cụ-lập-trình

 Công-nghệ-và-công-cụ-lập-trình

Tìm hiểu một số công cụ và công nghệ nổi bật được chú ý

6ddf14675dfb386411b41f6737bc758f?s=128

thanhgit

June 21, 2020
Tweet

Transcript

  1. LOGO “ Add your company slogan ” CÔNG CỤ VÀ

    CÔNG NGHỆ LẬP TRÌNH Thanh Nguyen
  2. http://blogcongdong.com Nội dung Giới thiệu 1 2 3 4 Tổng

    quan về phát triển phần mềm Một số công cụ phổ biến Một số công nghệ phổ biến
  3. 1. Giới thiệu Ngày nay lĩnh vực công nghệ thông

    tin rất phát triển, bên trong đó là ngành kỹ thuật phần mềm là 1 trong những vũ khí chính. Để làm ra 1 phần mềm chất lượng đòi hỏi nhiều yếu tố. Một trong những yếu tố đó chính là có kiến thức và nắm vững về công nghệ và các công cụ trong lập trình
  4. Các khái niệm Công cụ lập trình là gì? Công

    cụ lập trình là các công cụ hỗ trợ quá trình phát triển phần mềm, là những phương tiện giúp cho việc ứng dụng công nghệ, hỗ trợ cho qui trình phát triển phần mềm, phục vụ cho mục tiêu tạo ra sản phẩm phần mềm . Các công cụ phát triển phần mềm bao gồm các công cụ phát triển tích hợp (IDE), công cụ kiểm thử phần mềm, công cụ bảo trì phần mềm, công cụ quản lý mã nguồn, …
  5. Các khái niệm Công nghệ là gì? Công nghệ là

    sự tạo ra, sự biến đổi, việc sử dụng, và kiến thức về các công cụ, máy móc, kỹ thuật, kỹ năng nghề nghiệp, hệ thống, và phương pháp tổ chức, nhằm giải quyết một vấn đề, cải tiến một giải pháp đã tồn tại, đạt một mục đích, hay thực hiện một chức năng cụ thể.
  6. 2. Tổng quan về phát triển phần mềm Methods Tools

    Technology Products
  7. Phương pháp • Các quy trình phát triển phần mềm

    • Các phương pháp lập trình
  8. Công nghệ Một số công nghệ như : ❖ Công

    nghệ Web ❖ Công nghệ Mobile ❖ Công nghệ điện toán đám mây ❖ Internet of Things ❖ Big Data ❖ Blockchain
  9. Công cụ • Công cụ phân tích, thiết kế phần

    mềm • Công cụ lập trình phần mềm • Công cụ kiểm thử phần mềm • Công cụ quản lý phần mềm
  10. 3. Một số công cụ phổ biến

  11. 3.1 Android studio Android Studio là môi trường phát triển

    tích hợp (IDE) chính thức dành cho phát triển nền tảng Android. Ứng dụng được phát triển trên Android Studio đa số sử dụng ngôn ngữ lập trình Java (ngày nay có thêm Kotlin) . Android Studio bao gồm Android SDK và Gradle tooling .
  12. 3.1 Android studio Nó được ra mắt vào ngày 16

    tháng 5 năm 2013 tại hội nghị Google I/O. Android Studio được phát hành miễn phí theo giấy phép Apache Licence 2.0 Android Studio ở giai đoạn truy cập xem trước sớm bắt đầu từ phiên bản 0.1 vào tháng 5.2013, sau đó bước vào giai đoạn beta từ phiên bản 0.8 được phát hành vào tháng 6 năm 2014. Phiên bản ổn định đầu tiên được ra mắt vào tháng 12 năm 2014, bắt đầu từ phiên bản 1.0. Dựa trên phần mềm IntelliJ IDEA của JetBrains, Android Studio được thiết kế đặc biệt để phát triển ứng dụng Android. Nó hỗ trợ các hệ điều hành Windows, Mac OS Xvà Linux, và là IDE chính thức của Google để phát triển ứng dụng Android gốc để thay thế cho Android Development Tools (ADT) dựa trên Eclipse. Lịch sử phát triển:
  13. 3.1 Android studio Các tính năng: ❖ Công cụ code

    thông minh ❖ Mẫu Code và tích hợp GitHub ❖ Phát triển ứng dụng cho nhiều màn hình ❖ Các thiết bị ảo nhiều kích thước và hình dạng ❖ Build dự án dùng Gradle 1 cách nhanh chóng
  14. 3.1 Android studio Hướng dẫn cài đặt: Bước 1 Cần

    tải và cài đặt JDK, có thể download trên trang chủ oracle http://www.oracle.com/technetwork/java/javase/down loads/index.html Bước 2 Tải Android Studio tại : https://developer.android.com/studio/index.html
  15. 3.2 Visual studio Microsoft Visual Studio là một môi trường

    phát triển tích hợp (IDE) từ Microsoft. Nó được sử dụng để phát triển chương trình máy tính cho Microsoft Windows, cũng như các trang web, các ứng dụng web và các dịch vụ web.
  16. Lịch sử phát triển của Microsoft Visual Studio ▪ Microsoft

    Visual Studio 97 -Microsoft lần đầu ra mắt Visual Studio vào năm 1997 và tích hợp nhiều công cụ phát triển đi kèm. Visual Studio 97 có 2 phiên bản là Professional and Enterprise. -Thử nghiệm việc sử dụng cùng một môi trường phát triển WinAPI cho nhiều ngôn ngữ như : Visual C++, Visual J++, InterDev
  17. Lịch sử phát triển của Microsoft Visual Studio ▪ VISUAL

    STUDIO 6.0 -Microsoft ra mắt Visual Studio 6.0 vào năm 1998 có một số cả thiện cho Visual Studio 97 . -Là nền tảng cho .NET Framework .
  18. Lịch sử phát triển của Microsoft Visual Studio ▪ VISUAL

    STUDIO .NET (2002) -Được Microsoft ra mắt vào tháng 2 năm 2002. -Biên dịch theo ngôn ngữ MSIL (Microsoft Intermediate Language) -Sử dụng .Net Framework , hỗ trợ giao diện lập trình
  19. Lịch sử phát triển của Microsoft Visual Studio ▪ VISUAL

    STUDIO .NET (2003) - Được Microsoft hoàn thành vào năm 2003 - Cải thiện thêm trình biên dịch. - Hỗ trợ phát triển ứng dụng di dộng (.Net Compact framework)
  20. Lịch sử phát triển của Microsoft Visual Studio ▪ VISUAL

    STUDIO 2005 - Visual Studio 2005 ra đời vào tháng 10/2005 với .NET version 2.0. - Nâng cấp .Net FrameWork . - Tích hợp công cụ Microsoft Office .
  21. Các đặc điểm của Visual studio ▪ Hỗ trợ nhiều

    ngôn ngữ lập trình . ▪ Hỗ trợ Debug một cách mạnh mẽ , dễ dàng nhất ▪ Giao diện lập trình đơn giản , dễ sử dụng ▪ Hỗ trợ phát triển các ứng dụng desktop, mobile , web ▪ Hỗ trợ tích hợp và sử dụng các thư viện từ bên ngoài , các công nghệ đám mây , xử lý thời gian thực .
  22. 3.3 Netbean -Netbeans IDE là một môi trường phát triển

    tích hợp do Sun Microsystems, một công cụ lập trình để phát triển các chương trình máy tính . -Ban đầu được sử dụng để phát triển các ứng dụng Java , nhưng về sau được mở rộng để phát triển các ứng dụng PHP, C,C++,HTML,Javascript,CSS ,… -Được cài đặt trên nhiều hệ điều hành khác nhau bao gồm Windows, MacOS và các bản phân phối phổ biến của Linux khác như Ubuntu hay Mint .
  23. 3.3 Netbean Ưu điểm: • Chỉnh sửa mã nhanh và

    thông minh • Quản lý dự án dễ dàng và hiệu quả • Phát triển giao diện người dùng nhanh • Viết mã lỗi miễn phí Nhược điểm: IDE miễn phí này tiêu thụ rất nhiều bộ nhớ, do đó nó có thể chậm trên một số máy.
  24. 3.3 Netbean Các ứng dụng được phát triển trên IDE

    : 1. Java SE 2. Java ME 3. Java EE 4. Các ứng dụng server side (EJB) 5. Các web tĩnh 6. Ứng dụng di dộng (Android,J2ME)
  25. 4.Một số công nghệ phổ biến

  26. 4.1 Công nghệ AJAX Ajax là gì ? -Ajax (asynchronous

    javascript and xml) là một công nghệ để tạo ra ứng dụng web động giàu tính tương tác , chạy nhanh , đẹp và mượt mà hơn , giúp tăng trải nghiệm người dùng . -Ajax cho phép các trang web được cập nhật dữ liệu một cách không đồng bộ .
  27. Mô hình hoạt động AJAX

  28. Đặc điểm AJAX Ưu điểm : 1. Giảm lượng lớn

    băng thông và thời gian nạp trang 2. Tăng trải nghiệm người dùng , tăng tính tương tác 3. Hỗ trợ hầu hết các trình duyệt hiện nay Nhược điểm: 1. Khiến người dùng hạn chế sử dụng nút “ back ” khi duyệt web 2. Gây khó khăn khi bookmark lại trang web 3. Không sử dụng được với các trình duyệt hoặc nền tảng duyệt web không hỗ trợ javascript
  29. 4.2 Công nghệ Docker • Docker là một nền tảng

    mở cho phát triển, vận chuyển và chạy ứng dụng. • Docker cho phép bạn tách các ứng dụng ra khỏi cơ sở hạ tầng của mình để có thể cung cấp phần mềm một cách nhanh chóng. • Với Docker, chúng ta có thể quản lý cơ sở hạ tầng theo cùng cách quản lý ứng dụng của mình. • Bằng cách tận dụng các phương pháp của Docker để vận chuyển, thử nghiệm và triển khai mã một cách nhanh chóng, bạn có thể làm giảm đáng kể sự chậm trễ giữa việc viết mã và chạy nó trong sản xuất
  30. 4.2 Công nghệ Docker

  31. Ưu điểm của docker Ease of use: Docker rất dễ

    cho mọi người sử dụng từ developers, systems admins, architects... nó tận dụng lợi thế của container để build, test nhanh chóng. Có thể đóng gói ứng dụng trên laptop của họ và chạy trên public cloud, private cloud… Câu thần chú là “Build once, run anywhere”. Speed: Docker container rất nhẹ và nhanh, bạn có thể tạo và chạy docker container trong vài giây so sánh với VMs thì mỗi lần chạy VMs cần rất nhiều thời gian khởi động. DockerHub: là một “app store for docker images”. trên DockerHub có hàng ngàn public images được tạo bởi cộng đồng. Dễ dàng tìm thấy những image mà bạn cần và chỉ cần pull về và sử dụng với một số sửa đổi nhỏ. Modularity and Scalability: Bạn có thể chia nhỏ những chức năng của ứng dụng thành các container riêng lẻ.
  32. 4.3 Công nghệ điện toán đám mây Theo IBM, điện

    toán đám mây, hay nói ngắn gọn là đám mây, là việc cung cấp tài nguyên máy tính cho người dùng tùy theo mục đích sử dụng thông qua kết nối Internet. Nguồn tài nguyên đó có thể là bất kì thứ gì liên quan đến điện toán và máy tính, ví dụ như phần mềm, phần cứng, hạ tầng mạng cho đến các máy chủ và mạng lưới máy chủ cỡ lớn.
  33. 4.3 Công nghệ điện toán đám mây • Thuật ngữ

    điện toán đám mây xuất hiện bắt nguồn từ ứng dụng điện toán lưới (grid computing) trong thập niên 1980, tiếp theo là điện toán theo nhu cầu (utility computing) và phần mềm dịch vụ (SaaS). • Điện toán lưới đặt trọng tâm vào việc di chuyển một tải công việc (workload) đến địa điểm của các tài nguyên điện toán cần thiết để sử dụng. Một lưới là một nhóm máy chủ mà trên đó nhiệm vụ lớn được chia thành những tác vụ nhỏ để chạy song song, được xem là một máy chủ ảo. • Với điện toán đám mây, các tài nguyên điện toán như máy chủ có thể được định hình động hoặc cắt nhỏ từ cơ sở hạ tầng phần cứng nền và trở nên sẵn sàng thực hiện nhiệm vụ, hỗ trợ những môi trường không phải là điện toán lưới như Web ba lớp chạy các ứng dụng truyền thống hay ứng dụng Web 2.0. Lịch sử
  34. Mô hình dịch vụ trong điện toán đám mây

  35. Infrastructure as a service Infrastructure as a service (IaaS) là

    tầng thấp nhất của Điện toán đám mây, nơi tập hợp các tài sản vật lý như các phần cứng máy chủ, hệ thống lưu trữ và các thiết bị mạng, được chia sẻ và cung cấp dưới dạng dịch vụ IaaS cho các tổ chức hay doanh nghiệp khác nhau. Cũng giống như dịch vụ PaaS, ảo hóa là công nghệ được sử dụng rộng rãi để tạo ra cơ chế chia sẻ và phân phối các nguồn tài nguyên theo yêu cầu. Ví dụ về các dịch vụ IaaS như IBM BlueHouse, Vmware, Amazon EC2, Microsoft Azure Platform, Sun Parascale Cloud Storage…
  36. Platform as a service Platform as a service (Paas): Đây

    cũng là một biến thể của SaaS nhưng mô hình này là một nhánh của điện toán đám mây(cloud computing), mang đến môi trường phát triển như một dịch vụ: người sử dụng xây dựng ứng dụng chạy trên cơ sở hạ tầng của nhà cung cấp và phân phối tới người sử dụng thông qua máy chủ của nhà cung cấp đó. Người sử dụng bị ràng buộc về mặt thiết kế và công nghệ. Một số ví dụ điển hình về PaaS là Force.com của Salesforce.com, Google App Engine, Yahoo Pipes …
  37. Software as a service Phần mềm hoạt động hướng dịch

    vụ hoặc gọi tắt là Phần mềm dịch vụ - Software as a Service (Saas), là mô hình triển khai phần mềm, một nhánh của điện toán đám mây, theo đó các nhà cung cấp phần mềm như là các dịch vụ theo yêu cầu cho khách hàng. Theo định nghĩa của hãng nghiên cứu toàn cầu IDC là: "phần mềm hoạt động trên web, được quản lý bởi nhà cung cấp và cho phép người sử dụng truy cập từ xa".
  38. 4.4 Công nghệ Blockchain Blockchain là một công nghệ cho

    phép truyền tải dữ liệu một cách an toàn dựa vào hệ thống mã hoá vô cùng phức tạp, tương tự cuốn sổ cái kế toán của một công ty, nơi mà tiền mặt được giám sát chặt chẽ. Trong trường hợp này Blockchain là một cuốn sổ cái kế toán hoạt động trong lĩnh vực kỹ thuật số.
  39. Blockchain hoạt động như thế nào?

  40. Đặc điểm của Blockchain Không thể làm giả, không thể

    phá hủy các chuỗi Blockchain: theo như lý thuyết thì chỉ có máy tính lượng tử mới có thể giải mã Blockchain và công nghệ Blockchain biến mất khi không còn Internet trên toàn cầu. Bất biến: dữ liệu trong Blockchain không thể sửa (có thể sửa nhưng sẽ để lại dấu vết) và sẽ lưu trữ mãi mãi. Bảo mật: Các thông tin, dữ liệu trong Blockchain được phân tán và an toàn tuyệt đối. Minh bạch: Ai cũng có thể theo dõi dữ liệu Blockchain đi từ địa chỉ này tới địa chỉ khác và có thể thống kê toàn bộ lịch sử trên địa chỉ đó. Hợp đồng Thông minh: là hợp đồng kỹ thuật số được nhúng vào đoạn code if-this-then-that (IFTTT), cho phép chúng tự thực thi mà không cần bên thứ ba.
  41. None