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ú ý

thanhgit

June 21, 2020
Tweet

More Decks by thanhgit

Other Decks in Technology

Transcript

  1. LOGO
    “ Add your company slogan ”
    CÔNG CỤ VÀ CÔNG
    NGHỆ LẬP TRÌNH
    Thanh Nguyen

    View Slide

  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

    View Slide

  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

    View Slide

  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, …

    View Slide

  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ể.

    View Slide

  6. 2. Tổng quan về phát triển phần mềm
    Methods
    Tools
    Technology
    Products

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  10. 3. Một số công cụ phổ biến

    View Slide

  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 .

    View Slide

  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:

    View Slide

  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

    View Slide

  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

    View Slide

  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.

    View Slide

  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

    View Slide

  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 .

    View Slide

  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

    View Slide

  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)

    View Slide

  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 .

    View Slide

  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 .

    View Slide

  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 .

    View Slide

  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.

    View Slide

  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)

    View Slide

  25. 4.Một số công nghệ phổ biến

    View Slide

  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ộ .

    View Slide

  27. Mô hình hoạt động AJAX

    View Slide

  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

    View Slide

  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

    View Slide

  30. 4.2 Công nghệ Docker

    View Slide

  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ẻ.

    View Slide

  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.

    View Slide

  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ử

    View Slide

  34. Mô hình dịch vụ trong điện toán đám mây

    View Slide

  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…

    View Slide

  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 …

    View Slide

  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".

    View Slide

  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ố.

    View Slide

  39. Blockchain hoạt động như thế nào?

    View Slide

  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.

    View Slide

  41. View Slide