سورس PHPStan نسخه ۱.۰ رو خواستید بخونید:
https://github.com/phpstan/phpstan/tree/0.1/src
نسخههای بعدیش پیچیده میشه و خوندنش مشکله.
https://github.com/phpstan/phpstan/tree/0.1/src
نسخههای بعدیش پیچیده میشه و خوندنش مشکله.
GitHub
phpstan/src at 0.1 · phpstan/phpstan
PHP Static Analysis Tool - discover bugs in your code without running it! - phpstan/phpstan
👍2
گول این پکیجفروشهای اینستاگرام رو نخورید. تنها راه میلیاردرشدن یه برنامهنویس اینه که روزها کد بزنه، شبها بانک.
😁7
package main
import (
"context"
"fmt"
"strings"
"time"
"github.com/redis/go-redis/v9"
)
var ctx = context.Background()
var rdb *redis.Client
func main() {
rdb = redis.NewClient(&redis.Options{
Addr: "localhost:6379",
Password: "",
DB: 0,
})
Listen()
}
func Listen() {
val, err := rdb.BLPop(ctx, 0, "jobs").Result()
if err != nil {
panic(err)
}
fmt.Println(Mask(val[1]))
Listen()
}
func Mask(str string) string {
time.Sleep(time.Second * 5)
return strings.Repeat("*", len(str))
}
یه صف ساده با Go/Redis نوشتم. ☺️🙄
🔥2👍1
توی MySQL یه چیز داریم generated column. هم میشه یه فیلد داخل json رو index کرد و هم میشه از اون فیلد داخل json یه generated column ساخت:
https://planetscale.com/blog/indexing-json-in-mysql
ALTER TABLE activity_log ADD COLUMN email VARCHAR(255)
GENERATED ALWAYS as (properties->>"$.request.email");
https://planetscale.com/blog/indexing-json-in-mysql
❤1👍1
یه تیبل ساختم، بالای یه میلیون رکورد اضافه کردم و کوئری زدم:
نتیجه این کوئری توی 0.0424 ثانیه برگشت که عدد قابل ملاحظهایه. بعد یه index روی ستون name اضافه کردم (این کار مقداری زمان برد، چون با اضافهکردن ایندکس یه کپی از بخشی از دیتای ما گرفته میشه؛ راجع به B-Tree بخونید) و مجددا همون کوئری رو اجرا کردم و این بار 0.0007 ثانیه طول کشید که نتیجه برگرده.
در حالت دوم، فقط و فقط 461 سطر رو درگیر کردیم تا دیتای مورد نظر رو پیدا کنیم!
اینجا هم حتی بدون ایندکس، زمان اجرای کوئری به شکل چشمگیری کمتر میشه. هرچی رکوردها بیشتر باشه، این تفاوت چشمگیرتره.
SELECT * FROM `users` WHERE name = 'Faye';
نتیجه این کوئری توی 0.0424 ثانیه برگشت که عدد قابل ملاحظهایه. بعد یه index روی ستون name اضافه کردم (این کار مقداری زمان برد، چون با اضافهکردن ایندکس یه کپی از بخشی از دیتای ما گرفته میشه؛ راجع به B-Tree بخونید) و مجددا همون کوئری رو اجرا کردم و این بار 0.0007 ثانیه طول کشید که نتیجه برگرده.
در حالت دوم، فقط و فقط 461 سطر رو درگیر کردیم تا دیتای مورد نظر رو پیدا کنیم!
SELECT id, name FROM `users` WHERE name = 'Faye';
اینجا هم حتی بدون ایندکس، زمان اجرای کوئری به شکل چشمگیری کمتر میشه. هرچی رکوردها بیشتر باشه، این تفاوت چشمگیرتره.
🔥4
زدم:
بعد این خط رو اضافه کردم:
حالا وقتی توی ترمینال بزنم pma، اتوماتیک هم PHPMyAdmin رو ران میکنه و هم توی براوزرم باز میشه. :)
nano ~/.bashrc
بعد این خط رو اضافه کردم:
alias pma='xdg-open http://127.0.0.1:8001 && php -S 127.0.0.1:8001 -t /home/dreamweaver/phpmyadmin'
حالا وقتی توی ترمینال بزنم pma، اتوماتیک هم PHPMyAdmin رو ران میکنه و هم توی براوزرم باز میشه. :)
👍1🔥1
-- All the rows, everybody knows that!
SELECT COUNT(*) FROM users;
-- How many developers each company has.
SELECT company_id, COUNT(*) FROM `users` GROUP BY company_id;
-- How many verified users we have. (=not null values)
SELECT COUNT(verified_at) as verified_users FROM users;
-- How many languages should we support?
SELECT COUNT(DISTINCT language) FROM users;
👍3
اگه یه خلاصه درباره نسخههای مختلف PHP خواستید، این رو بخونید:
https://www.cloudways.com/blog/php-version-history/#:~:text=A.,with%20minor%20releases%20and%20updates.
https://www.cloudways.com/blog/php-version-history/#:~:text=A.,with%20minor%20releases%20and%20updates.
The Official Cloudways Blog
PHP Version History: Brief Timeline of World’s Most Used Back-end Language [INFOGRAPHICS]
Here’s the brief timeline showing how PHP emerged as one of the world’s most used back-end language over the years.
👍2