Nhằm tạo điều kiện cho sinh viên chúng em có được những kinh nghiệm làm việc cũng như áp dụng những kiến thực đã học vào công việc thực tế. Hằng năm trường luôn giới thiệu sinh viên đến các cơ sở, công ty để thực tập theo chuyên ngành đã học. Đây quả là cơ hội để chúng em có thể hiện thực hóa những kiến thức đã có được từ quý thầy cô cũng như tạo tiền đề cho quá trình làm việc sau khi tốt nghiệp ra trường.
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN Khoa Mạng Máy Tính và Truyền Thông
BÁO CÁO
THỰC TẬP DOANH NGHIỆP
ĐỀ TÀI
NGHIÊN CỨU VÀ TÌM HIỂU WEB KẾT NỐI NGƯỜI DÙNG
BẰNG LUCEE TRÊN NỀN TẢNG COLDFUSION.
Nơi thực tập : CÔNG TY TNHH RASIA.
Người hướng dẫn : Nguyễn Minh Ý.
Sinh viên thực hiện : Lê Hoàng Phúc.
Mã số sinh viên : 12520319.
Trang 2LỜI CÁM ƠN
KHOA TRUYỀN THÔNG & MẠNG MÁY TÍNH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Nhằm tạo điều kiện cho sinh viên chúng em có được những kinh nghiệm làm việccũng như áp dụng những kiến thực đã học vào công việc thực tế Hằng năm trường luôngiới thiệu sinh viên đến các cơ sở, công ty để thực tập theo chuyên ngành đã học Đâyquả là cơ hội để chúng em có thể hiện thực hóa những kiến thức đã có được từ quý thầy
cô cũng như tạo tiền đề cho quá trình làm việc sau khi tốt nghiệp ra trường
Được sự giới thiệu của Khoa Mạng máy tính và truyền thông em đã chọn được nơithực tập ở Công ty TNHH Rasia Thành Phố Hồ Chí Minh dưới sự chỉ dạy và dẫn dắtnhiệt tình và tận tâm của Công ty Tất cả điều đó đã tạo cho em khoảng thời gian thựctập đáng quý và giúp em tích lũy được nhiều kinh nghiệm quý báu
Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý Thầy Cô ở Khoa Mạng MáyTính Và Truyền Thông – Trường Đại Học Công Nghệ Thông Tin đã cùng với tri thức vàtâm huyết của mình để truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thờigian học tập tại trường
TP Hồ Chí Minh, 05 tháng 09 năm 2016
Lê Hoàng Phúc
Trang 3LỜI CÁM ƠN
CÔNG TY TRÁCH NHIỆM HỮU HẠN RASIA
Lời đầu tiên em xin gửi lời cảm ơn chân thành đến Ban lãnh đạo công ty TNHH Rasia đã tạo điều kiện rất tốt cho em được thực tập tại công ty Bên cạnh đó em cũng rất cảm ơn các anh/chị nhân viên trong công ty đã giúp đỡ, hỗ trợ em và đặc biệt em xin gửi lời cảm ơn sâu sắc đến anh Nguyễn Y Minh đã tận tình hướng dẫn, chỉ dạy cho em trong suốt quá trình được thực tập tại công ty
Qua lần thực tập này, em đã có được những hướng đi cũng như cái nhìn đúng đắncho quá trình học tập và làm việc thực tế trong tương lai Ngoài ra em được tích lũy thêmnhiều kinh nghiệm làm việc và học tập khi thực tập tại công ty Em tin rằng đây sẽ là cộtmốc đáng nhớ trong hơn bốn năm học tập tại mái trường Công Nghệ Thông Tin và quátrình thực tập tại công ty bên cạnh đó đây còn là bước đà để em phát triển trong tương lai
Trong quá trình thực tập vì khả năng và kinh nghiệm em còn hạn chế có điều gì sơsuất mong Ban lãnh đạo, các anh chị nhân viên trong Công ty bỏ qua cho em
Một lần nữa Em xin chân thành cảm ơn!
TP Hồ Chí Minh, ngày 05 tháng 09 năm 2016
Lê Hoàng Phúc
Trang 4NHẬN XÉT CỦA CÔNG TY
Trang 5
NHẬN XÉT CỦA CÁN BỘ HỘI ĐỒNG
Trang 6
MỤC LỤC
CHƯƠNG 1 GIỚI THIỆU NƠI THỰC TẬP.
Trang 71.1 Giới thiệu về công ty TNHH Rasia.
Công ty Rasia Việt Nam được thành lập 24 tháng 04 năm 2014 bởi Tanja
Stadelmann, Gert Franz, Ralf Mauk và Frank Schellenberg tất cả những người đã
có nhiều năm kinh nghiệm trong lãnh đạo kinh doanh và phần mềm Điển hình ông Tanja Stadelmann và Michael Offner thành lập Lucee Hiệp hội Thụy Sĩ, một công ty phát triển một ngôn ngữ máy tính sử dụng trên toàn thế giới, bao gồm cả các công ty như NASA, Apple và RTL
Giám đốc Ralf Mauk (CEO) là một nhà phát triển phần mềm rất có kinh nghiệm hơn 30 năm và đã thành lập doanh nghiệp đầu tiên của mình khi được 16 tuổi Rasia có một đội ngũ sinh viên tốt nghiệp đại học có trình độ cao, các chuyên gia
đã tốt nghiệp các trường đại học kỹ thuật có trình độ cao với nhiều năm kinh nghiệm trong ngành công nghiệp thông tin, phát triển phần mềm Đội ngũ trẻ và năng động này đã hình thành công ty “Rasia” dưới sự lãnh đạo của Giám đốc Ralf Mauk
Cùng với Lucee, Rasia đã và đang hiện đại hóa cũng như định hướng và hiệu suấtcao ứng dụng Web cho các khách hàng trên toàn thế giới
1.2 Nhiệm vụ và chức năng của công ty.
Rasia Vietnam là một tổ chức quy tụ nhiều trí thức trẻ Việt Nam đầy năng động,
nhiệt huyết và kinh nghiệm trong lĩnh vực công nghệ thông tin Với quyết tâm góp
phần vào công cuộc thúc đẩy tiến trình tin học hóa của nước nhà Rasia Vietnam
đã và đang tập trung chủ yếu vào các hoạt động sau:
• WEP APP: Thử và kiểm chứng những yếu tố cần thiết của một website để manglại hiệu quả và đáp ứng sự mong đợi của khách hàng có nhu cầu trong việc thiết kếwebsite Các dự án thiết kế website theo nhu cầu của khách hàng với dịch vụkhách hàng, hỗ trợ từ khâu lên ý tưởng cho đến khi hoàn thành, cũng như sự hổ trợvề sau để tiếp tục phát triển việc kinh doanh Các công nghệ và ngôn ngữ lập trình
Trang 8mà công ty hướng đến bao gồm ASP.NET, PHP, ANGULAR JS, HTML/CSS,NODE JS, MONGO DB, JQUERY…
• MOBILE APP: Mang đến các giải pháp phù hợp với thương hiệu và đáp ứng cácmục tiêu của tổ chức, các ứng dụng, phần mềm với với các thiết bị di động, mởrộng tiện ích trên các ứng dụng di động ANDROID, IOS, WINDOWS
• INDUSTRY & CLOUD SOLUTION: Tìm kiếm các giải pháp công nghệ mới,sáng tạo với đầy cơ hội lẫn thách thức nhằm phá vỡ những công thức rập khuôncủa các nhà thiết kế cầu kì và những nhà phát triển tuyền thống Một trong số đó lànhững công nghệ, nền tảng như LUCEE, OPENSHIFT, DOCKER…
1.3 Trụ sở và chi nhánh chính.
Công ty Trách Nhiệm Hữu Hạn Rasia có địa chỉ tại: Tòa Nhà Anna, Công ViênPhần Mềm Quang Trung, Phường Tân Chánh Hiệp, Quận 12, Thành phố Hồ ChíMinh RASIA Ltd hiện đang có một công ty con tại Đức (Munich) và trụ sở chính
ở Thụy Sĩ
Điện thoại cố định: 08.371 57911 - Điện thoại di động: 01689991510
E-mail: office@rasia.info và website: www.rasia.info
Trang 9CHƯƠNG 2 CÔNG VIỆC THỰC TẬP.
2.1 Nhiệm vụ được phân công.
Tìm hiểu và nắm rõ kiến thức về các công nghệ web hiện nay như HTML, CSS, JAVASCRIPT, BOOTSTRAP…
Lập team và lên ý tưởng cho website mà ở đó mình đóng vai trò vừa là khách hàngvừa là Developer
Triển khai thiết kế và phát triển hệ thống website liên kết các Studio và Freelancer nhằm tạo cho người dùng dễ dàng tìm kiếm một nơi uy tín nhiều lựa chọn hơn về việc chụp ảnh
Tìm hiểu về lập trình website với ngôn ngữ Coldfusion và quy trình hoạt động củaLucee Server…
2.2 Lịch thực tập.
Thời gian thực tập tại Công ty TNHH Rasia
Tòa Nhà Anna, Công Viên Phần Mềm Quang Trung, phường Tân ChánhHiệp, Quận 12, TP Hồ Chí Minh, Việt Nam
Từ 9h đến 17h30 các ngày thứ 2,4,5,6 trong tuần
Thời gian bắt đầu thực tập từ ngày 01/07/2016 đến ngày 31/08/2016.
Trang 10CHƯƠNG 3 NỘI DUNG THỰC TẬP.
3.1 Tìm hiểu về mã nguồn mở Lucee.
Lucee cho phép lập trình viên có thể lập trình các trang web một cách dễ dàng Là một ngôn ngữ lập trình Web, Lucee chứa mọi thứ lập trình viên cần để viết các trang HTML, tạo các biểu mẫu, gửi email, cơ sở dữ liệu truy cập, tạo ra nhiệm vụ
tự động, và nhiều hơn nữa Lucee cũng giống như bất kỳ ngôn ngữ lập trình khác với dữ liệu, IFS, vòng lặp và kết quả đầu ra Tuy nhiên, Lucee sử dụng một ngôn ngữ gọi là "CFML" được thiết kế để tích hợp dễ dàng vào HTML CFML là viết tắt của ColdFusion Markup Language và là một thẻ dựa trên ngôn ngữ giống như HTML Điều này làm cho việc bắt đầu trong CFML tương đối dễ dàng
Lucee là một công nghệ phía máy chủ được thiết kế để xây dựng đầy đủ chồng HTML & Javascript ứng dụng web, các ứng dụng REST, microservics và các ứng dụng CLI Lucee có một tiêu chuẩn thư viện rộng lớn và nhiều dịch vụ bao gồm, mà nếu lập trình viên đang xây dựng một ứng dụng dựa trên web, Lucee chứa hầu hết những gì cần mà không cần phải theo dõi thêm thư viện của bên thứ 3
Lucee nhanh: tự hào tốc độ đáng kinh ngạc và một bộ nhớ đáng kể nhỏ hơn
so với động cơ xử lý so sánh, Lucee giảm TCO và cải thiện việc sử dụng hệ thống
Lucee linh hoạt: Lucee là rất tương thích với hầu hết các mã CFML truyền thống Điều này có nghĩa Lucee là vô cùng dễ dàng để chuyển đổi hầu hết các ứng dụng để sử dụng Lucee cũng tạo ra các ứng dụng mới một cách nhanh chóng sử dụng các công cụ phát triển nhanh chóng của Lucee
Lucee là miễn phí: miễn phí theo giấy phép LGPL và độc lập quản lý bởi Hiệp hội Lucee, lập trình viên có thể tự do tùy chỉnh Lucee nhu cầu cụ thể và miễnphí để xây dựng, triển khai và phân phối các ứng dụng bằng cách sử dụng công nghệ xử lý Lucee
Trang 11Lucee Server
Lucee là một máy chủ ứng dụng dựa trên Java và được triển khai đến các
container Java Servlet như Tomcat Lucee có thể chạy phía sau một Web Server như Apache hoặc Nginx để cung cấp khả năng bổ sung của những máy chủ như mod_rewrite, bộ nhớ đệm và phục vụ các tập tin tĩnh
Phát triển ứng dụng bằng Lucee: Cách dễ nhất để bắt đầu chạy Lucee là sử dụng các công cụ dòng lệnh CommandBox mà có thể bắt đầu và sử dụng máy chủ Lucee cho sự phát triển và thử ngôn ngữ Lucee
3.2 ColdFusion.
ColdFusion là một nền tảng phát triển nhanh chóng để xây dựng các ứng dụng web hiện đại ColdFusion được thiết kế rất mạnh mẽ Các đặc tính cho phép bạn thực hiện các công việc lập trình ở một mức độ cao hơn hầu hết các ngôn ngữ khác Các đặc trưng mạnh mẽ cho phép bạn tích hợp với chức năng quan trọng chocác ứng dụng web như truy cập cơ sở dữ liệu, truy cập MS Exchange, tạo dạng PDF và nhiều hơn nữa
Ngoải ra đây là ngôn ngữ kịch bản do hãng Allaire phát triển, hiện đã đượcMacromedia mua lại Coldfusion được thiết kế ngay từ đầu chuyên dành cho nềntảng ứng dụng web, nó không bị ràng buộc bởi các mô hình công nghệ trước đâytrong việc tìm giải pháp thích hợp cho những vấn đề mà các nhà phát triển webgặp phải
Nền tảng ColdFusion được xây dựng trên Java và sử dụng Apache Tomcat J2EE Trong khi bạn có quyền truy cập đầy đủ đến Java và Tomcat thì bạn không cần phải lo lắng về những chi tiết này Bạn sẽ tương tác với ColdFusion thông qua ColdFusion Mark-up Language (CFML) để viết các chương trình của bạn File ColdFusion của bạn sẽ sử dụng phần mở rộng tập tin “.cfc” cho các đối tượng và
“.cfm” cho các trang
Trang 12Công cụ phát triển Coldfusion Studio là một trong những công cụ phát triến tốtnhất Công cụ thiết kế web Macromedia Dreamweaver hỗ trợ tạo tự động mã lệnhCFML và cả JSP Phần mềm máy chủ Coldfusion không miễn phí, do vậy tăng phídịch vụ web.
3.3 Tìm hiểu về CFML.
ColdFusion Markup Language, thường được biết đến như CFML, là một ngôn ngữkịch bản cho việc phát triển web có thể chạy trên JVM, NET framework, và Google App Engine
CFML (Cold Fusion Markup Language) là ngôn ngữ rất mạnh và dễ học, dùng tập thẻ lệnh tương tự như thẻ lệnh HTML Một điểm đặc biệt là mỗi trang Colfusion
có thể dùng như một thẻ lệnh: ví dụ bạn có file list.cfm thì một trang khác có thể dùng nó như thẻ Coldfusion cũng có tập hàm API mạnh và có một số chức năng hay như mảng, cấu trúc, xử lý lỗi
Các thẻ cf thường dùng :
<cfoutput> : Hiển thị đầu ra có thể chứa các kết quả của các biến và các hàm Bạn
có thể sử dụng vòng lặp các thuộc tính truy vấn để xuất ra tập kết quả của việc truyvấn cơ sở dữ liệu
<cfset> : Gán giá trị cho một biến và cũng được sử dụng để gọi hàm
<cfloop> : Được dòng để tạo vòng lặp một mảng tuong đương với câu lệnh for
<cfquery> : Dùng để tương tác với databse và viết câu lệnh truy vấn cơ sở dữ liệu
<cfqueryparam>: Kiểm tra kiểu dữ liệu của một tham số truy vấn, cho phép CFML
sử dụng các biến ràng buộc trong câu lệnh SQL Thẻ này được lồng trong một thẻ cfquery, nhúng vào trong một truy vấn SQL
3.4 Giới thiệu và hướng dẫn sử dụng Git.
Nhằm tạo điều kiện cho nhóm chúng em kỹ năng làm việc nhóm và tương tác với nhau Công ty đã giới thiệu và training cho chúng em về GIT
Git là một trong những Hệ thống Quản lý Phiên bản Phân tán, vốn được phát triển nhằm quản lý mã nguồn (source code) của Linux
Trên Git, ta có thể lưu trạng thái của file dưới dạng lịch sử cập nhật Vì thế, có thể
Trang 13đưa file đã chỉnh sửa một lần về trạng thái cũ hay có thể biết được file đã được chỉnh sửa chỗ nào.
Thêm nữa, khi định ghi đè (overwrite) lên file mới nhất đã chỉnh sửa của người khác bằng file đã chỉnh sửa dựa trên file cũ, thì khi upload lên server sẽ hiện ra cảnh cáo Vì thế, sẽ không xảy ra lỗi khi ghi đè lên nội dung chỉnh sửa của người khác mà không hề hay biết
Git sử dụng mô hình phân tán, ngược lại so với SVN hoặc CSV Mỗi nơi lưu source sẽ đc gọi là repositories, không cần lưu trữ tập trung một nơi, mà mỗi thànhviên trong team sẽ có một repository ở máy của riêng mình
Khi quyết định thay đổi chỗ nào đó lên server ta chỉ cần một thao tác "push" nó lên server Chúng ta vẫn có thể share thay đổi của chúng ta cho thành viên khác, bằng cách commit hoặc update trực tiếp từ máy của họ mà không phải thông qua repositories gốc trên server (thông qua share ssh cho nhau)
• Khi server hoạt động trở lại, họ có thể cập nhật tất cả lên lại server
Các lệnh cơ bản Git:
Lệnh init: Tạo một repository mới.
Cú pháp: git init
Lệnh clone: Sao chép (clone) một repository.
Cú pháp: git clone
Lệnh branch: Kiểm tra nhánh hiện tại.
Cú pháp: git branch
Tạo nhánh mới
Cú pháp: git branch <tên nhánh>
Trang 14Xóa một nhánh.
Cú pháp: git branch –d <tên nhánh>
Lệnh checkout: Chuyển nhánh.
Các nhánh (branches) được dùng để phát triển tính năng tách riêng ra từ những nhánh khác Nhánh master là nhánh "mặc định" khi bạn tạo một repository Sử dụng các nhánh khác khi đang trong giai đoạn phát triển và merge trở lại nhánh master một khi đã hoàn tất
Cú pháp: git checkout <tên nhánh>
Trở lại nhánh master
Cú pháp: git checkout master
Lệnh add: Cập nhật tình trạng các file( thêm, xóa, sửa) trong project được quản lý
bởi GIT
Cú pháp:
• Cập nhật tất cả: git add
• Cập nhật tất cả các file theo dạng: git add *.<tên đuôi>
Lệnh commit: Xác nhận và lưu những thay đổi của project.
Cú pháp: git commit –am “<Ghi chú>”
Lệnh push: Cập nhật những thay đổi của project và gửi lên server
Cú pháp: git push origin <tên nhánh>
Nếu bạn chưa clone một repository hiện có và muốn kết nối repository của bạn đến máy chủ remote, bạn phải thêm nó với
Cú pháp: git remote add origin <máy chủ>
Nhờ Git, mà trong quá trình nghiên cứu và xây dựng project chúng em đã có thể trao đổi dữ liệu và build code một cách hiệu quả nhất có thể
Trang 153.5 Tìm hiểu và thực hiện website kết nối người dùng bằng Lucee.
3.5.1. Lên ý tưởng và chọn đề tài.
Ngày nay, nhu cầu truy cập internet ngày một gia tăng nhanh chóng, có hàng ngàn các website được tạo ra nhằm đáp ứng nhu cầu phong phú đa dạng của người dùngnhư mua sắm, xem phim ,nghe nhạc ,học tập và làm việc… Nắm bắt được xu thế
đó nên em và bốn bạn trong nhóm đã lên ý tưởng và xậy dựng website Mục đích cho việc làm việc nhóm nhằm để rèn luyện khả năng làm việc nhóm cũng như giao tiếp và hòa hợp dần với môi trường team building trong một công ty
Khi tiến hành thực hiện môt đề tài về website chúng ta cần xác định rõ :
Website đó nhắm đến người dùng nào?
Nội dung và hình thức website?
Nắm rõ người dùng cần những gì và hạn chế những gì?
Các công nghệ có thề sử dụng cho website?
Các Website tương tự? Nếu có thì cải thiện tốt hơn như thế nào?
Việc lên ý tường và chọn đề tài là bước quan trọng không thể thiếu khi quyết định nghiên cứu phát triển về web Ban đầu nhóm em không tránh khỏi những khó khăn khi lên ý tướng và tìm hiểu các đề tài phù hợp cho website của mình
Ý tưởng cho website Event Countdown:
Mục đích của website:
• Cho phép người dùng tìm kiếm và đăng kí các sự kiện bao gồm: hội nghị, liên hoan, tiệc tùng được đăng trên website
• Người dùng sẽ phải tạo tài khoản (user) và đăng nhập để tạo sự kiện cho mình và mời bạn bè tham gia
• Website sẽ lưu giữ các thông tin về tên, địa điểm, thời gian diễn ra sự kiện mà user đã tạo
• Người dùng dễ dàng truy cập vào website để xem thông tin sự kiện mình muốn tham gia
Tính năng của website:
• Tạo thiệp mời online cho sự kiện với nhiều giao diện đẹp cho người dùng chọn và phát triển thêm tính năng tính phí với các giao diện đẹp và lạ mắt
• Các sự kiện sẽ có 2 trạng thái đó là public và private Trạng thái public: người dùng sẽ dễ dàng tìm kiếm sự kiện nào đó trên website Trang thái
Trang 16private: yêu cầu một mã code, hoặc QR code (sẽ được cung cấp từ người tạo sự kiện) mới có thể xem được thông tin sự kiện.
• Tính năng đếm ngược (countdown) thời gian tham gia sự kiện và thông báongười dùng thông qua email nếu sự kiện sắp được diễn ra
• Tích hợp google map và hiển thị tổng quan các sự kiện public trên bản đồ
để người dùng nắm bắt và tham gia
Các lợi ích ước tính khi phát triển website Event Countdown:
• Lợi nhuận từ việc đăng quảng cáo của các user, nhà tài trợ muốn quảng cảo trên web
• Tính phí với các giao diện đẹp và lạ mắt cho việc hiển thị sự kiện mà user tạo
• Nhiều người ngại việc truy cập web chỉ để tìm hiểu về sự kiện…
Kết luận: Sau một thời gian nghiên cứu và tìm hiểu về đề tài Event website nhận
ra một số hạn chế và không thu hút được nhiều người dùng nên nhóm chúng em đãdừng phát triển ý tưởng này tại đây và xem như đó là nền tảng và kinh nghiệm trong việc triển khai và phát triển web sau này
Ý tưởng cho website du thuyền:
Đây là ý tưởng mà chúng em được đóng vai trò là nhân viên công ty nhận được một project web từ khách hàng là một công ty mua bán du thuyền cũ Nhóm em được giao nhiệm vụ phát triển và lên ý tưởng phần front end Với yêu cầu ở mức
độ lên ý tưởng frontend là demo thiết kế giao diện, các công nghệ sử dụng và hướng phát triển sau này…
• Home page: Giới thiệu và show hình ảnh các du thuyền đã và đang sữa chữa của
Trang 17• Service page: Cho khách hàng chọn 2 dịch vụ của công ty:
Service 1: Sau khi khách hàng click vào nút đặt hàng từ sản phẩm mà mình muốn mua trên trang Home page thì sẽ chuyển sang trang Service với form đặt hàng và lựa chọn vận chuyển và tân trang Giá sẽ được công ty du thuyền thông báo qua email hoặc số điện thoại