
Refactoring techniques - Composing Methods (part 1)
Có nhiều kỹ thuật refactoring được áp dụng để tái cấu trúc các hàm (phương thức) một cách chính xác. Trong hầu hết các trường hợp, các phương thức quá dài là gốc rễ của mọi vấn đề phát sinh (exception,bug... ). Những phương thức này khiến cho chương trình trở nên khó hiểu, che giấu tính logic, thứ ...

Block search engines robots
I. Mở đầu Xin chào các bác. Khi chúng ta xây dựng website thì việc làm SEO rất quan trọng, nó giúp chúng ta tăng thứ hạng tìm kiếm trên kết quả của các search engines. Về mặt lý thuyết, trang web của chúng ta xây dựng càng thân thiện với các search engines càng tốt. Tuy nhiên trong 1 số ...

Series Hướng Dẫn Lập Trình Ruby on Rails (Phần 7) - Deploy App On Heroku
Xin chào các bạn, Hôm nay mình sẽ tiếp tục hướng dẫn các bạn Series Hướng Dẫn Lập Trình Ruby on Rails (Phần 7) trong phần này, mình sẽ hướng dẫn các bạn cách để deploy ứng dụng login_app của chúng ta lên Internet để có thể truy cập từ bất cứ đâu, đây là bước cuối cùng để hoàn thiện một sản phẩm ...

Phpfox và gửi notification đến Android và iOs (Phần 1)
Như ở bài này thì chúng ta đều biết Phpfox là 1 platform mạng xã hội, như với các mạng xã hội mà chúng ta đều biết rõ như Facebook, Google plus, ta đều thấy ngoài trang web thì đều phát triển thêm về các ứng dụng sử dụng trên Android và iOs. Thì Phpfox cũng vậy, chúng ta có thể tạo API để cho việc ...

Phần 2: CRUD và Search trong ElasticSearch
Nếu chưa cài đặt ES bạn có thể tìm kiếm trên google hàng tá cách install ES, mình đang dùng Ubuntu10.04 nên dùng theo chỉ dẫn này install ES ubuntu14.04 Ở phần 1 chúng ta đã đề cập đến những khái niệm cơ bản, tuy nhiên vẫn chưa hình dung ES có thể làm được gì, làm thế nào để đánh index cho dữ ...

Testing report là gì
Là một tester không có nghĩa là bạn luôn luôn cần phải tạo bug và tồng hợp tình hình testing để gửi tới các bên liên quan . Có hai loại test report chính : Bug report để report cho một bug xảy ra trên app bạn đang làm Test report để tóm tắt tình hình của app mà bạn đang làm. I. Bug ...

[React Native] Guide - Phần 1 - Handling Touches
Trong loạt series bài trước chúng ta đã được làm quen một cách cơ bản về lập trình đối với React Native. Và bây giờ chúng ta sẽ sang loạt series bài mới để đi sâu và chi tiết hơn về lập trình với Reat Native. Loạt bài này là loạt bài hướng dẫn cách sử dụng, cách implement các thành phần mạnh mẽ ...

ソートアルゴリズムの動きをgifに表示する
ソートアルゴリズムの動きを可視化したいので.gifファイルを作るためのプログラムを作成したい。 方法として、2つの段階を踏む。 一段回目は数値リストを座標の図として表した画像ファイルを生成するフェーズ。 二段階目は生成した複数の画像からgifファイルを作成するフェーズ。 第1段階から順に作成する Gem 今回はchunky_pngというGemを使用する。 ピクセルごとにデータをいじってpngファイルを作成できるらしい。 数値を画像に反映したい今回の要件にピッタシだ。 Chunky_png pngファイルの作成方法 png = ChunkyPNG::Image.new(1 ...

% in ruby
Hi các bạn hôm nay mình sẽ nói về dấu % trong ruby. Cùng xem mình làm được gì với dấu này. %Q Đây là sự thay thế cho dấu hai phẩy " (double-quoted), khi bạn có quá nhiều dấu này trong chuỗi string và bạn không muốn dùng dấu Ngạch chéo ngược (backslash ). Bạn có thể viết như sau: ...

Day 13 - Create Enemy
自分で設定した完成に近づいてきました。 現バージョンはver1.3。残るバージョンは ver1.4 敵モンスターの作成 戦闘機能追加 - 月曜まで ver1.5 クエスト機能 -火曜まで となっております。 ver1.4 敵モンスターとの戦闘機能を追加します。 敵が居なければ戦闘も出来ないので、まずはモンスターを作る所から。 自分でモンスターを作っても良いのですがモンスター(ただの四角い箱)だとちょっと味気ないので アセットストアからいい感じのモンスターを持ってきましょう。 ↓ https://www.assetstore.unity3d.com/jp/ ...

Swagger basic
Swagger là gì? Mục tiêu của Swagger ™ là xác định một tiêu chuẩn, giao diện ngôn ngữ-agnostic để API REST cho phép cả người và máy tính để khám phá và tìm hiểu khả năng của các dịch vụ mà không cần truy cập vào mã nguồn, tài liệu, hoặc qua kiểm tra lưu lượng mạng. Khi định nghĩa đúng qua ...

Build Và Deploy app iOS tự động sử dụng Jenkins
Chúng ta sẽ sử dụng project (Testproject) để tìm hiểu xem làm thế nào mà Jenkins có thể được dùng để build, sign và deploy các dự án iOS. Sẽ có tất cả 4 bước cho toàn bộ quá trình này. Lưu ý rằng chúng ta cần có tài khoản doanh nghiệp để build app theo cách này (Tài khoản enterprise mua 299 USD/ ...

Dependency Injection trong PHP
Dependency Injection (DI) là khái niệm thường được nghe trong giới lập trình. Có khá nhiều cái tên nghe liên quan và na ná nhau làm dev bị hoang mang như: Dependency Injection, Inversion of Control, Dependency Inversion, Dependency Injection Container. Các khái niệm trên được hiểu như ...

Laravel social login
Ở thời điểm viết bài mình sử dụng phiên bản Laravel 5.4 để thực hiện chức năng Social login cụ thể là Laravel 5.4 facebook login, các tài khoảng twitter, google, github,.. các bạn làm tương tự, mình sẽ nói ngắn gọi ở trong bài. 1. Vấn đề Input : Thực hiện chức năng đăng nhập bằng email ...

MVP Pattern with Data binding Android
Abstract MVP (Model View Presenter) pattern (not an architectural pattern) is a based on the popular MVC (Model View Controller), which has been gaining a lot of reputations in the development of Android applications. This article is an introduction to MVP and by doing so show the advantages and ...

Thử Nghiệm Với Angular – Dependency Injection Trong Angular
Bài viết này sẽ giới thiệu về Dependency Injection trong Angular – một trong những tính năng quan trọng của Angular – cho đến thời điểm hiện tại chỉ có Angular là framework duy nhất phía client cung cấp DI. 1. Dependency là gì? Khi trong class A có sự tồn tại của class B, dùng class B để làm ...

Tìm hiểu một vài thuật toán(Phần I)
Bài toán : Hãy sử dụng thuật toán đệ quy viết chương trình tìm X = (x1, x2,.., xn) và f(X) đạt giá trị lớn nhất Thuật toán giải : Input: X=(x1,x2,…,xn ) là biến toàn cục wt=(wt1 ,wt2,…,wtn) là biến toàn cục trọng lượng của từng đồ vật đưa vào val=(val1 ...

Day 11 - Talk with NPC
さて、続きです。 Current status NPC周りの判定に近づく → 判定に触れ、会話の指示 → そのボタンを押すと会話イベント発生 → UIが表示される → 会話の内容がUIに表示される → クリックかキーを押すと会話が進んでいく → 会話終了 現在こちらの2番目、会話の指示までが作れた所です。 Fキーを押して会話を出来る、と指示は出ますがFキーを押しても何も起きない状態です。 Talk with NPC では、Fキーを押した時に会話が発生するようにしていきます。 まず「Fキーを押した」というのを判定 ...

Rotate Rails logs with Logrotate
Trong khi phát triển hay khi đã đưa lên môi trường production thì log của một ứng dụng luôn luôn rất quan trọng cho công việc phân tích và debug mỗi khi có phát sinh sự cố. Nhưng sẽ ra sao nếu file log của chúng ta nó phình lên quá lớn? Nó sẽ rất khó để phân tích (hoặc debug) và sẽ rất tốn tài ...

Cài đặt Mongo Cluster với docker
Như bài lần trước mình đã trình bày về MongoDb cluster (https://viblo.asia/tanphan/posts/oOVlYEmVl8W) Hôm nay mình sẽ cùng nhau tạo 1 cụm mongo với docker, để xem thực hư nó như nào nhé. Đầu tiên là file docker-compose.yml Các bạn tạo 1 thư mục đặt tên là sharding-by-docker-compose, bên trong tạo ...