Code‌ Agha
197 subscribers
337 photos
20 videos
20 files
276 links
Here we are talking about computer science and the development of software and algorithms and..

Boost: https://t.me/boost/codeaghajcs
Coffie: https://www.coffeebede.com/codeagha
Github : https://github.com/AmirMahdyJebreily
Email : amirmahdyjdx@gmail.com
Download Telegram
📄 سینک پول در Go

- استخر یا pool یه روش بشدت کار آمد برای مدیریت حافظه هست (این سینک pool رو با pool worker اشتباه نکنید.)

- مثلا فرض کنید یه بافری رو از حافظه استفاده میکنین و بعد دیگه لازمش ندارین. حالا اگر دوباره یه بافر دیگه رو لازم داشته باشین هم اندازه همون بافر اولیه، اونوقد اون تیکه از حافظه بیکار میمونه و شما حافظه بیشتری رو اشغال میکنین و خیلی طول میکشه (تو مقیاس های اینطوری کامپیوتر) که GC خود زبان گو برگرده و اونجا رو درست کنه. راهش اینه که یه استخر از این آبجکت ها (مثل همین بافرمون) درست کنید و اون تیکه از حافظه رو به این استخر اختصاص بدین. و هر وقت خواستین هرچی خواستین ازش خارج کنید :

🔗 go and syncpool

#مقاله # آموزشی
@codeaghajcs
🤝2👍1
🐳 واقعیت سیستم عامل ها
👍1
AzadCast - E01
Unrivaledir
📣 قسمت ۱ پادکست آزاد
🗣️ در این قسمت در خصوص لینوکس ۶/۱۱، VirtualBox ۷٫۱، نکست کلود هاب ۹، PIN، اوبونتو ۲۴/۱۰، گنوم ۴۷، تلگرام، Aria2App، پیرتیوب ۶٫۳ و کازمیک صحبت کردیم.
💬 مثل همیشه پیشنهادات و انتقادات با آغوش باز استقبال خواهد شد.
💡 نکته: ضبط همین ۱۳ دقیقه با احتساب گردآوری اخبار و مطالعات و تبدیل به متن و تدوین و ... حدودا ۶-۷ ساعت طول کشید.

🔗 ماتریکس، کلاینت‌ها، نمونه ویز
🔗 دلتاچت
🔗 SimpleX
🔗 ارائه میزکار کازمیک
© پروانه: ‌ CC-BY-SA-4
🔹🔹🔹🔹🔹
#podcast #AzadCast
#linux #ubuntu #cosmic #telegram #peertube #gnome #nextcloud #virtualbox
🔹🔹🔹🔹🔹
✈️ تلگرام
™️ توییتر
📺 یوتیوب
🐘 ماستودون
🖥 وبسایت
👍1
🤓2
🐳 ایونت‌لوپ جاوااسکریپت در دو دقیقه | Event Loop in 2 Minutes

- ایونت لوپ یک مکانیزم برای ناهمزمانی در ران‌تایم تک تِرِدی جاوااسکریپته. ران‌تام تک thread جاوااسکریپت، یعنی در هر لحظه میتونه فقط یک کار رو انجام بده که این با مفهوم Call Stack پیاده سازی میشه.

- کال‌استک یک ساختمان داده stack هست. (LIFO). دقت کنید که کال‌استک فقط برای توابع sync هست. یعنی اونایی که لازم نیست صبر کنیم تا دیتاشون از وب بیاد یا تایم‌اوت گذاشته باشیم و...

- برای توابع async مثل promise ها که نمونشون رو در fetch و ajax میبینم، ما نیاز داریم به صبر کردن برای رسیدن داده ها از اینترنت و یا حالتای دیگه مثل تایم اوت و... که توی این مواقع ما یه چیزی داریم به نام Callback Queue یا صف کال‌بک (FIFO)

- ایونت لوپ در واقع همیشه این دوتا رو نگاه میکنه و بمحضی که کال استک خالی شد، یکی از Callback Queue ورمیداره و میفرسته داخل CallStack و اینطوری برای همیشه و بدون بلاک شدن، ما فرایند های Async رو تحت یک گ تِرِد داریم (که البته مشکلاتی داره واسه خودش).

🔗 Event Loop in 2 Minutes

@codeaghajcs
#آموزشی
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🐳 همه ما می‌گوییم به صلح فرصت بدهید

- این آهنگ رو جان لنون موقع جنگ ویتنام تو آمریکا خونده ولی خب برای هر جنگی و هر لحظه ای میشه استفادش کرد

🔗 ویدیو کامل تو یوتیوب

@codeaghajcs
💩2
🐳 کتابخونه ای برای تشخیص رنگ های پرتکرار عکس ها

- کتابخونه node-vibrant یک کتابخونه خیلی باحال و بروز جاوااسکریپتیه که باهاش می‌تونید اون رنگ های اصلی یک عکس رو در بیارید و توی تم برنامتون ازشون استفاده کنید.

-اگر دوست دارید بدونید خودتون دقیقا چطوری باید این کار رو بدون کتابخونه انجام بدید، حتما این مقاله Extracting a color palette from an image with javascript که لینکش پایین پست هست رو بخونید.

🔗 مقاله Extracting a color palette from an image with javascript (پیشنهاد میکنم حتما یه سر بهش بزنید برای یادگرفتن بیشتر)

🔗 لینک ریپوزیتوری جدید کتابخونه

🔗 صفحه html رسمی خود کتابخونه

#معرفی_ابزار #آموزشی #مهم
@codeaghajcs
👍2
Forwarded from Quera
🥳 #کوئراکالج با افتخار تقدیم می‌کند.

👍 «برنامه‌نویسی #C پیشرفته»

🔖 به همراه پروژه‌

این دوره مناسب شما است اگه...
مشتاقی به بازار پردرآمد برنامه‌نویسی و حوزه‌ی نرم‌افزار وارد شی و آینده‌ی شغلی خود را رقم بزنی.
برای پروژه‌های شخصی، دانشگاهی و یا کاری خود نیاز به یادگیری سریع مفاهیم پیشرفته #C داری.

لازم است...
علاقه و پشتکار داشته باشی.
و به مباحث مقدماتی #C مسلط باشی.

🎓 گواهی معتبر #کوئراکالج
🚀 تخفیف ویژه در مدت محدود.
💳 امکان پرداخت قسطی

ℹ️ اطلاعات بیشتر و ثبت‌نام:
🔗 https://quera.org/r/rg0ch

☀️کوئراکالج | پاییز ۱۴۰۳


#Quera
#Quera_College
👍1🤣1
jscheatsheet.pdf
1.4 MB
🐳 چیت شیت JS

- یک چیت شیت بشدت کاربردی و عالی برای همه (علی الخصوص تازه‌کار ها) که میتونید کنار دستتون داشته باشید و سریع توش سرچ کنید.

#آموزشی
@codeaghajcs
👍3
ما الان تو ۲۰۲۴ ایم
یعنی طرف سه سال پیش، پنج سال دیگ بعد خودشو میزده
👍1🤯1💩1
🐳 مقایسه متغیر ها در Go

- یکی از خاصیت های جذاب زبان گو، مقایسه متغیر هاش هست. در واقع اگر دوتا متغیر داشته باشین که مقدارشون برابر باشه ولی تایپشون متفاوت، زبان Go این رو برابر قبول نداره :
var a *int = nil
var b interface{} = nil
fmt.Println(a==b) //false

- یک نکته خیلی مهم اینه که Go برای آرایه ها، تعداد اعضا رو هم جزئی از تایپ درنظر میگیره. (Slice ها نه) و این یعنی اینکه :
a := [2]int{0,1}
b := [3]int{0,1,nil}

اگر شما a و b رو در کر بالا با هم مقایسه کنید، خطا میده و میگه دوتا تایپی که به هم ربطی ندارن رو نمیشه مقایسه کرد

- این خاصیت جالب، یکی از تمایزات متعدد بین Go و بقیه زبون هاست، مشخصه که a و b برابر نیستن ولی مثلا js میره اعضا رو چک میکنه و go میاد تایپ ها رو قبل اعضا چک میکنه.

#آموزشی
@codeaghajcs
👍1
🐳 کلمه کلیدی await در جاوا اسکریپت، فقط تو بدنه یک تابع async رزرو می‌شه!

- توی جاوااسکریپت، کلمه کلیدی await فقط توی یک تابع async رزو شدس و بقیه جا ها میشه حتی به عنوان اسم متغیر ها استفاده بشه :
(function () {
let await = -1
console.log(await)
})()

// -1

اگر همین تابع رو async کنیم، به خطا میخوریم :
(async function(){
let await = 90
console.log(await)
})()

// Uncaught SyntaxError: await is a reserved identifier



- یکی از دوستان هم ایراد خیلی خوبی به این مطلب وارد کردن :
درمورد await در جاوا اسکریپت مدرن (esm) await تبدیل به top level await شده و این امکان رو فراهم میکنه که خارج از بدنه async صدا زده بشه
- این مورد و چند تا چیز باحال دیگه رو امروز به ویکی‌پدیا اضافه کردم

@codeaghajcs
👍31
Barabara liskov - Programming with abstrack dayatypes.pdf
980.6 KB
📄 برنامه نویسی با تایپ‌داده های انتزاعی | PROGRAMMING WITH ABSTRACT DATA TYPES

- این مقاله خانم باربارا لیسکُو در MIT هست که سال 1974 منتشر شده و خیلی خوب و دقیق مفهوم Data Abstraction رو توضیح میده.

🔗 لینک مقاله در کتابخونه دیجیتال علوم کامپیوتر آمریکا (فیلتر و تحریمم هم نیست🎉)

#مقاله
@codeaghajcs
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
🐳 تبلیغ کامپیوتر های MAC قدیمی اپل
1👍1
Code‌ Agha
Barabara liskov - Programming with abstrack dayatypes.pdf
پیشنهاد میکنم حتما یکی دو صفحه اولشو بخونید
این مقاله رو قبل از مطرح شدن شئ‌گرایی (به این صورتی که در cpp و سی‌شارپ و جاوا دیدیم) نوشته شده و یکی از مبنا های بزرگ شئ‌گرایی که Abstraction هست رو توضیح داده.
یک نمونه ابسترکشن این interface ها توی زبون های مختلف هست. یا abstract class ها مثلا. شما وقتی مینویسی
public abstract class User {
public string name {get; set;}
}

در واقع دارین این انتزاع رو در کد خودتون بوجود میارین که یه User وجود داره که یه اسم داره

در حالی که اصلا همچین چیزی نیست اونا همشون 0 و1 هایی هستن که توی RAM ذخیره میشن، فقط شما با این 0 و 1 ها یه جوری رفتار میکنین انگار وجود دارن.
👍1
📄 مدل های زبانی بزرگ چگونه کار میکنند؟ (از صفر تا چت‌ جی‌پی‌تی) | How Large Language Models work ,From zero to ChatGPT

- بدون توضیحات اضافه 🐳👍

🔗 How Large Language Models work
From zero to ChatGPT


#مقاله
@codeaghajcs
👍1
🐳 کتاب آزاد الکترونیکی "جاوا اسکریپت شیوا"

- بشدت خوبو جامع توضیح داده و بشدت زیبا ترجمه شده حتما جزء منابع خوب فارسی برای جاوا اسکریپتتون قرار بدید :

🔗 لینک آزاد و رایگان کتاب

#کتاب #آموزشی #مهم
@codeaghajcs
🎉1🤝1
📄 سینتکس قندی: دلیل اینکه پایتون اینقدر شیرین و آسونه | Syntactic Sugar: Why Python Is Sweet and Pythonic

- اگر نمیدونید سینتکس قندی چیه این نقل از ویکی‌پدیای فارسیه :
در علوم کامپیوتر و طراحی کامپایلر، سینتکس قندی، نوعی سینتکس یا نحو خاص است که به یک زبان برنامه‌نویسی اضافه می‌شود تا نوشتن کد و گاهی فهمیدن آن را برای دیگران راحت‌تر و سریع‌تر کند
- این مقاله نشون میده که خیلی از سینتکس های ساده ای که توی پایتون استفاده میکنیم و برامون جذابه، در واقع معادل یک سینتکس سخت تر توی خود پایتونن، نمونش علمرگ سه‌تایی که همه جا هست (حتی سی‌شارپ):
variable = expression_1 if condition else expression_2

- شکل واقعی حالت بالا حالت زیره که مفسر بالا دقیقا موقع اجرا کد شما رو برمیگردونه به این حالت پایین (اصطلاحا desugaring)
if condition:
variable = expression_1
else:
variable = expression_2

- خلاصه اینکه هر زبونی رو میخواید یاد بگیرید و قشنگ ازش سر در بیارید، این چیزاش رو یاد بگیرید خیلی خوبه. لینک مقاله:

🔗 Syntactic Sugar: Why Python Is Sweet and Pythonic

#مقاله
@codeaghajcs
🔥1
📄 چگونه CDN ها عملکرد فرانت‌اند را بهبود می‌بخشند | How to Use CDNs to Improve Performance in your Front-end Projects

- این مقاله بیشتر بدرد زمان بوت‌استرپ ۴ و جی‌کوئری خدابیامرز می‌خوره نه الان و خب بازم CDN توی ایران خیلی کاربرد نداره چون کلا اینترنتا ضعیفن یا ممکنه یهو CDN هایی که باهشون کار میکنید فیلتر و تحریم بشن و‌...

- اما خوندنش خالی از لطف نیست. کمک میکنه بدونید دقیقا CDN چیه!

🔗 How to Use CDNs to Improve Performance in your Front-end Projects

#آموزشی
@codeaghajcs