Skip to content

Instantly share code, notes, and snippets.

View HelgaZhizhka's full-sized avatar
👁️‍🗨️

Olga Zhyzhka HelgaZhizhka

👁️‍🗨️
View GitHub Profile
function debounce(originalFn, timeoutMs) {
let timeout;
return (...args) => {
clearTimeout(timeout); // clear timeout every time the function is called
timeout = setTimeout(() => originalFn(...args), timeoutMs); // call the original function once "timeoutMs" ms after the last call have elapsed
};
}
// Creates a throttled function that only invokes "originalFn" at most once per every "delayMs" milliseconds
function throttle(originalFn, delayMs) {
let timeout; // timeout to keep track of the executions
return (...args) => {
if (timeout) { // if timeout is set, this is NOT the first execution, so ignore
return;
}
// this is the first execution which we need to delay by "delayMs" milliseconds
timeout = setTimeout(() => {
@HelgaZhizhka
HelgaZhizhka / review.md
Created August 5, 2022 20:23 — forked from gretchenfitze/review.md
Что проверять на code review
  • Ревью - задача с наивысшим приоритетом. Желательно приступать к ревью как можно скорее. Это поможет избежать массового мержа задач в конце спринта и не будет тратить время коллег, особенно если задачи взаимозависимы. Начинаем ревью задачи при первом стабильном билде.
  • Прежде всего нужно проверить соответствие указанного номера задачи, репозитория и версии указанным в Jira, а в ходе ревью обратить внимание, соответствуют ли внесенные изменения поставленной задаче.
  • Названия коммитов и PR пишутся с большой буквы, они должны содержать номер задачи, описывать внесенные изменения и быть обезличенными. Плохой пример: “сделал правки”, хороший пример: “UFSUI-1111 Исправлена работа скролла в Select при открытии вверх”.
  • На ревью обязательно нужно как посмотреть код, так и проверить корректность работы компонента с внесенными изменениями. Код стоит проверять досконально в каждом файле. При проверке работы нужно попытаться воспроизвести все возможные кейсы использования компонента. Не стоит пренебрегать одним из ш
@HelgaZhizhka
HelgaZhizhka / isElementInViewport.js
Created November 16, 2020 14:37 — forked from davidtheclark/isElementInViewport.js
JavaScript: Is element in viewport?
/*
No jQuery necessary.
Thanks to Dan's StackOverflow answer for this:
http://stackoverflow.com/questions/123999/how-to-tell-if-a-dom-element-is-visible-in-the-current-viewport
*/
function isElementInViewport(el) {
var rect = el.getBoundingClientRect();
return (
rect.top >= 0 &&
@HelgaZhizhka
HelgaZhizhka / DetectScroll.vue
Created November 5, 2020 12:55 — forked from aschmelyun/DetectScroll.vue
Detect scrolling to the bottom of a div in Vue.js
<template>
<div class="wrapper">
<div class="box" @scroll="handleScroll">
<p>Your content here...</p>
</div>
<a href="#" v-if="hasScrolledToBottom">Show After Scrolling</a>
</div>
</template>
<script>
export default {
@HelgaZhizhka
HelgaZhizhka / GIT-rename-branch
Created March 24, 2020 09:34 — forked from beardlessman/GIT-rename-branch
[Git] Переименование ветки (локально и удаленно)
git branch -m old_branch new_branch – переименовать локальную ветку
git push origin :old_branch – удалить старую ветку
git push --set-upstream origin new_branch – выгрузить новую ветку и "закрепить" ее за локальной веткой
@HelgaZhizhka
HelgaZhizhka / gist:a97f340fd6660dd17bbfc62df3677770
Created February 7, 2019 13:36 — forked from Neolot/gist:3964380
PHP Склонение числительных
<?php
/**
* Функция склонения числительных в русском языке
*
* @param int $number Число которое нужно просклонять
* @param array $titles Массив слов для склонения
* @return string
**/
$titles = array('котик', 'котика', 'котиков');
function declOfNum($number, $titles)
@HelgaZhizhka
HelgaZhizhka / responsive-video.css
Created August 16, 2018 09:57 — forked from jaicab/responsive-video.css
Pure CSS solution for embed videos with an aspect ratio of 16:9
.video-container {
position: relative;
padding-bottom: 56.25%; /*16:9*/
padding-top: 30px;
height: 0;
overflow: hidden;
}
.video-container iframe,
.video-container object,
@HelgaZhizhka
HelgaZhizhka / svg-cog-wheels-svg
Created July 11, 2018 12:48 — forked from jdelia/svg-cog-wheels-svg
CSS Animation spinning cog wheels
<svg width="100%" height="100%" viewBox="0 0 600 600" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;">
<rect x="-152" y="-117" width="882" height="819" fill="#ebebeb"/>
<g>
<circle id="circle-yellow" cx="393.785" cy="409.5" r="100" fill="transparent"/>
<g>
<path class="cog-yellow" d="M378.75,310.637c-6.476,0.985 -12.839,2.603 -18.999,4.832l0.962,15.729c-5.814,2.455 -11.337,5.551 -16.466,9.229l-12.915,-9.028c-5.115,4.091 -9.817,8.675 -14.036,13.685l8.696,13.14c-3.807,5.034 -7.042,10.476 -9.644,16.226l-15.699,-1.361c-2.385,6.101 -4.165,12.421 -5.314,18.869l14.102,7.032c-0.781,6.263 -0.861,12.593 -0.24,18.874l-14.276,6.671c0.985,6.476 2.604,12.839 4.833,18.998l15.728,-0.961c2.456,5.814 5.551,11.336 9.23,16.465l-9.028,12.915c4.091,5.116 8.674,9.818 13.684,14.037l13.141,-8.697c5.033,3.807 10.475,7.042 16.225,9.645l-1.36,15.
@HelgaZhizhka
HelgaZhizhka / gist:ebcbc01f06658b3686212b19bab70a08
Created March 12, 2018 17:26 — forked from marcel-jahn/gist:65193ebce407f56cba1c6041074c8107
Sorting by ascending date with Underscore.js
var list = [
{id: 1, created_at: 'Sun Feb 22 23:19:08 +0000 2009'},
{id: 2, created_at: 'Wed Jun 05 14:07:04 +0000 2013'},
{id: 3, created_at: 'Wed Jun 05 10:11:30 +0000 2013'},
{id: 3, created_at: 'Wed Jun 05 14:01:08 +0000 2013'}
];
var sorted = _.sortBy(list,function(node){
return - (new Date(node.created_at).getTime());
});