Tag Archives: js

Series JavaScript sida – Bind, Call và Apply trong JavaScript

Để hiểu rõ về các hàm được đề cập trong bài viết này, các bạn nên ôn lại chút kiến thức về object trong javascriptđít (this) trong javascript nhé. Như đã hứa, trong bài này mình sẽ giới thiệu bộ 3 function bind, call ,apply. Đây là 3 hàm tạo nên sự mạnh mẽ và bá đạo của JavaScript.

Trói đít (this) lại bằng bind

Bind là một hàm nằm trong Function.prototype, do đó chỉ có function mới có khả năng gọi nó. Như đã nhắc tới trong bài viết về this, bind được dùng để xác định tham số this cho một function.

1

Continue reading Series JavaScript sida – Bind, Call và Apply trong JavaScript

Series Javascript sida – OOP trong JavaScript

Trước khi xem bài này, các bạn nên ôn lại kiến thức bằng cách xem lại 2 bài viết về objectprototype trong series JavaScript sida. Trước khi phân tích về OOP trong JavaScript, mình sẽ nhắc lại sơ 1 số khái niệm trong OOP. Bạn nào quên rồi có thể lên wiki xem lại nhé: https://vi.wikipedia.org/wiki/Lập trình hướng đối tượng.

Trong phạm vi bài viết, ta sẽ bàn về 3 đặc tính của OOP, so sánh cách hiện thực chúng trong Java và JavaScript. Vì Wiki có sẵn rồi nên mình chỉ copy vào thôi, không giải thích lại lòng vòng nhé:

Continue reading Series Javascript sida – OOP trong JavaScript

Series Javascript sida – Pờ rồ tô tai (Prototype) là cái gì

Ở bài trước, mình đã nói về khái niệm object và đít– một số khái niệm cơ bản trong JavaScript. Trong bài này, mình sẽ giải thích khái niệm prototype – một khái niệm khá lòng vòng phức tạp, dễ làm điên đầu các front-end developer.

Prototype là cái đếu gì?

Khi một thằng developer khác cứ đi theo và hỏi bạn “Prototype là cái đếu gì?”, hãy trả lời nó: Là cái đầu cha mày, hỏi hỏi suốt. Câu trả lời này có phần hơi bố láo nhưng lại khá là chính xác, có thể hiểu protoype nôm na là khuôn hoặc là cha của một object.

Continue reading Series Javascript sida – Pờ rồ tô tai (Prototype) là cái gì

Một số kĩ thuật design cơ bản cho developer

Hẳn là có vài bạn (sinh viên) đang muốn hỏi: Ơ tui là lập trình viên, lo code thôi chứ có phải thiết kế gì đâu mà phải học design? Xin trả lời là: trừ khi bạn đi theo con đường lập trình nhúng, hoặc làm back-end developer 100%, thế nào bạn cũng sẽ phải đụng tới vài việc liên quan tới thiết kế. 

Nếu may mắn, những công việc như thiết kế giao diện web, giao diện di động sẽ được thực hiện bởi designer, developer chúng mình chỉ cần file HTML hoặc PSD và code thôi.Tuy nhiên, ở Việt Nam, nhiều khi developer chúng mình cũng phải kiêm luôn nhiệm vụ này

Thiếu kiến thức về design, đôi khi dev chúng mình cho ra nhiều giao diện khá là khủng khiếp (Thuở xưa ở Đại Học cũng có dạy môn HCI – Tương tác người dùng, nhưng cũng chẳng có tác dụng mấy). Do đó, bạn hãy tự trang bị cho mình những kiến thức design cơ bản, để tạo ra những design coi được. Những kiến thức này sẽ rất hữu dụng khi bạn muốn đi theo con đường front-end developer, hoặc full-stack developer.

web-designer-vs-web-developer

Continue reading Một số kĩ thuật design cơ bản cho developer

Series JavaScript sida – Luận bàn về cái đít (this) trong javascript

Trước đây, mình đã đề cập tới một khái niệm khá khó nhằn trong javascriptcallback. Ở bài viết này, mình sẽ giải thích về cái đít, nhầm, cái this – một từ khóa dễ làm đau đầu các lập trình viên js. Ảnh trong bài viết chỉ có tính chất minh họa, các bạn chăm chú đọc bài chứ đừng ngắm mông với đít nhé ;).

2w54jeu

Continue reading Series JavaScript sida – Luận bàn về cái đít (this) trong javascript

Series JavaScript sida – Object trong JavaScript

Như đã chia sẻ ở bài viết trước, trong năm 2016 mình sẽ dành thời gian trau dồi kĩ năng front-end, do đó số lượng các bài viết về front-end trên blog sẽ nhiều hơn một chút.  Sau series C# hay ho được nhiều người đón nhận, năm nay blog sẽ có thêm series Javascript sida. Lý do là: càng học sẽ càng thấy C# nó hay ho, trong khi đó càng học lại càng thấy Javascript nó sida, bạn nào không tin cứ theo dõi series sẽ biết.

Bạn nào theo dõi blog lâu cũng biết mình có một số tình cảm khá phức tạp cả yêu lẫn ghét dành cho javascript. Về bản thân ngôn ngữ, cá nhân mình thấy nó là một ngôn ngữ trời đánh, khá sida, làm bao nhiêu lần mình phải thốt lên đ.m hay WTF khi học.

Javascript vốn được thiết kế một cách tạm bợ thô sơ, dùng để validate ở client side (Bạn nào tò mò muốn biết thêm về lịch sử của js có thể đọc thêm cuốn Professional JavaScript for Web Developers). Song chẳng hiểu duyên trời đưa đẩy thế nào, JavaScript cùng với PHP lại trở thành hai ngôn ngữ được sử dụng ở khắp mọi nơi, dù hứng chịu biết bao gạch đá.

c19be8898d6f097228295a6408ef3911c896257b035a120922865af69b92e4d4

Continue reading Series JavaScript sida – Object trong JavaScript

Giới thiệu tổng quát về Meteor

Hỏi thật nhé, có bao giờ bạn thấy lập trình một ứng dụng Web là chuyện khó không?

Chúng ta phải học cơ man đủ thứ: Từ front-end như HTML, CSS, JS, cho tới back-end như Java/C#/Ruby, SQL, …. Nếu muốn làm thêm ứng dụng bản trên di động, ta phải học Objective C, Java, … Sau khi code, ta còn phải tìm hiểu về hosting, về domain, về appstore để đưa web/ứng dụng của mình lên Internet, phiền phức nhiều khê quá nhỉ?

Có cách nào để học ít ngôn ngữ, nhưng lại mau chóng đưa ra thành phẩm không? Nếu chỉ là web đơn giản/e-commerce thì bạn có thể xây dựng với Joomla, Drupal, WordPress,… còn với những yêu cầu phức tạp thì không có cách nào đâu.

1434432391_web-development

À, mà thật ra là có đấy. Chỉ cần bạn chịu khó học  javascript, sau đó học Meteor là xong. Chỉ cần chút kiến thức về HTML, JS, CSS và MongoDB, bạn có thể xây dựng 1 ứng dụng web và mobile realtime trong 1 tiếng. (Nhanh gấp 5-10 lần Java, C#, PHP hay Rail để làm chuyện tương tự).

Không tin à? Hãy đọc bài viết để biết Meteor là gì, tại sao nó lại “bá đạo” như vậy nhé.

Continue reading Giới thiệu tổng quát về Meteor

Sự “bá đạo” của Chrome Developer Tools – Phần 2

phần 1, mình đã giới thiệu với các bạn về chức năng cơ bản của các tab trong Chrome Developer Tools. Ở phần này, mình sẽ chia sẻ một số mánh khóe, chiêu trò hữu ích mà các bạn có thể áp dụng. Những chiêu này sẽ rất có ích khi code, debug, hoặc để lòe cấp trên và thành viên mới.

1. Mở nhanh file javascript

Với những dự án lớn, có hơn chục file css, js,… việc tìm mở file sẽ rất khó khăn. Chỉ cần mở Developer Tools, bấm tổ hợp Ctrl + P, những file cần tìm sẽ hiện ra đầy đủ, bạn chỉ việc chọn và ấn Enter.

1

Continue reading Sự “bá đạo” của Chrome Developer Tools – Phần 2

Sự “bá đạo” của Chrome Developer Tools – Phần 1

Với các bạn web developer, trình duyệt web là thứ chúng ta tiếp xúc nhiều nhất chỉ sau IDE. Chrome là một trình duyệt web được giới lập trình viên ưa chuộng vì nhanh, tiện lợi, và có bộ Developer Tools vô cùng mạnh mẽ. Bài viết này sẽ giới thiệu một số tính năng của bộ Developer Tools này.

Các bạn nào muốn theo nghiệp web developer nên đọc kĩ bài này nhé, vì bạn sẽ áp dụng những kiến thức này trong suốt quá trình làm việc đấy (Dù bạn có làm C#, Java, PHP, hễ có đụng tới front-end thì đều phải dùng Chrome Developer Tools cả).

Continue reading Sự “bá đạo” của Chrome Developer Tools – Phần 1

Tổng quan về lập trình ứng dụng di động – Phần 2

bài viết trước, mình đã giới thiệu tổng quát về các hệ điều hành di động nổi tiếng hiện nay. Trong bài viết này, mình sẽ đưa ra một số hướng phát triển ứng dụng, cùng với những ưu nhược điểm của nó.

Hiện nay, có 3 hướng chính để phát triển một ứng dụng di động, đó là: Web App, Native App và Hybrid App. Mỗi hướng sẽ cần những kĩ năng riêng, có những ưu nhược điểm riêng, sẽ được nói rõ hơn bên dưới.

appsillustrated_nativewebhybrid Continue reading Tổng quan về lập trình ứng dụng di động – Phần 2