Dev Perfects – Telegram
Dev Perfects
40 subscribers
9.23K photos
1.26K videos
468 files
13K links
بخوام خیلی خلاصه بگم
این کانال میاد مطالب کانالای خفن تو حوزه تکنولوژی و برنامه نویسی رو جمع میکنه

پست پین رو بخونید
https://news.1rj.ru/str/dev_perfects/455


ارتباط:
https://news.1rj.ru/str/HidenChat_Bot?start=936082426
Download Telegram
Forwarded from Geek Alerts
This media is not supported in your browser
VIEW IN TELEGRAM
اینجا می‌تونید صدای Grok رو در چهار حالت پیش‌فرض، رمانتیک، Not a Therapist و «دکتر گراک» بشنوید. البته صرفاً به این‌ها محدود نمی‌شه و عملاً بعضی حالت‌هاش بدون سانسوری هر حرفی رو می‌زنن. درحال حاضر برای بعضی از کاربران iOS اشتراک پریمیوم‌پلاس در دسترس هست.

🔗techdevnotes
🤓hadi @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
خب خب خب ارایه ها

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

چطوری یه آرایه بسازیم؟ 🤔
تو بیشتر زبان‌های برنامه‌نویسی، آرایه‌ها باید نوع داده‌ی یکسانی داشته باشن و معمولا موقع تعریف، نوع داده‌شون مشخص می‌شه. اما تو پایتون این محدودیت وجود نداره و می‌تونیم آرایه‌ای کاملا داینامیک بسازیم:
my_array = [] # آرایه خالی در پایتون 

مثال از C/C++:
int my_array[4]; // آرایه‌ای از ۴ عدد صحیح 

در واقع، لیست‌های پایتون جایگزینی برای آرایه‌ها هستن ولی برای راحتی، بهشون آرایه می‌گیم.

چطور به داده‌های آرایه دسترسی داشته باشیم؟ 👀
در بیشتر زبان‌ها این کار خودکار هندل می‌شه و می‌تونیم به کمک ایندکس داده‌ی موردنظرمون رو بخونیم:
my_array = [1, 2, 3]
print(my_array[2]) # خروجی: 3

ولی به‌طور کلی، آدرس یک عنصر در حافظه این‌جوری حساب می‌شه:
Loc = (سایز هر عنصر × ایندکس) + آدرس شروع آرایه

چطور مقدار آرایه رو تغییر بدیم؟ 🔄

🔹 اضافه کردن مقدار جدید:
my_array.append(4) # اضافه کردن مقدار ۴ به آخر آرایه 

🔹 حذف مقدار خاصی از آرایه:
del my_array[2] # حذف مقدار سوم آرایه

🔹 تغییر مقدار یک خانه:
my_array[0] = 6 # مقدار اولین عنصر رو ۶ می‌کنیم 

سرعت اجرای عملیات‌ها

🔹 خواندن یک مقدار از آرایه:
دسترسی به آرایه‌ها با توجه به فرمول بالا O(1) یعنی ثابت هست، چون مستقیماً به آدرسش توی حافظه دسترسی داریم و با تغییر تعداد داده ها هیج تغییری ایجاد نمیشه.

🔹 اضافه و حذف کردن مقدار:
اگر مقدار رو به آخر آرایه اضافه یا حذف کنیم → O(1)
ولی اگر بخوایم مقدار رو از وسط یا اول آرایه حذف کنیم یا جابه‌جا کنیم، باید همه‌ی مقدارهای بعدی هم جابجا شن که وابسته به تعداد ایتم هامون هست و هر چی بیشتر باشه سرعت پایینتری داریم → O(n)

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

#️⃣ #programming #software



🥷 CHANNEL | GROUP
تمپلیت ناکست برای Telegram Mini App
یه سری تغییر باید توی فایل جی اسی که استفاده میکنید برای مینی اپ بدید، که ردیفش کردم و به عنوان تمپلیت براش ریپو ساختم.

دونیشن به من روی شبکه TON
blackestwhite.ton

@DevTwitter | <Mahdi Akbari/>
تمپلیت ناکست برای Telegram Mini App
یه سری تغییر باید توی فایل جی اسی که استفاده میکنید برای مینی اپ بدید، که ردیفش کردم و به عنوان تمپلیت براش ریپو ساختم.

https://github.com/blackestwhite/nuxt-telegram-mini-app-template

@DevTwitter | <Mahdi Akbari/>
Forwarded from Codino School (ایمان غفوری)
شایدم تنبلی خودم هست، الکی ربطش ندیم به ازدواج
ولی قطعا فشار مسائل مالی که بیشتر بشه آدم مجبور میشه از فعالیت هایی که بیشتر جنبه علاقه داشته به مرور فاصله بگیره
تشکیل دادن یک خانواده و زندگی جدید به راحتی فشار یک دکمه نیست.

ایشالا از این مقطع حساس کنونی گذر کردیم دوباره در خدمت عزیزان باشیم

@codino
خب وقتشه از پورتفولیو خودم رو نمایی کنم.صفرتا صد کدشو با vanilla js زدم.
اگ یکم کثیفه به بزرگی خودتون ببخشید من تو فرانت خیلی جونیورم.
لینک دمو : https://srwuix.ir
لینک ریپازیتوری:
https://github.com/srwuix/srwuix.github.io.git
بهتون اجازه میدم از این قالب استفاده کنید برا پورتفولیو خودتون

@DevTwitter | <اراجیف ذهن گوربا/>
Forwarded from Linuxor ?
This media is not supported in your browser
VIEW IN TELEGRAM
با اکستنشن Continue می‌تونین از مدل آفلاین دیپ سیک توی کد زدن استفاده کنید :

کافیه این مدل دیپ سیک که مخصوص کد زدنه رو دانلود کنید (در حد GPT4-Turbo هستش) :

ollama run deepseek-coder-v2:16b

بعد اکستنشن Continue رو یا روی VsCode یا JetBrains نصب کنید برین توی این لینک آموزش نصبش توی بخش Install و Model Setup هست :

docs.continue.dev


@Linuxor
اگر دارید C++ یاد میگیرید و نیاز دارید پروژه های تمرینی داشته باشید و کار کنید
یک پروژه مبتدی مدریت فایل رو نوشتم که میتونید دسترسی به سورس اش داشته باشید

https://github.com/MisaghMomeniB/File-Manager-Cpp

@DevTwitter | <Misagh Momeni Bashusqeh/>
Forwarded from Gopher Academy
https://antonz.org/go-concurrency/

antonz.org
Gist of Go: Concurrency
Interactive book on concurrent programming with many exercises.


https://news.1rj.ru/str/addlist/KpzXaiSpKENkMGM0
Forwarded from Codino School (ایمان غفوری)
Forwarded from Codino School (ایمان غفوری)
Forwarded from Codino School (ایمان غفوری)
چند تام عکس دامادی براتون بذارم عشق کنید فعلاً...
Forwarded from Linuxor ?
بیاین فرهنگ کد جایز الخطاست رو جا بندازیم


@Linuxor
Forwarded from ~Loveaвle
با برنامه نویسا ازدواج کنید؛
اینا وقتی میتونن با کلی باگ و ارورهای مختلف کنار بیان، قطعا با شما هم کنار میان 😁

@luvablee
چرا میگن بگیم "گنو/لینوکس" و نگیم "لینوکس"؟

با یه پست جدید در خدمتتونیم 😊
یکی از صحبت‌هایی که همیشه بین حرفه‌ای و تازه‌کارا شکل می‌گیره اینه که نباید بگیم

لینوکس بلکه باید بگیم گنو/لینوکس.
خب چرا؟
بیاید برگردیم به 1983، زمانی که گنو (GNU) به عنوان یه پروژه اوپن سورس توسط ریچارد استالمن ایجاد شد. هدف اصلیشونم ساخت سیستم عاملی بود که سورس کد مشخص داشته باشه همچنین متن باز، آزاد، سریع و ایمنی باشه.
پروژه گنو شروع کرد به ساختن بخش‌های مختلف سیستم عامل، و خیلی از ابزارها و چیزای مهمی که هنوز بسیار بسیار مهم هستن، مثلا GCC، Bash، emacs، coreutils
اینایی که گفتیم چنتا نمونه از چیزایی بودن که پروژه گنو ساخت.
مثلا coreutils کامندها و دستورات بیسیکی کار با فایل‌ها رو شامل میشه. کامند ls و cp و rm و ... از همین coreutils هستن.
خلاصه که خیلی چیزا ساختن، ولی همچنان یه مشکلی بود...
کرنل که عملا هسته سیستم عامل بود رو نداشتن و کرنل‌های موجود رو هم استفاده نکردن به دلایل دیگه.

میرسیم به 1991، یه دانشجوی فنلاندی به اسم لینوس توروالدز میاد و یه کرنل میسازه و توجه پروژه گنو جمع میشه به این کرنل، یه کرنل اوپن سورس و رایگان که همین قضیه هم باعث میشه جای خالی کرنل توسظ لینوکس پر بشه.

وایسا ببینم، مگه لینوکس سیستم عامل نبود؟
خب باید بگم نه :)))
لینوکس در اصل یه کرنله.

در نهایت ابزارهای گنو و کرنل لینوکس ترکیب میشن و گنو/لینوکس متولد میشه.
با ترکیب این دوتا، اولین توزیع گنو/لینوکسی به وجود میاد تو سال 1993 و اسمشم میشه Slackware
احتمالا خیلیا نمیشناسنش ولی یه نام آشنا در همین زمان به وجود میاد که قطعا میدونم میشناسید :)

و دبیان متولد میشه 😄
پس اگر بگیم لینوکس، عملا داریم بخش عظیمی از سیستم عامل رو که گنو تشکیل میده رو زیر سوال میبریم و بیخیال زحماتش میشیم.
یه سوال دیگه هم پیش میاد:

چرا گنو خودش کرنل ننوشت؟
در اصل گنو هم یه کرنل داره!!
یه میکرو کرنل به اسم Mach که فانکشنالیتی‌های اصلی و هسته رو انجام میده و hurd هم در اصل چیزای high level تر رو انجام میده.

اما خب باید بگم که اگه پشت گوشتون رو دیدید کرنل کامل hurd رو هم خواهید دید 😁
حدود 30 ساله که داره توسعه پیدا میکنه و هنوزم بدرد استفاده نمیخوره و جای کار داره.
و این بود داستان توسعه لینوکس، گنو، و قضیه نامگذاری گنو/لینوکس که بهش پرداختیم.

امیدوارم روز و شب خوبی داشته باشید
با یه قلب خوشگل خوشحالمون کن 🫡❤️

#⃣#gnome #linux



🐧 CHANNEL | GROUP
#کوته_نیوز

لاراول 12 ول داده شد.
گفتن که این نسخه دولوپر دوست‌ترین نسخه‌ی لاراوله و کمترین تغییرات مخرب رو داره.
Laravel-12.0.0-no_begaei

@DevTwitter
اگر همیشه دنبال لینک‌ها و بوکمارک‌ها توی پروژه‌ها یا زندگی شخصی‌تون می‌گردید، Linkcovery رو چک کنید!

یه ابزار ساده و کاربردی برای مطالعه و ذخیره لینک‌ها که کمک می‌کنه همه چی رو مرتب و سریع پیدا کنید!

کدها رو ببینید و استفاده کنید:
GitHub
PyPI
https://github.com/arian24b/linkcovery
https://pypi.org/project/linkcovery/

@DevTwitter | <𝓐𝓻𝓲𝓪𝓷/>