The hidden cost of the invisible queries in Rails

Rails là một framework tuyệt vời được xây dựng trên ngôn ngữ Ruby. Nó cho phép chúng ta tạo ra các ứng dụng web mà không nhất thiết phải hiểu biết hết về các công nghệ cần sử dụng. Để làm được điều đó thì Rails được tối ưu hóa để giảm bớt tối đa khối lượng công việc cho các lập trình viên để họ có ...

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

Cucumber (P4) - Cucumber Options & Report

Bài viết này sẽ giới thiệu 2 kiểu định dạng reports hay dùng: Pretty Format và Json , các tùy chỉnh ( Options ) để chạy tests hiệu quả và tinh chỉnh code gọn nhẹ với Backround Script . Cucumber Options đóng vai trò như một file cài đặt các thuộc tính cho tests. Các thuộc tính và hay dùng của ...

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

Làm thế nào để xây dựng một Recommender System (RS) - Phần 1

Bạn đã bao giờ gặp phải những trường hợp như sau: Bố mẹ bạn mới sử dụng Facebook và mới chỉ kết bạn với một vài người thân trong gia đình bạn. Tuy nhiên vài hôm sau, Facebook đã tự gợi ý cho hai cụ những người họ hàng hang hốc của bạn mà thậm chí ngay cả bạn cũng không biết ??? Bạn ...

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

11 nguyên tắc khi thiết kế Bottom Navigation Bar trên mobile

Đầu tiên tôi phải nói rằng, đã có 1 thời gian dài tôi dị ứng và ko bao giờ có thiết kế mà sử dụng Bottom Navigation Bar. Nguyên nhân thứ nhất thực sự rất hài hước: thiết bị thường ngày của tôi quá nhỏ, một chiếc iphone 5 với màn hình 4.5 inch. Nguyên nhân thứ 2 là Google Material Design lúc đó ...

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

Day 21 - Adventure Game Tutorial

さて、Unityちゃんトゥーン化が中途半端に終わってしまいましたが、今日からはこれをやっていきましょう。 今まで僕がやって来たのは、やりたい事を実行するためにどんなコードを書けばいいのか?という形でした。 しかし、今回からは上のようなチュートリアルなどをベースに学習して、それを元にどんな機能を実装出来るか?という形でやっていきます。 まずは、チュートリアルを進めます。 Overview game what i will make 今回作るのは、クリック移動型のアドベンチャーゲーム。 街を歩いていろいろなアイテムを集めて変装して、警備員を騙して侵入できたらクリアという流れ ...

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

Day 22 - Adventure Game Tutorial 2

今日は昨日かいたコードについて学習していきましょう。 とりあえず、それぞれ関数ごとに見ていきましょう。 この動画で書いたコードですね Start private void Start() { agent.updateRotation = false; inputHoldWait = new WaitForSeconds(inputHoldDelay); destinationPosition = transform.position; } 開始時にこちらを実行すると。 一文ずつ取り出してい ...

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

Day 19 - Toon shader

昨日は灰色になった球体に敗北して終了しました。 今日は勝ちます。 Shader script さて、まずはToon/Basic Outlineの中身がどんな事になっているのか見てみましょう。 Shader "Toon/Basic Outline" { Properties{ _Color("Main Color", Color) = (.5,.5,.5,1) _OutlineColor("Outline Color", Color) = (0,0,0,1) _Outline("Outline awidth", Range(.002, 0.03)) = ...

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

Một số phương pháp bảo mật bảo vệ website của bạn tránh khỏi Hacker

Có thể bạn nghĩ rằng, trang web của bạn không có bất kỳ thông tin có giá trị nào để mà bị tin tặc (hacker) tấn công, nhưng bạn đã nhầm, các trang web bị xâm nhập mọi lúc. Phần lớn các xâm nhập an ninh web này không phải là để ăn cắp dữ liệu hoặc phá hỏng website của bạn. Thay vào đó, tin tặc cố ...

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

C言語の文法入門(2)

今回は演算子・条件分岐・ループについてまとめる 算術演算子 基本的な算術演算子は他の言語と変わらない 足し算 x + y 引き算 x - y 掛け算 x * y 割り算 x / y ※答えが少数か整数かは変数の型次第 あまり x % y 論理演算子 && 論理積(AND) || 論理和(OR) ! 否定(NOT) これも他の言語と変わらないですね 比較演算子 小なり a < b 小なりイコール a <= b 大なり a > b 大なりイコール a >= b イコール a == b ノットイコール a != b ...

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

Sử dụng MVVM pattern trong Xamarin Forms

Tổng quan về MVVM pattern Một trong những cách tốt nhất để kiến trúc ứng dụng bằng cách tách mã giao diện người dùng khỏi mã nguồn, đôi khi được gọi là business logic. Một số kỹ thuật tồn tại, nhưng một kỹ thuật được thiết kế cho các môi trường dựa trên XAML được gọi là Model-View-ViewModel hoặc ...

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

4 yếu tố của việc thiết kế game(Phần 4)

Ở phần cuối của bài viết này chúng ta sẽ đến với yếu tố cuối cùng và cũng không kém phần quan trọng của việc thiết kế game , đó chính là cơ hội. Cơ hội là yếu tố cuối cùng của thiết kế game. Khi ta chơi, chúng ta sẽ tự tạo ra kế hoạch để kiếm vàng, tài nguyên, đánh bại kẻ địch, hoặc làm bất cứ ...

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

Làm thế nào để xây dựng một Recommender System (RS) - Phần 2

Trong bài trước mình đã trình bày với mọi người những khái niệm cơ bản về một Hệ gợi ý và chúng ta cũng đã biết đến hai hướng tiếp cận chính để xây dựng một hệ thống gợi ý đó là Content-based và Collaborative Filtering cũng như phân tích ưu nhược điểm của chúng. Từ phần này chúng ta bắt ...

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

C言語のメモリ操作の危険性について

C言語を学習してみたかったが、ポインタの制御を間違えてPCをおじゃんにしてしまったという昔の話を聞いたことがあったので及び腰だった。 実際に容易にPCを壊してしまうことはあるのか、その場合どう気をつけるべきなのかを調べてみた。 Q,ポインタの誤操作はPCを破壊するのか? A, 最近のPCでは破壊には至らないらしい。 どういうことか 似たような質問がこのサイトにあり、その回答が納得の行くものだったので引用 リアルモードのOSであれば、OSとアプリケーションは同じメモリ空間で動作しますから、OSが壊れる場合があります。その際、一般にポートも保護されていませんから、最悪、C ...

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

Day 18 - Toon rendering

さて、それではグラフィック、見た目のところについて学習します。 まずはシェーダーとかレンダラーって何?ってところからなんですが、以外と明確に定義してる情報が無いんですよね。 僕は、ゲームによって様々なグラフィックの種類があり 種類分けをする時は「リアル系」だとか「アニメ系」とか言って その「~~系」を作っている部分がシェーダーとかレンダラーだという認識でした。 質感の調整って言うんですかね? 僕の大好きなジャンルにトゥーンレンダリング?っていうアニメ調のグラフィックをしたゲームがあるんですけど トゥーンシェーダーってのと何が違うんだろう? ...

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

Continuous Integration with Jenkins - Bài 1: Giới thiệu về CI và Jenkins

Xin chào các bạn. Nếu các bạn đang làm việc ở một môi trường phát triển phần mềm chuyên nghiệp và theo phương pháp Agile, các bạn chắc hẳn đã nghe tới từ khóa Continuous Integration (CI) - Tích hợp liên tục. Vậy nó là gì và thực hiện nó ra sao. Trong series này của mình sẽ: Bài 1: Giới thiệu về CI ...

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

[Become a SuperUser] Debian vs Redhat: Package Management System

Unix vs Linux. Nguồn gốc và sự khác biệt Debian vs Redhat: Package Management System Như trong bài viết trước, tôi đã đề cập đến khái niệm Linux Distribution, hay Linux Distro, với 2 nhánh chính mà các bạn nên biết, đó là Debian và Redhat . Có khá nhiều điểm khác biệt giữa hai nhánh ...

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

Lập trình C cho hệ thống nhúng (P4- Giao tiếp I2C trong V850E)

1.I2C là gì Đầu năm 1980 Phillips đã phát triển một chuẩn giao tiếp nối tiếp 2 dây được gọi là I2C. I2C là tên viết tắt của cụm từ Inter-Intergrated Circuit. Đây là đường Bus giao tiếp giữa các IC với nhau. Bus I2C được sử dụng làm bus giao tiếp ngoại vi cho rất nhiều loại IC khác nhau như các ...

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

Python context manager - bạn đã thực sự hiểu?

Trong Python, context manager là một phương thức cho phép bạn cấp phát và sử dụng tài nguyên một cách hiệu quả. Context manager được sử dụng rộng rãi thông qua câu lệnh with. Ví dụ: with open('foo', 'w') as f: f.write('Hora! We opened this file') Đoạn code trên mở một file, ghi dữ ...

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

Tìm hiểu về RESTful

REST viết tắt cho REpresentational State Transfer Khái niệm về REST lần đầu tiên được giới thiệu vào năm 2000 trong luận văn Tiến sĩ của Roy Fielding (đồng sáng lập giao thức HTTP) Là 1 kiểu kiến trúc lập trình, định nghĩa các quy tắc để thiết kế web service chú trọng vào tài nguyên Mọi thứ trong ...

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

Bài 7 - Tạo Tooltip bằng Bootstrap

Để tiếp tục quá trình học bootsrap, chúng ta cùng đi tìm hiểu cách tạo Tooltip bằng Bootstrap nhé. 1. Khái niệm tooltip Tooltip là một chú thích xuất hiện khi rê chuột lên 1 đối tượng nào đó như văn bản, hình ảnh, liên kết và các phần tử giao diện khác. Nội dung trong tooltip có thể là văn ...

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