Skip to content

Instantly share code, notes, and snippets.

View dmitriyzyuzin's full-sized avatar

Dmitriy Zyuzin dmitriyzyuzin

View GitHub Profile
@dmitriyzyuzin
dmitriyzyuzin / types.md
Created April 5, 2023 13:46
Useful type declarations aka Dimi learn TypeScript :D

Objects

Пусть у нас есть такой объект:

const RADIO_CARD_GROUP_THEME = {
  VERTICAL: 'vertical',
  HORIZONTAL: 'horizontal',
}
@dmitriyzyuzin
dmitriyzyuzin / server.js
Created February 22, 2023 16:22
Express server with adding HTTP headers
const express = require('express');
const path = require('path');
const app = express()
const PORT = process.env.port || 4000
app.use((req, res, next) => {
res.setHeader('referrer-policy', 'strict-origin-when-cross-origin');
next();
@dmitriyzyuzin
dmitriyzyuzin / index.md
Created November 14, 2021 21:11
TypeScript define custom property in window object

Declare ymaps property with TypeScript through typings.d.ts file (in the /src folder):

export declare global {
    interface Window {
        ymaps: {
            ready: Function,
        };
    }
}
@dmitriyzyuzin
dmitriyzyuzin / gist:a4ffa55c6a35ff19021c913bdbbbecf7
Created October 8, 2021 09:05
Another way to fix CORS errors

Пример, нужно дернуть какую-то стороннюю апиху https://my-awesome-api.haha CORS настроен таким образом что ты не можешь это сделать со стороннего домена, а доступа к серверу апихи нет (сторонеее апи же). То можно использовать прокси-сервер для этого. CORS реализованы в браузере только.

npx local-cors-proxy --proxyUrl https://my-awesome-api.haha

Это тулза выдаст примерно следующее:

@dmitriyzyuzin
dmitriyzyuzin / base64-converter.js
Created October 5, 2021 14:01
Load image and convert to base64
const loadIconAndConvertIconToBase64 = url => {
return fetch(url)
.then(response => response.blob())
.then(blob => new Promise((resolve, reject) => {
const reader = new FileReader()
reader.onloadend = () => resolve(reader.result)
reader.onerror = reject
reader.readAsDataURL(blob)
}));
}
@dmitriyzyuzin
dmitriyzyuzin / firestore.js
Created August 4, 2021 20:22
Save data to firebase (firestore)
const firebase = require('firebase');
require('firebase/firestore');
// firebase DB
const firebaseConfig = {
apiKey: '',
authDomain: '',
projectId: "",
storageBucket: "",
messagingSenderId: "",
@dmitriyzyuzin
dmitriyzyuzin / docker.md
Last active June 26, 2021 16:12
Docker cheat sheat

Docker

Building an image

Note: don't forget to create a Dockerfile in the same directory. Next command build new php-obfuscator image from current directory:

docker build -t php-obfuscator .

How to verify? Next command should print info about new image:

@dmitriyzyuzin
dmitriyzyuzin / index.md
Created April 29, 2021 17:55
Filter array of objects by property value

arr - array of objects
id - filter value

arr.filter((item, index, arr) => arr.findIndex(_item => _item.id === item.id) === index)
@dmitriyzyuzin
dmitriyzyuzin / bash.md
Last active April 1, 2021 18:54
Useful commands
  1. du -shc * | sort -h - показывает сколько места занимает каждая директория
@dmitriyzyuzin
dmitriyzyuzin / fetch-handle-response.md
Last active March 2, 2021 15:14
Handle response using Fetch

Fetch handle response

Variant 1

const requestOptions = {
    mode: 'cors',
    headers: {
      'Content-Type': 'application/json',
      'Access-Control-Allow-Origin': '*'
    }