Skip to content

Instantly share code, notes, and snippets.

@Titiaiev
Titiaiev / getRandomInt.js
Last active June 25, 2016 18:45
функция рандомного целого числа в заданом диапазоне
function randomInteger(min, max) {
var rand = min + Math.random() * (max + 1 - min);
rand = Math.floor(rand);
return rand;
}
@Titiaiev
Titiaiev / ie-warning.html
Created October 5, 2017 09:42
Заглушка с редиректом для IE<10
<!--[if lte IE 10]>
<meta http-equiv="refresh" content="3; url=http://redirekt.info/article/pishem-redirekt-na-javascript-js.html">
<![endif]-->
<!--[if lte IE 10]>
<div style="background-color: #3686BB; color: #fff; width: 100%; height: 100%; margin: 0; padding: 50px; box-sizing: border-box; position: fixed; top: 0; bottom: 0;left: 0; right: 0; font-size: 26px;">
<p style="width: 80%; margin: auto;text-align: center;"> Приносим свои извинения. Данный сайт не может корректно работать в браузере "Internet Explorer" ниже 10(-й) версии.
Пожалуйста, используйте другой более современный браузер или обновите ваш "Internet Explorer" до 10-11(-й) версии.</p>
</div>
@Titiaiev
Titiaiev / bash-guide-1.md
Last active May 7, 2024 05:55
шпаргалка по написанию bash скриптов, по ссылке - оригинальная статья на хабре

Бесплатная книга-сайт на русском, полный гайд
Advanced Bash-Scripting Guide

Введение

BASH — Bourne-Again SHell (что может переводится как «перерожденный шел», или «Снова шел Борна(создатель sh)»), самый популярный командный интерпретатор в юниксоподобных системах, в особенности в GNU/Linux. Ниже приведу ряд встроенных команд, которые мы будем использовать для создания своих скриптов.

>break выход из цикла for, while или until

@Titiaiev
Titiaiev / nginx_nodejs.md
Last active February 6, 2023 06:53 — forked from tomasevich/nginx_nodejs.md
Сервер в связке Nginx + NodeJs

Сервер в связке Nginx + NodeJs

Данная пошаговая инструкция поможет освоить основы на простом примере

Для справки

Сервер поднимался на Debian 8 c характеристиками:

CPU - 1 ядро x 500 МГц

@Titiaiev
Titiaiev / .eslintrc
Last active November 10, 2019 16:52
eslint config
{
"extends": [ "airbnb-base" ],
"parser": "babel-eslint",
"plugins": [],
"env": {
"amd": true,
"browser": true,
"jquery": true,
"node": true,
"es6": true,
@Titiaiev
Titiaiev / Caesar-cipher.js
Last active January 5, 2019 23:01
Шифр Цезаря. Перебирает варианты сдвига в строке и возвращает массив вариантов строк.
// для теста
// const str = 'ПГПГ ПЮОГ УГПЦ';
// расшифровывается в "мама мыла раму"
const caesarCipher = function caesarCipher(string) {
const codesMap = {
а: 1,
б: 2,
в: 3,
г: 4,
д: 5,
@Titiaiev
Titiaiev / react.html
Created April 29, 2019 19:40
React { простой стартовый шаблон-песочница }
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>React app</title>
</head>
<body>
@Titiaiev
Titiaiev / launch_vscode_chrome.js
Last active December 5, 2019 17:18
work automation
#!/usr/bin/env node
const {exec} = require('child_process');
const process = require('process');
const USER_CHROM_PROFILE_DIRNAME = "./chrome_user_profile";
const URLs_FOR_OPEN = ['google.com', 'nodejs.org'];
var gfg;
// # запуск хрома без гуи для удаленного дебага
// #chrome --headless --remote-debugging-port=9222 https://chromium.org
// список интересных флагов для хрома
#!/bin/bash
DIVIDER="====================================="
USER_CHROM_PROFILE_DIRNAME=".chrome_user_profile"
IGNORE=".gitignore"
echo "Хотите запустить инициализацию нового проект? (yes/no)"
read AGREE
echo "$DIVIDER"

Latency numbers every programmer should know

L1 cache reference ......................... 0.5 ns
Branch mispredict ............................ 5 ns
L2 cache reference ........................... 7 ns
Mutex lock/unlock ........................... 25 ns
Main memory reference ...................... 100 ns             
Compress 1K bytes with Zippy ............. 3,000 ns  =   3 µs
Send 2K bytes over 1 Gbps network ....... 20,000 ns  =  20 µs
SSD random read ........................ 150,000 ns  = 150 µs

Read 1 MB sequentially from memory ..... 250,000 ns = 250 µs