Skip to content

Instantly share code, notes, and snippets.

View yetimdasturchi's full-sized avatar
👨‍💻
Fisting code

Manuchehr Usmonov yetimdasturchi

👨‍💻
Fisting code
View GitHub Profile
yyyy-mm-dd: /^((((19|[2-9]\d)\d{2})\-(0[13578]|1[02])\-(0[1-9]|[12]\d|3[01]))|(((19|[2-9]\d)\d{2})\-(0[13456789]|1[012])\-(0[1-9]|[12]\d|30))|(((19|[2-9]\d)\d{2})\-02\-(0[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))\-02\-29))$/g
yyyy/mm/dd: /^((((19|[2-9]\d)\d{2})\/(0[13578]|1[02])\/(0[1-9]|[12]\d|3[01]))|(((19|[2-9]\d)\d{2})\/(0[13456789]|1[012])\/(0[1-9]|[12]\d|30))|(((19|[2-9]\d)\d{2})\/02\/(0[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))\/02\/29))$/g
mm-dd-yyyy: /^(((0[13578]|1[02])\-(0[1-9]|[12]\d|3[01])\-((19|[2-9]\d)\d{2}))|((0[13456789]|1[012])\-(0[1-9]|[12]\d|30)\-((19|[2-9]\d)\d{2}))|(02\-(0[1-9]|1\d|2[0-8])\-((19|[2-9]\d)\d{2}))|(02\-29\-((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/g
mm/dd/yyyy: /^(((0[13578]|1[02])\/(0[1-9]|[12]\d|3[01])\/((19|[2-9]\d)\d{2}))|((0[13456789]|1[012])\/(0[1-9]|[12]\d|30)\/((19|[2-9]\d)\d{2}))|(02\/(0[1-9]|1\d|2[0-8])
@yetimdasturchi
yetimdasturchi / simple_chace.php
Created July 14, 2023 13:39
Simple cache system in php
<?php
function write_file( $path, $data, $mode = 'wb') {
if ( ! $fp = @fopen( $path, $mode ) ) return FALSE;
flock( $fp, LOCK_EX );
for ( $result = $written = 0, $length = strlen( $data ); $written < $length; $written += $result ) {
if ( ( $result = fwrite( $fp, substr( $data, $written ) ) ) === FALSE ) break;
}
@yetimdasturchi
yetimdasturchi / parse.js
Last active July 10, 2023 20:24
Parse javascript function from json string
if (typeof String.prototype.parseFunction != 'function') {
String.prototype.parseFunction = function () {
var funcReg = /function *\(([^()]*)\)[ \n\t]*{(.*)}/gmi;
var match = funcReg.exec(this.replace(/\n/g, ' '));
if(match) {
return new Function(match[1].split(','), match[2]);
}
return null;
@yetimdasturchi
yetimdasturchi / pp_increment.php
Created March 25, 2023 23:40
Codesample for explain pre and post increments
<?php
function pre( &$y ) {
$y = $y + 1;
return $y;
}
function post( &$y ) {
$old = $y;
$y = $y + 1;
@yetimdasturchi
yetimdasturchi / github_webhook.php
Created February 13, 2023 07:36
Github webhook to telegram bot.
<?php
$token = "TOKEN"; //Telegram bot token
$chats = ['12345', '12345']; //Array of telegram chats to send a message
function send_request( $content = [] ){
$url = "https://api.telegram.org/bot{$GLOBALS['token']}/sendMessage";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
@yetimdasturchi
yetimdasturchi / fake.sh
Last active December 7, 2022 23:05
rm alternativ
#!/bin/bash
for (( i=0; i <= 1000; ++i ))
do
tmpfile=$(mktemp /tmp/fake/abc-script.XXXXXXXXXXXXXXXXXXXXXXXXXX)
dd if=/dev/urandom of=$tmpfile bs=1M count=$(expr 1 + $RANDOM % 3)
done
@yetimdasturchi
yetimdasturchi / cbu_exchange.php
Created August 11, 2022 15:45
Markaziy bank kurs valyutalari uchun parser
<?php
function parse_cbu_exchange(){
$data = [];
$html = @file_get_contents('https://cbu.uz/oz/arkhiv-kursov-valyut/');
preg_match( "/<table class=\"table table-lined table_currency\">(.*?)<\/table>/isu" , $html , $matches);
if (!empty($matches[0])) {
preg_match_all("/<tr>(.*?)<\/tr>/isu", $matches[0], $tr);
if(!empty($tr[0])){
foreach ($tr[0] as $t) {

Telegram chat botni linux shell orqali boshqarish

Curl kengaytmasini o'rnatish

Debian:

sudo apt install curl

Arch:

#include "PS2Mouse.h"
int clicked = 0;
a mouse(6,5); //clock, data
void setup(){
Serial.begin(9600);
while(!Serial);
mouse.begin();
}
@yetimdasturchi
yetimdasturchi / birnarsa.md
Last active June 28, 2022 20:01
PHP asosida yozilgan dasturlash tili

Birnarsa dasturlash tili

Birnarsa dasturlash tili php asosida ishlab chiqilgan bo'lib ekranga matn chop etish uchun foydalaniladi. Unda atiga chopet, yangiqator funskiyalari mavjud xolos.

Kod namunasi

chopet "Salom dunyo"
yangiqator
chopet "dunyo"