EverCode – Telegram
EverCode
96 subscribers
27 photos
3 videos
3 files
50 links
اینجا راجب کامپیوتر، نرم افزار، زبان‌ها و مطالب مرتبط با هم گپ میزنیم

سایت و بلاگ:
mazdakparnian.com

dev.to/purejoymind

هم توی سایت شخصیم و هم توی دِو بلاگ هام رو میزارم.
Download Telegram
EverCode pinned «اخیرا درگیر یک VPS برای خودم بودم و میخواستم یکی دوتا سرویس رو توش با داکر بالا بیارم. احساس کردم یکی دوتا نکته‌ست که همیشه یادم میره برای همین سرچ کردم و خیلی زود به این ویدیوی خیلی خوب و کامل رسیدم. https://youtu.be/F-9KWQByeU0?si=-JyJiBdDBdlKXCBh از…»
EverCode
Hands_On_Network_Programming_with_C_and_NET_Core2019,_Packt_Publishing.pdf
درهای خیلی جدید و عمیقی از کار با شبکه داره به روم باز میشه که این کتاب شاید حتی سطحشم خراش نمیده😂🥲🤦‍♂
هرچی جلوتر میرم انگار بیشتر توی دنیای شبکه غرق میشم و تمومی نداره. کی وقت میکنه این همه بخونه😭

@ever_code
5
Forwarded from Go Casts 🚀
سازنده Redis در جواب توییتی که نوشته بود تکنولوژی ای رو نام ببرید که quality خیلی زیادی داره و hype کمی داره، از ruby language design نام برده بود.

دلایل مختلفی برای این قضیه وجود داره من چندتا شو سعی میکنم ذکر کنم.
یکی اینکه آقای Matsumoto سازنده Ruby اولویت ش برای طراحی زبان رو productive بودن برنامه نویس ها در نظر گرفته بود و نه speed و چیزای دیگه..
به عبارتی developer happiness با کم کردن confusion در کدنویسی

زبان Ruby یک زمان کاملا Object-Oriented هست. اما فرق میکنه با اون چیزی که از OOP میدونیم..
یکی از نکات جالب طراحی Ruby وفاداری ش به تعریف OOP از آقای Alan Kay هست که در SmalTalk هم طراحی شده.
در تعریف آقای Alan Kay هر object با objectهای دیگه از طریق message passing ارتباط برقرار میکنه و نه از طریق method callها.

این چیزی هست که در زبان ruby هم طراحی شده. در ruby شما send message میکنی به object و اون object میتونه تصمیم بگیره که به پیام شما پاسخ بده و یا نده.

یکی دیگه از ایده های Alan Kay برای oop که به objectها انعطاف بیشتری میده تغییر رفتار objectها در runtime هست.

نکته کلیدی ای که در مورد OOP از نظر آقای Kay وجود داره که در Ruby هم پیاده سازی شده اینه که رفتار یا behaviour که معمولا از طریق interface تعریف میشه به object وابسته ست و نه class.

تعریف مرسومی که ما از OOP تو ذهن داریم رفتار وابسته به class هست. چیزی که در java و cpp هم خیلی رایجه.
اما تعریفی که آقای Kay از oop داره و در ruby هم پیاده سازی شده رفتار وابسته به object هست ونه class.
تعریف آقای Kay اگه درست رعایت بشه باعث میشه اصل composition over inheritance رعایت بشه. اصلی که مهمه و زبان های دیگه مثل گولنگ هم خیلی این مورد رو بهش اهمیت دادن.

آقای Kay معتقده که
behavioral composition is often better than deep inheritance hierarchies


یادگیری یه زبانی مثل ruby کمک میکنه که اصول oop آقای Kay رو بهتر متوجه بشیم و ذهنیتمون کاملا متفاوت بشه نسبت به OOPی که زبان های java و cpp به ما تحمیل کردن...


@gocasts
2
اولین PR ام توی گیتهاب Merge شد😍
این اولین contribution من به دنیای اوپن سورس هست و قراره که زیاد ازین اتفاقا بیفته😂😌
میتونید این PR رو اینجا ببینید. توی این PR مشکلی که برای Validate کردن مدل ها وجود داشت و باعث میشد خطای نامناسب به کاربر برگرده رو حل کردم و الان خطاها درست برمیگردن.

@ever_code
4🔥2
https://youtu.be/l7BjhysbXf8

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

@ever_code
2👍1
Forwarded from PEMIDI
اگه می‌خواید یادگیریتون رو ارتقا بدید و راحت‌تر و بهتر مطالب رو توی ذهن‌تون جا بندازید، این دو تا دوره‌ی رایگان توی کورسرا واقعاً عالی‌ان. هردوشون رو هم خودم کامل دیدم. 👇

Learning How to Learn
یکی از معروف‌ترین دوره‌های کورسرا، پر از تکنیک‌های علمی برای بهتر یاد گرفتن، مدیریت تمرکز، مقابله با پشت گوش انداختن و تثبیت مطالب. مدرس‌هاش باربارا اوکلی (استاد مهندسی دانشگاه اوکلند) و ترنس سِجنوفسکی (استاد علوم اعصاب دانشگاه کالیفرنیا سن‌دیگو) هستن؛ یعنی آدمای حسابی دانشگاهی، نه مدرس‌های زرد و تبلیغاتی.


Mindshift
کمک می‌کنه موانع ذهنی رو کنار بذارید، مهارت‌های جدید یاد بگیرید و حتی در مورد مسیر شغلیتون بازنگری کنید. مدرس اصلیش دوباره باربارا اوکلیه که با چند استاد دانشگاهی دیگه این دوره رو ساخته
🔥1
قشنگ دو سه هفته‌ست از همه کارهای مفید خارج از کار افتادم. ولی خب زندگی همینه، یه تایمی نیاز داریم کاملا مفید باشیم و یه تایمی میفهمیم که زندگی خارج از این ها هم در جریانه و باید از چیزهای کوچیک روزمره لذت ببریم. مهم اینه که بدونیم در لحظه داریم چی رو ارتقا میدیم. روانمون یا دانشمون. خلاصه اینارو گفتم که بگم بزودی دوباره برمیگردم و کلی مطالب جذاب دارم برای اشتراک‌گذاری 😁

@ever_code
3👏1
https://chatgpt.com/share/68ebbe12-7558-800d-83ce-f3f909826cd1

توی این مکالمه من با GPT چندتا چیز بنظرم میتونه براتون مفید باشه.
موضوعی که راجبش پرسیدم ازش، سوالیه که شبیه‌ش رو توی مصاحبه قبلا ازم پرسیدن. درکل هدف اینه که ببینیم کامپایلر دقیقا چجوری Stack رو مدیریت میکنه و وقتی میگیم که Value Type ها توی Stack ذخیره میشن منظورمون چیه؟ دقیقا کجای Stack؟ دقیقا چی توی Stack میره؟ محتویات خود اون متغیر Struct؟ یا آدرس بهش؟
نکته ی دیگه ای که میتونین بهش توجه کنین نحوه ی سوال پرسیدنم از GPT هست. اولین سوال که طولانی ترینش هم هست کلی Context بهش میده، چالش های ذهنی من رو بهش میفهمونه، و باعث میشه دقیقا توی چهارچوبی که میخوام بهم جواب بده. البته این نمونه ی ساده و کوتاه تریه، اما اگه ببینین کلی اطلاعات مفید و مرتبط بهم داد و باعث شد سوال های بعدتر هم بهتر یا دقیق تر بشه. در آخر هم ازش خواستم روی یک تاپیک خاص مرتبط Deep بشه.

اگر سوال بیشتری داشتین، یا جایی از مکالمه براتون نامفهوم بود، یا دوست داشتین بیشتر راجب این موضوع صحبت کنیم دیسکاشن گروه رو باز کردم و میتونیم راجبش صحبت کنیم! 😉

@ever_code
👍2🔥1
EverCode
https://chatgpt.com/share/68ebbe12-7558-800d-83ce-f3f909826cd1 توی این مکالمه من با GPT چندتا چیز بنظرم میتونه براتون مفید باشه. موضوعی که راجبش پرسیدم ازش، سوالیه که شبیه‌ش رو توی مصاحبه قبلا ازم پرسیدن. درکل هدف اینه که ببینیم کامپایلر دقیقا چجوری Stack…
البته توی این جا قشنگ میفهمیم که چرا یه کوچولو 🤏🏼 Assembly بلد بودن میتونه بهمون کمک کنه بهتر متوجه یه سری چیزا بشیم. نیاز نیست برنامه نویس Assembly باشیم، ولی باید یه چیزایی بدونیم تا برنامه نویس بهتری باشیم و تصمیمات بهتری بگیریم!

@ever_code
🔥1
Forwarded from Geek Alerts
یوتیوب از پلیر جدیدش برای نسخه وب، موبایل و تلوزیون رونمایی کرده، پلیر جدید حالت دکمه‌ها گرد، و طراحی کلی نیمه شفاف و شیشه‌ای شده. یه دکمه لایک هم اضافه شده که انیمیشن لایک شدنش بسته به نوع محتوا تغییر میکنه.

آپدیت دیگه اضافه شدن «کامنت‌های رشته‌ای» (Threading) به بخش نظراته که چیزی شبیه به ردیت هست. توی این حالت بحث‌های طولانی و چندلایه رو خیلی راحت‌تر میشه دنبال کرد. در واقع همونطور که در ردیت ارزش کامنت‌گذاری زیاده اینجا هم در یوتیوب ارزش کامنت‌ها بیشتر میشن و احتمالا شاهد کامنت‌های طولانی‌تری خواهید بود. [L]

🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥1
این کامنت رو توی ردیت دیدم ک بنظرم جا داره اینجا هم داشته باشیمش😁


There is a saying that when in Egypt, do as the Egyptians do.

I love C#. And LINQ feels like finding Nirvana when you are using it.

I love Java. I’ve literally dreamt in Java and thought in Java.

I love Go. I love how the language is simple and doesn’t get in my way with arcane magic.

I am also a fan of learning multiple languages to expand how you tackle problems.

With that being said, I don’t particularly evaluate languages based on how well they are other languages. Go is an awful language to write Java code in. C# is an awful language to write Go code in. Java is an awful language to write code in.

But they are great languages to write their own selves in.

I think in the paradigms and styles of the language I am writing in. Not some other language that I’m not writing in.

It does not bother me at all that I have to make explicit structs for my tables and joins in Go. I write them once in a few dozen seconds. If I ever need to update them I update them in a few seconds each. And I don’t write a factorial explosion of joins. And I like this because I actually know what the queries are by looking at the source code. I can even copy-paste and do an explain if I feel like it.

https://www.reddit.com/r/golang/s/pucWIXId8f

@ever_code
4
EverCode
Go is an awful language to write Java code in. C# is an awful language to write Go code in
بنظرم هایلایت این کامنت این میشه.
1
تغییراتی که اگر میخوان پروژه هاتون رو به دات نت ۱۰ migrate کنین شاید بد نباشه بدونین:

Breaking & Noteworthy Changes For .NET 10 Migration

1. IWebhost is officially obsolete, so you will need to use IHost moving forward - legacy apps (even up to .NET 9) could be using it without showing warnings. And if you have <TreatWarningsAsErrors>true</TreatWarningsAsErrors> set, this would be a breaking change, but a fairly simple fix nevertheless.

2. dotnet restore now audits transitive packages by default, not just direct dependencies like before. Once again, If you have <TreatWarningsAsErrors>true</TreatWarningsAsErrors> set, then this could be a potential blocker, so something to be aware of for sure - as you might need to look for another library, postpone or other.

3. Starting with .NET 10, Microsoft’s official Docker images will begin to use Ubuntu as their base operating system, instead of Debian or Alpine. This could introduce behavioral changes so be aware of it.

4. Span<T> and ReadOnlySpan<T> now supports implicit conversion, which could cause ambiguity in certain cases. Something to keep in mind as well.

5. dotnet new sln creates the new .slnx format by default, which shouldn't really be an issue, but is a good reminder to migrate projects from the older format to the newer XML-based format introduced in .NET 9 release. One of the favorite updates.

6. Field-backed properties/field keyword - this one shouldn't really be a problem unless some properties have a backing field called field, and even then, simply remove the backing field and let it use the new field keyword instead, nice and easy.

7. AsyncEnumerable is now part of the unified base class library. It used to be separately hosted as System.Linq.Async. When migrating make sure you remove the old Nuget package to make sure it does not cause ambiguity.

Still going through/prioritizing and testing from the compatibility list. Will update overtime - hope it helps those deciding to migrate.

https://www.reddit.com/r/dotnet/s/uQh46fQnz0

@ever_code
4
سیگواردِ برنامه نویس
https://youtu.be/qjPH9njnaVU?si=gJRouececaFY6IDL
حدود دو هفته پیش، پاول دوروف (موسس تلگرام) در یک پادکست ۴ ساعته با لکس فریدمن شرکت کرد. در این گفت‌وگو، درباره فلسفه آزادی، تفکر پشت تلگرام و قوانین آن صحبت کرد. به نظرم ایده‌ها و دیدگاه‌های بسیار جالب و متفاوت داره و به نظرم خیلی از این تفکرات می‌تونه برای همه الهام‌بخش باشه.

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


من پیشنهاد میکنم اگر به این موضوعات علاقه دارید وقت بزارید گوش بدید واقعا ارزش داره خیلی هم سخت نیست چون خود Pavel هم زبان انگلیسی پیچیده صحبت نمیکنه و از کلمات نسبتا ساده یا متوسط استفاده میکنه چون خب خودشم انگلیسی زبان مادریش نیست
3👍1
اگه بخوام یه توسعه بکنم که خودم جای زیادی ندیدم، بعنوان توسعه دهنده بک اند، بشینین یه بار وقت بزارین و درست حسابی curl یاد بگیرین‌. ۹۰ درصد ابزارای تو بازار برای تست api و اینا از یه gui ساده برای curl شروع کردن. بشینین یادش بگیرین و تو ترمینال استفاده کنین و بعد یه gui ساده برای خودتون بنویسین. این پروژه کلی چیز جالب یادتون میده، اینکه چجوری نیازمندی های اساسی یک ابزار cli رو شناسایی کنین و چه فیچر هاییش رو توی محیط گرافیکیتون بیارین. اگه اینکارو کردین و دوست داشتین بیاین بگین و حتی با هم میتونیم روش کار کنیم 😁

اینجوری واقعا نیاز شدیدی به postman و اینا هم نخواهید داشت، البته به معنی بد بودن اونا نیست، صرفا میتونید بعنوان یجور چالش فردی بهش نگاه کنید که بهتون دید خوبی به یه سری مسائل میده.

@ever_code
4
یه چالش سیستم دیزاینی

فرض کنید یه اپلیکیشن مثل تلگرام دارید. حدودا ۱ میلیارد یوزر فعال در ماه دارید.
هدف اینه که یوزرهای انلاین رو تشخیص بدین و به بقیه یوزرها بصورت موثق نشون بدین. چجوری این چالش رو بدون اینکه روی core سیستمتون اثر منفی بزاره حل میکنین؟
چه راه حل هایی برای این موضوع هست؟

در نظر داشته باشید که سرویس هاتون همینجوری کلی بار روشون هست و روز چند میلیون درخواست رو باید مدیریت کنن.

@ever_code
Forwarded from TechTube 𝕏 تک توب
پاول دورف، مدیرعامل تلگرام، از کوکون (Cocoon) رونمایی کرده که سیستم توزیع شده استفاده از هوش مصنوعی برای برنامه نویسان و کاربران هست.

نحوه کار اون بدین صورته که دارندگان کارت گرافیک (مثلا H100 انویدیا) قدرت محاسباتی اون رو در اختیار این شبکه قرار میدن و در ازای اون رمزارز TON دریافت میکنن. برنامه نویسان و سازندگان باتها میتونن از این سخت افزار برای اجرای مدلهای هوش مصنوعی مختلف مثل دیپ سیک یا Qwen استفاده کنن و در ازای استفاده از این قدرت محاسباتی، TON پرداخت کنن.

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

این سیستم قرار هست طی ماه اینده عرضه بشه و تلگرام یکی از بزرگترین مشتریان اون برای عرضه قابلیتهای هوش مصنوعی باشه.

🔎 cocoon

📍 @TechTube
🔥21