Skip to content

Instantly share code, notes, and snippets.

View hochan222's full-sized avatar
😀
Developer

hochan Lee hochan222

😀
Developer
View GitHub Profile
import os
import urllib.request
locale = 'ru'
path = './files/' + locale + '/'
urls = []
for r, d, f in os.walk(path):
for file in f:
if '.md' in file or '.html' in file:
full_path = os.path.join(r, file)
from pathlib import Path
fixes = []
class Stop(Exception):
"""exit early"""
NEEDLES = ["""
@paulirish
paulirish / what-forces-layout.md
Last active July 22, 2024 06:32
What forces layout/reflow. The comprehensive list.

What forces layout / reflow

All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or layout thrashing, and is common performance bottleneck.

Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for additional cases and details.

Element APIs

Getting box metrics
  • elem.offsetLeft, elem.offsetTop, elem.offsetWidth, elem.offsetHeight, elem.offsetParent
@jays1204
jays1204 / postbodyEnc.md
Last active September 24, 2023 04:50
Http Method는 POST, Content-Type이 application/x-www-form-urlencoded인 경우 body를 encoding하는게 맞을까?

요즘의 Request

RestFul API를 사용하며 json을 많이 사용하게 됨에 따라 요즈음의 request의 Content-Type은 대부분이 application/json인 것이 많다.

아니면 파일 첨부를 위해 multipart/*를 사용한다. application/x-www-form-urlencoded는 form에서 default로 사용되는 것 이외에는 사실 잘 사용하지 않는 편으로 보인다.

요새 자주 사용하지 않지만, 하지만 여전히 application/x-www-form-urlencoded를 사용하는 경우가 존재한다.

Content-Type이 다름에 따라 뭐가 달라지겠느냐 하겠지만 다른 점이 분명히 있다.

@chrisjlee
chrisjlee / querySelector.polyfill.js
Created February 12, 2014 17:39
IE document.querySelector() polyfill
if (!document.querySelectorAll) {
document.querySelectorAll = function (selectors) {
var style = document.createElement('style'), elements = [], element;
document.documentElement.firstChild.appendChild(style);
document._qsa = [];
style.styleSheet.cssText = selectors + '{x-qsa:expression(document._qsa && document._qsa.push(this))}';
window.scrollBy(0, 0);
style.parentNode.removeChild(style);
char* executeProcess(char** args) {
int p[2], p2[2], pid, output_length = 100, current_size = 0, num_args = 3, i, child_stat;
bool error = false;
char cread;
char* output = NULL;
char** cmd_args;
std::string cmd(args[1]);
// take off args[0], since will be sent into stdin of process
std::string input_data(args[0]);