Khám phá Sandbox với OpenSim - iOS Simulator

Đôi khi chúng ta cần phải mở Finder để check file được lưu data trong app iOS, nhưng tìm được địa chỉ folder lưu file đó trong Finder thật không dễ dàng gì. Chúng ta thường phải in địa chỉ lưu path đó ra, sau đó lần theo Finder , đôi khi nó ẩn, chúng ta lại phải tắt ẩn mới tìm thấy được. (Cực ...

Tác giả: Tạ Quốc Bảo viết 17:00 ngày 12/08/2018

Những công cụ để giúp một Coder không có kỹ năng design cũng có thể tạo ra một trang web bắt mắt

Tôi là một lập trình viên Ruby (Rubyist) không có kĩ năng design, thi thoảng tôi cũng muốn phát triển một số sản phẩm cho riêng mình và một trong những vấn đề lớn nhất tôi gặp phải chính là tạo ra UI/UX đẹp, bắt mắt và thân thiện với người dùng. Và tôi tin rằng đây cũng là vấn đề với đa số các ...

Tác giả: Trịnh Tiến Mạnh viết 17:00 ngày 12/08/2018

Exposing your local Node.js App to the World

Trong quá trình phát triển dự án, chắc chắn trong chúng ta đôi lúc cũng phải gặp 1 số trường hợp muốn demo sản phẩm cho khách hàng hay muốn 1 dịch vụ từ xa gọi về app nhưng không muốn deploy ứng dụng lên public server. Lúc này giải pháp của chúng ta là phải dùng cái công cụ hỗ trợ để tạo 1 đường ...

Tác giả: Hoàng Hải Đăng viết 17:00 ngày 12/08/2018

Computed, Watcher và Filter trong Vue.js

Computed Properties Computed là gì? Mình xin lấy ví dụ trước, sau đó sẽ giải thích về cái này. Quay lại ví dụ hôm trước như sau. Trong file index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> < ...

Tác giả: Tạ Quốc Bảo viết 17:00 ngày 12/08/2018

Development Tutorial for iPhone X

Không chỉ các iFan mà tất cả mọi người dường như đều phấn khích về việc ra mắt iPhone X, chiếc Iphone màn hình tràn kín cùng với rất nhiều trang bị mới mẻ. Thế nhưng màn hình tuyệt vời này trên iPhone X cũng yêu cầu 1 vài thay đổi trong việc thiết kế app của bạn. Trong bài này, chúng ta sẽ cùng ...

Tác giả: Trịnh Tiến Mạnh viết 17:00 ngày 12/08/2018

Giới thiệu về Model Caching trong Laravel

Problem Trước đây, có thể bạn thường lưu trữ dữ liệu của Model trong Controller sau đó đổ ra view, nhưng hôm nay mình sẽ giới thiệu một kỹ thuật mới có thể thay thế việc bạn vẫn làm theo thông lệ đó là Model Caching trong Laravel, sử dụng các mô hình Active Record nhỏ hơn. Đây là một kỹ thuật mà ...

Tác giả: Tạ Quốc Bảo viết 17:00 ngày 12/08/2018

Attributed String in Swift: The right way

Attributed String in Swift: The right way Tôi thường gặp phải khá nhiều trường hợp phải sử dụng Attributed String vì những yêu cầu quái dở của khách hàng =)) hoặc đội Design hơi phóng túng và phong lưu. Hồi mới code objective-C thì mỗi lần động đến Attributed String tôi luôn thấy rất khó chịu và ...

Tác giả: Bùi Văn Nam viết 17:00 ngày 12/08/2018

[Phần 2] Tìm hiểu các method hỗ trợ quan hệ many-to-many

Chào các bạn! Trong bài viết hôm nay, mình sẽ giới thiệu tiếp theo các method hỗ trợ insert/delete data trong mối quan hệ nhiều-nhiều Chức năng: dịch nghĩa tiếng Việt, attach có nghĩa là đính kèm, nói nôm na thì insert một hoặc nhiều record cho table mà ta đã định nghĩa trong model. ví ...

Tác giả: Tạ Quốc Bảo viết 17:00 ngày 12/08/2018

kintone Plug-in: "Edit table" Plugin [VI]

kintone Plaform Part 1 - Giải pháp Quản trị dữ liệu không cần lập trình kintone Plaform Part 2 - Sử dụng Plugin để mở rộng chức năng kintone Plaform Part 3 - Hướng dẫn phát triển Plug-in kintone Plaform Part 4 - Plug-ins list Tiếp tục series plugin, hôm nay mình xin giới thiệu với mọi ...

Tác giả: Trịnh Tiến Mạnh viết 17:00 ngày 12/08/2018

Debugging Angular 2 applications

Mặc dù Angular 2 còn khá mới mẻ, nhưng có khá nhiều kỹ thuật và phương pháp debug mà bạn có thể sử dụng. Bài hướng dẫn này sẽ tóm tắt tổng quan về các cách debug một ứng dụng Angular 2. Trong số hầu hết các phương pháp sẽ được trình bày dưới đây, công cụ được khuyến khích sử dụng đó chính là Google ...

Tác giả: Tạ Quốc Bảo viết 17:00 ngày 12/08/2018

Đồng bộ session trong Google Analystics

Việc phân tích trang web bằng các số liệu thống kê của Google Analystics(GA) đã trở nên quen thuộc với những người phát triển và quản trị website. Việc cài đặt và thống kê từ GA chắc hẳn các bạn cũng không còn xa lạ. Trong bài viết này tôi sẽ trình bày về "đồng bộ session trong Google Analytics". ...

Tác giả: Bùi Văn Nam viết 17:00 ngày 12/08/2018

Guideline for writing API documentation

Nhiệm vụ của Backend team khi làm API không chỉ là việc viết code, mà còn là viết documentation cho API đó, sao cho những người sử dụng API (Frontend team, Mobile team, ...) thuận tiện, nhanh chóng và chính xác nhất. Trong đó có 3 format để viết API documentation phổ biến và được ưa chuộng là: ...

Tác giả: Trịnh Tiến Mạnh viết 16:59 ngày 12/08/2018

Tạo 1 blockchain với Java (Part 1)

Mục đích của loạt bài hướng dẫn này là giúp bạn xây dựng một bức tranh về cách mà người ta có thể phát triển công nghệ blockchain. Trong bài hướng dẫn này, chúng ta sẽ: Tạo "blockchain" cơ bản đầu tiên của bạn (Tôi sẽ giả sử bạn có một sự hiểu biết cơ bản về lập trình hướng đối tượng ...

Tác giả: Bùi Văn Nam viết 16:59 ngày 12/08/2018

IGListKit - Tạo UICollectionView nhanh và linh hoạt hơn

IGListKit IGListKit là một trong những thư viện mã nguồn mở IOS phổ biến nhất trong năm 2017. Được phát triển bởi Instagram, IGListKit là khung UICollectionView dựa vào dữ liệu để xây dựng các danh sách nhanh và linh hoạt . Nó cung cấp nhiều tính năng khác như hình động và các tính ...

Tác giả: Tạ Quốc Bảo viết 16:59 ngày 12/08/2018

Laravel 5.5 with VueJS: Simple CRUD Project

Laravel 5.5 VueJS Preset Laravel 5.5 có các Frontend Preset là VueJS, ReactJS, AngularJS và None. Trong bài viết này chúng ta sẽ sử dụng VueJS Preset để sử dụng VueJS trong Laravel app. Cài đặt Laravel 5.5 Tạo mới laravel project sử dụng composer command: composer create-project ...

Tác giả: Tạ Quốc Bảo viết 16:59 ngày 12/08/2018

Cải thiện code ruby với một số thủ thuật

Sử dụng Lambda Literal -> Với -> ta có thể tạo lambda một cách dễ dàng: pry(main)> lambda = -> {2 + 3} => #<Proc:0x00558f4751eab0@(pry):6 (lambda)> pry(main)> lambda.call => 5 pry(main)> lambda = -> (variable) {variable + 10} => ...

Tác giả: Bùi Văn Nam viết 16:59 ngày 12/08/2018

[Elasticsearch] - Các khái niệm cơ bản - Phần 2

Welcome back to series Simple & Basic Elasticsearch . Trong phần này mình sẽ giới thiệu với các bạn các khái niệm về MAPPING , ANALYSIS và TOKENIZER . 1. Mapping MAPPING là quá trình xử lý cách mà các DOCUMENT (và các PROPERTIES bên trong) sẽ được index và lưu trữ như thế nào. ...

Tác giả: Tạ Quốc Bảo viết 16:59 ngày 12/08/2018

Làm gì khi team SCRUM của bạn không hoàn thành công việc trong Sprint vừa rồi

Một trong những vấn đề lớn với các team Agile mới là không có khả năng hoàn thành công việc trong Sprint. Mỗi team là duy nhất. Tuy nhiên, tôi đã nhìn thấy những nguyên nhân này thường xuyên nhất: Team members multitask, vì vậy họ không hoàn thành công việc của mình Sprint. Tôi đã gặp phải vấn ...

Tác giả: Tạ Quốc Bảo viết 16:59 ngày 12/08/2018

10 cách để viết Nodejs REST APIs hiệu quả

Chúng ta sẽ cùng tìm hiểu các cách để viết các REST API với nodejs làm sao cho hiệu quả, bao gồm các chủ đề như đặt tên các route, authentication, black-box testing và sử dụng cache header đúng cách các tài nguyên. Hy vọng 10 cách được liệt kê dưới đây có thể giúp ích cho các bạn: 1. Sử dụng ...

Tác giả: Bùi Văn Nam viết 16:59 ngày 12/08/2018

Tạo ứng dụng effect đẹp mắt với Transitions & Animation - VueJS

Giới thiệu Tiếp tục trong series 2018 - Cùng nhau học VueJS, hôm nay mình sẽ tạo một ứng dụng nho nhỏ với Transitions & Animation. Link github: https://github.com/vanquynguyen/vue-cli-timetable . Link demo: https://vanquynguyen.github.io/vue-cli-timetable Ứng dụng có kết hợp giữa VueCLI, ...

Tác giả: Hoàng Hải Đăng viết 16:59 ngày 12/08/2018