Văn hoá "xấu hổ" của người Nhật
Văn hóa truyền thống và văn hóa hiện đại Nhật Bản luôn mang trong mình một sức hấp dẫn hết sức đặc biệt. Song, trong quá trình tiếp xúc với người Nhật, không ít người nước ngoài đã hiểu lầm những giá trị rất riêng của nền văn hóa đảo quốc Nhật Bản, do không lý giải được những đặc thù ấy, ngay cả ...
Dependency injection với Dagger 2 - API
Bài viết này sẽ đi sâu vào tìm hiểu các nguyên tắc cơ bản của Dagger 2 và toàn bộ API của framework DI này. Trong bài viết trước, chúng ta đã tìm hiểu về framework DI - có nhiệm vụ gắn kết, xâu chuỗi mọi thứ với nhau mà sử dụng ít code nhất có thể. Dagger 2 là một framework DI mà tạo ra rất nhiều ...
Tản mạn về Vulkan
Chắc hẳn mọi người đều biết DirectX là thư viện phát triển multimedia và đặc biệt là game trên nền tảng Windows. Với sự ra đời của Windows 10 cùng với DirectX 12. DX 12 mang lại hiệu suất cao hơn (fps) so với những nền tảng trước ở cùng cấu hình. Còn Vulkan được phát triển bởi Khronos Group, cũng ...
Intent
Intents are abstract description of an operation that is to be executed. It can be used to start and Activity (Simply start or pass data along), it can also be used to broadcast an intent to a BroadcastReciever component (BroadcastReceiver varies and is provided by the Android system itself. It may ...
Thin Controller - Skinny Model by using chain service object (2)
Mình học và sử dụng Ruby khoảng 1 năm rồi, nhưng chỉ gần đây (vài ngày trước, khi lang thang trên mạng tìm chủ đề cho Study Report tháng này, mình vô tình nhìn thấy ở chỗ nào đó mà tác giả sử dụng class Set). Thú thật khi lập trình, mỗi khi cần store 1 list các đối tượng, 99/100 lần mình nghĩ đến ...
Implement OpenID Login with Docomo OpenID Provider
Chắc hẳn trong đa số chúng ta sẽ có rất nhiều ngừoi đang và đã từng làm việc với khách hàng Nhật bản. Một ngày đẹp trời khi bạn được giao nhiệm vụ tích hợp tính năng xác thực OpenID với nhà cung cấp Docomo trong hệ thống của mình - cái gần như chỉ hướng tới người dùng tại Nhật đang sử dụng hợp ...
GameSparks - Cơ sở dữ liệu cloud miễn phí cho game
Lời mở đầu Xin chào mọi người! Vài ngày trước mình có làm một game nhỏ trên facebook và mình đã rất băn khoăn khi phải tìm cách lưu score của từng người chơi. Facebook - theo mình tìm hiểu được thì hiện tại chỉ cho phép mỗi người chơi nhìn thấy score của chính họ và bạn của họ trên đó, nếu bạn ...
Debugging Autolayout in Xcode
Autolayout được apple giới thiệu từ IOS 6 (Xcode 6) và đã trở thành kỹ thuật không thể thiếu đối với các lập trình viên IOS. Việc vận dụng khả năng của autolayout tốt, giúp lập trình viên giải quyết bài toàn đa màn hình, và đơn giản hóa code xử lý trong controller. Trong quá trình sử dụng các lập ...
Java 9 Stream API Improvements
Phiên bản tiếp theo mà Oracle sẽ phát hành vào khoảng thời gian cuối tháng 3 năm 2017 tới đây chính là Java SE 9 . Vì vậy trong bài viết này tôi muốn giới thiệu cho các bạn biết về một đặc tính cải tiến khá hay về Java SE 9 Stream API. Đầu tiên ta sẽ nói qua về Java SE 8 Stream API. Sau đó tôi ...
Automated UI Testing in iOS app
Các lập trình viên chắc hẳn đã rất quen thuộc với việc viết unit test, tuy nhiên không hẳn ai cũng đã từng viết UI test cho ứng dụng của mình. Bên cạnh unit test, UI test (integration test) cũng vô cùng quan trọng và là một phần không thể thiếu để tạo nên những sản phẩm tốt. UI test cũng mang lại ...
Kotlin - Generics
Kotlin, like as Java, also can have a type parameter: class Box < T > ( t : T ) { var value = t } In general we need to provide the type arguments when we make an instance: val box : Box < Int > = Box < Int > ( 1 ) But if the parameters can be ...
Từng bước để trở thành senior programer
Kỹ sư phần mềm trải qua nhiều giai đoạn trong sự nghiệp của họ, bắt đầu khi bắt đầu tập tành code với tên gọi Junior coder, trải qua quá trình học tập và làm việc, họ đạt tới mức Mid Level. Sau đó, sau những ngày ôm bàn phím miệt mài, họ trở thành senior. Trong bài viết này, tôi sẽ chia sẻ từng ...
Tìm hiểu một vài khái niệm liên quan đến "mã hóa"
Cùng ăn mừng sự kiện gỡ bỏ quy định bắt buộc phải viết report trên Viblo, cùng hướng tới một tương lai xa xăm khi người người làm theo năng lực, hưởng theo nhu cầu và hàng tháng không còn phải lựa chọn giữa 2 ngày lương hay report, chúng ta cùng làm một bài viết nhỏ trên Viblo =)). Xét theo quy mô ...
Bàn về ajax. Nên sử dụng ajax khi nào ? Dùng ajax có tốt hay không ?
Cách vài hôm lại viết một bài ngại ghê hihi. :v Hôm nay, chúng ta sẽ bàn luận 1 chút về ajax các điểm tốt, xấu của ajax để chúng ta có thể sử dụng chúng sao cho hợp lý nhé. Trước hết mình sẽ giới thiệu qua 1 chút. Ajax là gì ? Hiểu nôm na thì ajax là một thuật ngữ mô tả việc sử dụng một vài ...
Query Expressions in Django (Part I)
Query expression mô tả một giá trị hoặc một tính toán được sử dụng trong update, create, filter, order by, annotation hay aggregate. Có một số built-in expression có thể giúp bạn trong việc viết các câu query. Các expression có thể được kết hợp hoặc trong một số trường hợp là lồng nhau để thực hiện ...
Rails Database Best Practices (Phần 1)
Thường thì chúng ta bắt đầu code với mục đích "chạy là ổn", để sau 1 thời gian làm việc, khi nhìn lại thì chúng ta nhận ra 1 đống vấn đề càn giải quyết. Tôi cũng đã trải qua 1 khoảng thời gian cần phải tăng tốc các trang web với database rất tồi tệ. Đó cũng là nguyên nhân để tôi có bài viết này. ...
Giới thiệu gem ZenginCode in ruby
1.Giới thiệu ZenginCode là một datasets chứa các mã ngân hàng ( bank_code ) và mã chi nhánh ( branch_code ) của tất cả các ngân hàng của Nhật Bản. Nó có thể dùng để quick_check validation của input bank information của hệ thống. ZenginCode hỗ trợ rất nhiều các ngôn ngữ khác nhau trong đó có ...
Thực hiện cuộc gọi điện thoại bằng Python
Một ngày đẹp trời nào đó bạn gặp dự án mà khách hàng yêu cầu làm call-center chẳng hạn thì chắc hẳn có vô vàn giải pháp bạn có thể tìm thấy hoặc nghĩ ra. Hôm nay tôi sẽ gợi ý cho các bạn 1 giải pháp sử dụng ngôn ngữ Python để thưc hiện cuộc gọi trên di động của bạn Trịnh Tiến Mạnh viết 14:29 ngày 12/08/2018
Validate data sử dụng Json schema (Phần 2)
Đây là bài viết tiếp theo của loạt bài viết về validate data sử dụng json schema. Có thể tham khảo Phần 1: Sử dụng Json Schema validate data Trong bài viết này, chúng ta sẽ tìm hiểu những tùy chọn validate cho những dữ liệu cụ thể. Nhắc lại, trong json-schema, chúng ta có những kiểu dữ liệu sau: ...
Kotlin for Android (III) : How beautiful it is
Hi cả nhà, hôm nay chúng ta sẽ quay lại với chuỗi bài về Kotlin cho Android, hi vọng qua 2 bài viết trước, mọi người đã có cái nhìn rõ ràng hơn về ngôn ngữ mới mẻ này, còn trong phạm vi bài viết này, mình sẽ chia sẽ một số điểm mà theo ý kiến mình đã góp phần làm nên vẻ đẹp cho Kotlin Android ! ...