Cùng nhau học freeCodeCamp, khoá học lấy chứng chỉ miễn phí hiện có giá trị toàn cầu

freeCodeCamp là khoá học miễn phí cho tất cả mọi người, có thể giúp bạn xây dựng profile của bạn, cung cấp cho bạn chứng chỉ khi bạn hoàn tất.
Khoá học hiện đang cung cấp:
Font-End , Back-End , Full Stack, Data Visualization…

Trước khi bắt đầu các bài thử thách, bạn sẽ nhận được sự hướng dẫn đăng nhập đăng ký, sử dụng forum chat, tạo tài khoản GitHub,…


Hiện tại, mình bắt đầu với chứng chỉ Font-End Development của freeCodeCamp

Mình đã giải xong các phần HTML&CSS, Responsive Design with Bootstrap, jQuery, và project căn bản.
Bạn có thể tìm thấy hướng dẫn trong clip youtube này, khi mình làm thì mình không xem, mình biết nhiều khi bạn chỉ muốn lướt qua xem lời giải cho xong, tuỳ thuộc vào bạn thôi. Mình post để có thể giúp ích cho ai muốn tìm hiểu

Giờ mình đang theo phần Basic JavaScript.
https://youtu.be/PMfcsYzj-9M
Ở đây mình muốn viết lại các bài trên freeCodeCamp, do mình tổng kết và đút kết một số phần từ các bài học ở đó và tự nghiên cứu thêm tài liệu. Hy vọng topic này có thêm nhiều bạn cùng tham gia.
Những điểm lạ trong JS : xem youtube
https://youtu.be/Bv_5Zv5c-Ts

Global Scope và hàm Functions:
Giải bài toán :
khai báo biến myGlobal
biến myGlobal có giá trị bằng 10
sử dụng biến var keyword cho myGlobal
oopsGlobal phải cho kết quả là 5

// Khai báo biến

function fun1() {
// Gán giá trị 5 cho oopsGlobal

}
// Giữ nguyên phẩn code dưới
function fun2() {
var output = “”;
if (typeof myGlobal != “undefined”) {
output += "myGlobal: " + myGlobal;
}
if (typeof oopsGlobal != “undefined”) {
output += " oopsGlobal: " + oopsGlobal;
}
console.log(output);
}

Scope trong Javascript đề cập đến khả năng hiển thị của các biến. Những biến được khai báo bên ngoài hàm block gọi là Global scope.
Điểm đặt vấn đề: tại sao biến oopsGlobal không hề đặt var nhưng hàm không hề báo lỗi. Theo suy luận, các biến được sử dụng mà không có từ khóa var được tạo tự động trong global scope. Điều này có thể tạo ra hậu quả không mong đợi ở những nơi khác trong mã của bạn hoặc khi hàm chạy lặp lại. Vì thế, bạn nên luôn luôn khai báo biến của bạn với từ khóa var.

Local Scope and hàm Functions
Những biến được khai báo trong hàm, cũng như được khai báo trong ngoặc đơn của hàm (hàm có thông số, vd: function hamA(a , b) {…} ). Biến đó chỉ dùng đươc trong hàm****

function myTest() {
var loc = “foo”;
console.log(loc);
}
myTest(); // “foo”
console.log(loc); // “undefined” // biến không xác định

Biến local sẽ được ưu tiên hơn khi tồn tại song song hoặc cùng tên với biến global.

var someVar = “Hat”;
function myFun() {
var someVar = “Head”;
return someVar;
}

Bạn có thể lấy giá trị trả về của hàm và gán giá trị đó cho 1 biến:

var changed = 0;
function change(num) {
return (num + 5) / 3;
}
changed = change(10); // kết quả là : 5

Tạo hàm nextInLine có thể thêm 1 giá trị/phần tử vào cuối 1 mảng (array), và loại bỏ giá trị/phần tử đầu tiên trong mảng. Kết quả của hàm sẽ trả về cáo giá trị/phần tử trong mảng sau khi đã thực hiện thêm và loại bỏ.

function nextInLine(arr, item) {
arr.push(item); //thêm giá trị/phần tử
var removeItem = arr.shift(); //loại bỏ giá trị/phần tử đầu tiên trong mảng
return removeItem; // trả về kết quả khi gọi hàm
}

// tạo mảng để test
var testArr = [1,2,3,4,5];
var testArr2 = [5,6,7,8,9];

// Gọi hàm in kết quả
console.log("Before: " + JSON.stringify(testArr));
console.log(nextInLine(testArr, 1)); //kết quả là: 1
console.log(nextInLine([2], 1)); // kết quả là: 2
console.log(nextInLine(testArr2, 1)); //kết quả là: 5
console.log(nextInLine(testArr, 10), testArr[4]);
console.log("After: " + JSON.stringify(testArr));

Bình đẳng thức, sự khác nhau giữa “===” và “==”. Với so sánh “===” thì đẳng thức sẽ so sánh cả kiểu dữ liệu và giá trị/phần tử .
3 === 3 //kết quả trả về là: true
3 === ‘3’ //kết quả trả về là: false

Tài liệu tham khảo thêm :
free-programming-books
https://writingjavascript.org/posts/introduction-to-functions-numbers-in-javascript

6 Likes

Làm thế nào để học chung vậy bạn?
Với chứng chỉ ấy được cấp như thế nào bạn? Giả sử mình biết HTML rồi, giờ chỉ muốn làm bài test để lấy chứng chỉ HTML (ví dụ thế) thì có được không? Ý mình là chỉ học những cái chưa biết thôi ý hay phải học từ a-z mới có chứng chỉ.

1 Like

Nếu bạn đã biết về HTML, CSS, jQuery … thì mấy bài tập ngắn trong đó sẽ không mất nhiều thời gian của bạn. Mình vẫn làm theo trình tự, mỗi phần đều tính theo giờ, khi bạn hoàn tất thì bạn được công nhận là bao nhiêu đó thời gian bạn đã làm, đã theo đuổi. Mọi thứ đều cần sự kiên trì. Nếu bạn đã đủ tự tin, đủ vững vàng chứng tỏ mình thì bạn nên làm nhiều project của riêng bạn rồi đăng lên mạng để được nhiều người biết đến bạn. Chứng chỉ ở đây cũng không nói lên được gì ngay cả khi bạn cầm trong tay tấm bằng này nọ. Mình đã nghe nói nhiều về lập trình viên không bằng cấp. Khoá học ở đây giúp bạn khơi nguồn sáng tạo, đưa ra 1 số project cho bạn làm, đưa cho bạn thử thách, ráng đọc hiểu code càng nhiều càng tốt từ đó phát huy.
Bạn có thể search google : free code camp certificate sẽ thấy chứng chỉ của khoá học trông như thế nào. Chứng chỉ có thể gửi qua email, khi bạn có tài khoản của khoá học mọi người lên trang web đều có thể thấy thông tin về bạn, project bạn đã làm, nó nói lên tất cả.
Đây là 1 ví dụ bạn có thể tham khảo : http://selhar-showcase.surge.sh
Để học cùng nhau thì bạn cứ post ở đây, bạn đang theo phần nào, phần nào gặp khó khăn, nhiều khi trong group freeCodeCamp hay google mà bạn không tìm được giải pháp hay do gặp khi khăn với đọc hiểu tiếng Anh …v…v… Hơn nữa là nói về trải nghiệm của bạn. Như mình đề cập ở trên 1 phần về Scope… Minh không đi hết tất cả vì tương đối đơn giản với mình có thể cáo bạn đều đã biết.

2 Likes

Chính xác, mình cũng đang theo học freecodecamp,mình muốn chuyển từ HelpDesk sang FrontEnd nên cũng tìm học, bài học trên đây cũng có lộ trình ổn, vừa học code, vừa học tiếng anh. Mình cũng đang làm phần Basic JavaScript. Project thì có thể làm bằng Codepen.io cũng dễ tham khảo.

2 Likes

Có đóng học phí không bạn? (sorry thấy cái thông tin miễn phí rồi.)

thi lấy chứng chỉ thì vào đâu bạn?, mình vào thử chạy cái bài test helloworld xong rồi nó quay trở lại làm từ đầu là sao vậy?

Sau khi trãi nghiệm 2 h (css,bootstrap, một vài bài jQuery), cảm thấy chương trình rất hữu ích, coi bộ cái chứng chỉ này cũng khá là giá trị đây!

1 Like

Vậy bạn xem luôn bộ code interview này đi.

1 Like

bạn xem góc trên cùng bên phải thấy [ … ] là số bài bạn đã làm, bạn làm đến đâu thì nó sẽ cho ra cái list dài đến đó.

ok, thank you, nhân tiện hỏi bạn làm sao đăng ký cái accout ở http://c9.io nếu không có card visa,?

Khó thì mình bỏ qua, bạn dùng thứ cái này xem Bạn đã thử viết code trên Cloud IDE chưa? Demo ứng dụng "web-java-spring-petclinic" (Java, Spring,Maven framework, MySQL)

Mình chưa học code bao giờ, mới học thử trên freeCodeCamp và thấy rất dễ hiểu. Khoá học bằng tiếng anh rất hay và lại còn miễn phí nữa

1 Like

Cái trang này em thấy lấy ý tưởng từ code academy thì phải ?

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?