Chương 1: Giới thiệu tổng quan về thư viện. Ở chương này chúng ta sẽ giới thiệu sơ qua thư viện, mô tả hoạt động quản lý thư viện, quản lý sách và độc giả … Chương 2: Thiết kế hệ thống thư viện. 8 Chúng ta cần có kế hoạch để hệ thống hệ thống quản lý thư viện hợp lý nhất, phân tích hệ thống từ nhiều phía để mang lại sự hợp lý và thống nhất cho hệ thống. Chương này sẽ phân tích yêu cầu đề bài, thiết kế hệ thống trên cơ sở lý thuyết từ đó giúp chúng ta có cái nhìn tổng quát hơn về hệ thống.
Chương 3: Thiết kế cơ sở dữ liệu. Dự trên kết quả phân tích ở chương II, thì hệ cơ sở dữ liệu lập ra để lưu trữ các thông tin cần thiết cho việc thiết kế hệ thống và cho chúng ta thấy rõ mối quan hệ cơ sở dữ liệu được lập ra. Chương 4: Kết hợp ardunio và Ruby on Rails Ardunio và Ruby on Rails có thể kết hợp với nhau được hay không ? Vậy làm sao có thể kết hợp chúng và bằng cách nào ? Chương 5: Sơ đồ lắp mạch điện kết nối với con chip Esp8266 Cách lắp ráp từ các chân con chip với các thiết bị điện tử như thế nào ? Chương 6: Thiết kế giao diện quản lý thư viện. Áp dụng kiến thức cơ bản và các sơ đồ phần tích, chương 6 là công đoạn thiết kế dự án thực tế.
Chương 7: Kết luận – Kiến nghị. Đánh giá mô hình sau khi hoàn thành, đưa ra giải pháp tốt hơn cho tương lai. 9 PHẦN I: TÌM HIỂU NGÔN NGỮ RUBY ON RAILS, ARDUINO I. Ruby on rails.
Khái niệm ruby on rails. Ruby là một ngôn ngữ lập trình hướng đối tượng được sử dụng để tạo ra các ứng dụng bằng web và di động. Nó được tạo ra bởi nhà khoa học máy tính người Nhật và vẫn tiếp tục phát triển cho đến nay.Tại sao nên dùng Ruby? Ruby on rails, hay viết tắt là rails hay ROR là một web Framework được viết bẳng ngôn ngưc lập trình ruby. Ruby on rails ucngx là phần mềm mở (Open source).
Do dó, nó không chỉ miễn phí để sử dụng, bạn cụng có thể tham gia cải thiện nó. Ruby là ngôn ngữ lập trình kịch bản bởi mã lệnh của Ruby có thể chạy trực tiếp bởi máy tính mà không cần phải biên soạn thành một tệp thực thi tệp tin .exe trên Windows hay tệp tin binary trên Linux. Điểm mạnh của ruby a. Sức mạnh Ruby được viết thuần hướng đối tượng, vì thế, mọi thứ trong Ruby đều là đối tượng.
Tất cả những mặt mạnh của ngôn ngữ hướng đối tượng, Ruby đều kết thừa hoàn toàn, bao gồm cả sự linh động của chính ngôn ngữ. Ta có thể thêm những function khác vào Ruby mà không hề ảnh hưởng tới những function đã có. Đọc hiểu dễ dàng 10 Ngôn ngữ Ruby được gọi là ngôn ngữ mà “The code comments itself”. Có nghĩa là bản thân các dòng lệnh trong Ruby đã nói lên ý nghĩa và công việc của nó.
Ngắn gon Được viết với sự focus chủ yếu vào tính dễ phát triển, nên ruby cần ít code để thực hiện một công việc hơn so với các ngôn ngữ khác. Chính vì điều này, khi mới tiếp xúc với Ruby, chúng ta sẽ cảm thấy nó rất ấn tượng. Điểu yếu của ruby: tốc độ xử lý chậm Nhắc đến Ruby thì phải nhắc đến framework của nó chính là ruby on rails (RoR) a. Lợi ích khi sử dụng RoR • Công cụ: Rails cung cấp cho ta công cụ tuyệt vời giúp chúng ta triển khải được nhiều tính năng hơn mà lại tốn ít thời gian hơn.
Nó cung cấp cho ta một cấu trúc chuẩn cho ứng dụng web. • Thư viện: Rails cung cấp cho ta gem, thứ có thẻ thay thế hầu hết cho mọi thứ mà bạn có thể nghĩ ra được. Hơn nữa, tất cả gem đều có thể sử dụng một cách hoàn toàn miền phí và có thể dễ dàng tra cứu tại https://rubygems. • Chất lượng code: Nhìn chung, mình nhận thấy rằng chất lượng của các phần mềm hỗ trợ Ruby code là cao hơn so với một số ngôn ngữ khác.
• Cộng đồng: Cộng đồng ruby rất lớn. Mình tin rằng điều này giúp cải thiện những sản phẩm của ruby rất nhiều và đây cũng là một lý do mà thư viện của ruby lại tuyệt vời như vậy. ruby cũng là một trong số những ngôn ngữ lập trình phổ biến nhất trên github. 11 • Hiệu suất: RoR là một ngôn ngữ gọn gàng, khi mà sử dụng kết hợp cùng các thư viện hỗ trợ, RoR cho phép bạn phất triển một cách khá là nhanh chóng.
• Tương lai: RoR có thể được xem là một ngôn ngữ được lựa chọn trong các trang học lập trình trực tuyến phổ biến như: makers academy, codecademy. Điều này có nghĩa là số lượng lập trình viên tài giỏi tham gia vào cộng đồng ruby sẽ tăng lên trong các năm tới. Nhược điểm Vì nó cũng là một phần cũng ruby nên nó cũng có hạn chế giống nhau: • Thời gian chạy: Phần lớn những cuộc tranh luận về rail đều có những ý kiến rằng rails chậm. Điều này hoàng toàn đúng, so với NodeJS hay GoLang, rails có tộc độ chạy khá chậm.
Mặc dù trong thực tế, hiệu suất của ứng dụng rails rất khó làm chậm lại việc kinh doanh, Vấn đề thường nằm ở việc thiết kế server, thậm chí là cả cơ sỡ dữ liệu. • Tốc độ boof: Vấn đề chính gây khó chịu khi làm việc với rails là tốc độ boot của Rails framework. Phụ thuộc vào số lượng gem và file, chúng ta có thể mất một khoảng thời gian kha khá để khởi động, điều này có thể ảnh hưởng trực tiếp tới hiệu suất làm việc. Với việc spring ra đời, tốc độ boot đã được cải thiện nhưng có vẻ nó vẫn còn có thể nhanh hơn nữa.
Cấu trúc thư mục của rails 12 App: Nơi tổ chức các thành phần của ứng dụng, bao gồm thành phần của mô hình mvc, helper, jobs, assets, mails. Bin/: Chứa Rails Script để khỏi động ứng dụng của bạn và có thể chứa các các tập lệnh khác mà bạn sử dụng để setup, update, deploy hoặc chạy ứng dụng của mình. Config/:Chứa các thông tin config cho ứng dụng, như cấu hình database(database.yml), cấu hình môi trường (development,rb,yml,production, rb test,rb) hay điều hướng truy vấn (routes.rb) Db/: Lưu trữ các thông tin về các đối tượng của CSDL, mối quan hệ giữa các đối tượng, các đoạn script để quản lý các đối tượng (table) trong database. Lib/: Chứa các thư viện do bạn định nghĩa 13 Log/: Chứa các file logs của ứng dụng Public/: Chứa static file: file ảnh, css, javascript Test/: Chứa test script của ứng dụng Tmp/: Rails sử dụng thư mục này để lưu các tệp tạm thời để xử lý trung gian Vendor/: Thư viện được cung cấp bởi bên thứ 3 Rakefile: File này giúp xây dựng, đóng gói và kiểm tra code rails.lock : Các file này cho phép bạn chỉ định dependency nào cần thiết cho ứng dụng Rails của bạn.
Những file này được sử dụng bởi Bundler Ruby.jon: Tệp này cho phép bạn chỉ định npm dependency nào cần thiết cho ứng dụng rails của bạn. File này được sử dụng bởi Yarm 4. Cài đặt ruby • Bật terminal hoặc tôt hợp phím ctrl+alt+T • Cài đặt đầu tiên cần làm là thêm các dependencies cho ruby on rails o curl -sL https://deb.x | sudo -E bash – o curl -sS https://dl.com/debian/pubkey.gpg | sudo apt-key add – o echo "deb https://dl.com/debian/ stable main" | sudo tee /etc/apt/sources.list • Cài đặt các package cần thiết của ubuntu o sudo apt-get update o sudo apt-get install git-core curl zlib1g-dev build-essential libssl- dev ibreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev 14 libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev nodejs yarn • Cài đặt ryby thông qua rbenv (hoặc rvm) o cd ~/ o git clone https://github.com/rbenv/rbenv.rbenv o echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc o echo 'eval "$(rbenv init -)"' >> ~/.bashrc o exec $SHELL o git clone https://github.com/rbenv/ruby-build.rbenv/plugins/ruby- build o echo 'export PATH="$HOME/.rbenv/plugins/ruby- build/bin:$PATH"' >> o ~/.bashrc o exec $SHELL o rbenv install 2.1 • Sau khi chạy xong kiểm tra xem có cài đặt ruby chưa bằng lệnh: ruby –v • Cuối cùng các bạn cài đặt Bundler o gem install bundler • Cài đặt ruby on rails o gem install rails -v 5.0 o rbenv rehash 15 • Kiểm tra rails đã được cài đặt thành công chưa bằng lênh rails -v • Cài dbeaver theo link: https://qiita.com/shaching/items/697e9d42584fe06b4579 • Cài git: o sudo apt update o sudo apt install git o git --version II. Khái niệm Là một nền tảng mã nguồn mở phần cứng và phần mềm.
Phần cứng Arduino (các board mạch vi xử lý) được sinh ra tại thị trấn Ivrea ở Ý, nhằm xây dựng các ứng dụng tương tác với nhau hoặc với môi trường được thuận lợi hơn. Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit. Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác nhau. Được giới thiệu vào năm 2005, Những nhà thiết kế của Arduino cố gắng mang đến một phương thức dễ dàng, không tốn kém cho những người yêu thích, sinh viên và giới chuyên nghiệp để tạo ra những thiết bị có khả năng tương tác với 16 môi trường thông qua các cảm biến và các cơ cấu chấp hành.
Những ví dụ phổ biến cho những người yêu thích mới bắt đầu bao gồm các robot đơn giản, điều khiển nhiệt độ và phát hiện chuyển động. Đi cùng với nó là một môi trường phát triển tích hợp (IDE) chạy trên các máy tính cá nhân thông thường và cho phép người dùng viết các chương trình cho Aduino bằng ngôn ngữ C hoặc C++. Ứng dụng của Arduino vào trong đời sống • Làm Robot. Arduino có khả năng đọc các thiết bị cảm biến, điều khiển động cơ,… nên nó thường được dùng để làm bộ xử lý trung tâm của rất nhiều loại robot.
• Game tương tác: Arduino có thể được sử dụng để tương tác với Joystick, màn hình,… khi chơi các game như Tetrix, phá gach, Mario… • Máy bay không người lái. • Điều khiển đèn tín hiệu giao thông, làm hiệu ứng đèn Led nhấp nháy trên các biển quảng cáo… • Điều khiển các thiết bị cảm biến ánh sáng, âm thanh. • Làm máy in 3D • Làm đàn bằng ánh sáng • Làm lò nướng bánh biết tweet để báo cho bạn khi bánh chín. Arduino còn rất nhiều ứng dụng hữu ích khác tùy vào sự sáng tạo của người dùng.
Khả năng kết nối • Arduino có thể hoạt động độc lập. • Arduino có thể kết nối với một máy tính. Máy tính của bạn được phép truy cập dữ liệu cảm biến từ thế giới bên ngoài và cung cấp thông tin phản hồi. • Các Arduino có thể kết nối với nhau.