شاید یکی از بزرگترین پشیمونیهام این باشه که به اندازه کافی تو دانشگاه توی low-level programming عمیق نشدم. الان باید انرژی بیشتری بزارم تا به چیزی که اون موقع زمانش رو راحت داشتم برسم.
@ever_code
@ever_code
❤1👍1🔥1
آیا از پیاده سازی متدهای خودتون خسته شدین؟ خب مهم نیست بسپارینش به AI به ما چه اصلا😂
به
No-implementation oriented programming
سلام کنید😭
https://github.com/lofcz/ai
این دوستمون اومده پکیجی نوشته که میاد متدهایی که حال نداریم بنویسیم رو میسپره به AI و در زمان اجرا جوابشون رو میگیره ازش.
شوخی عجیبیه ولی خب...
@ever_code
به
No-implementation oriented programming
سلام کنید😭
https://github.com/lofcz/ai
این دوستمون اومده پکیجی نوشته که میاد متدهایی که حال نداریم بنویسیم رو میسپره به AI و در زمان اجرا جوابشون رو میگیره ازش.
شوخی عجیبیه ولی خب...
@ever_code
GitHub
GitHub - lofcz/ai: Vibes only
Vibes only. Contribute to lofcz/ai development by creating an account on GitHub.
❤2
https://youtu.be/tadUeiNe5-g?si=lPrCP24puDoMpOcm
یه ویدیوی نیمچه معماری کامپیوتری برای سر شب
@ever_code
یه ویدیوی نیمچه معماری کامپیوتری برای سر شب
@ever_code
YouTube
How CPUs Interact with So Many Different Devices
This video was sponsored by Brilliant.
To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/CoreDumped. You’ll also get 20% off an annual premium subnoscription.
Join CodeCrafters and learn by creating your own: Redis…
To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/CoreDumped. You’ll also get 20% off an annual premium subnoscription.
Join CodeCrafters and learn by creating your own: Redis…
توی Front-end ما اکثرا تصوری که داریم یا وب هست و یا اپلیکیشن برای گوشی یا کامپیوتر، همهی اینها زیرمجموعهی Graphical User Interface (GUI) یا رابط کاربری گرافیکی میشن. پس میشه پرسید که خب رابط کاربری غیر گرافیکی چی؟ اینجاست که با Terminal/Text User Interface (TUI) آشنا میشیم.
به شخصه خیلی ازش لذت میبرم و حتی بنظرم توسعهش جذابتره. شاید ساده بنظر بیاد اما خیلی کارهای حرفهای و قشنگی میشه باهاش انجام داد.
بنظرم اگه روزی اپلیکیشنی برای پلتفرمهای مختلف توسعه بدم، حتما نسخهی ترمینالش هم سعی میکنم توسعه بدم.
توی دات نت برای توسعهی اپلیکیشن ترمینالی یا کنسول، یکی دوتا پکیج معروف هست. یکیش Spectre.Console هست:
https://spectreconsole.net/
یکی دیگهش هم Terminal.Gui هست که نسبت به قبلی کمی متفاوته و کارهای تخصصی تری شاید بشه باهاش انجام داد:
https://github.com/gui-cs/Terminal.Gui
دلیل اصلی این موضوع هم اینه که اسپکتر بیشتر یه سری دستکاریهای ترمینالی رو راحت میکنه و طراحی رابطهای پیچیدهتر رو تا حدودی راحتتر میکنه. اما نمیشه باهاش یه سری کارها رو انجام داد. ولی کار باهاش راحتتر و سریع تره. از طرفی ترمینال گویی به ما اجازه میده از اول رابط رو تعریف کنیم و دستمون باز تره، اما مسیر یادگیریش طولانیتر و پیچیده تره.
در گشت و گذار بودم که به این پروژهی جالب برخوردم:
https://github.com/andrewmd5/dawn
یک Terminal Live Markdown Editor هست. ظاهر باحالی داره اما احتمالا بدرد کسی بخوره که اکثر وقتش رو توی ترمینال میگذرونه. خلاصه از TUI غافل نشین!
@ever_code
به شخصه خیلی ازش لذت میبرم و حتی بنظرم توسعهش جذابتره. شاید ساده بنظر بیاد اما خیلی کارهای حرفهای و قشنگی میشه باهاش انجام داد.
بنظرم اگه روزی اپلیکیشنی برای پلتفرمهای مختلف توسعه بدم، حتما نسخهی ترمینالش هم سعی میکنم توسعه بدم.
توی دات نت برای توسعهی اپلیکیشن ترمینالی یا کنسول، یکی دوتا پکیج معروف هست. یکیش Spectre.Console هست:
https://spectreconsole.net/
یکی دیگهش هم Terminal.Gui هست که نسبت به قبلی کمی متفاوته و کارهای تخصصی تری شاید بشه باهاش انجام داد:
https://github.com/gui-cs/Terminal.Gui
دلیل اصلی این موضوع هم اینه که اسپکتر بیشتر یه سری دستکاریهای ترمینالی رو راحت میکنه و طراحی رابطهای پیچیدهتر رو تا حدودی راحتتر میکنه. اما نمیشه باهاش یه سری کارها رو انجام داد. ولی کار باهاش راحتتر و سریع تره. از طرفی ترمینال گویی به ما اجازه میده از اول رابط رو تعریف کنیم و دستمون باز تره، اما مسیر یادگیریش طولانیتر و پیچیده تره.
در گشت و گذار بودم که به این پروژهی جالب برخوردم:
https://github.com/andrewmd5/dawn
یک Terminal Live Markdown Editor هست. ظاهر باحالی داره اما احتمالا بدرد کسی بخوره که اکثر وقتش رو توی ترمینال میگذرونه. خلاصه از TUI غافل نشین!
@ever_code
spectreconsole.net
Spectre.Console Documentation
Documentation for Spectre.Console and Spectre.CLI - rich console UI library and command-line application framework for .NET
❤3
Forwarded from جادی | Jadi
توی این ویدئو سریع و سر راست در مورد تگ زدن در گیت حرف میزنیم. روشی است برای اینکه مثلا روی نرم افزارتون ورژن بزنین یا به گیت هاب بگین که اگر کسی اومد دانلود کنه فلان نسخه ها رو بذار توی بخش releaesها یا اگر خودتون خواستین به جایی از تاریخ برگردین، به راحتی با یه اسم بهش برسین.
https://youtu.be/jjaBdcgsz1A
https://youtu.be/jjaBdcgsz1A
YouTube
تگها در گیت برای مشخص کردن کامیتهای اساسی
همه ما در مورد ورژن برنامهها میدونیم ولی این ورژن بندی چطوری توی گیت پیاده میشه؟ آیا میشه کاری کرد که با پوش کردن به سیستم بفهمونیم که این نسخه مهمه و باید ازش یه بسته قابل دانلود بسازه یا جایی لینکی بده که اگر کسی خواست نرم افزار ما رو دانلود کنه بتونه…
🔥1
در این شرایط بازار ایران، شاید تمرکز روی توسعه فردی برای بعضیا سخت باشه و حق دارن. اما نباید آدم خودش رو ببازه و یا بهانه کنه. دلار فردا تا ۴۰۰ بره، پس فردا بیاد روی ۵۰، با اینکه وضعیت جیب ما شاید خیلی تغییر کنه، ولی حقیقت امر اینه که نمیشه با تصمیمهای احساسی کاری براش کرد. تهش وقتمون هدر رفته. توی این شرایط با افزایش دانش اقتصادیمون، مدیریت سرمایهمون (حتی اگر سرمایهای نداشته باشیم و یا احساس کنیم که انقدر کمه که چیزی نیست مدیریت کنیم) و فکر کردن به آینده، شاید بتونیم برای خودمون احساس بهتری، چه بسا موقت، ایجاد کنیم. من یکی به شخصه همیشه این حس رو داشتم که توی مدیریت سرمایه هیچی بلد نیستم و نمیدونم از کجا شروع کنم. اما برای شروع، کتابی که به من کمی کمک کرد و یه کوچولو دیدم رو بازتر کرد "هل اول" از صادق الحسینی بود. باعث شد بجای اینکه جلوی پام رو ببینم و کوچک بودن مبلغ سرمایه گزاری الانم، دراز مدت رو ببینم و تجمیعش + سود رو درک کنم. اینطوری حداقل کمی نوسانات هیجانی بازار آشفته ایران کمتر با روانم بازی میکنه، هرچند که اقتصاد مریض و ناسالمی داریم و قرار نیست خودمون رو گول بزنیم.
موفق و پیروز باشید❤️
@ever_code
موفق و پیروز باشید❤️
@ever_code
❤7
Forwarded from Happy Developer (Ashkan Rahmani)
یک آپدیتی از این پروژه بدم ...
تقریبا الان یک ماهی هست که روی پروداکشن علی بابا داریم ازش استفاده میکنیم و کلی باگ فیکس روش رفتیم.
میخوام از دو نفر اینجا تشکر کنم که توی ریپو به صورت اوپن سورس مشارکت کردن و خیلی نظرات خوبی دادن و کلی روی کد وقت گذاشتن.
مزدک و یاسمین عزیز که دمشون گرم
خلاصه خوشحال میشم شما هم اگر فیچر خاصی یا بهبودی توی ذهنتون هست واسم PR بفرستین یا یک issue باز کنین.
اینم لینک ریپو اگر ندیدین و استار ندادین🙌
https://github.com/ashkanRmk/FastCrud
تقریبا الان یک ماهی هست که روی پروداکشن علی بابا داریم ازش استفاده میکنیم و کلی باگ فیکس روش رفتیم.
میخوام از دو نفر اینجا تشکر کنم که توی ریپو به صورت اوپن سورس مشارکت کردن و خیلی نظرات خوبی دادن و کلی روی کد وقت گذاشتن.
مزدک و یاسمین عزیز که دمشون گرم
خلاصه خوشحال میشم شما هم اگر فیچر خاصی یا بهبودی توی ذهنتون هست واسم PR بفرستین یا یک issue باز کنین.
اینم لینک ریپو اگر ندیدین و استار ندادین🙌
https://github.com/ashkanRmk/FastCrud
تا حالا شده بخواین یه API برای Get کردن یه مدل بزنین؟ مثلا برای گرفتن محصولات یه فروشگاه. توی اینجور سرویسها معمولا با یه سری نیازمندیها روبرو میشیم. برای مثال:
- نیاز داریم تا بتونیم مشخص کنیم چه فیلدهایی از مدل رو برگردونیم، یعنی مثلا توی درخواستمون بگیم فقط نام و کد ملی کاربر برگرده
- نیاز به pagination داشته باشیم
- نیاز به sort داریم
بصورت کلی تر بخوایم بگیم، وقتی نیاز داریم سرویسمون عملا برابر دسترسی Read برای یه Table توی دیتابیس باشه.
یه راه اینه که خودمون همه چی رو پیاده سازی کنیم، اما راه دیگهای هم هست. میتونیم از پروتوکل OData (OpenData) استفاده کنیم.
یک پروتوکل برمبنای REST که قواعد مشخصی رو برای کوئری کردن دیتا تعریف میکنه. برای مثال برای گرفتن یوزر، طوری که نیاز داریم فقط یه سری ستون خاص رو بگیریم، یه Sort بزنیم روش، و فیلتر کنیم کوئریمون یه همچین چیزی میشه:
البته به کوئری ختم نمیشه و کلی کارهای دیگه میشه توی Body درخواست انجام داد.
میتونید اینجا کمی بیشتر راجبش بخونید:
https://www.odata.org/getting-started/basic-tutorial/
حالا چجوری توی دات نت یه سرور OData راه بندازیم؟
* پروژه رو با استفاده از EFCore به دیتابیس وصل میکنیم.
* پکیج
* توی Program.cs ستاپ میکنیم:
* کنترلرمون رو بجای
اگر دقت کنید، وقتی که با DbContext داریم کاربرها رو برمیگردونیم، متد
بعد این مراحل سرور OData آمادهست و میتونین هرنوع کوئری که نیاز دارین رو روی اون دیتا انجام بدین، pagination داشته باشین، sort کنین و خیلی بیشتر.
@ever_code
- نیاز داریم تا بتونیم مشخص کنیم چه فیلدهایی از مدل رو برگردونیم، یعنی مثلا توی درخواستمون بگیم فقط نام و کد ملی کاربر برگرده
- نیاز به pagination داشته باشیم
- نیاز به sort داریم
بصورت کلی تر بخوایم بگیم، وقتی نیاز داریم سرویسمون عملا برابر دسترسی Read برای یه Table توی دیتابیس باشه.
یه راه اینه که خودمون همه چی رو پیاده سازی کنیم، اما راه دیگهای هم هست. میتونیم از پروتوکل OData (OpenData) استفاده کنیم.
یک پروتوکل برمبنای REST که قواعد مشخصی رو برای کوئری کردن دیتا تعریف میکنه. برای مثال برای گرفتن یوزر، طوری که نیاز داریم فقط یه سری ستون خاص رو بگیریم، یه Sort بزنیم روش، و فیلتر کنیم کوئریمون یه همچین چیزی میشه:
GET /odata/Users?$select=id,displayName,email&$filter=status eq 'active' and age ge 18&$orderby=displayName asc&$top=50&$skip=0البته به کوئری ختم نمیشه و کلی کارهای دیگه میشه توی Body درخواست انجام داد.
میتونید اینجا کمی بیشتر راجبش بخونید:
https://www.odata.org/getting-started/basic-tutorial/
حالا چجوری توی دات نت یه سرور OData راه بندازیم؟
* پروژه رو با استفاده از EFCore به دیتابیس وصل میکنیم.
* پکیج
Microsoft.AspNetCore.OData رو نصب میکنیم* توی Program.cs ستاپ میکنیم:
c#
var modelBuilder = new ODataConventionModelBuilder();
modelBuilder.EntitySet<User>("Users");
builder.Services.AddControllers()
.AddOData(options => options.Select().Filter().OrderBy().Expand().Count().SetMaxTop(100)
.AddRouteComponents("odata", modelBuilder.GetEdmModel()));
* کنترلرمون رو بجای
ControllerBase با ODataController میسازیم و برای هر مدلی که میخوایم OData براش داشته باشیم دوتا متد Get یکی برای همه رکوردها و یکی برای گرفتن با Id میسازیم:c#
public class UsersController(ApplicationDbContext context) : ODataController
{
[EnableQuery]
public IActionResult Get()
{
return Ok(context.Users.OrderByDescending(o => o.CreatedOn));
}
[EnableQuery]
public IActionResult Get([FromRoute] Guid key)
{
var saga = context.Users.FirstOrDefault(s => s.Id == key);
return saga == null ? NotFound() : Ok(saga);
}
}
اگر دقت کنید، وقتی که با DbContext داریم کاربرها رو برمیگردونیم، متد
ToList رو صدا نزدیم. نمیخوایم که کوئری رو انجام بدیم، اون قسمت رو پکیج OData انجام میده برامون. بعد این مراحل سرور OData آمادهست و میتونین هرنوع کوئری که نیاز دارین رو روی اون دیتا انجام بدین، pagination داشته باشین، sort کنین و خیلی بیشتر.
@ever_code
www.odata.org
Basic Tutorial · OData - the Best Way to REST
OData, short for Open Data Protocol, is an open protocol to allow the creation and consumption of queryable and interoperable RESTful APIs in a simple and standard way.
❤2
آخر هفته کرمانشاه مهمان هستم گفتم شما هم زیبایی ببینید. البته زیبایی زیاد داره این بخش کوچکی ازش هست😍
@ever_code
@ever_code
❤9
Forwarded from iCodeNext
✨ Github Actions Build and Test
🌚 قسمت اول که بتونیم یه گیتهاب اکشن بسیارساده برای تست و بیلد کردن پروژه هامون استفاده کنیم. مهم مفاهیم اصلیه که روش بیشتر وقت گذاشتیم و سعی کردم توضیحی کامل و جامع داشته باشه.
مدت ویدیو: 30 دقیقه
لینک ویدیو :
https://youtu.be/CF-JenvUKwQ
🌚 قسمت اول که بتونیم یه گیتهاب اکشن بسیارساده برای تست و بیلد کردن پروژه هامون استفاده کنیم. مهم مفاهیم اصلیه که روش بیشتر وقت گذاشتیم و سعی کردم توضیحی کامل و جامع داشته باشه.
مدت ویدیو: 30 دقیقه
لینک ویدیو :
https://youtu.be/CF-JenvUKwQ
❤2
روی سرور پروداکشن چه سیستم عاملی نصب میکنید و آیا GUI هم استفاده میکنید؟
Anonymous Poll
33%
Windows server
46%
Ubuntu - No GUI
8%
Ubuntu - With GUI (Gnome or others)
8%
Debian - No GUI
4%
Debian - With GUI (Gnome or others)
0%
Other OS (tell me in the chat)