Skip to content

Instantly share code, notes, and snippets.

@xluffy
xluffy / supervisord.md
Last active February 21, 2021 09:08
supervisord

Supervisord

1. Giới thiệu

Supervisord là công cụ quản lý unix process

Một trong những ứng dụng của Supervisor là quản lý background process dạng Worker.

@shakes76
shakes76 / profiles.json
Last active September 17, 2022 01:16
Windows Terminal Profiles (Ubuntu Solarised Dark, WinPython 3.6 Cascadia Code)
// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation
{
"$schema": "https://aka.ms/terminal-profiles-schema",
"defaultProfile": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"profiles":
@spion
spion / features.md
Last active October 6, 2022 21:00
Adding features to a software product

New features and changes workflow guide

This guide describes what steps usually work best when adding new features to a product. The guidelines are not mandatory; simpler features may not need any of these steps. They exist to help battle the hardest new features to add :)

The steps are not necessarily in the correct order - this is the usual order. Going back to an older step to add/change things is okay.

Brainstorming sessions

Goal: collect all that we can come up with for the new feature or change. Everything goes into an unorganized document (wiki page). Possible ways to organize this document is into proposal items (and proposal detail item for each proposal item).

@gwax
gwax / data_paths.md
Last active April 20, 2023 12:11
handling data file paths in python

A couple pointers for dealing with files on the filesystem from inside python:

  1. don't modify sys.path
  2. don't use relative paths unless they are relative to something
  3. always use os.path.join
  4. don't rely on the environment

Now for a pattern that I strong suggest:

Start with a code tree where your files are set aside but inside your code tree:

@bradyjiang
bradyjiang / cleaner.py
Created July 21, 2019 15:47
Solution 1: lxml.html.clean.Cleaner
from lxml.html.clean import Cleaner
#to prevent Cleaner to replace html with div, leave page_structure alone: http://stackoverflow.com/questions/15556391/lxml-clean-html-replaces-html-tag-with-div
cleaner = Cleaner(page_structure=False)
#according to: http://stackoverflow.com/questions/8554035/remove-all-javascript-tags-and-style-tags-from-html-with-python-and-the-lxml-mod
#Cleaner is a better general solution to the problem than using strip_elements, because in cases like this you want to strip out more than just the <script> tag; you also want to get rid of things like onclick=function() attributes on other tags.
cleaner.javascript=True
cleaner.scripts=True
#turn this on in the future if necessary
#cleaner.style=True
@Bilio
Bilio / clean_html.py
Created July 17, 2018 01:02
Clean html with python lxml.html Cleaner
import codecs
import sys
from lxml import etree
from lxml.html.clean import Cleaner
def sanitize(dirty_html):
cleaner = Cleaner(page_structure=True,
meta=True,
@bashkirtsevich
bashkirtsevich / export-import.md
Created April 15, 2017 11:00
MongoDB export full database

For lazy people like me, i use mongodump it's faster:

mongodump -d <database_name> -o <directory_backup>

And to "restore/import" that, i used (from directory_backup/dump/):

mongorestore -d <database_name> <directory_backup>

With this solution, you don't need to each all collections and export one by one. Just specify the database. I would recommend against using mongodump/mongorestore for big data storages. It is very slow and once you get past 10/20GB of data it can take hours to restore.

import unittest
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import expected_conditions as EC
import time
from datetime import datetime
git tag -am "annotation goes here" tagname_goes_here # cut a tag
git tag -d tagname_goes_here # burn it
git tag -am "annotation goes here" tagname_goes_here # cut another tag
git push --tags # push tags to remote
git push origin :refs/tags/tagname_goes_here # delete tag from remote
@BhanukaUOM
BhanukaUOM / convert_ts_to_mp4.py
Last active September 14, 2023 12:50
Convert all ts videos to mp4
import moviepy.editor as moviepy
import glob, os
files = []
for file in glob.glob('*.ts'):
files.append(file)
for file in glob.glob('**/*.ts'):
files.append(file)
for file in glob.glob('**/**/*.ts'):
files.append(file)