Skip to content

Instantly share code, notes, and snippets.

View inkrot's full-sized avatar

Islam Zaripov inkrot

View GitHub Profile
@YPermitin
YPermitin / Установка Outline VPN на Ubuntu 20.04.md
Last active July 10, 2025 03:22
Инструкция по развертыванию собственного VPN-сервиса на базе Outline VPN

Установка Outline VPN на Ubuntu 20.04

Outline VPN - это бесплатный инструмент с открытым исходным кодом, позволяющий развернуть собственную VPN на Вашем собственном сервере или на машине облачного провайдера. Подробную информацию Вы можете узнать здесь и здесь.

В своем составе имеет как графические инструменты, так и средства работы через командную строку. Позволяет использовать VPN как на настольных компьютерах, так и на мобильных устройствах.

Прежде чем начать

@Maxim-Kolmogorov
Maxim-Kolmogorov / Vue_phone_mask.js
Last active February 8, 2025 09:45
Phone mask with Vue.js
import Vue from "vue"
Vue.directive('phone', {
bind(el) {
el.oninput = function(e) {
if (!e.isTrusted) {
return
}
const x = this.value.replace(/\D/g, '').match(/(\d{0,1})(\d{0,3})(\d{0,3})(\d{0,4})/)
@zippaaa
zippaaa / wsl2.md
Last active November 5, 2024 06:00
Настраиваем WSL2, Nginx, PostgreSQL, Php7.4-Fpm, PhpStorm

Устанавливаем WSL2 и настраиваем PhpStorm для работы с Linux

  1. Устанавливаем из магазина приложений (или из Github) новый Windows Terminal.

    Прошло каких-то 25 лет, и, наконец, Microsoft сделала это - отличный терминал.

  2. Устанавливаем из магазина приложений Ubuntu (у меня установлена версия 18.04)
    При установке логин вводим латинскими, строчными буквами

Запускаем установленный Terminal

В одной вкладке открываем Cmd.exe из меню

@heisvoid
heisvoid / googlephotos.sh
Created October 31, 2019 10:16
Edit the metadata 'Create Date' of Google photos Takeout files
#!/bin/sh
# Edit the metadata 'Create Date'
files=$(mktemp)
find "$1" -type f -iname "*.jpg" > $files
while IFS= read -r f
do
create_date=$(exiftool -CreateDate "$f" | cut -d ":" -f 2)
if [ ! -z "$create_date" ] && [ " 0000" != "$create_date" ]; then
@bradtraversy
bradtraversy / node_nginx_ssl.md
Last active November 16, 2025 11:18
Node app deploy with nginx & SSL

Node.js Deployment

Steps to deploy a Node.js app to DigitalOcean using PM2, NGINX as a reverse proxy and an SSL from LetsEncrypt

1. Sign up for Digital Ocean

If you use the referal link below, you get $10 free (1 or 2 months) https://m.do.co/c/5424d440c63a

2. Create a droplet and log in via ssh

I will be using the root user, but would suggest creating a new user

@mcasperson
mcasperson / xpath.js
Last active November 29, 2020 17:10
Get element by XPath in JavaScript
function getElementByXpath(path) {
return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
}
function getElementsByXpath(xpath, parent)
{
let results = [];
let query = document.evaluate(xpath, parent || document,
null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
for (let i = 0, length = query.snapshotLength; i < length; ++i) {
@ralymov
ralymov / phone_masks_vue.md
Last active February 26, 2021 13:00
Маска ввода номера Vue.js

Унифицированная маска ввода номера телефона

Для использования маски требуется:

  • VueJS (использовалась версия 2.5.15)
  • Плагин Inputmask не ниже версии 4.0 - https://github.com/RobinHerbots/Inputmask (с версии 4.0 он одинаково хорошо работает и на десктопах и на мобилках, поддерживает все необходимые опции, Regexp-маски, в общем больше не нужно держать на сайте отдельно плагин маски для десктопа и отдельно для мобилок)

Установка плагина

Удаляем предыдущие плагины маски, которые использовались на сайте.

@ywwwtseng
ywwwtseng / clean-code-for-vue.md
Last active June 15, 2021 03:18
clean code for vue

Clean Code For Vue

✌️ Vue

聲明式渲染

善用 computed 屬性去描述一些條件式或可讀性不高的程式碼

<template>
@sandeepyohans
sandeepyohans / MainActivity.java
Last active October 30, 2023 10:42
Adding alert() support to a WebView - Android
/*
Retrieved from https://web.archive.org/web/20160516165158/http://lexandera.com/2009/01/adding-alert-support-to-a-webview/
*/
final WebView browser = (WebView)findViewById(R.id.browser);
/* JavaScript must be enabled if you want it to work, obviously */
browser.getSettings().setJavaScriptEnabled(true);
final Context myApp = this;
@voronkovich
voronkovich / unit-of-work.php
Created October 28, 2018 16:36
Unit of work example
<?php
class Tweet
{
private $id;
private $content;
public function __construct(int $id, string $content)
{
$this->id = $id;