Thảo Trịnh -
  • Agile
  • Chuyện code
    • Design Pattern
    • Blockchain
  • Chuyện đọc
Agile
Chuyện code
    Design Pattern
    Blockchain
Chuyện đọc
  • Agile
  • Chuyện code
    • Design Pattern
    • Blockchain
  • Chuyện đọc
Thảo Trịnh -
.NET, Database

Tạo ứng dụng asp net core code first đầu tiên

– Bài viết dựa trên môi trường làm việc là MacOs.
– Yêu cầu kĩ năng research cơ bản.
– Biết sơ qua các khái niệm: docker, kitematic, sqlserver, terminal (lol). Xem thêm

June 19, 2019by thaotrinh
Database

How to Install SQL Server on a Mac

Here I’ll show you how to get SQL Server 2017 up and running on your Mac in less than half an hour. And the best part is, you’ll have SQL Server running locally without needing any virtualization software.

Prior to SQL Server 2017, if you wanted to run SQL Server on your Mac, you first had to create a virtual machine (using VirtualBox, Parallels Desktop, VMware Fusion, or Bootcamp), then install Windows onto that VM, then finally SQL Server. This is still a valid option depending on your requirements (here’s how to install SQL Server on a Mac with VirtualBox if you’d like to try that method). Xem thêm

April 30, 2019by thaotrinh
Database

Cài đặt và cấu hình Apache, MySQL trên macos

OSX 10.10 Yosemite được cài đặt sẵn Apache 2.4. Để khởi động web server, các bạn chỉ việc mở Terminal (/Applications/Utilities/Terminal) và gõ:

sudo apachectl start

Tương tự khi muốn restart và stop Apache

sudo apachectl stop

sudo apachectl restart

Sau khi start Apache, bạn có thể mở trình duyệt lên và gõ thử localhost sẽ xuất hiện thông báo It works!

Chú ý: Nếu bạn không thể truy cập được http://localhost thì bạn sẽ cần thêm alias vào file /etc/hosts: 127.0.0.1 localhost. Mặc định thì nó đã có sẵn (Vào Finder. Gõ tổ hợp phím: Command + Shift + G. Khi cửa sổ tìm kiếm hiện ra ta gõ: “/etc/” và nhần Go)

Document Root
Điều đầu tiên chúng ta muốn làm sẽ là thay đổi Document Root cho Apache. Đây là folder mà Apache sẽ tìm kiếm file để phục vụ. Mặc định thì Document Root được thiết lập ở /Library/WebServer/Documents. Chúng ta sẽ thay đổi nó về thư mục home – thư mục user của bạn. Để thực hiện điều này, chúng ta cần thay đổi file /etc/apache2/httpd.conf. Do đây là file được sở hữu bởi root nên bạn sẽ cần thêm sudo để có thể thay đổi được file. Ở đây mình dùng vim, bạn có thể dùng các editor khác như sublime text hay nano nếu thích.

sudo vi /etc/apache2/httpd.conf
Vim edit httpd.config file

Vim edit httpd.config file

Tìm từ DocumentRoot, bạn sẽ thấy dòng sau:

DocumentRoot "/Library/WebServer/Documents"

Thay đổi đường dẫn thành folder dưới user của bạn. Ở đây tôi dùng thư mục webroot/wordpress

DocumentRoot "/Users/your_user/webroot/wordpress"

Bạn cũng cần thay đổi đường dẫn ở trong thẻ <Directory>

<Directory "/Users/your_user/webroot/wordpress">

Ở ngay trong block của <Directory> bạn sẽ thấy AllowOverride, hãy thay đổi nó thành như sau:

AllowOverride All

DocumentRoot-config-vim

User & Group
Bây giờ Apache đã được thiết lập để trỏ tới thư mục /webroot/wordpress trong thư mục home của bạn. Tuy nhiên chúng ta vẫn có một vấn đề, đó là mặc định apache sẽ chạy dưới user _www và group _www. Điều này sẽ dẫn tới các vấn đề liên quan tới permisssion khi truy cập các file trong thư mục home. Chúng ta sẽ cần thay đổi chúng thành user mà bạn đang dùng và group staff. Vẫn ở trong file httpd.conf, bạn tìm 2 thiết lập User và Group và thay đổi chúng:

User your_user
Group staff

Đến đây chúng ta có thể save lại file httpd.conf. Gõ :wq và enter

Sau khi chỉnh sửa file httpd.conf thì tất nhiên bạn sẽ cần restart lại apache để cập nhật các thiết lập mới:

sudo apachectl restart

Bây giờ bạn cần tạo thư mục /webroot/wordpress ở trong thư mục home (your_user) của bạn. Ở trong thư mục /webroot/wordpress, chúng ta sẽ tạo thêm 1 file index.html với nội dung đơn giản: <h1>Hello Apache!!!</h1>.

Bây giờ hãy mở http://localhost bằng trình duyệt để kiểm tra xem nội dung chúng ta vừa viết có hiện ra không nhé. Nếu không bạn cần phải kiểm tra lại tất cả các bước vừa làm ở trên để chắc chắn mình đã thao tác đúng.

Vậy là chúng ta đã cấu hình và chạy được Apache trên Mac OS. Tiếp theo mình sẽ cùng các bạn tiếp tục cài đặt MySQL và PHP để bắt đầu code 😉

Cài đặt MySQL

Tải về MySQL tại http://dev.mysql.com/downloads/mysql/ (mình đề xuất tải bản DMG Archive), sau đó cài đặt (Lưu ý các bạn nên ghi nhớ mật khẩu default của user root khi cài đặt). Mở System Preferences, bạn sẽ thấy xuất hiện MySQL như hình:

cai-dat-mysql-01

Hãy bấm vào đó và chọn Start MySQL Server.

cai-dat-mysql-02

Trở lại terminal và gõ lần lượt các lệnh sau

export PATH=${PATH}:/usr/local/mysql/bin

mysql -u root -p

Bước tiếp theo các bạn nhập password của user root lúc cài đặt.

Nếu mọi thứ đều ổn các bạn sẽ nhận được thông tin cài đặt mysql

Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 62 Server version: 5.7.18 Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. Xem thêm

May 26, 2017by thaotrinh
Database, Lập trình

Revision database

Ý tưởng về việc quản lý Database trong dự án phần mềm

Mọi thay đổi trong CSDL phải được tạo bằng script.
CSDL cũng được quản lý bởi source code version control.
Mọi script thay đổi trên CSDL gắn với từng phần phát triển phải được commit đồng thời. Ví dụ script tạo bảng Customers cần được commit cùng source code cho chức năng create customer.

Chốt DB, sau 1 khoảng thời gian, nhóm phát triển sẽ chốt 1 DB – có tính ổn định nhất làm version 0, để tiếp tục làm việc, version hóa database.
Khi tạo 1 script update database, cần tạo 1 restore script cho database, commit cùng với nhau. Xem thêm

March 20, 2015by thaotrinh

Tìm kiếm

Bài viết mới

Giá trị của Scrum Master trong case study của Leflair

Giá trị của Scrum Master trong case study của Leflair

Vì sao bạn nên phân tích đối thủ để đưa ra giải pháp thiết kế tốt hơn

Vì sao bạn nên phân tích đối thủ để đưa ra giải pháp thiết kế tốt hơn

Scrum Master làm gì trong suốt một ngày?

Scrum Master làm gì trong suốt một ngày?

Tôi có thể làm gì trong những năm 20 tuổi để giúp phát triển bản thân và cả sự nghiệp của tôi?

Tôi có thể làm gì trong những năm 20 tuổi để giúp phát triển bản thân và cả sự nghiệp của tôi?

Sách đã đọc

Sách đã đọc

Chuyên mục

  • Agile learn
  • Chuyện đọc
  • Gã
  • Lập trình
    • .NET
    • Blockchain
    • Database
    • Design Pattern
    • Lập trình cơ bản
    • Laravel
  • Leading
  • Product
    • Design
  • Uncategorized

Mọi người quan tâm

Nguyên lý SOLID trong lập trình hướng đối tượng – và ví dụ sử dụng C#  – p2

Nguyên lý SOLID trong lập trình hướng đối tượng – và ví dụ sử dụng C# – p2

Tạo ứng dụng blockchain đầu tiên với C#

Tạo ứng dụng blockchain đầu tiên với C#

Cài đặt và cấu hình Apache, MySQL trên macos

Nguyên lý SOLID trong lập trình hướng đối tượng – và ví dụ sử dụng C#  – p3

Nguyên lý SOLID trong lập trình hướng đối tượng – và ví dụ sử dụng C# – p3

Nguyên lý SOLID trong lập trình hướng đối tượng – và ví dụ sử dụng C# – p1

Nguyên lý SOLID trong lập trình hướng đối tượng – và ví dụ sử dụng C# – p1

Tags

Agile Apache blockchain C# Case study CQRS Daily Scrum database DDD deadlocks Dependency Injection Dependency Inversion Design Pattern docker ebook fix mindset git Good Developer growth mindset kinh tế Pair programing Repository Retrospectives Risk Management Scrum Scrumban Scrum Guide Scrum Master Senior Senior Developer singleton solid Technical debt UI UnitOfWork UX Viết Động lực

Lịch sử

  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • September 2020
  • August 2020
  • June 2020
  • April 2020
  • March 2020
  • December 2019
  • November 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • November 2018
  • September 2018
  • July 2018
  • June 2018
  • March 2018
  • January 2018
  • December 2017
  • June 2017
  • May 2017
  • October 2016
  • August 2016
  • June 2016
  • March 2016
  • January 2016
  • December 2015
  • March 2015