Syntax | سینتکس – Telegram
Syntax | سینتکس
خب طبق نظر اکثر دوستان بیشتر محتواهامونو میبریم سمت: تجربیات تو یه پروژه واقعی چی میگذره؟ چیزهایی که تو آموزش ها بهش کمتر توجه شده خیلی خوشحال میشم شما دوستان باسواد تر و یا حتی تازه کار، چالش ها و مسائلی که داشتید رو تو پیوی بنده یا گروه بگید تا توی کانال…
بریم سراغ یکی از چالش های جالب

فرض کنید ما یک شبکه اجتماعی به اسم سینتکس گرام داریم
تو اپلیکیشن ما، کاربران میتونن فایل هاشونو با بقیه کاربر ها به اشتراک بذارن

چالش:
اگه یکی از کاربر ها یک فایلی رو آپلود کرد و یک یا چند کاربر دیگم همون فایل رو آپلود کنن، برای جلوگیری از ذخیره یک فایل تکراری، چه راه حلی دارید؟
بنظرتون اصلا نیازه راه حلی برای این شرایط داشته باشیم یا اینکه فایل های تکراری رو هم ذخیرش کنیم؟

#challenge

@Syntax_fa
👍6
ترب واچر

بریم سراغ معرفیه یه ابزار باحال

تو این وب سایت میتونید برید لینک محصولی که توی ترب هستش رو بدید و مشخص کنید که اگه به فلان قیمت رسید بهتون از طریق نوتیف اطلاع بده:
https://watcher.falconhub.ir/

از این ایده های باحال پیاده کردید، بدید بذارم تو کانال 😁

حمید حسینی:
https://news.1rj.ru/str/h4mid_hosseini

@Syntax_fa
🔥7👍4
جدیدا فیلترینگ نسبت به قبل شدید تر شده

دیگه چه از نظرتون خوب باشه چه بد ممکنه برای دسترسی به اینترنت آزاد به خرید وی پی ان رو بیارید.

اگه خواستید اشتراک بخرید حداقل از یکی بخرید که کارتون راه بیوفته

خودم از این کانال تهیه کردم(پرداخت با ارز دیجیتال هم قبول میکنه):
https://news.1rj.ru/str/fateh_network

(تو کامنت بگید خودتون این روزا چیکار میکنید. اگه پیشنهاد و روشی دارید حتما بگید)
👍10👎1🔥1
آموزش پکیج django-debug-toolbar


پکیج django-debug-toolbar یک ابزار قدرتمند برای دیباگ کردن وب‌اپلیکیشن‌های Django است. این ابزار اطلاعات مفصلی در مورد درخواست‌ها، پاسخ‌ها، قالب‌ها، پرس‌وجوهای SQL و موارد دیگر ارائه می‌دهد که می‌تواند به شما در یافتن و رفع اشکالات در کد Django شما کمک کند.

نصب django-debug-toolbar

برای نصب django-debug-toolbar، باید مراحل زیر را انجام دهید:

پکیج را با pip نصب کنید:
pip install django-debug-toolbar
پکیج را در فایل settings.py خود اضافه کنید:
INSTALLED_APPS = [
    # ...
    'debug_toolbar',
]

MIDDLEWARE = [
    # ...
    'debug_toolbar.middleware.DebugToolbarMiddleware',
]

INTERNAL_IPS = [
    # ...
    "127.0.0.1",
    # ...
]

سرور وب خود را مجدداً راه‌اندازی کنید.

استفاده از django-debug-toolbar

پس از نصب django-debug-toolbar، یک نوار ابزار در بالای صفحه نمایش شما ظاهر می شود. این نوار ابزار شامل تعدادی پنل است که اطلاعات مختلفی در مورد درخواست فعلی را نشان می دهد.

برای مشاهده اطلاعات بیشتر در مورد یک پنل، می توانید روی آن کلیک کنید. به عنوان مثال، اگر روی پنل "SQL Queries" کلیک کنید، لیستی از تمام پرس و جوهای SQL که برای پردازش درخواست اجرا شده اند را مشاهده خواهید کرد.

پکیج django-debug-toolbar همچنین شامل تعدادی ابزار مفید دیگر است، مانند:

خطایاب قالب: این ابزار به شما امکان می دهد کد قالب Django خود را گام به گام اشکال زدایی کنید.
پروفیلر: این ابزار به شما امکان می دهد عملکرد کد Django خود را پروفایل کنید.
کنسول: این ابزار به شما امکان می دهد کد Python را در محیط تعاملی اجرا کنید.

نکته:
تنطیماتشو جوری انجام بدید که تو حالت Debug == false میدلور و کلا پکیجه کانفیگ نشه چون نیاز ندارید بهش

[@Awmirsn]

#django

@Syntax_fa
👍6🔥1
جستجوی دودویی

الگوریتم جستجوی دودویی تکنیکی است برای یافتن یک مقدار عددی از میان مجموعه‌ای از اعداد مرتب. این متد محدودهٔ جستجو را در هر مرحله به نصف کاهش می‌دهد، بنابراین هدف مورد نظر یا به زودی پیدا می‌شود یا مشخص می‌شود که مقدار مورد جستجو در فهرست وجود ندارد.

جستجوی دودویی فقط در آرایه‌های مرتب استفاده می‌شود. در این روش عنصر مورد نظر با خانه وسط آرایه مقایسه می‌شود اگر با این خانه برابر بود جستجو تمام می‌شود اگر عنصر مورد جستجو از خانه وسط بزرگتر بود جستجو در بخش بالایی آرایه و در غیر این صورت جستجو در بخش پایینی آرایه انجام می‌شود (فرض کرده‌ایم آرایه به صورت صعودی مرتب شده‌است) این رویه تا یافتن عنصر مورد نظر یا بررسی کل خانه‌های آرایه ادامه می‌یابد.

مثال:
package main

import (
    "errors"
    "fmt"
)

func main() {
    list := []int{1, 2, 3, 6, 7, 8, 10, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 29, 33}
    index, err := binary_search(list, 10)
    if err != nil {
        fmt.Println(err.Error())
        return
    }
    fmt.Printf("index: %d", index)
}

func binary_search(list []int, item int) (int, error) {
    low := 0
    hight := len(list) - 1
    for low <= hight {
        mid := (low + hight) / 2
        guess := list[mid]
        if guess == item {
            return mid, nil
        } else if guess < item {
            low = hight - mid
        } else {
            hight = mid + 1
        }
    }
    return 0, errors.New("number not found")
}

#binary_search

@Syntax_fa
👍10
This media is not supported in your browser
VIEW IN TELEGRAM
یکم از کد فاصله بگیریم

برید سریال طلسم شدگانو ببینید کلی بخندید😂

(فقط حتما دوبله فارسی ببینید و سانسور نشده)
😁5
کپشن با شما

#fun

@Syntax_fa
🤣12
سوال:
چجوری سی پی یو، نوع دیتایی که توی memory ذخیره کردیم رو، به درستی شناسایی می کنه؟

#Question

@Syntax_fa
👍5
Syntax | سینتکس
سوال: چجوری سی پی یو، نوع دیتایی که توی memory ذخیره کردیم رو، به درستی شناسایی می کنه؟ #Question @Syntax_fa
بیایید این موضوع رو با جزئیات بیشتری بررسی کنیم.

### مفهوم نوع داده

در زبان‌های برنامه‌نویسی، نوع داده‌ها (Data Types) به ما کمک می‌کنند تا مشخص کنیم که یک تکه از حافظه باید چگونه تفسیر و استفاده شود. به عنوان مثال، یک نوع داده می‌تواند عدد صحیح، عدد اعشاری، کاراکتر، رشته یا هر نوع داده دیگری باشد.

### نقش برنامه‌نویس

برنامه‌نویس هنگام نوشتن کد، نوع داده‌ها را تعریف می‌کند. برای مثال در زبان C، شما می‌توانید یک عدد صحیح را اینگونه تعریف کنید:

int a = 10;


در اینجا int بیانگر این است که متغیر a یک عدد صحیح است.

### نقش کامپایلر

کامپایلر نقش مهمی در ترجمه کد برنامه‌نویس به کد ماشین (که توسط سی پی یو قابل فهم است) دارد. کامپایلر نوع داده‌ها را از کد منبع (Source Code) می‌خواند و بر اساس آن دستورات مناسب را تولید می‌کند. این دستورات شامل عملیات‌هایی مانند جمع، تفریق، ضرب و تقسیم برای اعداد صحیح، یا عملیات‌های دیگری برای انواع داده‌های مختلف است.

### نقش حافظه

حافظه (RAM) فقط مجموعه‌ای از بیت‌ها است. حافظه نوع داده‌ها را نمی‌داند؛ فقط داده‌ها را ذخیره و بازیابی می‌کند. این برنامه‌نویس و کامپایلر هستند که مشخص می‌کنند چگونه باید به این بیت‌ها نگاه کرد و آنها را تفسیر کرد.

### نقش سی پی یو

سی پی یو دستورات کامپایل شده را اجرا می‌کند. سی پی یو فقط بیت‌ها را می‌بیند و نوع داده‌ها برای آن معنایی ندارد. به عنوان مثال، اگر سی پی یو دستور ADD را دریافت کند، دو تکه از داده‌ها (که می‌تواند اعداد صحیح، اعشاری یا هر نوع دیگری باشند) را جمع می‌کند. سی پی یو اهمیتی نمی‌دهد که این داده‌ها چه نوعی دارند، فقط دستور را اجرا می‌کند.

### مثال عملی

فرض کنید شما یک برنامه ساده دارید که دو عدد صحیح را در حافظه ذخیره می‌کند و آنها را جمع می‌کند.

1. تعریف متغیرها:
    int a = 5;
int b = 10;


2. کامپایل کد:
کامپایلر این کد را به دستوراتی تبدیل می‌کند که سی پی یو می‌تواند اجرا کند. این دستورات می‌توانند به شکل زیر باشند (به زبان ماشین):
    MOV eax, [a]   ; بارگذاری عدد اول در ثبات eax
ADD eax, [b] ; افزودن عدد دوم به eax


3. اجرای دستورات توسط سی پی یو:
سی پی یو این دستورات را اجرا می‌کند. در اینجا، MOV و ADD دستورات ساده‌ای هستند که سی پی یو را راهنمایی می‌کنند تا داده‌ها را از حافظه بارگذاری کرده و آنها را جمع کند.

### نتیجه

سی پی یو به خودی خود نوع داده‌ها را شناسایی نمی‌کند. این برنامه‌نویس است که نوع داده‌ها را تعریف می‌کند و کامپایلر است که این اطلاعات را به دستورات قابل فهم برای سی پی یو تبدیل می‌کند. حافظه فقط داده‌ها را به صورت بیت ذخیره می‌کند و سی پی یو این بیت‌ها را بدون توجه به نوع آنها پردازش می‌کند. بنابراین، مدیریت صحیح نوع داده‌ها بر عهده برنامه‌نویس و کامپایلر است.

### خلاصه

- برنامه‌نویس: نوع داده‌ها را در کد منبع تعریف می‌کند.
- کامپایلر: کد منبع را تجزیه و تحلیل کرده و دستورات مناسب برای سی پی یو تولید می‌کند.
- حافظه: داده‌ها را به صورت بیت ذخیره می‌کند و نوع داده‌ها را نمی‌داند.
- سی پی یو: دستورات را اجرا می‌کند و بیت‌ها را بدون توجه به نوع آنها پردازش می‌کند.

#data_types

@Syntax_fa
👍12
وقتی یه برنامه نویس میره تفریح ولی باید تو سرور یچیزیو درست کنه😔

#fun

@Syntax_fa
💔17
main.pdf
153.9 KB
دوستان اگه برای پروژه هاتون فرانت کار نیاز داشتید این دوستمون رو حتما در نظر بگیرید.
(برید نمونه کارای رزومشو ببینید تا پی ببرید چقدر کارش خوبه)

ایدی تلگرام:
@Alivolley
🔥8👍1
یه سایتی هست به نام #ناکامولوژی که میاد استارتاپ هایی که شکست خوردن رو کامل معرفی میکنه و علت شکست رو هم عنوان میکنه👌 میتونه برای مقابله با خوش بینی بیش از حد و انتخاب مسیر درست خیلی کمک کننده باشه. اینکه صرفا چشممون به استارت آپ های قوی نره و فکر نکنیم فقط شروع کردن مهمه!🤔 خیلی چیزا هست که میتونه یه پروژه خیلی قوی رو زمین بزنه💥 خوندن داستان های شکست به اندازه ی خوندن داستان های موفقیت ضروریه!

https://nakamology.ir/

link

#introduction

@Syntax_fa
👍14
مدحج:
همستر کوچیک شده ی نات کوینه

#fun

@Syntax_fa
😁38👍2👎1
solid-book-v1.0.5.pdf
3.4 MB
کتاب فارسی پنج اصل SOLID

سولید ( SOLID ) یک کلمه مخفف برای پنچ اصل اولیه طراحی شئ گرا است که رابرت سیسیل مارتین معروف به عمو باب ( uncle bob ) اون رو مطرح کرد.

این اصول زمانی که دست به دست هم میدن، کار گسترش یا اضافه کردن قابلیت های جدید به برنامه و نگهداری و دیباگ یک برنامه رو برای برنامه نویس ها آسان می کنند.

#book

@Syntax_fa
🔥14👍5
🔥یه مقاله تازه و داغ در مورد scale کردن بکند با حداقل منابع روی سرور

خیلی نکات جالب و مهمی رو بهش اشاره میکنه، از جمله اینکه لازمه observability pipeline رو قبل از هر چیزی راه اندازی کنید که بتونید بر اساس داده و اطلاعات تصمیم گیری کنید. این نکته خیلی مهمی هست که ما خیلی وقت ها فراموش می کنیم.
وقتی مشکل performanceی داریم اول باید در مورد مشکل مون داده و اطلاعات جمع آوری کنیم. بعدش بریم سراغ اینکه حالا چطور مشکل رو حل کنیم.

مقاله جذابیه که در مورد موارد مختلفی برای بهینه سازی صحبت میکنه از connection pooling گرفته تا ایندکس دیتابیس و goroutine throttling

Scaling Backend to 1M requests with just 2GB ram ⚡️

https://dev.to/rikenshah/scaling-backend-to-1m-requests-with-just-2gb-ram-4m0c

@gocasts

@Syntax_fa

#backend #golang
7🔥2
اگه همکار شما بودم. چیکار میکردید؟ 😂

فقط اونجا که گفتم امروز(دوشنبه) تسکارو مشخص میکنم. شنبه هفته بعد شروع کنیم

#fun

@Syntax_fa
😁18👍2