Skip to content

Instantly share code, notes, and snippets.

View qt91's full-sized avatar
🎯
Focusing

Thinh Nguyen qt91

🎯
Focusing
View GitHub Profile
@qt91
qt91 / multiple_ssh_setting.md
Created February 4, 2021 01:48 — forked from jexchan/multiple_ssh_setting.md
Multiple SSH keys for different github accounts

Multiple SSH Keys settings for different github account

create different public key

create different ssh key according the article Mac Set-Up Git

$ ssh-keygen -t rsa -C "your_email@youremail.com"
@qt91
qt91 / P1-Bắt đầu dự án Laravel với Docker, siêu nhanh, siêu dễ dàng.md
Last active July 18, 2024 04:32
P1-Bắt đầu dự án Laravel với Docker, siêu nhanh, siêu dễ dàng

( P1 ) - Bắt đầu dự án PHP - Laravel với Docker, siêu nhanh, siêu dễ dàng

Hoàng cảnh

  • Nhớ lại cái thời mới code PHP, lúc đó mình thường dành cả thanh xuân chỉ để setup môi trường có thể chạy được PHP, nào là tự cài từng thành phần trên mọi trường local, tiến bộ hơn tí thì cài WAMP rồi nhảy qua XAMPP.
  • Sau một thời gian code đã rồi chuyền file lên server mới phát hiện sự khác biết giữa PHP version dưới local khác với môi trường Product. Từ đó mà Bug xuất hiện nhiều vô số kể.
  • Vần đề tưởng đơn giản nhưng lại phát sinh bao việc, System Admin thì đổ thừa do code dỡm, còn mình thì hì hục kiểm tra xem nguyên nhân từ đâu, rồi lại nài nỉ System Admin update server, đỉnh điểm của mâu thuận là mình tự phải server, và hậu quả là giờ mình cũng có khá khá kiến thức về server =)). Người ta nói "Trong cái khó, ló cái khôn" là đúng.

Sự xuất hiện

-Cuối cùng ngày đó cũng đến, Docker được xuất hiện lần đầu tiền vào năm 2013 nhưng mình lại được tiếp xúc với nó vào năm 2017 khá chậm so với thế giớ

// Code xóa tất cả các contact trong chatwork được thực thi
// F12 và paste vào tab console => thận trọng khi enter
function deleteChatwork(){
$('#_openContactWindow > span.globalHeaderNavItem__button').click();
$('#_contactWindowTabMyContact').click();
$('#_contactWindowBox li').each(function( index ) {
$.post( "https://www.chatwork.com/gateway/delete_contact.php?myid="+MYID+"&_v=1.80a&_av=5&ln=en&aid="+$(this).attr('data-aid') ,{pdata:JSON.stringify({"_t":ACCESS_TOKEN})}, function( data ) {
console.log(data);
});
@qt91
qt91 / deleteChatwork.js
Created November 29, 2019 10:15
Delete chatwork for who was gone
$('#_openContactWindow > span.globalHeaderNavItem__button').click();
$('#_contactWindowTabMyContact').click();
$('#_contactWindowBox li').each(function( index ) {
$.post( "https://www.chatwork.com/gateway/delete_contact.php?myid="+MYID+"&_v=1.80a&_av=5&ln=en&aid="+$(this).attr('data-aid') ,{pdata:JSON.stringify({"_t":ACCESS_TOKEN})}, function( data ) {
console.log(data);
});
});
@qt91
qt91 / [Laravel] Tiêu chuẩn bắt đầu một dự án.md
Created November 9, 2019 00:05
[Laravel] Tiêu chuẩn bắt đầu một dự án

Định nghĩa dự án Laravel trước khi bắt đầu

Môi trường

  • PHP 7.3
  • Web server: Nginx 1.14
  • Database: MySQL5.7
  • Laravel 5.8.*

Process flow

IN:

@qt91
qt91 / Sử dụng Docker đơn giản hơn với Docker Compose.md
Last active December 16, 2022 06:58
Tại sao có Docker rồi mà còn đẻ ra Docker Compose

Tại sao có Docker rồi mà còn đẻ ra Docker Compose

Như bài viết Unserstand basic docker, việc sử dụng Docker bằng cách gõ lệnh, mới nhìn thì có vẻ chuyên nghiệp, nhưng dùng lâu thì sẽ rất mỏi tay và tốn nhiều thời gian. Thử tưởng tượng, nếu bạn cần setup một hệ thống có sử dụng 4 docker nginx, phpfpm, mysql, redis. Mỗi khi bạn muốn nó chạy các bạn sẽ phải gõ 4 dòng lệnh dài loàn ngoằn, chưa kể buồn buồn nó khởi động lại máy lại gõ lại.... có thể sẽ phải dành cả thanh xuân để đi gõ tới gõ lui các dòng lệnh nhàm chán. Bởi vậy, các con người chán chán cảnh gõ đi gõ lại đã tạo ra một công cụ mới có tên là Docker Compose.

enter image description here

Vậy Docker Compose là gì, liệu dùng nó có quên mất cách dùng Docker không?

Docker composer là một công cụ cho phép chúng ta có thể định nghĩa và khởi chạy nhiều Docker Container. Với Docker composer bạn có thể định nghĩa mộ

@qt91
qt91 / Understand basic docker.md
Last active October 20, 2019 07:36
Understand basic docker

Docker là gì?

Docker là một công cụ cho phép các nhà phát triển, sys-admin... có thể dễ dàng triển khai ứng dụng của mình lên chạy một môi trường phát triển Lợi ích chính mà Docker đem lại là cho phép người dùng có thể đóng gọi một ứng dụng với đầy đủ các thành phần liên quan Các Container của Docker sử dụng ít tài nguyên hơn các giải pháp sử dụng "Máy ảo" như "VMWare, VirtualBox..."

Docker Container là gì?

Trước khi nói về Container chúng ta sẽ chém gió đôi chút về VMs ( Virtual Machines ). Trước khi Docker ra đời, thì VMs vẫn thống trị trong việc triển khai các ứng dụng vì nhanh-gon-lẹ. Người dùng cần phải cài trên máy chính (Host) và nó sẽ tạo ra các máy ảo để chúng ta có thể cài đặt hệ điều hành cho hệ thống.

@qt91
qt91 / Message broker.md
Last active October 21, 2019 08:43
Message broker

Message broker là gì?

  • Hiểu nôm na nó là một chương trình cho phép nhận "Message" từ hệ thống gửi, sau đó gửi đến một hệ thống nhận.

Tại sao lại xuất hiện khái niệm Message broker?

  • Khi làm việc với các hệ thống lớn, phức tạp có sự kết hợp giữa nhiều công nghệ, việc giao tiếp giữa các thành phần trở nên khó khăn lúc này chúng ta sẽ nghỉ tới một hệ thống mới, có thể chuyển phát các giao tiếp giữa các hệ thống đảm bảo an toàn, đồng bộ và dễ dàng quản lý

Lợi ích mà Message broker đem lại?

  • Message broker đem lại một giải pháp kết nối các thành phần rời rạc không phần biệt sự khác về ngôn ngữ, hệ thống, phương thức...
@qt91
qt91 / LaravelUnittestMockService
Created July 15, 2019 08:39
Mock 2 function
$this->mock(SampleRepository::class, function (MockInterface $mock) {
$mock->shouldReceive('whereArray->save')->andReturnFalse();//Thang khon nang nay nam duoi, nhung phai duoc mock o tren
$mock->shouldReceive('whereArray')->andReturn(SampleModel::first());//Thang nay chay truoc, nhung lai goi sau
});
//Unit test la 1 chuoi su khon nan
@qt91
qt91 / indexOf.js
Created February 25, 2019 07:27
Arrray.indexOf
["A1","A1","A2","B","C"].indexOf("A")