Skip to content

Instantly share code, notes, and snippets.

Dung Nguyen bluzky

Block or report user

Report or block bluzky

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@bluzky
bluzky / Box.js
Last active Nov 9, 2018
Bootstrap alert/confirm/promt
View Box.js
window.Box = (function(){
var template = `
<div tabindex="-1" role="dialog" class="modal modal-{type} {class-modal} fade">
<div class="modal-dialog modal-{size}">
<div class="modal-content">
<div class="modal-header text-inverse {class-header}">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h5 class="modal-title" >{title}</h5>
</div>
View plug_cache.ex
defmodule PhoenixCache.Plug.Cache doimport Plug.Conn
# 6 minute
@default_ttl 6 * 60
def init(ttl \\ nil), do: ttl
def call(conn, ttl \\ nil) do
ttl = ttl || @default_ttl
# Chỉ cache với GET requestif conn.method == "GET" do# tạo key từ request path và query param, thông thường# thì cùng path và cùng param thì kết quả là giống nhau
key = "#{conn.request_path}-#{conn.query_string}"
case PhoenixCache.Bucket.get(key) do
{:ok, body} ->
@bluzky
bluzky / bucket.ex
Last active May 18, 2018
Simple ETS cache for Phoenix
View bucket.ex
defmodule PhoenixCache.Bucket do
use GenServer
alias :ets, as: Ets
@expired_after 6 * 60
def start_link(args \\ []) do
GenServer.start_link(__MODULE__, args, name: __MODULE__)
end
View paginator.ex
defmodule Infra.Paginator do
import Ecto.Query
alias Infra.Repo
defstruct [:entries, :page, :size, :total]
def new(query, params) do
page_number = params |> Map.get("page", 1) |> to_int
page_size = params |> Map.get("size", 10) |> to_int
%Infra.Paginator{
@bluzky
bluzky / slug.js
Last active Aug 16, 2019
Remove vietnamese accent javascript / Bỏ dấu tiếng Việt
View slug.js
function stringToSlug(str) {
// remove accents
var from = "àáãảạăằắẳẵặâầấẩẫậèéẻẽẹêềếểễệđùúủũụưừứửữựòóỏõọôồốổỗộơờớởỡợìíỉĩịäëïîöüûñç",
to = "aaaaaaaaaaaaaaaaaeeeeeeeeeeeduuuuuuuuuuuoooooooooooooooooiiiiiaeiiouunc";
for (var i=0, l=from.length ; i < l ; i++) {
str = str.replace(RegExp(from[i], "gi"), to[i]);
}
str = str.toLowerCase()
.trim()
View ribbon.css
.ribbon-container{
width: 300px;
height: 300px;
background: #FFF;
}
.ribbon-container .ribbon{
position:relative;
color:#fff;
@bluzky
bluzky / decorator don gian.py
Last active Aug 29, 2015
Python decorator introduction
View decorator don gian.py
__author__ = 'bluzky'
def name_decorator(f):
def wrapper(ten):
chuoi_moi = "Ten tui la %s" % ten
return f(chuoi_moi)
return wrapper
# su dung decorator
@name_decorator
@bluzky
bluzky / string_convert.cpp
Created Nov 12, 2014
Convert UTF-8 to UTF-16 and vice versa
View string_convert.cpp
wstring utf8_to_utf16(string utf8)
{
std::vector<unsigned long> unicode;
size_t i = 0;
while (i < utf8.size())
{
unsigned long uni;
size_t todo;
bool error = false;
unsigned char ch = utf8[i++];
You can’t perform that action at this time.