Skip to content

Instantly share code, notes, and snippets.

View mokevnin's full-sized avatar

Kirill Mokevnin mokevnin

View GitHub Profile
state_machine initial: :not_pulled do
state :not_pulled
state :pulling
state :pulled
state :code_copying
state :code_copied
state :creating
state :created
@mokevnin
mokevnin / fixture_loader.rb
Created December 6, 2023 19:01
Rails fixture's monkey patch. It allows to preload fixtures before the tests and speed up the process
# frozen_string_literal: true
module Tests::FixtureLoader
extend ActiveSupport::Concern
included do
# Копипаста https://github.com/rails/rails/blob/844106efa9bc110260724d0fe503c321e7eb5b16/activerecord/lib/active_record/test_fixtures.rb#L210
# Можно улучшить
fixture_path = ActiveSupport::TestCase.fixture_path
fixture_set_names = Dir[::File.join(fixture_path, '{**,*}/*.{yml}')].uniq
@mokevnin
mokevnin / grades
Created October 21, 2021 19:58
Грейды в компании занимающейся видеостриммингом
L1
Базовые знание диалекта Typescript, основных встроенных примитивов (Array, Object, Function, String, Date) и методов работы с ними, понимание контекста (this) и способов управления им
Базовые знания фреймворка React
Знание наиболее часто используемых Web API: fetch/XHR, Storage, PostMessage, DOM
Умение писать простейшие алгоритмы (поиск, сортировка, сравнение объектов) без требований к их оптимальности.
Навыки кроссбраузерной адаптивной верстки по макету с использованием существующего кода, знание CSS и препроцессора SCSS
Навыки отладки разметки в браузерах Chrome/Safari
Знание принципов работы HTTP, отличий между различными методами, принципов работы Cookies
Практическое владение лучшими практиками структурирования кода: SOLID/DRY/KISS и т.д.
Базовые знания git, понимание git flow
@mokevnin
mokevnin / content.md
Last active October 18, 2021 19:27
Devops Workshop Prepearing Files
@mokevnin
mokevnin / HOWTO.md
Last active May 6, 2016 11:26
VideoClass

Формат: 10-15 видео на выбранную тему в виде презентации и/или скринкаста. В идеале так же включать себя (сбоку в углу).

Аудитория: ориентация на новичков в программировании, которые слабо знают терминологию (что такое продакшен?).

Структура:

  1. Тема.
  2. Об авторе (почему автору стоит верить?).
  3. Содержание.
  4. Пару слов про компанию (если есть желание пиариться/нанимать).
@mokevnin
mokevnin / README.md
Last active April 1, 2016 14:02
Hexlet Workshop #1

Что это?

Hexlet Workshop - четырех часовое мероприятие, которое направлено на прокачку новых навыков в новых для себя областях. Проводится для всех желающих.

Что прокачивается?

  • Написание тестов.
  • Работа с Docker.
  • Новый язык/технология.
  • Элементы экстремального программирования (TDD, Парное программирование).

Необходимо реализовать cli утилиту для проведения квизов.

Принцип работы такой:

  1. Загружаем квиз из файла

    quizlet path/to/quizfile

  2. Программа спрашивает ФИО и email.

  3. Появляются вопросы с вариантами ответа на которые надо отвечать.

@mokevnin
mokevnin / Dockerfile
Last active January 27, 2016 15:01
python handler for battle.hexlet.io
FROM hexlet/hexlet-base
RUN apt-install python-pip python-dev
RUN apt-install python3-pip python3-dev
RUN pip3 install pytest
ENV PYTHONDONTWRITEBYTECODE 1
bullet: opened
application-6a0f5774c21ab8ef80cc880661bcab04baac9c98570ddba0e9dc0ae712b83987.js:2307 {"data":[{"checks":[],"code_snapshot":"# BEGIN implement function `solution` here \n\n# END\n","id":28965,"lang":"ruby","reconnected":true,"state":"disconnected","total_games":57,"username":"sanek","wins":0},{"checks":[],"code_snapshot":"<?php\n\n// BEGIN implement function `solution` here \n\nfunction solution($n) {\n \n}\n\n// END\n","id":28964,"lang":"php","reconnected":true,"state":"connected","total_games":170,"username":"Igor","wins":104}],"handler":"syncPlayers"}
application-6a0f5774c21ab8ef80cc880661bcab04baac9c98570ddba0e9dc0ae712b83987.js:2307 {"data":{"game":{"challenge_name":"separate_with_comma","description":"Given a number as input, return a string with that number formatted with commas to separate each three digits from the right to make it look like a standard North American number.\n\nExample: `\"1,238,592\" == solution(1238592)`","id":18573,"level":"easy"},"game_process":{"started_at":1446
@mokevnin
mokevnin / Dockerfile
Last active December 16, 2017 14:19
hexlet.io: configuration management and deploy
FROM ruby:2.2.1
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
ENV RAILS_ENV production
ENV REFILE_CACHE_DIR /var/tmp/uploads
RUN curl -sL https://deb.nodesource.com/setup | bash -