Skip to content

Instantly share code, notes, and snippets.

View c01nd01r's full-sized avatar

Stanislav c01nd01r

View GitHub Profile
@c01nd01r
c01nd01r / SketchSystems.spec
Last active July 5, 2021 14:30
Форма водоканала
Форма водоканала
Загрузка*
загружено -> Проверка параметров
Проверка параметров
ошибка в параметрах -> Неверные параметры инициализации
требуются данные счета -> Ввод данных счета
все данные установленны -> Пречек
Неверные параметры инициализации
alert('hello')
console.log({ parent: window.parent });
@c01nd01r
c01nd01r / set.js
Created April 1, 2021 01:16
Set value to object by path
// original https://stackoverflow.com/a/7070222/5485802
const set = (root, segments, value) => {
let lastField = root;
let segment;
let i;
for (i = 0; i < segments.length - 1; ++i) {
segment = segments[i];
lastField = lastField[segment] = lastField[segment] || {};
}
@c01nd01r
c01nd01r / index.js
Last active March 24, 2021 15:16
effector forward object of events
const startApp = createEvent();
const handleSuccess = createEvent();
const handleFail = createEvent();
forward({
from: startApp,
to: fxFetchUser,
})
// this
forward({
@c01nd01r
c01nd01r / file.json
Created November 21, 2020 19:39
api.json
hello, world
@c01nd01r
c01nd01r / gist:c550a3b4aff5117db6fb8f5c951e85a9
Last active April 1, 2020 23:34
cheatsheet for event-driven finite state machines
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@c01nd01r
c01nd01r / repository.md
Created June 25, 2019 06:12 — forked from maestrow/repository.md
Паттерн репозиторий

Паттерн репозиторий

Источник: Серия статей.

Репозиторий - это слой абстракции, инкапсулирующий в себе всё, что относится к способу хранения данных. Назначение: Разделение бизнес-логики от деталей реализации слоя доступа к данным.

Паттерн Репозиторий стал популярным благодаря DDD (Domain Driven Design). В противоположность к Database Driven Design в DDD разработка начинается с проектирования бизнес логики, принимая во внимание только особенности предметной области и игнорируя все, что связано с особенностями базы данных или других способов хранения данных. Способ хранения бизнес объектов реализуется во вторую очередь.

Применение данного паттерна не предполагает создание только одного объекта репозитория во всем приложении. Хорошей практикой считается создание отдельных репозиториев для каждого бизнес-объекта или контекста, например: OrdersRepository, UsersRepository, AdminRepository.

@c01nd01r
c01nd01r / launch.json
Created January 29, 2018 10:33
vue jest vscode dubug config
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug Jest Tests",
"type": "node",
"request": "launch",
"port": 9229,
"sourceMaps": true,
"runtimeArgs": [
@c01nd01r
c01nd01r / index.js
Created October 21, 2017 13:49
Hyphenate a camelCase string. (Vue.js)
/**
* Hyphenate a camelCase string.
*/
var hyphenateRE = /\B([A-Z])/g;
var hyphenate = function(str) {
return str.replace(hyphenateRE, '-$1').toLowerCase()
};