Skip to content

Instantly share code, notes, and snippets.

@ozio
ozio / yandex.js
Created February 15, 2023 23:32
Yandex AA tasks
/**
* Дан список целых чисел, повторяющихся элементов в списке нет.
* Нужно преобразовать это множество в строку,
* сворачивая соседние по числовому ряду числа в диапазоны.
*/
compress([1, 4, 5, 2, 3, 9, 8, 11, 0]) // '0-5,8-9,11'
compress([1, 4, 3, 2]) // '1-4'
compress([1, 4]) // '1,4'
compress([1, 2]) // '1-2'
@ozio
ozio / template.xml
Last active February 2, 2024 07:19
IntelliJ Idea useState live template
<template name="rus" value="const [$CONSTANT$, set$CAPITALIZED_CONSTANT$] = useState(default$CAPITALIZED_CONSTANT$$END$);" description="Create useState" toReformat="false" toShortenFQNames="true">
<variable name="CONSTANT" expression="" defaultValue="" alwaysStopAt="true" />
<variable name="CAPITALIZED_CONSTANT" expression="capitalize(CONSTANT)" defaultValue="" alwaysStopAt="false" />
<context>
<option name="JAVA_SCRIPT" value="true" />
<option name="TypeScript" value="true" />
</context>
</template>
@ozio
ozio / stalin-sort.ts
Last active May 21, 2021 08:25
StalinSort
/*
Original idea: https://mastodon.social/@mathew
> I came up with a single pass O(n) sort algorythm I call StalinSort. You iterate down
> the list of elements checking if they're in order. Any element which is out of order
> is eliminated. At the end you have a sorted list.
*/
@ozio
ozio / formatMessage.js
Last active February 18, 2019 12:00 — forked from oun/formatMessage.js
Use React-Intl API outside React component
import { IntlProvider, defineMessages } from 'react-intl';
const language = 'en';
// Usually messages is declared in another file.
const messages = {
greeting: 'Hello'
}
export const mesg = defineMessages({
greeting: {
id: 'greeting',
@ozio
ozio / questions.md
Last active September 28, 2021 16:55
Вопросы, которые мне задавали (или не задавали) на позицию Senior Frontend Developer (~10 их)

Я не пытался тут собрать все вопросы, которые хорошо бы задавать, а лишь те, что мне задавали (если не указано обратное), так что не неситесь жаловаться, что вы не нашли своих любимых и коварных. Так же, я не привожу список всяких логических задачек, которых, слава богу, было минимум и задачек с написанием кода на листке бумажки что, к сожалению, всё ещё распространено.

React:

  • Жизненный цикл компонента? В какой метод какие аргументы приходят? Где и как лучше обновлять стейт?
  • Что такое функциональный компонент и PureComponent? В чём разница?
  • Что такое Redux?
  • Что такое сайд-эффекты?
  • Какие бывают миддлвары в Redux?
  • Для чего нужен redux-thunk?
  • На чём построена redux-saga (на генераторах) и для чего она нужна?
@ozio
ozio / rainbow.js
Created July 2, 2015 21:08
Как сделать любой сайт ярче
var els = document.querySelectorAll('*');
for (var i = 0, l = els.length; i < l; i++) {
var color = [
parseInt(Math.random() * 255),
parseInt(Math.random() * 255),
parseInt(Math.random() * 255)
];
els[i].style.backgroundColor = 'rgb(' + color.join(',') + ')';
'use strict';
var $ = require('jquery');
var lscache = require('lscache');
var Settings = require('./settings');
var createUrl = function(url, data) {
return url + '?' + $.param(data);
};
(function e(t, n, r) {
function s(o, u) {
if (!n[o]) {
if (!t[o]) {
var a = typeof require == "function" && require;
if (!u && a)return a(o, !0);
if (i)return i(o, !0);
var f = new Error("Cannot find module '" + o + "'");
throw f.code = "MODULE_NOT_FOUND", f
}

Keybase proof

I hereby claim:

  • I am ozio on github.
  • I am mr_ozio (https://keybase.io/mr_ozio) on keybase.
  • I have a public key whose fingerprint is BF2D F938 41D3 D171 77E4 A696 C86C 53D1 280A BFED

To claim this, I am signing this object: