Code‌ Agha
195 subscribers
344 photos
20 videos
21 files
281 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
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
🐳 ساختن انیمیشن های ریاضی با پایتون

- این ریپوزیتوری یک موتور انیمیت بشدت دقیق هست که دقتش برای انیمیت کردن ویدیو هایی که توش ریاضی رو آکادمیک درس میدن طراحی شده!

🔗 https://github.com/3b1b/manim

@codeaghajcs
📄 نقشه راه برای مهندس های هوش‌مصنوعی | Roadmap for AI Engineers

- هر مسیر خودآموزی، یک نقشه راه نیاز داره. جدا از این دیدن roadmap ها خوبه چون میتونید ببینید خودتون دقیقا کجای کار هستید. این مقاله کلی توضیح داده و این فهرست رو ارائه داده :

۱. مقدمه هوش‌مصنوعی (AI Introduction)
۲. برنامه نویسی (Programming)
۳. ریاضیات هوش‌مصنوعی (Mathematics)
۴. یادگیری ماشین (Machine Learning)
۵. بینایی کامپیوتر (Computer Vision)
۶. پردازش زبان طبیعی (Natural Language Processing)
۷. یادگیری تقویتی (Reinforcement Learning)
۸. هوش‌مصنوعی سازنده (Generative AI)
۹. فریمورک های هوش‌مصنوعی (AI Frameworks)
۱۰. عملیات های یادگیری ماشین (ML Operations)

- اما پیشنهادم اینه که این مقاله رو بخونید. چون این فهرست قطعا نیاز به توضیح داره و هم نویسندش آدم خفنیه هم سایتش سایتیه که از این مطالب خوب زیاد داره.

🔗 Roadmap for AI Engineers

#آموزشی #مهم
@codeaghajcs
👍1
📄 پیاده سازی اصول SOLID در فریمورک های جاوا اسکریپت و تایپ اسکریپت | Applying SOLID Principles in JavaScript and TypeScript Framework

- اصول سالید، مبنای نوشتن برنامه های مقیاس پذیر و maintainable هستن. یعنی برنامه هایی که به راحتی میشه اون‌ها رو آپدیت کرد. SOLID توی زبان هایی شکل گرفته که شئ‌گرایی رو بطور سنتی و پیش‌فرض، پیاده میکنن و مفاهیمی مثل Abstraction، Inheritance و... رو واقعا توی لول کامپایلرشون پیاده میکنن. مثل زبان های سی‌شارپ و جاوا که اصطلاحا Mandatory Object Oriented هستند، یعنی شئ‌گرایی توشون اجباریه. (شما تو این زبونا یه 2 بنویسید، میبینید که یه زنجیره بزرگی از آبجکتا پشتش قرار میگیرن)‌.

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

🔗 Applying SOLID Principles in JavaScript and TypeScript Framework

#آموزشی
@codeaghajcs
👍1
📄چیت شیت نماد O بزرگ به همراه توضیحات | Big O Notations CheatSheet with Explanation

- پیشنهاد شخصی خودم به شما اینه که نمادگذاری های مجانبی رو درک کنید. دید خوبی نسبت به خیلی چیزا بدست میارید 🤝

🔗 Big O Notations CheatSheet with Explanation

#آموزشی #مهم
@codeaghajcs
👍1
📄 چهار تا فایل‌سیستم غیر از NTFS، برای SSD بعدیت که باید حواست بهشون باشه | 4 file systems you should consider instead of NTFS for your next SSD

-

🔗 4 file systems you should consider instead of NTFS for your next SSD

#مقاله
@codeaghajcs
👍1
🐳 18 ابزار کشیدن دیاگرام و نمودار در فرانت اند

- کتابخونه های جاوا اسکریپتی برای کشیدن گراف های UML و BPMN و ERD (منظور بیشتر دیاگرام و امثالهم هست نه مثلا کشیدن نمودار ریاضی)

🔗JointJS and JointJS+ (پیشنهادی)
🔗GoJS (پیشنهادی)
🔗MxGraph
🔗Mindfusion Diagram Library
🔗Nomnoml
🔗Mermaid.js (پیشنهادی)
🔗Diagram.js
🔗State.js

- کتابخانه های جاوا اسکریپت برای رسم نمودارها با روش پلتفرم سرور زبان گرافیکی Eclipse Sprotty and Eclipse Graphical Language (GLSP) (بیشتر برای data visualization استفاده میشن و کلا برای هر جور رسم کردنی کاربردین)

🔗D3 (پیشنهادی)
🔗Svelvet (پیشنهادی)
🔗Two.js
🔗Fabric.js
🔗Paper.js (پیشنهادی) 🌟
🔗JsPlumb 👎
🔗p5.js
🔗Cytoscape.js (پیشنهادی)
🔗React Diagrams
🔗Tldraw

- ابزار های دیگه ای هم هستن فقط چون خیلی قدیمی شدن، اسم خالیشون کفایت میکنه :
JsUML2 library
vis.js
Draw2D
dagre-d3
Raphaël

#معرفی_ابزار #مهم
@codeaghajcs
👍1🎉1
📄 برنامه نویسی تابعی در تایپ اسکریپت | Functional Programming in TypeScript

- جدا از بحث تایپ اسکریپتش، پاردایم های تابع‌گرا یکم سخت تر درک میشن چون ریاضی ترن، اگر واقعا می‌خواید درکشون کنید حتما تا تهشو بخونید. خیلی خوب و کامل و ریاضی‌ای توضیح داده.

🔗 Functional Programming in TypeScript

#آموزشی #مهم
@codeaghajcs
👍1
🐳 خب من دیشب برای اولین بار تو عمرم Go رو به wasm کامپایل کردم و نتیجه این شد! پروژه خاصی نیست ولی سریعه، حتی با اینکه من از یه کتابخونه Third-party جاوا اسکریپتی قدیمیِ کُند، در حالت غیر async دارم استفاده میکنم، بازم سریعه.
(اسمش MathJax هست و برای نمایش اون عبارت ریاضی با یه پرامپت ساده LaTeX هست.)
میتونید دمو رو ببینید.

🔗 https://github.com/AmirMahdyJebreily/WasmDegreeToRadians?tab=readme-ov-file


- البته این موضوع که wasn کلا سریعه یه بحث دیگست. باید یه بار تست کنم بینم go توی wasm سریع تره یا c یا fortran یا یه چیز دیگه مثل سی‌شارپ مثلا!

@codeaghajcs
👍3💯1
The iconic Windows XP 'Bliss' desktop wallpaper shown above in 2001 and below in more recent years. location: Sonoma, California, USA
4👍1💔1
📄 ۵ دلیل برای شروع استفاده از کامند لاین لینوکس | 5 Reasons to Start Using the Linux Command Line

- ترمینال، چیزیه که از خیلیم، وقتی که هنوز رابط کاربری گرافیکی ها وجود نداشتن (اصطلاحا GUI ها)، وجود داشته و شما میبینید که حتی توی ۲۰۲۴ که ما صفحه لمسی و کلی رابط کاربری گرافیکی قشنگ داریم، گوگل پلن داره یه ترمینال برای اندروید بده بیرون 🤝. ترمینال اهمیت، سرعت و توانایی کنترل بالایی داره.

🔗 5 Reasons to Start Using the Linux Command Line

#مقاله
@codeaghajcs
👍1
📄 ۱۰ نکته مهم کلین کد | Top 10 Clean Code Rules 🎨🚀

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

🔗 Top 10 Clean Code Rules 🎨🚀

#مقاله

@codeaghajcs
👍2
📄 ۷ پروژه بینایی رایانه برای همه سطوح | 7 Computer Vision Projects for All Levels

- حتما ببینید این مقاله رو، من توضیح بیشتری نمیدم!

🔗 7 Computer Vision Projects for All Levels

#مقاله #مهم
@codeaghajcs
👍1
📄 توسعه تست محور، یک راهنمای جامع | Test-Driven Development: A Comprehensive Guide

- توسعه تست محور، مبناش بر این اساسه که شما قبل از نوشتن کد اصلی، تست اون کد رو بنویسی. مثلا اگر میخوای یه لایبرری بسازی برای تبدیل تایم‌استمپ به زمان و تاریخ آدمیزادی خودمون، اول باید تستشو بنویسی :
public class TimeStampConverterTest
{
[Fact]
public void TestConvert()
{
var got = Converter.Convert(1);
var want = new DateTime(1970,1,1);
Assert.Equal(want, got);
}
}

- حالا که تستشو نوشتی میای و fake آمادش میکنی تا تستت ران بشه و خطا نده:
public static class Converter
{
public static DateTime Convert(long tmstmp){
return new DateTime(1970,1,1)
}
}

- حالا که تستات ران شدن میای و کد رو کامل میکنی 👍

- توسعه تست محور اینطوریه و کلی مزایا و معایب داره که میتونید کاملشو تو این مقاله که اونم با #سی_شارپ کار کرده ببینید. اگر تازه کار هستین بازم تست نوشتن رو باید یاد بگیرین:

🔗 Test-Driven Development: A Comprehensive Guide

#مقاله #مهم
@codeaghajcs
👍1