Skip to content

Instantly share code, notes, and snippets.

View paveltretyakovru's full-sized avatar
🐯
Om 🔱

Pavel Tretyakov paveltretyakovru

🐯
Om 🔱
  • St.-Petersburg (Russia)
View GitHub Profile
@paveltretyakovru
paveltretyakovru / tsconfig.json
Last active May 21, 2024 07:27
Автоматическое подключение d.ts файлов к CRA приложению
{
// ...
"include": ["src", "src/core/types/*.d.ts"]
}
@paveltretyakovru
paveltretyakovru / spring.dockerfile
Created February 26, 2023 17:33
Working version of spring docker builder
FROM eclipse-temurin:17-jdk-focal
WORKDIR /app
COPY .mvn/ .mvn
COPY mvnw pom.xml ./
RUN ./mvnw dependency:go-offline
COPY src ./src
@paveltretyakovru
paveltretyakovru / add_public_key.sh
Last active February 18, 2023 15:30
Linux SSH public key authentication
[ ! -f ~/.ssh/id_rsa.pub ] && ssh-keygen -t rsa;
ssh <username>@<remote_machine> 'mkdir -p ~/.ssh; chmod 700 ~/.ssh'
cat ~/.ssh/id_rsa.pub | ssh <username>@<remote_machine> 'cat >> ~/.ssh/authorized_keys'
@paveltretyakovru
paveltretyakovru / generate-jwt-key.sh
Created March 23, 2022 17:05
Generate jwt pulbic and private key
ssh-keygen -t rsa -b 4096 -m PEM -f ./certs/jwt.key
# Don't use codephase
openssl rsa -in jwtRS256.key -pubout -outform PEM -out ./certs/jwt.pub
@paveltretyakovru
paveltretyakovru / store.ts
Created March 18, 2022 12:17
redux + saga (fix to getDefaultMiddleware is deprecated)
import createSagaMiddleware from 'redux-saga';
import { configureStore } from '@reduxjs/toolkit';
import saga from './saga';
import { reducer as app } from 'app/app.slice';
import { counterSlice } from 'core/features/counter/counter.slice';
const sagaMiddleware = createSagaMiddleware();
export const store = configureStore({
@paveltretyakovru
paveltretyakovru / setupTests.ts
Created October 26, 2021 23:54
Setups for Jest tests of CRA application to fix TypeError: window.URL.createObjectURL is not a function
// react-testing-library renders your components to document.body,
// this adds jest-dom's custom assertions
import '@testing-library/jest-dom/extend-expect';
import 'react-app-polyfill/ie11';
import 'react-app-polyfill/stable';
import 'jest-styled-components';
import { configure } from 'enzyme';
@paveltretyakovru
paveltretyakovru / jest-puppeteer-preset.ts
Last active August 16, 2022 20:14
Create React App + Typescript + Jest + Cucumber + Puppeteer
const ts_preset = require('ts-jest/jest-preset');
const puppeteer_preset = require('jest-puppeteer/jest-preset');
const preset = Object.assign(
ts_preset,
puppeteer_preset,
);
module.exports = preset;
@paveltretyakovru
paveltretyakovru / draggable-marker.component.tsx
Last active August 5, 2021 18:54
React Mapbox-GL draggable marker component
import MapboxGL from 'mapbox-gl';
import React, { useEffect, useRef, useState, MutableRefObject } from 'react';
type CoordinatesType = [number, number];
interface DraggableMarkerProps {
coordinates: CoordinatesType;
map?: MapboxGL.Map;
children?: any;
@paveltretyakovru
paveltretyakovru / install-argouml.sh
Created July 7, 2021 15:14
ArgoUML instalation script (checked)
#!/bin/sh
if [ "root" != "$(whoami)" ]; then
echo "You must run this command as root" 1>&2
exit 1
fi
set -x
# Download and extract
if [ ! -z "${1}" ]; then