ソートアルゴリズムの動きをgifに表示する

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

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

% 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: ...

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

Day 13 - Create Enemy

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

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

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 ...

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

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/ ...

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

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ư ...

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

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 ...

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

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 ...

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

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ác giả: Bùi Văn Nam viết 15:13 ngày 12/08/2018

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 ...

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

Day 11 - Talk with NPC

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

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

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 ...

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

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 ...

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

[Android Things] Phần 5: Sự kết hợp giữa button và led trong IOT

Chào các bạn, phần trước chúng ta đã làm việc với servo. Phần này chúng ta sẽ tạo một sự kết hợp nho nhỏ giữa button và led để điều khiển hoạt động của led và button. Phần cứng. Chuẩn bị linh kiện. Bộ kit Raspberry 3 Dây nối cái - cái, đực - đực Dây cái - cái: Dây đực - đực: ...

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

Kiến trúc hệ thống trên Laravel – phần 10

Các bài viết trong series Kiến trúc hệ thống trên Laravel – phần 1 : Tại sao phải áp dụng architect vào trong Laravel Kiến trúc hệ thống trên Laravel – phần 2 : OOP, Interface, Dependency Injection, IoC Kiến trúc hệ thống trên Laravel – phần 3 : Phân tích sâu vào việc sử dụng interface Kiến trúc ...

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

Giới thiệu Cloud9 IDE - code mọi lúc mọi nơi

Ngày xưa lúc mới bước vào thế giới lập trình mình ghét nhất là việc mỗi lần cài lại máy hay muốn code trên máy của người khác lại phải cài một đống thứ mới có thể code được: git, IDE (PHP Storm, SublimeText), DB (MySQL, SQL Server, Mongo DB ...), Xampp các thứ... Cài vừa mất thời gian lại có thể ...

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

Overview of load balancers suitable for Docker environments

Microservices became one of very popular application architectures. It provides much greater opportunities for scalability, debugging and control than in monolith apps. But in order to use its full potential, you need to set up good environment and provide additional services for your app to ...

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

Cucumber (P2) - Tạo project bằng Eclipse và quản lý thư viện với Maven

Bản thân mình thân thuộc với ngôn ngữ Java hơn Ruby nên bài viết này mình sẽ giới thiệu qua về Maven - trình quản lý dự án, và cách tạo project test chạy Cucumber trên Eclipse. Maven trong quản lý dự án Maven là một trình quản lý dự án cho phép nhà phát triển quản lý về phiên bản (version), các ...

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

Day 10 - Set the end point

連休明けです。 連休中は現在製作中のゲームはいじらずに、クソゲーを作ったりそれで友達と遊んだり普通にゲームしてたりとしていました。 記事上で10日目となる今日まで色々とやってきましたが…気がついたらちょっとしたゲームを作って共有するなんてことが出来るようになったんですね。 さて、自分の作りたい物を作るとは言いましたが、グラフィックやら戦闘システムのバランスやらを考えていると 求める物を自分一人で作ると年単位の時間がかかってしまいます。 最高を追求するのも良いですが 「100%をダラダラやるより、ある程度の成果を決めた期間で出すほうがいい」とアドバイスを頂いているこの身。 ...

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

Tìm hiểu react - part 2

Chúng ta đã tìm hiểu về một vài khái niệm cơ bản trong React ở bài trước, ở bài này chúng ta sẽ cùng tìm hiểu về cách dữ liệu di chuyển trong React. Inverse data flow Chúng ta đã nói về việc làm thế nào luồng dữ liệu chỉ có một chiều trong React, từ cha đến con. Thật ra điều này không hoàn toàn ...

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