devise で cookie からログインしたかどうかを判定する

devise Rails で認証の仕組みを実装する時に利用する devise、便利ですよね。 細かいことですが、掲題の件をどのように実装するか確認したので、自分用のメモ。 Devise::Strategies::Rememberable の authenticate! メソッドで cookie の内容を確認して認証しているので、その中で session にフラグを立てる実装にしました。 用途としては、ユーザー情報変更等の処理の前に、このフラグが立っていたら、パスワードを再入力してもらう、ということが考えられます。 require ...

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

How to Create a Responsive Website

Ngày nay với sự phát triển ồ ạt của smartphone, khái niệm responsive website đã không còn là mới nữa, thậm trí gần như nó thực sự đã thành 1 yêu cầu bắt buộc đối với các website từ lớn tới nhỏ. Trước đây để làm được việc này tương đối khó, khi phải dùng các thư viện ngoài để detect thiết bị, ...

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

[Write-up] Framgia CTF - The Decisions Day (2015/04/11)

Dưới đây là write-up một số task của CTF lần này, mọi người có thể comment để yêu cầu write-up cho task hoặc gửi link đến write-up của bản thân, mình sẽ cập nhật vào bài viết. Hi vọng các team đã giải được các task sẽ chia sẻ các bài write-up của mình, thanks ! BTC http://ctf.framgia.vn/task/1 ...

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

Viết SQL trong module một cách mạch lạc, gọn gàng

Động cơ ActiveRecord thật là tuyệt vời đúng không? Không chỉ hầu hết mọi việc chúng ta có thể chạy mà không cần viết SQL ra mà hơn nữa chúng ta có thể sử dụng chuỗi phương thức để làm điều mình muốn một cách gọn gàng. Mặt khác, nếu chú ý một chút khi chạy chương trình thì tỷ suất phát sinh vấn ...

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

[CakePHP] Sử dụng thư viện mPDF

Trong công việc của một developer, tôi nghĩ có khả năng bạn đã từng gặp dự án nào đó mà khách hàng yêu cầu trang web của họ có một hoặc nhiều chỗ có chức năng xuất file excel, csv, pdf ... để phục vụ cho mục đích nghiệp vụ của họ. Hoặc cũng có thể trong tương lai bạn sẽ gặp những dự án có chức năng ...

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

Giao diện lập trình ứng dụng API (Application Programming Interface)

API là giao diện quy định các bước hoặc biểu mẫu dữ liệu nhằm đưa ra và sử dụng các tính năng hoặc dữ liệu quản lý của một chương trình máy tính nào đó từ các chương trình máy tính khác. Cá nhân người phát triển software mỗi lần đều phải lập trình các tính năng ngay từ đầu, nên gặp khá nhiều ...

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

RecyclerView-GridLayout: Header, Variable span size, AutoFit, ...

Trên phiên bản Android mới nhất ( Android L 5.0 ) google giới thiệu cho chúng ta một api mới rất thú vị là RecyclerView thay thế cho listview và gridview truyền thống. Tôi xin giới thiệu cho các bạn cách sử dụng và một số thay đổi trên nó. Trong ví dụ tôi tạo 1 class adapter đơn giản như sau ...

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

React.JS with CoffeeScript

Như bài giới thiệu về CoffeeScript của @NguyenThiHue chúng ta biết được nhưng lợi ích của việc viết mã JavaScript bằng CoffeeScript. Và gần đây, React.JS (một JavaScript library mới, do Facebook phát triển) đang ngày càng được sử dụng rộng rãi thì việc viết code React.JS bằng CoffeeScript là một ...

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

[iOS Property:attributes]

Nếu bạn đã từng sử dụng Objective C thì thấy rằng khi khai báo các property cho 1 class nào đấy chúng ta có 2 cách như sau: @interface MyClass : NSObject { NSString *myString; } hoặc có thể dùng @property (attributes) type name để khai báo như sau: @interface MyClass : NSObject ...

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

Inject by SQL

Background In a Rails application we sometimes need to execute complicated aggregation queries especially for admin screen. For example, in a Search User page in admin screen, we might want to show The last login time of each user. The number of times each user logged in. in the search ...

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

Layer 4 vs Layer 7 Load Balancing on Linux

1. Load balancing là gì Load balancer là một thiết bị hoạt động như một reverse proxy để phân phối lưu lượng truy cập mạng hoặc ứng dụng trên một số máy chủ. Load balancer được sử dụng để tăng khả năng sử dụng ứng dụng đồng thời và độ tin cậy của ứng dụng. Nhằm cải thiện hiệu suất tổng thể của ...

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

Live blogging sử dụng Sails JS Framework

Vào các dịp như Apple giới thiệu sản phẩm mới hoặc các dịp khác tương tự, có lẽ bạn sẽ bắt gặp hình ảnh các website blog/tin tức lớn tường thuật sự kiện đó trực tiếp trên website của họ bằng cách liên tục cập nhật nội dung mới mà độc giả không cần phải F5 để thấy nội dung. Về tên gọi, đó là một ...

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

Sơ lược về biểu đồ xương cá và sử dụng biểu đồ xương cá trong quản lý chất lượng dự án test.

I. Giới thiệu về biểu đồ xương cá 1. Biểu đồ xương cá là gì ・Biểu đồ xương cá, hay còn gọi là biểu đồ Ishikawa hay biểu đồ nguyên nhân - kết quả ( Fishbone diagram, Ishikawa diagram, Cause-and-effect diagram ) là 1 trong 7 công cụ kiểm soát chất lượng cơ bản như liệt kê dưới đây, là một phương ...

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

[Note] Đưa object lên trên cùng (z-index) khi thực hiện kéo thả

Mục đích Khi thực hiện kéo thả một Object (một MovieClip chẳng hạn), sẽ thật khó chịu khi kéo nó qua những Object khác mà nó lại bị chui xuống bên dưới (theo trục z). Do vậy nhu cầu đưa Object đang được kéo lên trên cùng so với các objects (cùng cha) khác là một nhu cầu tất yếu. Cách làm Ví ...

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

HackLang

Hack là ngôn ngữ lập trình cho HipHop Virtual Machine (HHVM), được tạo bởi Facebook, nó có thể tương thích hoàn toàn với PHP. Hack là ngôn ngữ mã nguồn mở, được cấp phép theo giấy phép BSD License . Hack cho phép các lập trình viên sử dụng kiểu tĩnh (static type) và kiểu động của PHP (dynamic ...

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

#include, #import, @import (clang modules)

Happy New Year! Chúc mọi người năm mới vui vẻ, hạnh phúc. Như các bạn cũng biết gần đây XCode5 cùng iOS7 đã được giới thiệu. Đi cùng XCode5 là feature mới “modules” của Clang, một giải pháp nhằm giải quyết một số vấn đề như tăng tốc độ compile source code của ứng dụng. Hôm nay mình sẽ ...

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

TEST TOOL: SELENIUM IDE

1. Giới thiệu chung Selnium là một công cụ hỗ trợ kiểm tra tự động cho các ứng dụng chạy trên nền web . Selenium hỗ trợ kiểm tra hầu hết trên các trình duyệt phổ biến hiện nay như Firefox , Internet Explorer , Safari ,.. cũng như các hệ điều hành chủ yếu như Windows , Linux , Mac ,.. ...

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

TESTING SQL INJECTION

1.What’s security test? Là kiểm tra xem các chức năng,dữ liệu private có bị public. Để thực hiện Security test cho sản phẩm,tester phải nắm được công nghệ làm ra sản phẩm đó + kinh nghiệm +nắm chắc hệ thống. 2.Introduction to SQL Injection SQL Injection là một kĩ thuật điền ...

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

Messenger using websocket-protobuf

1. What are “Protocol Buffers”? Protocol buffers are a flexible, efficient, automated mechanism for serializing structured data – think XML, but smaller, faster, and simpler. You define how you want your data to be structured once, then you can use special generated source code to ...

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

Refactoring Your Fat Model by Service Objects

Thin Controller, Fat Model Thin Controller, Fat Model. It means that we should make our controller compact and put all business logic into the models to keep our application maintainable. This sentence reminds me of a good old days with our Rails app when it was still small and cute like a ...

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