Android Studio 2.3

Trọng tâm của phiên bản này là cải tiến chất lượng trên IDE. Chúng tôi rất cảm ơn những thông tin phản hồi của các bạn cho đến nay. Chúng tôi cam kết tiếp tục đầu tư trong việc đưa Android Studio nhanh chóng và liền mạch cho hàng triệu các nhà phát triển ứng dụng Android trên toàn thế giới. Chúng ...

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

10 thủ thuật giúp lập trình tốt hơn với Swift

Swift được giới thiệu lần đầu tiên ở WWDC ( Worldwide Developers Conference) vào năm 2014, và từ đó tới nay nó đã dần thay thế Objective-C trong việc phát triển các ứng dụng cho thiết bị của Apple. Và chắc hẳn bất cứ lập trình viên IOS nào cũng gặp phải những khó khăn khi mới sử dụng Swift. Vậy ...

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

[Reactive Functional Programing] Xây dựng ứng dụng Suggestion Follower với Rxjs

Trong bài lần trước tôi đã giới thiệu cho các bạn những khái niệm cơ bản nhất về RFP, lần này hãy đi sâu vào 1 ứng dụng thực tế theo phong cách RFP. Ứng dụng thực tế luôn là cách nhanh nhất để học về 1 ngôn ngữ mới, bên cạnh đó bạn sẽ trả lời được câu hỏi “Tại sao?” từng bước một. Nếu ...

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

Sử dụng toán tử regexp trong MySQL

Chúng ta đều biết thao tác cơ bản nhất khi làm việc với SQL đó là sử dụng để truy vấn dữ liệu (query). Các câu query được tạo ra với mục đích lấy được dữ liệu mà ta mong muốn. Các dữ liệu này thường gắn theo những điều kiện nhất định. Những điều kiện này có thể cụ thể hoặc không. Để vấn đề đơn giản ...

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

Interface trong Typescript (Phần 2)

Tôi xin viết tiếp theo bài Interface trong Typescript (Phần 1): 6. Indexable Types Giống như việc làm thế nào để mô tả kiểu dữ liệu của hàm, bạn có thể mô tả kiểu dữ liệu rằng chúng ta có thể gán chỉ số như subName[0], num[10],… Kiểu dữ liệu chỉ mục giúp bạn có thể gán chỉ mục cho ...

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

React Native - Phần 5 - Networking

Danh sách các bài trước: React Native - Phần 1 - Hướng dẫn cài đặt môi trường phát triển ứng dụng với React Native React Native - Phần 2 - Viết chương trình đầu tiên và tìm hiểu vể Props, State React Native - Phần 3 - Tìm hiểu về Style, Height & Width và điều chỉnh Layout với Flexbox ...

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

Xử lý vấn đề Timeout khi Push notify cho nhiều devices

Chào các bạn, để tiếp nối bài viết Server Cloud Message lần trước của mình, hôm nay mình sẽ nói thêm một vài thứ, cái mà bạn có thể sẽ gặp phải khi push notification. Bài toán giả tưởng: Trong đang viết một app tìm kiếm shipper, khi các saler của bạn cần tìm một shipper, họ sẽ mở app và ...

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

iOS Performance Tips - Part 1: Shadow

iOS Performance Tips Để mở đầu cho chuỗi bài iOS Performance Tips, tôi xin giới thiệu một vấn đề mà có lẽ rất nhiều bạn đã gặp phải một lần trong quãng đời coder của mình - SHADOW Hẳn các bạn cũng đã code qua một chương trình hiển thị thumbnail của các ảnh trong My Library như hình dưới đây ...

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

Set up multiple profiles in maven

Maven là một build management tool được sử dụng phổ biến trong các dự án Java, Trong vòng đời phát triển của một dự án, phần mềm phải chạy trên cái môi trường khác nhau: production, development và test Trong bài viết này chúng ta sẽ sử dụng Maven để config các file cấu hình hay các properties file ...

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

Xây dựng giao diện website trên Laravel với Vuejs

Tình cờ khi lướt new feeds trên Facebook thấy có cuộc khảo sát và tech talk của Topdev về cuộc chiến vương quyền frontend: React, Angular2 và Vuejs; thế là nhớ ra mình cũng đang có 1 project dùng Vuejs và thấy khá thú vị. Trong khi React và Angular2 được mọi người biết đến khá nhiều thì Vuejs lại ...

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

Import dữ liệu nhanh chóng trong ứng dụng Ruby on Rails

Trước khi release một dự án Ruby on Rails lên production, các developers thường xuyên phải import một lượng lớn dữ liệu lên local hoặc staging để test hiệu năng của hệ thống một cách cẩn thận. Cách đơn giản nhất để làm việc này là sử dụng ActiveRecord của Rails. Nhưng cơ chế của ActiveRecord ...

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

Semaphore in Swift

Trong lập trình nói chung và iOS nói riêng, việc quản lý đa luồng (multithreads) là một vấn đề phức tạp ngay cả với những lập trình viên kinh nghiệm. Hiện nay đã có nhiều thư viện hỗ trợ lập trình viên dùng multithreads dễ dàng hơn như PromiseKit, RxSwift.... Tuy nhiên, theo quan điểm cá nhân tôi, ...

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

So sánh "triệt để" sự khác nhau giữa Android & iOS

Bài viết được dịch từ https://geeks-geek.blogspot.com/2014/09/iosandroid.html Tôi đã thử tiến hành so sánh 2 OS trông thì có vẻ tương tự nhau nhưng thực ra lại khác nhau hoàn toàn và cố gắng tổng hợp sao cho dễ hiểu nhất, mong rằng sẽ có ích đối với những người đang có ý định mua điện thoại. ...

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

Fixing Memory Leaks in Android – OutOfMemoryError

Out of memory error là lỗi rất phổ biến khi chúng ta phát triển một ứng dụng có giao diện với nhiều hình ảnh, bitmap lớn hoặc sử dụng nhiều Animation. Trong trường hợp này, ta phải rất cẩn thận và hiệu quả khi xử lý các hình ảnh hoặc đối tượng phân bổ và deallocation. lỗi OOM đến khi việc phân bổ ...

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

SOLID Principles in Ruby

SOLID Principle là những nguyên lý thiết kế OOP, được đúc kết từ rất nhiều kinh nghiệm của lập trình viên thông qua các dự án lớn nhỏ. Một project áp dụng những nguyên lý này sẽ có code dễ đọc, dễ test, rõ ràng hơn. Và việc quan trọng nhất là việc maintainace code sẽ dễ hơn rất nhiều. Nắm vững ...

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

Real Time Rails Chat Application (Part 1)

Bạn đã bao giờ nghĩ về việc tạo 1 chat app giống như Facebook messenger ? Trong bài viết này, chúng ta sẽ sử dụng feature ActionCable trong Rails 5 để tạo 1 app có tính năng tương tự mà không sử dụng 1 front-end framework nào(ngoại trừ jquerry). Mục tiêu của chúng ta là tạo nên 1 ứng dụng chat real ...

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

[Swift] Xây dựng app quản lý ATM sử dụng Coredata

Mục tiêu của bài viết này sẽ giúp các bạn: Hiểu thêm 1 cách sử dụng coredata sao cho code trông sáng sủa, dễ bảo trì và phát triển Thao tác với location Tận dụng được thao tác kéo thả, Custom controls khi dùng storyboard Thao tác với mappin, search khi sử dụng mapkit (hoặc google map) Bắt ...

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

Xây dựng layout linh hoạt với FlexBoxLayout

Tại Google I/O năm ngoái chúng tôi đã ra mắt ConstraintLayout cho phép bạn xây dựng những layout phức tạp trong khi vẫn giữ được độ đơn giản của tầng view. Nó cũng đã được hỗ trợ hoàn toàn trong Visual Layout Editor của Android Studio. Cùng lúc đó chúng tôi cũng đã open source FlexboxLayout để ...

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

Điều mà GA sẽ làm cho bạn(P1)

GA giúp bạn đưa ra quyêt định dựa trên dữ liệu. Bạn có thể tiêu nhiều hơn vào quảng cáo, khám phá bạn sẽ quảng cáo ở đâu thậm chí quyết định loại nội dung nào cần để đặt ở đó. GA phân loại dữ liệu thành ABCs: Acquisition Behavior Conversions Acquisition đưa bạn tới làm thế nào bạn có được lưu ...

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

Java collections: sắp xếp collections

Sắp xếp trong collection Thực ra việc sắp xếp trong collection của java là một vấn đề rất cũ, nhưng thường trong các câu hỏi phỏng vấn về java ứng viên rất hay bị hỏi về vấn đề này. Vì vậy mình mong post này sẽ giúp được một số ứng viên chẳng may bị hỏi đến lúc phỏng vấn </p> <div class= Tác giả: Trịnh Tiến Mạnh viết 14:50 ngày 12/08/2018