Repository Pattern và Unit of Work với Entity Framework trong ASP.NET MVC

Repository là một mẫu dùng để tạo ra một lớp abstraction trung gian giữa lớp data và lớp business. Lớp này chứa đựng phương thức thao tác mà để giao tiếp với lớp data để phục vụ cho business từ lớp logic . Mục đích tạo ra lớp này để cách ly với việc tiếp cận data sao cho những thay đổi không ảnh ...

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

Hiểu biết cơ bản về Adapter pattern

Mục đích Chuyển đổi giao diện ( interface ) của một lớp( class ) trong một giao diên khác theo mong muốn của khách hàng. Bộ chuyển đổi ( Adapter ) buộc các lớp làm việc cùng với nó tuân theo quy tắc không thể thay đổi được bởi vì vấn đề giao diện tương thích. Bọc lớp đã tồn tại trong một ...

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

Cách đặt mục tiêu cho năm mới

Năm 2016 đã đến với chúng ta được một thời gian, vậy các bạn đã có kế hoạch gì cho năm nay chưa? Tết là thời điểm chúng ta khá bận rộn với việc về quê thăm gia đình, họ hàng,.. hay đón tiếp khách đến chơi nhà, chính vì vậy mà thật khó để chúng ta có thể dành thời gian để suy nghĩ kỹ lưỡng về mục ...

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

Mở đầu với Gulp

Gulp là một tool viết bằng Javascript, được sử dụng để tự động hoá các tác vụ giúp các bạn có thể tiết kiệm rất nhiều thời gian trong quá trình làm việc. Dù bạn có là một developer hay là một designer (người sẽ phải làm quen với HTML wireframes hiện tại hoặc sau này), tôi cũng khuyến khích hãy ...

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

Triển khai ứng dụng iOS, OS X trên App Store

App Store là cổng kết nối (của hàng) của apple tạo ra để làm cầu nối nhanh nhất giữa các nhà phát triển phát hành các ứng dụng, games... để kết nổi với người dùng. tại đây người dùng có thể tìm cho mình một ứng dụng bất kỳ về nhu cầu sử dụng, và nhà phát triển có thể thông qua đó để phát hành các ...

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

Responsive web design: Thế giới Internet nhìn thế nào trong năm 2016 (P1)

Responsive dĩ nhiên là việc giúp cho khách ghé thăm có 1 trải nghiệm tốt nhất dựa trên thiết bị của họ. Cho dù họ dùng mobile, máy để bàn – dùng chuột hay cảm ứng thì các chức năng trực quan vẫn thống nhất. Và cũng không thể bỏ qua khuyến nghị của Google rằng, với việc sử dụng một URL duy nhất sẽ ...

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

Một kỹ thuật sử dụng sự tiện lợi của Storyboard và Nib trong IOS

Như các bạn đã biết: Sử dụng Storyboard để tạo một Border chẳng phải là như dưới đây đúng không? Chỉ có cách là setting KeyPath và Type và bản thân tác giả cũng đã sử dụng cách này để thực hiện. Tuy nhiên!!! Chúng ta sẽ ko còn cần cách nhàm chán như thế này nữa mà thay vào đó sử dụng chức ...

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

Tối ưu Javascript để tăng tốc độ website

I. Sử dụng vòng lặp Hãy dùng vòng lặp While ,For thay cho Each trong jQuery. VD: với đoạn code đơn giản sau đây var array = new Array ( ) ; for ( var i = 0 ; i < 10000 ; i ++ ) { array [ i ] = 0 ; } console . time ( 'native' ) ; var l = array ...

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

Một số Animation trong Android

Để cho một ứng dụng có thể trở lên sinh động hơn với các hiệu ứng nhấp nháy, di chuyển trái phải, lên xuống hoặc thoắt ẩn thoắt hiện cho các dòng text, hay cho các hình ảnh, nút bấm, vv... chúng ta có thể sử dụng Animation cho cái thành phần đó. Chỉ cần sử dụng thêm một chút các animation đơn giản, ...

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

So sánh giữa Bootstrap và Material Design Lite của Google

Kể từ khi Google ra mắt Material Design cùng thời điểm giới thiệu Android 5.0, một lượng lớn frontend framework ra đời hỗ trợ cho việc xây dựng các ứng dụng web. Chúng ta đã có một số thư viện xây dựng quanh các thành phần web như MUI, Material-UI và Polymer. Đầu tháng 7 năm 2015, Google ra mắt ...

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

Google Fit for Android: Recording API

Như mình đã giới thiệu ở bài viết trước https://viblo.asia/bui.huu.tuan/posts/7eEREJVVMgNj, hôm nay mình sẽ hướng dẫn các bạn sử dụng chi tiết một API cụ thể của Google Fit, đó là Recording API. Nhắc lại một chút, Google Fit là một nền tảng cho phép các lập trình viên xây dựng các ứng dụng tập ...

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

Xây dựng trang quản lí website sử dụng rails_admin

Mở đầu Với hầu hết các trang web hiện nay, một trang admin để quản lí là không thể thiếu. Để tự tay xây dựng hoàn thiện một trang admin là không hề dễ dàng và tốn không ít thời gian. Tuy nhiên đối với những lập trình viên Ruby on Rails thì chúng ta đã có một gem rất mạnh để hỗ trợ việc này đó là ...

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

Immutability

Immutability is one really good concept in programming. It's really really good. Immutable means that you don't change an object state nor re-assign variable once it is created. You create a value and then after that you can only read it. If you want to modify it, you need to create a new instance ...

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

Tìm hiểu về Execution Context trong JavaScript

Trong bài viết trước mình có đề cập tới khái niệm Hoisting trong JavaScript, bài viết này mình sẽ đề cập tới khái niệm Execution Context, qua đó chúng ta sẽ hiểu hơn về cách thức hoạt động khi chạy code JS cũng như hiểu thêm tại sao có ra khái niệm Hoisting. Khái niệm Execution Context Khái ...

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

Bạn đang sở hữu vũ khí gì trong tay?

Thế giới công nghệ thông tin đang phát triển chóng mặt, và ai nắm giữ công nghệ trong tay, người đó sẽ chiến thắng. Và nếu cuộc đua tranh công nghệ là một cuộc chiến, thì một lập trình viên như bạn đang có gì trong tay? Hãy tưởng tượng, các ngôn ngữ lập trình chính là chìa khóa để thay đổi thế ...

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

Sử dụng Cell trong Rails

Trong mô hình MVC của Rails, mối quan hệ View - Models là rất quan trọng và có thể xây dựng nó theo OOP để việc tái sử dụng các hàm logic phức tạp trở lên dễ dàng, đồng thời giảm nhẹ và tối ưu code cho Models trong các dự án lớn. Method “partial” có lẽ đã trở lên rất quen thuộc đối ...

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

Upload file với gem Dragonfly

Xin chào các bạn (lay2) Trong một Web Application, upload file là một chức năng gần như không thể thiếu. Ví dụ như upload ảnh làm avatar, share video, music, hay upload các file csv, excel để xử lý,... nói chung là không thể thiếu được (yaoming) Trong Ruby on Rails, khi nhắc đến Upload, người ...

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

Giới thiệu về Core Image: Áp dụng bộ lọc cho ảnh

Core Image là một framework rất mạnh mẽ được đính kèm trong iOS và OS X cho phép các nhà phát triển xử lý, áp dụng bộ lọc ảnh trong ứng dụng của họ. Trên iOS, Core Image cung cấp hơn 90 bộ lọc (filter). Bên cạnh khả năng tạo hiệu ứng cho bức ảnh, Core Image còn bao gồm các API hỗ trợ cho việc nhận ...

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

Sử dụng gem jquery-atwho-rails để làm chức năng tag tên người dùng

1.Giới thiệu Trong bài viết này tôi xin giới thiệu cách làm chức năng tag tên người dùng khi đăng bài hoặc khi comment giống như trên facebook với phím tắt @. Để có thể làm được việc này tôi dùng gem jquery-atwho-rails. Bài viết chỉ hướng dẫn tag duy nhất phần tên của người dùng, và cũng chỉ có ...

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

Sửa lỗi rò rỉ bộ nhớ trong Android - OutOfMemoryError

Việc rò rỉ bộ nhớ trong Android là khá dễ xảy ra. Developer có thể không nhận ra đã để bộ nhớ bị rò rỉ mỗi ngày. Cho đến khi nhảy ra một ngoại lệ như thế này... java . lang . OutOfMemoryError : Failed to allocate a 4308492 byte allocation with 467872 free bytes and 456 KB until OOM at ...

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