Skip to content

Instantly share code, notes, and snippets.

@vuducnam
vuducnam / hsla-color.ts
Created November 28, 2024 01:38 — forked from tphuc/hsla-color.ts
HSLA class
export class HSLAColor {
constructor(
private _hue: number,
private _saturation: number,
private _lightness: number,
private _alpha: number
) {
this._hue = _hue;
this._saturation = _saturation;
import { Client } from "@upstash/qstash"
import { NextRequest } from "next/server"
const baseUrl = process.env.NEXT_PUBLIC_VERCEL_PROJECT_PRODUCTION_URL
? `https://${process.env.NEXT_PUBLIC_VERCEL_PROJECT_PRODUCTION_URL}`
: "http://localhost:3000"
interface Step<I> {
create: <O>(action: (prevResult: Awaited<I>) => O) => Step<O>
finally: (action: (prevResult: Awaited<I>) => any) => any
@vuducnam
vuducnam / docker-cleanup-resources.md
Created September 16, 2021 09:08 — forked from bastman/docker-cleanup-resources.md
docker cleanup guide: containers, images, volumes, networks

Docker - How to cleanup (unused) resources

Once in a while, you may need to cleanup resources (containers, volumes, images, networks) ...

delete volumes

// see: https://github.com/chadoe/docker-cleanup-volumes

$ docker volume rm $(docker volume ls -qf dangling=true)

$ docker volume ls -qf dangling=true | xargs -r docker volume rm

if ('loading' in document.createElement('img')) {
document.querySelectorAll('[loading="lazy"]').forEach(elem => {
if (elem.dataset.src) {
elem.src = elem.dataset.src;
}
if (elem.dataset.srcset) {
elem.srcset = elem.dataset.srcset;
}
})
} else {
@vuducnam
vuducnam / create-vod-hls.sh
Created June 24, 2020 13:55 — forked from maitrungduc1410/create-vod-hls.sh
Bash scripts to create VOD HLS stream with ffmpeg (Extended version)
#!/usr/bin/env bash
set -e
# Usage create-vod-hls.sh SOURCE_FILE [OUTPUT_NAME]
[[ ! "${1}" ]] && echo "Usage: create-vod-hls.sh SOURCE_FILE [OUTPUT_NAME]" && exit 1
# ----CUSTOM----
sourceResolution="$(ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=s=x:p=0 ${1})"
# echo ${sourceResolution}
@vuducnam
vuducnam / Cors.php
Created June 23, 2020 09:54 — forked from drewjoh/Cors.php
Laravel CORS Middleware
<?php // /app/Http/Middleware/Cors.php
namespace App\Http\Middleware;
use Closure;
class Cors {
public function handle($request, Closure $next)
{
return $next($request)
@vuducnam
vuducnam / README.md
Created June 17, 2020 01:50 — forked from mrbar42/README.md
Secured HLS setup with Nginx as media server

Secured HLS setup with Nginx as media server

This example is part of this article.

This is an example for an HLS delivery with basic security. Nginx compiled with nginx-rtmp-module & secure-link is used as media server. Features:

  • Domain filtering
  • Referrer filtering
  • Embed buster

Direct copy of pre-encoded file:

$ ffmpeg -i filename.mp4 -codec: copy -start_number 0 -hls_time 10 -hls_list_size 0 -f hls filename.m3u8

@vuducnam
vuducnam / wp-loop.php
Created March 18, 2020 08:45 — forked from sheabunge/wp-loop.php
WordPress loop generator function, as described at https://wpscholar.com/blog/creating-better-wordpress-loop/
<?php
/**
* Simplifies the WordPress loop.
*
* @param WP_Query|WP_Post[] $iterable
*
* @return Generator
*/
function wp_loop( $iterable = null ) {
@vuducnam
vuducnam / axios-interceptors-refresh-token.js
Created July 30, 2019 03:53 — forked from mkjiau/axios-interceptors-refresh-token.js
Axios interceptors for token refreshing and more than 2 async requests available
let isRefreshing = false;
let refreshSubscribers = [];
const instance = axios.create({
baseURL: Config.API_URL,
});
instance.interceptors.response.use(response => {
return response;
}, error => {