Skip to content

Instantly share code, notes, and snippets.

View amirhosseindz's full-sized avatar
😎

Amir amirhosseindz

😎
  • Germany
View GitHub Profile

Setting Up a VMESS Server on Ubuntu

This guide provides step-by-step instructions for setting up a VMESS server on an Ubuntu server.


Prerequisites

  1. Ubuntu Server: Ensure you have an Ubuntu server up and running.
  2. Root Access: Access to the server with root privileges.
@amirhosseindz
amirhosseindz / macro.md
Created May 19, 2019 07:45 — forked from brunogaspar/macro.md
Recursive Laravel Collection Macros

What?

If a nested array is passed into a Laravel Collection, by default these will be threaded as normal arrays.

However, that's not always the ideal case and it would be nice if we could have nested collections in a cleaner way.

This is where this macro comes in handy.

Setup

هیچ وقت چن تا پارامتر رو پشت سرهم هربار
SET
نکنید و بجاش همه رو فقط با یه
SET
انجام بدین و هر پارامتر رو با کاما(,) از هم جدا کنید
اینجوری پرفورمنسش خیلی بهتره
wrong × :
SET @Locale = 'fa';
برای اجرا کردن دستورات
sql
که نیازی به دریافت ریزالتی نداره دیگه از
DB::unprepared
استفاده نکنید چون ایجاد باگ میکنه برا
pdo
بجاش از همون
DB::select
استفاده بشه
توی پروسیجر های دیلیت یا برن
برا اینکه تعداد روکوردهای دیلیت شده(برا دیلیت)
یا آپدیت شده(برا برن) برگرده، درصورتی که از ترنسکشن
استفاده کرده باشید، وقتی مثلا بزنید
SELECT ROW_COUNT() as count;
مقدار درست برنمیگرده و صفر برمیگرده همیشه
درستش این میشه:
DECLARE Count_ int unsigned;
...
اگه داخل پروسیجر پدری از ترنسکشن استفاده کنیم، درصورتی که پروسیجرهای
فرزند(پروسیجرهایی که داخل ترنسکشن پروسیجر اول کال شدن) هم از ترسنکشن
داخلشون استفاده شده باشه، ترسنکشن پروسیجر پدر از بین میره و اگه
خطایی این وسط رخ بده رول بکی انجام نمیشه!
برای حل مشکل باید به ازای اون پروسیجر هایی که قراره داخل پروسیجرهای
دیگه هم کال بشن، دو تا پروسیجر بنویسیم(مثلا یکیشو با همون اسم ولی
آخرش _ میذاریم) که یکیش داخلش هیچ ترنسکشنی استفاده نشده(اونی که
آخرش _ داره) و توی پروسیجرهای دیگه کال میشه
پروسیجر دوم(بدون _) میاد اولی رو داخلش کال میکنه بهمراه ترنسکشن
و فقط هم بطور مستقل استفاده خواهد شد نه داخل پروسیجر های دیگه
تو استفاده از
SP_Separate_Numeric_Values
یه باگی وجود داره، باگش اینه که وقتی توی یه پروسیجر
ازش استفاده میشه، وقتی توی اون پروسیجر،
پروسیجر های دیگه ای هم کال شده باشه که توی اونها هم از
SP_Separate_Numeric_Values
استفاده شده، مقادیر تیبل
Numeric_Values
برای پروسیجر پدر از بین میره..برای حل این مشکل باید مقادیر
Numeric_Values
@amirhosseindz
amirhosseindz / SP_Separate_Numeric_Values
Last active March 12, 2019 14:10
convert comma separated integers into a temporary table called "Numeric_Values"
CREAT PROCEDURE SP_Separate_Numeric_Values(IN P text)
BEGIN
DECLARE Tmp TEXT(1000);
DECLARE I Int;
Set I = 1;
Set Tmp = '';
DROP TEMPORARY TABLE if exists Numeric_Values;
CREATE TEMPORARY TABLE Numeric_Values (
`Number` bigint
);
@amirhosseindz
amirhosseindz / png_to_vector.md
Last active March 6, 2019 14:29
png to vector

install autotrace on server :

yum install autotrace

assume a base64 png string named "image" posted to server with only black and white colors(white background) :

$data = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $_POST['image']));

$dir = __DIR__;
@amirhosseindz
amirhosseindz / 0.README.md
Created April 22, 2018 08:08 — forked from agentcooper/0.README.md
Telegram chat backup/export

How to use

  1. Login to https://web.telegram.org
  2. Copy-paste contents of telegram-scripts.js into JS console
  3. Run showContacts() to get the list of contacts with ids
  4. Run saveChat(userId) where userId is the id from step 3

Process can take a while, check console for progress. Occasionall FLOOD_WAIT errors are expected. Once done, browser will download the JSON file.

Motivation