function* và yield trong Javascript generator function
function* là một trong những chức năng mới của Javascript trong ECMAScript 2015 (6th Edition, hay tắt là ES6). function* giúp khai báo 1 generator function, trả về 1 Generator object . Với chức năng mới này, hàm có thể dừng thực thi bất cứ thời điểm nào, đợi async chạy xong, xong tiếp tục thực ...
Thử làm một editor tương tác (phần 2)
Ở bài Thử làm một editor tương tác (Phần 1) mình đã giới thiệu qua tool. Trong bài viết này mình sẽ viết cách làm tool một cách chi tiết nhất có thể. Mã nguồn của tool ở đây: https://github.com/telescreen/ijs Bắt đầu Để có thể có tool này, mình cần: Editor. Nếu có thể hỗ trợ highlight ...
Trick nhỏ để lấy screen size với javascript và css
Lâu không post gì muốn viết một bài dài dài về js cơ mà đau đầu quá viết mãi không xong, thôi post bài ngắn vậy Lấy screen size ở đây tôi muốn nói với việc phát hiện xem màn hình browser có kích thước vừa hay to nhỏ thế nào. Cái này quá đơn giản, có gì mà phải trick, bạn có thể gọi ngay ...
Giải rút gọn link Adf.ly với node-bypasser
Mình là một contributor với quyền write của node-bypasser Mình muốn giới thiệu với các độc giả Kipalog về dự án open source đầu tiên mà mình đóng góp vào (contribute). Bằng việc đóng góp vào project này, mình học được rất nhiều thứ về Node.js, những công cụ hỗ trợ khi viết code như Eslint, ...
json ⊄ js
Mọi người thường nói rằng JSON là một phần nhỏ (subset) của Javascript. Vấn đề là nó không phải như vậy. Dựa vào spec của JSON, một chuỗi có thể chứa bất cứ kí tự unicode nào ngoại trừ " hoặc / hoặc kí tự điều khiển. Điều là có nghĩa là chuỗi dưới đây hoàn toàn hợp lệ với JSON: {"str": ...
Thử làm 1 editor tương tác (Phần 1)
Giới thiệu Mình rất thích học đồ hoạ máy tính nhưng luôn lười vì: Học thư viện đồ hoạ trên native platform tốn thời gian. API khó hiểu khó hình dung kết quả. Mã viết ra phải biên dịch, chạy mới nhìn được kết quả. Thời gian từ lúc viết mã đến lúc nhìn thấy kết quả khá dài. Tốc độ feedback ...
Viết và chia sẻ code online với fiddle
Trước khi giới thiệu fiddle là gì, mình xin kể các bạn nghe 1 câu chuyện "có thật" sau. Một hôm nọ, khi mình đang ở công ty, bỗng nhận được mes của thằng bạn. Thằng bạn: Ê mày, cái css của tao bị sao ấy, chỉnh lại giùm tao với. Cái jquery cũng ko chạy luôn, bấm nút xong nó ko ra gì hết. Team ...
Học ReactJS trong 15 phút (Phần 1)
Trong bài React dành cho AngularJS developer tôi đã có một số so sánh cũng như hướng dẫn sơ lược về ReactJS dành cho những bạn đã có background về AngularJS. Vậy còn với những bạn chỉ có căn bản về Javascript? Hôm nay tôi sẽ giới thiệu với các bạn những kiến thức cơ bản về ReactJS mà các bạn đã có ...
Giới thiệu Spread Operator của ES2015 (hay ES6)
Trong ES6 spec có giới thiệu một chức năng mới khá là lợi hại mà không phải ai cũng hay dùng, đó là Spread Operator . Chức năng này không có gì là xa lạ với các ngôn ngữ khác, trong thế giới Ruby thì nó tương đương splat operator . Spread Operator cho phép chuyển đổi một chuỗi thành nhiều ...
ECMA Script 6 fat arrow function
Xin chào, đây là lần đầu tiên mình post bài ở đây. Nhiều vấn đề mình cũng không rành lắm, có gì sai mọi người góp ý nhé. Xin cảm ơn :D Bài này giới thiệu hàm mũi tên - arrow function trong ECMA Script 6, phiên bản kế tiếp của Javascript hay ECMAScript 5 (ES5) Uhm, trước khi đi vào vấn đề ...
React dành cho AngularJS developer (Phần 2)
Tiếp nối bài viết trước, hôm nay chúng ta cùng tiếp tục xem xét cách giải quyết vấn đề về Component, Data binding,… trong React và Angular. Component React component thì có dạng giống như Angular directive, chúng được sử dụng để trừu tượng các cấu trúc DOM phức tạp, và chia nhỏ theo ...
Tạo dummy data với Faker và Mockaroo – Xa rồi những ngày nhập tay nhàm chán
Cuộc đời một thằng developer có rất nhiều việc rất chán nhưng phải làm: fix bug, viết report, nhập timesheet, viết code test … Một trong những việc đáng chán đó là: Tạo data giả để hiển thị và test . Để làm việc này, chúng ta thường tạo object giả (bằng code), hoặc đánh data giả vào SQL. ...
Tạo một ES6 NodeJS app
Lời mở JavaScript, ngôn ngữ được ấp ủ đúng 10 ngày đã trở thành từ kỹ thuật được nhắc nhiều nhất bây giờ, phải cảm ơn cuộc cách mạng của Web 2.0. JavaScript có mặt khắp mọi nơi, không chỉ ở client side khi bạn duyệt web, nó còn được dùng để phục vụ request ở server side với NodeJS. Bạn ...
[Hack Time] Viết ứng dụng tạo trò chơi "Ai là triệu phú" bằng HTML&CSS&JS [Phần 1]
Chào cả nhà, lại là mình đây, đây là tuần thứ 3 và 2 tuần trước, mỗi cuối tuần mình có post một bài về một ứng dụng mà mình tự làm chỉ hoàn toàn bằng HTML&CSS&JS, có sử dụng thư viện jquery [Hack Time] Tạo ứng dụng Yes/No Selector bằng JavaScript thuần và jquery ( tạm gọi là tung đồng ...
Tản mạn dấu chấm phẩy trong JS
Bài này mình copy lại từ blog của mình, muốn chia sẻ thêm cho anh em. Có chỗ nào sai sót, chưa hợp lý, hay thiếu thốn thì mong được mọi người chỉ giáo :D var a = 10 var b = a + 20 console.log('The result is that: a = %d, and b = %d', a, b) function add(a, b) { var c = 10 ...
Tự động reload browser với livejs
Khi viết javascript hay css, bạn có bao giờ cảm thấy bất tiện khi cứ phải Alt + Tab → Ctrl + R sau mỗi lần save file không? Cá nhân mình cảm thấy rất bất tiện vì mỗi lần như thế mình phải ấn 2 tổ hợp phím ở trên mới xem được kết quả. Nhiều khi thay đổi lại rất nhỏ dẫn tớ sau khi refresh ...
Giới thiệu về web audio api trên html5 (phần 2)
Để làm game một game hay trên html5 thì âm thanh là một thứ không thể thiếu. Đầu tiên hãy đến với một game rất nổi tiếng: Angry bird chrome Các bạn có thể để ý khi play một màn game bất kì nào đấy thì sẽ thấy rất nhiều âm thanh với các lớp (layer) khác nhau, được play vào các thời điểm khác ...
JavaScript - Debounce Function là gì?
Trong một bài test của mình, có một câu là hãy thực hiện Instant Search giống của Twitter. Cách sử dụng là khi bạn nhập một ký tự thì sẽ gởi một request lên Server để lấy dữ liệu. Vấn đề đặt ra var txtKeyword = $('#key-word'), lstResult = $('#result'), keyword = ...
Viết game snake bằng javascript nhân dịp năm rắn
Mở đầu Năm nay năm âm là năm rắn, hồi tết mình ngồi rỗi không biết làm gì nên quyết định làm một game liên quan đến con rắn. Mà đã liên quan đến rắn thì chắc hẳn mọi người đều nhớ đến game cổ điển snake trên chiếc điện thoại nokia 1010. Để code xong cái đưa được cho bạn bè xem ngay, mình nghĩ ...
Cùng tìm hiểu cách truy cập tài nguyên với fetch API
Để hiểu về fetch() API, chúng ta hãy cùng quay ngược dòng thời gian về những năm đầu 2000. Vào thời điểm đó các kỹ sư của Microsoft giới thiệu một khái niệm khá là mới cho các ứng dụng Web, đó là kỹ thuật AJAX. Về mặt bản chất thì kỹ thuật này xoay quanh một object có cái tên khá là độc, ...