Philocode – Telegram
جمال‌زاده می‌گه: هیچ جای دنیا تر و خشک را مثل ایران با هم نمی‌سوزانند!
#حق #حق #حق #حق #حق #حق #حق #حق
👍4
درست‌شدن لینوکسم رو به خودم و جامعه لینوکس ایران تبریک عرض می‌کنم. 😁

چند مدت پیش درایورهای کارت گرافیکم مشکل داشتند.
یه نرم‌افزار هم خواستم نصب کنم، دیسک رو پر کرد و کلا بالا نیومد.

مشکل دوم رو با recover mode و پاکسازی حل کردم. بعد دوباره درایور رو نصب کردم که دیدم نه، سیستم بوت نمی‌شه! دوباره recovery mode و اجرای دستور:
apt purge *nvidia*

تا درایور رو حذف کنم. این بار بالا اومد، ولی عملا نمی‌شد باهاش کار کرد. هر کاری کردم درایورهای nvidia نصب نشد که نشد.

راه‌حل؟ امروز روی ویندوز یه نرم‌افزار نصب کردم (easeus) برای دستکاری دیسک‌ها، و ۱۰ گیگ اضافی به دیسکی که اوبونتو روش نصب شده دادم. بعد اومدم این‌ور و کل پکیج‌ها رو آپدیت نمودم:
sudo apt update
sudo apt upgrade

بعد از ریستارت سیستم، دیدم این درایور برای گرافیکم نصب شده:
NV117 / Mesa Intel® HD Graphics 530 (SKL GT2)
که فعلا حوصله ندارم اون یکی کارت گرافیکم (که Nvidiaست) رو نصب کنم. دوباره مسخره‌بازی رو توی VSCode شروع کنیم. ایده جدید چی دارید بزنیم؟ 😍😂

* نکته: اگه اوبونتو نصب کردید و تار بود، باید wayland رو بردارید و به جاش xorg بشینه.
🤩2🔥1
امروز یه پسر دیوانه ایرانی از ظهر تا خود غروب توی یوتوب لایو نشسته که با Go سرور بازی بنویسه! من هشت‌ساعت پای سیستم بشینم و هیچ‌کاری هم نکنم خسته می‌شم، شماها چتونه؟
😁3
مدتیه که وارد یادگیری انگلیسی (B2/C1) شدم و چیزی که خیلی جالبه، اینه که مترادفات زیادی یاد می‌گیرید. دیگه لازم نیست بگید hate، چون یه سری کلمات نزدیک یا هم‌معنای دیگه براش هست که با استفاده‌کردنش ممکنه زبان‌بلدتر به نظر بیایید. البته این رو نباید توی تیم‌های کاری انجام داد چون وقتی افراد از کشورهای مختلف باشند و سطح زبانشون فرق کنه، استفاده از کلمات سطوح پایین‌تر تعامل بهتری به وجود میاره. یعنی مجبورید ساده‌تر حرف بزنید تا همه بفهمند.
I'm desperate for a cup of tea => I want coffee.
می‌دونم توی جمله اول چایی بود، ولی چون مجبور شدم ساده‌اش کنم به‌جاش قهوه خواستم. :))
👍5
اولین تجربه من با Tailwind 😍
5
Philocode
اولین تجربه من با Tailwind 😍
I think it got much adorable!
2🔥1
سورس PHPStan نسخه ۱.۰ رو خواستید بخونید:
https://github.com/phpstan/phpstan/tree/0.1/src

نسخه‌های بعدیش پیچیده می‌شه و خوندنش مشکله.
👍2
گول این پکیج‌فروش‌های اینستاگرام رو نخورید. تنها راه میلیاردرشدن یه برنامه‌نویس اینه که روزها کد بزنه، شب‌ها بانک.
😁7
پیشنهاددادن به کاربر Cli با فشاردادن Tab
🔥3
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 ساخت:
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
یه تیبل ساختم، بالای یه میلیون رکورد اضافه کردم و کوئری زدم:
SELECT * FROM `users` WHERE name = 'Faye';

نتیجه این کوئری توی 0.0424 ثانیه برگشت که عدد قابل ملاحظه‌ایه. بعد یه index روی ستون name اضافه کردم (این کار مقداری زمان برد، چون با اضافه‌کردن ایندکس یه کپی از بخشی از دیتای ما گرفته می‌شه؛ راجع به B-Tree بخونید) و مجددا همون کوئری رو اجرا کردم و این بار 0.0007 ثانیه طول کشید که نتیجه برگرده.
در حالت دوم، فقط و فقط 461 سطر رو درگیر کردیم تا دیتای مورد نظر رو پیدا کنیم!

SELECT id, name FROM `users` WHERE name = 'Faye';

اینجا هم حتی بدون ایندکس، زمان اجرای کوئری به شکل چشم‌گیری کمتر می‌شه. هرچی رکوردها بیش‌تر باشه، این تفاوت چشم‌گیرتره.
🔥4
زدم:
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